專利名稱:非易失性存儲(chǔ)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具有電可重寫非易失性存儲(chǔ)器和卡控制器的存儲(chǔ)卡,并且尤其涉及一種解決由重寫期間的斷電造成的不方便的技術(shù),以及一種當(dāng)應(yīng)用于例如閃速存儲(chǔ)卡時(shí)有效的技術(shù)。
背景技術(shù):
未審查的日本專利公開No.平5(1993)-204561(美國專利No.5,644,539)公開的配置為存儲(chǔ)卡上安裝的閃速存儲(chǔ)器具有用于存儲(chǔ)文件數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)區(qū);代替錯(cuò)誤區(qū)的備用存儲(chǔ)區(qū);以及用于存儲(chǔ)數(shù)據(jù)存儲(chǔ)區(qū)的錯(cuò)誤信息的錯(cuò)誤存儲(chǔ)區(qū)。在錯(cuò)誤存儲(chǔ)區(qū)中,代替變?yōu)殄e(cuò)誤的數(shù)據(jù)存儲(chǔ)器的備用存儲(chǔ)器的地址被存儲(chǔ)。
發(fā)明內(nèi)容
然而,在常規(guī)技術(shù)中,為了在重寫時(shí)檢索備用區(qū),必須執(zhí)行順序地讀取物理扇區(qū)的管理信息的處理,或者執(zhí)行從錯(cuò)誤存儲(chǔ)區(qū)讀取備用存儲(chǔ)器的地址等的處理。簡而言之,為了檢索要對其執(zhí)行寫的空閑扇區(qū),從物理扇區(qū)順序地讀取信息的處理是必需的,并且它調(diào)節(jié)高速存取。
本發(fā)明人在此已檢驗(yàn)了,當(dāng)在閃速存儲(chǔ)卡中的寫處理期間電源被斷開時(shí),正在寫的數(shù)據(jù)被破壞了,而且除寫數(shù)據(jù)之外的數(shù)據(jù)消失了,進(jìn)一步,有可能由于耗盡而使更廣范圍內(nèi)的數(shù)據(jù)消失。
具體而言,在重寫閃速存儲(chǔ)器中存儲(chǔ)的信息時(shí),重寫區(qū)中的擦除單位中的數(shù)據(jù)被保存在緩沖器中。此后,執(zhí)行擦除處理,然后,執(zhí)行寫處理。如果在重寫完成之前,操作電源被中斷,則保存的數(shù)據(jù)從緩沖器丟失,并且擦除單位中的所有數(shù)據(jù)都和管理信息一起消失。當(dāng)要重寫的數(shù)據(jù)的大小小于擦除單位時(shí),擦除單位中包括的、不要重寫的數(shù)據(jù)也消失了。例如,通過將存儲(chǔ)卡從存儲(chǔ)器插槽彈出、或者切斷卡主機(jī)的電池電源,來切斷操作電源。當(dāng)在擦除操作期間通過擦除獲得閾值電壓分布之前電源被切斷時(shí),有可能一部分非易失性存儲(chǔ)單元保持為完全擦除狀態(tài)(耗盡)。在其中非易失性存儲(chǔ)單元并行地連接到位線或源線的存儲(chǔ)陣列結(jié)構(gòu)的情況下,即使在未被選擇時(shí),完全擦除狀態(tài)下的非易失性存儲(chǔ)單元也處于接通狀態(tài)(正常地接通),從而電流總是從位線漏到源線。即使當(dāng)共享位線的非易失性存儲(chǔ)單元中有一個(gè)耗盡的非易失性存儲(chǔ)單元,在共享位線的所有非易失性存儲(chǔ)單元中的讀操作中也會(huì)發(fā)生錯(cuò)誤。
本發(fā)明人在此從高速存取和防止由寫處理期間的斷電造成的寫數(shù)據(jù)的破壞的觀點(diǎn),提出了一種具有可擦除及可寫閃速存儲(chǔ)器和卡控制器的存儲(chǔ)卡。根據(jù)該提議,在閃速存儲(chǔ)器的存儲(chǔ)陣列中存儲(chǔ)了擦除表,在該擦除表中,空閑信息標(biāo)志與存儲(chǔ)區(qū)的每一個(gè)物理地址相關(guān)聯(lián)??臻e信息標(biāo)志指示相應(yīng)的存儲(chǔ)區(qū)是否處于可擦除狀態(tài)??刂破鲄⒖荚摬脸?,以便檢索重寫數(shù)據(jù)要被寫到其上的存儲(chǔ)區(qū)。在重寫數(shù)據(jù)時(shí),卡控制器參考擦除表。當(dāng)卡控制器識(shí)別用于指示可擦除狀態(tài)的空閑信息標(biāo)志時(shí),與該空閑信息標(biāo)志相對應(yīng)的物理地址的存儲(chǔ)區(qū)(空閑塊)被設(shè)置為新存儲(chǔ)區(qū),數(shù)據(jù)要被寫到該新存儲(chǔ)區(qū)上。簡而言之,在寫處理中,在寫操作期間,新數(shù)據(jù)被寫入空閑塊中,并且舊數(shù)據(jù)被保存。在寫操作之后,存儲(chǔ)舊數(shù)據(jù)的塊被設(shè)置為空閑塊。因此,即使在寫處理期間電源被切斷的情況下,因?yàn)榕f數(shù)據(jù)被保存了,因此數(shù)據(jù)也不丟失。根據(jù)該方法,數(shù)據(jù)被寫入另一個(gè)存儲(chǔ)區(qū)中,從而需要?jiǎng)討B(tài)地管理邏輯地址與物理地址之間的對應(yīng)關(guān)系。在閃速存儲(chǔ)器上記錄了地址轉(zhuǎn)換表,作為管理對應(yīng)關(guān)系的表。在閃速存儲(chǔ)器上也記錄了擦除表,作為管理空閑塊位置的表,并且在寫處理時(shí),該擦除表用于檢索可擦除塊。每次寫處理都更新地址轉(zhuǎn)換表和擦除表。
本發(fā)明人在此特別檢查了現(xiàn)有技術(shù),并發(fā)現(xiàn)了以下要點(diǎn)。因?yàn)榈刂忿D(zhuǎn)換表和擦除表被記錄在閃速存儲(chǔ)器上,因此存在不能充分保證數(shù)據(jù)區(qū)的情況。當(dāng)執(zhí)行耗盡檢查時(shí),需要檢查閃速存儲(chǔ)器的所有區(qū)。在通電復(fù)位處理期間執(zhí)行耗盡檢查是不現(xiàn)實(shí)的。
本發(fā)明的一個(gè)目的是提供一種存儲(chǔ)卡,該存儲(chǔ)卡具有減少的保存管理信息區(qū)所需的存儲(chǔ)區(qū)。
本發(fā)明的另一個(gè)目的是提供一種存儲(chǔ)卡,即使當(dāng)在存儲(chǔ)信息的重寫處理期間電源被切斷了,該存儲(chǔ)卡也實(shí)現(xiàn)對重寫前數(shù)據(jù)丟失的抑制。
本發(fā)明的另一個(gè)目的是提供一種實(shí)現(xiàn)耗盡檢查所需的時(shí)間的減少的存儲(chǔ)卡。
根據(jù)說明書的描述和附圖,本發(fā)明的以上和其它目的及新穎特征將變得顯而易見。
說明書中公開的本發(fā)明的代表性發(fā)明的概要將簡述如下。
根據(jù)本發(fā)明的非易失性存儲(chǔ)設(shè)備具有電可重寫非易失性存儲(chǔ)器;以及用于執(zhí)行存儲(chǔ)器控制和外部接口控制的卡控制器。該非易失性存儲(chǔ)器包括具有多個(gè)存儲(chǔ)單元的非易失性存儲(chǔ)部分。該非易失性存儲(chǔ)部分包括作為非易失性存儲(chǔ)區(qū)的與邏輯地址相對應(yīng)的物理地址區(qū)和用于保存在物理地址區(qū)中存儲(chǔ)的數(shù)據(jù)的保存區(qū)。響應(yīng)于對所需邏輯地址的數(shù)據(jù)重寫指令,卡控制器將與該邏輯地址相對應(yīng)的預(yù)定物理地址區(qū)中的數(shù)據(jù)存儲(chǔ)到保存區(qū),并重寫該物理地址區(qū)中存儲(chǔ)的數(shù)據(jù)。當(dāng)該物理地址區(qū)的重寫不完全時(shí),卡控制器執(zhí)行將保存區(qū)中存儲(chǔ)的數(shù)據(jù)重寫到該物理地址區(qū)的控制。
根據(jù)本發(fā)明,通過在重寫到保存區(qū)中之前存儲(chǔ)數(shù)據(jù),可以通過從保存區(qū)寫數(shù)據(jù)來處理由重寫完成之前的斷電等造成的故障。因而,可以抑制不希望發(fā)生的由重寫處理期間的斷電造成的重寫前數(shù)據(jù)丟失。進(jìn)一步,當(dāng)在重寫處理期間發(fā)生斷電時(shí),由于斷電而有可能耗盡的非易失性存儲(chǔ)區(qū)或者是保存區(qū),或者是最初保存在保存區(qū)中存儲(chǔ)的數(shù)據(jù)的物理地址區(qū)。保存區(qū)不動(dòng)態(tài)地變化,并且那時(shí)空閑區(qū)不被動(dòng)態(tài)地分配為保存區(qū)。因此,足以在保存區(qū)和由保存區(qū)中存儲(chǔ)的數(shù)據(jù)指定的物理地址區(qū)這兩個(gè)區(qū)中進(jìn)行耗盡檢查。因此,沒有花時(shí)間進(jìn)行耗盡處理。當(dāng)在保存區(qū)中發(fā)生耗盡時(shí),原始數(shù)據(jù)被存儲(chǔ)在最初存儲(chǔ)要保存在保存區(qū)中的數(shù)據(jù)的物理地址區(qū)中。
物理地址區(qū)的重寫的不完全狀態(tài)表示,由于斷電而造成的物理地址區(qū)自身的耗盡。物理地址區(qū)的重寫的不完全狀態(tài)表示,在物理地址區(qū)中沒有有效寫數(shù)據(jù)。例如,該狀態(tài)是以下狀態(tài)分配給物理地址區(qū)的邏輯地址的信息沒有被存儲(chǔ)。
作為本發(fā)明的具體方式,用于指示邏輯地址與物理地址之間的對應(yīng)關(guān)系的表被存儲(chǔ)在非易失性存儲(chǔ)區(qū)中。物理地址區(qū)和保存區(qū)的每一個(gè)都具有數(shù)據(jù)區(qū)和用于數(shù)據(jù)區(qū)的管理區(qū),并且保存區(qū)中的管理區(qū)保存在數(shù)據(jù)區(qū)中存儲(chǔ)的數(shù)據(jù)的邏輯地址。在該情況下,在重寫處理中,從對應(yīng)關(guān)系表獲取與要重寫的邏輯地址相對應(yīng)的物理地址,將獲取的物理地址中存儲(chǔ)的舊數(shù)據(jù)保存在保存區(qū)中,以及此后,將新數(shù)據(jù)寫到該物理地址。在耗盡檢查中,首先,檢查保存區(qū)。當(dāng)沒有發(fā)生耗盡時(shí),獲得管理區(qū)中保存的保存源的邏輯地址。參考對應(yīng)關(guān)系表,獲得與邏輯地址信息(ADR)相對應(yīng)的物理地址,并且足以對物理地址區(qū)進(jìn)行耗盡檢查。
作為本發(fā)明的進(jìn)一步具體方式,管理區(qū)也保存用于指示相應(yīng)數(shù)據(jù)區(qū)中保存的數(shù)據(jù)的有效性的標(biāo)志信息(FLG)。
作為本發(fā)明的又一具體方式,通過對非易失性存儲(chǔ)區(qū)的擦除處理和寫處理來執(zhí)行數(shù)據(jù)重寫,物理地址區(qū)和保存區(qū)的每一個(gè)都被分成一個(gè)或多個(gè)擦除處理單位,該擦除處理單位可以一次全部地被擦除,該擦除處理單位的大小是寫數(shù)據(jù)單位(一列512字節(jié))的若干倍,以及標(biāo)志信息具有能夠基于寫數(shù)據(jù)單位來指示數(shù)據(jù)有效性的多個(gè)位。
當(dāng)在非易失性存儲(chǔ)區(qū)的重寫中,重寫的寫數(shù)據(jù)的大小小于擦除處理單位時(shí),卡控制器將沒有基于擦除單位給出的重寫數(shù)據(jù)寫到其中的非易失性存儲(chǔ)區(qū)中的存儲(chǔ)區(qū)保持為擦除狀態(tài),并在保存區(qū)中,將被維持為擦除狀態(tài)的非易失性存儲(chǔ)區(qū)中的存儲(chǔ)區(qū)中的重寫前數(shù)據(jù)保持為有效。
利用該配置,在執(zhí)行寫具有小于擦除處理單位的數(shù)據(jù)大小的與重寫有關(guān)的寫數(shù)據(jù)的處理,以便重寫非易失性存儲(chǔ)區(qū)時(shí),以及此后,重寫另一個(gè)物理地址區(qū),則卡控制器足以執(zhí)行寫保存區(qū)中已保存的有效備份數(shù)據(jù)的處理,然后存儲(chǔ)下一個(gè)物理地址的數(shù)據(jù)。
作為本發(fā)明的另一具體方式,當(dāng)響應(yīng)于從所需邏輯地址讀數(shù)據(jù)的指令,而不能確認(rèn)與所需邏輯地址相對應(yīng)的預(yù)定物理地址區(qū)的有效性時(shí),卡控制器檢查該邏輯地址的數(shù)據(jù)被存儲(chǔ)在保存區(qū)中,并將保存區(qū)中的數(shù)據(jù)輸出到外部。因而,能夠防止在執(zhí)行把保存區(qū)中存儲(chǔ)的數(shù)據(jù)寫到相應(yīng)物理地址區(qū)的處理之前,讀操作中的數(shù)據(jù)錯(cuò)誤的發(fā)生。
作為本發(fā)明的進(jìn)一步具體方式,當(dāng)在物理地址區(qū)的重寫不完全時(shí)所執(zhí)行的從保存區(qū)到該物理地址區(qū)的數(shù)據(jù)重寫,是響應(yīng)于通電復(fù)位或耗盡檢查命令的執(zhí)行結(jié)果而執(zhí)行的。
作為本發(fā)明的進(jìn)一步具體方式,當(dāng)注意具有所謂的AG-AND存儲(chǔ)陣列配置的非易失性存儲(chǔ)器時(shí),該非易失性存儲(chǔ)器具有多個(gè)非易失性存儲(chǔ)部分(FARY0至FARY3)以及與這些非易失性存儲(chǔ)部分相對應(yīng)的多個(gè)易失性緩沖部分(BMRY0至BMRY3),非易失性存儲(chǔ)部分的擦除單位是寫單位的若干倍,并且每個(gè)易失性緩沖部分都具有寫單位的存儲(chǔ)容量。非易失性存儲(chǔ)器響應(yīng)于從卡控制器給出的存儲(chǔ)信息重寫操作指令,把要重寫的物理地址區(qū)中的存儲(chǔ)數(shù)據(jù),臨時(shí)存儲(chǔ)到要重寫的非易失性存儲(chǔ)部分和另一個(gè)非易失性存儲(chǔ)部分兩者的易失性緩沖部分中。此時(shí),卡控制器執(zhí)行以下控制把易失性緩沖部分中臨時(shí)存儲(chǔ)的數(shù)據(jù)寫到與該易失性緩沖部分相對應(yīng)的非易失性存儲(chǔ)部分的保存區(qū)。
根據(jù)本發(fā)明的另一方面的非易失性存儲(chǔ)設(shè)備包括電可重寫非易失性存儲(chǔ)器;以及用于執(zhí)行存儲(chǔ)器控制和外部接口控制的卡控制器。該非易失性存儲(chǔ)器具有非易失性存儲(chǔ)部分。該非易失性存儲(chǔ)部分包括作為非易失性存儲(chǔ)區(qū)的與邏輯地址相對應(yīng)的物理地址區(qū)和用于保存在物理地址區(qū)中存儲(chǔ)的數(shù)據(jù)的保存區(qū)。當(dāng)在預(yù)定定時(shí)確認(rèn)保存區(qū)中存儲(chǔ)的數(shù)據(jù)的有效性時(shí),卡控制器確定與該保存區(qū)中存儲(chǔ)的數(shù)據(jù)相對應(yīng)的物理地址區(qū)中保存的數(shù)據(jù)的有效性。當(dāng)確認(rèn)數(shù)據(jù)的無效性時(shí),卡控制器利用該保存區(qū)中存儲(chǔ)的數(shù)據(jù)來重寫該物理地址區(qū)中的數(shù)據(jù)。
根據(jù)本發(fā)明,通過在重寫到保存區(qū)中之前存儲(chǔ)數(shù)據(jù),可以通過從保存區(qū)寫數(shù)據(jù)來處理由重寫完成之前的斷電等造成的故障。因而,可以抑制不希望發(fā)生的由重寫處理期間的斷電造成的重寫前數(shù)據(jù)丟失。進(jìn)一步,當(dāng)在重寫處理期間發(fā)生斷電時(shí),由于斷電而有可能耗盡的非易失性存儲(chǔ)區(qū)或者是保存區(qū),或者是最初保存在保存區(qū)中存儲(chǔ)的數(shù)據(jù)的物理地址區(qū)。保存區(qū)不動(dòng)態(tài)地變化,并且那時(shí)空閑區(qū)不被動(dòng)態(tài)地分配為保存區(qū)。因此,足以在保存區(qū)和由保存區(qū)中存儲(chǔ)的數(shù)據(jù)指定的物理地址區(qū)這兩個(gè)區(qū)中進(jìn)行耗盡檢查。
作為本發(fā)明的一種具體方式,保存區(qū)中存儲(chǔ)的數(shù)據(jù)的有效性表示保存區(qū)中沒有存儲(chǔ)有效數(shù)據(jù)。當(dāng)確認(rèn)物理地址區(qū)中存儲(chǔ)的數(shù)據(jù)的無效性時(shí)所執(zhí)行的從保存區(qū)到該物理地址區(qū)的存儲(chǔ)數(shù)據(jù)重寫是響應(yīng)于通電復(fù)位或耗盡檢查命令的執(zhí)行結(jié)果而執(zhí)行的。
作為本發(fā)明的另一種具體方式,響應(yīng)于重寫所需邏輯地址的數(shù)據(jù)的指令,卡控制器將與該邏輯地址相對應(yīng)的預(yù)定物理地址區(qū)中的數(shù)據(jù)存儲(chǔ)到保存區(qū),并重寫該物理地址區(qū)。此時(shí),用于指示邏輯地址與物理地址之間的對應(yīng)關(guān)系的表被存儲(chǔ)在非易失性存儲(chǔ)區(qū)中。物理地址區(qū)和保存區(qū)的每一個(gè)都具有數(shù)據(jù)區(qū)和用于數(shù)據(jù)區(qū)的管理區(qū),并且保存區(qū)中的管理區(qū)保存數(shù)據(jù)區(qū)中存儲(chǔ)的數(shù)據(jù)的邏輯地址。所希望的是,管理區(qū)也保存用于指示相應(yīng)數(shù)據(jù)區(qū)中保存的數(shù)據(jù)的有效性的標(biāo)志信息。
作為本發(fā)明的另一具體方式,通過對非易失性存儲(chǔ)區(qū)進(jìn)行擦除處理和寫處理來執(zhí)行數(shù)據(jù)重寫。物理地址區(qū)和保存區(qū)的每一個(gè)都被分成一個(gè)或多個(gè)擦除處理單位,該擦除處理單位可以一次全部地被擦除,該擦除處理單位的大小是寫數(shù)據(jù)單位的若干倍,以及標(biāo)志信息具有能夠基于寫數(shù)據(jù)單位來指示數(shù)據(jù)有效性的多個(gè)位。
在利用與數(shù)據(jù)重寫指令有關(guān)的邏輯地址相對應(yīng)的物理地址區(qū)中的一個(gè)擦除處理單位中的重寫數(shù)據(jù)來重寫一個(gè)擦除處理單位中寫入的數(shù)據(jù)的一部分的情況下,卡控制器執(zhí)行以下控制把重寫數(shù)據(jù)寫入一個(gè)擦除處理單位中,將該一個(gè)擦除處理單位的其它部分保持為擦除狀態(tài),以及利用寫入數(shù)據(jù)的其他部分將保存區(qū)中存儲(chǔ)的數(shù)據(jù)保持為有效狀態(tài)。
利用該配置,在執(zhí)行寫具有小于擦除處理單位的數(shù)據(jù)大小的與重寫有關(guān)的寫數(shù)據(jù)以便重寫非易失性存儲(chǔ)區(qū)的處理時(shí),以及此后,重寫另一個(gè)物理地址區(qū),則卡控制器足以執(zhí)行寫保存區(qū)中已保存的有效備份數(shù)據(jù)的處理,然后將下一個(gè)物理地址的數(shù)據(jù)存儲(chǔ)到保存區(qū)。
作為本發(fā)明的進(jìn)一步具體方式,當(dāng)注意具有所謂的AG-AND存儲(chǔ)陣列配置的非易失性存儲(chǔ)器時(shí),該非易失性存儲(chǔ)器具有多個(gè)非易失性存儲(chǔ)部分以及與這些非易失性存儲(chǔ)部分相對應(yīng)的多個(gè)易失性緩沖部分,非易失性存儲(chǔ)部分的擦除單位是寫單位的若干倍,并且每個(gè)易失性緩沖部分都具有寫單位的存儲(chǔ)容量。非易失性存儲(chǔ)器響應(yīng)于從卡控制器給出的存儲(chǔ)信息重寫操作指令,把要重寫的物理地址區(qū)中的存儲(chǔ)數(shù)據(jù),臨時(shí)存儲(chǔ)到要重寫的非易失性存儲(chǔ)部分和其他非易失性存儲(chǔ)部分兩者的易失性緩沖部分中。此時(shí),卡控制器執(zhí)行以下控制把易失性緩沖部分中臨時(shí)存儲(chǔ)的數(shù)據(jù)寫到與該易失性緩沖部分相對應(yīng)的非易失性存儲(chǔ)部分的保存區(qū)中。
利用本說明書中公開的本發(fā)明的代表性發(fā)明所獲得的效果將簡述如下。
響應(yīng)于數(shù)據(jù)重寫指令而將要寫的對象是物理地址區(qū)和保存區(qū)兩者。當(dāng)在寫數(shù)據(jù)到保存區(qū)的期間發(fā)生了斷電時(shí),則使用物理地址區(qū)中保留的數(shù)據(jù)。當(dāng)在寫數(shù)據(jù)到物理地址區(qū)的期間發(fā)生了斷電時(shí),則可以使用保存區(qū)中保留的數(shù)據(jù)。因此,可以抑制不希望發(fā)生的由于重寫處理期間的斷電造成的重寫前的數(shù)據(jù)丟失。
在重寫處理期間發(fā)生斷電的情況下,由于斷電而造成有可能耗盡的非易失性存儲(chǔ)區(qū)或者是保存區(qū),或者是最初存儲(chǔ)了保存區(qū)中存儲(chǔ)的數(shù)據(jù)的物理地址區(qū)。因?yàn)楸4鎱^(qū)不動(dòng)態(tài)地變化,并且那時(shí)空閑區(qū)不被動(dòng)態(tài)地分配為保存區(qū),因此,足以在保存區(qū)和由保存區(qū)中存儲(chǔ)的數(shù)據(jù)指定的物理地址區(qū)這兩個(gè)區(qū)中進(jìn)行耗盡檢查。因此,可以縮短耗盡檢查所需的時(shí)間。
除地址轉(zhuǎn)換表以外,用于管理空閑塊位置的擦除表不是必需的。因而,可以減少保存管理用信息區(qū)所需的存儲(chǔ)區(qū)。
圖1所示為根據(jù)本發(fā)明的存儲(chǔ)卡的例子的框圖。
圖2所示為地址轉(zhuǎn)換表的說明圖。
圖3所示為對閃速存儲(chǔ)器的重寫控制過程的流程圖。
圖4所示為圖3中的S2的處理中的數(shù)據(jù)備份狀態(tài)的說明圖。
圖5所示為圖3中的S3的處理中的數(shù)據(jù)寫狀態(tài)的說明圖。
圖6所示為對閃速存儲(chǔ)器的數(shù)據(jù)讀控制過程的流程圖。
圖7所示為耗盡檢查和重寫的控制過程的流程圖。
圖8所示為定義邏輯地址與物理地址之間的對應(yīng)關(guān)系的地址轉(zhuǎn)換表的說明圖。
圖9所示為閃速存儲(chǔ)器的存儲(chǔ)陣列的字段配置的說明圖。
圖10所示為管理區(qū)中的地址信息和標(biāo)志信息的具體種類的說明圖。
圖11所示為在圖9的狀態(tài)下把數(shù)據(jù)D1至D4寫到邏輯地址LA1的操作中,當(dāng)數(shù)據(jù)D1至D4另外被寫到與邏輯地址LA1相對應(yīng)的物理地址PA1時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖12所示為在圖11的狀態(tài)下把數(shù)據(jù)D5至D8寫到邏輯地址LA1的操作中,當(dāng)與邏輯地址LA1相對應(yīng)的物理地址PA1中的數(shù)據(jù)D1至D4第一次被寫到保存塊中時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖13所示為接著圖12的當(dāng)物理地址PA1被擦除時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖14所示為接著圖13的當(dāng)數(shù)據(jù)D5至D8被寫到物理地址PA1的物理塊時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖15所示為把數(shù)據(jù)D5至D7寫到圖11的狀態(tài)下的邏輯地址LA1的情況下,當(dāng)在圖12和圖13之后寫入數(shù)據(jù)D5至D7和管理信息時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖16所示為把數(shù)據(jù)寫到圖15的狀態(tài)下的邏輯地址LA1的列CL3的情況下,當(dāng)數(shù)據(jù)另外被寫到物理地址PA1的列CL3時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖17所示為把數(shù)據(jù)D13至D16寫入圖15的狀態(tài)下的邏輯地址LA2中的情況下,當(dāng)另一個(gè)數(shù)據(jù)已被寫入邏輯地址LA2中時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖18所示為接著圖17的當(dāng)數(shù)據(jù)另外被寫入與邏輯地址LA1相對應(yīng)的物理塊PA1的列CL3中時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖,其中地址MA的保存塊的列CL3的數(shù)據(jù)被保存到邏輯地址LA1。
圖19所示為接著圖18的當(dāng)?shù)刂稭A的保存塊被擦除時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖20所示為接著圖19的當(dāng)物理地址PA2的數(shù)據(jù)D9至D12被寫入地址MA的保存塊22中時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖21所示為接著圖20的當(dāng)物理地址PA2的物理塊被擦除時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖22所示為接著圖21的當(dāng)數(shù)據(jù)D13至D16被寫入物理地址PA2的物理塊中時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖23所示為AG-AND型閃速存儲(chǔ)器的圖解配置的平面圖。
圖24所示為AG-AND型閃速存儲(chǔ)器的存儲(chǔ)體和物理塊的配置的說明圖。
圖25所示為AG-AND型閃速存儲(chǔ)器的存儲(chǔ)體BNK0至BNK3的每一個(gè)中的一個(gè)物理塊23和一個(gè)保存塊22的說明圖。
圖26所示為AN-AND型閃速存儲(chǔ)器2上保存的地址轉(zhuǎn)換表的說明圖。
圖27所示為當(dāng)把數(shù)據(jù)寫到圖25的狀態(tài)下的與邏輯地址LA0至LA7相對應(yīng)的物理地址PA0至PA3的物理塊時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖28所示為在把數(shù)據(jù)A0和A1寫入圖27的狀態(tài)下的邏輯地址LA0的物理塊PA0的寫單位中的高位列CL0和CL1中的操作中,當(dāng)?shù)谝淮螌?shù)據(jù)保存在物理塊PA0和PA1的保存塊中時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖29所示為接著圖28的當(dāng)對物理地址PA0和PA1的物理塊執(zhí)行擦除時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖30所示為接著圖29的當(dāng)數(shù)據(jù)A0和A1被寫入與邏輯地址LA0相對應(yīng)的物理塊中的寫單位的高位列中時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖31所示為接著圖30的在把數(shù)據(jù)A2寫入邏輯地址LA0的列CL2中的情況下,當(dāng)數(shù)據(jù)另外被寫入時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖32所示為在把數(shù)據(jù)B5、B6和B7寫到圖31的狀態(tài)下的邏輯地址LA5的列CL1至CL3的處理中,當(dāng)?shù)谝淮螌⑦壿嫷刂稬A4至LA7(PA2和PA3)的數(shù)據(jù)寫到保存塊MA0至MA3的低位側(cè)時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖33所示為接著圖32的當(dāng)PA2和PA3的物理塊被擦除時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖34所示為接著圖33的當(dāng)數(shù)據(jù)B5、B6和B7被寫到邏輯地址LA5的列CL1至CL3時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖35所示為在把數(shù)據(jù)C0至C7寫到圖34的狀態(tài)下的邏輯地址LA8和LA9(除保存塊中的數(shù)據(jù)以外的數(shù)據(jù)的地址)的處理中,當(dāng)將保存塊中的有效數(shù)據(jù)重寫到相應(yīng)的物理塊時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖36所示為接著圖35的當(dāng)保存塊MA0至MA3被擦除時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖37所示為接著圖36的當(dāng)與邏輯地址LA8至LA11相對應(yīng)的物理地址PA4和PA5的物理塊被保存到保存塊MA0至MA3的高位側(cè)時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖38所示為接著圖37的當(dāng)物理地址PA4和PA5的物理塊被擦除時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖39所示為接著圖38的當(dāng)數(shù)據(jù)C0和C7被寫到物理地址PA4和PA5的高位物理塊(被分配給邏輯地址LA8和LA9)時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
圖40所示為接著圖39的在把數(shù)據(jù)C8至CF寫入邏輯地址LA8和LA9中的情況下,當(dāng)數(shù)據(jù)另外被寫入時(shí),存儲(chǔ)陣列的狀態(tài)的說明圖。
具體實(shí)施例方式
存儲(chǔ)卡圖1顯示了根據(jù)本發(fā)明的存儲(chǔ)卡的例子。存儲(chǔ)卡1在安裝板上具有可擦除及可寫非易失性存儲(chǔ)器,諸如閃速存儲(chǔ)器2;取DRAM(動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)或SRAM(靜態(tài)隨機(jī)存取存儲(chǔ)器)形式的緩沖存儲(chǔ)器4;以及用于執(zhí)行存儲(chǔ)器控制和外部接口控制的卡控制器5。
緩沖存儲(chǔ)器4和閃速存儲(chǔ)器2受卡控制器5的存取控制。盡管未顯示,但閃速存儲(chǔ)器2具有存儲(chǔ)陣列ARY,許多電可擦除及可寫非易失性存儲(chǔ)單元晶體管以矩陣形式排列在該存儲(chǔ)陣列ARY中。盡管未顯示,但存儲(chǔ)單元晶體管(也被描述為閃速存儲(chǔ)單元)由以下構(gòu)成在半導(dǎo)體襯底或阱中形成的源極和漏極;通過源極與漏極之間的溝道區(qū)中的隧道氧化膜形成的浮動(dòng)?xùn)?;以及通過層間絕緣膜、在浮動(dòng)?xùn)派戏叫纬傻目刂茤???刂茤胚B接到相應(yīng)的字線,漏極連接到相應(yīng)的位線,以及源極連接到源線。當(dāng)電子被注入浮動(dòng)?xùn)艜r(shí),存儲(chǔ)單元晶體管的閾值電壓增大,以及當(dāng)電子從浮動(dòng)?xùn)烹x開時(shí),存儲(chǔ)單元晶體管的閾值電壓減小。存儲(chǔ)單元晶體管根據(jù)相對于讀數(shù)據(jù)用的字線電壓(施加于控制柵的電壓)的閾值電壓來存儲(chǔ)信息。雖然不受限,但是在本說明書中,將把減小存儲(chǔ)單元晶體管的閾值電壓的處理稱為擦除處理,以及把增大存儲(chǔ)單元晶體管的閾值電壓的處理稱為寫處理。
在圖1中,卡控制器5是例如與主計(jì)算機(jī)(主機(jī)裝置)6進(jìn)行外部接口控制??刂破?具有根據(jù)來自主計(jì)算機(jī)6的指令存取閃速存儲(chǔ)器2的存取控制功能。存取控制功能是硬盤兼容的控制功能。例如,當(dāng)主計(jì)算機(jī)6將一組扇區(qū)數(shù)據(jù)管理為文件數(shù)據(jù)時(shí),卡控制器5通過將扇區(qū)地址作為與物理存儲(chǔ)地址相對應(yīng)的邏輯地址,來對閃速存儲(chǔ)器2執(zhí)行存取控制。在圖1中,卡控制器5包括主機(jī)接口電路10,作為計(jì)算控制裝置的微處理器(MPU)11,閃速控制器12,以及緩沖控制器13。閃速控制器12具有未顯示的ECC(檢錯(cuò)與糾錯(cuò))電路。
MPU 11具有CPU(中央處理單元)15、程序存儲(chǔ)器(PGM)16、工作RAM(WRAM)17等,并作為整體控制卡控制器5。程序存儲(chǔ)器16存儲(chǔ)CPU 15的操作程序等。
主機(jī)接口電路10是按照預(yù)定的協(xié)議,諸如ATA(AT附屬裝置ATAttachment)、IDE(集成設(shè)備電路)、SCSI(小型計(jì)算機(jī)系統(tǒng)接口)、MMC(多媒體卡)或PCMCIA(個(gè)人計(jì)算機(jī)存儲(chǔ)卡國際協(xié)會(huì)),與諸如個(gè)人計(jì)算機(jī)或工作站的主計(jì)算機(jī)6進(jìn)行接口的電路。主機(jī)接口操作受MPU 11控制。
緩沖控制器13根據(jù)從MPU 11給出的存取指令,來控制對緩沖存儲(chǔ)器4的存儲(chǔ)器存取操作。輸入到主機(jī)接口10的數(shù)據(jù)或從主機(jī)接口10輸出的數(shù)據(jù)被臨時(shí)保存在緩沖存儲(chǔ)器4中。從閃速存儲(chǔ)器2讀出的數(shù)據(jù)或要寫到閃速存儲(chǔ)器2上的數(shù)據(jù)被臨時(shí)存儲(chǔ)在緩沖存儲(chǔ)器4中。
閃速控制器12根據(jù)從MPU 11給出的存取指令,來控制對閃速存儲(chǔ)器2的讀操作、擦除操作和寫操作。閃速控制器12在讀操作中輸出諸如讀命令碼和讀地址信息的讀控制信息,在寫操作中輸出諸如寫命令碼和寫地址信息的寫控制信息,以及在擦除操作中輸出諸如擦除命令的擦除控制信息。未顯示的ECC電路根據(jù)從MPU 11給出的指令,來產(chǎn)生用于要寫到閃速存儲(chǔ)器2的數(shù)據(jù)的糾錯(cuò)碼,并將該糾錯(cuò)碼加到寫數(shù)據(jù)上。ECC電路利用添加到讀出數(shù)據(jù)上的糾錯(cuò)碼,對從閃速存儲(chǔ)器2讀出的數(shù)據(jù)執(zhí)行錯(cuò)誤檢測和糾正處理,以便糾正可糾錯(cuò)范圍內(nèi)的錯(cuò)誤。
閃速存儲(chǔ)器2在非易失性存儲(chǔ)陣列(ARY)20中具有地址轉(zhuǎn)換表(ACTLB)21,其作為指示邏輯地址與物理地址之間的對應(yīng)關(guān)系的表;保存區(qū)(或保存塊)22;以及多個(gè)物理地址區(qū)(或物理塊)23。保存區(qū)22和物理地址區(qū)23具有相同的字段配置,包括數(shù)據(jù)區(qū)DAT和用于相應(yīng)的數(shù)據(jù)區(qū)的管理區(qū)。管理區(qū)保存在相應(yīng)數(shù)據(jù)區(qū)中保存的數(shù)據(jù)的邏輯地址信息LA;以及指示相應(yīng)數(shù)據(jù)區(qū)中保存的數(shù)據(jù)的有效性的多位標(biāo)志信息FLG。標(biāo)志信息FLG指示物理地址區(qū)中的數(shù)據(jù)區(qū)的有效性/無效性,并指示保存區(qū)中的數(shù)據(jù)區(qū)的使用/未使用狀態(tài)。只要保存區(qū)22的數(shù)據(jù)保存特性沒有惡化,保存區(qū)22中的物理地址MA就被固定。當(dāng)保存區(qū)22變得有缺陷時(shí),新的物理地址被分配給該保存區(qū)。雖然不受限,但是利用地址轉(zhuǎn)換表21中的最后存儲(chǔ)區(qū),來定義保存區(qū)的物理地址。作為替換,可以將存儲(chǔ)陣列20中除地址轉(zhuǎn)換表21以外的特定存儲(chǔ)區(qū)用作定義區(qū)。
圖2顯示了地址轉(zhuǎn)換表21。在地址轉(zhuǎn)換表21中,邏輯地址LA和物理地址PA彼此相關(guān)聯(lián)。當(dāng)物理地址變得有缺陷時(shí),新的物理地址被分配給與地址轉(zhuǎn)換表21上的該有缺陷的物理地址相對應(yīng)的邏輯地址,由此更新地址轉(zhuǎn)換表21。
圖3顯示了重寫閃速存儲(chǔ)器的控制過程。首先,響應(yīng)于從卡主機(jī)收到的、指定了邏輯地址的數(shù)據(jù)重寫指令,卡控制器5參考地址轉(zhuǎn)換表21,并獲得與邏輯地址LA相對應(yīng)的物理地址PA(S1)。接下來,卡控制器5利用所獲得的物理地址PA來讀閃速存儲(chǔ)器2,并將讀出的數(shù)據(jù)(舊數(shù)據(jù))存儲(chǔ)到物理地址MA的保存區(qū)22中(S2)。在保存區(qū)22中的管理區(qū)中,存儲(chǔ)了與物理地址PA相對應(yīng)的邏輯地址LA,并且標(biāo)志信息FLG從表示未使用的碼改變?yōu)楸硎臼褂弥械拇a。圖4顯示了步驟S2中的數(shù)據(jù)備份的狀態(tài)。此后,卡控制器擦除具有物理地址PA的物理地址區(qū),并將寫數(shù)據(jù)(新數(shù)據(jù))從卡主機(jī)寫入受到擦除處理的物理地址區(qū)(S3)。在管理區(qū)中,寫入被分配了物理地址區(qū)的邏輯地址LA,并且寫入“有效”碼作為標(biāo)志信息。圖5顯示了步驟S3中的數(shù)據(jù)寫處理的狀態(tài)。
圖6顯示了從閃速存儲(chǔ)器讀數(shù)據(jù)的控制過程。首先,在讀邏輯地址LA的情況下,通過參考圖2的地址轉(zhuǎn)換表21,來獲得與邏輯地址LA相對應(yīng)的物理地址PA(S11)。讀出物理地址PA的管理信息(S12),并確定物理地址PA是否為有缺陷的塊(S13)。如果不是,則從物理地址PA的物理塊讀出數(shù)據(jù)(S14),并結(jié)束讀處理。在步驟S13中物理地址PA是有缺陷塊的情況下,讀取保存塊的管理信息(S15),從讀出的管理信息獲得保存的邏輯地址,并確定該地址是否與要讀取的邏輯地址LA相匹配(S16)。如果該地址與邏輯地址LA相匹配,則讀取保存塊(S17),并結(jié)束讀處理。如果該地址與邏輯地址LA不匹配,則認(rèn)為它是讀錯(cuò)誤。
圖7顯示了耗盡檢查及重寫的控制過程。圖7的處理響應(yīng)于通電復(fù)位的取消,或響應(yīng)于來自卡主機(jī)的耗盡檢查命令而開始。
首先,當(dāng)指示耗盡檢查時(shí),對地址MA的保存塊進(jìn)行耗盡檢查(S21)。通過以下處理來進(jìn)行耗盡檢查當(dāng)未選中閃速存儲(chǔ)單元時(shí),確定在漏極與源極之間是否發(fā)生漏電流。當(dāng)在步驟S22中發(fā)現(xiàn)了耗盡時(shí),則擦除地址MA的保存塊(S23),在地址MA的保存塊中產(chǎn)生管理信息(S24),以及將地址MA的保存塊重現(xiàn)為可用狀態(tài)。簡而言之,將標(biāo)志信息FLG設(shè)置為未使用狀態(tài),以及將地址信息ADR設(shè)置為未定義的。當(dāng)保存塊中存儲(chǔ)的數(shù)據(jù)的邏輯地址是LA、并且在具有地址MA的保存塊中發(fā)生耗盡時(shí),在與邏輯地址LA相對應(yīng)的物理地址PA的物理塊中沒有耗盡。
當(dāng)在步驟S22中、在具有地址MA的保存塊中沒有耗盡時(shí),讀取該保存塊的管理信息(S25),并從讀出的管理信息獲得保存塊的邏輯地址LA(S26)。利用地址轉(zhuǎn)換表21,從邏輯地址LA獲得相應(yīng)的物理地址PA(S27)。對所獲得的物理地址PA的物理塊進(jìn)行耗盡檢查(S28)。當(dāng)在步驟S29中有耗盡時(shí),從物理地址MA的保存塊獲得數(shù)據(jù)(S30),擦除物理地址PA的物理塊(S31),以及將從物理地址MA的保存塊獲得的數(shù)據(jù)寫入物理地址PA的物理塊中(S32)。
在存儲(chǔ)卡1中,將要響應(yīng)于數(shù)據(jù)重寫指令而被寫的對象是物理塊23和保存塊22兩者。當(dāng)在寫數(shù)據(jù)到保存塊22的期間發(fā)生了斷電時(shí),使用物理塊23中保留的數(shù)據(jù)。當(dāng)在寫數(shù)據(jù)到物理塊23的期間發(fā)生了斷電時(shí),可以使用保存塊22中保留的數(shù)據(jù)。因此,可以抑制不希望發(fā)生的、由于重寫處理期間的斷電而造成的重寫前的數(shù)據(jù)丟失。
在重寫處理期間發(fā)生斷電的情況下,由于斷電而有可能發(fā)生耗盡的非易失性存儲(chǔ)區(qū)或者是保存塊22,或者是最初存儲(chǔ)備份在保存塊22中的數(shù)據(jù)的物理塊23。因?yàn)楸4鎵K22不動(dòng)態(tài)地變化,并且空閑區(qū)不被動(dòng)態(tài)地分配給保存塊22,因此足以對保存塊22和由保存塊22中存儲(chǔ)的備份數(shù)據(jù)指定的物理塊23這兩個(gè)塊進(jìn)行耗盡檢查??梢钥s短耗盡檢查所需的時(shí)間。
此外,除地址轉(zhuǎn)換表以外,不需要用于管理空閑塊的位置的擦除表,從而可以減少保存管理用信息所需的存儲(chǔ)區(qū)。
使用AND(“與”)型閃速存儲(chǔ)器的具體例子接下來,將具體描述在所謂的AND型閃速存儲(chǔ)器被用作存儲(chǔ)卡1上安裝的閃速存儲(chǔ)器2的情況下執(zhí)行的重寫操作。盡管未顯示,但是在AND型閃速存儲(chǔ)器的存儲(chǔ)陣列中,基于存儲(chǔ)塊單位、以矩陣形式排列的非易失性存儲(chǔ)單元的控制柵在X方向上連接到字線,非易失性存儲(chǔ)單元的漏極在Y方向上連接到子位線,非易失性存儲(chǔ)單元的源極共同地連接到源線。子位線通過選擇開關(guān)連接到總位線。擦除單位等于存儲(chǔ)塊單位。在日本未審查的專利公開No.平11(1999)-232886中,公開了所謂的AND型閃速存儲(chǔ)器的細(xì)節(jié)。
在閃速存儲(chǔ)器2中,保存了圖8中所示的邏輯地址與物理地址的地址轉(zhuǎn)換表。AND型閃速存儲(chǔ)器2的擦除處理和寫處理的單位是2112字節(jié)。如圖9所示,在閃速存儲(chǔ)器2的存儲(chǔ)陣列中,一個(gè)物理塊具有2112字節(jié)的存儲(chǔ)容量,并由每一列都具有512字節(jié)的列CL0至CL3的數(shù)據(jù)區(qū)、和32字節(jié)的管理區(qū)構(gòu)成。在管理區(qū)中,存儲(chǔ)了相應(yīng)的地址信息和標(biāo)志信息。物理地址MA的物理塊用作保存塊。
圖10顯示了管理區(qū)的地址信息和標(biāo)志信息的具體種類。在物理塊的數(shù)據(jù)區(qū)中,標(biāo)志信息FLG被分配給列CL0至CL3?!癋000”表示列CL0有效?!?F00”表示列CL1有效?!?0F0”表示列CL2有效?!?00F”表示列CL3有效。因此,當(dāng)CL0與CL1的數(shù)據(jù)有效、并且CL2與CL3的數(shù)據(jù)無效時(shí),標(biāo)志信息為“FF00”。在保存塊的數(shù)據(jù)區(qū)中,標(biāo)志信息FLG不被分配給列CL0至CL3的每一列。作為整個(gè)數(shù)據(jù)區(qū),“0000”表示未使用,“FF00”表示使用中,以及“FFFF”表示已使用。其它信息被忽略。
圖9顯示了在寫數(shù)據(jù)之前存儲(chǔ)陣列的狀態(tài)。在物理地址PA1的物理塊的管理區(qū)中,記錄了邏輯地址LA1和標(biāo)志“0000”的信息。
在圖9的狀態(tài)下、把“512字節(jié)×4”的數(shù)據(jù)D1至D4寫到邏輯地址LA1的情況下,如圖11所示,數(shù)據(jù)D1至D4和標(biāo)志信息“FFFF”另外被寫到與邏輯地址LA1相對應(yīng)的物理地址PA1。
圖12至14顯示了,在圖11的狀態(tài)下、把“512字節(jié)×4”的數(shù)據(jù)D5至D8寫到邏輯地址LA1的情況下所執(zhí)行的操作。首先,如圖12所示,將與邏輯地址LA1相對應(yīng)的物理地址PA1的數(shù)據(jù)D1至D4保存在物理地址MA的保存塊22中。標(biāo)志信息“FF00”(使用中)和地址LA1被設(shè)置,作為保存塊22中的管理信息。此后,如圖13所示,擦除物理地址PA1中的數(shù)據(jù)。最后,如圖14所示,將數(shù)據(jù)D5至D8、標(biāo)志信息“FFFF”(所有列都有效)和地址信息LA1寫入物理地址PA1的物理塊23中。保存塊22的標(biāo)志信息被設(shè)置為“FFFF”(已使用)。
在圖11的狀態(tài)下、把“512字節(jié)×3”的數(shù)據(jù)D5至D7寫到邏輯地址LA1的物理塊23的情況下,執(zhí)行圖12和13的操作,此后,執(zhí)行圖15的操作。具體而言,在圖15中,將數(shù)據(jù)D5至D7寫到物理地址PA1的物理塊23中,將管理信息的標(biāo)志信息設(shè)置為“FFF0”,以及使列CL0至CL2有效。地址MA的保存塊22中的標(biāo)志信息“FF00”保持不變。當(dāng)在該狀態(tài)下執(zhí)行讀處理時(shí),可以從物理地址PA1的物理塊23中的管理區(qū)中的標(biāo)志信息確定,在列CL0至CL2中存在有效數(shù)據(jù)。關(guān)于無效列CL3中的數(shù)據(jù),根據(jù)圖6的流程圖來讀取地址MA的保存塊22中的列CL3中的數(shù)據(jù)。
在圖15的狀態(tài)下、把數(shù)據(jù)寫到與邏輯地址LA1相對應(yīng)的物理塊23中的列CL3的情況下,如圖16所示,另外將數(shù)據(jù)寫到物理地址PA1的列CL3上,將管理區(qū)的標(biāo)志信息設(shè)置為“FFFF”,以及使列CL3的數(shù)據(jù)D8有效。將保存塊22中的管理區(qū)中的標(biāo)志信息改變?yōu)楸硎尽耙咽褂脿顟B(tài)”的“FFFF”就足夠了。
圖17至22顯示了在圖15的狀態(tài)下、把“512字節(jié)×4”的數(shù)據(jù)D13至D16寫到邏輯地址LA2的情況下所執(zhí)行的操作。假定,如圖17所示,數(shù)據(jù)D9至D12已被寫入與邏輯地址LA2相對應(yīng)的物理地址PA2中。首先,如圖18所示,地址MA的保存塊22中的列CL3中的數(shù)據(jù)另外被寫到與作為目的地的邏輯地址LA1相對應(yīng)的PA1的物理塊23中的列CL3上。接下來,如圖19所示,擦除地址MA的保存塊22。此后,如圖20所示,將物理地址PA2的數(shù)據(jù)D9至D12寫到地址MA的保存塊22上。將管理區(qū)的標(biāo)志信息設(shè)置為“FF00”(使用中),并將地址信息設(shè)置為LA2。此后,如圖21所示,擦除物理地址PA2的物理塊23。最后,如圖22所示,將數(shù)據(jù)D13至D16寫入物理地址PA2的物理塊23中。將物理塊的標(biāo)志信息設(shè)置為“FFFF”。另外寫入了表示“已使用”的“FFFF”,作為地址MA的保存塊22中的標(biāo)志信息。
使用AG-AND型閃速存儲(chǔ)器的具體例子以下將具體描述在所謂的AG-AND型閃速存儲(chǔ)器用作存儲(chǔ)卡上安裝的閃速存儲(chǔ)器的情況下所執(zhí)行的重寫操作。盡管未顯示,AG-AND型閃速存儲(chǔ)器中的存儲(chǔ)陣列具有以下配置用于AND型閃速存儲(chǔ)器中的存儲(chǔ)陣列的鄰近兩個(gè)子位線被組合成一個(gè)子位線,并且擦除單位被設(shè)置成是寫單位的兩倍大。在國際公開WO 03/073431中描述了所謂的AG-AND型閃速存儲(chǔ)器的細(xì)節(jié)。在此將描述存儲(chǔ)簇(memory mat)的配置的細(xì)節(jié)。圖23所示為AG-AND型閃速存儲(chǔ)器的圖解配置平面圖。
圖23所示的閃速存儲(chǔ)器1具有,例如四個(gè)存儲(chǔ)體BNK0至BNK3和控制器CNT。存儲(chǔ)體BNK0至BNK3分別把閃速存儲(chǔ)陣列FARY0至FARY3作為非易失性存儲(chǔ)器,以及把緩沖存儲(chǔ)器BMRY0至BMRY3作為易失性緩沖器。緩沖存儲(chǔ)器被設(shè)置在一個(gè)閃速存儲(chǔ)陣列的右側(cè)和左側(cè)。為方便起見,為右側(cè)的緩沖存儲(chǔ)器附加后綴(R),以及為左側(cè)的緩沖存儲(chǔ)器附加后綴(L)。
閃速存儲(chǔ)器1的外部輸入/輸出端子i/o0至i/o7用作地址輸入端子、數(shù)據(jù)輸入端子、數(shù)據(jù)輸出端子以及命令輸入端子。閃速存儲(chǔ)器1接收外部存取控制信號(hào),諸如命令鎖存使能信號(hào)CLE。控制器CNT根據(jù)存取控制信號(hào)的狀態(tài)來控制與外部的信號(hào)接口功能,而且也根據(jù)輸入的命令來控制內(nèi)部操作。四個(gè)存儲(chǔ)體BNK0至BNK3能夠并行地操作。
閃速存儲(chǔ)陣列FARY0至FARY3的每一個(gè)都具有許多以矩陣形式排列的非易失性存儲(chǔ)單元。雖然不受限,但是一個(gè)非易失性存儲(chǔ)單元由周知的浮動(dòng)?xùn)判途w管構(gòu)成。例如,非易失性存儲(chǔ)單元由以下構(gòu)成在阱區(qū)域中形成的源極和漏極;通過源極與漏極之間的溝道區(qū)中的隧道氧化膜形成的浮動(dòng)?xùn)牛灰约巴ㄟ^層間絕緣膜在浮動(dòng)?xùn)派戏叫纬傻目刂茤?。控制柵連接到字線,漏極連接到位線,以及源極連接到源線。
在AG-AND型閃速存儲(chǔ)器2中,一個(gè)物理塊具有4224字節(jié)的存儲(chǔ)容量,寫單位是2112字節(jié),即4224字節(jié)的一半,以及擦除單位是4224字節(jié)。一個(gè)物理塊的上面一半和下面一半各由以下構(gòu)成四列的數(shù)據(jù)區(qū)DAT,每一列都具有512字節(jié);以及32字節(jié)的管理區(qū)(邏輯地址信息ADR和標(biāo)志信息FLG)。在一個(gè)物理塊中,提供了高位邏輯地址和低位邏輯地址。
保存塊22被分配給存儲(chǔ)體BNK0至BNK3的每一個(gè)中的特定物理地址。保存塊的功能和AND型閃速存儲(chǔ)器中的相同。
緩沖存儲(chǔ)器BMRY0至BMRY3取例如SRAM(靜態(tài)隨機(jī)存取存儲(chǔ)器)的形式,臨時(shí)保存從閃速存儲(chǔ)陣列FARY0至FARY3讀出的存儲(chǔ)數(shù)據(jù),以及臨時(shí)保存要寫到閃速存儲(chǔ)陣列FARY0至FARY3的數(shù)據(jù)。為存儲(chǔ)體而設(shè)置的緩沖存儲(chǔ)器BMRY0至BMRY3的每一個(gè)的存儲(chǔ)容量是2112字節(jié),等于寫處理單位。緩沖存儲(chǔ)器BMRY0至BMRY3被分開到存儲(chǔ)體的右側(cè)和左側(cè)。分開的一個(gè)緩沖存儲(chǔ)器的存儲(chǔ)容量是1056字節(jié)。
圖24顯示了AG-AND型閃速存儲(chǔ)器的存儲(chǔ)體和物理塊的配置。如上所述,AG-AND型閃速存儲(chǔ)器2有四個(gè)存儲(chǔ)體。一個(gè)存儲(chǔ)體包括具有8192個(gè)物理塊的擦除塊。擦除塊由兩個(gè)寫單位構(gòu)成。
圖25顯示了AG-AND型閃速存儲(chǔ)器的存儲(chǔ)體BNK0至BNK3的每一個(gè)中的一個(gè)物理塊23和保存塊22。顯示了物理地址PA0至PA3的物理塊和物理地址MA0至MA3的保存塊。如上所述,物理塊和保存塊的每一個(gè)都等于擦除單位,寫單位是擦除單位的一半,并且基于寫單位來分配邏輯地址。具體而言,圖25顯示寫數(shù)據(jù)之前的初始狀態(tài),在該初始狀態(tài)下,數(shù)據(jù)區(qū)DAT處于擦除狀態(tài),邏輯地址LA0至LA7被存儲(chǔ)為管理區(qū)中的地址信息ADR,以及分配邏輯地址的方式為使得邏輯地址LA0被分配在PA0的寫單位的高位側(cè),邏輯地址LA2被分配在PA0的寫單位的低位側(cè),邏輯地址LA1被分配在PA1的寫單位的高位側(cè),以及邏輯地址LA3被分配在PA1的寫單位的低位側(cè)。物理地址MA0至MA3是分配給保存塊的固定的物理地址,并具有擦除單位的大小。數(shù)據(jù)區(qū)DAT是四列CL0至CL3的集合,每一列都以類似于以上的方式具有512字節(jié)。當(dāng)在存儲(chǔ)區(qū)發(fā)生錯(cuò)誤時(shí),分配給保存塊的物理地址被改變。
物理塊和保存塊的每一個(gè)都具有基于寫單位的管理信息。標(biāo)志信息FLG和邏輯地址信息ADR被記錄,作為管理信息。標(biāo)志信息FLG和地址信息ADR與圖10所示的相同。在物理塊中,寫入了與物理地址相對應(yīng)的邏輯地址。在保存塊中,寫入了所保存的數(shù)據(jù)的邏輯地址。
圖26顯示了AG-AND型閃速存儲(chǔ)器2中存儲(chǔ)的地址轉(zhuǎn)換表。這樣分配與邏輯地址相對應(yīng)的物理地址,使得不象如上所述的那樣將連續(xù)的邏輯地址分配給一個(gè)物理塊,其原因如下因?yàn)榫彌_存儲(chǔ)器BMRY0至BMRY3的每一個(gè)的存儲(chǔ)容量等于寫單位,并且存儲(chǔ)體BNK0至BNK3能夠彼此并行地操作,利用這種配置,能夠高速地執(zhí)行對連續(xù)邏輯地址的寫和讀操作。
圖27顯示了一種狀態(tài),其中將數(shù)據(jù)寫入圖25的狀態(tài)下的與邏輯地址LA0至LA7相對應(yīng)的物理地址PA0至PA3的物理塊中。因?yàn)閷懭肓擞行?shù)據(jù),因此“FFFF”被記錄為管理信息中的標(biāo)志FLG。
圖28至30顯示了把數(shù)據(jù)A0和A1寫入在圖27的狀態(tài)下被分配了邏輯地址LA0的物理塊PA0的寫單位的高位的列CL0和CL1中的處理。首先,如圖28所示,將物理塊PA0的寫單位的高位中的數(shù)據(jù)0至3保存到保存塊M0的寫單位的高位,將物理塊PA0的寫單位的低位中的數(shù)據(jù)8至B保存到保存塊MA2的寫單位的高位,將物理塊PA1的寫單位的高位中的數(shù)據(jù)4至7保存到保存塊MA1的寫單位的高位,以及將物理塊PA1的寫單位的低位中的數(shù)據(jù)C至F保存到保存塊MA3。只使用保存塊MA0至MA3的每一個(gè)的高位側(cè)的原因是,利用存儲(chǔ)體BNK0至BNK3的并行寫操作立即保存數(shù)據(jù)。LA0、LA1、LA2和LA3被寫入,作為保存塊中的管理區(qū)中的地址信息ADR,以及“FF00”被寫入,作為標(biāo)志信息FLG。在圖29中,物理地址PA0和PA1的物理塊被擦除。在圖30中,數(shù)據(jù)A0和A1被寫到與邏輯地址LA0相對應(yīng)的物理地址PA0的物理塊的寫單位的高位中的列CL0和CL1上。在PA0的寫單位的高位的管理區(qū)中,寫入了邏輯地址信息LA0和標(biāo)志信息“FF00”。在PA1的寫單位的高位的管理區(qū)中,寫入了邏輯地址信息LA1和標(biāo)志信息“0000”。
在讀處理中,如同通過參考圖6所述的,確定在保存塊中是否存在要讀取的數(shù)據(jù)。在圖30中,LA0的數(shù)據(jù)被記錄在保存塊MA0和物理塊PA0兩者中。從物理塊PA0讀取其中在物理塊中設(shè)置了有效標(biāo)志的列。從保存塊MA0讀取其中在物理塊中設(shè)置了無效標(biāo)志的列。因?yàn)槲锢韷KPA1的標(biāo)志是無效標(biāo)志,如同LA1和LA3中的數(shù)據(jù)一樣,因此從保存塊MA0讀取所有列CL0至CL3中的數(shù)據(jù)。
在圖30的狀態(tài)下、把數(shù)據(jù)A2寫入邏輯地址LA0的列CL2中的情況下,因?yàn)閿?shù)據(jù)已被保存,并且邏輯地址LA0的列CL2處于已擦除狀態(tài),因此如圖31所示,另外寫數(shù)據(jù)并且另外將“F”寫入邏輯地址LA0的列CL2的標(biāo)志中就足夠了。
圖32至34顯示了,把數(shù)據(jù)B5、B6和B7寫到在圖31的狀態(tài)下的邏輯地址LA5的列CL1至CL3的操作的處理。在圖32中,邏輯地址LA4至LA7(PA2、PA3)中的數(shù)據(jù)被寫到保存塊MA0至MA3的低位側(cè)。LA4至LA7被寫入,作為保存塊MA0至MA3的低位側(cè)的管理區(qū)中的地址信息,并且表示“使用中”的“FF00”被寫入作為標(biāo)志信息。在圖33中,物理塊PA2和PA3被擦除。在圖34中,數(shù)據(jù)B5、B6和B7被寫入物理地址LA5的列CL1至CL3中。與列CL1至CL3相一致地寫入了“F”、并在其它列中寫入了“0”,作為物理塊PA3的高位側(cè)的管理區(qū)中的標(biāo)志信息。
圖35至39顯示了,把數(shù)據(jù)C0至C7寫到在圖34的狀態(tài)下的邏輯地址LA8和LA9(除保存塊中的數(shù)據(jù)之外的數(shù)據(jù)的地址)的處理。在圖35中,圖34狀態(tài)下的保存塊中的有效數(shù)據(jù),具體為,邏輯地址LA0的列CL3中的數(shù)據(jù)和邏輯地址LA1至LA3中的數(shù)據(jù)被重寫到相應(yīng)的物理塊。通過物理塊的標(biāo)志,來確定保存塊是否有效。在圖36中,保存塊MA0至MA3被擦除。在圖37中,與邏輯地址LA8至LA11相對應(yīng)的物理地址PA4和PA5的物理塊被保存到保存塊MA0至MA3的高位側(cè)。LA8至LA11被寫入,作為保存塊MA0至MA3的管理區(qū)的地址信息,并且表示“使用中”的“FF00”被寫入,作為標(biāo)志信息。在圖38中,物理地址PA4和PA5的物理塊被擦除。在圖39中,數(shù)據(jù)C0至C7被寫到物理地址PA4和PA5的高位物理塊(被分配給邏輯地址LA8和LA9)。在與邏輯地址LA8和LA9相對應(yīng)的管理區(qū)中,寫入了“FFFF”,作為標(biāo)志信息。在與邏輯地址LA10和LA11相對應(yīng)的管理區(qū)中,寫入了“0000”,作為標(biāo)志信息。因?yàn)樵诒4鎵KMA0和MA1的高位側(cè)有效數(shù)據(jù)消失了,因此表示“已使用”的標(biāo)志信息“FFFF”被寫入相應(yīng)的管理區(qū)中。
在把數(shù)據(jù)C8至CF寫入圖39的狀態(tài)下的邏輯地址LA8和LA9中的情況下,因?yàn)閿?shù)據(jù)已被保存,并且邏輯地址LA8和LA9處于已擦除狀態(tài),因此如圖40所示,又寫入了數(shù)據(jù),并且另外和邏輯地址LA8和LA9相一致地寫入了標(biāo)志信息“FFFF”。
雖然以上已經(jīng)根據(jù)實(shí)施例具體描述了本發(fā)明人在此實(shí)現(xiàn)的本發(fā)明,但是顯然,可以在不背離要點(diǎn)的情況下以各種方式修改本發(fā)明。
例如,可以適當(dāng)?shù)馗淖兾锢韷K和保存塊的大小,標(biāo)志信息的含義等。另外,也可以改變存儲(chǔ)陣列的存儲(chǔ)體配置。在根據(jù)本發(fā)明的存儲(chǔ)卡上,也可以安裝由IC(集成電路)卡微型計(jì)算機(jī)代表的安全控制器。本發(fā)明不限于存儲(chǔ)諸如四位的多值的非易失性存儲(chǔ)單元,而是自然地,也可以采用存儲(chǔ)兩位信息的非易失性存儲(chǔ)單元。此外,閃速存儲(chǔ)器中的非易失性存儲(chǔ)單元不限于堆疊柵結(jié)構(gòu),而可以采用其中選擇晶體管部分和存儲(chǔ)晶體管部分串聯(lián)地排列的分離柵結(jié)構(gòu)。
雖然已經(jīng)描述了將本發(fā)明人在此實(shí)現(xiàn)的本發(fā)明應(yīng)用于上面安裝了AND型閃速存儲(chǔ)器的存儲(chǔ)卡、以及上面安裝了AG-AND型閃速存儲(chǔ)器的存儲(chǔ)卡的情況,作為背景應(yīng)用領(lǐng)域,但是本發(fā)明也可應(yīng)用于上面安裝了NAND(“與非”)型閃速存儲(chǔ)器的存儲(chǔ)卡、以及上面安裝了NOR(“或非”)型閃速存儲(chǔ)器的存儲(chǔ)卡。
權(quán)利要求
1.一種非易失性存儲(chǔ)設(shè)備,包括電可重寫非易失性存儲(chǔ)器;以及卡控制器,用于執(zhí)行存儲(chǔ)器控制和外部接口控制,其中,所述非易失性存儲(chǔ)器包括具有多個(gè)存儲(chǔ)單元的非易失性存儲(chǔ)部分,所述非易失性存儲(chǔ)部分包括作為非易失性存儲(chǔ)區(qū)的物理地址區(qū)和保存區(qū),該物理地址區(qū)的每一個(gè)都與一邏輯地址相對應(yīng);該保存區(qū)用于保存在所述物理地址區(qū)的任意之一中存儲(chǔ)的數(shù)據(jù),其中,在響應(yīng)于從其外部收到的對所需邏輯地址的數(shù)據(jù)寫指令的第一存取中,所述卡控制器將與所述所需邏輯地址相對應(yīng)的第一物理地址區(qū)中存儲(chǔ)的第一數(shù)據(jù)存儲(chǔ)到所述保存區(qū),并將第二數(shù)據(jù)寫入所述第一物理地址區(qū)中,以及其中,當(dāng)在與響應(yīng)于所述數(shù)據(jù)寫指令的所述第一存取不同的對所述第一物理地址區(qū)的存取中,檢測到所述第一物理地址區(qū)的寫不完全時(shí),所述卡控制器執(zhí)行把所述保存區(qū)中存儲(chǔ)的所述第一數(shù)據(jù)寫到所述第一物理地址區(qū)的控制。
2.根據(jù)權(quán)利要求1所述的非易失性存儲(chǔ)設(shè)備,其中所述第一物理地址區(qū)的寫不完全狀態(tài)是由于在所述第一存取期間發(fā)生的斷電而造成的所述第一物理地址區(qū)的一個(gè)或多個(gè)存儲(chǔ)單元的閾值電壓處于負(fù)電壓電平。
3.根據(jù)權(quán)利要求1所述的非易失性存儲(chǔ)設(shè)備,其中所述第一物理地址區(qū)的寫不完全狀態(tài)表示在該物理地址區(qū)中沒有正確的寫數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的非易失性存儲(chǔ)設(shè)備,其中,用于在邏輯地址與物理地址之間進(jìn)行轉(zhuǎn)換的地址轉(zhuǎn)換表被存儲(chǔ)在所述非易失性存儲(chǔ)區(qū)中,其中,所述物理地址區(qū)和所述保存區(qū)的每一個(gè)都具有數(shù)據(jù)區(qū)和用于該數(shù)據(jù)區(qū)的管理區(qū),以及其中,所述保存區(qū)中的所述管理區(qū)保存所述保存區(qū)中存儲(chǔ)的所述第一數(shù)據(jù)的所述所需邏輯地址。
5.根據(jù)權(quán)利要求4所述的非易失性存儲(chǔ)設(shè)備,其中所述管理區(qū)保存用于指示在相應(yīng)的數(shù)據(jù)區(qū)中保存的數(shù)據(jù)的有效性的標(biāo)志信息。
6.根據(jù)權(quán)利要求5所述的非易失性存儲(chǔ)設(shè)備,其中,在響應(yīng)于對所述非易失性存儲(chǔ)區(qū)的所述數(shù)據(jù)寫指令而執(zhí)行寫處理之前,執(zhí)行擦除處理,其中,所述物理地址區(qū)和所述保存區(qū)的每一個(gè)都被分成所述擦除處理的一個(gè)或多個(gè)擦除單位,所述擦除單位的大小是寫數(shù)據(jù)單位的若干倍,以及其中,所述標(biāo)志信息具有能夠基于所述寫數(shù)據(jù)單位來指示數(shù)據(jù)有效性的多個(gè)位。
7.根據(jù)權(quán)利要求6所述的非易失性存儲(chǔ)設(shè)備,其中,在利用與所述數(shù)據(jù)寫指令有關(guān)的所述所需邏輯地址相對應(yīng)的所述第一物理地址區(qū)中的一個(gè)擦除單位中的重寫數(shù)據(jù),來重寫一個(gè)寫數(shù)據(jù)單位中寫入的數(shù)據(jù)的一部分的情況下,所述卡控制器執(zhí)行以下控制把所述第一物理地址區(qū)中存儲(chǔ)的所述第一數(shù)據(jù)存儲(chǔ)到所述保存區(qū)中,擦除包括所述第一物理地址區(qū)的第一擦除單位中存儲(chǔ)的數(shù)據(jù),將所述重寫數(shù)據(jù)寫入所述第一物理地址區(qū)的一部分中,將所述第一物理地址區(qū)的其它部分保持為擦除狀態(tài),以及將所述保存區(qū)中存儲(chǔ)的所述第一數(shù)據(jù)的其他部分保持為有效狀態(tài)。
8.根據(jù)權(quán)利要求7所述的非易失性存儲(chǔ)設(shè)備,其中,在所述保存區(qū)中的所述第一數(shù)據(jù)的所述其他部分保持為有效狀態(tài)的情況下,在響應(yīng)于與第二擦除單位中包括的第二物理地址區(qū)相對應(yīng)的所述數(shù)據(jù)寫指令的第二存取中,所述卡控制器將所述保存區(qū)中存儲(chǔ)的所述第一數(shù)據(jù)的所述其他部分存儲(chǔ)到所述第一物理地址區(qū)中,并且此后,執(zhí)行把所述第二物理地址區(qū)中存儲(chǔ)的第三數(shù)據(jù)存儲(chǔ)到所述保存區(qū)的控制。
9.根據(jù)權(quán)利要求5所述的非易失性存儲(chǔ)設(shè)備,其中,當(dāng)與響應(yīng)于數(shù)據(jù)讀指令的第三存取的所需邏輯地址相對應(yīng)的物理地址區(qū)的有效性不能被確認(rèn)時(shí),所述卡控制器檢查響應(yīng)于所述數(shù)據(jù)讀指令的所述所需邏輯地址的數(shù)據(jù)被存儲(chǔ)在所述保存區(qū)中,并將該保存區(qū)中的數(shù)據(jù)輸出到外部。
10.根據(jù)權(quán)利要求1所述的非易失性存儲(chǔ)設(shè)備,其中,當(dāng)檢測到其所述寫不完全時(shí)所執(zhí)行的從所述保存區(qū)到所述第一物理地址區(qū)的所述第一數(shù)據(jù)的寫是響應(yīng)于通電復(fù)位而執(zhí)行的。
11.根據(jù)權(quán)利要求2所述的非易失性存儲(chǔ)設(shè)備,其中,當(dāng)檢測到其所述寫不完全時(shí)所執(zhí)行的從所述保存區(qū)到所述第一物理地址區(qū)的所述第一數(shù)據(jù)的寫是響應(yīng)于耗盡檢查命令的執(zhí)行結(jié)果而執(zhí)行的。
12.根據(jù)權(quán)利要求5所述的非易失性存儲(chǔ)設(shè)備,其中,所述非易失性存儲(chǔ)器具有多個(gè)組,所述組的每一個(gè)都包括所述非易失性存儲(chǔ)部分以及與所述非易失性存儲(chǔ)部分相對應(yīng)的易失性緩沖部分,所述非易失性存儲(chǔ)部分的擦除單位是寫數(shù)據(jù)單位的若干倍,所述易失性緩沖部分具有所述寫數(shù)據(jù)單位的存儲(chǔ)容量,其中,所述非易失性存儲(chǔ)器響應(yīng)于從所述卡控制器給出的重寫操作指令,把要重寫的物理地址區(qū)中的存儲(chǔ)數(shù)據(jù)臨時(shí)存儲(chǔ)到要重寫的非易失性存儲(chǔ)部分和另一個(gè)非易失性存儲(chǔ)部分兩者的易失性緩沖部分中,以及其中,所述卡控制器執(zhí)行以下控制把所述易失性緩沖部分中存儲(chǔ)的所述存儲(chǔ)數(shù)據(jù)寫到與所述物理地址區(qū)相對應(yīng)的非易失性存儲(chǔ)部分的所述保存區(qū)中。
13.一種非易失性存儲(chǔ)設(shè)備,包括電可重寫非易失性存儲(chǔ)器;以及卡控制器,用于執(zhí)行存儲(chǔ)器控制和外部接口控制,其中,所述非易失性存儲(chǔ)器具有非易失性存儲(chǔ)部分,所述非易失性存儲(chǔ)部分包括作為非易失性存儲(chǔ)區(qū)的物理地址區(qū)和保存區(qū),該物理地址區(qū)與邏輯地址相對應(yīng),該保存區(qū)用于保存該物理地址區(qū)中存儲(chǔ)的數(shù)據(jù),以及其中,當(dāng)在預(yù)定定時(shí)確認(rèn)所述保存區(qū)中存儲(chǔ)的數(shù)據(jù)的有效性時(shí),所述卡控制器確定與該保存區(qū)中存儲(chǔ)的數(shù)據(jù)相對應(yīng)的物理地址區(qū)中保存的數(shù)據(jù)的有效性,以及當(dāng)確認(rèn)該數(shù)據(jù)的無效性時(shí),利用所述保存區(qū)中存儲(chǔ)的數(shù)據(jù)來重寫該物理地址區(qū)中的數(shù)據(jù)。
14.根據(jù)權(quán)利要求13所述的非易失性存儲(chǔ)設(shè)備,其中所述保存區(qū)中存儲(chǔ)的數(shù)據(jù)的有效性表示在所述保存區(qū)中沒有存儲(chǔ)有效數(shù)據(jù)。
15.根據(jù)權(quán)利要求13所述的非易失性存儲(chǔ)設(shè)備,其中,當(dāng)確認(rèn)所述物理地址區(qū)中存儲(chǔ)的數(shù)據(jù)的無效性時(shí)所執(zhí)行的從所述保存區(qū)到所述物理地址區(qū)的存儲(chǔ)數(shù)據(jù)的重寫是響應(yīng)于通電復(fù)位而實(shí)現(xiàn)的。
16.根據(jù)權(quán)利要求13所述的非易失性存儲(chǔ)設(shè)備,其中,當(dāng)確認(rèn)所述物理地址區(qū)中存儲(chǔ)的數(shù)據(jù)的無效性時(shí)所執(zhí)行的從所述保存區(qū)到該物理地址區(qū)的備份數(shù)據(jù)的重寫是響應(yīng)于耗盡檢查命令的執(zhí)行結(jié)果而實(shí)現(xiàn)的。
17.根據(jù)權(quán)利要求13所述的非易失性存儲(chǔ)設(shè)備,其中,響應(yīng)于重寫所需邏輯地址的數(shù)據(jù)的指令,所述卡控制器將與該邏輯地址相對應(yīng)的預(yù)定物理地址區(qū)中的數(shù)據(jù)存儲(chǔ)到所述保存區(qū)中,并重寫該物理地址區(qū)。
18.根據(jù)權(quán)利要求17所述的非易失性存儲(chǔ)設(shè)備,其中,用于指示邏輯地址與物理地址之間的對應(yīng)關(guān)系的表被存儲(chǔ)在所述非易失性存儲(chǔ)區(qū)中,其中,所述物理地址區(qū)和所述保存區(qū)的每一個(gè)都具有數(shù)據(jù)區(qū)和用于該數(shù)據(jù)區(qū)的管理區(qū),以及其中,所述保存區(qū)中的所述管理區(qū)保存該數(shù)據(jù)區(qū)中存儲(chǔ)的數(shù)據(jù)的邏輯地址。
19.根據(jù)權(quán)利要求18所述的非易失性存儲(chǔ)設(shè)備,其中,所述管理區(qū)也保存用于指示相應(yīng)的數(shù)據(jù)區(qū)中保存的數(shù)據(jù)的有效性的標(biāo)志信息。
20.根據(jù)權(quán)利要求19所述的非易失性存儲(chǔ)設(shè)備,其中,通過對所述非易失性存儲(chǔ)區(qū)進(jìn)行擦除處理和寫處理來執(zhí)行所述數(shù)據(jù)重寫,其中,所述物理地址區(qū)和保存區(qū)的每一個(gè)都被分成一個(gè)或多個(gè)擦除處理單位,該擦除處理單位可以一次全部地被擦除,該擦除處理單位的大小是寫數(shù)據(jù)單位的若干倍,以及其中,所述標(biāo)志信息具有能夠基于所述寫數(shù)據(jù)單位來指示數(shù)據(jù)有效性的多個(gè)位。
21.根據(jù)權(quán)利要求20所述的非易失性存儲(chǔ)設(shè)備,其中,在利用與所述數(shù)據(jù)重寫指令有關(guān)的邏輯地址相對應(yīng)的所述物理地址區(qū)中的一個(gè)擦除處理單位中的重寫數(shù)據(jù)來重寫該一個(gè)擦除處理單位中寫入數(shù)據(jù)的一部分的情況下,所述卡控制器執(zhí)行以下控制把所述重寫數(shù)據(jù)寫入一個(gè)擦除處理單位中,將該一個(gè)擦除處理單位的其它部分保持為擦除狀態(tài),以及利用該寫入數(shù)據(jù)的其他部分將所述保存區(qū)中存儲(chǔ)的數(shù)據(jù)保持為有效狀態(tài)。
22.根據(jù)權(quán)利要求21所述的非易失性存儲(chǔ)設(shè)備,其中,在所述寫入數(shù)據(jù)的其他部分將所述保存區(qū)中存儲(chǔ)的數(shù)據(jù)保持為有效狀態(tài)的情況下,在響應(yīng)于與另一個(gè)擦除處理單位相對應(yīng)的所述數(shù)據(jù)重寫指令而重寫數(shù)據(jù)時(shí),所述卡控制器基于所述一個(gè)擦除處理單位來存儲(chǔ)所述保存區(qū)中存儲(chǔ)的所述寫入數(shù)據(jù)的其他部分,并且此后,執(zhí)行把基于所述另一個(gè)擦除處理單位存儲(chǔ)的數(shù)據(jù)存儲(chǔ)到所述保存區(qū)的控制。
23.根據(jù)權(quán)利要求20所述的非易失性存儲(chǔ)設(shè)備,其中,所述非易失性存儲(chǔ)器具有所述多個(gè)非易失性存儲(chǔ)部分以及與所述非易失性存儲(chǔ)部分相對應(yīng)的多個(gè)易失性緩沖部分,所述非易失性存儲(chǔ)部分的擦除單位是寫單位的若干倍,所述易失性緩沖部分的每一個(gè)都具有所述寫單位的存儲(chǔ)容量,其中,所述非易失性存儲(chǔ)器響應(yīng)于從所述卡控制器給出的存儲(chǔ)的信息重寫操作指令,把要重寫的物理地址區(qū)中的存儲(chǔ)數(shù)據(jù)臨時(shí)存儲(chǔ)到要重寫的非易失性存儲(chǔ)部分和另一個(gè)非易失性存儲(chǔ)部分兩者的易失性緩沖部分中,以及其中,所述卡控制器執(zhí)行以下控制把所述易失性緩沖部分中臨時(shí)存儲(chǔ)的數(shù)據(jù)寫到與該易失性緩沖部分相對應(yīng)的非易失性存儲(chǔ)部分的保存區(qū)中。
全文摘要
本發(fā)明涉及抑制由重寫處理期間的斷電造成的數(shù)據(jù)丟失,并涉及縮短進(jìn)行耗盡檢查所需的時(shí)間。一種非易失性存儲(chǔ)設(shè)備包括可重寫非易失性存儲(chǔ)器和卡控制器。該非易失性存儲(chǔ)器具有與邏輯地址相對應(yīng)的物理地址區(qū)和保存區(qū)。響應(yīng)于對所需邏輯地址的數(shù)據(jù)重寫指令,卡控制器將與該邏輯地址相對應(yīng)的預(yù)定物理地址區(qū)中的數(shù)據(jù)存儲(chǔ)到保存區(qū),并重寫該物理地址區(qū)中存儲(chǔ)的數(shù)據(jù)。當(dāng)物理地址區(qū)的重寫不完全時(shí),卡控制器利用保存區(qū)中存儲(chǔ)的數(shù)據(jù)來重寫物理地址區(qū)中的數(shù)據(jù)。因而,利用數(shù)據(jù)備份可以抑制由斷電造成的數(shù)據(jù)丟失,并且足以在保存區(qū)和物理地址區(qū)這兩個(gè)地方進(jìn)行耗盡檢查。
文檔編號(hào)G11C16/06GK1677571SQ200510054740
公開日2005年10月5日 申請日期2005年3月11日 優(yōu)先權(quán)日2004年3月12日
發(fā)明者白石敦, 四方淳史, 中村靖宏, 小昌誠 申請人:株式會(huì)社瑞薩科技