一種閃速存儲(chǔ)器及其進(jìn)行壞塊管理的方法
【專利摘要】本發(fā)明公開(kāi)了一種在閃速存儲(chǔ)器及其進(jìn)行壞塊管理的方法,涉及NANDFlash存儲(chǔ)器【技術(shù)領(lǐng)域】。本發(fā)明公開(kāi)的閃速存儲(chǔ)器包括:壞塊檢測(cè)模塊,對(duì)用戶發(fā)起的訪問(wèn)操作對(duì)應(yīng)的塊地址進(jìn)行檢測(cè),判斷該塊是否為壞塊;壞塊地址表存儲(chǔ)模塊,存儲(chǔ)所述壞塊檢測(cè)模塊判斷出的壞塊的塊地址;塊地址映射模塊,收到用戶發(fā)起的訪問(wèn)操作時(shí),從所述壞塊地址表存儲(chǔ)模塊中查詢?cè)撛L問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址是否為壞塊的塊地址,若是,則將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上,再發(fā)送給閃速存儲(chǔ)器內(nèi)部進(jìn)行地址譯碼。本發(fā)明還公開(kāi)了一種閃速存儲(chǔ)器進(jìn)行壞塊管理的方法。本申請(qǐng)技術(shù)方案提高了系統(tǒng)可靠性,更解決了SPI?NAND?Flash應(yīng)用的瓶頸。
【專利說(shuō)明】一種閃速存儲(chǔ)器及其進(jìn)行壞塊管理的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及NAND Flash存儲(chǔ)器【技術(shù)領(lǐng)域】,具體涉及一種在NAND Flash芯片及其進(jìn)行壞塊管理的方法。
【背景技術(shù)】
[0002]現(xiàn)有NAND Flash與NOR Flash相比,除了制造過(guò)程中的制造缺陷外,在使用過(guò)程中還會(huì)產(chǎn)生缺陷產(chǎn)生,尤其在大容量芯片中,這種機(jī)制不可避免。因此,傳統(tǒng)NAND Flash需要負(fù)責(zé)的driver負(fù)責(zé)幫助系統(tǒng)對(duì)NAND進(jìn)行管理,而壞塊(Bad block)的管理是必不可少的。而傳統(tǒng)的NAND Flash使用過(guò)程中,由外部driver作為專門介于主控和NAND Flash的界面,來(lái)對(duì)壞塊機(jī)制以及其他方面進(jìn)行管理,如圖1所示。
[0003]從上可以看出,傳統(tǒng)的NAND Flash的壞塊管理方案中,由于采用了 driver提高了成本以及應(yīng)用復(fù)雜性。更重要的是,隨著NAND Flash工藝節(jié)點(diǎn)的不斷進(jìn)步,NAND Flash的存儲(chǔ)單元的可靠性越來(lái)越差,通過(guò)外部簡(jiǎn)單的通壞塊管理方法已經(jīng)不能滿足需求。另外,新出現(xiàn)的器件類型SPI NANDFlash的主控系統(tǒng)通常不能提供driver進(jìn)行壞塊管理(BBM),因此這樣傳統(tǒng)的方法不能實(shí)現(xiàn)SPI NAND產(chǎn)品。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種在NAND Flash芯片及其進(jìn)行壞塊管理的方法,從而提高NAND Flash的可靠性。
[0005]為了解決上述技術(shù)問(wèn)題,本發(fā)明公開(kāi)了一種閃速存儲(chǔ)器,包括:
[0006]壞塊檢測(cè)模塊,對(duì)用戶發(fā)起的訪問(wèn)操作對(duì)應(yīng)的塊地址進(jìn)行檢測(cè),判斷該塊是否為壞塊;
[0007]壞塊地址表存儲(chǔ)模塊,存儲(chǔ)所述壞塊檢測(cè)模塊判斷出的壞塊的塊地址;
[0008]塊地址映射模塊,收到用戶發(fā)起的訪問(wèn)操作時(shí),從所述壞塊地址表存儲(chǔ)模塊中查詢?cè)撛L問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址是否為壞塊的塊地址,若是,則將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上,再發(fā)送給閃速存儲(chǔ)器內(nèi)部進(jìn)行地址譯碼。
[0009]較佳地,上述閃速存儲(chǔ)器中,所述塊塊檢測(cè)模塊,在塊擦除操作過(guò)程中,檢測(cè)到該塊中存在有擦除失敗的存儲(chǔ)格時(shí),判斷該塊為壞塊。
[0010]較佳地,上述閃速存儲(chǔ)器中,所述塊塊檢測(cè)模塊,在數(shù)據(jù)預(yù)寫入過(guò)程中,檢測(cè)到該塊中存在有寫入失敗的存儲(chǔ)格時(shí),判斷該塊為壞塊。
[0011 ] 較佳地,上述閃速存儲(chǔ)器中,所述塊地址映射模塊,將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上指:
[0012]所述塊地址映射模塊,將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址向上映射到距離該壞塊最近的好塊的塊地址上。
[0013]較佳地,上述閃速存儲(chǔ)器中,所述壞塊地址表存儲(chǔ)模塊采用非易失性存儲(chǔ)單元構(gòu)成。
[0014]本發(fā)明還公開(kāi)了一種閃速存儲(chǔ)器進(jìn)行壞塊管理的方法,包括:
[0015]對(duì)用戶發(fā)起的訪問(wèn)操作對(duì)應(yīng)的塊地址進(jìn)行檢測(cè),當(dāng)檢測(cè)判斷出某塊為壞塊時(shí),存儲(chǔ)該壞塊的塊地址;
[0016]當(dāng)收到用戶發(fā)起的訪問(wèn)操作時(shí),若從所存儲(chǔ)的壞塊的塊地址中查詢到該訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址為壞塊的塊地址,則將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上,再進(jìn)行地址譯碼。
[0017]較佳地,上述方法中,檢測(cè)判斷出某塊為壞塊指:
[0018]所述閃速存儲(chǔ)器在塊擦除操作過(guò)程中,檢測(cè)到該塊中存在有擦除失敗的存儲(chǔ)格。
[0019]較佳地,上述方法中,檢測(cè)判斷出某塊為壞塊指:
[0020]所述閃速存儲(chǔ)器在數(shù)據(jù)預(yù)寫入過(guò)程中,檢測(cè)到該塊中存在有寫入失敗的存儲(chǔ)格。
[0021]較佳地,上述方法中,將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上指:
[0022]將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址向上映射到距離該壞塊最近的好塊的塊地址上。
[0023]較佳地,上述方法中,所述閃速存儲(chǔ)器采用非易失性存儲(chǔ)單元存儲(chǔ)壞塊的塊地址。
[0024]本申請(qǐng)技術(shù)方案提出了一種在NAND Flash內(nèi)部集成壞塊管理的方案,該方案適用于現(xiàn)在標(biāo)準(zhǔn)的NAND Flash以及SPI接口 NAND Flash,不但降低了外部對(duì)NAND Flash使用的負(fù)責(zé)性,提高了系統(tǒng)可靠性,更解決了 SPINAND Flash應(yīng)用的瓶頸。
【專利附圖】
【附圖說(shuō)明】
[0025]圖1為傳統(tǒng)的NAND Flash壞塊管理架構(gòu)示意圖;
[0026]圖2為本實(shí)施例中提供的NAND Flash的結(jié)構(gòu)示意圖;
[0027]圖3為圖2所示NAND Flash中塊地址映射模塊結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0028]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文將結(jié)合附圖對(duì)本發(fā)明技術(shù)方案作進(jìn)一步詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例和實(shí)施例中的特征可以任意相互組合。
[0029]實(shí)施例1
[0030]本實(shí)施例提供一種NAND Flash存儲(chǔ)器,可在其內(nèi)部實(shí)現(xiàn)壞塊管理,該存儲(chǔ)器如圖2所示,至少包括塊地址映射模塊,壞塊地址表存儲(chǔ)模塊和壞塊檢測(cè)模塊。
[0031]壞塊檢測(cè)模塊,對(duì)用戶發(fā)起的訪問(wèn)操作對(duì)應(yīng)的塊地址進(jìn)行檢測(cè),判斷該塊是否為壞塊;
[0032]具體地,壞塊檢測(cè)模塊可采用有限狀態(tài)及FSM實(shí)現(xiàn),即在適當(dāng)?shù)臅r(shí)間對(duì)所操作的block進(jìn)行檢測(cè),以判斷其為壞block還是好block。適當(dāng)?shù)臅r(shí)間可以是在對(duì)此blockerase過(guò)程中,也可以是對(duì)此block program的操作過(guò)程。一般block erase過(guò)程時(shí)間比較長(zhǎng),在此過(guò)程中,會(huì)對(duì)此block中所有的地址空間進(jìn)行操作,因此在erase過(guò)程中一旦檢測(cè)到erase fail cell (擦除失敗的存儲(chǔ)格),則認(rèn)為此block為壞block。同樣地,在preprogram過(guò)程中一旦檢測(cè)到program fail cell (寫入失敗的存儲(chǔ)格),也認(rèn)為此block為壞block。然后壞塊檢測(cè)模塊會(huì)自動(dòng)對(duì)壞塊地址表進(jìn)行操作,即將這個(gè)壞block的記錄到fuse中,同時(shí)更新壞塊地址表存儲(chǔ)模塊的信息。
[0033]壞塊地址表存儲(chǔ)模塊,存儲(chǔ)壞塊檢測(cè)模塊判斷出的壞塊的塊地址。需要注意的是,本實(shí)施例中壞塊地址表存儲(chǔ)模塊是根據(jù)壞塊檢測(cè)模塊的實(shí)時(shí)檢測(cè)結(jié)果實(shí)時(shí)更新所記錄的壞塊的塊地址的。
[0034]本實(shí)施例中,壞塊地址表存儲(chǔ)模塊可由fuse組成,這樣在斷電后還能繼續(xù)保存,并在上電過(guò)程中進(jìn)行讀取即可。此處,壞塊地址表存儲(chǔ)模塊記錄的是所有被檢測(cè)為壞塊的地址,能夠并行輸出。其中,壞塊地址表存儲(chǔ)模塊可以通過(guò)壞塊標(biāo)志位來(lái)記錄所有Block中的壞塊,即通過(guò)每個(gè)Block的壞塊標(biāo)志位的值來(lái)記錄此Block是壞塊還是好塊。
[0035]塊地址映射模塊,收到用戶發(fā)起的訪問(wèn)操作時(shí),從壞塊地址表存儲(chǔ)模塊中查詢?cè)撛L問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址是否為壞塊的塊地址,若是,則將訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上,再發(fā)送給閃速存儲(chǔ)器內(nèi)部進(jìn)行地址譯碼。需要說(shuō)明的是,由于NAND Flash地址分為三種:block地址,page地址,page內(nèi)byte地址。而對(duì)于壞塊管理只要以block為單位即可,因此塊地址映射表模塊只對(duì)block地址部分進(jìn)行處理。具體地,本實(shí)施例提供一種地址映射表模塊的實(shí)現(xiàn)方式,如圖3所示。但要注意的是本申請(qǐng)所提出的地址映射表模塊的實(shí)現(xiàn)并不只限于圖3這一種實(shí)現(xiàn)方式。
[0036]為簡(jiǎn)單起見(jiàn),以NAND Flash內(nèi)部有8個(gè)block,依次為block〈7:0>為例如。說(shuō)明壞塊地址表存儲(chǔ)模塊中存儲(chǔ)為block〈2>,Block〈6,5>為壞塊。這樣當(dāng)外部邏輯地址尋址為block〈2>(即用戶發(fā)起的訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址為block〈2>),這時(shí)地址映射表根據(jù)壞塊地址表中的信息,由于block〈2>中已經(jīng)為壞塊,因此邏輯block〈2>會(huì)被映射為物理block〈3>,根據(jù)地址機(jī)制,邏輯block〈3>會(huì)被映射為物理block〈4>。如果外部邏輯地址尋址為block〈4>,則基于壞塊地址表,邏輯block〈4>嘗試映射物理block〈5>,結(jié)果發(fā)現(xiàn)物理block〈5>也為壞塊,繼續(xù)向上映射物理block〈6>,結(jié)果發(fā)現(xiàn)物理block〈6>也為壞塊,則繼續(xù)向上映射物理block〈7>。
[0037]以上映射算法僅為示意,并不限于此算法,可以采用其他算法進(jìn)行邏輯地址和物理地址的映射。
[0038]這樣,從主控角度來(lái)看,如上的NAND Flash不需要再去考慮壞塊以及增加專門的硬件成本driver來(lái)對(duì)NAND Flash進(jìn)行壞塊管理,簡(jiǎn)化了系統(tǒng)應(yīng)用,并節(jié)省了成本。
[0039]實(shí)施例2
[0040]本實(shí)施例提供一種閃速存儲(chǔ)器進(jìn)行壞塊管理的方法,包括:
[0041]對(duì)用戶發(fā)起的訪問(wèn)操作對(duì)應(yīng)的塊地址進(jìn)行檢測(cè),當(dāng)檢測(cè)判斷出某塊為壞塊時(shí),存儲(chǔ)該壞塊的塊地址;
[0042]當(dāng)收到用戶發(fā)起的訪問(wèn)操作時(shí),若從所存儲(chǔ)的壞塊的塊地址中查詢到該訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址為壞塊的塊地址,則將訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上,再進(jìn)行地址譯碼。
[0043]其中,閃速存儲(chǔ)器可采用非易失性存儲(chǔ)單元來(lái)存儲(chǔ)壞塊的塊地址。
[0044]在上述方法的實(shí)現(xiàn)過(guò)程中,閃速存儲(chǔ)器可以在塊擦除操作過(guò)程中,檢測(cè)該塊中是否存在有擦除失敗的存儲(chǔ)格,如果有即判斷此塊為壞塊。也可以在數(shù)據(jù)預(yù)寫入過(guò)程中,檢測(cè)該塊中是否存在有寫入失敗的存儲(chǔ)格,如果有即判斷此塊為壞塊。
[0045]另外,閃速存儲(chǔ)器將訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上時(shí),可以將訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址向上映射到距離該壞塊最近的好塊的塊地址上。例如,外部邏輯地址尋址為block〈2>,這時(shí)地址映射表中記錄block〈2>中已經(jīng)為壞塊,因此邏輯block〈2>會(huì)被映射為物理block〈3>,這樣,根據(jù)地址機(jī)制,邏輯block〈3>會(huì)被映射為物理block〈4>。如果外部邏輯地址尋址為block〈4>,邏輯block〈4>嘗試映射物理block〈5>,而此時(shí)地址映射表中記錄block〈5>已經(jīng)為壞塊,則繼續(xù)向上映射物理block<6>,而地址映射表中記錄block〈6>也為壞塊,即么繼續(xù)向上映射物理block〈7>。
[0046]上述方法的實(shí)現(xiàn)過(guò)程中的其他技術(shù)細(xì)節(jié)可參見(jiàn)實(shí)施例1,在此不再贅述。
[0047]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本申請(qǐng)不限制于任何特定形式的硬件和軟件的結(jié)合。
[0048]從上述實(shí)施例可以看出,本申請(qǐng)技術(shù)方案本發(fā)明提出了一種NAND Flash內(nèi)部集成壞塊管理(BBM)的實(shí)現(xiàn)方案,使用于傳統(tǒng)NAND Flash以及SPI接口 NAND Flash,避免了主控制器增加額外的裝置進(jìn)行壞塊管理,簡(jiǎn)化了系統(tǒng),節(jié)省了成本。而且使得SPI NAND Flash應(yīng)用成為可能。
[0049]以上所述,僅為本發(fā)明的較佳實(shí)例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種閃速存儲(chǔ)器,其特征在于,該閃速存儲(chǔ)器包括: 壞塊檢測(cè)模塊,對(duì)用戶發(fā)起的訪問(wèn)操作對(duì)應(yīng)的塊地址進(jìn)行檢測(cè),判斷該塊是否為壞塊; 壞塊地址表存儲(chǔ)模塊,存儲(chǔ)所述壞塊檢測(cè)模塊判斷出的壞塊的塊地址; 塊地址映射模塊,收到用戶發(fā)起的訪問(wèn)操作時(shí),從所述壞塊地址表存儲(chǔ)模塊中查詢?cè)撛L問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址是否為壞塊的塊地址,若是,則將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上,再發(fā)送給閃速存儲(chǔ)器內(nèi)部進(jìn)行地址譯碼。
2.如權(quán)利要求1所述的閃速存儲(chǔ)器,其特征在于, 所述塊塊檢測(cè)模塊,在塊擦除操作過(guò)程中,檢測(cè)到該塊中存在有擦除失敗的存儲(chǔ)格時(shí),判斷該塊為壞塊。
3.如權(quán)利要求1或2所述的閃速存儲(chǔ)器,其特征在于, 所述塊塊檢測(cè)模塊,在數(shù)據(jù)預(yù)寫入過(guò)程中,檢測(cè)到該塊中存在有寫入失敗的存儲(chǔ)格時(shí),判斷該塊為壞塊。
4.如權(quán)利要求3所述的閃速存儲(chǔ)器,其特征在于,所述塊地址映射模塊,將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上指: 所述塊地址映射模塊,將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址向上映射到距離該壞塊最近的好塊的塊地址上。
5.如權(quán)利要求3所述的閃速存儲(chǔ)器,其特征在于, 所述壞塊地址表存儲(chǔ)模塊采用非易失性存儲(chǔ)單元構(gòu)成。
6.一種閃速存儲(chǔ)器進(jìn)行壞塊管理的方法,其特征在于,該方法包括: 對(duì)用戶發(fā)起的訪問(wèn)操作對(duì)應(yīng)的塊地址進(jìn)行檢測(cè),當(dāng)檢測(cè)判斷出某塊為壞塊時(shí),存儲(chǔ)該壞塊的塊地址; 當(dāng)收到用戶發(fā)起的訪問(wèn)操作時(shí),若從所存儲(chǔ)的壞塊的塊地址中查詢到該訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址為壞塊的塊地址,則將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上,再進(jìn)行地址譯碼。
7.如權(quán)利要求6所述的方法,其特征在于,檢測(cè)判斷出某塊為壞塊指: 所述閃速存儲(chǔ)器在塊擦除操作過(guò)程中,檢測(cè)到該塊中存在有擦除失敗的存儲(chǔ)格。
8.如權(quán)利要求6或7所述的方法,其特征在于,檢測(cè)判斷出某塊為壞塊指: 所述閃速存儲(chǔ)器在數(shù)據(jù)預(yù)寫入過(guò)程中,檢測(cè)到該塊中存在有寫入失敗的存儲(chǔ)格。
9.如權(quán)利要求8所述的方法,其特征在于,將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址映射到好塊的塊地址上指: 將所述訪問(wèn)操作對(duì)應(yīng)的邏輯地址中的塊地址向上映射到距離該壞塊最近的好塊的塊地址上。
10.如權(quán)利要求8所述的方法,其特征在于, 所述閃速存儲(chǔ)器采用非易失性存儲(chǔ)單元存儲(chǔ)壞塊的塊地址。
【文檔編號(hào)】G06F12/02GK103778065SQ201210414610
【公開(kāi)日】2014年5月7日 申請(qǐng)日期:2012年10月25日 優(yōu)先權(quán)日:2012年10月25日
【發(fā)明者】蘇志強(qiáng), 張現(xiàn)聚, 劉奎偉, 丁沖 申請(qǐng)人:北京兆易創(chuàng)新科技股份有限公司