一種與非型閃存中壞列的處理裝置及與非型閃存的制作方法
【專利摘要】本實(shí)用新型實(shí)施例公開(kāi)了一種與非型閃存中壞列的處理裝置及與非型閃存,所述裝置包括:壞列掃描模塊,用于掃描所述與非型閃存的存儲(chǔ)區(qū)塊,并掃描出所述存儲(chǔ)區(qū)塊中的壞列;壞列個(gè)數(shù)統(tǒng)計(jì)模塊,用于通過(guò)所述存儲(chǔ)區(qū)塊中的冗余列替換所述壞列并將所述壞列的地址記錄在與該冗余列對(duì)應(yīng)的標(biāo)記鎖存器中,記錄所述壞列個(gè)數(shù);錯(cuò)誤數(shù)據(jù)個(gè)數(shù)獲取模塊,用于掃描寫入數(shù)據(jù)后的所述存儲(chǔ)區(qū)塊并得出所述存儲(chǔ)區(qū)塊的錯(cuò)誤信息個(gè)數(shù),根據(jù)所述錯(cuò)誤信息個(gè)數(shù)和所述壞列個(gè)數(shù)得出所述存儲(chǔ)區(qū)塊的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。本實(shí)用新型實(shí)施例中僅需要至少一個(gè)標(biāo)記鎖存器用于記錄壞列信息,可以大大減少標(biāo)記鎖存器占用的面積,也降低與非型閃存排版布局的難度。
【專利說(shuō)明】
一種與非型閃存中壞列的處理裝置及與非型閃存
技術(shù)領(lǐng)域
[0001]本實(shí)用新型涉及集成電路存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種與非型閃存中壞列的處理裝置及與非型閃存。
【背景技術(shù)】
[0002]NAND FLASH是一種與非型閃存,可以在給定的芯片尺寸內(nèi)提供較高的容量。NANDFLASH以頁(yè)為基本單元進(jìn)行存儲(chǔ),以塊為基本單元進(jìn)行擦除,具有很快的寫入和擦除速度,是一種比硬盤驅(qū)動(dòng)器更好的存儲(chǔ)設(shè)備。
[0003]如圖1所示,在NANDFLASH中,除了用來(lái)存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器外,一般還包括靈敏放大器(Sense Amplifier,SA)、標(biāo)記鎖存器(Isolat1n latch,IS0L)和控制電路(圖中未給出),一組靈敏放大器(Sense Amplifier,SA)對(duì)應(yīng)一組標(biāo)記鎖存器(IsoIat1n latch,IS0L)。在NAND FLASH中,除了用戶可訪問(wèn)到的存儲(chǔ)資源外,還配備有冗余列(如圖2所示),若SA或是存儲(chǔ)器中出現(xiàn)壞列,則動(dòng)用冗余列資源將壞列替換掉,此時(shí),將該壞列的地址、該壞列對(duì)應(yīng)的替換冗余列的地址記錄到該列所對(duì)應(yīng)的標(biāo)記鎖存器中;若超出冗余列的替換范圍,則將該壞列不可替換的信息記錄到其對(duì)應(yīng)的標(biāo)記鎖存器中;若某列不是壞列,則將其對(duì)應(yīng)的標(biāo)記鎖存器標(biāo)記為未使用。可見(jiàn),存儲(chǔ)器中某一列所對(duì)應(yīng)的標(biāo)記鎖存器存儲(chǔ)的信息包括:該標(biāo)記鎖存器本身是否可用,該標(biāo)記鎖存器是否已經(jīng)使用,若已經(jīng)使用,則記錄其對(duì)應(yīng)的壞列地址和替換冗余列地址;若未使用,則記錄該信息。
[0004]但是,現(xiàn)有的NANDFLASH中,即使某列不是壞列,其也有對(duì)應(yīng)的標(biāo)記鎖存器,導(dǎo)致標(biāo)記鎖存器資源被浪費(fèi);每一列存儲(chǔ)單元都對(duì)應(yīng)一組標(biāo)記鎖存器,使得在NAND FLASH中,標(biāo)記鎖存器占據(jù)了很大的面積;標(biāo)記鎖存器橫跨整個(gè)存儲(chǔ)器,在排版布局時(shí)需使用較大的面積。
【實(shí)用新型內(nèi)容】
[0005]有鑒于此,本實(shí)用新型實(shí)施例提供一種與非型閃存中壞列的處理裝置及與非型閃存,以解決現(xiàn)有技術(shù)中標(biāo)記鎖存器數(shù)量多,所占面積大,需橫跨整個(gè)存儲(chǔ)器,給電路板的排版布局造成不便等問(wèn)題。
[0006]第一方面,本實(shí)用新型實(shí)施例提供了一種與非型閃存中壞列的處理裝置,包括:
[0007]壞列掃描模塊,用于掃描所述與非型閃存的存儲(chǔ)區(qū)塊,并掃描出所述存儲(chǔ)區(qū)塊中的壞列;
[0008]壞列個(gè)數(shù)統(tǒng)計(jì)模塊,用于通過(guò)所述存儲(chǔ)區(qū)塊中的冗余列替換所述壞列并將所述壞列的地址記錄在與該冗余列對(duì)應(yīng)的標(biāo)記鎖存器中,記錄所述壞列個(gè)數(shù);
[0009]錯(cuò)誤數(shù)據(jù)個(gè)數(shù)獲取模塊,用于掃描寫入數(shù)據(jù)后的所述存儲(chǔ)區(qū)塊并得出所述存儲(chǔ)區(qū)塊的錯(cuò)誤信息個(gè)數(shù),根據(jù)所述錯(cuò)誤信息個(gè)數(shù)和所述壞列個(gè)數(shù)得出所述存儲(chǔ)區(qū)塊的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。
[0010]進(jìn)一步的,所述壞列個(gè)數(shù)統(tǒng)計(jì)模塊包括:冗余列調(diào)用單元,用于調(diào)用一個(gè)冗余列并判斷所述冗余列是否是正常列,若所述冗余列為壞列,則返回并調(diào)用下一個(gè)冗余列;若所述冗余列為正常列,則通過(guò)該冗余列替換所述壞列,并將所述壞列的地址記錄在與該冗余列對(duì)應(yīng)的標(biāo)記鎖存器中;壞列個(gè)數(shù)統(tǒng)計(jì)單元,用于當(dāng)所述存儲(chǔ)區(qū)塊中的全部壞列替換完成后,統(tǒng)計(jì)所述壞列的個(gè)數(shù)。
[0011 ]進(jìn)一步的,所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)獲取模塊包括:存儲(chǔ)數(shù)據(jù)寫入單元,用于上電結(jié)束后,向所述存儲(chǔ)區(qū)塊中寫入數(shù)據(jù);錯(cuò)誤信息統(tǒng)計(jì)單元,用于對(duì)所述存儲(chǔ)區(qū)塊進(jìn)行錯(cuò)誤數(shù)據(jù)掃描,以得出所述存儲(chǔ)區(qū)塊中的錯(cuò)誤信息個(gè)數(shù);錯(cuò)誤數(shù)據(jù)個(gè)數(shù)獲取單元,用于計(jì)算所述錯(cuò)誤信息個(gè)數(shù)與所述壞列個(gè)數(shù)的差值,以得到所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。
[0012]進(jìn)一步的,該裝置還包括:錯(cuò)誤數(shù)據(jù)判斷模塊,用于在所述計(jì)算所述錯(cuò)誤信息個(gè)數(shù)與所述壞列個(gè)數(shù)的差值,以得到所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)之后,判斷所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)是否超出預(yù)設(shè)個(gè)數(shù)閾值,若未超出,則寫入數(shù)據(jù)操作完成;若超出,則返回重新將數(shù)據(jù)寫入所述存儲(chǔ)區(qū)塊中。
[0013]第二方面,本實(shí)用新型實(shí)施例還提供了一種與非型閃存,包括:至少一個(gè)存儲(chǔ)區(qū)塊,與所述存儲(chǔ)區(qū)塊中的冗余列一一對(duì)應(yīng)設(shè)置的標(biāo)記鎖存器,以及本實(shí)用新型實(shí)施例任一所述的與非型閃存中壞列的處理裝置。
[0014]本實(shí)用新型實(shí)施例提供的與非型閃存中壞列處理的技術(shù)方案,通過(guò)壞列掃描模塊和壞列個(gè)數(shù)統(tǒng)計(jì)模塊掃描與非型閃存中存儲(chǔ)區(qū)塊的壞列并記錄壞列的個(gè)數(shù),通過(guò)錯(cuò)誤數(shù)據(jù)個(gè)數(shù)獲取模塊掃描寫入數(shù)據(jù)后存儲(chǔ)區(qū)塊中的錯(cuò)誤信息個(gè)數(shù),根據(jù)錯(cuò)誤信息個(gè)數(shù)和壞列個(gè)數(shù)得到該存儲(chǔ)區(qū)塊中的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。本實(shí)用新型實(shí)施例通過(guò)采用上述技術(shù)方案,通過(guò)標(biāo)記鎖存器記錄壞列信息,可以大大減少標(biāo)記鎖存器的個(gè)數(shù),從而可以有效地減小標(biāo)記鎖存器所占的面積;與現(xiàn)有技術(shù)相比,不再需要將標(biāo)記鎖存器設(shè)置成橫跨整個(gè)存儲(chǔ)陣列的形狀,標(biāo)記鎖存器的位置布局可以根據(jù)電路板的布局自由設(shè)置,能夠降低與非型閃存電路板排版布局的難度,有利于電路板的合理設(shè)計(jì)。
【附圖說(shuō)明】
[0015]通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本實(shí)用新型的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
[0016]圖1為現(xiàn)有技術(shù)中NANDFLASH的標(biāo)記鎖存器示意圖;
[0017]圖2為現(xiàn)有技術(shù)中NAND FLASH的冗余列示意圖;
[0018]圖3為本實(shí)用新型實(shí)施例一提供的一種與非型閃存中壞列的處理方法的流程示意圖;
[0019]圖4為本實(shí)用新型實(shí)施例二提供的一種與非型閃存中壞列的處理方法的流程示意圖;
[0020]圖5為本實(shí)用新型實(shí)施例三提供的一種與非型閃存中壞列的處理裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0021]下面結(jié)合附圖和實(shí)施例對(duì)本實(shí)用新型作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本實(shí)用新型,而非對(duì)本實(shí)用新型的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與本實(shí)用新型相關(guān)的部分而非全部?jī)?nèi)容。
[0022]實(shí)施例一
[0023]本實(shí)用新型實(shí)施例一提供一種與非型閃存中壞列的處理方法,該方法可以由與非型閃存中壞列的處理裝置執(zhí)行,其中該裝置可由軟件和/或硬件實(shí)現(xiàn),一般可集成在與非型閃存中。圖3是本實(shí)用新型實(shí)施例一的與非型閃存中壞列的處理方法的流程示意圖。如圖3所示,該方法包括:
[0024]S110、掃描所述與非型閃存的存儲(chǔ)區(qū)塊,并掃描出所述存儲(chǔ)區(qū)塊中的壞列。
[0025]在本實(shí)施例中與非型閃存為NAND FLASH,NOR FLASH或其他類型的與非型閃存。在此優(yōu)選與非型閃存為NAND FLASH。
[0026]在此存儲(chǔ)區(qū)塊中設(shè)置有至少一個(gè)標(biāo)記鎖存器。對(duì)存儲(chǔ)區(qū)塊進(jìn)行掃描后可確定存儲(chǔ)區(qū)塊中的壞列和正常列,并可獲取到壞列的信息,在此壞列信息至少包括壞列的個(gè)數(shù)、壞列的地址等。對(duì)于掃描出的一個(gè)壞列,可將該壞列地址存儲(chǔ)在一個(gè)標(biāo)記鎖存器中以便于后續(xù)進(jìn)行數(shù)據(jù)存儲(chǔ)和寫入,優(yōu)選一個(gè)標(biāo)記鎖存器中存儲(chǔ)一個(gè)壞列地址。對(duì)于掃描出的壞列個(gè)數(shù),可將該壞列個(gè)數(shù)存儲(chǔ)在一個(gè)標(biāo)記鎖存器中,優(yōu)選一個(gè)存儲(chǔ)區(qū)塊中的壞列個(gè)數(shù)存儲(chǔ)在一個(gè)標(biāo)記鎖存器中。需要說(shuō)明的是,還可將壞列個(gè)數(shù)存儲(chǔ)在計(jì)數(shù)器中,在掃描存儲(chǔ)區(qū)塊壞列的過(guò)程中,如果掃描發(fā)現(xiàn)存儲(chǔ)區(qū)塊當(dāng)中的某一列為壞列,可以將計(jì)數(shù)器計(jì)數(shù)加1,以此類推,直至存儲(chǔ)區(qū)塊掃描完成。
[0027]示例性的,掃描與非型閃存存儲(chǔ)區(qū)塊中的壞列時(shí),可以按照存儲(chǔ)陣列地址從小到大、從低到尚的順序進(jìn)彳丁掃描。
[0028]S120、通過(guò)所述存儲(chǔ)區(qū)塊中的冗余列替換所述壞列并將所述壞列的地址記錄在與該冗余列對(duì)應(yīng)的標(biāo)記鎖存器中,記錄所述壞列個(gè)數(shù)。
[0029]在與非型閃存的存儲(chǔ)區(qū)塊中,除了用戶可以訪問(wèn)到的存儲(chǔ)資源外,一般還配備有冗余列,冗余列被用于替換存儲(chǔ)區(qū)塊中的壞列,在本實(shí)用新型實(shí)施例中,標(biāo)記鎖存器與冗余列一一對(duì)應(yīng)設(shè)置,即某冗余列所替換的壞列的地址會(huì)存儲(chǔ)到與該冗余列所對(duì)應(yīng)的標(biāo)記鎖存器中。需要說(shuō)明的是,若存儲(chǔ)區(qū)塊中采用標(biāo)記鎖存器存儲(chǔ)壞列個(gè)數(shù),則存儲(chǔ)區(qū)塊中除了與冗余列一一對(duì)應(yīng)的存儲(chǔ)地址的標(biāo)記鎖存器,還包括一個(gè)存儲(chǔ)壞列個(gè)數(shù)的標(biāo)記鎖存器。
[0030]相應(yīng)的,當(dāng)壞列被冗余列替換后,壞列中的數(shù)據(jù)實(shí)際存儲(chǔ)在冗余列中,那么讀取訪問(wèn)列的數(shù)據(jù)時(shí),先判斷該訪問(wèn)列是否為壞列,若該訪問(wèn)列為壞列,則可以將訪問(wèn)列地址與多個(gè)標(biāo)記鎖存器中存儲(chǔ)的壞列地址進(jìn)行比較,從而找到地址一致的標(biāo)記鎖存器以及與該標(biāo)記鎖存器對(duì)應(yīng)的冗余列,然后讀取該冗余列中存儲(chǔ)的數(shù)據(jù),即完成對(duì)該訪問(wèn)列數(shù)據(jù)讀取的過(guò)程。
[0031]S130、掃描寫入數(shù)據(jù)后的所述存儲(chǔ)區(qū)塊并得出所述存儲(chǔ)區(qū)塊的錯(cuò)誤信息個(gè)數(shù),根據(jù)所述錯(cuò)誤信息個(gè)數(shù)和所述壞列個(gè)數(shù)得出所述存儲(chǔ)區(qū)塊的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。
[0032]如上所述,向與非型閃存的存儲(chǔ)區(qū)塊中寫入數(shù)據(jù)時(shí),若所述寫入數(shù)據(jù)的地址所對(duì)應(yīng)的存儲(chǔ)列為壞列,可以通過(guò)將該列所需存儲(chǔ)的數(shù)據(jù)存儲(chǔ)到存儲(chǔ)區(qū)塊的冗余列中,從而達(dá)到用該冗余列替換所述壞列的效果。由于在寫入數(shù)據(jù)時(shí)可能出現(xiàn)數(shù)據(jù)寫入錯(cuò)誤的情況,因此,在寫入數(shù)據(jù)完成后,應(yīng)檢驗(yàn)存儲(chǔ)區(qū)塊中的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)是否超過(guò)預(yù)設(shè)錯(cuò)誤個(gè)數(shù)。若錯(cuò)誤數(shù)據(jù)個(gè)數(shù)超過(guò)預(yù)設(shè)個(gè)數(shù),則需重新寫入數(shù)據(jù)以降低存儲(chǔ)區(qū)塊中的錯(cuò)誤數(shù)據(jù)個(gè)數(shù),從而保證存儲(chǔ)區(qū)塊中存儲(chǔ)的數(shù)據(jù)能夠正常讀取。
[0033]示例性的,確定存儲(chǔ)區(qū)塊中的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)的具體過(guò)程為:首先對(duì)存儲(chǔ)區(qū)塊做掃描,以得到存儲(chǔ)區(qū)塊中存在問(wèn)題的存儲(chǔ)列的個(gè)數(shù),即錯(cuò)誤信息個(gè)數(shù),其中,錯(cuò)誤信息既包括存儲(chǔ)區(qū)塊中的壞列,也包括存儲(chǔ)區(qū)塊正常列中數(shù)據(jù)寫入錯(cuò)誤的部分。然后將存儲(chǔ)區(qū)塊中的錯(cuò)誤信息個(gè)數(shù)與上電時(shí)掃描得到的壞列個(gè)數(shù)相減即可得到存儲(chǔ)區(qū)塊中的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。
[0034]本實(shí)用新型實(shí)施例一提供的與非型閃存中壞列的處理方法,將標(biāo)記鎖存器與冗余列一一對(duì)應(yīng)設(shè)置,上電時(shí)掃描并記錄與非型閃存存儲(chǔ)區(qū)塊中的壞列個(gè)數(shù),數(shù)據(jù)寫入完成后重新掃描存儲(chǔ)陣列中的壞信息個(gè)數(shù),根據(jù)掃描得到的壞信息個(gè)數(shù)與壞列個(gè)數(shù)得到存儲(chǔ)區(qū)塊中的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。本實(shí)用新型實(shí)施例通過(guò)采用上述技術(shù)方案,不但可以保證存儲(chǔ)區(qū)塊的掃描速度,還可以大大的減少與非型閃存存儲(chǔ)區(qū)塊中的標(biāo)記鎖存器個(gè)數(shù),從而有效的減小標(biāo)記鎖存器的面積消耗。此外,與現(xiàn)有技術(shù)相比,不再需要將標(biāo)記鎖存器設(shè)置成橫跨整個(gè)存儲(chǔ)陣列的形狀,標(biāo)記鎖存器的位置布局可以根據(jù)電路板的布局自由設(shè)置,能夠降低與非型閃存電路板排版布局的難度,有利于電路板的合理設(shè)計(jì)。
[0035]實(shí)施例二
[0036]圖4為本實(shí)用新型實(shí)施例二提供的一種與非型閃存中壞列的處理方法的流程示意圖,本實(shí)施例以上述實(shí)施例為基礎(chǔ)進(jìn)行優(yōu)化。
[0037]進(jìn)一步的,通過(guò)所述存儲(chǔ)區(qū)塊中的冗余列替換所述壞列,并將所述壞列的地址記錄在與該冗余列對(duì)應(yīng)的標(biāo)記鎖存器中,記錄所述壞列個(gè)數(shù),具體包括:若所述冗余列為壞列,則返回并調(diào)用下一個(gè)冗余列;若所述冗余列為正常列,則通過(guò)該冗余列替換所述壞列,并將所述壞列的地址記錄在與該冗余列對(duì)應(yīng)的標(biāo)記鎖存器中;當(dāng)所述存儲(chǔ)區(qū)塊中的全部壞列替換完成后,統(tǒng)計(jì)所述壞列的個(gè)數(shù)。
[0038]進(jìn)一步的,所述掃描寫入數(shù)據(jù)后的所述存儲(chǔ)區(qū)塊并將掃描出的所述存儲(chǔ)區(qū)塊的錯(cuò)誤信息個(gè)數(shù),根據(jù)所述錯(cuò)誤信息個(gè)數(shù)和所述壞列個(gè)數(shù)得出所述存儲(chǔ)區(qū)塊的錯(cuò)誤數(shù)據(jù)個(gè)數(shù),具體包括:上電結(jié)束后,向所述存儲(chǔ)區(qū)塊中寫入數(shù)據(jù);對(duì)所述存儲(chǔ)區(qū)塊進(jìn)行錯(cuò)誤數(shù)據(jù)掃描,以得出所述存儲(chǔ)區(qū)塊中的錯(cuò)誤信息個(gè)數(shù);計(jì)算所述錯(cuò)誤信息個(gè)數(shù)與所述壞列個(gè)數(shù)的差值,以得到所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。
[0039]進(jìn)一步的,在所述計(jì)算所述錯(cuò)誤信息個(gè)數(shù)與所述壞列個(gè)數(shù)的差值,以得到所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)之后,還包括:判斷所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)是否超出預(yù)設(shè)個(gè)數(shù)閾值;若未超出,則寫入數(shù)據(jù)操作完成;若超出,則返回重新將數(shù)據(jù)寫入所述存儲(chǔ)區(qū)塊中。
[0040]相應(yīng)的,如圖4所示,本實(shí)施例的方法包括如下步驟:
[0041]S210、掃描所述與非型閃存的存儲(chǔ)區(qū)塊,并掃描出所述存儲(chǔ)區(qū)塊中的壞列。
[0042]S220、調(diào)用一個(gè)冗余列并判斷所述冗余列是否是正常列,若所述冗余列為壞列,則返回并調(diào)用下一個(gè)冗余列;若所述冗余列為正常列,則通過(guò)該冗余列替換所述壞列,并將所述壞列的地址記錄在與該冗余列對(duì)應(yīng)的標(biāo)記鎖存器中。
[0043]優(yōu)選的,存儲(chǔ)區(qū)塊中的標(biāo)記鎖存器可以與存儲(chǔ)區(qū)塊中的冗余列一一對(duì)應(yīng)設(shè)置。替換存儲(chǔ)區(qū)塊中某一未被替換的壞列時(shí),首先需調(diào)用某一冗余列,然后判斷該冗余列是否為正常列;若該冗余列為正常列,則通過(guò)該冗余列替換該壞列,并將該壞列的地址寫入與該冗余列相對(duì)應(yīng)的標(biāo)記鎖存器中;若該冗余列為壞列,則調(diào)用下一個(gè)冗余列并判斷其是否為正常列,直至該壞列被冗余列替換為止;然后再繼續(xù)掃描并替換下一壞列,直至所有壞列被冗余列替換。
[0044]需要說(shuō)明的是,若存儲(chǔ)區(qū)塊中的冗余列全部替換壞列后,存儲(chǔ)區(qū)塊中仍存在未被替換的壞列,則可以為存儲(chǔ)區(qū)塊分配另外的冗余列以及與冗余列對(duì)應(yīng)的標(biāo)記鎖存器,并調(diào)用新分配的冗余列替換存儲(chǔ)區(qū)塊中未被替換的壞列,直至存儲(chǔ)區(qū)塊中所有壞列被冗余列替換。
[0045]S230、當(dāng)所述存儲(chǔ)區(qū)塊中的全部壞列替換完成后,統(tǒng)計(jì)所述壞列的個(gè)數(shù)。
[0046]在此可選設(shè)置一個(gè)標(biāo)記鎖存器記錄該存儲(chǔ)區(qū)塊中的壞列總個(gè)數(shù),該標(biāo)記鎖存器不與冗余列對(duì)應(yīng)。還可選設(shè)置一個(gè)計(jì)數(shù)器統(tǒng)計(jì)并記錄存儲(chǔ)區(qū)塊中的壞列總個(gè)數(shù)。
[0047]S240、上電結(jié)束后,向所述存儲(chǔ)區(qū)塊中寫入數(shù)據(jù)。
[0048]優(yōu)選的,向與非型閃存的存儲(chǔ)區(qū)塊中寫入數(shù)據(jù)時(shí),可以以頁(yè)為單位進(jìn)行數(shù)據(jù)的寫入,在此數(shù)據(jù)寫入存儲(chǔ)區(qū)塊的正常列和替換了壞列的冗余列中。
[0049]S250、對(duì)所述存儲(chǔ)區(qū)塊進(jìn)行錯(cuò)誤數(shù)據(jù)掃描,以得出所述存儲(chǔ)區(qū)塊中的錯(cuò)誤信息個(gè)數(shù)。
[0050]在此對(duì)存儲(chǔ)區(qū)塊進(jìn)行錯(cuò)誤數(shù)據(jù)掃描是指對(duì)存儲(chǔ)區(qū)塊的所有列以及替換了壞列的冗余列進(jìn)行掃描,得出了錯(cuò)誤信息的總個(gè)數(shù),該錯(cuò)誤信息個(gè)數(shù)可以記錄在用于記錄壞列個(gè)數(shù)的標(biāo)記鎖存器中,或用于記錄壞列個(gè)數(shù)的計(jì)數(shù)器中。
[0051 ] S260、計(jì)算所述錯(cuò)誤信息個(gè)數(shù)與所述壞列個(gè)數(shù)的差值,以得到所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。
[0052]S270、判斷所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)是否超出預(yù)設(shè)個(gè)數(shù)閾值,若未超出,則寫入數(shù)據(jù)操作完成;若超出,則返回重新將數(shù)據(jù)寫入所述存儲(chǔ)區(qū)塊中。
[0053]與非型閃存使用時(shí),一般配備有用于檢查和糾正與非型閃存存儲(chǔ)區(qū)塊中存在的錯(cuò)誤數(shù)據(jù)的糾錯(cuò)設(shè)備,常見(jiàn)的糾錯(cuò)技術(shù)有奇偶校驗(yàn)位(Parity)以及錯(cuò)誤檢查和糾正(ECC,Error Correcting Code)技術(shù)。在本實(shí)施例中可以選用ECC來(lái)檢查并糾正與非型閃存存儲(chǔ)區(qū)塊中存在的錯(cuò)誤數(shù)據(jù)。
[0054]ECC雖然可以用來(lái)檢查并糾正與非型閃存中存在的錯(cuò)誤數(shù)據(jù),但是ECC的糾錯(cuò)能力是有一定的限制的,當(dāng)與非型閃存中的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)超過(guò)ECC的糾錯(cuò)能力時(shí),ECC則沒(méi)有辦法再對(duì)其進(jìn)行糾錯(cuò),此時(shí)就會(huì)出現(xiàn)系統(tǒng)因?yàn)榕c非型閃存中的錯(cuò)誤數(shù)據(jù)而沒(méi)有辦法繼續(xù)讀取的情況。因此,優(yōu)選的,所述預(yù)設(shè)個(gè)數(shù)閾值指的是該與非型閃存配備的ECC的糾錯(cuò)能力。例如,若ECC最多只能糾正5個(gè)錯(cuò)誤數(shù)據(jù),那么與非型閃存存儲(chǔ)區(qū)塊中的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)應(yīng)不超過(guò)5個(gè),而如果寫入數(shù)據(jù)完成后檢測(cè)發(fā)現(xiàn)其存儲(chǔ)區(qū)塊中的錯(cuò)誤數(shù)據(jù)多于5個(gè),就需要重新進(jìn)行數(shù)據(jù)的寫入直至其錯(cuò)誤數(shù)個(gè)數(shù)小于或等于5個(gè)。
[0055]本實(shí)用新型實(shí)施例二提供的與非型閃存中壞列的處理方法,將標(biāo)記鎖存器與冗余列一一對(duì)應(yīng)設(shè)置,使用時(shí),首先對(duì)與非型閃存進(jìn)行壞列掃描并記錄其存儲(chǔ)區(qū)塊中存在的壞列個(gè)數(shù),然后寫入數(shù)據(jù),數(shù)據(jù)寫入完成后重新對(duì)其進(jìn)行錯(cuò)誤數(shù)據(jù)掃描以得到存儲(chǔ)區(qū)塊中的錯(cuò)誤信息個(gè)數(shù),最后將錯(cuò)誤信息個(gè)數(shù)與壞列個(gè)數(shù)相減得到存儲(chǔ)區(qū)塊中的錯(cuò)誤數(shù)據(jù)個(gè)數(shù),并判斷錯(cuò)誤數(shù)據(jù)個(gè)數(shù)是否超過(guò)該與非型閃存配備的ECC的糾錯(cuò)能力,若未超過(guò),則數(shù)據(jù)寫入完成;若錯(cuò)誤數(shù)據(jù)個(gè)數(shù)超過(guò)了ECC的糾錯(cuò)能力,則需重新寫入數(shù)據(jù)。本實(shí)用新型實(shí)施例通過(guò)采用上述技術(shù)方案,不但可以保證存儲(chǔ)區(qū)塊的掃描速度,還可以大大的減少與非型閃存存儲(chǔ)區(qū)塊中的標(biāo)記鎖存器個(gè)數(shù),從而可以有效的減小標(biāo)記鎖存器的面積消耗。此外,通過(guò)采用上述技術(shù)方案,標(biāo)記鎖存器所占空間不再是橫跨整個(gè)存儲(chǔ)陣列的面積,標(biāo)記鎖存器的位置布局可以根據(jù)電路板的布局自由設(shè)置,能夠降低與非型閃存電路板排版布局的難度,有利于電路板的合理設(shè)計(jì)。
[0056]實(shí)施例三
[0057]圖5為本實(shí)用新型實(shí)施例三提供的一種與非型閃存中壞列的處理裝置的結(jié)構(gòu)框圖,該裝置可由軟件和/或硬件時(shí)間,一般集成在與非型閃存中,可通過(guò)執(zhí)行上述任意實(shí)施例所述的與非型閃存中壞列處理方法來(lái)實(shí)現(xiàn)與非型閃存中壞列的處理。如圖5所示,該裝置包括:
[0058]壞列掃描模塊310,用于掃描所述與非型閃存的存儲(chǔ)區(qū)塊,并掃描出所述存儲(chǔ)區(qū)塊中的壞列;
[0059]壞列個(gè)數(shù)統(tǒng)計(jì)模塊320,用于通過(guò)所述存儲(chǔ)區(qū)塊中的冗余列替換所述壞列并將所述壞列的地址記錄在與該冗余列對(duì)應(yīng)的標(biāo)記鎖存器中,記錄所述壞列個(gè)數(shù);
[0060]錯(cuò)誤數(shù)據(jù)個(gè)數(shù)獲取模塊330,用于掃描寫入數(shù)據(jù)后的所述存儲(chǔ)區(qū)塊并得出所述存儲(chǔ)區(qū)塊的錯(cuò)誤信息個(gè)數(shù),根據(jù)所述錯(cuò)誤信息個(gè)數(shù)和所述壞列個(gè)數(shù)得出所述存儲(chǔ)區(qū)塊的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。
[0061]進(jìn)一步的,所述壞列掃描模塊310包括:冗余列調(diào)用單元,用于調(diào)用一個(gè)冗余列并判斷所述冗余列是否是正常列,若所述冗余列為壞列,則返回并調(diào)用下一個(gè)冗余列;若所述冗余列為正常列,則通過(guò)該冗余列替換所述壞列,并將所述壞列的地址記錄在與該冗余列對(duì)應(yīng)的標(biāo)記鎖存器中;壞列個(gè)數(shù)統(tǒng)計(jì)單元,用于在當(dāng)所述存儲(chǔ)區(qū)塊中的全部壞列替換完成后,統(tǒng)計(jì)所述壞列的個(gè)數(shù)。
[0062]進(jìn)一步的,所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)獲取模塊330包括:存儲(chǔ)數(shù)據(jù)寫入單元,用于上電結(jié)束后,向所述存儲(chǔ)區(qū)塊中寫入數(shù)據(jù);錯(cuò)誤信息統(tǒng)計(jì)單元,用于對(duì)所述存儲(chǔ)區(qū)塊進(jìn)行錯(cuò)誤數(shù)據(jù)掃描,以得出所述存儲(chǔ)區(qū)塊中的錯(cuò)誤信息個(gè)數(shù);錯(cuò)誤數(shù)據(jù)個(gè)數(shù)獲取單元,用于計(jì)算所述錯(cuò)誤信息個(gè)數(shù)與所述壞列個(gè)數(shù)的差值,以得到所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。
[0063]進(jìn)一步的,本實(shí)用新型實(shí)施例提供的與非型閃存中壞列的處理裝置還包括:錯(cuò)誤數(shù)據(jù)判斷模塊,用于在所述計(jì)算所述錯(cuò)誤信息個(gè)數(shù)與所述壞列個(gè)數(shù)的差值,以得到所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)之后,判斷所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)是否超出預(yù)設(shè)個(gè)數(shù)閾值,若未超出,則寫入數(shù)據(jù)操作完成;若超出,則返回重新將數(shù)據(jù)寫入所述存儲(chǔ)區(qū)塊中。
[0064]本實(shí)用新型實(shí)施例三提供的與非型閃存中壞列的處理裝置可用于執(zhí)行本實(shí)用新型任意實(shí)施例所提供的與非型閃存中壞列的處理方法,具備執(zhí)行與非型閃存中壞列的處理方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參加本實(shí)用新型任意實(shí)施例所提供的與非型閃存中壞列的處理方法。
[0065]實(shí)施例四
[0066]本實(shí)用新型實(shí)施例四提供一種與非型閃存,該閃存包括:至少一個(gè)存儲(chǔ)區(qū)塊,與所述存儲(chǔ)區(qū)塊中的冗余列一一對(duì)應(yīng)設(shè)置的標(biāo)記鎖存器,以及本實(shí)用新型任意實(shí)施例所述的與非型閃存中壞列處理裝置,可通過(guò)執(zhí)行本實(shí)用新型任意實(shí)施例所述的與非型閃存中壞列的處理方法來(lái)實(shí)現(xiàn)與非型閃存中壞列的處理。
[0067]本實(shí)用新型實(shí)施例中,與非型閃存中的每個(gè)冗余列都配備有與其一一對(duì)應(yīng)的標(biāo)記鎖存器,當(dāng)某冗余列被用于替換壞列時(shí),與其對(duì)應(yīng)的標(biāo)記鎖存器用于存儲(chǔ)該冗余列替換的壞列的地址。需要說(shuō)明的是,該與非型閃存中還包括至少一個(gè)用于計(jì)數(shù)的計(jì)數(shù)器或用于計(jì)數(shù)的標(biāo)記鎖存器,以記錄壞列個(gè)數(shù)、錯(cuò)誤信息個(gè)數(shù)、錯(cuò)誤數(shù)據(jù)個(gè)數(shù)等等。
[0068]本實(shí)用新型實(shí)施例提出的與非型閃存存儲(chǔ)數(shù)據(jù)的過(guò)程可以為:對(duì)與非型閃存進(jìn)行數(shù)據(jù)掃描得到其壞列地址和個(gè)數(shù);調(diào)用存儲(chǔ)區(qū)塊中的冗余列替換掃描到的壞列并將壞列地址存儲(chǔ)到與其替換冗余列對(duì)應(yīng)的標(biāo)記鎖存器中;向與非型閃存的存儲(chǔ)區(qū)塊中寫入數(shù)據(jù);數(shù)據(jù)寫入完成后對(duì)與非型閃存進(jìn)行錯(cuò)誤信息掃描并記錄掃描出的錯(cuò)誤信息個(gè)數(shù);將錯(cuò)誤信息個(gè)數(shù)與壞列個(gè)數(shù)相減得到存儲(chǔ)區(qū)塊中的錯(cuò)誤數(shù)據(jù)個(gè)數(shù);判斷錯(cuò)誤數(shù)據(jù)個(gè)數(shù)是否超過(guò)ECC的糾錯(cuò)能力,若超過(guò),則重新寫入數(shù)據(jù);否則,數(shù)據(jù)存儲(chǔ)完成。
[0069]相應(yīng)的,本實(shí)用新型實(shí)施例提出的與非型閃存讀取數(shù)據(jù)的過(guò)程可以為:獲取用戶的數(shù)據(jù)訪問(wèn)列地址;將訪問(wèn)列地址與標(biāo)記鎖存器中存儲(chǔ)的壞列地址進(jìn)行比較,若訪問(wèn)列地址與某標(biāo)記鎖存器中存儲(chǔ)的壞列地址相等,則判定該訪問(wèn)列為壞列,調(diào)用該標(biāo)記鎖存器對(duì)應(yīng)的冗余列進(jìn)行數(shù)據(jù)讀取,若訪問(wèn)列地址與所有標(biāo)記鎖存器中的地址都不相等,則判定該訪問(wèn)列為正常列,調(diào)用與該訪問(wèn)列地址對(duì)應(yīng)的存儲(chǔ)列進(jìn)行數(shù)據(jù)的讀取;接收用戶的下一訪問(wèn)列地址,若接收成功,則將接收到的下一訪問(wèn)列地址作為當(dāng)前訪問(wèn)列地址并重復(fù)上述步驟,若接收失敗,則數(shù)據(jù)訪問(wèn)過(guò)程完成。
[0070]本實(shí)用新型實(shí)施例提供的與非型閃存,通過(guò)將標(biāo)記鎖存器與與非型閃存中的冗余列一一對(duì)應(yīng)設(shè)置,不但可以保證存儲(chǔ)區(qū)塊的數(shù)據(jù)存儲(chǔ)與讀取速度,還可以大大的減少與非型閃存存儲(chǔ)區(qū)塊中的標(biāo)記鎖存器個(gè)數(shù),從而可以有效的減小標(biāo)記鎖存器的面積消耗。此外,與現(xiàn)有技術(shù)相比,不再需要將標(biāo)記鎖存器設(shè)置成橫跨整個(gè)存儲(chǔ)陣列的形狀,標(biāo)記鎖存器的位置布局可以根據(jù)電路板的布局自由設(shè)置,能夠降低與非型閃存電路板排版布局的難度,有利于電路板的合理設(shè)計(jì)。
[0071]注意,上述僅為本實(shí)用新型的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本實(shí)用新型不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本實(shí)用新型的保護(hù)范圍。因此,雖然通過(guò)以上實(shí)施例對(duì)本實(shí)用新型進(jìn)行了較為詳細(xì)的說(shuō)明,但是本實(shí)用新型不僅僅限于以上實(shí)施例,在不脫離本實(shí)用新型構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本實(shí)用新型的范圍由所附的權(quán)利要求范圍決定。
【主權(quán)項(xiàng)】
1.一種與非型閃存中壞列的處理裝置,其特征在于,包括: 壞列掃描模塊,用于掃描所述與非型閃存的存儲(chǔ)區(qū)塊,并掃描出所述存儲(chǔ)區(qū)塊中的壞列; 壞列個(gè)數(shù)統(tǒng)計(jì)模塊,用于通過(guò)所述存儲(chǔ)區(qū)塊中的冗余列替換所述壞列并將所述壞列的地址記錄在與該冗余列對(duì)應(yīng)的標(biāo)記鎖存器中,記錄所述壞列個(gè)數(shù); 錯(cuò)誤數(shù)據(jù)個(gè)數(shù)獲取模塊,用于掃描寫入數(shù)據(jù)后的所述存儲(chǔ)區(qū)塊并得出所述存儲(chǔ)區(qū)塊的錯(cuò)誤信息個(gè)數(shù),根據(jù)所述錯(cuò)誤信息個(gè)數(shù)和所述壞列個(gè)數(shù)得出所述存儲(chǔ)區(qū)塊的錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述壞列個(gè)數(shù)統(tǒng)計(jì)模塊包括: 冗余列調(diào)用單元,用于調(diào)用一個(gè)冗余列并判斷所述冗余列是否是正常列,若所述冗余列為壞列,則返回并調(diào)用下一個(gè)冗余列;若所述冗余列為正常列,則通過(guò)該冗余列替換所述壞列,并將所述壞列的地址記錄在與該冗余列對(duì)應(yīng)的標(biāo)記鎖存器中; 壞列個(gè)數(shù)統(tǒng)計(jì)單元,用于在當(dāng)所述存儲(chǔ)區(qū)塊中的全部壞列替換完成后,統(tǒng)計(jì)所述壞列的個(gè)數(shù)。3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)獲取模塊包括: 存儲(chǔ)數(shù)據(jù)寫入單元,用于上電結(jié)束后,向所述存儲(chǔ)區(qū)塊中寫入數(shù)據(jù); 錯(cuò)誤信息統(tǒng)計(jì)單元,用于對(duì)所述存儲(chǔ)區(qū)塊進(jìn)行錯(cuò)誤數(shù)據(jù)掃描,以得出所述存儲(chǔ)區(qū)塊中的錯(cuò)誤信息個(gè)數(shù); 錯(cuò)誤數(shù)據(jù)個(gè)數(shù)獲取單元,用于計(jì)算所述錯(cuò)誤信息個(gè)數(shù)與所述壞列個(gè)數(shù)的差值,以得到所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)。4.根據(jù)權(quán)利要求3所述的裝置,其特征在于,還包括: 錯(cuò)誤數(shù)據(jù)判斷模塊,用于在所述計(jì)算所述錯(cuò)誤信息個(gè)數(shù)與所述壞列個(gè)數(shù)的差值,以得到所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)之后,判斷所述錯(cuò)誤數(shù)據(jù)個(gè)數(shù)是否超出預(yù)設(shè)個(gè)數(shù)閾值,若未超出,則寫入數(shù)據(jù)操作完成;若超出,則返回重新將數(shù)據(jù)寫入所述存儲(chǔ)區(qū)塊中。5.—種與非型閃存,其特征在于,包括:至少一個(gè)存儲(chǔ)區(qū)塊,與所述存儲(chǔ)區(qū)塊中的冗余列一一對(duì)應(yīng)設(shè)置的標(biāo)記鎖存器,以及如權(quán)利要求1-4任一項(xiàng)所述的壞列處理裝置。
【文檔編號(hào)】G11C29/24GK205541960SQ201521138836
【公開(kāi)日】2016年8月31日
【申請(qǐng)日】2015年12月31日
【發(fā)明人】劉會(huì)娟
【申請(qǐng)人】北京兆易創(chuàng)新科技股份有限公司