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

非易失性存儲系統(tǒng)的制作方法

文檔序號:6761945閱讀:141來源:國知局

專利名稱::非易失性存儲系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種非易失性存儲系統(tǒng),尤其涉及一種可以有效地運(yùn)用于例如與硬盤兼容的閃速存儲卡和閃速盤的技術(shù)。
背景技術(shù)
:在電可重寫的非易失性存儲器、典型地是閃速存儲器上的已存儲信息的重寫在存儲單元中會引起電學(xué)上的壓力,隨著重寫計(jì)數(shù)的增大,存儲單元的特性變壞。因此,通常的慣例是將重寫計(jì)數(shù)預(yù)先確定為直至可以保證非易失性存儲器的性能。重寫可能集中在一些數(shù)據(jù)塊上,并且已經(jīng)提供了用替代區(qū)域中的未用存儲塊來替換已經(jīng)達(dá)到重寫的容許限制的數(shù)據(jù)塊的技術(shù)(參見專利參考文獻(xiàn)1和2)。還可采用一種技術(shù),對在每個(gè)數(shù)據(jù)塊中用ECC校正的次數(shù)計(jì)數(shù),并且用替代區(qū)域中的未用存儲塊來替換其校正計(jì)數(shù)已經(jīng)達(dá)到一特定數(shù)目的數(shù)據(jù)塊(參見專利參考文獻(xiàn)3)。此外,由于集中在其上進(jìn)行寫操作的數(shù)據(jù)塊在性能上將顯著變壞,還出現(xiàn)了一種技術(shù),在數(shù)據(jù)和地址重寫到達(dá)一特定計(jì)數(shù)時(shí),用重寫計(jì)數(shù)較小的區(qū)域自動替換有關(guān)區(qū)域,從而延長了非易失性存儲器的可重寫壽命。例如,如果重寫計(jì)數(shù)超過一預(yù)定級別,則數(shù)據(jù)塊中的地址分配會被改變(參見專利參考文獻(xiàn)4)?;蛘?,如果ECC差錯(cuò)數(shù)超過一預(yù)定級別,則數(shù)據(jù)塊中的地址分配會被改變(參見專利參考文獻(xiàn)5)。專利參考文獻(xiàn)1日本未審查專利公開文本No.Hei08(1996)-96589專利參考文獻(xiàn)2日本未審查專利公開文本No.2001-229069專利參考文獻(xiàn)3WO01/22232專利參考文獻(xiàn)4USP5,434,825專利參考文獻(xiàn)5USP5,583,812
發(fā)明內(nèi)容本發(fā)明人研究了在諸如閃速存儲器的非易失性存儲器中的數(shù)據(jù)塊替換的處理。特別地,本發(fā)明人研究了與硬盤兼容的大容量存儲器、例如應(yīng)用了非易失性存儲器、例如閃速存儲器的大容量和高速閃速存儲卡或閃速盤。研究的第一個(gè)方面是使得非易失性存儲器中的數(shù)據(jù)塊替換的處理是合適的。即使在數(shù)據(jù)塊重寫計(jì)數(shù)超出許可次數(shù)時(shí),存儲單元在性能上也不會必然地變壞。因此,如果按照專利參考文獻(xiàn)1和2的要求僅僅在重寫計(jì)數(shù)的基礎(chǔ)上替換數(shù)據(jù)塊,則仍然可以使用的數(shù)據(jù)塊將被不經(jīng)濟(jì)地替換。換句話說,由于工藝的波動,通知替換定時(shí)的重寫計(jì)數(shù)將隨每個(gè)數(shù)據(jù)塊而不同。第二個(gè)方面是信息存儲的可靠性。即使如專利參考文獻(xiàn)3所闡述的,只要由ECC的校正次數(shù)已經(jīng)達(dá)到一預(yù)定級別就要替換數(shù)據(jù)塊,其許可重寫計(jì)數(shù)例如是300,000次的閃速存儲器仍會保持可重寫,直到500,000次重寫或更多,如果其第一次ECC校正在那時(shí)出現(xiàn)。換句話說,在性能上變壞的數(shù)據(jù)塊可以保持可重寫,這將降低信息存儲的可靠性。例如,如果性能變壞導(dǎo)致可由ECC電路校正的頻繁出現(xiàn)的差錯(cuò)并且另外作為干擾的結(jié)果或由于其他原因出現(xiàn)非法數(shù)據(jù),則可能會超過可由ECC電路校正的位數(shù),則差錯(cuò)不再能夠被ECC電路所解決,使得不能保護(hù)所存儲的數(shù)據(jù)。如果錯(cuò)誤的數(shù)據(jù)是聲音或圖象數(shù)據(jù),則該部分?jǐn)?shù)據(jù)差錯(cuò)幾乎不會影響其他處理。然而,如果錯(cuò)誤的數(shù)據(jù)是算術(shù)處理數(shù)據(jù)或是一個(gè)程序中所包括的,則即使是部分?jǐn)?shù)據(jù)差錯(cuò)也會相當(dāng)大地影響其他處理依據(jù)數(shù)據(jù)處理的特性有時(shí)是致命的。因此,與硬盤兼容的閃速存儲卡或閃速盤在信息存儲上需要高級別的可靠性。第三個(gè)方面是高速存取處理。在算術(shù)處理數(shù)據(jù)或程序中的數(shù)據(jù)要被存儲在與硬盤兼容的閃速存儲卡或閃速盤中的情況下,提高數(shù)據(jù)處理的速度將需要在閃速存儲卡等部分上的高速存取處理性能。如果每次需要結(jié)合存取處理的表參考(tablereferencing)來延長重寫壽命,則由于其大容量,該參考將構(gòu)成一個(gè)很重的額外開銷。例如,根據(jù)專利參考文獻(xiàn)4和5中所公開的技術(shù),在每次存取時(shí)將讀入一個(gè)指示數(shù)據(jù)塊中的地址分配的匹配表。本發(fā)明的一個(gè)目的是提供一種能夠限制可使用的數(shù)據(jù)塊的不經(jīng)濟(jì)的替換以便延長可重寫壽命的存儲器系統(tǒng)。換句話說,存儲器系統(tǒng)能夠減少延長可重寫壽命所需的替換存儲塊的數(shù)目。本發(fā)明的另一個(gè)目的是提供一種能夠限制在性能上變壞的數(shù)據(jù)塊的可重寫狀態(tài)繼續(xù)存在、從而提高信息存儲的可靠性的存儲器系統(tǒng)。本發(fā)明的又一個(gè)目的是提供一種能夠消除每次參考一個(gè)與存取處理有關(guān)的表的需要以便延長可重寫壽命并在保證高速存取的同時(shí)延長可重寫壽命的存儲器系統(tǒng)。從這個(gè)說明書的下面的結(jié)合附圖的描述中,本發(fā)明的上述和其他目的和新穎特征將變得更加明顯。下面將簡要描述在這個(gè)申請中公開的發(fā)明的典型方面。(1)本發(fā)明的第一個(gè)方面涉及讀操作中的替換控制。在本發(fā)明的這個(gè)方面中的存儲器系統(tǒng)帶有具有在預(yù)定物理地址單元中的多個(gè)數(shù)據(jù)塊的非易失性存儲器和一個(gè)用于響應(yīng)于來自外部的存取請求來控制非易失性存儲器的控制器。每個(gè)數(shù)據(jù)塊具有用于保存重寫計(jì)數(shù)和關(guān)于每個(gè)數(shù)據(jù)區(qū)域的差錯(cuò)檢驗(yàn)信息的區(qū)域(31和32)。控制器在非易失性存儲器的讀操作中根據(jù)差錯(cuò)檢驗(yàn)信息檢驗(yàn)所讀區(qū)域中的任何差錯(cuò),并且,在有差錯(cuò)時(shí),如果重寫計(jì)數(shù)大于一個(gè)預(yù)定值,將用另一個(gè)數(shù)據(jù)塊替換相關(guān)數(shù)據(jù)塊,如果不大于,將校正與差錯(cuò)有關(guān)的數(shù)據(jù)塊中的數(shù)據(jù)。即使已經(jīng)達(dá)到預(yù)定的重寫計(jì)數(shù)限制,帶有良好歷史的非易失性存儲器仍然能夠重寫。作為該能力的指示,考慮已經(jīng)在數(shù)據(jù)塊中出現(xiàn)過的數(shù)據(jù)差錯(cuò)的次數(shù)和此時(shí)的重寫計(jì)數(shù)。如果從數(shù)據(jù)塊讀出的數(shù)據(jù)中有差錯(cuò)并且重寫計(jì)數(shù)未達(dá)到預(yù)定限制,將執(zhí)行ECC或其他校正。通常,在非易失性存儲器、例如閃速存儲器中,在許可的重寫計(jì)數(shù)閾值內(nèi),如果有由存儲器的制造者推薦或要求的差錯(cuò)校正能力(差錯(cuò)可校正位數(shù)),將不會出現(xiàn)不可校正的情況。因此,即使其差錯(cuò)已經(jīng)由ECC或其他校正的數(shù)據(jù)被返回相關(guān)數(shù)據(jù)塊,在數(shù)據(jù)的可靠性上也不太會出現(xiàn)問題。另一方面,如果有數(shù)據(jù)差錯(cuò)且重寫計(jì)數(shù)已經(jīng)到達(dá)預(yù)定限制,則很可能出現(xiàn)超出ECC的差錯(cuò)校正能力的位數(shù)的差錯(cuò)。因此,數(shù)據(jù)塊將被替換,新的替換數(shù)據(jù)塊將被用來保存校正的數(shù)據(jù)以供以后使用。因此,依據(jù)上述替換技術(shù),即使重寫計(jì)數(shù)已經(jīng)超過許可限制,與ECC的組合仍然進(jìn)行可能的替換,并且,與僅僅在預(yù)定重寫計(jì)數(shù)限制的基礎(chǔ)上執(zhí)行替換的技術(shù)相比,每個(gè)數(shù)據(jù)塊地址的平均重寫計(jì)數(shù)可以增大。由于這使得有可能免除過多的替代區(qū)域和限制替換中涉及的處理上的額外開銷,因此可以確保高速存取。此外,與在將依據(jù)ECC的差錯(cuò)數(shù)作為數(shù)據(jù)塊替換的唯一尺度的情況不一樣,可以防止變壞程度很深的數(shù)據(jù)塊被保留在可重寫狀態(tài)下,從而提高信息存儲的可靠性。在本發(fā)明的具體模式中,數(shù)據(jù)塊具有能夠使用關(guān)于邏輯地址的信息來對應(yīng)其物理地址的地址信息保存區(qū)域(30)。然后,控制器根據(jù)作為物理地址的邏輯地址選擇數(shù)據(jù)塊,并且,如果發(fā)現(xiàn)該數(shù)據(jù)塊的物理地址與在該數(shù)據(jù)塊的地址信息保存區(qū)域中保存的信息相同,則判斷所選擇的數(shù)據(jù)塊還未被替換。因此,僅僅在發(fā)現(xiàn)所選擇的數(shù)據(jù)塊的物理地址和在該數(shù)據(jù)塊的地址信息保存區(qū)域中保存的信息不相同時(shí),才需要參考用于檢查所替換地址等的表。這樣,不需要在每次存取處理時(shí)都參考該表,因此在確保高速存取的同時(shí),可以延長可重寫壽命。作為用于檢查所替換地址的表,非易失性存儲器例如可以具有一個(gè)替換地址表。替換地址表具有要用于與陣列物理地址的序列相一致地保存邏輯地址信息的對應(yīng)項(xiàng)目的表信息保存區(qū)域(40)。當(dāng)控制器發(fā)現(xiàn)根據(jù)作為物理地址的邏輯地址選擇的數(shù)據(jù)塊的物理地址與在該數(shù)據(jù)塊的地址信息保存區(qū)域中保存的信息之間不相同時(shí),控制器可以參考對應(yīng)于替換地址表的物理地址的表信息保存區(qū)域,并找出用哪一數(shù)據(jù)塊替換該邏輯地址。為了確定一個(gè)新的可用的替換,將一個(gè)未使用代碼(USFLG)存儲到對應(yīng)于未向其分配邏輯地址的數(shù)據(jù)塊的表信息保存區(qū)域中??刂破髟谔鎿Q數(shù)據(jù)塊時(shí)參考替換地址表,并將對應(yīng)于未使用代碼的數(shù)據(jù)塊確定為一個(gè)新的可用替換。關(guān)于地址信息保存區(qū)域,控制器以不同于邏輯地址的無效代碼來初始化未向其分配邏輯地址的數(shù)據(jù)塊的地址信息保存區(qū)域。進(jìn)一步地,控制器在替換任何數(shù)據(jù)塊時(shí)使得替換數(shù)據(jù)塊的地址信息保存區(qū)域保存要被替換的數(shù)據(jù)塊的物理地址??刂破鬟€將經(jīng)歷了重寫故障的數(shù)據(jù)塊置于擦除狀態(tài)。這想要統(tǒng)一所替換數(shù)據(jù)塊的地址信息保存區(qū)域的處理,并使得在出現(xiàn)問題等時(shí)可以從數(shù)據(jù)塊信息參考替換歷史。在本發(fā)明的另一個(gè)具體模式中,多個(gè)數(shù)據(jù)塊中的特定數(shù)據(jù)塊中的每一個(gè)具有一個(gè)用于重寫閾值次數(shù)數(shù)據(jù)(TDAT)的存儲區(qū)域。控制器判斷與重寫閾值次數(shù)數(shù)據(jù)相同的重寫計(jì)數(shù)是預(yù)定重寫計(jì)數(shù)。由于數(shù)據(jù)塊的可重寫壽命隨著每個(gè)半導(dǎo)體制造工藝而波動,因此這種配置使得可重寫壽命能夠因此而延長。非易失性存儲器例如可以是一個(gè)閃速存儲器。邏輯地址信息由32位或更多位組成。閃速存儲器的存儲容量可以被擴(kuò)展到千兆位甚至更高??梢允褂肊CC碼、CRC碼、奇偶校驗(yàn)碼或SUM值碼作為差錯(cuò)檢驗(yàn)信息??刂破骼缈梢杂赏獠拷涌陔娐?、緩沖器、CPU、ECC電路和存儲器接口電路構(gòu)成。(2)本發(fā)明的第二個(gè)方面涉及重寫操作中的替換控制。在這個(gè)方面的存儲器系統(tǒng)中,在非易失性存儲器上的重寫操作中,當(dāng)控制器無法在被進(jìn)行重寫的數(shù)據(jù)塊上重寫時(shí),如果重寫計(jì)數(shù)大于一個(gè)預(yù)定值,控制器將用另一個(gè)數(shù)據(jù)塊替換該數(shù)據(jù)塊,如果不大于,在與故障相關(guān)的數(shù)據(jù)塊上再次重寫。如果再次重寫的嘗試失敗,將用另一個(gè)數(shù)據(jù)塊替換該數(shù)據(jù)塊。本發(fā)明的第三個(gè)方面涉及重寫操作中的另一個(gè)方式的替換控制。在這個(gè)方面中的存儲器系統(tǒng)帶有一個(gè)具有在預(yù)定物理地址單元中的多個(gè)數(shù)據(jù)塊的非易失性存儲器和一個(gè)用于響應(yīng)于來自外部的存取請求來控制非易失性存儲器的控制器,其中,每個(gè)數(shù)據(jù)塊具有用于保存重寫計(jì)數(shù)和差錯(cuò)校正標(biāo)志的區(qū)域(31和33)。在非易失性存儲器上的重寫操作中,如果數(shù)據(jù)塊的重寫計(jì)數(shù)不大于一個(gè)預(yù)定值,控制器將在被進(jìn)行重寫的數(shù)據(jù)塊上執(zhí)行重寫處理,如果重寫計(jì)數(shù)大于預(yù)定值并且差錯(cuò)校正標(biāo)志指示該數(shù)據(jù)塊已經(jīng)經(jīng)過差錯(cuò)校正,控制器將用另一個(gè)數(shù)據(jù)塊替換該數(shù)據(jù)塊,如果該標(biāo)志指示該數(shù)據(jù)塊沒有經(jīng)過差錯(cuò)校正,控制器將在該數(shù)據(jù)塊上執(zhí)行重寫。在非易失性存儲器上的重寫處理中,當(dāng)控制器無法在被進(jìn)行重寫的數(shù)據(jù)塊上重寫時(shí),如果重寫計(jì)數(shù)大于預(yù)定值,它可以用另一個(gè)數(shù)據(jù)塊替換該數(shù)據(jù)塊,如果重寫計(jì)數(shù)不大于預(yù)定值,在與故障相關(guān)的數(shù)據(jù)塊上再次重寫。差錯(cuò)校正標(biāo)志是指示差錯(cuò)校正是否已經(jīng)完成的一位或更多位的標(biāo)志信息??梢允褂门c在上面的第一個(gè)方面中相同的手段來作為其第二個(gè)和第三個(gè)方面中的本發(fā)明的具體模式。類似于本發(fā)明的第一個(gè)方面,依據(jù)本發(fā)明的第二個(gè)和第三個(gè)方面,即使重寫計(jì)數(shù)超過許可限制,與ECC的組合也使得替換仍然是可能的,并使得過多的替代區(qū)域是不必要的。此外,與在將依據(jù)ECC的差錯(cuò)數(shù)作為數(shù)據(jù)塊替換的唯一尺度的情況不一樣,可以防止變壞程度很深的數(shù)據(jù)塊被保留在可重寫狀態(tài)下,從而提高信息存儲的可靠性。由于控制器根據(jù)作為物理地址的邏輯地址選擇一個(gè)數(shù)據(jù)塊,因此不需要在每次存取處理時(shí)都參考該表,因此在確保高速存取的同時(shí),可以延長可重寫壽命。圖1是作為依據(jù)本發(fā)明的存儲器系統(tǒng)的一個(gè)例子的閃速存儲卡的方框圖。圖2顯示了在閃速存儲器中的基于數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu)的一個(gè)例子。圖3顯示了替換地址表的一個(gè)例子。圖4是顯示由控制器進(jìn)行的讀操作的控制流程的一個(gè)例子的流程圖。圖5是綜合顯示采用圖4的讀控制從閃速存儲卡讀出數(shù)據(jù)的操作的流程圖。圖6顯示了當(dāng)從閃速存儲卡讀出數(shù)據(jù)時(shí)在圖2的閃速存儲器中出現(xiàn)的數(shù)據(jù)結(jié)構(gòu)的變化的一個(gè)例子。圖7是顯示由控制器進(jìn)行的寫操作的控制流程的一個(gè)例子的流程圖。圖8是顯示在響應(yīng)于來自外部信息處理設(shè)備的重寫請求在閃速存儲器中的數(shù)據(jù)重寫故障的情況下的操作的一個(gè)例子的流程圖。圖9顯示了圖8所示的操作的重寫處理的結(jié)果。圖10顯示了具有ECC校正標(biāo)志區(qū)域的閃速存儲器3的數(shù)據(jù)結(jié)構(gòu)的一個(gè)例子。圖11是顯示由控制器參考ECC校正標(biāo)志區(qū)域進(jìn)行的重寫操作的控制流程的一個(gè)例子的流程圖。圖12顯示了在圖10的數(shù)據(jù)結(jié)構(gòu)的閃速存儲器上進(jìn)行圖11所示的替換處理之后閃速存儲器的數(shù)據(jù)結(jié)構(gòu)的一個(gè)例子。圖13是示意性地顯示依據(jù)本發(fā)明的讀處理和寫處理的流程圖。圖14是示意性地顯示在由一個(gè)全時(shí)(all-time)的替換地址參考公式進(jìn)行的比較例子中的讀處理和寫處理的流程圖。具體實(shí)施例方式圖1顯示了作為依據(jù)本發(fā)明的存儲器系統(tǒng)的一個(gè)例子的閃速存儲卡。這里所示的閃速存儲卡帶有一個(gè)在預(yù)定外殼內(nèi)具有多個(gè)數(shù)據(jù)塊2的非易失性存儲器、例如閃速存儲器3和一個(gè)響應(yīng)于來自外部信息處理設(shè)備4的存取請求來控制閃速存儲器3的控制器5,其中每個(gè)數(shù)據(jù)塊2與一個(gè)預(yù)定物理地址相匹配。預(yù)定外殼例如是PC卡或1.8英寸硬盤的外殼。外部信息處理設(shè)備4是一個(gè)主機(jī)設(shè)備,例如個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助手(PDA)或數(shù)字照相機(jī)。每個(gè)數(shù)據(jù)塊2基本上被分成數(shù)據(jù)區(qū)域2D和管理區(qū)域2C。雖然未顯示,閃速存儲器3具有一個(gè)存儲單元陣列,其中,以矩陣形式排列有電可擦除和可寫閃速存儲單元。多個(gè)數(shù)據(jù)塊被構(gòu)造在這個(gè)存儲單元陣列中。每個(gè)數(shù)據(jù)塊具有固定的存儲容量,例如1024位,并由多個(gè)閃速存儲單元組成。對于每個(gè)閃速存儲單元,可以采用浮柵結(jié)構(gòu),其中,電荷可以被注入浮柵,作為由溝道區(qū)域之上的絕緣膜分隔的導(dǎo)體,或者可以采用電荷俘獲結(jié)構(gòu),其中,電荷被局部注入電荷俘獲區(qū)域、例如氮化硅膜,但這些并不是唯一可用的選擇。例如,如果采用了浮柵結(jié)構(gòu),則根據(jù)充電狀態(tài)和放電狀態(tài)之間的閾值電壓的差來確定所存儲信息的邏輯值。在電荷俘獲結(jié)構(gòu)中,容易根據(jù)電荷的俘獲位置或所俘獲電荷的極性來存儲多值信息。將數(shù)據(jù)存儲到這樣一個(gè)閃速存儲單元中例如是通過初始化由存儲單元保存的電荷的第一處理(例如,擦除或清除)和從初始狀態(tài)改變充電狀態(tài)的第二處理(例如,編程處理或?qū)?來完成的。例如,浮柵型閃速存儲單元的漏極與一條位線相連,其源極與一條源線相連,其控制柵極與一條字線相連。擦除是通過將高電壓加到源線上以便提取電子到源線來完成的。編程是通過將高電壓加到字線上以便從漏極向浮柵注入熱電子來完成的。擦除可以在逐個(gè)數(shù)據(jù)塊的基礎(chǔ)上執(zhí)行,但這并不是絕對的要求??刂破?具有外部設(shè)備接口電路10、閃速存儲器接口電路11、微計(jì)算機(jī)(MPU)12、由隨機(jī)存取存儲器(RAM)組成的緩沖器13、糾錯(cuò)碼(ECC)電路14和內(nèi)部總線15,但其結(jié)構(gòu)并不限于這些。外部設(shè)備接口電路10控制與外部信息處理設(shè)備4的面接。與外部設(shè)備的面接的規(guī)范例如是具有與所考慮的硬盤的兼容性的集成設(shè)備電路(IDE)的規(guī)范。閃速存儲器接口電路11以一種滿足閃速存儲器3的命令和數(shù)據(jù)存取要求的方式控制閃速存儲器面接。MPU12具有中央處理單元(CPU)、用于CPU的工作RAM和用于CPU的控制程序ROM。CPU執(zhí)行控制程序,使得外部設(shè)備接口電路10控制外部面接,閃速存儲器接口電路11控制存儲器面接。緩沖器13臨時(shí)存儲來自外部信息處理設(shè)備4的寫數(shù)據(jù)和到外部信息處理設(shè)備4的讀數(shù)據(jù)。雖然在本發(fā)明的這個(gè)實(shí)施例中控制器和存儲器彼此分離,但這兩個(gè)部件和外圍部件也可以集成在一個(gè)混合的半導(dǎo)體中。當(dāng)外部設(shè)備接口電路10從外部信息處理設(shè)備4接收到一個(gè)數(shù)據(jù)存取請求時(shí),MPU12從閃速存儲器接口電路11向閃速存儲器3給出作為要存取的數(shù)據(jù)的物理地址的扇區(qū)地址、存取命令等等,從而控制數(shù)據(jù)重寫、數(shù)據(jù)讀取和閃速存儲器3的其他操作。數(shù)據(jù)重寫是由擦除和編程處理實(shí)現(xiàn)的。在重寫中,將從外部信息處理設(shè)備4提供的寫數(shù)據(jù)提供給閃速存儲器3。在讀過程中,將從閃速存儲器3讀出的數(shù)據(jù)提供給外部信息處理設(shè)備4。向閃速存儲器3的每個(gè)數(shù)據(jù)塊(同樣可以稱為扇區(qū))2分配一個(gè)物理地址(也稱為扇區(qū)地址),該地址代表數(shù)據(jù)塊的物理排列。換句話說,將地址分配結(jié)合進(jìn)用于譯碼地址信號和選擇數(shù)據(jù)塊的地址譯碼器的譯碼邏輯。物理地址的位數(shù)例如是32。外部信息處理設(shè)備4中的數(shù)據(jù)塊的邏輯排列是根據(jù)邏輯地址管理的。MPU12利用由外部信息處理設(shè)備4指定的邏輯地址來作為存取閃速存儲器3中的物理地址。簡言之,MPU12不需要始終參考邏輯地址和物理地址的匹配表。圖2顯示了閃速存儲器3中的基于數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu)的一個(gè)例子。在圖2中,例如有分別具有物理地址0到z的數(shù)據(jù)塊2(0)到2(z),物理地址分別為0到n-1的數(shù)據(jù)塊2(0)到2(n-1)構(gòu)成了用戶數(shù)據(jù)區(qū)域20,物理地址分別為n到z-1的數(shù)據(jù)塊2(n)到2(z-1)構(gòu)成了替代區(qū)域21,物理地址為z的數(shù)據(jù)塊2(z)構(gòu)成了替換地址表形成區(qū)域22。如上所述將物理地址分配給每個(gè)數(shù)據(jù)塊2,數(shù)據(jù)塊2具有邏輯地址區(qū)域30、重寫計(jì)數(shù)區(qū)域31和ECC代碼區(qū)域32作為管理區(qū)域2c。假定邏輯地址區(qū)域30是一個(gè)可用于保存關(guān)于與物理地址匹配的邏輯地址的信息的地址信息保存區(qū)域。重寫計(jì)數(shù)區(qū)域31保存對應(yīng)數(shù)據(jù)塊2的重寫計(jì)數(shù)。ECC代碼區(qū)域32保存作為對應(yīng)數(shù)據(jù)塊2上的錯(cuò)誤檢驗(yàn)信息的一或多個(gè)ECC代碼。ECC代碼可以覆蓋整個(gè)數(shù)據(jù)塊或只覆蓋一特定數(shù)據(jù)區(qū)域。在未用于邏輯地址的分配的邏輯地址區(qū)域30的部分中,由控制器5初始寫入一個(gè)無效代碼IVCOD。這樣,替代區(qū)域21中除了物理地址z之外的邏輯地址區(qū)域30的其他部分初始具有無效代碼IVCOD。將一個(gè)表標(biāo)志存儲在物理地址z的數(shù)據(jù)塊2(z)中的邏輯地址區(qū)域30中,并在該數(shù)據(jù)塊2(z)的數(shù)據(jù)區(qū)域中存儲替換地址表STLB??刂破?根據(jù)作為物理地址的邏輯地址搜索數(shù)據(jù)塊2,如果發(fā)現(xiàn)檢索出的數(shù)據(jù)塊2的物理地址與該數(shù)據(jù)塊的邏輯地址區(qū)域30中保存的信息相同,將該數(shù)據(jù)塊判斷為未被替換。因此,僅僅在發(fā)現(xiàn)檢索出的數(shù)據(jù)塊的物理地址與該數(shù)據(jù)塊的邏輯地址區(qū)域30中保存的信息不相同時(shí)才需要參考替換地址表STLB來找到替換地址。這樣,不需要在每次存取處理時(shí)都參考替換地址表STLB。關(guān)于本發(fā)明的這個(gè)實(shí)施例,將描述一個(gè)規(guī)則,根據(jù)該規(guī)則,每次都參考替換地址表STLB。然而,由于本發(fā)明使得替代區(qū)域最小化,它也可以直接搜索替代區(qū)域,而不是參考表STLB。圖3顯示了替換地址表STLB的一個(gè)例子。替換地址表STLB是在檢查替代區(qū)域21中的任何數(shù)據(jù)塊以便替換用戶數(shù)據(jù)區(qū)域20中的有缺陷或已經(jīng)用完其可重寫壽命的數(shù)據(jù)塊2中所用的數(shù)據(jù)表。這個(gè)替換地址表STLB按照物理地址排列的順序具有表信息保存區(qū)域40、即40(0)到40(z)。表信息保存區(qū)域40(0)到40(z)用于按照物理地址排列的順序來保存對應(yīng)的邏輯地址信息。對應(yīng)于任何一個(gè)表信息保存區(qū)域40(0)到40(z)的物理地址是從相關(guān)的表信息保存區(qū)域的偏移獲得的。例如,對應(yīng)于物理地址(n-1)的邏輯地址(n-1)是從位于替換地址表STLB的偏移(n-1)處的表信息保存區(qū)域40(n-1)獲得的。這個(gè)替換地址表STLB可以指示當(dāng)前的邏輯地址被分配到哪個(gè)物理地址以及未使用區(qū)域在哪里。如果控制器5發(fā)現(xiàn)了在根據(jù)作為物理地址的邏輯地址檢索出的數(shù)據(jù)塊的物理地址與相關(guān)數(shù)據(jù)塊的邏輯地址區(qū)域30中保存的信息之間的不一致性,控制器可以參考對應(yīng)于替換地址表STLB的物理地址的表信息保存區(qū)域40,并找出由哪一數(shù)據(jù)塊替換邏輯地址。例如,參考圖3,在替換地址表STLB的偏移(n)的表信息保存區(qū)域40(n)的基礎(chǔ)上,對應(yīng)于物理地址(n)的邏輯地址是邏輯地址(m)。為了確定一個(gè)新的可用替換,在替換地址表STLB的表信息保存區(qū)域40(0)到40(z(-1))中存儲一個(gè)對應(yīng)于未分配邏輯地址的數(shù)據(jù)塊的未使用標(biāo)志USFLG作為未使用代碼??刂破?在替換數(shù)據(jù)塊時(shí),參考替換地址表STLB,并將一個(gè)對應(yīng)于未使用標(biāo)志USFLG的數(shù)據(jù)塊確定為一個(gè)新的可用替換。將在替換地址表STLB的偏移(z)處的表信息保存區(qū)域40(z)用作一個(gè)用于重寫閾值計(jì)數(shù)數(shù)據(jù)TDAT的存儲區(qū)域40(z)??刂破?使用重寫閾值計(jì)數(shù)數(shù)據(jù)TDAT來確定是否要替換一個(gè)數(shù)據(jù)塊或估計(jì)其剩余可重寫壽命。由于數(shù)據(jù)塊的可重寫壽命隨著各個(gè)半導(dǎo)體制造工藝而波動,因此這個(gè)結(jié)構(gòu)使得剩余可重寫壽命能夠被估計(jì)。下面將描述在讀出數(shù)據(jù)塊的操作中的替換控制。圖4顯示了由控制器進(jìn)行的讀操作的控制流程的一個(gè)例子。當(dāng)指示進(jìn)行讀取在邏輯地址m的數(shù)據(jù)的處理時(shí),作為響應(yīng)將在物理地址m的數(shù)據(jù)塊讀出到緩沖器13(S1)。確定在讀出的數(shù)據(jù)塊2(m)的邏輯地址區(qū)域30中保存的邏輯地址信息是否與數(shù)據(jù)塊2(m)的物理地址相同(S2)。如果是,將確定該數(shù)據(jù)塊還未被替換。如果不是,將確定該數(shù)據(jù)塊已經(jīng)被替換,將參考替換地址表STLB來搜索用于邏輯地址m的數(shù)據(jù)塊的替代區(qū)域21,并將存儲在這個(gè)數(shù)據(jù)塊中的信息讀出到緩沖器13(S3)。由ECC電路判斷與步驟S2的相同性判斷有關(guān)的數(shù)據(jù)塊或步驟S3的搜索的替換數(shù)據(jù)塊中的所有數(shù)據(jù)中的錯(cuò)誤的存在與否(S4)。依據(jù)本發(fā)明,采用邏輯地址代碼管理用戶數(shù)據(jù)。然而,本發(fā)明可以以其他一些方式實(shí)現(xiàn),例如,當(dāng)在S2的檢查顯示出ECC代碼將不被校正或者是可校正的時(shí),將物理地址和邏輯地址視為是相同的,而當(dāng)它是不可校正的時(shí),將數(shù)據(jù)塊視為已經(jīng)被替換,搜索替代區(qū)域并參考邏輯地址m。如果沒有錯(cuò)誤,控制器5將從外部信息處理設(shè)備4要求一個(gè)對傳送邏輯地址m的用戶數(shù)據(jù)的容許(S5),并且,當(dāng)該容許來自外部信息處理設(shè)備4時(shí),將邏輯地址m的數(shù)據(jù)從緩沖器13傳送到外部信息處理設(shè)備4(S6)。如果在步驟S4確定有錯(cuò)誤,所讀數(shù)據(jù)將在緩沖器13中被校正(S7)。然后,判斷重寫計(jì)數(shù)是否高于由重寫閾值計(jì)數(shù)數(shù)據(jù)TDAT所指示的級別(例如,K次)(S8)。如果小大于K次,將校正緩沖器13中的邏輯地址m的數(shù)據(jù),并將校正的數(shù)據(jù)寫回到對應(yīng)于相關(guān)邏輯地址m的物理地址的數(shù)據(jù)塊,以校正閃速存儲器3中對應(yīng)的存儲數(shù)據(jù)。此后,過程向前進(jìn)行到步驟S5到S6,將數(shù)據(jù)傳送到外部信息處理設(shè)備4。如果在步驟S8確定重寫計(jì)數(shù)大于K次,將參考替換地址表STLB來搜索用于一個(gè)未使用數(shù)據(jù)塊的替代區(qū)域21(S9)。進(jìn)行替換來使用已經(jīng)被檢索出作為邏輯地址m的新的數(shù)據(jù)塊的未使用數(shù)據(jù)塊(S10)。在該替換處理中,首先,將邏輯地址m的信息存儲到已經(jīng)被檢索出的未使用數(shù)據(jù)塊的邏輯地址區(qū)域中,將用戶數(shù)據(jù)m存儲到未使用數(shù)據(jù)塊的數(shù)據(jù)區(qū)域中,并且將未使用數(shù)據(jù)塊的物理地址信息存儲到替換前的邏輯地址m的數(shù)據(jù)塊的邏輯地址區(qū)域中。其次,將邏輯地址m的信息存儲在替換地址表STLB上的表信息保存區(qū)域40中的對應(yīng)于未使用數(shù)據(jù)塊的物理地址的偏移位置中。此后,過程向前進(jìn)行到步驟S5和S6,將數(shù)據(jù)傳送到外部信息處理設(shè)備4。圖5是綜合顯示采用圖4的讀控制來將數(shù)據(jù)讀出閃速存儲卡1的操作的流程圖。在圖中所示的操作中,假設(shè)閃速存儲器3在讀取之前的狀態(tài)是圖2中所示的狀態(tài),閃速存儲器3在讀取之后的狀態(tài)是圖6中所示的狀態(tài),替換地址表STLB在讀取之后的狀態(tài)是圖3中所示的狀態(tài)。假設(shè)重寫閾值次數(shù)是K次。外部信息處理設(shè)備4要求從控制器5讀取用戶數(shù)據(jù)區(qū)域20中的一特定數(shù)據(jù)塊、例如邏輯地址m的數(shù)據(jù)塊的數(shù)據(jù)(T1)。作為響應(yīng),控制器5從閃速存儲器3接收物理地址m的數(shù)據(jù)塊的數(shù)據(jù)(T2)??刂破?對接收的讀取數(shù)據(jù)進(jìn)行圖4所示的處理。在這個(gè)例子中,如圖2所示,假設(shè)數(shù)據(jù)塊2(m)的邏輯地址區(qū)域30的邏輯地址等于物理地址m,并且可用ECC代碼校正的錯(cuò)誤已經(jīng)出現(xiàn)在數(shù)據(jù)塊2(m)的數(shù)據(jù)中。進(jìn)一步地,假設(shè)數(shù)據(jù)塊2(m)的重寫計(jì)數(shù)是K+1,超過了上限K。為了搜索替代區(qū)域21中的未使用數(shù)據(jù)塊,控制器5從閃速存儲器3讀出物理地址z的替換地址表STLB(T3)。控制器5在替換地址表STLB中搜索具有未使用標(biāo)志(USFLG)的表信息保存區(qū)域,并例如獲得表信息保存區(qū)域40(n)。在這個(gè)區(qū)域40(n)的偏移的基礎(chǔ)上,控制器5讀出物理地址(n)的數(shù)據(jù)表的信息,并確認(rèn)無效代碼IVCOD被存儲在該邏輯地址區(qū)域30中以及確認(rèn)在ECC代碼區(qū)域中的ECC代碼的基礎(chǔ)上沒有錯(cuò)誤(T4)。如果未存儲無效代碼或依據(jù)ECC代碼有錯(cuò)誤,將重復(fù)T3和T4的處理。如果無效代碼的存在和依據(jù)ECC代碼的錯(cuò)誤的不存在由T4的處理確認(rèn),在替換之前邏輯地址m的數(shù)據(jù)塊的邏輯地址區(qū)域?qū)⒈坏刂沸畔所替換(T5),邏輯地址m的信息被存儲到物理地址n的數(shù)據(jù)塊的邏輯地址區(qū)域,用戶數(shù)據(jù)m被寫入該數(shù)據(jù)區(qū)域內(nèi)(T6),替換地址表STLB被重寫,以便在對應(yīng)于物理地址n的偏移位置中存儲邏輯地址m的信息(T7)。此后,控制器5從外部信息處理設(shè)備4要求一個(gè)對傳送讀取數(shù)據(jù)的容許(T8),并且,當(dāng)該容許來自外部信息處理設(shè)備4時(shí),將邏輯地址m的數(shù)據(jù)(用戶數(shù)據(jù)m)傳送到外部信息處理設(shè)備4(T9)。在傳送之后,控制器5通知外部信息處理設(shè)備4讀處理結(jié)束(T10)。在上述讀操作的替換控制中,注意到帶有良好歷史的非易失性存儲器的即使已經(jīng)到達(dá)預(yù)定重寫計(jì)數(shù)閾值也能執(zhí)行進(jìn)一步的重寫的性能。作為這個(gè)性能的指示器,考慮在數(shù)據(jù)塊中的數(shù)據(jù)上的ECC錯(cuò)誤檢查的結(jié)果和重寫計(jì)數(shù)。如果在從數(shù)據(jù)塊讀出的數(shù)據(jù)中有錯(cuò)誤并且重寫計(jì)數(shù)還未到達(dá)預(yù)定閾值,將執(zhí)行ECC或其他校正。通常,在非易失性存儲器、例如閃速存儲器中,在保證的重寫計(jì)數(shù)閾值內(nèi),如果具有由存儲器的制造商推薦或要求的錯(cuò)誤校正能力(錯(cuò)誤可校正位的個(gè)數(shù)),將不會發(fā)生不可校正的情況。因此,即使在其錯(cuò)誤已經(jīng)由ECC或其他校正的數(shù)據(jù)被返回到相關(guān)數(shù)據(jù)塊時(shí)在數(shù)據(jù)的可靠性上也不太可能發(fā)生問題。另一方面,如果有數(shù)據(jù)錯(cuò)誤并且重寫計(jì)數(shù)已經(jīng)超過預(yù)定閾值,則很可能發(fā)生超出ECC的錯(cuò)誤校正能力之外的位數(shù)的錯(cuò)誤。因此,數(shù)據(jù)塊將被替換,使得新的替換數(shù)據(jù)塊來保存校正后的數(shù)據(jù)以供以后使用。因此,通過上述結(jié)合ECC的替換技術(shù),即使在重寫計(jì)數(shù)超過保證限制時(shí),與僅僅在預(yù)定重寫計(jì)數(shù)限制的基礎(chǔ)上執(zhí)行替換的技術(shù)相比,每個(gè)數(shù)據(jù)塊地址的平均重寫計(jì)數(shù)也可以最終被增大。這使得能夠省去過多的替代區(qū)域。此外,使得能夠避免象在僅僅根據(jù)在ECC的基礎(chǔ)上已經(jīng)出現(xiàn)的錯(cuò)誤數(shù)來替換數(shù)據(jù)塊的情況下一樣將性能已經(jīng)變壞的數(shù)據(jù)塊保持在可重寫狀態(tài),從而可以提高信息存儲的可靠性。下面將描述在重寫操作中在數(shù)據(jù)塊上的替換控制。圖7是顯示由控制器進(jìn)行的寫操作的控制流程的一個(gè)例子的流程圖。當(dāng)給出一個(gè)指令來重寫邏輯地址m的數(shù)據(jù)時(shí),作為響應(yīng),控制器5通知外部信息處理設(shè)備4對傳送用于邏輯地址m的重寫數(shù)據(jù)(用于用戶數(shù)據(jù)m的重寫數(shù)據(jù))的容許(S11)。接收到這個(gè)容許之后,控制器5接受由外部信息處理設(shè)備4提供的重寫數(shù)據(jù),并將數(shù)據(jù)存儲到緩沖器13中(S12)??刂破?將物理地址m的數(shù)據(jù)塊讀到緩沖器13(S13)。然后判斷在已經(jīng)讀出的數(shù)據(jù)塊2(m)的邏輯地址區(qū)域30中保存的邏輯地址信息與數(shù)據(jù)塊2(m)的物理地址是否彼此相同(S14)。如果是,將確定該數(shù)據(jù)塊還未被替換,對應(yīng)于邏輯地址m的數(shù)據(jù)塊2(m)的物理地址m的數(shù)據(jù)區(qū)域被緩沖器13中的數(shù)據(jù)所替換(S15)。如果否,將確定數(shù)據(jù)塊替換已經(jīng)發(fā)生,在替換地址表STLB中搜索其邏輯地址m已經(jīng)被替換的數(shù)據(jù)塊(S16),并且用緩沖器13中的數(shù)據(jù)替換該被替換的數(shù)據(jù)塊中的數(shù)據(jù)區(qū)域(S15)。在步驟S15的重寫中,控制器5判斷來自閃速存儲器3的重寫失敗的通知存在與否(S17)。如果沒有失敗,該重寫處理將結(jié)束。如果有失敗,控制器5判斷此時(shí)的重寫計(jì)數(shù)是否大于由重寫閾值次數(shù)數(shù)據(jù)TDAT指示的次數(shù)(例如,K次)(S18)。如果在步驟S18的判斷指示出一個(gè)大于K次的重寫計(jì)數(shù),則將參考替換地址表STLB來搜索用于未使用數(shù)據(jù)塊的替代區(qū)域21(S19)。完成處理來將檢索出的未使用數(shù)據(jù)塊作為邏輯地址m的新數(shù)據(jù)塊來替代(S20)。在這個(gè)替換處理中,首先,在替換之前,將邏輯地址m的信息存儲到檢索出的未使用數(shù)據(jù)塊的邏輯地址區(qū)域,將緩沖器13中的用于重寫的用戶數(shù)據(jù)m存儲到未使用數(shù)據(jù)塊的數(shù)據(jù)區(qū)域,將未使用數(shù)據(jù)塊的物理地址信息存儲到邏輯地址m的數(shù)據(jù)塊的邏輯地址區(qū)域。其次,將邏輯地址m的信息存儲到替換地址表STLB的表信息保存區(qū)域40中對應(yīng)于未使用數(shù)據(jù)塊的物理地址的偏移位置中。對于相關(guān)的替換處理,控制器5判斷來自閃速存儲器3的重寫失敗的通知存在與否(S21),如果沒有失敗,該重寫處理將結(jié)束。如果有失敗,將重復(fù)在步驟S19和S20的處理。對于在步驟S20的替換處理,可以限制檢索的次數(shù),或者根據(jù)重寫計(jì)數(shù)進(jìn)行限制,當(dāng)?shù)竭_(dá)該限制時(shí),將該過程視為有錯(cuò)誤地結(jié)束。如果在步驟S18的判斷表明重寫計(jì)數(shù)不大于K次時(shí),控制器5可以再次執(zhí)行處理來用緩沖器13中的用于重寫的用戶數(shù)據(jù)m替換邏輯地址m的數(shù)據(jù)區(qū)域(S22)。也在步驟S21為這個(gè)寫操作判斷重寫失敗的通知的存在與否,如果有失敗,將進(jìn)行在步驟S19和S20的處理。圖8是顯示在響應(yīng)于重寫請求而重寫閃速存儲器中的數(shù)據(jù)失敗的情況下的操作的一個(gè)例子的流程圖。在其中所示的重寫中,假設(shè)閃速存儲器3在寫之前的狀態(tài)是圖2所示的狀態(tài),閃速存儲器3在寫之后的狀態(tài)是圖9所示的狀態(tài)。假設(shè)重寫閾值次數(shù)是K次。進(jìn)行從外部信息處理設(shè)備4到邏輯地址m的數(shù)據(jù)重寫處理(T11)、響應(yīng)于此從控制器5向外部信息處理設(shè)備4通知對傳送重寫數(shù)據(jù)(用于用戶數(shù)據(jù)m的重寫數(shù)據(jù))的容許(T12)、以及從外部信息處理設(shè)備4向控制器5傳送用于用戶數(shù)據(jù)m的重寫數(shù)據(jù)的處理(T13)??刂破?從閃速存儲器3讀出物理地址m的數(shù)據(jù)塊(T14),確認(rèn)邏輯地址m的數(shù)據(jù)塊還未被替換,并用用于用戶數(shù)據(jù)m的重寫數(shù)據(jù)替換相關(guān)物理地址m的數(shù)據(jù)塊(T15)。然后,例如,閃速存儲器3向控制器5發(fā)出重寫失敗的通知(T16)。由于重寫計(jì)數(shù)在其上限K之外,因此從閃速存儲器3讀出數(shù)據(jù)塊2(z)的替換地址表STLB以便替換數(shù)據(jù)塊(T17)。控制器5搜索替換地址表STLB,將地址n的數(shù)據(jù)塊作為要替換的數(shù)據(jù)塊,并且在此時(shí)從閃速存儲器3讀出相關(guān)物理地址n的數(shù)據(jù)塊(T18)。對已經(jīng)讀出的物理地址n的數(shù)據(jù)塊進(jìn)行錯(cuò)誤檢測等,如果發(fā)現(xiàn)正常,為了將這個(gè)物理地址n的數(shù)據(jù)塊用來替換,控制器5將如上所述重寫替換地址表STLB以便反映該替換(T19),并用用于用戶數(shù)據(jù)m的重寫數(shù)據(jù)替換物理地址n的數(shù)據(jù)塊(T20)。最后,控制器5通知外部信息處理設(shè)備4處理結(jié)束(T21)。在圖9中顯示了由圖8所示的操作進(jìn)行的重寫處理的結(jié)果,與圖6所示的狀態(tài)不同,因?yàn)槠涑跏紶顟B(tài)如圖2所示的閃速存儲器中的物理地址m的重寫已經(jīng)失敗,所有數(shù)據(jù)都被無效。在這種情況下的無效意味著例如所有數(shù)據(jù)都已經(jīng)被擦除或不能由ECC校正。在讀操作中,在ECC錯(cuò)誤的情況下,參考重寫計(jì)數(shù),如果其上限被超過,該數(shù)據(jù)塊將被替換。在重寫的情況下,如果一個(gè)重寫嘗試失敗,將參考重寫計(jì)數(shù),如果其上限被超過,該數(shù)據(jù)塊將被替換。這是因?yàn)殡S著存儲單元性能的變壞,重寫失敗的可能性估計(jì)可能增大,如果在一個(gè)重寫嘗試失敗時(shí)重寫計(jì)數(shù)已經(jīng)超過其上限,存儲單元的可重寫壽命很可能接近其終點(diǎn)。這類似于讀操作中的假設(shè),當(dāng)出現(xiàn)一個(gè)ECC錯(cuò)誤并且重寫計(jì)數(shù)超出其上限之外時(shí),存儲單元的可重寫壽命接近其終點(diǎn)。因此,與在讀操作中的情況一樣,在重寫的情況下,即使重寫計(jì)數(shù)已經(jīng)超過保證界限時(shí)與ECC的結(jié)合也容許替換,使得能夠省去過大的替代區(qū)域,另外,與將依據(jù)ECC的錯(cuò)誤數(shù)目作為數(shù)據(jù)塊替換的唯一標(biāo)尺的情況不同,可以防止將過度變壞的數(shù)據(jù)塊保持在可重寫狀態(tài),從而可以提高信息存儲的可靠性。由于控制器根據(jù)其作為物理地址的邏輯地址來選擇數(shù)據(jù)塊,因此不需要在每次存取處理時(shí)參考該表,使得能夠確保高速存取并延長可重寫壽命。下面將描述在數(shù)據(jù)塊的重寫中的替換控制的另一個(gè)例子。圖10顯示了閃速存儲器3的數(shù)據(jù)結(jié)構(gòu)的另一個(gè)例子。與圖2的數(shù)據(jù)結(jié)構(gòu)的不同之處在于將一個(gè)ECC校正標(biāo)志區(qū)域33添加到每個(gè)數(shù)據(jù)塊2上。在ECC校正標(biāo)志區(qū)域33中,當(dāng)讀取對應(yīng)的數(shù)據(jù)塊時(shí),如果發(fā)現(xiàn)已經(jīng)經(jīng)過至少一次ECC校正,將建立一個(gè)校正標(biāo)志。如果還沒有校正,將建立一個(gè)無校正標(biāo)志。在替代區(qū)域21中,替換之前的ECC校正標(biāo)志區(qū)域33包含無效數(shù)據(jù),即,處于擦除狀態(tài)。在圖10的例子中,物理地址m指示過去發(fā)生的ECC校正。圖11是顯示由控制器在圖10所示的數(shù)據(jù)結(jié)構(gòu)上進(jìn)行的重寫操作的控制流程的一個(gè)例子的流程圖。當(dāng)發(fā)出指令來重寫邏輯地址m的數(shù)據(jù)時(shí),作為響應(yīng),控制器5向外部信息處理設(shè)備4通知對向邏輯地址m傳送重寫數(shù)據(jù)(用于用戶數(shù)據(jù)m的重寫數(shù)據(jù))的容許(S30)。在接收到這個(gè)容許之后,控制器5接受從外部信息處理設(shè)備4提供的重寫數(shù)據(jù),并將其存儲在緩沖器13中(S31)??刂破?讀出邏輯地址m的數(shù)據(jù)塊(S32),并判斷相關(guān)數(shù)據(jù)塊的重寫計(jì)數(shù)是否超出上限K之外(S33)。如果計(jì)數(shù)還未達(dá)到K,將用由緩沖器13保存的用于用戶數(shù)據(jù)m的重寫數(shù)據(jù)替換邏輯地址m的數(shù)據(jù)塊的數(shù)據(jù)區(qū)域(S34)。如果重寫計(jì)數(shù)是K或更多,判斷在該邏輯地址m的數(shù)據(jù)塊中是否建立了ECC校正標(biāo)志(S35)。如果未建立ECC校正標(biāo)志,將執(zhí)行步驟S34的重寫處理。如果建立了ECC校正標(biāo)志,將用一個(gè)未使用數(shù)據(jù)塊替換該邏輯地址m的數(shù)據(jù)塊,并將用于用戶數(shù)據(jù)m的重寫數(shù)據(jù)寫到被替換的地址中(S36)。雖然未顯示,如果在步驟S34出現(xiàn)寫錯(cuò)誤,可以接著進(jìn)行步驟S36的處理。雖然也未顯示,還可以執(zhí)行圖7的重寫失敗之后的處理以及圖11的根據(jù)ECC錯(cuò)誤校正標(biāo)志存在與否進(jìn)行的處理。圖12顯示了在圖10的數(shù)據(jù)結(jié)構(gòu)的閃速存儲器3上進(jìn)行圖11所示的替換處理之后閃速存儲器的數(shù)據(jù)結(jié)構(gòu)的一個(gè)例子。存儲在物理地址m的數(shù)據(jù)區(qū)域2D中的用戶數(shù)據(jù)m由物理地址n替換。在圖11所示的重寫的情況下,如果重寫計(jì)數(shù)超出其上限并且已經(jīng)經(jīng)過至少一次ECC校正,將替換該數(shù)據(jù)塊來用于重寫。這類似于讀操作中的假設(shè),當(dāng)出現(xiàn)一個(gè)ECC錯(cuò)誤并且重寫計(jì)數(shù)超出其上限之外時(shí),存儲單元的可重寫壽命接近其終點(diǎn)。因此,與在讀操作中的情況一樣,在圖11的重寫的情況下,即使重寫計(jì)數(shù)已經(jīng)超過保證界限時(shí)與ECC的結(jié)合也允許替換,使得能夠省去過大的替代區(qū)域,另外,與將依據(jù)ECC的錯(cuò)誤數(shù)目作為數(shù)據(jù)塊替換的唯一標(biāo)尺的情況不同,可以防止將過度變壞的數(shù)據(jù)塊保持在可重寫狀態(tài),從而可以提高信息存儲的可靠性。由于控制器根據(jù)其作為物理地址的邏輯地址來選擇數(shù)據(jù)塊,因此不需要在每次存取處理時(shí)參考該表,使得能夠確保高速存取并延長可重寫壽命。最后,將解釋確保高速存取的方面。圖13是示意性地顯示依據(jù)目前所述的發(fā)明的讀處理和寫處理的流程圖。圖14是示意性地顯示在一個(gè)作為比較的例子中的由一個(gè)全時(shí)替換地址參考公式進(jìn)行讀處理和寫處理的流程圖,根據(jù)該公式,當(dāng)?shù)竭_(dá)一特定重寫計(jì)數(shù)時(shí),用一個(gè)重寫計(jì)數(shù)更小的區(qū)域自動執(zhí)行數(shù)據(jù)和地址替換,從而延長了非易失性存儲器的可重寫壽命。在圖14的情況下,在讀操作和重寫操作中,對定義邏輯地址和物理地址之間的對應(yīng)關(guān)系的替換表的參考是必不可少的。在這個(gè)意義上,假設(shè)圖14所示的操作是一個(gè)全時(shí)替換地址參考公式。相反,在依據(jù)本發(fā)明的圖13所示的情況中,由于閃速存儲器是根據(jù)作為物理地址的邏輯地址被存取的,所以僅僅在有替換時(shí)才需要參考替換地址表。依據(jù)本發(fā)明,相對于表參考而言,同樣確保了高速存取。雖然已經(jīng)參考一個(gè)實(shí)施例在特定方面描述了由本發(fā)明人作出的發(fā)明,顯然本發(fā)明并不限于這個(gè)實(shí)施例,而是可以在不偏離其實(shí)質(zhì)的情況下以許多不同的方式變化。例如,非易失性存儲器并不限于閃速存儲器。它同樣可以是EEPROM、高介電存儲器等。搜索替代區(qū)域的方法不限于參考一個(gè)表、例如替換地址表STLB。替代采用這樣一個(gè)表,通過直接讀出替代區(qū)域的邏輯地址區(qū)域30,同樣可以完成搜索,但搜索所需的時(shí)間將會變長。使得替代區(qū)域中的未使用數(shù)據(jù)塊的邏輯地址區(qū)域保存一個(gè)無效代碼IVCOD并不是唯一的可能性。作為替代,可以僅僅將無效數(shù)據(jù)等保存在其中。進(jìn)一步地,在圖10的數(shù)據(jù)結(jié)構(gòu)中,在ECC校正標(biāo)志區(qū)域33中建立一個(gè)校正標(biāo)志的條件并不限于上面所述的內(nèi)容。條件同樣可以是由ECC進(jìn)行的預(yù)定多個(gè)錯(cuò)誤校正。雖然由本發(fā)明人作出的發(fā)明的前面的描述主要涉及與硬盤兼容的閃速盤或閃速存儲卡,這是構(gòu)成本發(fā)明的背景的使用領(lǐng)域,但本發(fā)明也可以運(yùn)用于許多其他不同的存儲器系統(tǒng)。下面將簡要描述由這個(gè)申請?jiān)谄涞湫头矫婀_的本發(fā)明實(shí)現(xiàn)的優(yōu)點(diǎn)。在存儲器系統(tǒng)中,可以限制可使用的數(shù)據(jù)塊的不經(jīng)濟(jì)的替換,以延長可重寫壽命。換句話說,可以減少所準(zhǔn)備的替代存儲器塊的數(shù)目,以延長可重寫壽命??梢员苊鈱⑿阅苌弦呀?jīng)變壞的數(shù)據(jù)塊保持在可重寫狀態(tài),從而可以增強(qiáng)信息存儲的可靠性。不需要在每次存取處理時(shí)都參考表以延長存儲器系統(tǒng)的可重寫壽命,使得能夠確保高速存取和延長可重寫壽命。權(quán)利要求1.一種存儲器系統(tǒng),包括一個(gè)在預(yù)定物理地址單元中包括多個(gè)數(shù)據(jù)塊的非易失性存儲器和一個(gè)響應(yīng)于來自外部的存取請求來控制所述非易失性存儲器的控制器,其中,所述數(shù)據(jù)塊中的每一個(gè)具有用于保存關(guān)于每個(gè)數(shù)據(jù)區(qū)域的重寫計(jì)數(shù)和錯(cuò)誤檢驗(yàn)信息的區(qū)域,以及其中,所述控制器在所述非易失性存儲器上的讀操作中,根據(jù)錯(cuò)誤檢驗(yàn)信息檢查進(jìn)行讀取的區(qū)域中的錯(cuò)誤,并且,當(dāng)已經(jīng)出現(xiàn)錯(cuò)誤時(shí),如果重寫計(jì)數(shù)大于一個(gè)預(yù)定值,將用另一個(gè)數(shù)據(jù)塊替換相關(guān)數(shù)據(jù)塊,或者,如果不大于,校正與錯(cuò)誤有關(guān)的數(shù)據(jù)塊中的數(shù)據(jù)。2.如權(quán)利要求1所述的存儲器系統(tǒng),其中,如果所述控制器在所述非易失性存儲器上的寫操作中不能在被進(jìn)行寫的一個(gè)數(shù)據(jù)塊上進(jìn)行寫,如果重寫計(jì)數(shù)大于一個(gè)預(yù)定值,則用另一個(gè)數(shù)據(jù)塊替換所述數(shù)據(jù)塊,或者,如果不大于,則再次在與失敗有關(guān)的數(shù)據(jù)塊上進(jìn)行寫。3.如權(quán)利要求2所述的存儲器系統(tǒng),其中,如果所述對寫的嘗試再失敗,將用又一個(gè)數(shù)據(jù)塊替換所述數(shù)據(jù)塊。4.一種存儲器系統(tǒng),包括一個(gè)在預(yù)定物理地址單元中包括多個(gè)數(shù)據(jù)塊的非易失性存儲器和一個(gè)響應(yīng)于來自外部的存取請求來控制所述非易失性存儲器的控制器,其中,所述數(shù)據(jù)塊中的每一個(gè)具有用于保存重寫計(jì)數(shù)和錯(cuò)誤校正標(biāo)志的區(qū)域,以及其中,所述控制器在所述非易失性存儲器上的寫操作中,如果數(shù)據(jù)塊的重寫計(jì)數(shù)不大于一個(gè)預(yù)定值,將在被進(jìn)行寫的數(shù)據(jù)塊上執(zhí)行寫處理,如果重寫計(jì)數(shù)大于預(yù)定值并且錯(cuò)誤校正標(biāo)志指示所述數(shù)據(jù)塊已經(jīng)經(jīng)過錯(cuò)誤校正,將用另一個(gè)數(shù)據(jù)塊替換所述數(shù)據(jù)塊,如果指示所述數(shù)據(jù)塊未經(jīng)過錯(cuò)誤校正,將再次在所述數(shù)據(jù)塊上進(jìn)行寫。5.如權(quán)利要求4所述的存儲器系統(tǒng),其中,所述控制器在所述非易失性存儲器上的寫處理中,當(dāng)它不能在被進(jìn)行寫的數(shù)據(jù)塊上進(jìn)行寫時(shí),如果重寫計(jì)數(shù)大于預(yù)定值,則用另一個(gè)數(shù)據(jù)塊替換所述數(shù)據(jù)塊,或者,如果重寫計(jì)數(shù)不大于,則再次在與失敗有關(guān)的數(shù)據(jù)塊上進(jìn)行寫。6.如權(quán)利要求5所述的存儲器系統(tǒng),其中,所述錯(cuò)誤校正標(biāo)志是指示是否已經(jīng)進(jìn)行了錯(cuò)誤校正的一位或更多位的標(biāo)志信息。7.如權(quán)利要求6所述的存儲器系統(tǒng),其中,所述數(shù)據(jù)塊信息具有一個(gè)可以用于保存對應(yīng)于其物理地址的邏輯地址信息的地址信息保存區(qū)域,以及所述控制器根據(jù)作為物理地址的邏輯地址選擇一個(gè)數(shù)據(jù)塊,并根據(jù)所選擇的數(shù)據(jù)塊的物理地址與所述地址信息保存區(qū)域中保存的信息之間的同一性判斷出所選擇的數(shù)據(jù)塊還未被替換。8.如權(quán)利要求7所述的存儲器系統(tǒng),其中,所述非易失性存儲器具有一個(gè)替換地址表,其中,所述替換地址表具有一個(gè)可以用于按照物理地址排列的次序來保存對應(yīng)的邏輯地址信息的地址信息保存區(qū)域,以及其中,當(dāng)所述控制器發(fā)現(xiàn)了根據(jù)作為物理地址的邏輯地址選擇的數(shù)據(jù)塊的物理地址與該數(shù)據(jù)塊的所述地址信息保存區(qū)域中保存的信息之間的不相同時(shí),參考對應(yīng)于替換地址表的物理地址的表信息保存區(qū)域,并找出邏輯地址是由哪個(gè)數(shù)據(jù)塊替換的。9.如權(quán)利要求8所述的存儲器系統(tǒng),其中,對應(yīng)于未向其分配邏輯地址的數(shù)據(jù)塊將未使用代碼存儲在所述表信息保存區(qū)域中,以及其中,所述控制器在替換數(shù)據(jù)塊時(shí)參考所述替換地址表,并將個(gè)對應(yīng)于所述未使用代碼的數(shù)據(jù)塊確定為新的可用替代物。10.如權(quán)利要求7所述的存儲器系統(tǒng),其中,所述控制器用一個(gè)不同于邏輯地址的無效代碼來初始化未向其分配邏輯地址的數(shù)據(jù)塊的地址信息保存區(qū)域。11.如權(quán)利要求10所述的存儲器系統(tǒng),其中,所述控制器在替換一個(gè)數(shù)據(jù)塊時(shí)使得替換數(shù)據(jù)塊的地址信息保存區(qū)域保存要被替換的數(shù)據(jù)塊的物理地址。12.如權(quán)利要求11所述的存儲器系統(tǒng),其中,所述控制器將已經(jīng)經(jīng)歷了寫失敗的數(shù)據(jù)塊置于一個(gè)擦除狀態(tài)。13.如權(quán)利要求5所述的存儲器系統(tǒng),其中,所述多個(gè)數(shù)據(jù)塊中的每個(gè)特定數(shù)據(jù)塊具有一個(gè)用于重寫閾值計(jì)數(shù)數(shù)據(jù)的存儲區(qū)域,以及其中,所述控制器判斷與重寫閾值計(jì)數(shù)數(shù)據(jù)相同的重寫計(jì)數(shù)是所述預(yù)定重寫計(jì)數(shù)。14.如權(quán)利要求13所述的存儲器系統(tǒng),其中,非易失性存儲器是一個(gè)閃速存儲器,所述邏輯地址信息由八位或更多位組成。15.如權(quán)利要求14所述的存儲器系統(tǒng),其中,所述錯(cuò)誤檢驗(yàn)信息是一個(gè)ECC代碼。16.如權(quán)利要求15所述的存儲器系統(tǒng),其中,所述控制器包括外部接口電路、緩沖器、CPU、ECC電路和存儲器接口電路。全文摘要這里提供了一種存儲器系統(tǒng),允許準(zhǔn)備數(shù)個(gè)替換存儲器塊以便擴(kuò)展可重寫壽命,從而有助于提高信息存儲的可靠性。存儲器系統(tǒng)帶有一個(gè)在預(yù)定物理地址單元中包括多個(gè)數(shù)據(jù)塊的非易失性存儲器和一個(gè)響應(yīng)于來自外部的存取請求來控制所述非易失性存儲器的控制器。數(shù)據(jù)塊中的每一個(gè)具有用于保存關(guān)于每個(gè)數(shù)據(jù)區(qū)域的重寫計(jì)數(shù)和錯(cuò)誤檢驗(yàn)信息的區(qū)域??刂破髟诜且资源鎯ζ魃系淖x操作中根據(jù)錯(cuò)誤檢驗(yàn)信息檢查被讀取的區(qū)域中的錯(cuò)誤,并且,當(dāng)有錯(cuò)誤時(shí),如果重寫計(jì)數(shù)大于一個(gè)預(yù)定值,將用另一個(gè)數(shù)據(jù)塊替換相關(guān)數(shù)據(jù)塊,或者,如果不大于,校正與錯(cuò)誤有關(guān)的數(shù)據(jù)塊中的數(shù)據(jù)。文檔編號G11C16/34GK1571069SQ20041000383公開日2005年1月26日申請日期2004年2月6日優(yōu)先權(quán)日2003年2月7日發(fā)明者鹽田茂雅,后藤啟之,澁谷洋文,原郁夫,三谷欣史申請人:株式會社瑞薩科技
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
雷山县| 柳河县| 平舆县| 南和县| 雅江县| 东台市| 成都市| 卢氏县| 屏东市| 三门县| 江油市| 棋牌| 讷河市| 常德市| 永靖县| 调兵山市| 绍兴市| 湖北省| 青川县| 汪清县| 徐州市| 亳州市| 鄢陵县| 万州区| 德钦县| 郓城县| 志丹县| 苏尼特右旗| 威信县| 西青区| 金山区| 荥经县| 株洲县| 郧西县| 绥滨县| 米泉市| 都安| 枞阳县| 赞皇县| 突泉县| 宜丰县|