两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種nandflash壞塊管理方法

文檔序號(hào):6632021閱讀:394來(lái)源:國(guó)知局
一種nand flash壞塊管理方法
【專利摘要】本發(fā)明提供一種NAND FLASH壞塊管理方法,解決常見(jiàn)NAND FALSH壞塊管理算法中速度與容量無(wú)法均衡的問(wèn)題。該本發(fā)明在一個(gè)操作周期即可得到邏輯塊地址對(duì)應(yīng)的物理塊地址。本發(fā)明可以在采用較少存儲(chǔ)空間的情況下,實(shí)現(xiàn)壞塊的管理工作。同時(shí)速度與全容量映射方法一樣,在一個(gè)操作周期即可得到邏輯塊地址對(duì)應(yīng)的物理塊地址。有效解決了常見(jiàn)的壞塊管理方法中速度與面積的矛盾。將該方法應(yīng)用在存儲(chǔ)器的電子設(shè)計(jì)中,降低了對(duì)硬件的要求,如計(jì)算映射關(guān)系的RAM、存儲(chǔ)映射表的FLASH等,在不降低產(chǎn)品性能的情況下,顯著降低產(chǎn)品的板面積和成本。本發(fā)明明顯縮小芯片集成電路規(guī)模和芯片面積。
【專利說(shuō)明】—種NAND FLASH壞塊管理方法
[0001]
[0002]
[0003]
[0004]

【技術(shù)領(lǐng)域】
[0005]本發(fā)明屬于航空電子【技術(shù)領(lǐng)域】,具體涉及一種NAND FLASH壞塊管理方法。

【背景技術(shù)】
[0006]NAND FLASH Memory是一種點(diǎn)可擦除讀寫(xiě)非易失性存儲(chǔ)器。它具有高密度,低成本,非易失性,功耗低,讀寫(xiě)和擦除速度快等優(yōu)點(diǎn),因此在移動(dòng)設(shè)備中得到了廣泛應(yīng)用。為了提高產(chǎn)品是良品率,NAND FLASH在出廠時(shí)存在一定比例的壞塊,芯片廠家會(huì)在固定位置給出壞塊標(biāo)記,此外在使用過(guò)程中,也可能產(chǎn)生新的壞塊。由于壞塊無(wú)法完成正常的讀、寫(xiě)、擦操作,因此采用一種方便快捷的壞塊管理方法,屏蔽壞塊的使用,使得數(shù)據(jù)始終在有效塊上操作,使用該類存儲(chǔ)器,保證數(shù)據(jù)安全必須的過(guò)程。
[0007]為了使用方便,我們將應(yīng)用層欲操作的塊地址稱為邏輯塊地址,將實(shí)際數(shù)據(jù)存放的塊地址稱為物理塊地址,邏輯塊地址到物理塊地址的對(duì)應(yīng)關(guān)系,稱為映射關(guān)系,存儲(chǔ)該映射關(guān)系的表,稱為映射表。目前普遍采用的壞塊管理方法主要有兩種:一是采用全容量映射的方法。首先將物理塊地址分為數(shù)據(jù)區(qū)和冗余區(qū),然后每個(gè)NAND FLASH邏輯塊均對(duì)應(yīng)一個(gè)物理塊地址,存儲(chǔ)該塊對(duì)應(yīng)的物理地址,如果數(shù)據(jù)區(qū)存在壞塊,則從冗余區(qū)選擇一個(gè)好塊進(jìn)行映射即可。操作某塊時(shí),直接讀取映射表,即可得到對(duì)應(yīng)的物理塊地址。二是采用壞塊映射的方法。即僅對(duì)壞塊進(jìn)行映射,每個(gè)壞塊均有一個(gè)冗余區(qū)好塊進(jìn)行對(duì)應(yīng)。每次操作前,首先遍歷映射區(qū),如果有對(duì)應(yīng)的地址,則操作冗余區(qū)物理地址,如果沒(méi)有,則說(shuō)明當(dāng)前塊為好塊??芍苯舆M(jìn)行操作。
[0008]從以上描述可以看出,方法一隨著存儲(chǔ)容量的增加,其需要的存儲(chǔ)的地址的容量成比例上升。尤其在海量存儲(chǔ)設(shè)備中,其容量大到不可接受的地步。方法二,雖然存儲(chǔ)容量較小,但是由于每次操作前,均需要進(jìn)行掃描,會(huì)嚴(yán)重影響整個(gè)系統(tǒng)的讀寫(xiě)速度。


【發(fā)明內(nèi)容】

[0009]發(fā)明目的:提供一種NAND FLASH壞塊管理方法,解決常見(jiàn)NAND FALSH壞塊管理算法中速度與容量無(wú)法均衡的問(wèn)題。
[0010]技術(shù)方案:一種NAND FLASH壞塊管理方法,首先建立壞塊標(biāo)記表和映射表,將NAND FLASH的物理存儲(chǔ)區(qū)域分為數(shù)據(jù)區(qū)和冗余區(qū),其中數(shù)據(jù)區(qū)作為數(shù)據(jù)的正常記錄區(qū)域,冗余區(qū)作為數(shù)據(jù)區(qū)中壞塊的備份,并定義邏輯區(qū)與數(shù)據(jù)區(qū)地址相同且大小一致;首先,按照數(shù)據(jù)區(qū)地址順序遍歷NAND FLASH壞塊標(biāo)記,按照遍歷順序建立一個(gè)壞塊標(biāo)記表,使用I表示對(duì)應(yīng)塊為壞塊,O表示對(duì)應(yīng)塊為好塊;當(dāng)某塊為壞塊時(shí),在冗余區(qū)尋找一個(gè)好塊建立映射關(guān)系,形成映射表,映射表中未使用的地址寫(xiě)入全F將該映射關(guān)系保存;當(dāng)需要操作某個(gè)邏輯區(qū)塊的地址時(shí),按照以下步驟實(shí)現(xiàn)其對(duì)應(yīng)的物理塊地址:
[0011]步驟1:查詢壞塊標(biāo)記,若壞塊標(biāo)記為0,說(shuō)明與該邏輯塊地址值相同的數(shù)據(jù)區(qū)塊為好塊,可直接操作;若壞塊標(biāo)記為1,轉(zhuǎn)步驟2 ;
[0012]步驟2:將邏輯區(qū)塊地址對(duì)應(yīng)的壞塊標(biāo)記表中地址之前的I相加,記為sum,轉(zhuǎn)步驟3 ;
[0013]步驟3:將sum作為映射表的地址,輸出映射表地址sum位置存儲(chǔ)的數(shù)據(jù),即為對(duì)應(yīng)的冗余區(qū)的物理塊地址。
[0014]優(yōu)選的,步驟2采用二進(jìn)制全加器實(shí)現(xiàn)。
[0015]優(yōu)選的,步驟2具體采用硬件電路或FPGA實(shí)現(xiàn)。
[0016]如果對(duì)某個(gè)邏輯區(qū)塊的地址進(jìn)行操作時(shí)發(fā)現(xiàn)新的壞塊,則需要更新壞塊標(biāo)記表和映射表,按照以下步驟實(shí)現(xiàn):
[0017]步驟4:將當(dāng)前塊的壞塊標(biāo)記更新為1,轉(zhuǎn)步驟5 ;
[0018]步驟5:在冗余區(qū)尋找未使用的好塊進(jìn)行映射,轉(zhuǎn)步驟6 ;
[0019]步驟6:將sum開(kāi)始的內(nèi)容依次后移,將映射關(guān)系填入sum位置即可建立新的映射表。
[0020]有益效果:本發(fā)明可以在采用較少存儲(chǔ)空間的情況下,實(shí)現(xiàn)壞塊的管理工作。同時(shí)速度與全容量映射方法一樣,在一個(gè)操作周期即可得到邏輯塊地址對(duì)應(yīng)的物理塊地址。有效解決了常見(jiàn)的壞塊管理方法中速度與面積的矛盾。將該方法應(yīng)用在存儲(chǔ)器的電子設(shè)計(jì)中,降低了對(duì)硬件的要求,如計(jì)算映射關(guān)系的RAM、存儲(chǔ)映射表的FLASH等,在不降低產(chǎn)品性能的情況下,顯著降低產(chǎn)品的板面積和成本。將該方法應(yīng)用在NAND FLASH控制器等芯片設(shè)計(jì)中,可以在不降低產(chǎn)品性能的情況下,明顯縮小芯片集成電路規(guī)模和芯片面積。

【專利附圖】

【附圖說(shuō)明】
[0021]圖1常見(jiàn)的壞塊管理方法一
[0022]圖2常見(jiàn)的壞塊管理方法二
[0023]圖3本發(fā)明采用的壞塊管理方法
[0024]圖4標(biāo)記求和方法
[0025]圖5以某NAND FLASH為例的壞塊管理方法示意圖

【具體實(shí)施方式】
[0026]下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)描述,如圖3所示,首先建立壞塊標(biāo)記表和映射表,將NAND FLASH的物理存儲(chǔ)區(qū)域分為數(shù)據(jù)區(qū)和冗余區(qū),其中數(shù)據(jù)區(qū)作為數(shù)據(jù)的正常記錄區(qū)域,冗余區(qū)作為數(shù)據(jù)區(qū)中壞塊的備份,并定義邏輯區(qū)與數(shù)據(jù)區(qū)地址相同且大小一致;首先,按照數(shù)據(jù)區(qū)地址順序遍歷NAND FLASH壞塊標(biāo)記,按照遍歷順序建立一個(gè)壞塊標(biāo)記表,使用I表示對(duì)應(yīng)塊為壞塊,O表示對(duì)應(yīng)塊為好塊;當(dāng)某塊為壞塊時(shí),在冗余區(qū)尋找一個(gè)好塊建立映射關(guān)系,形成映射表,映射表中未使用的地址寫(xiě)入全F將該映射關(guān)系保存;當(dāng)需要操作某個(gè)邏輯區(qū)塊的地址時(shí),按照以下步驟實(shí)現(xiàn)其對(duì)應(yīng)的物理塊地址:
[0027]步驟1:查詢壞塊標(biāo)記,若壞塊標(biāo)記為0,說(shuō)明與該邏輯塊地址值相同的數(shù)據(jù)區(qū)塊為好塊,可直接操作;若壞塊標(biāo)記為1,轉(zhuǎn)步驟2 ;
[0028]步驟2:將邏輯區(qū)塊地址對(duì)應(yīng)的壞塊標(biāo)記表中地址之前的I相加,采用二進(jìn)制全加器實(shí)現(xiàn),具體采用硬件電路或FPGA實(shí)現(xiàn)。記為sum,轉(zhuǎn)步驟3 ;
[0029]步驟3:將sum作為映射表的地址,輸出映射表地址sum位置存儲(chǔ)的數(shù)據(jù),即為對(duì)應(yīng)的冗余區(qū)的物理塊地址。
[0030]如果對(duì)某個(gè)邏輯區(qū)塊的地址進(jìn)行操作時(shí)發(fā)現(xiàn)新的壞塊,則需要更新壞塊標(biāo)記表和映射表,按照以下步驟實(shí)現(xiàn):
[0031]步驟4:將當(dāng)前塊的壞塊標(biāo)記更新為1,轉(zhuǎn)步驟5 ;
[0032]步驟5:在冗余區(qū)尋找未使用的好塊進(jìn)行映射,轉(zhuǎn)步驟6 ;
[0033]步驟6:將sum開(kāi)始的內(nèi)容依次后移,將映射關(guān)系填入sum位置即可建立新的映射表。
[0034]下面以如圖5所示例具體進(jìn)一步詳細(xì)描述,示例中NAND FLASH有16384個(gè)塊,其中第3、5、9塊為壞塊的NAND FLASH為例進(jìn)行說(shuō)明,假設(shè)數(shù)據(jù)區(qū)為第O塊?第15999塊,冗余區(qū)為第16000塊?第16384塊,第8塊在操作過(guò)程中損壞。首先通過(guò)讀取NAND FLASH的壞塊標(biāo)記,判斷是否為壞塊,按照遍歷順序建立一個(gè)16384Xlbit的壞塊標(biāo)記表,其中第3,5,9塊的標(biāo)記為1,其余標(biāo)記為O。分別于冗余區(qū)的第16000,16001,16002塊建立建立映射關(guān)系,在冗余塊映射表的地址1,2,3分別填入16000,16001,16002,其余未使用的地址寫(xiě)入全F,將該映射關(guān)系保存。當(dāng)需要操作某個(gè)邏輯區(qū)塊的地址時(shí),按照以下步驟實(shí)現(xiàn)其對(duì)應(yīng)的物理塊地址:
[0035]步驟1:查詢壞塊標(biāo)記,若壞塊標(biāo)記為0,說(shuō)明與該邏輯塊地址值相同的數(shù)據(jù)區(qū)塊為好塊,可直接操作;若壞塊標(biāo)記為1,進(jìn)入步驟2,以圖5所示例,操作邏輯地址0,1,2,4,6,7,8,10……時(shí),查詢壞塊標(biāo)記為O,轉(zhuǎn)換后的物理地址為地址0,I,2,4,6,7,8,10……。當(dāng)操作邏輯地址3,5,9時(shí),由于壞塊標(biāo)記為I,轉(zhuǎn)步驟2 ;
[0036]步驟2:將地址3,5,9之前所有的壞塊標(biāo)記相加,通過(guò)二進(jìn)制全加器分別得到sum為1,2,3.,轉(zhuǎn)步驟3 ;
[0037]步驟3:將1,2,3作為映射表地址,分別得到冗余區(qū)的物理塊地址16000,16001,16002,即對(duì)邏輯塊3,5,9的操作,就是對(duì)物理塊16000,16001,16002的操作。
[0038]如果對(duì)某個(gè)邏輯區(qū)塊的地址進(jìn)行操作時(shí)發(fā)現(xiàn)新的壞塊,則需要更新壞塊標(biāo)記表和映射表,以圖5示例,操作第8塊時(shí),發(fā)現(xiàn)其損壞,此刻需要更新壞塊標(biāo)記表和冗余映射表。按照以下步驟實(shí)現(xiàn):
[0039]步驟4:將當(dāng)前塊的壞塊標(biāo)記地址8的位置更新為I。轉(zhuǎn)步驟5 ;
[0040]步驟5:在冗余區(qū)尋找未使用的好塊16003進(jìn)行映射。此時(shí),sum為3,轉(zhuǎn)步驟6 ;
[0041]步驟6:將映射表地址3開(kāi)始的內(nèi)容依次后移,將16003填入地址3的位置,完成映射表的更新。
[0042]通過(guò)以上示例,可以看出共需要16384X lbit+384byteX2 = 2816byte的存儲(chǔ)空間,由于中間的加法器采用硬件電路或FPGA實(shí)現(xiàn),所以實(shí)際的操作周期為I個(gè)時(shí)鐘。
[0043]若采用圖1所示全映射的壞塊管理方法,則需要16384X2byte = 32768byte的存儲(chǔ)空間,操作周期為I個(gè)時(shí)鐘。
[0044]若采用圖2冗余區(qū)映射的壞塊管理方法,則需要384byteX2 = 768byte的存儲(chǔ)空間,但是操作周期至少為384個(gè)時(shí)鐘。
[0045]可見(jiàn)在本示例中,全映射的壞塊管理方法所需的存儲(chǔ)空間是本發(fā)明的11.6倍,操作周期相同,而冗余區(qū)映射的壞塊管理方法所需時(shí)間是本發(fā)明的384倍,但存儲(chǔ)空間只有本發(fā)明的0.27倍。
【權(quán)利要求】
1.一種NAND FLASH壞塊管理方法,首先建立壞塊標(biāo)記表和映射表,將NAND FLASH的物理存儲(chǔ)區(qū)域分為數(shù)據(jù)區(qū)和冗余區(qū),其中數(shù)據(jù)區(qū)作為數(shù)據(jù)的正常記錄區(qū)域,冗余區(qū)作為數(shù)據(jù)區(qū)中壞塊的備份,并定義邏輯區(qū)與數(shù)據(jù)區(qū)地址相同且大小一致;首先,按照數(shù)據(jù)區(qū)地址順序遍歷NAND FLASH壞塊標(biāo)記,按照遍歷順序建立一個(gè)壞塊標(biāo)記表,使用I表示對(duì)應(yīng)塊為壞塊,O表示對(duì)應(yīng)塊為好塊;當(dāng)某塊為壞塊時(shí),在冗余區(qū)尋找一個(gè)好塊建立映射關(guān)系,形成映射表,映射表中未使用的地址寫(xiě)入全F將該映射關(guān)系保存;其特征在于,當(dāng)需要操作某個(gè)邏輯區(qū)塊的地址時(shí),按照以下步驟實(shí)現(xiàn)其對(duì)應(yīng)的物理塊地址: 步驟1:查詢壞塊標(biāo)記,若壞塊標(biāo)記為O,說(shuō)明與該邏輯塊地址值相同的數(shù)據(jù)區(qū)塊為好塊,可直接操作;若壞塊標(biāo)記為1,轉(zhuǎn)步驟2 ; 步驟2:將邏輯區(qū)塊地址對(duì)應(yīng)的壞塊標(biāo)記表中地址之前的I相加,記為sum,轉(zhuǎn)步驟3 ; 步驟3:將sum作為映射表的地址,輸出映射表地址sum位置存儲(chǔ)的數(shù)據(jù),即為對(duì)應(yīng)的冗余區(qū)的物理塊地址。
2.根據(jù)權(quán)利要求1所述的一種NANDFLASH壞塊管理方法,其特征在于,步驟2采用二進(jìn)制全加器實(shí)現(xiàn)。
3.根據(jù)權(quán)利要求2所述的一種NANDFLASH壞塊管理方法,其特征在于,步驟2具體采用硬件電路或FPGA實(shí)現(xiàn)。
4.根據(jù)權(quán)利要求1至3任意一項(xiàng)所述的一種NANDFLASH壞塊管理方法,其特征在于,如果對(duì)某個(gè)邏輯區(qū)塊的地址進(jìn)行操作時(shí)發(fā)現(xiàn)新的壞塊,則需要更新壞塊標(biāo)記表和映射表,按照以下步驟實(shí)現(xiàn): 步驟4:將當(dāng)前塊的壞塊標(biāo)記更新為1,轉(zhuǎn)步驟5 ; 步驟5:在冗余區(qū)尋找未使用的好塊進(jìn)行映射,轉(zhuǎn)步驟6 ; 步驟6:將sum開(kāi)始的內(nèi)容依次后移,將映射關(guān)系填入sum位置即可建立新的映射表。
【文檔編號(hào)】G06F12/06GK104317733SQ201410589259
【公開(kāi)日】2015年1月28日 申請(qǐng)日期:2014年10月28日 優(yōu)先權(quán)日:2014年10月28日
【發(fā)明者】程金, 賈寧, 周波岐 申請(qǐng)人:陜西千山航空電子有限責(zé)任公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
扎兰屯市| 大邑县| 肃南| 邮箱| 平顶山市| 阜新| 松潘县| 惠水县| 屏东市| 皮山县| 长沙市| 河池市| 游戏| 石狮市| 垦利县| 隆安县| 尉氏县| 新泰市| 武胜县| 麻阳| 淮北市| 南靖县| 弥勒县| 芮城县| 江西省| 清苑县| 辛集市| 嘉义县| 通渭县| 曲沃县| 马山县| 会东县| 彭泽县| 靖宇县| 新昌县| 平湖市| 石阡县| 博爱县| 谢通门县| 宁远县| 长垣县|