專(zhuān)利名稱(chēng)::電子硬盤(pán)的存儲(chǔ)空間的分組管理方法電子石更盤(pán)的存儲(chǔ)空間的分組管理方法所屬
技術(shù)領(lǐng)域:
本發(fā)明涉及一種存儲(chǔ)裝置的存儲(chǔ)空間的管理方法,尤其涉及一種電子硬盤(pán)的存儲(chǔ)空間的分組管理方法。
背景技術(shù):
:電子硬盤(pán)采用快閃存儲(chǔ)器(FlashMemory)作為存儲(chǔ)介質(zhì),因其數(shù)據(jù)安全性和低成本,且便于攜帶,在消費(fèi)類(lèi)電子產(chǎn)品中得到廣泛應(yīng)用。然而,在大容量的電子硬盤(pán)中,數(shù)據(jù)讀取的操作時(shí)間長(zhǎng),降低了電子硬盤(pán)的數(shù)據(jù)存儲(chǔ)效率,且大容量的電子硬盤(pán)的每一次數(shù)據(jù)讀取操作需占用大量的系統(tǒng)資源,從而降低電子硬盤(pán)的使用性能。一般,在現(xiàn)有的電子硬盤(pán)的應(yīng)用中,采用增加電子硬盤(pán)的內(nèi)部的靜態(tài)隨才幾存儲(chǔ)器(SRAM,StaticRandomAccessMemory)的容量,從而增加電子硬盤(pán)的處理能力的方式來(lái)提高電子硬盤(pán)的讀取速度。上述解決方案必然導(dǎo)致電子硬盤(pán)的成本增加,從而不利于電子硬盤(pán)的推廣應(yīng)用。從而,提供一種適宜廣泛應(yīng)用的低成本的電子硬盤(pán)的存儲(chǔ)空間的管理方法,提高電子硬盤(pán)的讀寫(xiě)性能,則成為當(dāng)前電子硬盤(pán)發(fā)展的迫切需要。
發(fā)明內(nèi)容本發(fā)明提供一種電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,占用系統(tǒng)資源少,提高數(shù)據(jù)讀寫(xiě)的操作效率,降低成本。為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供一種電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,所述電子硬盤(pán)包括中央處理器、只讀存儲(chǔ)器、接口控制器、靜態(tài)隨機(jī)存儲(chǔ)器及快閃存儲(chǔ)器,所述中央處理器與只讀存儲(chǔ)器、靜態(tài)隨機(jī)存儲(chǔ)器及接口控制器連接,所述只讀存儲(chǔ)器存儲(chǔ)電子硬盤(pán)的固件程序并控制電子硬盤(pán)的數(shù)據(jù)讀寫(xiě),所述接口控制器與外部的數(shù)據(jù)處理裝置連接并傳輸數(shù)據(jù)。所述快閃存儲(chǔ)器包括若干的塊,所述快閃存儲(chǔ)器的一定數(shù)量的塊設(shè)定為一組,且所述的一組的快閃存儲(chǔ)器的塊的容量寫(xiě)入只讀存儲(chǔ)器,所述電子硬盤(pán)與外部的數(shù)據(jù)處理裝置連接并初始化,當(dāng)電子硬盤(pán)讀取數(shù)據(jù)時(shí),所述固件程序在靜態(tài)隨才踏儲(chǔ)器內(nèi)建立當(dāng)前需要讀寫(xiě)的塊所在的一組的查找表,所述查找表對(duì)應(yīng)建立該組內(nèi)的塊的邏輯地址與物理塊號(hào)的對(duì)應(yīng)關(guān)系,所述固件程序根據(jù)該查找表來(lái)實(shí)現(xiàn)所需讀寫(xiě)的塊的邏輯地址與物理塊號(hào)的動(dòng)態(tài)映射;當(dāng)讀寫(xiě)的塊不存在當(dāng)前的查找表內(nèi)所建立的組內(nèi)時(shí),所述靜態(tài)隨機(jī)存儲(chǔ)器重新建立所需讀取的塊所在的第二組的查找表,并對(duì)第二組內(nèi)的塊進(jìn)行數(shù)據(jù)讀寫(xiě)操作。由上述可知,本發(fā)明電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,通過(guò)將電子硬盤(pán)的快閃存儲(chǔ)器的塊進(jìn)行分組管理的方式,僅需在靜態(tài)隨機(jī)存儲(chǔ)器內(nèi)建立一組快閃存儲(chǔ)器的塊的查找表,即可進(jìn)行該組內(nèi)的塊進(jìn)行便捷的數(shù)據(jù)讀寫(xiě)操作,占用系統(tǒng)資源少,簡(jiǎn)化電子硬盤(pán)的數(shù)據(jù)讀寫(xiě)操作,當(dāng)需讀寫(xiě)的塊不在該組內(nèi)時(shí),再重新建立第二組的塊的查找表,每次僅僅需在靜態(tài)隨機(jī)存儲(chǔ)器內(nèi)存儲(chǔ)一組的快閃存儲(chǔ)器的塊的查找表的信息,從而有效利用靜態(tài)隨機(jī)存儲(chǔ)器的有限存儲(chǔ)空間而不增加電子硬盤(pán)的成本,提高電子硬盤(pán)的使用性能的同時(shí)降低電子硬盤(pán)的成本。圖l是本發(fā)明的電子硬盤(pán)的結(jié)構(gòu)示意圖。圖2是本發(fā)明電子硬盤(pán)與外部數(shù)據(jù)處理裝置連接并進(jìn)行數(shù)據(jù)讀寫(xiě)操作的方法流程。圖3是本發(fā)明電子硬盤(pán)的快閃存儲(chǔ)器的塊劃分為組及一組內(nèi)的塊所對(duì)應(yīng)建立的查找表。具體實(shí)施方式為進(jìn)一步闡述本發(fā)明達(dá)成預(yù)定目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明電子硬盤(pán)的存儲(chǔ)空間的分組管理方法的具體實(shí)施方式、結(jié)構(gòu)特征及其功效,詳細(xì)說(shuō)明如下。請(qǐng)參閱圖1,本發(fā)明的電子硬盤(pán)包括設(shè)有數(shù)據(jù)接口的接口控制器、快閃存儲(chǔ)器、中央處理器、只讀存儲(chǔ)器和靜態(tài)隨機(jī)存儲(chǔ)器。只讀存儲(chǔ)器內(nèi)部設(shè)有固件程序,該固件程序存儲(chǔ)電子硬盤(pán)讀寫(xiě)控制數(shù)據(jù)和程序。接口控制器的接口可以采用通用的串行數(shù)據(jù)接口規(guī)范,如SATA接口、USB接口規(guī)范等。在具體實(shí)施例中,本發(fā)明電子硬盤(pán)設(shè)有若干的快閃存儲(chǔ)器,每一快閃存儲(chǔ)器包括若干的塊,每一個(gè)塊包括用于存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)區(qū)、標(biāo)識(shí)每一個(gè)塊的物理塊號(hào)及相應(yīng)分配給該塊的邏輯地址,當(dāng)數(shù)據(jù)存儲(chǔ)區(qū)存儲(chǔ)有數(shù)據(jù)時(shí),該數(shù)據(jù)存儲(chǔ)區(qū)標(biāo)識(shí)為數(shù)據(jù)塊,當(dāng)數(shù)據(jù)存儲(chǔ)區(qū)未存儲(chǔ)數(shù)據(jù)而等待數(shù)據(jù)寫(xiě)入時(shí),該數(shù)據(jù)存儲(chǔ)區(qū)標(biāo)識(shí)為空閑塊,此時(shí),該空閑塊不分配邏輯地址。在本發(fā)明的具體實(shí)施例中,快閃存儲(chǔ)器采用NAND型快閃存儲(chǔ)器,每一個(gè)快閃存儲(chǔ)器分為若干個(gè)塊,塊是快閃存儲(chǔ)器擦除時(shí)的最小單位,通常包括16頁(yè)或32頁(yè),或者因不同型號(hào)的快閃存儲(chǔ)器而不同。頁(yè)是快閃存儲(chǔ)器編程和讀出的最小單位,通常是(512+16)字節(jié)或(2048+64)字節(jié),或者因不同型號(hào)的快閃存儲(chǔ)器而不同。在本具體實(shí)施例中,一個(gè)塊的容量大小是64K字節(jié),本發(fā)明電子硬盤(pán)的存儲(chǔ)空間的分組管理方法基于現(xiàn)有電子硬盤(pán)的存儲(chǔ)空間的結(jié)構(gòu),將快閃存儲(chǔ)器內(nèi)的塊劃分為若干的組進(jìn)行管理,在具體實(shí)施例中,可根據(jù)靜態(tài)隨機(jī)存儲(chǔ)器的存儲(chǔ)空間大小進(jìn)行設(shè)定,如,可設(shè)定為每組1024個(gè)塊,或設(shè)定為每組256塊,在本具體實(shí)施例中,設(shè)定每組為2048個(gè)塊,從而每組的容量為2048x64K字節(jié),即128M字節(jié)的容量。所設(shè)定的每組的塊的數(shù)量寫(xiě)入只讀存儲(chǔ)器的固件程序中,從而固件程序在電子硬盤(pán)的初始化后即控制電子硬盤(pán)的每組的塊的數(shù)量。每組的容量為每組內(nèi)設(shè)定的塊的數(shù)量如表1所示表l<table>tableseeoriginaldocumentpage8</column></row><table>在表l中,每組內(nèi)的塊包括數(shù)據(jù)塊,空閑塊或者失效塊。若數(shù)據(jù)存儲(chǔ)區(qū)損壞不能進(jìn)行數(shù)據(jù)的讀寫(xiě)操作,則該數(shù)據(jù)存儲(chǔ)區(qū)就成為了失效塊,當(dāng)空閑塊的數(shù)量達(dá)到上述表l中的最大值時(shí),則快閃存儲(chǔ)器的管理就會(huì)失效。為了方便處理失效塊,本發(fā)明的電子硬盤(pán)的固件程序不給該失效塊分配一個(gè)固定的物理塊號(hào),而數(shù)據(jù)塊都會(huì)將組內(nèi)的邏輯地址存放在塊內(nèi)第一頁(yè)里的附加空間內(nèi),并不是所有的邏輯塊都指定了對(duì)應(yīng)的物理地址,只有存儲(chǔ)有數(shù)據(jù)的塊的邏輯地址會(huì)被分配給對(duì)應(yīng)的物理塊號(hào)。當(dāng)然,每組內(nèi)的塊的容量時(shí),則需要增加靜態(tài)隨機(jī)存儲(chǔ)器的容量。以每組內(nèi)的快閃存儲(chǔ)器的塊的數(shù)量是2048個(gè)(2048塊/組)為例,則每個(gè)塊在組內(nèi)的邏輯地址的最大值是1999,每個(gè)塊在組內(nèi)的物理地址的最大值是2047。當(dāng)然,也可以采用每組1024或256個(gè)塊,這樣可以占用更少的靜態(tài)隨機(jī)存儲(chǔ)器的資源。請(qǐng)同時(shí)參閱圖2及圖3,本發(fā)明電子硬盤(pán)與外部的數(shù)據(jù)處理裝置連接后,固件程序進(jìn)行初始化,當(dāng)需進(jìn)行數(shù)據(jù)讀寫(xiě)時(shí),固件程序?qū)⑺x寫(xiě)的塊所在的一組內(nèi)的快閃存儲(chǔ)器的塊的邏輯地址與物理塊號(hào)讀入靜態(tài)隨機(jī)存儲(chǔ)器內(nèi),并在靜態(tài)隨機(jī)存儲(chǔ)器內(nèi)建立一個(gè)邏輯地址與物理塊號(hào)的對(duì)應(yīng)關(guān)系的查找表。在系統(tǒng)需要讀寫(xiě)該組內(nèi)的塊的數(shù)據(jù)時(shí),通過(guò)查找表即可查找要讀寫(xiě)的塊的邏輯地址所對(duì)應(yīng)的物理塊號(hào),從而方便地進(jìn)行數(shù)據(jù)的讀寫(xiě)操作。當(dāng)需要進(jìn)行數(shù)據(jù)讀寫(xiě)操作的塊不在當(dāng)前的組內(nèi)時(shí),靜態(tài)隨機(jī)存儲(chǔ)器需重新建立需要訪問(wèn)的塊所在的第二組的邏輯地址與物理塊號(hào)——對(duì)應(yīng)的查找表。在具體實(shí)施例中,本發(fā)明每一個(gè)塊在查找表中的占用空間2字節(jié),因此,設(shè)定一個(gè)組內(nèi)有2048個(gè)塊,則查找表的大小是2x2048-4K字節(jié);如杲一個(gè)組內(nèi)有1024個(gè)塊,查找表的大小就是2K字節(jié),由此可知,僅占用2K的靜態(tài)隨機(jī)存儲(chǔ)器的容量空間即可對(duì)2048個(gè)塊進(jìn)行數(shù)據(jù)讀寫(xiě)操作。由此,一個(gè)16G字節(jié)容量的電子硬盤(pán),包括256K個(gè)塊,則僅需要建立2x256K^512K個(gè)字節(jié)的查找表就可對(duì)該16G字節(jié)的電子硬盤(pán)進(jìn)行數(shù)據(jù)讀寫(xiě)操作,占用較少的系統(tǒng)資源即可進(jìn)行便捷的電子硬盤(pán)的存儲(chǔ)空間的管理。此外,本發(fā)明電子硬盤(pán)的存儲(chǔ)空間的分組管理方法是將每一快閃存儲(chǔ)器作為獨(dú)立的單元進(jìn)行管理,即,本發(fā)明的分組管理方法,僅將獨(dú)立的一個(gè)快閃存儲(chǔ)器的塊進(jìn)行分組管理,而不會(huì)出現(xiàn)一組的查找表內(nèi)建立的塊的對(duì)應(yīng)信息包括兩個(gè)快閃存儲(chǔ)器的塊的情況。在具體實(shí)施例中,根據(jù)每一快閃存儲(chǔ)器的容量的大小進(jìn)行分組區(qū)分,靜態(tài)隨機(jī)存儲(chǔ)器的容量需能存儲(chǔ)每一組的容量根據(jù)大小,如,一快閃存儲(chǔ)器的大小為128M,則將該快閃存儲(chǔ)器區(qū)分為一組即可。在本發(fā)明電子硬盤(pán)的存儲(chǔ)空間的分組管理方法中,存儲(chǔ)于靜態(tài)隨機(jī)存儲(chǔ)器內(nèi)的每一組的塊的查找表是采用動(dòng)態(tài)磨損平衡算法(WearLeveling)將邏輯地址動(dòng)態(tài)的映射到物理塊號(hào)的塊。動(dòng)態(tài)磨損耗算法保證快閃存儲(chǔ)器內(nèi)所有單元的被擦寫(xiě)次數(shù)在一個(gè)相同的水平上,能避免應(yīng)用軟件重復(fù)擦寫(xiě)快閃存儲(chǔ)器內(nèi)某一固定物理塊而導(dǎo)致的快閃存儲(chǔ)器損壞。綜上所述,本發(fā)明電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,通過(guò)在靜態(tài)隨機(jī)存儲(chǔ)器內(nèi)建立的一組的塊的物理塊與物理塊號(hào)相對(duì)應(yīng)的查找表,從而僅僅通過(guò)該查找表而對(duì)該組內(nèi)的塊進(jìn)行數(shù)據(jù)讀寫(xiě)操作,簡(jiǎn)化存儲(chǔ)塊的管理,僅僅通過(guò)存儲(chǔ)塊的標(biāo)識(shí)建立的查找表,節(jié)省數(shù)據(jù)操作時(shí)間,提升電子硬盤(pán)的管理效率。本發(fā)明電子^_盤(pán)的存儲(chǔ)空間的分組管理方法,適用于大容量的電子硬盤(pán),提高電子硬盤(pán)的數(shù)據(jù)讀寫(xiě)性能。本發(fā)明電子硬盤(pán)的存儲(chǔ)空間的分組管理方法利用電子硬盤(pán)的內(nèi)部的靜態(tài)存儲(chǔ)器的有限存儲(chǔ)空間,僅僅在靜態(tài)隨機(jī)存儲(chǔ)器內(nèi)存入一組的快閃存儲(chǔ)器的塊即可便捷地進(jìn)行針對(duì)該組內(nèi)的塊進(jìn)行數(shù)據(jù)讀寫(xiě)操作,提高電子硬盤(pán)的讀寫(xiě)性能的同時(shí)而不增加電子硬盤(pán)的成本,符合當(dāng)前電子硬盤(pán)的發(fā)展需要,便于電子硬盤(pán)的推廣應(yīng)用。權(quán)利要求1、一種電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,所述電子硬盤(pán)包括中央處理器、只讀存儲(chǔ)器、接口控制器、靜態(tài)隨機(jī)存儲(chǔ)器及快閃存儲(chǔ)器,所述中央處理器與只讀存儲(chǔ)器、靜態(tài)隨機(jī)存儲(chǔ)器及接口控制器連接,所述只讀存儲(chǔ)器存儲(chǔ)電子硬盤(pán)的固件程序并控制電子硬盤(pán)的數(shù)據(jù)讀寫(xiě),所述接口控制器與外部的數(shù)據(jù)處理裝置連接并傳輸數(shù)據(jù),所述快閃存儲(chǔ)器包括若干的塊,所述快閃存儲(chǔ)器的一定數(shù)量的塊設(shè)定為一組,且所述設(shè)定的一組的塊的數(shù)量寫(xiě)入只讀存儲(chǔ)器,所述電子硬盤(pán)與外部的數(shù)據(jù)處理裝置連接并初始化,當(dāng)電子硬盤(pán)讀取數(shù)據(jù)時(shí),所述固件程序在靜態(tài)隨機(jī)存儲(chǔ)器內(nèi)建立當(dāng)前需要讀寫(xiě)的塊所在的一組的查找表,所述查找表對(duì)應(yīng)建立該組內(nèi)的塊的邏輯地址與物理塊號(hào)的對(duì)應(yīng)關(guān)系,所述固件程序根據(jù)該查找表來(lái)實(shí)現(xiàn)所需讀寫(xiě)的塊的邏輯地址與物理塊號(hào)的動(dòng)態(tài)映射;當(dāng)讀寫(xiě)的塊不存在當(dāng)前的查找表內(nèi)所建立的組內(nèi)時(shí),所述靜態(tài)隨機(jī)存儲(chǔ)器重新建立所需讀取的塊所在的第二組的查找表,并對(duì)第二組內(nèi)的塊進(jìn)行數(shù)據(jù)讀寫(xiě)操作。2、根據(jù)權(quán)利要求1所述的電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,其特征在于所述的快閃存儲(chǔ)器為NAND型快閃存儲(chǔ)器。3.根據(jù)權(quán)利要求1所述的電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,其特征在于所述的快閃存儲(chǔ)器的一個(gè)塊在所述查找表中的建立的查找信息占用2字節(jié)容量的存儲(chǔ)空間。4.根據(jù)權(quán)利要求1所述的電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,其特征在于所述的一組的塊的存儲(chǔ)容量為128M字節(jié)的容量。5、根據(jù)權(quán)利要求1所述的電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,其特征在于所述的一組是以每一快閃存儲(chǔ)器作為獨(dú)立的一個(gè)單元進(jìn)行管理。6、根據(jù)權(quán)利要求5所述的電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,其特征在于所述的一組的容量小于所述電子硬盤(pán)的靜態(tài)隨機(jī)存儲(chǔ)器的容量。7、根據(jù)權(quán)利要求6所述的電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,其特征在于所述的一組包括所述快閃存儲(chǔ)器的2048個(gè)塊。8、根據(jù)權(quán)利要求7所述的電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,其特征在于所述2048個(gè)塊最大包括2000個(gè)已寫(xiě)入數(shù)據(jù)的數(shù)據(jù)塊,至少包括l個(gè)未寫(xiě)入數(shù)據(jù)的空閑塊,最大包括47個(gè)失效塊。全文摘要本發(fā)明公開(kāi)一種電子硬盤(pán)的存儲(chǔ)空間的分組管理方法,將電子硬盤(pán)的快閃存儲(chǔ)器的一定數(shù)量的塊設(shè)定為一組,且所述設(shè)定的一組的塊的數(shù)量寫(xiě)入只讀存儲(chǔ)器,所述電子硬盤(pán)與外部的數(shù)據(jù)處理裝置連接并初始化,當(dāng)電子硬盤(pán)讀取數(shù)據(jù)時(shí),所述固件程序在靜態(tài)隨機(jī)存儲(chǔ)器內(nèi)建立當(dāng)前需要讀寫(xiě)的塊所在的一組的查找表,所述查找表對(duì)應(yīng)建立該組內(nèi)的塊的邏輯地址與物理塊號(hào)的對(duì)應(yīng)關(guān)系。由上所述,本發(fā)明將電子硬盤(pán)的快閃存儲(chǔ)器的塊進(jìn)行分組管理的方式,僅需在靜態(tài)隨機(jī)存儲(chǔ)器內(nèi)建立一組快閃存儲(chǔ)器的塊的查找表,即可進(jìn)行該組內(nèi)的塊進(jìn)行便捷的數(shù)據(jù)讀寫(xiě)操作,占用系統(tǒng)資源少,簡(jiǎn)化電子硬盤(pán)的數(shù)據(jù)讀寫(xiě)操作。文檔編號(hào)G06F12/02GK101192195SQ20061011476公開(kāi)日2008年6月4日申請(qǐng)日期2006年11月22日優(yōu)先權(quán)日2006年11月22日發(fā)明者周朝暉,姜玉龍申請(qǐng)人:北京華旗資訊數(shù)碼科技有限公司;北京華旗數(shù)碼技術(shù)實(shí)驗(yàn)室有限責(zé)任公司