亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

閃存管理方法和系統(tǒng)的制作方法

文檔序號(hào):6382206閱讀:139來源:國知局
專利名稱:閃存管理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及存儲(chǔ)設(shè)備,特別是涉及一種閃存管理方法和系統(tǒng)。
背景技術(shù)
閃存是一種基于半導(dǎo)體的存儲(chǔ)器,具有功耗低、容量大、訪問速度高、無機(jī)械故障,以及數(shù)據(jù)非易失性的優(yōu)點(diǎn)。隨著閃存存儲(chǔ)容量的飛速增長,人們對(duì)數(shù)據(jù)操作的靈活性提出了越來越高的要求。閃存,尤其是NAND Flash已經(jīng)廣泛應(yīng)用于移動(dòng)存儲(chǔ)設(shè)備中,如U盤,SD卡等。由于閃存的特性,塊是閃存中擦除的最小單位,即必須整塊先擦除后再編程(編程即數(shù)據(jù)寫入),對(duì)NAND Flash的寫入操作只能在空的或已擦除的塊內(nèi)進(jìn)行,故大多數(shù)情況下寫入操作須要先執(zhí)行擦除操作。傳統(tǒng)的閃存管理方法都是將閃存以塊為單位劃分成數(shù)據(jù)區(qū)和交換區(qū),交換區(qū)中的塊用于隨機(jī)臨時(shí)存儲(chǔ)寫入閃存的數(shù)據(jù)。以塊為單位的閃存管理方法的缺點(diǎn)是在閃存進(jìn)行頻繁的隨機(jī)擦除操作時(shí),當(dāng)隨機(jī)擦除的塊在閃存內(nèi)非均勻分布時(shí),即總是多次、頻繁擦除部分塊,其它塊被擦除的次數(shù)較少,這樣當(dāng)某一塊、或幾塊擦除次數(shù)達(dá)到極限,則影響閃存的使用壽命。特別是在隨機(jī)頻繁擦的地址不連續(xù)的系統(tǒng)中,由于要不斷的進(jìn)行隨機(jī)塊擦除操作,由于每個(gè)閃存塊的擦除次數(shù)是有限的,當(dāng)某閃存塊的擦除次數(shù)達(dá)到其使用壽命時(shí),其它閃存塊壽命未盡時(shí),存儲(chǔ)數(shù)據(jù)容易出錯(cuò),對(duì)閃存用戶來說將極大降低了閃存設(shè)備的性能,從而影響閃存設(shè)備的使用壽命。

發(fā)明內(nèi)容
基于此,有必要提供一種能延長使用壽命的閃存管理方法。此外,還有必要提供一種能延長使用壽命的閃存管理系統(tǒng)。一種閃存管理方法,包括以下步驟當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中的任一有效塊執(zhí)行一次擦除操作時(shí),記錄擦除塊的擦除次數(shù);將閃存的交換區(qū)中擦除次數(shù)最少的有效塊與所述數(shù)據(jù)區(qū)的進(jìn)行擦除操作的有效塊進(jìn)行交換;更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。在其中一個(gè)實(shí)施例中,在當(dāng)隨機(jī)對(duì)閃存的數(shù)據(jù)區(qū)中的任一有效塊執(zhí)行一次擦除操作時(shí),記錄擦除塊的擦除次數(shù)的步驟之前,還包括步驟將閃存中的所有有效塊劃分為數(shù)據(jù)區(qū)和交換區(qū),且所述交換區(qū)中至少包括兩個(gè)有效塊;建立閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。在其中一個(gè)實(shí)施例中,在所述更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系的步驟之后,還包括步驟
當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中任一有效塊進(jìn)行擦除操作時(shí),記錄擦除總次數(shù),每當(dāng)所述擦除總次數(shù)達(dá)到預(yù)設(shè)總次數(shù)時(shí),則將所述交換區(qū)中擦除次數(shù)最多的有效塊與所述數(shù)據(jù)區(qū)中按邏輯地址序號(hào)順序?qū)⑺鲞壿嫷刂穼?duì)應(yīng)的有效塊進(jìn)行交換;再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。在其中一個(gè)實(shí)施例中,當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中任一有效塊進(jìn)行擦除操作時(shí),記錄擦除總次數(shù),每當(dāng)所述擦除總次數(shù)達(dá)到預(yù)設(shè)總次數(shù)時(shí),則將所述交換區(qū)中擦除次數(shù)最多的有效塊與所述數(shù)據(jù)區(qū)中按邏輯地址序號(hào)順序?qū)⑺鲞壿嫷刂穼?duì)應(yīng)的有效塊進(jìn)行交換的步驟之后,還包括步驟將數(shù)據(jù)區(qū)中被交換到交換區(qū)內(nèi)塊內(nèi)的有效數(shù)據(jù)刪除。在其中一個(gè)實(shí)施例中,在更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系的步驟之后,還包括步驟當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中有效塊進(jìn)行擦除操作,且所述數(shù)據(jù)區(qū)中某一有效塊的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù),則記錄擦除塊的擦除次數(shù),將交換區(qū)中擦除次數(shù)最多的有效塊與所述數(shù)據(jù)區(qū)中的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù)的有效塊進(jìn)行交換;再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。一種閃存管理系統(tǒng),包括記錄模塊,用于當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中的任一有效塊執(zhí)行一次擦除操作時(shí),記錄擦除塊的擦除次數(shù);交換模塊,用于將閃存的交換區(qū)中擦除次數(shù)最少的有效塊與所述數(shù)據(jù)區(qū)的進(jìn)行擦除操作的有效塊進(jìn)行交換;更新模塊,用于更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。在其中一個(gè)實(shí)施例中,所述閃存管理系統(tǒng)還包括劃分模塊,用于將閃存中的所有有效塊劃分為數(shù)據(jù)區(qū)和交換區(qū),且所述交換區(qū)中至少包括兩個(gè)有效塊;關(guān)系建立模塊,用于建立閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。在其中一個(gè)實(shí)施例中,所述記錄模塊還用于當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中任一有效塊進(jìn)行擦除操作時(shí),記錄擦除總次數(shù);所述交換模塊還用于每當(dāng)所述擦除總次數(shù)達(dá)到預(yù)設(shè)總次數(shù)時(shí),將所述交換區(qū)中擦除次數(shù)最多的有效塊與所述數(shù)據(jù)區(qū)中按邏輯地址序號(hào)順序?qū)⑺鲞壿嫷刂穼?duì)應(yīng)的有效塊進(jìn)行交換;所述更新模塊還用于再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。在其中一個(gè)實(shí)施例中,所述閃存管理系統(tǒng)還包括刪除模塊,用于將數(shù)據(jù)區(qū)中被交換到交換區(qū)內(nèi)塊內(nèi)的有效數(shù)據(jù)刪除。在其中一個(gè)實(shí)施例中,所述記錄模塊還用于當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中有效塊進(jìn)行擦除操作,且所述數(shù)據(jù)區(qū)中某一有效塊的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù),記錄擦除塊的擦除次數(shù);所述交換模塊還用于將交換區(qū)中擦除次數(shù)最多的有效塊與所述數(shù)據(jù)區(qū)中的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù)的有效塊進(jìn)行交換;
所述更新模塊還用于再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。上述閃存管理方法和系統(tǒng),每次記錄有效塊的擦除次數(shù),將交換區(qū)中擦除次數(shù)最少的有效塊替換數(shù)據(jù)區(qū)中該次進(jìn)行擦除操作的有效塊,可均衡有效塊的擦除頻次,起到平衡磨損的作用,有效延長閃存的使用壽命。


圖I為一個(gè)實(shí)施例中閃存管理方法的流程示意圖;圖2為閃存劃分區(qū)塊示意圖;圖3為一個(gè)實(shí)施例中數(shù)據(jù)區(qū)與交換區(qū)中有效塊進(jìn)行交換的示意圖;圖4為另一個(gè)實(shí)施例中閃存管理方法的流程示意圖;圖5為另一個(gè)實(shí)施例中數(shù)據(jù)區(qū)與交換區(qū)中有效塊進(jìn)行交換的示意圖;圖6為又一個(gè)實(shí)施例中閃存管理方法的流程示意圖;圖7為一個(gè)實(shí)施例中閃存管理系統(tǒng)的結(jié)構(gòu)示意圖;圖8為另一個(gè)實(shí)施例中閃存管理系統(tǒng)的結(jié)構(gòu)示意圖;圖9為又一個(gè)實(shí)施例中閃存管理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合具體的實(shí)施例及附圖對(duì)閃存管理方法和系統(tǒng)的技術(shù)方案進(jìn)行詳細(xì)的描述,以使其更加清楚。如圖I所示,在一個(gè)實(shí)施例中,一種閃存管理方法,包括以下步驟步驟S102,當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中的任一有效塊執(zhí)行一次擦除操作時(shí),記錄擦除塊的擦除次數(shù)。具體的,首先需將閃存中的所有有效塊劃分為數(shù)據(jù)區(qū)和交換區(qū),且交換區(qū)中至少包括兩個(gè)有效塊,并建立閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。如圖2所示,數(shù)據(jù)區(qū)中包括5個(gè)有效塊,交換區(qū)中包括3個(gè)有效塊,在數(shù)據(jù)區(qū)中邏輯地址0至4分別對(duì)應(yīng)物理地址100至104 ;交換區(qū)中邏輯地址5至7分別對(duì)應(yīng)物理地址105至107。擦除塊是指該次進(jìn)行擦除操作的有效塊。步驟S104,將閃存的交換區(qū)中擦除次數(shù)最少的有效塊與數(shù)據(jù)區(qū)中擦除操作的有效塊進(jìn)行交換。具體的,如圖3所示,將交換區(qū)中邏輯地址5和物理地址105對(duì)應(yīng)的有效塊(擦除次數(shù)最少的有效塊),與數(shù)據(jù)區(qū)中邏輯地址0和物理地址100對(duì)應(yīng)的有效塊(即進(jìn)行擦除操作的有效塊)交換。步驟S106,更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。具體的,將交換區(qū)中交換到數(shù)據(jù)區(qū)中的那一有效塊的物理地址映射到數(shù)據(jù)區(qū)的邏輯地址,同時(shí)將從數(shù)據(jù)區(qū)中交換到交換區(qū)中的那一有效塊的物理地址映射到交換區(qū)的邏輯地址。如圖3所示,將交換區(qū)中物理地址105對(duì)應(yīng)數(shù)據(jù)區(qū)的邏輯地址0,將數(shù)據(jù)區(qū)中物理地址100對(duì)應(yīng)交換區(qū)的邏輯地址5。上述閃存管理方法,每次記錄有效塊的擦除次數(shù),將交換區(qū)中擦除次數(shù)最少的有效塊替換數(shù)據(jù)區(qū)中該次進(jìn)行擦除操作的有效塊,可均衡有效塊的擦除頻次,起到平衡磨損的作用,有效延長閃存的使用壽命。進(jìn)一步的,在一個(gè)實(shí)施例中,如圖4所示,上述閃存管理方法,在更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系的步驟之后,還包括步驟步驟S202,當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中任一有效塊進(jìn)行擦除操作時(shí),記錄擦除總次數(shù)。具體的,擦除塊是指該次進(jìn)行擦除操作的有效塊。每次擦除時(shí),計(jì)算并記錄數(shù)據(jù)區(qū)中所有物理塊的擦除總次數(shù)。步驟S204,每當(dāng)所述擦除總次數(shù)達(dá)到預(yù)設(shè)總次數(shù)時(shí),將交換區(qū)中擦除次數(shù)最多的有效塊與數(shù)據(jù)區(qū)中按邏輯地址序號(hào)順序?qū)⑺鲞壿嫷刂穼?duì)應(yīng)的有效塊進(jìn)行交換。具體的,預(yù)設(shè)總次數(shù)可根據(jù)需要設(shè)定。擦除次數(shù)達(dá)到預(yù)設(shè)總次數(shù)則交換一次,交換一次后再計(jì)算擦除總次數(shù),當(dāng)再次達(dá)到預(yù)設(shè)總次數(shù)時(shí)再交換,一直循環(huán)。因數(shù)據(jù)區(qū)中的邏輯地址是靜態(tài)的存儲(chǔ)數(shù)據(jù)區(qū),交換區(qū)中的塊可看作相對(duì)動(dòng)態(tài),所以將交換區(qū)中擦除次數(shù)最多的有效塊與數(shù)據(jù)區(qū)中邏輯地址序號(hào)對(duì)應(yīng)的有效塊交換后,這個(gè)擦除次數(shù)最大的有效塊就可以暫時(shí)不再被擦除,起到了平衡擦除次數(shù)的效果。在進(jìn)行有效塊的交換過程中,同時(shí)進(jìn)行數(shù)據(jù)交換,即數(shù)據(jù)區(qū)中被交換的塊中的數(shù)據(jù)都轉(zhuǎn)移到交換塊中去,被交換的塊到交換區(qū)后都被擦除成空白塊。本實(shí)施例中,在步驟204之后,還包括步驟將數(shù)據(jù)區(qū)中被交換到交換區(qū)內(nèi)塊內(nèi)的有效數(shù)據(jù)刪除。進(jìn)一步的,當(dāng)對(duì)數(shù)據(jù)區(qū)塊中的所有有效塊的擦除操作總次數(shù)達(dá)到預(yù)設(shè)總次數(shù)時(shí),在交換區(qū)中選取兩塊有效塊,其中一有效塊的擦除次數(shù)最多,另一有效塊的擦除次數(shù)最少,其中擦除次數(shù)最多的有效塊用來交換數(shù)據(jù)區(qū)中邏輯0地址對(duì)應(yīng)的物理塊;擦除次數(shù)最少的有效塊用來備份數(shù)據(jù)區(qū)中邏輯0地址對(duì)應(yīng)的物理地址的有效塊,即備份被交換的有效塊上的數(shù)據(jù)。當(dāng)對(duì)數(shù)據(jù)區(qū)塊中的所有有效塊的擦除操作總次數(shù)再次達(dá)到預(yù)設(shè)總次數(shù)時(shí),則將數(shù)據(jù)區(qū)中邏輯I地址對(duì)應(yīng)的有效塊與交換區(qū)中擦除次數(shù)最多的有效塊進(jìn)行交換,擦除次數(shù)最少的有效塊對(duì)該邏輯I地址的數(shù)據(jù)進(jìn)行備份。當(dāng)對(duì)數(shù)據(jù)區(qū)塊中的所有有效塊的擦除操作總次數(shù)再次達(dá)到預(yù)設(shè)總次數(shù)時(shí),則將數(shù)據(jù)區(qū)中邏輯2地址對(duì)應(yīng)的有效塊與交換區(qū)中擦除次數(shù)最多的有效塊進(jìn)行交換,擦除次數(shù)最少的有效塊對(duì)該邏輯2地址的數(shù)據(jù)進(jìn)行備份。當(dāng)對(duì)數(shù)據(jù)區(qū)塊中的所有有效塊的擦除操作總次數(shù)再次達(dá)到預(yù)設(shè)總次數(shù)時(shí),則將數(shù)據(jù)區(qū)中邏輯3地址對(duì)應(yīng)的有效塊與交換區(qū)中擦除次數(shù)最多的有效塊進(jìn)行交換,擦除次數(shù)最少的有效塊對(duì)該邏輯3地址的數(shù)據(jù)進(jìn)行備份,以此類推。如圖5所示,將交換區(qū)中擦除次數(shù)最多的有效塊(邏輯地址7對(duì)應(yīng)的有效塊)交換邏輯地址I對(duì)應(yīng)的有效塊。在交換過程中,若交換區(qū)中的所有有效塊的擦除次數(shù)均相同,則任選一有效塊作為當(dāng)前交換塊與數(shù)據(jù)區(qū)中的有效塊進(jìn)行交換。此外,在擦除過程中,將對(duì)數(shù)據(jù)區(qū)中進(jìn)行擦除的有效塊內(nèi)的有效數(shù)據(jù)轉(zhuǎn)移到交換區(qū)中擦除次數(shù)最少的有效塊。步驟S206,再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。具體的,將交換區(qū)中交換到數(shù)據(jù)區(qū)中的那一有效塊的物理地址映射到數(shù)據(jù)區(qū)的邏輯地址,同時(shí)將從數(shù)據(jù)區(qū)中交換到交換區(qū)中的那一有效塊的物理地址映射到交換區(qū)的邏輯地址。進(jìn)一步的,在一個(gè)實(shí)施例中,如圖6所示,上述閃存管理方法,在更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系的步驟之后,還包括步驟步驟S302,當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中有效塊進(jìn)行擦除操作,且所述數(shù)據(jù)區(qū)中某一有效塊的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù),記錄擦除塊的擦除次數(shù)。具體的,塊預(yù)設(shè)擦除次數(shù)可根據(jù)需要設(shè)定。步驟S304,在交換區(qū)中選取擦除次數(shù)最多的有效塊交換所述數(shù)據(jù)區(qū)中的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù)的有效塊。步驟S306,再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。具體的,將交換區(qū)中交換到數(shù)據(jù)區(qū)中的那一有效塊的物理地址映射到數(shù)據(jù)區(qū)的邏輯地址,同時(shí)將從數(shù)據(jù)區(qū)中交換到交換區(qū)中的那一有效塊的物理地址映射到交換區(qū)的邏輯地址。如圖7所示,在一個(gè)實(shí)施例中,一種閃存管理系統(tǒng),包括記錄模塊102、交換模塊104和更新模塊106。其中記錄模塊102用于當(dāng)閃存的數(shù)據(jù)區(qū)中的任一有效塊執(zhí)行一次擦除操作時(shí),記錄擦除塊的擦除次數(shù)。其中,擦除塊是指該次進(jìn)行擦除操作的有效塊。交換模塊104用于將閃存的交換區(qū)中擦除次數(shù)最少的有效塊與數(shù)據(jù)區(qū)中擦除操作的有效塊進(jìn)行交換。具體的,如圖3所示,將交換區(qū)中邏輯地址5和物理地址105對(duì)應(yīng)的有效塊(擦除次數(shù)最少的有效塊),與數(shù)據(jù)區(qū)中邏輯地址0和物理地址100對(duì)應(yīng)的有效塊(即進(jìn)行擦除操作的有效塊)交換。更新模塊106用于更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。具體的,將交換區(qū)中交換到數(shù)據(jù)區(qū)中的那一有效塊的物理地址映射到數(shù)據(jù)區(qū)的邏輯地址,同時(shí)將從數(shù)據(jù)區(qū)中交換到交換區(qū)中的那一有效塊的物理地址映射到交換區(qū)的邏輯地址。如圖3所示,將交換區(qū)中物理地址105對(duì)應(yīng)數(shù)據(jù)區(qū)的邏輯地址0,將數(shù)據(jù)區(qū)中物理地址100對(duì)應(yīng)交換區(qū)的邏輯地址5。上述閃存管理系統(tǒng),每次記錄有效塊的擦除次數(shù),將交換區(qū)中擦除次數(shù)最少的有效塊替換數(shù)據(jù)區(qū)中該次進(jìn)行擦除操作的有效塊,可均衡有效塊的擦除頻次,起到平衡磨損的作用,有效延長閃存的使用壽命。如圖8所示,在一個(gè)實(shí)施例中,上述閃存管理系統(tǒng),除了包括記錄模塊102、交換模塊104和更新模塊106,還包括劃分模塊108和關(guān)系建立模塊110。其中劃分模塊108用于將閃存中的所有有效塊劃分為數(shù)據(jù)區(qū)和交換區(qū),且所述交換區(qū)中至少包括兩個(gè)有效塊。關(guān)系建立模塊110用于建立閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。如圖2所示,數(shù)據(jù)區(qū)中包括5個(gè)有效塊,交換區(qū)中包括3個(gè)有效塊,在數(shù)據(jù)區(qū)中邏輯地址0至4分別對(duì)應(yīng)物理地址100至104 ;交換區(qū)中邏輯地址5至7分別對(duì)應(yīng)物理地址105至107。如圖9所示,在一個(gè)實(shí)施例中,上述閃存管理系統(tǒng)除了包括記錄模塊102、交換模塊104和更新模塊106,還包括刪除模塊112。其中記錄模塊102還用于當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中任一有效塊進(jìn)行擦除操作時(shí),記錄擦除總次數(shù)。具體的,擦除塊是指該次進(jìn)行擦除操作的有效塊。每次擦除時(shí),計(jì)算并記錄數(shù)據(jù)區(qū)中所有物理塊的擦除總次數(shù)。交換模塊104還用于每當(dāng)所述擦除總次數(shù)達(dá)到預(yù)設(shè)總次數(shù)時(shí),將所述交換區(qū)中擦除次數(shù)最多的有效塊與所述數(shù)據(jù)區(qū)中按邏輯地址序號(hào)順序?qū)⑺鲞壿嫷刂穼?duì)應(yīng)的有效塊進(jìn)行交換。具體的,預(yù)設(shè)總次數(shù)可根據(jù)需要設(shè)定。擦除次數(shù)達(dá)到預(yù)設(shè)總次數(shù)則交換一次,交換一次后再計(jì)算擦除總次數(shù),當(dāng)再次達(dá)到預(yù)設(shè)總次數(shù)時(shí)再交換,一直循環(huán)。因數(shù)據(jù)區(qū)中的邏輯地址是靜態(tài)的存儲(chǔ)數(shù)據(jù)區(qū),交換區(qū)中的塊可看作相對(duì)動(dòng)態(tài),所以將交換區(qū)中擦除次數(shù)最多的有效塊與數(shù)據(jù)區(qū)中邏輯地址序號(hào)對(duì)應(yīng)的有效塊交換后,這個(gè)擦除次數(shù)最大的有效塊就可以暫時(shí)不再被擦除,起到了平衡擦除次數(shù)的效果。當(dāng)對(duì)數(shù)據(jù)區(qū)塊中的所有有效塊的擦除操作總次數(shù)達(dá)到預(yù)設(shè)總次數(shù)時(shí),在交換區(qū)中選取兩塊有效塊,其中一有效塊的擦除次數(shù)最多,另一有效塊的擦除次數(shù)最少,其中擦除次數(shù)最多的有效塊用來交換數(shù)據(jù)區(qū)中邏輯0地址對(duì)應(yīng)的物理塊;擦除次數(shù)最少的有效塊用來備份數(shù)據(jù)區(qū)中邏輯0地址對(duì)應(yīng)的物理地址的有效塊,即備份被交換的有效塊上的數(shù)據(jù)。當(dāng)對(duì)數(shù)據(jù)區(qū)塊中的所有有效塊的擦除操作總次數(shù)再次達(dá)到預(yù)設(shè)總次數(shù)時(shí),則交換模塊104將數(shù)據(jù)區(qū)中邏輯I地址對(duì)應(yīng)的有效塊與交換區(qū)中擦除次數(shù)最多的有效塊進(jìn)行交換,擦除次數(shù)最少的有效塊對(duì)該邏輯I地址的數(shù)據(jù)進(jìn)行備份。當(dāng)對(duì)數(shù)據(jù)區(qū)塊中的所有有效塊的擦除操作總次數(shù)再次達(dá)到預(yù)設(shè)總次數(shù)時(shí),則交換模塊104將數(shù)據(jù)區(qū)中邏輯2地址對(duì)應(yīng)的有效塊與交換區(qū)中擦除次數(shù)最多的有效塊進(jìn)行交換,擦除次數(shù)最少的有效塊對(duì)該邏輯2地址的數(shù)據(jù)進(jìn)行備份。當(dāng)對(duì)數(shù)據(jù)區(qū)塊中的所有有效塊的擦除操作總次數(shù)再次達(dá)到預(yù)設(shè)總次數(shù)時(shí),則交換模塊104將數(shù)據(jù)區(qū)中邏輯3地址對(duì)應(yīng)的有效塊與交換區(qū)中擦除次數(shù)最多的有效塊進(jìn)行交換,擦除次數(shù)最少的有效塊對(duì)該邏輯3地址的數(shù)據(jù)進(jìn)行備份,以此類推。如圖5所示,將交換區(qū)中擦除次數(shù)最多的有效塊(邏輯地址7對(duì)應(yīng)的有效塊)交換邏輯地址I對(duì)應(yīng)的有效塊。在交換過程中,若交換區(qū)中的所有有效塊的擦除次數(shù)均相同,則任選一有效塊作為當(dāng)前交換塊與數(shù)據(jù)區(qū)中的有效塊進(jìn)行交換。此外,在擦除過程中,將對(duì)數(shù)據(jù)區(qū)中進(jìn)行擦除的有效塊內(nèi)的有效數(shù)據(jù)轉(zhuǎn)移到交換區(qū)中擦除次數(shù)最少的有效塊。更新模塊106還用于再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。具體的,將交換區(qū)中交換到數(shù)據(jù)區(qū)中的那一有效塊的物理地址映射到數(shù)據(jù)區(qū)的邏輯地址,同時(shí)將從數(shù)據(jù)區(qū)中交換到交換區(qū)中的那一有效塊的物理地址映射到交換區(qū)的邏輯地址。在進(jìn)行有效塊的交換過程中,同時(shí)進(jìn)行數(shù)據(jù)交換,即數(shù)據(jù)區(qū)中被交換的塊中的數(shù)據(jù)都轉(zhuǎn)移到交換塊中去,被交換的塊到交換區(qū)后都被擦除成空白塊。刪除模塊112用于將數(shù)據(jù)區(qū)中被交換到交換區(qū)內(nèi)塊內(nèi)的有效數(shù)據(jù)刪除。記錄模塊102還用于當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中有效塊進(jìn)行擦除操作,且所述數(shù)據(jù)區(qū)中某一有效塊的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù),記錄擦除塊的擦除次數(shù)。具體的,塊預(yù)設(shè)擦除次數(shù)可根據(jù)需要設(shè)定。
交換模塊104還用于在交換區(qū)中選取擦除次數(shù)最多的有效塊交換所述數(shù)據(jù)區(qū)中的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù)的有效塊。更新模塊106還用于再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。具體的,將交換區(qū)中交換到數(shù)據(jù)區(qū)中的那一有效塊的物理地址映射到數(shù)據(jù)區(qū)的邏輯地址,同時(shí)將從數(shù)據(jù)區(qū)中交換到交換區(qū)中的那一有效塊的物理地址映射到交換區(qū)的邏輯地址。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)等。以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種閃存管理方法,包括以下步驟 當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中的任一有效塊執(zhí)行一次擦除操作時(shí),記錄擦除塊的擦除次數(shù); 將閃存的交換區(qū)中擦除次數(shù)最少的有效塊與所述數(shù)據(jù)區(qū)的進(jìn)行擦除操作的有效塊進(jìn)行交換; 更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。
2.根據(jù)權(quán)利要求I所述的閃存管理方法,其特征在于,在當(dāng)隨機(jī)對(duì)閃存的數(shù)據(jù)區(qū)中的任一有效塊執(zhí)行一次擦除操作時(shí),記錄擦除塊的擦除次數(shù)的步驟之前,還包括步驟 將閃存中的所有有效塊劃分為數(shù)據(jù)區(qū)和交換區(qū),且所述交換區(qū)中至少包括兩個(gè)有效塊; 建立閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。
3.根據(jù)權(quán)利要求I所述的閃存管理方法,其特征在于,在所述更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系的步驟之后,還包括步驟 當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中任一有效塊進(jìn)行擦除操作時(shí),記錄擦除總次數(shù),每當(dāng)所述擦除總次數(shù)達(dá)到預(yù)設(shè)總次數(shù)時(shí),則將所述交換區(qū)中擦除次數(shù)最多的有效塊與所述數(shù)據(jù)區(qū)中按邏輯地址序號(hào)順序?qū)⑺鲞壿嫷刂穼?duì)應(yīng)的有效塊進(jìn)行交換; 再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。
4.根據(jù)權(quán)利要求3所述的閃存管理方法,其特征在于,當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中任一有效塊進(jìn)行擦除操作時(shí),記錄擦除總次數(shù),每當(dāng)所述擦除總次數(shù)達(dá)到預(yù)設(shè)總次數(shù)時(shí),則將所述交換區(qū)中擦除次數(shù)最多的有效塊與所述數(shù)據(jù)區(qū)中按邏輯地址序號(hào)順序?qū)⑺鲞壿嫷刂穼?duì)應(yīng)的有效塊進(jìn)行交換的步驟之后,還包括步驟 將數(shù)據(jù)區(qū)中被交換到交換區(qū)內(nèi)塊內(nèi)的有效數(shù)據(jù)刪除。
5.根據(jù)權(quán)利要求I所述的閃存管理方法,其特征在于,在更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系的步驟之后,還包括步驟 當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中有效塊進(jìn)行擦除操作,且所述數(shù)據(jù)區(qū)中某一有效塊的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù),則記錄擦除塊的擦除次數(shù),將交換區(qū)中擦除次數(shù)最多的有效塊與所述數(shù)據(jù)區(qū)中的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù)的有效塊進(jìn)行交換; 再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。
6.一種閃存管理系統(tǒng),其特征在于,包括 記錄模塊,用于當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中的任一有效塊執(zhí)行一次擦除操作時(shí),記錄擦除塊的擦除次數(shù); 交換模塊,用于將閃存的交換區(qū)中擦除次數(shù)最少的有效塊與所述數(shù)據(jù)區(qū)的進(jìn)行擦除操作的有效塊進(jìn)行交換; 更新模塊,用于更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。
7.根據(jù)權(quán)利要求6所述的閃存管理系統(tǒng),其特征在于,所述閃存管理系統(tǒng)還包括 劃分模塊,用于將閃存中的所有有效塊劃分為數(shù)據(jù)區(qū)和交換區(qū),且所述交換區(qū)中至少包括兩個(gè)有效塊; 關(guān)系建立模塊,用于建立閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。
8.根據(jù)權(quán)利要求6所述的閃存管理系統(tǒng),其特征在于, 所述記錄模塊還用于當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中任一有效塊進(jìn)行擦除操作時(shí),記錄擦除總次數(shù); 所述交換模塊還用于每當(dāng)所述擦除總次數(shù)達(dá)到預(yù)設(shè)總次數(shù)時(shí),將所述交換區(qū)中擦除次數(shù)最多的有效塊與所述數(shù)據(jù)區(qū)中按邏輯地址序號(hào)順序?qū)⑺鲞壿嫷刂穼?duì)應(yīng)的有效塊進(jìn)行交換; 所述更新模塊還用于再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。
9.根據(jù)權(quán)利要求8所述的閃存管理系統(tǒng),其特征在于,所述閃存管理系統(tǒng)還包括 刪除模塊,用于將數(shù)據(jù)區(qū)中被交換到交換區(qū)內(nèi)塊內(nèi)的有效數(shù)據(jù)刪除。
10.根據(jù)權(quán)利要求6所述的閃存管理系統(tǒng),其特征在于,所述記錄模塊還用于當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中有效塊進(jìn)行擦除操作,且所述數(shù)據(jù)區(qū)中某一有效塊的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù),記錄擦除塊的擦除次數(shù); 所述交換模塊還用于將交換區(qū)中擦除次數(shù)最多的有效塊與所述數(shù)據(jù)區(qū)中的擦除次數(shù)達(dá)到塊預(yù)設(shè)擦除次數(shù)的有效塊進(jìn)行交換; 所述更新模塊還用于再次更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。
全文摘要
一種閃存管理方法,包括以下步驟當(dāng)對(duì)閃存的數(shù)據(jù)區(qū)中的任一有效塊執(zhí)行一次擦除操作時(shí),記錄擦除塊的擦除次數(shù);將閃存的交換區(qū)中擦除次數(shù)最少的有效塊與所述數(shù)據(jù)區(qū)的進(jìn)行擦除操作的有效塊進(jìn)行交換;更新閃存中有效塊的邏輯地址與物理地址之間的映射關(guān)系。此外,還提供了一種閃存管理系統(tǒng)。上述閃存管理方法和系統(tǒng),每次記錄有效塊的擦除次數(shù),將交換區(qū)中擦除次數(shù)最少的有效塊替換數(shù)據(jù)區(qū)中該次進(jìn)行擦除操作的有效塊,可均衡有效塊的擦除頻次,起到平衡磨損的作用,有效延長閃存的使用壽命。
文檔編號(hào)G06F12/02GK102981970SQ201210484369
公開日2013年3月20日 申請(qǐng)日期2012年11月23日 優(yōu)先權(quán)日2012年11月23日
發(fā)明者盧輝偉, 李志雄, 鄧恩華 申請(qǐng)人:深圳市江波龍電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1