用于一非易失性存儲器陣列的標(biāo)記方法
【專利說明】用于一非易失性存儲器陣列的標(biāo)記方法
[0001]本申請是以下專利申請的分案申請:申請?zhí)?201010272997.8,申請日:2010年09
月06日,發(fā)明名稱:用于一非易失性存儲器陣列的標(biāo)記方法及初始化方法。
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及一種標(biāo)記方法,特別涉及一種用于一非易失性存儲器的標(biāo)記方法。
【背景技術(shù)】
[0003]一般而言,非易失性存儲器陣列(non-volatile memory array)是由多個區(qū)塊(block)所組成,每個區(qū)塊分別包含多個分頁(page),每個分頁又分別包含多個字節(jié)(byte)。
[0004]現(xiàn)有的存儲器陣列是以分頁作為數(shù)據(jù)寫入的單位,而以區(qū)塊為數(shù)據(jù)擦除的單位。也就是指,一個區(qū)塊的每一分頁可分別寫入一筆數(shù)據(jù),但如果其中一分頁的數(shù)據(jù)要擦除時,該區(qū)塊的其他分頁的數(shù)據(jù)需一起被擦除。因此,區(qū)塊的某一分頁為異常(無法正常存取)時,將造成該區(qū)塊無法進(jìn)行數(shù)據(jù)擦除,該區(qū)塊也就不應(yīng)被使用,以免發(fā)生數(shù)據(jù)讀取錯誤或消失等冋題。
[0005]通常一存儲器陣列在制造端(例如一晶片廠)中制造完后,即會利用一測試裝置來測試或掃瞄該存儲器陣列,當(dāng)發(fā)現(xiàn)一區(qū)塊中部分分頁或字節(jié)異常時,該區(qū)塊會被寫入一損壞標(biāo)記(bad mark)。測試完后,若正常的區(qū)塊比例高于客戶要求,例如客戶對于良品的定義為正常區(qū)塊比例為90%以上,而該存儲器陣列的正常區(qū)塊高達(dá)95%,則制造端便可將其列為良品,而將存儲器陣列出貨給應(yīng)用端(或是其他使用者端)。應(yīng)用端接著會將該存儲器陣列與一控制器(或是其他固件)相連接??刂破鲿呙榧白x取哪些區(qū)塊有損壞標(biāo)記,以判斷哪些區(qū)塊不應(yīng)使用,此動作稱為初始化。
[0006]然而,『對異常的區(qū)塊寫入損壞標(biāo)記』至少具有以下缺失:
[0007]1.現(xiàn)有的檢測方式為,若局部分頁或字節(jié)損壞,將判斷整體區(qū)塊為異常,并對其寫入損壞標(biāo)記。由于區(qū)塊整體被判斷為異常并予以舍棄,將使得區(qū)塊內(nèi)其他可正常存取的分頁或字節(jié)亦無法被使用。如此一來,可能使得存儲器陣列無法符合良品的標(biāo)準(zhǔn);即使存儲器陣列最后仍被判斷為符合標(biāo)準(zhǔn),亦將因?yàn)樯釛壠渌烧4嫒〉姆猪摶蜃止?jié),導(dǎo)致使用率偏低。
[0008]2.當(dāng)區(qū)塊被判斷為異常而需寫入損壞標(biāo)記時,可能會因?yàn)閷懭霌p壞標(biāo)記的字節(jié),恰巧為異常的字節(jié),導(dǎo)致該寫入動作失效。因此,當(dāng)控制器首次存取該被判定異常的區(qū)塊時,因?yàn)闊o法讀取損壞標(biāo)記,反而誤判該區(qū)塊為正常。
[0009]3.若儲存損壞標(biāo)記的字節(jié)發(fā)生數(shù)據(jù)損失(data loss)的問題,使得該損壞標(biāo)記消失,如此亦會造成控制器因?yàn)樽x取不到損壞標(biāo)記,而誤判了該原先被判定為異常的區(qū)塊為正常。
[0010]4.如果制造端在測試時不夠嚴(yán)謹(jǐn)或是有誤差,以致于區(qū)塊內(nèi)有些異常的字節(jié),但仍被誤判為可正常存取,因此沒有被寫入損壞標(biāo)記。之后控制器也會因?yàn)樽x取不到損壞標(biāo)記,而使用了被誤判為正常的區(qū)域。
[0011]5.字節(jié)之間可能會發(fā)生串音干擾(cross talk)效應(yīng),當(dāng)損壞標(biāo)記寫入至被判定為異常的區(qū)塊內(nèi)時,也連帶影響其他字節(jié),若該字節(jié)恰巧為其他區(qū)塊的預(yù)先標(biāo)記位置,則會導(dǎo)致控制器誤判該正常的區(qū)塊為異常。
[0012]有鑒于此,提供一種可改善至少一種上述缺失的方法,為業(yè)界亟待解決的問題。
【發(fā)明內(nèi)容】
[0013]本發(fā)明的主要目的在于提供一種用于非易失性存儲器陣列的標(biāo)記方法及初始化方法,以改善測試及標(biāo)記該存儲單元(或稱數(shù)據(jù)寫入單元)的字節(jié)存取狀況時,可能產(chǎn)生的誤判。
[0014]本發(fā)明的另一目的在于提供一種用于非易失性存儲器陣列的標(biāo)記方法及初始化方法,藉由將檢測單位縮小至針對各分頁進(jìn)行判斷及標(biāo)記,故不會因?yàn)椴糠肿止?jié)的損壞而舍棄整個區(qū)塊,可提升的存儲器模組使用率。
[0015]本發(fā)明的又一目的在于提供一種用于非易失性存儲器陣列的標(biāo)記方法及初始化方法,其是針對正常的分頁,分別寫入不同的對應(yīng)標(biāo)記。當(dāng)控制器對其進(jìn)行初始化,可獲得更準(zhǔn)確的比對結(jié)果,減少誤判的狀況發(fā)生。
[0016]為實(shí)現(xiàn)上述目的,本發(fā)明揭示了一種用于一非易失性存儲器的標(biāo)記方法,該非易失性存儲器陣列包含多個存儲單元,各該存儲單元包含多個字節(jié),該標(biāo)記方法包括下列步驟:判斷該等存儲單元的其中之一所具有的該等字節(jié)為可正常存??;以及寫入一標(biāo)記至該存儲單元。
[0017]本發(fā)明還揭示了一種用于一非易失性存儲器陣列的初始化方法,該非易失性存儲器陣列包含多個存儲單元,各該存儲單元包含多個字節(jié),其中,各該存儲單元具有一標(biāo)記,其因應(yīng)各該存儲單元中的該等字節(jié)被判斷為可正常存取而寫入,該初始化方法包括下列步驟:讀取各該存儲單元的該標(biāo)記;判斷該標(biāo)記符合一預(yù)設(shè)值;記錄該標(biāo)記符合該預(yù)設(shè)值的各該存儲單元至一識別表中;以及消去該等標(biāo)記。
[0018]為使上述目的、技術(shù)特征及優(yōu)點(diǎn)能更明顯易懂,下文以較佳的實(shí)施例結(jié)合附圖詳細(xì)說明。
【附圖說明】
[0019]圖1為本發(fā)明用于非易失性存儲器陣列的標(biāo)記方法的流程圖。
[0020]圖2為本發(fā)明非易失性存儲器陣列的示意圖。
[0021]圖3為該非易失性存儲器陣列與測試裝置耦接的示意圖。
[0022]圖4為該非易失性存儲器陣列標(biāo)記后的示意圖。
[0023]圖5為本發(fā)明用于非易失性存儲器陣列的初始化方法的流程圖。
[0024]圖6為該非易失性存儲器陣列與一控制器耦接的示意圖。
[0025]圖7為本發(fā)明用于非易失性存儲器陣列的初始化方法的另一較佳實(shí)施例的方法流程圖。
[0026]附圖符號說明
[0027]1非易失性存儲器
[0028]11區(qū)塊
[0029]111、111A、111B存儲單元
[0030]2測試裝置
[0031]21查詢表
[0032]3控制器
[0033]31識別表
【具體實(shí)施方式】
[0034]請參閱圖1所示,為本發(fā)明的用于一非易失性存儲器陣列的標(biāo)記方法的較佳實(shí)施例。其中,該標(biāo)記方法所應(yīng)用的易失性存儲器陣列包含多個存儲單元(或稱數(shù)據(jù)寫入單元),而每一個存儲單元包含多個字節(jié)(byte)。
[0035]請結(jié)合參閱圖2所示,以一非易失性存儲器陣列1為例來說明。該非易失性存儲器陣列1包含了多個存儲單元111,而每一存儲單元111包含多個字節(jié)。舉例而言,本實(shí)施例的各存儲單元111可為一分頁(page),各分頁包含4224個字節(jié),而128個分頁(Pi?P 128)可組合定義為一區(qū)塊(block) 11,而4096個區(qū)塊則進(jìn)一步形成該非易失性存儲器陣列1。換言之,該非易失性存儲器陣列1總共包含4096x 128 = 524288個存儲單元111(分頁)。
[0036]請結(jié)合參閱圖3所示,該非易失性存儲器陣列1可與一測試裝置2耦接,該標(biāo)記方法的各步驟可由該測試裝置2來實(shí)現(xiàn),但是并不局限于此。各步驟將詳細(xì)地說明如下:
[0037]首先執(zhí)行步驟S101,對該非易失性存儲器陣列1進(jìn)行測試,并判斷該等存儲單元111的其中一個,其所具有的該等字節(jié)是否可正常存取。詳言之,將一數(shù)據(jù)先寫入至該存儲單元111的該等字節(jié)中,之后再讀取該數(shù)據(jù),如果該讀出的數(shù)據(jù)內(nèi)容沒有改變或消失,則該存儲單元111的該等字節(jié)可判斷為可正常存取。換言之,數(shù)據(jù)無法寫入或是數(shù)據(jù)寫入后內(nèi)容會改變或消失,即可判斷該存儲單元111的該等字節(jié)無法正常存取。
[0038]若步驟S101判斷為可正常存取時,則執(zhí)行步驟S103,寫入一標(biāo)記至該存儲單元111。詳言之,將一預(yù)設(shè)值(或稱預(yù)設(shè)內(nèi)容)寫入至該存儲單元111的部分或全部字節(jié)中。
[0039]若步驟S101判斷為無法正常存取時,或是當(dāng)步驟S103執(zhí)行完時,則執(zhí)行步驟S105,判斷是否仍有其他存儲單元111未執(zhí)行步驟S101 ;如有,便針對其他存儲單元111重復(fù)執(zhí)行步驟S101及步驟S103的判斷及寫入步驟,直至所有存儲單元111均已完成;如否,表示全部的存儲單元111都已執(zhí)行過步驟S101及步驟S103,該標(biāo)記方法即可完成。
[0040]該測試裝置2可依據(jù)以上的測試結(jié)果,統(tǒng)計可正常使用的存儲單元111的數(shù)量,進(jìn)而計算該非易失性存儲器陣列1的可使用率,評估其是否能符合標(biāo)準(zhǔn)。此外,亦可產(chǎn)生或輸出一查詢表21,該查詢表21可記錄具有標(biāo)記的該等存儲單元111的地址,以及該等標(biāo)記所相應(yīng)的預(yù)設(shè)值等信息。
[0041]值得一提的是,所有存儲單元111上的該等標(biāo)記的預(yù)設(shè)值,可彼此相同,亦可彼