專(zhuān)利名稱:存儲(chǔ)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種使用非易失性半導(dǎo)體存儲(chǔ)設(shè)備的存儲(chǔ)器系統(tǒng)。
背景技術(shù):
一些個(gè)人計(jì)算機(jī)(PC)將硬盤(pán)設(shè)備用作為次級(jí)存^i殳備。在這些PC
中,已知一種技術(shù)用于對(duì)已經(jīng)存儲(chǔ)在硬盤(pán)設(shè)備中的數(shù)據(jù)進(jìn)行備份,從而防止數(shù)據(jù)由于某種故障的原因變?yōu)闊o(wú)效。例如,當(dāng)探測(cè)到改變硬盤(pán)設(shè)備中的數(shù)據(jù)的行為時(shí),取得快照,作為在改變之前的數(shù)據(jù)的備除拷貝,并且,生成對(duì)數(shù)據(jù)進(jìn)行的改變的日志。接著,在每一預(yù)定時(shí)間重復(fù)下述過(guò)程,所述過(guò)程用于取得新快照、在取得新快照之前使得過(guò)去取得的日志無(wú)效,以及
生成新日志(例如參見(jiàn)美國(guó)專(zhuān)利申請(qǐng)/〉開(kāi)No. 2006/0224636)。 一旦由于某種原因數(shù)據(jù)變?yōu)闊o(wú)效,則可以通過(guò)參考快照和日志恢復(fù)該數(shù)據(jù)。通常存在兩類(lèi)日志前日志(pre-log)和后日志(post-log)。前日志是在數(shù)據(jù)更新之前生成的日志,作為指示出數(shù)據(jù)將如何被更新的更新計(jì)劃。另一方面,后日志是用于在數(shù)據(jù)被實(shí)際更新之后認(rèn)可對(duì)數(shù)據(jù)的更新的日志。
近年來(lái),作為非易失性半導(dǎo)體存儲(chǔ)設(shè)備的NAND閃速存儲(chǔ)器的容量已經(jīng)取得了顯著提升。結(jié)果,包括將NAND閃速存儲(chǔ)器作為次級(jí)存儲(chǔ)設(shè)備的存儲(chǔ)器系統(tǒng)的PC已經(jīng)i^了實(shí)際4吏用。例如,在NAND閃速存儲(chǔ)器中,以頁(yè)大小為單位來(lái)執(zhí)行數(shù)據(jù)寫(xiě)入和讀出,而以塊大小為單位來(lái)執(zhí)行數(shù)據(jù)擦除。因此,在NAND閃速存儲(chǔ)器中,分別以各個(gè)塊的各個(gè)頁(yè)來(lái)寫(xiě)入前日志和后日志。 一種用于將等于或大于2位的多個(gè)數(shù)據(jù)(多值數(shù)據(jù))存儲(chǔ)于一個(gè)存儲(chǔ)器單元中的技術(shù)(多值存儲(chǔ)器技術(shù))有時(shí)被用于NAND閃速存儲(chǔ)器(例如參見(jiàn)JP-A 2004-192789 (KOKAI))。因此,在引入NAND閃速存儲(chǔ)器的PC中,用于將PC從電源的異常隔離或類(lèi)似情形中復(fù)位的過(guò)程
是困難的,或者數(shù)據(jù)無(wú)法被恢復(fù)。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一方面,提供了一種存儲(chǔ)器系統(tǒng),包括易失性第一存儲(chǔ)單元;非易失性第二存儲(chǔ)單元,包括可以在其中存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器單元;以及控制器,用于經(jīng)由所述第一存儲(chǔ)單元執(zhí)行在主機(jī)設(shè)備和所述第二存儲(chǔ)單元之間的數(shù)據(jù)傳送,將管理信息存儲(chǔ)在所述第一存儲(chǔ)單元中,所述管理信息包括在啟動(dòng)操作期間在所述第二存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)的存儲(chǔ)位置,以及在更新所存儲(chǔ)的管理信息時(shí),基于所存儲(chǔ)的管理信息執(zhí)行在所述第 一和第二存儲(chǔ)單元中的數(shù)據(jù)管理。在所述第 一存儲(chǔ)單元中存儲(chǔ)的最新?tīng)顟B(tài)的管理信息也凈皮存儲(chǔ)在所述第二存儲(chǔ)單元中,并在啟動(dòng)操作期間由所述控制器從所述第二存儲(chǔ)單元進(jìn)行讀取。所述管理信息包括快照,其中當(dāng)預(yù)定條件被滿足時(shí)存儲(chǔ)所述第一存儲(chǔ)單元的第一管理信息;作為在管理信息改變之前和之后的差異信息的前日志,其在所述管理信息出現(xiàn)改變之前生成;以及關(guān)于管理信息中的改變的后日志,其在所述管理信息出現(xiàn)改變之后生成。所述第二存儲(chǔ)單元在其中將所述前日志和后日志存儲(chǔ)在各個(gè)擦除單元區(qū)的相同區(qū)中。
根據(jù)本發(fā)明的另一方面,提供了一種存儲(chǔ)器系統(tǒng),包括易失性第一存儲(chǔ)單元;非易失性第二存儲(chǔ)單元,包括可以存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器單元;以及控制器,用于經(jīng)由所述第一存儲(chǔ)單元執(zhí)行在主機(jī)設(shè)備和所述第二存儲(chǔ)單元之間的數(shù)據(jù)傳送;將管理信息存儲(chǔ)在所述第一存儲(chǔ)單元中,所述管理信息包括在啟動(dòng)操作期間在所述第二存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)的存儲(chǔ)位置;以及在更新所存儲(chǔ)的管理信息時(shí),基于所存儲(chǔ)的管理信息執(zhí)行在所述第一和第二存儲(chǔ)單元中的數(shù)據(jù)管理。在所述第 一存儲(chǔ)單元中存儲(chǔ)的最新?tīng)顟B(tài)的管理信息也被存儲(chǔ)在所述第二存儲(chǔ)單元中,并在啟動(dòng)操作期間由所述控制器從所述第二存儲(chǔ)單元進(jìn)行讀取。所述管理信息包括快照,其中當(dāng)預(yù)定條件被滿足時(shí)存儲(chǔ)所述笫一存儲(chǔ)單元的第一管理信息;前日志,作為所述管理信息被改變之前和之后的差異信息,所述前日志在所述管理信息出現(xiàn)
改變之前生成;以及后日志,與所述管理信息的改變有關(guān),所述后日志在所述管理信息出現(xiàn)改變之后生成。所述第二存儲(chǔ)單元在其中,從在所述第二存儲(chǔ)單元的不同擦除單元區(qū)中的快照被存儲(chǔ)之前已經(jīng)分別存儲(chǔ)的所述前日志的持續(xù)區(qū)以及所述后日志的持續(xù)區(qū)開(kāi)始,按順序地將所述前日志和后曰志存儲(chǔ)在各個(gè)擦除單元區(qū)的相同區(qū)中。
根據(jù)本發(fā)明的又一方面,提供了一種存儲(chǔ)器系統(tǒng),包括易失性第一存儲(chǔ)單元;非易失性第二存儲(chǔ)單元,包括可以存儲(chǔ)多值數(shù)據(jù)的存儲(chǔ)器單元;以及控制器,用于經(jīng)由所述第一存儲(chǔ)單元執(zhí)行在主機(jī)設(shè)備和所述第二存儲(chǔ)單元之間的數(shù)據(jù)傳送;將管理信息存儲(chǔ)在所述第一存儲(chǔ)單元中,所述管理信息包括在啟動(dòng)操作期間在所述第二存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)的存儲(chǔ)位置;以及在更新所存儲(chǔ)的管理信息時(shí),基于所存儲(chǔ)的管理信息執(zhí)行在所述第一和第二存儲(chǔ)單元中的數(shù)據(jù)管理。所述第二存儲(chǔ)單元在其中還存儲(chǔ)已經(jīng)以最新?tīng)顟B(tài)存儲(chǔ)在所述第一存儲(chǔ)單元中的管理信息。所述最新?tīng)顟B(tài)的管理信息在啟動(dòng)操作期間由所述控制器進(jìn)行讀取,并且所述管理信息包括快照,其中當(dāng)預(yù)定條件被滿足時(shí)存儲(chǔ)所述第一存儲(chǔ)單元的第一管理信息;前曰志,作為所述管理信息被改變之前和之后的差異信息,所述前日志在所述管理信息出現(xiàn)改變之前獲得;以及后日志,作為所述管理信息的改變之前和之后的差異信息,所述后日志在所述管理信息出現(xiàn)改變之后獲得。
圖1是才艮據(jù)本發(fā)明第 一 實(shí)施例的存儲(chǔ)器系統(tǒng)的配置的示例的框圖;圖2是NAND存儲(chǔ)器的任意塊的配置的示例的電路圖;圖3A是DRAM的功能配置的示意圖,而圖3B是NAND存儲(chǔ)器的功能配置的示意圖4是用于管理存儲(chǔ)器系統(tǒng)中存儲(chǔ)的數(shù)據(jù)的層結(jié)構(gòu)的示例的圖;圖5示出了高速緩沖存儲(chǔ)器管理信息表的示例;圖6示出了邏輯NAND管理信息表的示例;圖7示出了 NAND內(nèi)邏輯-物理轉(zhuǎn)換信息表的示例;圖8是才艮據(jù)第一實(shí)施例在管理信息存儲(chǔ)區(qū)中存儲(chǔ)的管理信息存儲(chǔ)信息的內(nèi)容的示例的示意圖;圖9描述了日志的示例;
圖10是圖1示出的驅(qū)動(dòng)控制電路的功能配置的示例的框圖ll是才艮據(jù)第一實(shí)施例的數(shù)據(jù)管理單元的功能配置的示例的框圖12是根據(jù)第一實(shí)施例由存儲(chǔ)器系統(tǒng)執(zhí)行的管理信息的存儲(chǔ)處理過(guò)
程的示例的流程圖13是用于說(shuō)明根據(jù)第一實(shí)施例的由存儲(chǔ)器系統(tǒng)執(zhí)行的前日志和后
曰志的存儲(chǔ)處理的圖14是根據(jù)第一實(shí)施例由存儲(chǔ)器系統(tǒng)執(zhí)行的管理信息的恢復(fù)處理過(guò)
程的示例的流程圖15是用于說(shuō)明根據(jù)第 一 實(shí)施例對(duì)于管理信息的恢復(fù)處理的圖;圖16A至16D是存儲(chǔ)器單元中的數(shù)據(jù)與存儲(chǔ)單元的閾值電壓以及
NAND存儲(chǔ)器中的寫(xiě)入順序之間的關(guān)系的示例的圖17A至17D是用于說(shuō)明針對(duì)用于管理信息的恢復(fù)的日志的選擇方法
的圖(1);
圖18E至18G是用于"^兌明針對(duì)用于管理信息的恢復(fù)的日志的選擇方法的圖(2);
圖19H至191是用于說(shuō)明針對(duì)用于管理信息的恢復(fù)的日志的選擇方法的圖(3);
圖20是用于說(shuō)明將提取的前日志或后日志的圖;圖21是根據(jù)本發(fā)明第二實(shí)施例的數(shù)據(jù)管理單元的功能配置的示例的框圖22A至22C是用于說(shuō)明在各個(gè)塊中對(duì)前日志和后日志的存儲(chǔ)順序以及對(duì)于后日志的打開(kāi)順序的圖23A和23B是用于說(shuō)明根據(jù)本發(fā)明第三實(shí)施例的用于前日志的邏輯塊和用于后日志的邏輯塊的圖;圖24是根據(jù)本發(fā)明第四實(shí)施例在管理信息存儲(chǔ)區(qū)中存儲(chǔ)的管理信息存儲(chǔ)信息的內(nèi)容的示例的示意圖25是用于說(shuō)明根據(jù)第四實(shí)施例的針對(duì)存儲(chǔ)器系統(tǒng)的前日志和后曰志的存儲(chǔ)處理的圖26是用于說(shuō)明根據(jù)第四實(shí)施例的對(duì)于存儲(chǔ)器系統(tǒng)的管理信息的恢復(fù)處理的圖27A至27D是用于說(shuō)明針對(duì)用于管理信息的恢復(fù)的日志的選擇方法的圖(1);
圖28E至28G是用于說(shuō)明針對(duì)用于管理信息的恢復(fù)的日志的選擇方法的圖(2);
圖29H至291是用于說(shuō)明針對(duì)用于管理信息的恢復(fù)的日志的選擇方法的圖(3);
圖30A至30C是用于說(shuō)明根據(jù)本發(fā)明第五實(shí)施例對(duì)前日志和后日志的存儲(chǔ)順序以及對(duì)于數(shù)據(jù)管理單元的后日志的打開(kāi)順序的圖31A和31B是用于說(shuō)明用于前日志的邏輯塊和用于后日志的邏輯塊的圖32是根據(jù)本發(fā)明第七實(shí)施例在管理信息存儲(chǔ)區(qū)中存儲(chǔ)的管理信息存儲(chǔ)信息的內(nèi)容的示例的示意圖33是根據(jù)第七實(shí)施例的由存儲(chǔ)器系統(tǒng)執(zhí)行的管理信息的存儲(chǔ)處理過(guò)程的示例的流程圖34是用于說(shuō)明根據(jù)笫七實(shí)施例的由存儲(chǔ)器系統(tǒng)執(zhí)行的前日志和后日志的存儲(chǔ)處理的圖35是根據(jù)第七實(shí)施例由存儲(chǔ)器系統(tǒng)執(zhí)行的管理信息的恢復(fù)處理過(guò)程的流程圖;以及
圖36是用于說(shuō)明根據(jù)第七實(shí)施例的存儲(chǔ)器系統(tǒng)的恢復(fù)處理圖。
具體實(shí)施例方式
以下參考附圖詳細(xì)說(shuō)明了根據(jù)本發(fā)明的存儲(chǔ)器系統(tǒng)的示例性實(shí)施例。本發(fā)明不受限于這些實(shí)施例。 第一實(shí)施例
根據(jù)本發(fā)明的第 一實(shí)施例的存儲(chǔ)器系統(tǒng)是作為多值存儲(chǔ)器的一種使用
存儲(chǔ)單元晶體管(在下文說(shuō)明的NAND存儲(chǔ)器12)存儲(chǔ)數(shù)據(jù)的系統(tǒng)。而 且,此存儲(chǔ)器系統(tǒng)在數(shù)據(jù)寫(xiě)入處理之前以及在數(shù)據(jù)寫(xiě)入處理之后存儲(chǔ)日志, 作為針對(duì)所述數(shù)據(jù)寫(xiě)入處理的日志(用于存儲(chǔ)器系統(tǒng)的管理信息的差異信 息)。在數(shù)據(jù)寫(xiě)入處理之前存儲(chǔ)的日志被稱為前日志,而在數(shù)據(jù)寫(xiě)入處理 之后存儲(chǔ)的日志;波稱為后日志。在第一實(shí)施例中,以相同大小創(chuàng)建前日志 和后日志,并且它們被存儲(chǔ)在不同塊的相同頁(yè)(位置)中。前日志和后日 志從各塊的首頁(yè)開(kāi)始被順序存儲(chǔ),并包含相同信息。當(dāng)電源的異常隔離(例 如短時(shí)中斷)或類(lèi)似情形發(fā)生時(shí),通過(guò)使用前日志或后日志,管理信息被 恢復(fù)為電源的異常隔離之前的狀態(tài)。在第一實(shí)施例中,電源的異常隔離被 假定為是短時(shí)中斷。
首先給出的是根據(jù)第一實(shí)施例的存儲(chǔ)器系統(tǒng)的概觀。此后,說(shuō)明該存 儲(chǔ)器系統(tǒng)的特性和修改。存儲(chǔ)器系統(tǒng)包括非易失性半導(dǎo)體存^i殳備,并被 用作為諸如個(gè)人計(jì)算機(jī)的主機(jī)設(shè)備的次級(jí)存^i殳備(SSD:固態(tài)驅(qū)動(dòng)器)。 存儲(chǔ)器系統(tǒng)具有以下功能存儲(chǔ)由主機(jī)設(shè)備請(qǐng)求寫(xiě)入的數(shù)據(jù),以及讀出由 主機(jī)設(shè)備請(qǐng)求讀出的數(shù)據(jù),并將數(shù)據(jù)輸出到主機(jī)設(shè)備。圖l是根據(jù)第一實(shí) 施例的存儲(chǔ)器系統(tǒng)10的配置的示例的框圖。該存儲(chǔ)器系統(tǒng)10包括作為 第一存儲(chǔ)單元的DRAM (動(dòng)態(tài)隨才A^:^儲(chǔ)器)11、作為第二存儲(chǔ)單元的 NAND閃速存儲(chǔ)器(下文中稱為"NAND存儲(chǔ)器,,)12、電源電路13、以 及作為控制器的驅(qū)動(dòng)控制單元14。
DRAM 11 ;故用作為用于數(shù)據(jù)傳送、管理信息記錄或者工作區(qū)的存儲(chǔ) 單元。特別地,當(dāng)DRAM 11被用作為用于數(shù)據(jù)傳送的存儲(chǔ)單元時(shí),DRAM 11被用于在由主機(jī)設(shè)備請(qǐng)求寫(xiě)入的數(shù)據(jù)被寫(xiě)入NAND存儲(chǔ)器12之前臨時(shí) 存儲(chǔ)該數(shù)據(jù),并且DRAM 11被用于從NAND存儲(chǔ)器12讀出由主機(jī)設(shè)備 請(qǐng)求讀出的數(shù)據(jù),并臨時(shí)存儲(chǔ)所讀取的數(shù)據(jù)。當(dāng)DRAM ll被用作為用于 管理信息記錄的存儲(chǔ)單元時(shí),DRAM 11被用于存儲(chǔ)管理信息,所述管理信息用于管理在DRAM 11和NAND存儲(chǔ)器12中存儲(chǔ)的數(shù)據(jù)的存儲(chǔ)位置。 當(dāng)DRAM ll被用作為用于工作區(qū)的存儲(chǔ)單元時(shí),例如當(dāng)管理信息被恢復(fù) 時(shí)所使用的多個(gè)前日志和后日志( 一個(gè)前日志和一個(gè)后日志)的擴(kuò)展期間, 使用DRAM 11。
NAND存儲(chǔ)器12被用作為用于在其中存儲(chǔ)數(shù)據(jù)的存儲(chǔ)單元。特別地, NAND存儲(chǔ)器12在其中存儲(chǔ)由主機(jī)設(shè)備指定的數(shù)據(jù),以及在其中存儲(chǔ)用 于M的、由DRAM11管理的管理信息。在圖1中,包括四個(gè)信道120A 至120D的NAND存儲(chǔ)器12已經(jīng)被示出作為示例。信道120A至120D中 的每個(gè)包括兩個(gè)封裝(package) 121,每個(gè)封裝包括具有預(yù)定大小(例如 2GB)的存儲(chǔ)容量的八個(gè)芯片122。信道120A至120D經(jīng)由驅(qū)動(dòng)控制單元 14和總線15A至15D進(jìn)行連接。
電源電路13接收外部電源并從外部電源產(chǎn)生將供給存儲(chǔ)器系統(tǒng)10的 各個(gè)單元的多種內(nèi)部電源。電源電路13探測(cè)外部電源的狀態(tài),即,上升沿 或下降沿,并基于所探測(cè)的狀態(tài)生成通電復(fù)位信號(hào),以及將通電復(fù)位信號(hào) 輸出到驅(qū)動(dòng)控制單元14。
驅(qū)動(dòng)控制單元14控制DRAM 11和NAND存儲(chǔ)器12。如稍后詳細(xì)說(shuō) 明的,例如,驅(qū)動(dòng)控制單元14根據(jù)來(lái)自電源電路13的通電復(fù)位信號(hào),執(zhí) 行用于管理信息的恢復(fù)處理,以及用于管理信息的存儲(chǔ)處理。驅(qū)動(dòng)控制單 元14經(jīng)由ATA接口 ( I/F )將數(shù)據(jù)傳送到主機(jī)設(shè)備以及從主機(jī)設(shè)備接收數(shù) 據(jù),以及經(jīng)由RS232C I/F將數(shù)據(jù)傳送到除4fi殳備以及從除4^殳備接收數(shù) 據(jù)。此外,驅(qū)動(dòng)控制單元14輸出用于控制LED的開(kāi)/關(guān)的控制信號(hào),所述 LED用于在存儲(chǔ)器系統(tǒng)10的外部上提供的狀態(tài)顯示。
以下詳細(xì)說(shuō)明NAND存儲(chǔ)器12的配置。通過(guò)在基底上排列多個(gè)塊(擦 除單元區(qū))來(lái)配置NAND存儲(chǔ)器12,所述多個(gè)塊是數(shù)據(jù)擦除的單元。圖2 是NAND存儲(chǔ)器12的任意塊的配置的示例的電路圖。在圖2中,左右方 向凈皮i殳為X方向,而垂直于X方向的方向被i殳為Y方向。
NAND存儲(chǔ)器12的每個(gè)塊BLK包括沿著X方向順序排列的(m+1) (m是大于等于0的整數(shù))個(gè)NAND串NS。每個(gè)NAND串NS具有(n+1)(n是大于等于0的整數(shù))個(gè)存儲(chǔ)器單元晶體管MT0至MTn,它們共享 在Y方向中彼此相鄰的存儲(chǔ)器單元晶體管MT之間的擴(kuò)散區(qū)(源區(qū)或漏 區(qū))。此外,存儲(chǔ)器單元晶體管MT0至MTn在Y方向上串聯(lián)連接。另夕卜, 在一行所述(n+l)個(gè)存儲(chǔ)器晶體管MT0至MTn的兩端設(shè)置了選擇晶體 管ST1和ST2。
每個(gè)存儲(chǔ)器單元晶體管MT0至MTn是具有在半導(dǎo)體基底上構(gòu)成的層 疊的柵極結(jié)構(gòu)的MOSFET (金屬氧化物半導(dǎo)體場(chǎng)效應(yīng)晶體管)。層疊的柵 極結(jié)構(gòu)包括經(jīng)由柵極絕緣膜在半導(dǎo)體基底上構(gòu)成的電荷累積層(浮動(dòng)?xùn)?電極)以及經(jīng)由柵極間絕緣膜在電荷累積層上構(gòu)成的控制柵電極。此外, 存儲(chǔ)器單元晶體管MT0至MTn是多值存儲(chǔ)器,其中閾值電壓根據(jù)累積在 浮動(dòng)?xùn)烹姌O中的電子的數(shù)目而改變,并且可根據(jù)閾值電壓的差異而存儲(chǔ)兩 個(gè)或更多個(gè)位數(shù)據(jù)。
盡管存儲(chǔ)器單元晶體管MT0至MTn被說(shuō)明為多值存儲(chǔ)器,但存儲(chǔ)器 單元晶體管MT0至MTn也可以是存儲(chǔ)1位數(shù)據(jù)的二進(jìn)制存儲(chǔ)器。在以下 說(shuō)明中,假定存儲(chǔ)器單元晶體管MT0至MTn是可以存儲(chǔ)四進(jìn)制值的多值 存儲(chǔ)器。不過(guò),存儲(chǔ)器單元晶體管MT0至MTn可以是可存儲(chǔ)大于四進(jìn)制 值的值的多值存儲(chǔ)器。
字線WL0至WLn分別連接于每個(gè)NAND串NS的存儲(chǔ)器單元晶體管 MT0至MTn的控制柵電極。每個(gè)NAND串NS中的存儲(chǔ)器單元晶體管 MTi(i-0至n)由相同的字線(i=0至n )共同連接。換句話說(shuō),在塊BLK 中的相同行上呈現(xiàn)的存儲(chǔ)器單元晶體管MTi的控制柵電極連接于相同的 字線WLi。連接于相同的字線WLi的(m+l)個(gè)存儲(chǔ)器單元晶體管MTi 被看成是一個(gè)頁(yè)。在NAND存儲(chǔ)器12中,以頁(yè)為單位執(zhí)行對(duì)數(shù)據(jù)的寫(xiě)入 和讀出。特別地,連接于相同的字線WLi的一組(m+l)個(gè)存儲(chǔ)器單元晶 體管MTi是構(gòu)成一個(gè)頁(yè)的一個(gè)單元。在可以存儲(chǔ)四進(jìn)制值的多值存儲(chǔ)器的 情形中,連接于相同的字線WLi的一組存儲(chǔ)器單元晶體管Mti形成兩個(gè)頁(yè)。 當(dāng)其中數(shù)據(jù)被首先寫(xiě)入的頁(yè)被設(shè)為低位頁(yè),而其中數(shù)據(jù)接下來(lái)被寫(xiě)入的頁(yè) 被設(shè)為高位頁(yè)時(shí),在NAND存儲(chǔ)器12中,以頁(yè)為單位執(zhí)行對(duì)數(shù)據(jù)的寫(xiě)入和讀出。
位線BL0至BLm分別連接于一個(gè)塊BLK中的(m+l)個(gè)選擇晶體管 ST1的漏極。選擇柵極線SGD共同連接于每個(gè)NAND串NS的選擇晶體 管ST1的柵極。選擇晶體管ST1的源極連接于存儲(chǔ)器單元晶體管MT0的 漏極。類(lèi)似地,源極線SL共同連接于一個(gè)塊BLK中的(m+l)個(gè)選擇晶 體管ST2的源極。選擇柵極線SGS共同連接于每個(gè)NAND串NS的選擇 晶體管ST2的柵極。選擇晶體管ST2的漏極連接于存儲(chǔ)器單元晶體管MTn 的源極。
盡管圖中未示出, 一個(gè)塊BLK中的位線Blj (j=0至m)將選擇晶體 管ST1的漏極與其它塊BLK的位線BLj之間共同連接。換句話說(shuō),塊BLK 中的相同列中的NAND串NS通過(guò)相同的位線BLj相連接。
接下來(lái)i兌明DRAM 11和NAND存儲(chǔ)器12的功能配置。圖3A是 DRAM 11的功能配置的示意圖,而圖3B是NAND存儲(chǔ)器12的功能配置 的示意圖。如圖3A所示,DRAM 11包括其中存儲(chǔ)由主機(jī)設(shè)備請(qǐng)求寫(xiě)入 的數(shù)據(jù)的寫(xiě)入高速緩沖存儲(chǔ)器區(qū)、其中存儲(chǔ)由主機(jī)設(shè)備請(qǐng)求讀出的數(shù)據(jù)的 讀取高速緩沖存儲(chǔ)器區(qū)RC、其中存儲(chǔ)用于管理在DRAM 11和NAND存 儲(chǔ)器12中存儲(chǔ)的數(shù)據(jù)的存儲(chǔ)位置的管理信息的管理信息存儲(chǔ)區(qū)111、以及 當(dāng)恢復(fù)管理信息時(shí)使用的工作區(qū)112。
如圖3B所示,NAND存儲(chǔ)器12包括其中存儲(chǔ)由主機(jī)設(shè)備請(qǐng)求寫(xiě)入 的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)區(qū)125、以及其中存儲(chǔ)在DRAM 11的管理信息存儲(chǔ)區(qū) 111中進(jìn)行管理的管理信息的管理信息存儲(chǔ)區(qū)126。在管理信息存儲(chǔ)區(qū)126 中,作為管理信息,存儲(chǔ)了下文說(shuō)明的快照、前日志、后日志、下文說(shuō)明 的指針230等等。在此示例中,在NAND存儲(chǔ)器12中的數(shù)據(jù)寫(xiě)入和讀出 單位被設(shè)為頁(yè)大小單位。擦除單位被設(shè)為塊大小單位(例如512KB)。因 此,用于存儲(chǔ)以塊大小為單位管理的NAND存儲(chǔ)器12的各個(gè)塊的區(qū)被進(jìn) 一步劃分為以頁(yè)大小為單位的區(qū)。當(dāng)頁(yè)大小為4KB且塊大小為512KB時(shí), 則一個(gè)塊包含128個(gè)頁(yè)。
以下說(shuō)明在DRAM 11的管理信息存儲(chǔ)區(qū)111中管理的管理信息。圖4是用于管理存儲(chǔ)器系統(tǒng)10中存儲(chǔ)的數(shù)據(jù)的層結(jié)構(gòu)的示例的圖。這里假定 該數(shù)據(jù)是主機(jī)設(shè)備請(qǐng)求寫(xiě)入或讀出的數(shù)據(jù)。在存儲(chǔ)器系統(tǒng)IO中,通過(guò)三層 結(jié)構(gòu)執(zhí)行數(shù)據(jù)管理DRAM管理層31、邏輯NAND管理層32、以及物理 NAND管理層33。DRAM管理層31執(zhí)行起高速緩沖存儲(chǔ)器作用的DRAM 11中的數(shù)據(jù)管理。邏輯NAND管理層32執(zhí)行NAND存儲(chǔ)器12中的邏輯 數(shù)據(jù)管理。物理NAND管理層33執(zhí)行NAND存儲(chǔ)器12中的物理數(shù)據(jù)管 理、針對(duì)NAND存儲(chǔ)器12的壽命延長(zhǎng)處理等等。
在DRAM 11的寫(xiě)入高速緩沖存儲(chǔ)器區(qū)WC和讀取高速緩沖存儲(chǔ)器區(qū) RC中,由主機(jī)設(shè)備的地址管理方法所管理的邏輯地址(下文中稱為"LBA (邏輯塊地址)")指定的數(shù)據(jù)存儲(chǔ)于DRAM ll上的預(yù)定范圍內(nèi)的物理 地址中(下文中稱為"DRAM內(nèi)物理地址,,)。DRAM管理層31中的數(shù) 據(jù)由高速緩沖存儲(chǔ)器管理信息41所管理,所述高速緩沖存儲(chǔ)器管理信息 41包括將存儲(chǔ)的數(shù)據(jù)的LBA以及DRAM內(nèi)物理地址之間的對(duì)應(yīng)關(guān)系、 以及指示出在頁(yè)中以扇區(qū)大小為單位的數(shù)據(jù)的存在或缺少的扇區(qū)標(biāo)志。
圖5示出了表格形式的高速緩沖存儲(chǔ)器管理信息41的示例。高速緩沖 存儲(chǔ)器管理信息41是針對(duì)DRAM 11的一個(gè)頁(yè)大小的一個(gè)區(qū)的一個(gè)條目。 條目數(shù)量小于等于適合于寫(xiě)入高速緩沖存儲(chǔ)器區(qū)WC和讀取高速緩沖存儲(chǔ) 器區(qū)RC中的頁(yè)的數(shù)量。在每個(gè)條目中,將頁(yè)大小的數(shù)據(jù)的LBA、 DRAM 內(nèi)物理地址與扇區(qū)標(biāo)志相關(guān)聯(lián),所述扇區(qū)標(biāo)志指示出在通過(guò)以扇區(qū)大小 劃分此頁(yè)而獲得的每個(gè)區(qū)中的有效數(shù)據(jù)的位置。
在NAND存儲(chǔ)器12中,來(lái)自DRAM 11的數(shù)據(jù)被存儲(chǔ)于NAND存儲(chǔ) 器12上的預(yù)定范圍內(nèi)的物理地址中(下文中稱為"NAND內(nèi)物理地址,,)。 在由多值存儲(chǔ)器形成的NAND存儲(chǔ)器12中,由于可重寫(xiě)次數(shù)是有限的, 因此在配置NAND存儲(chǔ)器12的塊之中的可重寫(xiě)次數(shù)由驅(qū)動(dòng)控制單元14所 控制,以使其均衡。換句話說(shuō),當(dāng)執(zhí)行對(duì)于在NAND存儲(chǔ)器12中的某個(gè) NAND內(nèi)物理地址中寫(xiě)入的數(shù)據(jù)的更新時(shí),驅(qū)動(dòng)控制單元14執(zhí)行控制以 使在構(gòu)成NAND存儲(chǔ)器12的塊當(dāng)中的重寫(xiě)次數(shù)均衡,以便在不同于初始 塊的一個(gè)塊中寫(xiě)入反映其中包括將更新的數(shù)據(jù)的塊中的需要更新的部分的
16數(shù)據(jù),以及使初始?jí)K無(wú)效。
如上所述,在NAND存儲(chǔ)器12中,在對(duì)數(shù)據(jù)的寫(xiě)入和讀出處理以及 對(duì)數(shù)據(jù)的擦除處理中,處理單元是不同的。在對(duì)數(shù)據(jù)的更新處理中,數(shù)據(jù) 在更新前的位置(塊)和數(shù)據(jù)在更新后的位置(塊)是不同的。因此,在 第一實(shí)施例中,除NAND內(nèi)物理地址之外,還提供在NAND存儲(chǔ)器12中 獨(dú)立使用的NAND內(nèi)邏輯地址(下文中稱為"NAND內(nèi)邏輯地址")。
因此,在邏輯NAND管理層32中的數(shù)據(jù)被邏輯NAND管理信息42 所管理,所述邏輯NAND管理信息42指示出以頁(yè)大小為單位從DRAM 11接收的數(shù)據(jù)的LBA與NAND內(nèi)邏輯地址(其指示NAND存儲(chǔ)器12的 其中存儲(chǔ)所接收的數(shù)據(jù)的邏輯頁(yè)位置)之間的關(guān)系,以及指示出所具有的 大小與作為NAND存儲(chǔ)器12中的擦除單元的塊相一致的邏輯塊的地址范 圍的關(guān)系。多個(gè)邏輯塊的集合可以被設(shè)為一個(gè)邏輯塊。物理NAND管理層 33中的數(shù)據(jù)被NAND內(nèi)邏輯地址-物理地址轉(zhuǎn)換信息(下文中稱為"邏輯-物理轉(zhuǎn)換信息")所管理,所述信息包括NAND存儲(chǔ)器12中的NAND內(nèi) 邏輯地址和NAND內(nèi)物理地址之間的對(duì)應(yīng)關(guān)系。
圖6示出了表格形式的邏輯NAND管理信息42的示例。圖7示出了 表格形式的NAND內(nèi)邏輯-物理轉(zhuǎn)換信息43的示例。如圖6所示,邏輯 NAND管理信息42包括邏輯頁(yè)管理信息42a和邏輯塊管理信息42b。邏輯 頁(yè)管理信息42a針對(duì)一個(gè)頁(yè)大小的一個(gè)邏輯區(qū)具有一個(gè)條目。每個(gè)條目包 括 一個(gè)頁(yè)大小的數(shù)據(jù)的LBA、 NAND內(nèi)邏輯地址(邏輯NAND塊地址)、 以及指示出此頁(yè)是否有效的頁(yè)標(biāo)志。邏輯塊管理信息42b包括:針對(duì)NAND 存儲(chǔ)器12的一個(gè)塊大小的物理區(qū)進(jìn)行設(shè)置的NAND內(nèi)物理地址(物理塊 地址)。如圖7所示,在NAND內(nèi)邏輯-物理轉(zhuǎn)換信息43中,將NAND 存儲(chǔ)器12的NAND內(nèi)物理地址與NAND內(nèi)邏輯地址相關(guān)聯(lián)。
通過(guò)使用這些類(lèi)型的管理信息,可以建立在主機(jī)設(shè)備中使用的LBA、 在NAND存儲(chǔ)器12中使用的NAND內(nèi)邏輯地址、以及在NAND存儲(chǔ)器 12中使用的NAND內(nèi)物理地址的對(duì)應(yīng)。這使得在主機(jī)設(shè)備和存儲(chǔ)器系統(tǒng) 10之間交換信息成為可能。
17由于斷電或類(lèi)似原因,由DRAM管理層31所管理的管理信息丟失, 從而該管理信息可以被稱為易失性表。相反地,如果由于斷電或類(lèi)似原因, 由邏輯NAND管理層32以及物理NAND管理層33所管理的管理信息丟 失,則所丟失的管理信息會(huì)阻礙存儲(chǔ)器系統(tǒng)10的成功啟動(dòng),從而需要采取 措施以使得即使在斷電或類(lèi)似原因的情況下也能存儲(chǔ)該管理信息。因此, 該管理信息可以被稱為非易失性表。
該非易失性表管理在NAND存儲(chǔ)器12中存儲(chǔ)的數(shù)據(jù)。如果非易失性 表不存在,則在NAND存儲(chǔ)器12中存儲(chǔ)的信息無(wú)法,皮存取,或者在區(qū)中 存儲(chǔ)的數(shù)據(jù)4皮擦除。因此,作為突然斷電的準(zhǔn)備,非易失性表需要作為最 新信息被存儲(chǔ)。因此,在第一實(shí)施例中,將至少包括非易失性表的管理信 息以最新?tīng)顟B(tài)存儲(chǔ)在NAND存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中。以下說(shuō) 明在NAND存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中存儲(chǔ)的管理信息存儲(chǔ)信息。 以下說(shuō)明假定僅有非易失性表存儲(chǔ)在管理信息存儲(chǔ)區(qū)126中。
圖8是在管理信息存儲(chǔ)區(qū)126中存儲(chǔ)的管理信息存儲(chǔ)信息200的示例 的示意圖。管理信息存儲(chǔ)信息200包含作為非易失性表在某一點(diǎn)的內(nèi)容 的快照210、前日志220A、后日志220B、以及指針(管理信息存儲(chǔ)位置 指示信息)230。
快照210是通過(guò)存儲(chǔ)在DRAM 11的管理信息存儲(chǔ)區(qū)111中存儲(chǔ)的各 類(lèi)管理信息中的至少包括在預(yù)定點(diǎn)的非易失性表的管理信息而獲得的信 息。
前日志220A和后日志220B是在當(dāng)非易失性表的內(nèi)容中存在改變時(shí)在 內(nèi)容故改變之后的非易失性表與快照210 (或快照210和已生成的日志) 之間的差異信息。特別地,在得到快照210之后的第一前日志220A和第 一后日志220B是非易失性表和快照210之間的差異信息。在得到快照210 之后的第二或后續(xù)前日志220A是已生成的前日志220A與快照210的結(jié)合 和非易失性表之間的差異信息。在得到快照210之后的第二或后續(xù)后曰志 220B是已生成的后日志220B與快照210的結(jié)合和非易失性表之間的差異 信息。前日志220A是在管理信息被實(shí)際更新之前生成的信息。因此,在通 過(guò)執(zhí)行數(shù)據(jù)寫(xiě)入處理或類(lèi)似處理而實(shí)際更新管理信息之前,基于與管理信 息如何被更新有關(guān)的更新安排,生成前日志220A。
后日志220B是在管理信息被實(shí)際更新之后生成的信息。因此,在根 據(jù)執(zhí)行數(shù)據(jù)寫(xiě)入處理或類(lèi)似處理而實(shí)際更新管理信息之后,生成后日志 220B。在第一實(shí)施例中,前日志220A的數(shù)據(jù)大小和后日志220B的數(shù)據(jù)大 小是相同的。前日志220A和后日志220B各自從不同塊的首頁(yè)開(kāi)始,皮順序 存儲(chǔ)。于是,前日志220A和后日志220B被存儲(chǔ)在不同塊的同一頁(yè)中。后 日志220B可以是通過(guò)拷貝前日志220A而獲得的信息,或者類(lèi)似于前日志 220A,后日志220B可以是非易失性表與基于非易失性表與快照210 (或 快照210和之前生成的日志)計(jì)算的快照210之間的差異信息。
指針230指示出快照210的位置、在存儲(chǔ)快照210之后首先獲得的 前日志220A的位置(第一頁(yè))、以及在存儲(chǔ)快照210之后首先獲得的后 日志220B的位置(第一頁(yè))。
快照210、前日志220A、后日志220B、以及指針230凈皮存儲(chǔ)在不同 塊中。快照210,皮存儲(chǔ)在用于快照存儲(chǔ)的塊中??煺?10包括作為NAND 存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中的非易失性表的邏輯NAND管理信息 42和NAND內(nèi)邏輯-物理轉(zhuǎn)換信息43。當(dāng)將要存儲(chǔ)新快照210時(shí),其被存 儲(chǔ)在與之前存儲(chǔ)的快照210的塊不同的一個(gè)塊中。
前曰志220A和后日志220B分別4皮存儲(chǔ)在日志存儲(chǔ)塊中。當(dāng)對(duì)快照 210的生成改變時(shí),前日志220A和后日志220B從新的日志存儲(chǔ)塊的首頁(yè) 開(kāi)始被寫(xiě)入。
圖9示出了日志的示例。由于前日志220A和后日志220B具有相同信 息,所以將前日志220A作為日志的示例進(jìn)行說(shuō)明。前日志220A包括將 成為改變目標(biāo)的管理信息的目標(biāo)信息、作為將成為目標(biāo)信息中的改變目標(biāo) 的條目的目標(biāo)條目、作為將成為目標(biāo)條目中的改變目標(biāo)的項(xiàng)目的目標(biāo)項(xiàng)目、 以及作為目標(biāo)項(xiàng)目的改變的內(nèi)容的改變內(nèi)容。
指針230被存儲(chǔ)在指令信息存儲(chǔ)塊中。指針230僅須是指示用于指示出快照210、前日志220A和后日志220B的存儲(chǔ)位置的塊的頂端地址的指 針。然而,在指針230中指示出快照210的存儲(chǔ)位置的部分可以是指示出 在快照210中包括的各類(lèi)管理信息的頂端地址的部分。當(dāng)快照210被重新 存儲(chǔ)時(shí)或當(dāng)快照存儲(chǔ)塊或日志存儲(chǔ)塊被改變時(shí),更新指針230。前日志220A 和后日志220B的指針可以被存儲(chǔ)在快照210中而不是指令信息存儲(chǔ)塊中。
以下說(shuō)明驅(qū)動(dòng)控制單元14的功能。圖10是驅(qū)動(dòng)控制單元14的功能配 置的示例的框圖。驅(qū)動(dòng)控制單元14包括數(shù)據(jù)管理單元141、 ATA命令 處理單元142、安全管理單元143、啟動(dòng)加載器144、初始化管理單元145、 以及除錯(cuò)支持單元146。數(shù)據(jù)管理單元141執(zhí)行DRAM 11和NAND存儲(chǔ) 器12之間的數(shù)據(jù)傳送以及對(duì)于與NAND存儲(chǔ)器12有關(guān)的多種功能的控 制。ATA命令處理單元142基于從ATA接口接收的指令與數(shù)據(jù)管理單元 141合作執(zhí)行數(shù)據(jù)傳送處理。安全管理單元143與數(shù)據(jù)管理單元141和ATA 命令處理單元142合作管理多種類(lèi)型的安全信息。啟動(dòng)加載器144在通電 期間將各個(gè)管理程序(固件)從NAND存儲(chǔ)器12加栽到未示出的存儲(chǔ)器 (例如SRAM (靜態(tài)RAM))。初始化管理單元145執(zhí)行驅(qū)動(dòng)控制單元 14中的各個(gè)控制器和電路的初始化。除錯(cuò)支持單元146處理經(jīng)由RS232C 接口從外部提供的除錯(cuò)數(shù)據(jù)。
圖11是數(shù)據(jù)管理單元141的功能配置的示例的框圖。數(shù)據(jù)管理單元 141包括執(zhí)行DRAM 11和NAND存儲(chǔ)器12之間的數(shù)據(jù)傳送的數(shù)據(jù)傳送 處理單元151、根據(jù)在DRAM 11和NAND存儲(chǔ)器12中存儲(chǔ)的數(shù)據(jù)的改變 來(lái)執(zhí)行管理信息的改變和存儲(chǔ)的管理信息管理單元152、以瓦基于在通電 或類(lèi)似情況期間存儲(chǔ)的管理信息恢復(fù)最新的管理信息的管理信息恢復(fù)單元 155。
管理信息管理單元152包括管理信息寫(xiě)入單元153和管理信息存儲(chǔ)單 元154。當(dāng)根據(jù)針對(duì)由數(shù)據(jù)傳送處理單元151在DRAM 11或NAND存儲(chǔ)
管理信息寫(xiě)入單元153執(zhí)行對(duì)在DRAM 11中存儲(chǔ)的管理信息的更新。 當(dāng)存儲(chǔ)器系統(tǒng)10滿足預(yù)定條件時(shí),管理信息存儲(chǔ)單元154在NAND存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中存儲(chǔ)作為快照210的管理信息、作為前 曰志220A的將在管理信息中更新的信息、以及作為后日志220B的在管理 信息中的已更新信息。當(dāng)根據(jù)快照210、前日志220A或后日志220B的存 儲(chǔ)改變?cè)谥羔?30中寫(xiě)入的位置時(shí),管理信息存儲(chǔ)單元154將更新處理應(yīng) 用到指針230。
根據(jù)存儲(chǔ)器系統(tǒng)的預(yù)定條件(情形),例如,當(dāng)在NAND存儲(chǔ)器12 的管理信息存儲(chǔ)區(qū)126中提供用于存儲(chǔ)日志220 (前日志220A和后日志 220B)的日志存儲(chǔ)區(qū)被填滿(該區(qū)被數(shù)據(jù)填滿)時(shí),執(zhí)行由管理信息存儲(chǔ) 單元154存儲(chǔ)的快照210。
管理信息存儲(chǔ)單元154存儲(chǔ)前日志220A和后日志220B的時(shí)刻是 (當(dāng)需要在NAND存儲(chǔ)器12中寫(xiě)入數(shù)據(jù)時(shí))通過(guò)管理信息寫(xiě)入單元153 在NAND存儲(chǔ)器12上的涉及對(duì)存儲(chǔ)在DRAM 11中的管理表(非易失性 表)的更新的數(shù)據(jù)更新時(shí)間。特別地,在用于寫(xiě)入數(shù)據(jù)的處理之前和之后 存儲(chǔ)前日志220A和后日志220B。
當(dāng)存儲(chǔ)器系統(tǒng)10的電源接通時(shí),管理信息恢復(fù)單元155基于在NAND 存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中存儲(chǔ)的管理信息存儲(chǔ)信息200執(zhí)行針對(duì) 管理信息的恢復(fù)處理。特別地,管理信息恢復(fù)單元155順序地跟蹤指針230、 快照210、前日志220A和后日志220B,并確定對(duì)應(yīng)于最新快照210的前 曰志220A和后日志220B是否存在。當(dāng)前日志220A和后日志220B不存 在時(shí),管理信息恢復(fù)單元155確定存儲(chǔ)器系統(tǒng)10的末端是標(biāo)準(zhǔn)(normal) 端,并且在DRAMll中恢復(fù)作為管理信息的、快照存儲(chǔ)塊中的快照210。 當(dāng)前日志220A和后日志220B存在時(shí),管理信息恢復(fù)單元155從快照存儲(chǔ) 塊獲得快照210,從日志存儲(chǔ)塊獲得前日志220A或后日志220B,以及執(zhí) 4亍反映了 DRAM 11上的快照210上的前日志220A或后日志220B的管理 信息(非易失性表)的恢復(fù)。
以下說(shuō)明由管理信息管理單元152執(zhí)行的針對(duì)存儲(chǔ)器系統(tǒng)10的管理信 息的存儲(chǔ)處理。圖12是針對(duì)存儲(chǔ)器系統(tǒng)10的管理信息的存儲(chǔ)處理過(guò)程的 示例的流程圖。圖13是用于說(shuō)明根據(jù)第一實(shí)施例的針對(duì)存儲(chǔ)器系統(tǒng)10的前日志和后日志的存儲(chǔ)處理的圖。存儲(chǔ)器系統(tǒng)10連接于主機(jī)設(shè)備,并作為 主機(jī)設(shè)備的次級(jí)存儲(chǔ)設(shè)備進(jìn)行工作。主機(jī)設(shè)備(存儲(chǔ)器系統(tǒng)10)處于已啟 動(dòng)狀態(tài)。在主機(jī)設(shè)備的啟動(dòng)狀態(tài)之前,在存儲(chǔ)器系統(tǒng)10停止之前存儲(chǔ)快照 210。首先,基于在主機(jī)設(shè)備(存儲(chǔ)器系統(tǒng)10)的上一次結(jié)束(lastend)時(shí) 存儲(chǔ)的快照210,主機(jī)設(shè)備(存儲(chǔ)器系統(tǒng)10 )處于已啟動(dòng)狀態(tài)(步驟Sll)。 此后,當(dāng)必要時(shí)從主機(jī)設(shè)備執(zhí)行向NAND存儲(chǔ)器12中的數(shù)據(jù)寫(xiě)入。管理 信息管理單元152確定快照存儲(chǔ)條件是否滿足(例如,日志存儲(chǔ)區(qū)是否已 滿)(步驟S12)。當(dāng)快照存儲(chǔ)條件不滿足時(shí)(步驟S12的"否"),管 理信息管理單元152確定涉及對(duì)管理信息的更新(對(duì)數(shù)據(jù)的寫(xiě)入等等)的 指令是否被接收(步驟S13)。當(dāng)涉及對(duì)管理信息的更新的指令未被接收 時(shí)(步驟S13的"否"),管理信息管理單元152返回步驟S12。當(dāng)涉及對(duì)管理信息的更新的指令被接收時(shí)(步驟S13的"是"),管 理信息管理單元152通過(guò)執(zhí)行該指令確定指示出管理信息將如何被更新的 更新安排(步驟S14 )。管理信息管理單元152將更新安排存儲(chǔ)在NAND 存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126的日志存儲(chǔ)塊中作為前日志220A (步驟 S15)。當(dāng)前日志220A尚未被存儲(chǔ)在日志存儲(chǔ)塊中時(shí),更新安排(前日志) 是在管理信息被更新的時(shí)候的非易失性表和在快照存儲(chǔ)塊中存儲(chǔ)的快照 210之間的差異信息。當(dāng)前日志220A (過(guò)去的前日志220A)已被存儲(chǔ)在 日志存儲(chǔ)塊中時(shí),更新安排(前日志)是在管理信息被更新的時(shí)候的非易 失性表與快照210和過(guò)去的前日志220A的結(jié)合之間的差異信息。例如, 如圖13所示,在數(shù)據(jù)寫(xiě)入(X)被執(zhí)行作為針對(duì)第X個(gè)數(shù)據(jù)的寫(xiě)入處理之 前,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X)的前日志(X)被存儲(chǔ)在NAND存儲(chǔ)器12中作 為前日志220A。前日志(X)是在過(guò)去的前日志220A未被存儲(chǔ)在日志存 儲(chǔ)塊中的時(shí)候的日志,并且是在管理信息被更新的時(shí)候的非易失性表與快 照210之間的差異信息。換句話說(shuō),前日志(X)是在獲得快照210之后 的第一前日志。在此情形中,前日志(X)被存儲(chǔ)在塊50A (用于前日志22例如在前日志220A (更新安排)存儲(chǔ)在 DRAM 11之后,前日志220A被存儲(chǔ)在NAND存儲(chǔ)器12的管理信息存儲(chǔ) 區(qū)126中。隨后,管理信息寫(xiě)入單元153執(zhí)行在步驟S13接收的指令(步驟S16 )。 作為這種指令的示例,存在針對(duì)在NAND存儲(chǔ)器12的數(shù)據(jù)存儲(chǔ)區(qū)的預(yù)定 塊中的用戶數(shù)據(jù)的寫(xiě)入處理。特別地,在NAND存儲(chǔ)器12中的數(shù)據(jù)存儲(chǔ) 區(qū)125中的數(shù)據(jù)寫(xiě)入(X)被執(zhí)行。此后,在DRAM 11中存儲(chǔ)的管理信息根據(jù)所執(zhí)行的處理被更新。管 理信息存儲(chǔ)單元154在NAND存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中存儲(chǔ)管 理信息中的已更新信息作為后日志220B (步驟S17)。當(dāng)后日志220B尚 未被存儲(chǔ)在日志存儲(chǔ)塊中時(shí),后日志220B是在當(dāng)前點(diǎn)的非易失性表與在 快照存儲(chǔ)塊中存儲(chǔ)的快照210之間的差異信息。當(dāng)后日志220B (過(guò)去的后 曰志220B)已經(jīng)存儲(chǔ)在日志存儲(chǔ)塊中時(shí),后日志220B是在當(dāng)前點(diǎn)的非易 失性表與在快照210和過(guò)去的后日志220B的結(jié)合之間的差異信息。從而,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X)的后日志220B (X)被存儲(chǔ)在NAND存 儲(chǔ)器12中作為后日志220B。后日志220B凈皮存儲(chǔ)在塊50B (不同于塊50A 的一個(gè)塊)中的頁(yè)(1)(與前日志220A相同的首頁(yè))中。以此方式,后 曰志MOB被存儲(chǔ)在不同于前日志220A的塊中,以及被存儲(chǔ)在與其中存儲(chǔ) 日志220A的頁(yè)相同的頁(yè)中。此外,被存儲(chǔ)作為后日志220B的信息是與被 存儲(chǔ)作為前日志220A的信息相同的信息。例如在后日志220B被記錄在 DRAM 11上之后,后日志220B被存儲(chǔ)在NAND存儲(chǔ)器12的管理信息存 儲(chǔ)區(qū)126中。此后,管理信息管理單元152返回步驟S12。當(dāng)快照存儲(chǔ)條件不滿足(步驟S12的"否"),并且涉及管理信息的 更新的指令凈皮接收(步驟S13的"是")時(shí),重復(fù)步驟S14至S17的處理。 特別地,以針對(duì)第X個(gè)數(shù)據(jù)的寫(xiě)入處理相同的方式,執(zhí)行針對(duì)第(X+l) 個(gè)數(shù)據(jù)的寫(xiě)入處理。換句話說(shuō),在執(zhí)行作為針對(duì)第(X+l)個(gè)數(shù)據(jù)的寫(xiě)入 處理的數(shù)據(jù)寫(xiě)入(X+l)之前,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X+l)的前日志(X+l) 被存儲(chǔ)在NAND存儲(chǔ)器12中作為前日志220A。前日志220A被存儲(chǔ)在塊50A中的頁(yè)(2)中。在NAND存儲(chǔ)器12中的數(shù)據(jù)存儲(chǔ)區(qū)125中執(zhí)行數(shù)據(jù)寫(xiě)入(X+l)。 此外,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X+l)的后日志(X+l)被存儲(chǔ)在NAND存儲(chǔ)器 12中作為后日志220B。后日志220B被存儲(chǔ)在塊50B中的頁(yè)(2 )的位置 中。以此方式,后日志220B^皮存儲(chǔ)在不同于前日志220A的塊中,以及#皮 存儲(chǔ)在與其中存儲(chǔ)前日志220A的頁(yè)相同的頁(yè)中。此外,被存儲(chǔ)作為后曰 志220B的信息以及被存儲(chǔ)作為前日志220A的信息是相同的信息。當(dāng)在步驟S12快照存儲(chǔ)條件已滿足時(shí)(步驟S12的"是"),DRAM 11的管理信息存儲(chǔ)區(qū)111中包括至少非易失性表的管理信息被存儲(chǔ)在 NAND存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中,作為快照210 (步驟S18 )。 在此時(shí),管理信息存儲(chǔ)單元154將塊50A的第一頁(yè)的位置(地址)以及塊 50B的第一頁(yè)的位置(地址)存儲(chǔ)在指針230中,作為第一前日志和第一 后日志的存儲(chǔ)位置。例如,管理信息存儲(chǔ)單元154將塊50A的ID和第一 頁(yè)的ID (有效的首頁(yè)ID )存儲(chǔ)在指針230中,以及將塊50B的ID和第一 頁(yè)的ID (有效的首頁(yè)ID)存儲(chǔ)在指針230中。管理信息管理單元152確定是否指到存儲(chǔ)器系統(tǒng)10的結(jié)束(步驟 S19)。當(dāng)沒(méi)有指到存儲(chǔ)器系統(tǒng)10的結(jié)束時(shí),管理信息管理單元152返回 步驟S12。當(dāng)指到存儲(chǔ)器系統(tǒng)10的結(jié)束時(shí),所述處理完成。以下說(shuō)明由管理信息恢復(fù)單元155執(zhí)行的對(duì)于存儲(chǔ)器系統(tǒng)10的管理信 息的恢復(fù)處理。圖14是根據(jù)第一實(shí)施例對(duì)于存儲(chǔ)器系統(tǒng)10的管理信息的 恢復(fù)處理過(guò)程的流程圖。圖15是用于說(shuō)明根據(jù)第一實(shí)施例對(duì)于存儲(chǔ)器系統(tǒng) 的管理信息的恢復(fù)處理的圖。存儲(chǔ)器系統(tǒng)10連接于主機(jī)設(shè)備,并作為主機(jī) 設(shè)備的次級(jí)存儲(chǔ)設(shè)備進(jìn)行工作。例如才艮據(jù)從短時(shí)中斷的恢復(fù),主機(jī)設(shè)備的電源接通,并且向存儲(chǔ)器系 統(tǒng)10發(fā)出啟動(dòng)指令(步驟S31)。管理信息恢復(fù)單元155讀取NAND存 儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中的指針230 (步驟S32 ),并獲得其中存 儲(chǔ)快照210的塊的地址以及其中存儲(chǔ)前日志和后日志(前日志220A和后 日志220B)的塊的地址(步驟S33)。此后,管理信息恢復(fù)單元155從快照存儲(chǔ)塊獲得快照210,以及恢復(fù) DRAM 11的管理信息存儲(chǔ)區(qū)111中的快照210 (步驟S34)。管理信息恢復(fù)單元155將擦除頁(yè)搜索應(yīng)用到NAND存儲(chǔ)器12中用于 前日志的塊和用于后日志的塊(步驟S35)。擦除頁(yè)搜索是一種方法,其(擦除頁(yè)),以及是一種方法,其確定例如具有ECC餘溪且具有小于或 等于預(yù)定數(shù)量的多個(gè)"0" ( "0"指示出無(wú)擦除狀況)的頁(yè)作為擦除頁(yè)。 換句話說(shuō),在步驟S35,管理信息恢復(fù)單元155搜索最后被寫(xiě)入塊中的頁(yè)。管理信息恢復(fù)單元155確定在其中存儲(chǔ)了前日志220A的頁(yè)中,哪個(gè) 頁(yè)是最后的頁(yè)(就在擦除頁(yè)前一個(gè)的頁(yè))。管理信息恢復(fù)單元155確定在 其中存儲(chǔ)了后日志220B的頁(yè)中,哪個(gè)頁(yè)是最后的頁(yè)。管理信息恢復(fù)單元 155確定其中存儲(chǔ)了前日志220A的最后頁(yè)與其中存儲(chǔ)了后日志220B的最 后頁(yè)是否相同(步驟S36)。根據(jù)第一實(shí)施例的管理信息恢復(fù)單元155基 于其中存儲(chǔ)了前日志220A的最后頁(yè)與其中存儲(chǔ)了后日志220B的最后頁(yè)是 否相同的確定結(jié)果,選擇前日志220A和后日志220B之一作為用于管理信 息的恢復(fù)的日志。當(dāng)在其中存儲(chǔ)了日志220A和220B的塊中不存在擦除頁(yè) 時(shí),管理信息恢復(fù)單元155確定塊的最后頁(yè)是最后日志。當(dāng)在后日志220B的存儲(chǔ)期間出現(xiàn)短時(shí)中斷時(shí),對(duì)應(yīng)于后日志220B的 前日志220A和正凈皮存儲(chǔ)的后日志220B被存儲(chǔ)在用于前日志的塊和用于后 曰志的塊中。在此情形中,在第一實(shí)施例中,前日志220A和后日志220B 被存儲(chǔ)在不同塊的相同頁(yè)中。因此,其中存儲(chǔ)了前日志220A的最后頁(yè)和 其中存儲(chǔ)了后日志220B的最后頁(yè)是相同的。由于在對(duì)后日志220B的存儲(chǔ) 期間已經(jīng)出現(xiàn)了短時(shí)中斷,后日志220B可以由于該短時(shí)中斷而被中斷。 因此,當(dāng)在對(duì)后日志220B的存儲(chǔ)期間出現(xiàn)短時(shí)中斷時(shí),使用前日志220A 來(lái)恢復(fù)管理信息是必要的。因此,當(dāng)根據(jù)第一實(shí)施例的管理信息恢復(fù)單元155確 其中存儲(chǔ)了前 日志220A的最后頁(yè)(頁(yè)數(shù))與其中存儲(chǔ)了后日志220B的最后頁(yè)(頁(yè)數(shù)) 相同時(shí)(步驟S36的"是,,),管理信息恢復(fù)單元155選擇前日志作為將被用于恢復(fù)管理信息的日志(步驟S37)。另一方面,當(dāng)在對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入的前日志220A的存儲(chǔ)期間出現(xiàn)短時(shí) 中斷時(shí),僅對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入的前日志220A被存儲(chǔ)在用于前日志的塊中。 對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入的后日志220B未被存儲(chǔ)在用于后日志的塊中。在此情形 中,在第一實(shí)施例中,前日志220A和后日志220B^皮存儲(chǔ)在不同塊的相同 頁(yè)中。因此,其中存儲(chǔ)了前日志220A的最后頁(yè)和其中存儲(chǔ)了后日志220B 的最后頁(yè)是不同的。由于在對(duì)前日志220A的存儲(chǔ)期間已經(jīng)出現(xiàn)了短時(shí)中 斷,前日志220A可以由于該短時(shí)中斷而被中斷。因此,當(dāng)在對(duì)前日志220A 的存儲(chǔ)期間出現(xiàn)短時(shí)中斷時(shí),使用前日志220B來(lái)恢復(fù)管理信息是必要的。因此,當(dāng)根據(jù)第一實(shí)施例的管理信息恢復(fù)單元155確定其中存儲(chǔ)了前 曰志220A的最后頁(yè)與其中存儲(chǔ)了后日志220B的最后頁(yè)不同時(shí)(步驟S36 的"否"),管理信息恢復(fù)單元155選擇后日志220B作為將被用于恢復(fù) 管理信息的日志(步驟S38)。此后,管理信息恢復(fù)單元155從日志存儲(chǔ)塊獲得了前日志220A和后 日志220B中的所選一個(gè)的第一日志至最新日志,并且將所述日志擴(kuò)展到 DRAM 11的工作區(qū)112中(步驟S39 )。管理信息恢復(fù)單元155將日志從 最舊一個(gè)開(kāi)始按順序反映到快照210上,并恢復(fù)管理信息(非易失性表) (步驟S40)。對(duì)于管理信息的恢復(fù)處理完成。特別地,如圖15所示,擦除頁(yè)搜索被應(yīng)用于其中存儲(chǔ)了前日志220A 的塊50A( 1),以及擦除頁(yè)搜索被應(yīng)用于其中存儲(chǔ)了后日志220B的塊50B (2)。確定前日志220A和后日志220B的最后頁(yè)(頁(yè)數(shù))是否相同(3 )。 當(dāng)前日志220A和后日志220B的最后頁(yè)相同時(shí),通過(guò)^f吏用前日志220A恢 復(fù)管理信息(4)。當(dāng)前日志220A和后日志220B的最后頁(yè)不同時(shí),通過(guò) 使用后日志220B恢復(fù)管理信息(5 )。圖16A至16D是存儲(chǔ)器單元中的數(shù)據(jù)與存儲(chǔ)單元的闞值電壓之間的關(guān) 系以及NAND存儲(chǔ)器中的寫(xiě)入順序的示例的圖。首先,當(dāng)執(zhí)行擦除操作時(shí), 存儲(chǔ)器單元中的數(shù)據(jù)被設(shè)為"0"。隨后,如圖16A所示,當(dāng)執(zhí)行寫(xiě)入低200980000137.4
說(shuō)明書(shū)第21/52頁(yè)
位頁(yè)時(shí),存儲(chǔ)器單元中的數(shù)據(jù)改變?yōu)閿?shù)據(jù)"0"和數(shù)據(jù)"2"。如圖16B所 示,在寫(xiě)入高位頁(yè)之前,等于或低于實(shí)際數(shù)據(jù)的閾值電壓的數(shù)據(jù)被寫(xiě)入相 鄰單元。接著,通過(guò)被寫(xiě)入單元中的數(shù)據(jù)來(lái)擴(kuò)展數(shù)據(jù)"2"的閾值的分布。 此后,當(dāng)高位頁(yè)的數(shù)據(jù)被寫(xiě)入時(shí),存儲(chǔ)器單元中的數(shù)據(jù)改變?yōu)榫哂谐跏奸?值電壓的數(shù)據(jù)"0"至"3",如圖16C所示。在第一實(shí)施例中,從低閾值 電壓到高閾值電壓來(lái)限定存儲(chǔ)器單元中的數(shù)據(jù)。
說(shuō)明NAND存儲(chǔ)器12中的寫(xiě)入處理。如圖16D所示,對(duì)于來(lái)自靠近 塊中的源極線的存儲(chǔ)器單元的每個(gè)頁(yè),執(zhí)行寫(xiě)入操作。在圖16D中,為了 便于說(shuō)明,示出了四個(gè)字線。
在第一寫(xiě)入中(由圏1表示),1位數(shù)據(jù)被寫(xiě)入存儲(chǔ)器單元1的低位 頁(yè)中。在第二寫(xiě)入中(由圏2表示),1位數(shù)據(jù)被寫(xiě)入在字方向上與存儲(chǔ) 器單元1相鄰的存儲(chǔ)器單元2的低位頁(yè)中。在第三寫(xiě)入中(由圏3表示), 1位數(shù)據(jù)被寫(xiě)入在位方向上與存儲(chǔ)器單元1相鄰的存儲(chǔ)器單元3的低位頁(yè) 中。在第四寫(xiě)入中(由圏4表示),1位數(shù)據(jù)被寫(xiě)入在對(duì)角線方向上與存 儲(chǔ)器單元1相鄰的存儲(chǔ)器單元4的低位頁(yè)中。
在第五寫(xiě)入中(由圏5表示),1位數(shù)據(jù)被寫(xiě)入存儲(chǔ)器單元1的高位 頁(yè)中。在第六寫(xiě)入中(由圏6表示),1位數(shù)據(jù)被寫(xiě)入在字方向上與存儲(chǔ) 器單元1相鄰的存儲(chǔ)器單元2的高位頁(yè)中。在第七寫(xiě)入中(由圏7表示), 1位數(shù)據(jù)^L寫(xiě)入在位方向上與存儲(chǔ)器單元3相鄰的存儲(chǔ)器單元5的低位頁(yè) 中。在第八寫(xiě)入中(由圈8表示),1位數(shù)據(jù)被寫(xiě)入在對(duì)角線方向上與存 儲(chǔ)器單元3相鄰的存儲(chǔ)器單元6的低位頁(yè)中。
在第九寫(xiě)入中(由圏9表示),1位數(shù)據(jù)被寫(xiě)入存儲(chǔ)器單元3的高位 頁(yè)中。在第十寫(xiě)入中(由圏10表示),1位數(shù)據(jù)被寫(xiě)入在字方向上與存儲(chǔ) 器單元3相鄰的存儲(chǔ)器單元4的高位頁(yè)中。在第十一寫(xiě)入中(由圏11表示), 1位數(shù)據(jù)被寫(xiě)入在位方向上與存儲(chǔ)器單元5相鄰的存儲(chǔ)器單元7的低位頁(yè) 中。在第十二寫(xiě)入中(由圏12表示),l位數(shù)據(jù)被寫(xiě)入在對(duì)角線方向上與 存儲(chǔ)器單元5相鄰的存儲(chǔ)器單元8的低位頁(yè)中。
在第十三寫(xiě)入中(由圏13表示),l位數(shù)據(jù)被寫(xiě)入存儲(chǔ)器單元5的高位頁(yè)中。在第十四寫(xiě)入中(由圏14表示),1位數(shù)據(jù)被寫(xiě)入在字方向上與 存儲(chǔ)器單元5相鄰的存儲(chǔ)器單元6的高位頁(yè)中。在第十五寫(xiě)入中(由圏15 表示),1位數(shù)據(jù)4皮寫(xiě)入存儲(chǔ)器單元7的高位頁(yè)中。在第十六寫(xiě)入中(由 圏16表示),l位數(shù)據(jù)被寫(xiě)入在字方向上與存儲(chǔ)器單元7相鄰的存儲(chǔ)器單 元8的高位頁(yè)中。
接下來(lái)說(shuō)明一種針對(duì)用于管理信息的恢復(fù)的日志的選擇方法的特定示 例。圖17A至191是用于說(shuō)明針對(duì)用于管理信息的恢復(fù)的日志的選擇方法 的圖。在圖17A至19I中,對(duì)于用于前日志的塊(每幅圖中左側(cè)的塊)和 用于后日志的塊(每幅圖中右側(cè)的塊)中的每個(gè)頁(yè),存儲(chǔ)前日志和后日志。 在圖17A至19I中的一個(gè)物理塊中的頁(yè)對(duì)應(yīng)于圖16A至16D。換句話說(shuō), 頁(yè)1至4、 7至8、以及11至12是圖16A至16D中所示的低位頁(yè)。頁(yè)5 至6、 9至10、以及13至16是圖16A至16D中所示的高位頁(yè)。在用于前 日志的塊和用于后日志的塊中,塊中的每一行對(duì)應(yīng)于一個(gè)頁(yè)。在圖17A至 191中,為便于說(shuō)明,頁(yè)被分為低位頁(yè)和高位頁(yè)。低位頁(yè)和高位頁(yè)的組合 構(gòu)成一個(gè)物理塊。
在圖17A至19I中,正常保存的日志被示為日志xl,由于短時(shí)中斷被 中斷的日志被示為日志yl,而當(dāng)前正被寫(xiě)入的日志被示為zl。由于在對(duì)于 日志zl的寫(xiě)入期間出現(xiàn)短時(shí)中斷,并且日志yl;故中斷,因此對(duì)應(yīng)于日志 zl的頁(yè)的存儲(chǔ)器單元與對(duì)應(yīng)于日志yl的頁(yè)的存儲(chǔ)器單元是相同的。日志 yl的頁(yè)是低位側(cè)的頁(yè)(低位頁(yè)),而日志zl的頁(yè)是高位側(cè)的頁(yè)(高位頁(yè))。 在每個(gè)塊的日志(頁(yè))中,畫(huà)圏的日志是凈皮選擇作為用于管理信息的恢復(fù) 的曰志的日志。
圖17A是正常時(shí)(當(dāng)電源的異常隔離沒(méi)有出現(xiàn),且電源被斷開(kāi)時(shí))的 前曰志和后日志的圖。圖17B至18G是當(dāng)短時(shí)中斷已經(jīng)出現(xiàn)的時(shí)候的前曰 志和后日志的圖。
在圖17A中,示出了當(dāng)存儲(chǔ)器系統(tǒng)10的電源被斷開(kāi)而沒(méi)有存儲(chǔ)快照 210時(shí)在NAND存儲(chǔ)器12中存儲(chǔ)的前日志和后日志。在圖17A的情形中, 由于數(shù)據(jù)僅被寫(xiě)入低位頁(yè)(頁(yè)1至4),因此,即使在寫(xiě)入低位頁(yè)期間出現(xiàn)短時(shí)中斷,低位頁(yè)數(shù)據(jù)中斷也不會(huì)出現(xiàn)。如圖17A所示,在第一實(shí)施例 中,前日志和后日志凈皮存儲(chǔ)在不同塊的相同頁(yè)中。因此,當(dāng)電源在正常時(shí) 間斷開(kāi)時(shí),前日志的最后頁(yè)和后日志的最后頁(yè)處于相同的頁(yè)位置。因此, 在此情形中,通過(guò)使用前日志恢復(fù)管理信息。在圖17A中示出的正常時(shí), 可以通過(guò)使用后日志而不是前日志來(lái)恢復(fù)管理信息。
在圖17B中,當(dāng)作為前日志執(zhí)行"日志寫(xiě)入(1)"時(shí)出現(xiàn)短時(shí)中斷。 如圖17B所示,當(dāng)在寫(xiě)入前日志的高位頁(yè)(頁(yè)6)期間出現(xiàn)短時(shí)中斷時(shí), 在對(duì)應(yīng)于被寫(xiě)入的高位頁(yè)的低位頁(yè)(前日志的頁(yè)2)中出現(xiàn)低位頁(yè)數(shù)據(jù)中 斷。換句話說(shuō),在圖17B的情形中,由于在前日志的存儲(chǔ)期間出現(xiàn)短時(shí)中 斷,在前日志側(cè)的塊中生成日志yl。在此情形中,對(duì)應(yīng)于"日志寫(xiě)入(l)" 的日志zl (當(dāng)前4皮存儲(chǔ)的日志)^皮存儲(chǔ)在前日志側(cè)的塊中。另一方面,對(duì) 應(yīng)于"日志寫(xiě)入(1)"的后日志未凈皮存儲(chǔ)在后日志側(cè)的塊中。因此,前日 志的最后頁(yè)和后日志的最后頁(yè)包含不同的信息。在此情形中,通過(guò)使用后 日志恢復(fù)管理信息。
在圖17C中,當(dāng)作為后日志執(zhí)行"日志寫(xiě)入(1)"時(shí)出現(xiàn)短時(shí)中斷。 如圖17C所示,當(dāng)在寫(xiě)入后日志的高位頁(yè)(頁(yè)6)期間出現(xiàn)短時(shí)中斷時(shí), 在對(duì)應(yīng)于被寫(xiě)入的高位頁(yè)的低位頁(yè)(后日志的頁(yè)2)中出現(xiàn)低位頁(yè)數(shù)據(jù)中 斷。換句話說(shuō),在圖17C的情形中,由于在后日志的存儲(chǔ)期間出現(xiàn)短時(shí)中 斷,在后日志側(cè)的塊中生成日志yl。在此情形中,對(duì)應(yīng)于"日志寫(xiě)入(l)" 的日志zl ^皮存儲(chǔ)在后日志側(cè)的塊中。對(duì)應(yīng)于"日志寫(xiě)入(1)"的前日志 已被存儲(chǔ)在前日志側(cè)的塊中。因此,前日志的最后頁(yè)和后日志的最后頁(yè)是 相同的。在此情形中,通過(guò)使用前日志恢復(fù)管理信息。
在圖17D中,在作為前日志執(zhí)行"日志寫(xiě)入(1)"之后,在對(duì)應(yīng)于 前日志的數(shù)據(jù)寫(xiě)入期間出現(xiàn)錯(cuò)誤。當(dāng)對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入的重寫(xiě)處理而作為前 日志執(zhí)行"日志寫(xiě)入(2)"時(shí)出現(xiàn)短時(shí)中斷。如圖17D所示,當(dāng)寫(xiě)入前 日志的高位頁(yè)(頁(yè)6)期間出現(xiàn)短時(shí)中斷時(shí),在對(duì)應(yīng)于被寫(xiě)入的高位頁(yè)的 低位頁(yè)(前日志的頁(yè)2)中出現(xiàn)低位頁(yè)數(shù)據(jù)中斷。換句話說(shuō),在圖17D的 情形中,由于在前日志的存儲(chǔ)期間出現(xiàn)短時(shí)中斷,在前日志側(cè)的塊中出現(xiàn)日志yl。在此情形中,對(duì)應(yīng)于"日志寫(xiě)入(l)"的日志xl與對(duì)應(yīng)于"日 志寫(xiě)入(2)"的日志zl祐:存儲(chǔ)在前日志側(cè)的塊中。另一方面,對(duì)應(yīng)于"日 志寫(xiě)入(1)"的后日志和對(duì)應(yīng)于"日志寫(xiě)入(2)"的后日志未被存儲(chǔ)在 后日志側(cè)的塊中。因此,前日志的最后頁(yè)和后日志的最后頁(yè)包含不同的信 息。在此情形中,通過(guò)使用后日志恢復(fù)管理信息。
在圖18E中,在作為前日志執(zhí)行"日志寫(xiě)入(1)"之后,在對(duì)應(yīng)于 前日志的數(shù)據(jù)寫(xiě)入期間出現(xiàn)錯(cuò)誤,并且,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入的重寫(xiě)處理而作 為前日志執(zhí)行"日志寫(xiě)入(2)"。此外,在圖18E中,在對(duì)應(yīng)于數(shù)據(jù)寫(xiě) 入的重寫(xiě)處理而作為后日志執(zhí)4亍"日志寫(xiě)入(2),,之后,當(dāng)對(duì)應(yīng)于第一數(shù) 據(jù)寫(xiě)入而作為后日志執(zhí)行"日志寫(xiě)入(1)"時(shí),出現(xiàn)短時(shí)中斷。如圖18E 所示,當(dāng)寫(xiě)入后日志的高位頁(yè)(頁(yè)6)期間出現(xiàn)短時(shí)中斷時(shí),在對(duì)應(yīng)于被 寫(xiě)入的高位頁(yè)的低位頁(yè)(后日志的頁(yè)2)中出現(xiàn)低位頁(yè)數(shù)據(jù)中斷。換句話 說(shuō),在圖18E的情形中,由于在后日志的存儲(chǔ)期間出現(xiàn)短時(shí)中斷,在后日 志側(cè)的塊中生成日志yl。在此情形中,對(duì)應(yīng)于"日志寫(xiě)入(1)"的日志 xl與對(duì)應(yīng)于"日志寫(xiě)入(2 )"的日志xl被存儲(chǔ)在前日志側(cè)的塊中。另一 方面,對(duì)應(yīng)于"日志寫(xiě)入(2)"的日志xl和對(duì)應(yīng)于"日志寫(xiě)入(1)"的 日志zl被存儲(chǔ)在后日志側(cè)的塊中。因此,前日志的最后頁(yè)和后日志的最后 頁(yè)是相同的。通過(guò)4吏用前日志恢復(fù)管理信息。
在圖18F中,在作為前日志執(zhí)行兩個(gè)頁(yè)上的"日志寫(xiě)入(l)"時(shí)出 現(xiàn)短時(shí)中斷。如圖18F所示,當(dāng)寫(xiě)入前日志的高位頁(yè)(頁(yè)5和頁(yè)6)期間 出現(xiàn)短時(shí)中斷時(shí),在對(duì)應(yīng)于被寫(xiě)入的高位頁(yè)的低位頁(yè)(后日志的頁(yè)l和頁(yè) 2)中出現(xiàn)4氐位頁(yè)數(shù)據(jù)中斷。換句話說(shuō),在圖18F的情形中,由于在前日 志的存儲(chǔ)期間出現(xiàn)短時(shí)中斷,在前日志側(cè)的塊中出現(xiàn)日志yl (例如頁(yè)2)。 在此情形中,對(duì)應(yīng)于"日志寫(xiě)入(l)"的日志xl (前階段頁(yè))與日志zl (后階段頁(yè))被存儲(chǔ)在前日志側(cè)的塊中。另一方面,對(duì)應(yīng)于"日志寫(xiě)入(1)" 的后日志未被存儲(chǔ)在后日志側(cè)的塊中。因此,前日志的最后頁(yè)和后日志的 最后頁(yè)是不同的。通過(guò)使用后日志恢復(fù)管理信息。
在圖18G中,在作為后日志執(zhí)^f亍兩個(gè)頁(yè)上的"日志寫(xiě)入(1)"時(shí)出
30現(xiàn)短時(shí)中斷。如圖18G所示,當(dāng)寫(xiě)入后日志的高位頁(yè)(頁(yè)6和頁(yè)7)期間 出現(xiàn)短時(shí)中斷時(shí),在對(duì)應(yīng)于被寫(xiě)入的高位頁(yè)的低位頁(yè)(后日志的頁(yè)l和頁(yè) 2)中出現(xiàn)低位頁(yè)數(shù)據(jù)中斷。換句話說(shuō),在圖18G的情形中,由于在后日 志的存儲(chǔ)期間已經(jīng)出現(xiàn)短時(shí)中斷,在后日志側(cè)的塊中生成日志yl (例如頁(yè) 2 )。在此情形中,對(duì)應(yīng)于"日志寫(xiě)入(1)"的日志xl與日志zl被存儲(chǔ) 在后日志側(cè)的塊中。對(duì)應(yīng)于"日志寫(xiě)入(1),,的后日志已經(jīng)被存儲(chǔ)在前日 志側(cè)的塊中的兩個(gè)頁(yè)上。因此,前日志的最后頁(yè)和后日志的最后頁(yè)是相同 的。通過(guò)使用前日志恢復(fù)管理信息。
在圖19H中,在作為前日志在兩個(gè)塊上的"日志寫(xiě)入(1)"中執(zhí)行 第二塊中的日志寫(xiě)入時(shí),出現(xiàn)短時(shí)中斷。在此情形中,盡管在前日志的存 儲(chǔ)期間已經(jīng)出現(xiàn)短時(shí)中斷,但日志yl未在前日志側(cè)的塊中生成,因?yàn)榈诙?塊是第一頁(yè)(低位頁(yè))。在此情形中,在前日志側(cè)的塊中,對(duì)應(yīng)于"日志 寫(xiě)入(l)"的日志xl被存儲(chǔ)在第一塊的最后頁(yè)中,而對(duì)應(yīng)于"日志寫(xiě)入 (l)"的日志zl凈皮存儲(chǔ)在第二塊的第一頁(yè)中。另一方面,對(duì)應(yīng)于"日志 寫(xiě)入(1)"的后日志未被存儲(chǔ)在后日志側(cè)的塊中。因此,前日志的最后頁(yè) 和后日志的最后頁(yè)是不同的。通過(guò)使用后日志恢復(fù)管理信息。
在圖191中,在作為前日志在兩個(gè)塊(兩個(gè)頁(yè))上的"日志寫(xiě)入(l)" 中執(zhí)行第二塊中的日志寫(xiě)入之后,在對(duì)應(yīng)于該日志的數(shù)據(jù)寫(xiě)入期間出現(xiàn)錯(cuò) 誤,并且當(dāng)作為"日志寫(xiě)入(l)"的重寫(xiě)處理執(zhí)行"日志寫(xiě)入(2)"時(shí), 出現(xiàn)短時(shí)中斷。在此情形中,盡管在前日志的存儲(chǔ)期間已經(jīng)出現(xiàn)短時(shí)中斷, 但日志yl未在前日志側(cè)的塊中生成,因?yàn)榈诙K的第二頁(yè)是低位頁(yè)。在此 情形中,在前日志側(cè)的塊中,對(duì)應(yīng)于"日志寫(xiě)入(l)"的前階段頁(yè)的日志 xl被存儲(chǔ)在第一塊的最后頁(yè)中,而對(duì)應(yīng)于"日志寫(xiě)入(1)"的后階段頁(yè) 的日志xl被存儲(chǔ)在第二塊的第一頁(yè)中。此外,對(duì)應(yīng)于"日志寫(xiě)入(2)" 的日志zl凈皮存儲(chǔ)在前日志側(cè)的笫二塊的第二頁(yè)中。另一方面,對(duì)應(yīng)于"日 志寫(xiě)入(1)"的后日志和對(duì)應(yīng)于"日志寫(xiě)入(2)"的后日志未被存儲(chǔ)在 后日志側(cè)的塊中。因此,前日志的最后頁(yè)和后日志的最后頁(yè)是不同的。通 過(guò)使用后日志恢復(fù)管理信息。在第一實(shí)施例中,NAND存儲(chǔ)器12被說(shuō)明為多值存儲(chǔ)器。不過(guò),NAND 存儲(chǔ)器12也可以是二進(jìn)制模式的存儲(chǔ)器。在此情形中,由于前日志和后日 志沒(méi)有被短時(shí)中斷中斷,被存儲(chǔ)為后曰志220B的信息不需要與被存儲(chǔ)為 前日志220A的信息相同。因此,當(dāng)NAND存儲(chǔ)器12是二進(jìn)制模式的存 儲(chǔ)器時(shí),后日志220B可以是用于在數(shù)據(jù)被實(shí)際更新之后許可數(shù)據(jù)被更新 的信息(更新許可信息)。
當(dāng)NAND存儲(chǔ)器12是二進(jìn)制模式的存儲(chǔ)器,且后日志220B是更新許 可信息時(shí),如以上說(shuō)明的情形中,管理信息恢復(fù)單元155在恢復(fù)管理信息 時(shí)確定其中存儲(chǔ)前日志220A的最后頁(yè)與其中存儲(chǔ)后日志220B的最后頁(yè)是 否相同。當(dāng)其中存儲(chǔ)前日志220A的最后頁(yè)與其中存儲(chǔ)后日志220B的最后 頁(yè)相同時(shí),管理信息恢復(fù)單元155使用前日志恢復(fù)管理信息。當(dāng)其中存儲(chǔ) 前日志220A的最后頁(yè)與其中存儲(chǔ)后日志220B的最后頁(yè)不同時(shí),管理信息 恢復(fù)單元155使用覆蓋了后日志的前日志(位于與其中存儲(chǔ)后日志的頁(yè)相 同的頁(yè)中的前日志)恢復(fù)管理信息。例如,當(dāng)從第一頁(yè)到第十頁(yè)存儲(chǔ)后日 志時(shí),管理信息恢復(fù)單元155使用來(lái)自第一頁(yè)到第十頁(yè)的前日志恢復(fù)管理 信息。
當(dāng)NAND存儲(chǔ)器12是二進(jìn)制模式的存儲(chǔ)器時(shí),被存儲(chǔ)為后日志220B 的信息可以與前日志220A相同。在此情形中,管理信息恢復(fù)單元155根 據(jù)與當(dāng)NAND存儲(chǔ)器12是多值存儲(chǔ)器時(shí)所執(zhí)行的處理相同的處理來(lái)恢復(fù) 管理信息。在此情形中,當(dāng)其中存儲(chǔ)前日志220A的最后頁(yè)與其中存儲(chǔ)后 日志220B的最后頁(yè)不同時(shí),管理信息恢復(fù)單元155可以使用覆蓋了后日 志的前日志恢復(fù)管理信息。
如上所述,在第一實(shí)施例中,管理信息恢復(fù)單元155基于與其中存儲(chǔ) 前日志220A的最后頁(yè)與其中存儲(chǔ)后日志220B的最后頁(yè)是否相同有關(guān)的比 較結(jié)果,選擇前日志和后日志之一。此外,管理信息恢復(fù)單元155基于所 述比較結(jié)果,從來(lái)自NAND存儲(chǔ)器12的所選前日志和后日志中提取用于 管理信息的恢復(fù)的日志(正常部分)。最后,管理信息恢復(fù)單元155使用 所提取的日志恢復(fù)管理信息。以下說(shuō)明當(dāng)NAND存儲(chǔ)器12是多值存儲(chǔ)器或是二進(jìn)制模式的存儲(chǔ)器 時(shí)由管理信息恢復(fù)單元155提取前日志或后日志。圖20是用于說(shuō)明在此情 形中提取的前日志或后日志的圖。當(dāng)在對(duì)應(yīng)于處理(X-l)的后日志(X-l) 的存儲(chǔ)期間出現(xiàn)短時(shí)中斷(gl)時(shí),由于數(shù)據(jù)寫(xiě)入(X-l)已經(jīng)完成,管理 信息恢復(fù)單元155確定處理(X-l)已經(jīng)完成。管理信息恢復(fù)單元155選擇 前曰志(X-l)作為正常的最新的前日志。此后,管理信息恢復(fù)單元155 在獲得快照210之后^f吏用從第一前日志到前日志(X-l)的前日志來(lái)恢復(fù)管 理信息(過(guò)程hl)。
當(dāng)在后日志(X-l)的存儲(chǔ)之后直到開(kāi)始后日志(X)的存儲(chǔ)的時(shí)間段 期間出現(xiàn)短時(shí)中斷(g2)時(shí),由于數(shù)據(jù)寫(xiě)入(X)未完成,管理信息恢復(fù) 單元155確定處理X未完成。管理信息恢復(fù)單元155選擇后日志(X-l) 作為已完成存儲(chǔ)的最新的后日志。此后,管理信息恢復(fù)單元155在獲得快 照210之后使用從第一后日志到后日志(X-l )的后日志來(lái)恢復(fù)管理信息(過(guò) 程h2)。當(dāng)NAND存儲(chǔ)器12是二進(jìn)制模式的存儲(chǔ)器時(shí),管理信息恢復(fù)單 元155可以選擇前日志(X-l)作為已完成存儲(chǔ)的最新的前日志。在此情形 中,管理信息恢復(fù)單元155在獲得快照210之后使用從第一前日志到前曰 志(X-l)的前日志來(lái)恢復(fù)管理信息(過(guò)程h3)。
類(lèi)似地,當(dāng)在對(duì)應(yīng)于處理X的后日志(X)的存儲(chǔ)期間出現(xiàn)短時(shí)中斷 (g3)時(shí),由于數(shù)據(jù)寫(xiě)入(X)已經(jīng)完成,管理信息恢復(fù)單元155確定處 理X已經(jīng)完成。管理信息恢復(fù)單元155選擇前日志(X)作為正常的最新 的前日志。此后,管理信息恢復(fù)單元155在獲得快照210之后使用從第一 前日志到前日志(X)的前日志來(lái)恢復(fù)管理信息(過(guò)程h4)。
當(dāng)在后日志(X)的存儲(chǔ)之后直到開(kāi)始后日志(X+l)的存儲(chǔ)的時(shí)間段 中出現(xiàn)短時(shí)中斷(g4)時(shí),由于數(shù)據(jù)寫(xiě)入(X+l)未完成,管理信息恢復(fù) 單元155確定處理(X+l)未完成。管理信息恢復(fù)單元155選擇后日志(X) 作為已完成存儲(chǔ)的最新的后日志。此后,管理信息恢復(fù)單元155在獲得快 照210之后使用從第一后日志到后日志(X)的后日志來(lái)恢復(fù)管理信息(過(guò) 程h5)。當(dāng)NAND存儲(chǔ)器12是二進(jìn)制模式的存儲(chǔ)器時(shí),管理信息恢復(fù)單元155可以選擇前日志(X)作為已完成存儲(chǔ)的最新的前日志。在此情形 中,管理信息恢復(fù)單元155在獲得快照210之后使用從第一前日志到前日 志(X)的前日志來(lái)恢復(fù)管理信息(過(guò)程h6)。
在第一實(shí)施例中,當(dāng)快照210的生成^皮改變時(shí),從新的日志存儲(chǔ)塊的 首頁(yè)寫(xiě)入前日志220A和后日志220B。不過(guò),即l更快照210的生成已經(jīng),皮 改變,前日志220A和后日志220B也可以持續(xù)地被寫(xiě)入相同的日志存儲(chǔ)塊。 在上述示例中,DRAM被用作為第一存儲(chǔ)單元。不過(guò),也可以使用其它易 失性半導(dǎo)體存儲(chǔ)設(shè)備和非易失性半導(dǎo)體存儲(chǔ)設(shè)備。
如上所述,根據(jù)第一實(shí)施例,即使當(dāng)在存儲(chǔ)器系統(tǒng)IO中出現(xiàn)短時(shí)中斷 時(shí),前日志220A和后日志220B也會(huì)被存儲(chǔ)在不同塊的相同頁(yè)中。因此, 以下是可能的基于前日志220A的最后頁(yè)和后日志220B的最后頁(yè)容易地 確定出出現(xiàn)短時(shí)中斷的時(shí)刻。以下也是可能的容易地確定出前日志和后 日志中的哪個(gè)日志可以被用于恢復(fù)管理信息(恢復(fù)點(diǎn))。因此,存儲(chǔ)器系 統(tǒng)IO可以被容易地和迅速地重置到出現(xiàn)異常隔離之前的狀態(tài)。
由于從不同塊的首頁(yè)存儲(chǔ)前日志和后日志,易于執(zhí)行對(duì)于前日志和后 日志的日志管理以及塊的管理。當(dāng)NAND存儲(chǔ)器12是多值存儲(chǔ)器時(shí),前 日志220A和后日志220B中的至少一個(gè)不會(huì)由于短時(shí)中斷的原因被中斷。 因此,不管何時(shí)當(dāng)出現(xiàn)短時(shí)中斷時(shí),以下是可能的通過(guò)^f吏用前日志220A 和后日志220B之一,容易地將存儲(chǔ)器系統(tǒng)10重置到出現(xiàn)短時(shí)中斷之前的 狀態(tài)。
由于前日志220A和后日志220B被存儲(chǔ)在不同塊的相同頁(yè)中,以下是 可能的容易地調(diào)節(jié)獲得用于前日志的塊和用于后日志的塊作為用于日志 的塊的時(shí)刻,以及打開(kāi)用于前日志的塊和用于后日志的塊的時(shí)刻。因此, 易于管理用于前日志的塊和用于后日志的塊。
第二實(shí)施例
以下參考圖21和22說(shuō)明本發(fā)明的第二實(shí)施例。在第二實(shí)施例中,當(dāng) 后日志的日志長(zhǎng)度(大小)超過(guò)預(yù)定長(zhǎng)度時(shí),其中存儲(chǔ)后日志的塊從最舊的塊開(kāi)始按順序地被打開(kāi)預(yù)定數(shù)量的塊。
圖21是根據(jù)第二實(shí)施例的數(shù)據(jù)管理單元241的功能配置的示例的框 圖。數(shù)據(jù)管理單元241可以代替數(shù)據(jù)管理單元141使用。除了數(shù)據(jù)管理單 元141的組件之外,即,數(shù)據(jù)傳送處理單元151、管理信息管理單元152、 管理信息恢復(fù)單元155,數(shù)據(jù)管理單元241進(jìn)一步包括日志存儲(chǔ)塊打開(kāi) 單元156以及重寫(xiě)塊均衡處理單元157。
日志存儲(chǔ)塊打開(kāi)單元156確定后日志的日志長(zhǎng)度(大小)是否超過(guò)預(yù) 定長(zhǎng)度。當(dāng)后日志的日志長(zhǎng)度超過(guò)預(yù)定長(zhǎng)度時(shí),日志存儲(chǔ)塊打開(kāi)單元156 打開(kāi)其中存儲(chǔ)后日志的塊中最舊的一個(gè)塊(存儲(chǔ)后日志達(dá)到最長(zhǎng)時(shí)間段的 塊)。
重寫(xiě)塊均衡處理單元157執(zhí)行均化(leveling)處理,以便將擦除各個(gè) 塊的次數(shù)設(shè)為相同。當(dāng)數(shù)據(jù)存儲(chǔ)區(qū)125中的塊與管理信息存儲(chǔ)區(qū)126中的 塊被重寫(xiě)到其它塊時(shí),重寫(xiě)塊均衡處理單元157在重寫(xiě)目的地處選擇一個(gè) 塊,使得各個(gè)塊的可重寫(xiě)次數(shù)均衡。重寫(xiě)塊均衡處理單元157指示數(shù)據(jù)傳 送處理單元151和管理信息管理單元152的管理信息存儲(chǔ)單元154使用在 重寫(xiě)目的地處的所選塊來(lái)執(zhí)行對(duì)數(shù)據(jù)的重寫(xiě)。
當(dāng)快照210、前日志220A、后日志220B、指針230等等被寫(xiě)入新塊 時(shí),重寫(xiě)塊均衡處理單元157在寫(xiě)入目的地選擇一個(gè)塊,使得各個(gè)塊的可 寫(xiě)次數(shù)均衡。重寫(xiě)塊均衡處理單元157指示數(shù)據(jù)傳送處理單元151、管理 信息管理單元152、以及管理信息存儲(chǔ)單元154使用在重寫(xiě)目的地處的所 選塊來(lái)重寫(xiě)數(shù)據(jù)。在此情形中,如果該塊可以械 使用,則重寫(xiě)塊均衡處理 單元157可以在寫(xiě)入目的地處指定一個(gè)塊,而不管該塊是在過(guò)去^L用作為 數(shù)據(jù)存儲(chǔ)區(qū)125的塊、還是其中存儲(chǔ)了管理信息存儲(chǔ)區(qū)126的塊。
圖22A至22C是用于說(shuō)明在各個(gè)塊中對(duì)前日志和后日志的存儲(chǔ)順序以 及對(duì)于后日志的打開(kāi)順序的圖。前日志在塊50A、塊51A以及塊52A的各 個(gè)塊中按順序存儲(chǔ),而后日志在塊50B、塊51B以及塊52B的各個(gè)塊中按 順序存儲(chǔ)。
如圖22A所示,前日志從塊50A的首頁(yè)開(kāi)始按順序存儲(chǔ)。后日志從塊
3550B的首頁(yè)開(kāi)始按順序存儲(chǔ)。此后,如圖22B所示,當(dāng)前日志被寫(xiě)入塊50A 的所有頁(yè)時(shí)(1),通過(guò)使用下一個(gè)塊51A來(lái)存儲(chǔ)前日志(2)。當(dāng)后日志 被寫(xiě)入塊50B的所有頁(yè)時(shí)(1),通過(guò)使用下一個(gè)塊51B來(lái)存儲(chǔ)后日志(2 )。 前日志從塊51A的首頁(yè)開(kāi)始按順序存儲(chǔ),而后日志從塊51B的首頁(yè)開(kāi)始按 順序存儲(chǔ)。
當(dāng)前日志被寫(xiě)入塊51A的所有頁(yè)時(shí),通過(guò)使用下一個(gè)塊52A來(lái)存儲(chǔ)前 日志。當(dāng)后日志被寫(xiě)入塊51B的所有頁(yè)時(shí),通過(guò)使用下一個(gè)塊52B來(lái)存儲(chǔ) 后日志。前日志從塊52A的首頁(yè)開(kāi)始按順序存儲(chǔ),而后日志從塊52B的首 頁(yè)開(kāi)始按順序存儲(chǔ)。
當(dāng)后日志的日志長(zhǎng)度(大小)超過(guò)預(yù)定長(zhǎng)度(例如1個(gè)塊)時(shí),如圖 22C所示,日志存儲(chǔ)塊打開(kāi)單元156打開(kāi)其中存儲(chǔ)了后日志的塊中最舊的 一個(gè)塊。日志存儲(chǔ)塊打開(kāi)單元156檢查將打開(kāi)的塊中的后日志是否存儲(chǔ)了 與前日志中相同的信息。僅當(dāng)將打開(kāi)的塊中的后日志存儲(chǔ)了與前日志中相 同的信息時(shí),日志存儲(chǔ)塊打開(kāi)單元156才將其中存儲(chǔ)了后日志的塊設(shè)為打 開(kāi)目標(biāo)的塊。
例如,當(dāng)日志存儲(chǔ)塊打開(kāi)單元156被設(shè)為當(dāng)后日志的日志長(zhǎng)度已經(jīng) 超過(guò)1個(gè)塊時(shí)打開(kāi)最舊的塊的時(shí)候,日志存儲(chǔ)塊打開(kāi)單元156在開(kāi)始寫(xiě)入 塊51B之后打開(kāi)塊50B ( ST1)。日志存儲(chǔ)塊打開(kāi)單元156在開(kāi)始寫(xiě)入塊 52B之后打開(kāi)塊51B ( ST2 )。
當(dāng)日志存儲(chǔ)塊打開(kāi)單元156被設(shè)為當(dāng)后日志的日志長(zhǎng)度超過(guò)2個(gè)塊 時(shí)從最舊的塊開(kāi)始按順序打開(kāi)塊的時(shí)候,由于塊50B是用于后日志的塊中 最舊的,日志存儲(chǔ)塊打開(kāi)單元156在開(kāi)始寫(xiě)入塊52B之后打開(kāi)塊50B (ST1)。 1^,日志存儲(chǔ)塊打開(kāi)單元156打開(kāi)塊51B ( ST2 )。當(dāng)后日志 的日志長(zhǎng)度超過(guò)2個(gè)塊時(shí),日志存儲(chǔ)塊打開(kāi)單元156可以僅打開(kāi)最舊的一 個(gè)塊。在此情形中,日志存儲(chǔ)塊打開(kāi)單元156僅打開(kāi)塊50B ( ST1)。
在存儲(chǔ)器系統(tǒng)10中,重寫(xiě)塊均衡處理單元157執(zhí)行均化處理(磨損 (wear)均化),作為用于將擦除各個(gè)塊的次數(shù)^殳為相同的處理。從而, 在存儲(chǔ)器系統(tǒng)10中,能夠防止擦除處理集中于一部分的塊。因此,能夠延長(zhǎng)NAND存儲(chǔ)器12的耐用壽命。在第二實(shí)施例中,由于作為均化處理的 目標(biāo)的塊被打開(kāi),提高了均化處理的效率。
在第二實(shí)施例的上述說(shuō)明中,當(dāng)后日志的日志長(zhǎng)度超過(guò)1個(gè)塊或2個(gè) 塊時(shí)打開(kāi)一個(gè)塊。不過(guò),打開(kāi)一個(gè)塊的時(shí)刻不限于這些時(shí)刻,并且僅需是 當(dāng)后日志的日志長(zhǎng)度大于等于1個(gè)塊的時(shí)刻。例如,當(dāng)后日志的日志長(zhǎng)度 超過(guò)1.5個(gè)塊時(shí)可以打開(kāi)舊的一個(gè)塊,或者當(dāng)后日志的日志長(zhǎng)度超過(guò)1個(gè) 塊以及預(yù)定頁(yè)數(shù)時(shí),可以打開(kāi)舊的一個(gè)塊。
在打開(kāi)舊的塊之后,存儲(chǔ)器系統(tǒng)10可以在任何時(shí)間擦除所打開(kāi)的塊。 存儲(chǔ)器系統(tǒng)10例如在負(fù)載沒(méi)有施加到存儲(chǔ)器系統(tǒng)10中的處理的時(shí)候擦除 舊的塊。取代于打開(kāi)用于后日志的舊塊,存儲(chǔ)器系統(tǒng)10可以打開(kāi)用于前日 志的舊塊。當(dāng)NAND存儲(chǔ)器12是二進(jìn)制模式的存儲(chǔ)器,且后日志220B是 數(shù)據(jù)更新許可信息時(shí),在日志長(zhǎng)度超過(guò)預(yù)定長(zhǎng)度的時(shí)候的打開(kāi)目標(biāo)是用于 后日志的舊塊,而不是用于前日志的塊。
在第二實(shí)施例的上述說(shuō)明中,從最舊的塊開(kāi)始按順序打開(kāi)所述塊。不 過(guò),也可以從具有最小擦除次數(shù)的塊開(kāi)始按順序打開(kāi)所述塊。因而,具有 小擦除次數(shù)的塊比起具有大擦除次數(shù)的塊而言更易于被打開(kāi)。
如上所述,根據(jù)第二實(shí)施例,當(dāng)后日志的日志長(zhǎng)度超過(guò)預(yù)定長(zhǎng)度時(shí), 其中存儲(chǔ)后日志的舊塊被打開(kāi)。因此,打開(kāi)塊的數(shù)量增加,并且作為結(jié)果, 能夠高效地執(zhí)行均化處理。
由于從不同塊的首頁(yè)開(kāi)始存儲(chǔ)前日志和后日志,易于管理作為打開(kāi)目 標(biāo)的塊。由于從最舊的塊開(kāi)始按順序打開(kāi)所述塊,能夠平均所述塊中;^擦 除直到寫(xiě)入的時(shí)間。因而,在NAND存儲(chǔ)器12中,用于執(zhí)行松弛的時(shí)間 可以被充分保障。
第三實(shí)施例
以下參考圖BA和MB說(shuō)明本發(fā)明的第三實(shí)施例。在第三實(shí)施例中, 其中存儲(chǔ)前日志的塊組以及其中存儲(chǔ)后日志的塊組是不同的塊組。各個(gè)塊 組是可高速存取的塊組(邏輯塊)。如第一實(shí)施例的圖1所示,在存儲(chǔ)器系統(tǒng)10中,NAND存儲(chǔ)器12包 括四個(gè)信道120A至120D。信道120A至120D經(jīng)由驅(qū)動(dòng)控制單元14和總 線15A至15D彼此連接。
通過(guò)這種配置,存儲(chǔ)器系統(tǒng)10可以并行地啟用四個(gè)信道120 A至120D。 例如,當(dāng)總線15A至15D是8位總線時(shí),存儲(chǔ)器系統(tǒng)IO可以通過(guò)并行地 啟用四個(gè)信道120A至120D以32位為單位存取NAND存儲(chǔ)器12。
當(dāng)存儲(chǔ)器系統(tǒng)10通過(guò)8位總線存取NAND存儲(chǔ)器12時(shí),為將存取的 每個(gè)塊指定地址。當(dāng)存儲(chǔ)器系統(tǒng)10通過(guò)32位總線存取NAND存儲(chǔ)器12 時(shí),為將存取的每個(gè)塊組指定地址。
信道120A至120D的每個(gè)具有兩個(gè)平面(plane)。例如,信道120A 具有用于平面0的一個(gè)塊以及用于平面1的一個(gè)塊。對(duì)應(yīng)于平面0的塊經(jīng) 由用于平面0的緩沖器以8位為單位進(jìn)行存取(每8位進(jìn)行數(shù)據(jù)讀和寫(xiě))。 對(duì)應(yīng)于平面1的塊經(jīng)由用于平面1的緩沖器以8位為單位進(jìn)行存取。
在信道120A中,當(dāng)在用于平面1的緩沖器中存儲(chǔ)的數(shù)據(jù)被寫(xiě)入平面1 側(cè)的塊中時(shí),數(shù)據(jù)被從主機(jī)設(shè)備等寫(xiě)入用于平面0的緩沖器。當(dāng)在用于平 面0的緩沖器中存儲(chǔ)的數(shù)據(jù)被寫(xiě)入平面0側(cè)的塊中時(shí),數(shù)據(jù)被從主機(jī)設(shè)備 等寫(xiě)入用于平面1的緩沖器。在信道120A中,通過(guò)交替重復(fù)這種類(lèi)型的 處理,以下是可能的以通過(guò)使用一個(gè)平面來(lái)執(zhí)行的數(shù)據(jù)讀和寫(xiě)的速度兩 倍的速度,執(zhí)行數(shù)據(jù)讀和寫(xiě)。
類(lèi)似地,在信道120B至120D中,通過(guò)使用兩個(gè)平面來(lái)執(zhí)行數(shù)據(jù)讀和 寫(xiě),以下是可能的以通過(guò)使用一個(gè)平面來(lái)執(zhí)行的數(shù)據(jù)讀和寫(xiě)的速度兩倍 的速度,執(zhí)行數(shù)據(jù)讀和寫(xiě)。
因此,在第三實(shí)施例中,信道120A至120D被并行啟用,并且,在信 道120A至1加D的每個(gè)中,前日志和后日志被存儲(chǔ)在邏輯塊(塊組)中, 其中數(shù)據(jù)讀和寫(xiě)可以通過(guò)使用兩個(gè)平面來(lái)執(zhí)行。在第三實(shí)施例中,其中存 儲(chǔ)前日志的邏輯塊和其中存儲(chǔ)后日志的邏輯塊是不同的。邏輯塊是包括八 個(gè)塊的塊組,每個(gè)塊是從信道120A至120D中的每個(gè)平面中收集的。例如, 當(dāng)一個(gè)塊具有大小為512K時(shí),邏輯塊具有大小為4M。200980000137.4 平面0 ( PL0 ) 和平面1(PL1)。塊P0、 Q0和R0是信道120A的平面0,而塊P1、 Ql 和R1是信道120A的平面1。塊P2、 Q2和R2是信道120B的平面0,而 塊P3、 Q3和R3是信道120B的平面1。塊P4、 Q4和R4是信道120C的 平面O,而塊P5、 Q5和R5是信道120C的平面1。塊P6、 Q6和R6是信 道120D的平面0,而塊P7、 Q7和R7是信道120D的平面1。
在圖23A所示的示例中,通過(guò)塊PO至P7配置一個(gè)邏輯塊,以及通過(guò) 塊QO至Q7配置一個(gè)邏輯塊。在圖23B所示的示例中,通過(guò)塊RO至R7 配置一個(gè)邏輯塊。
在此情形中,在第三實(shí)施例中,如圖23A所示,包括塊P0至P7的邏 輯塊被分配給用于前日志的塊,而包括塊QO至Q7的邏輯塊被分配給用于 后日志的塊。
以此方式,其中存儲(chǔ)前日志的邏輯塊和其中存儲(chǔ)后日志的邏輯塊是獨(dú) 立的塊。其中存儲(chǔ)前日志的邏輯塊中的塊(存儲(chǔ)開(kāi)始?jí)K等等)和其中存儲(chǔ) 后日志的邏輯塊中的塊(存儲(chǔ)開(kāi)始?jí)K等等)是在相同信道中的相同平面上 的塊。而且,其中存儲(chǔ)前日志的塊中的區(qū)(頁(yè)位置)與其中存儲(chǔ)后日志的 塊中的區(qū)(頁(yè)位置)是相同的區(qū)。
例如,當(dāng)被存儲(chǔ)作為前日志的信息和被存儲(chǔ)作為后日志的信息是相同 的時(shí),如果可以確i^前日志中的信息和后日志中的信息是相同的,則能夠 打開(kāi)(擦除)前日志和后日志之一。例如,當(dāng)用于后日志的邏輯塊被后日 志完全填滿時(shí),通過(guò)存儲(chǔ)用于前日志的邏輯塊,能夠打開(kāi)用于后日志的邏 輯塊。當(dāng)用于前日志的邏輯塊被前日志完全填滿時(shí),通過(guò)存儲(chǔ)用于后日志 的邏輯塊,能夠打開(kāi)用于前日志的邏輯塊。
如上所述,用于前日志的邏輯塊和用于后日志的邏輯塊是這樣的邏輯 塊,其可以并行地啟用信道120A至120D,并且使用信道120A至120D 中的兩個(gè)信道來(lái)執(zhí)行數(shù)據(jù)讀和寫(xiě)。因此,能夠以高速執(zhí)行塊的打開(kāi)和擦除。
另一方面,如圖23B所示,當(dāng)用于前日志和后日志的塊以混合狀態(tài)被 存儲(chǔ)在一個(gè)邏輯塊中時(shí),當(dāng)執(zhí)行日志的打開(kāi)(擦除)時(shí),每個(gè)塊都需要被打開(kāi)。因此,無(wú)法以高速執(zhí)行打開(kāi)處理。
當(dāng)NAND存儲(chǔ)器12是二進(jìn)制模式的存儲(chǔ)器,且后日志220B是數(shù)據(jù)更 新許可信息時(shí),在日志長(zhǎng)度超過(guò)預(yù)定長(zhǎng)度的時(shí)候?qū)⒈淮蜷_(kāi)的打開(kāi)目標(biāo)是用 于后日志的邏輯塊,而不是用于前日志的邏輯塊。
在第三實(shí)施例的以上說(shuō)明中,其中存儲(chǔ)前日志的邏輯塊中的塊以及其 中存儲(chǔ)后日志的邏輯塊中的塊是在相同信道中的相同平面上的塊。不過(guò), 其中存儲(chǔ)前日志的邏輯塊中的塊以及其中存儲(chǔ)后日志的邏輯塊中的塊可以 是在不同信道中的不同平面上的塊。
在第三實(shí)施例的以上說(shuō)明中,NAND存儲(chǔ)器12包括四個(gè)信道120A至 120D。不過(guò),NAND存儲(chǔ)器12的信道數(shù)量可以小于等于三,或者大于等 于五。
在第三實(shí)施例的以上說(shuō)明中,信道120A至120D中的每個(gè)都具有兩個(gè) 平面。不過(guò),每個(gè)信道都可以具有三個(gè)或更多平面,或者僅具有一個(gè)平面。
如上所述,根據(jù)第三實(shí)施例,由于其中存儲(chǔ)前日志的邏輯塊與其中存 儲(chǔ)后日志的邏輯塊是不同的,以下是可能的當(dāng)并行啟用多個(gè)信道時(shí),使 用多個(gè)平面來(lái)執(zhí)行邏輯塊的打開(kāi)和擦除。因此,能夠以高速打開(kāi)和擦除不 必要的邏輯塊。
由于前日志和后日志被存儲(chǔ)在不同塊的相同頁(yè)中,塊或邏輯塊的可以 被打開(kāi)的時(shí)刻與用于前日志的塊和用于后日志的塊中的相同。由于在不同 邏輯塊中的相同塊中從首頁(yè)存儲(chǔ)前日志和后日志,易于管理所述塊和邏輯 塊。
在上述示例中,構(gòu)成NAND存儲(chǔ)器12的存儲(chǔ)器單元晶體管MT是2 位的多值存儲(chǔ)器。然而,2個(gè)或更多位的多值存儲(chǔ)器可以^皮應(yīng)用于任意存 儲(chǔ)器單元晶體管MT。當(dāng)多值存儲(chǔ)器被應(yīng)用于存儲(chǔ)器單元晶體管MT時(shí), 由于頁(yè)包括三個(gè)或更多頁(yè),諸如高位頁(yè)、中間頁(yè)和低位頁(yè),以下是4艮可能 的當(dāng)數(shù)據(jù)被寫(xiě)入高位頁(yè)中時(shí),在中間頁(yè)和低位頁(yè)中出現(xiàn)低位頁(yè)數(shù)據(jù)中斷。
電荷累積層不限于浮置柵電極類(lèi)型,并且可以是包括諸如MONOS(金 屬-氧化物-氮化物-氧化物-半導(dǎo)體)結(jié)構(gòu)以及其它系統(tǒng)的氮化硅膜的電荷俘獲型。
第四實(shí)施例
以下結(jié)合圖24至29I說(shuō)明本發(fā)明的第四實(shí)施例。在第四實(shí)施例中,前日志和后日志具有相同大小,并從不同塊的相同頁(yè)(位置)開(kāi)始按順序存儲(chǔ)。例如,前日志和后日志是相同信息。
圖24是根據(jù)第四實(shí)施例在管理信息存儲(chǔ)區(qū)中存儲(chǔ)的管理信息存儲(chǔ)信息400的內(nèi)容的示例的示意圖。在第四實(shí)施例中,前日志220A的數(shù)據(jù)大小和后日志220B的數(shù)據(jù)大小是相同的。通過(guò)按順序?qū)⑶叭罩?20A和后日志220B存儲(chǔ)在不同塊的相同位置中(在對(duì)應(yīng)于上次的快照210的前日志220A和后日志220B的位置之后),前日志220A和后日志220B被存儲(chǔ)在不同塊的相同頁(yè)中。
指針230指示出快照210的位置、在存儲(chǔ)快照210之后首先獲得的位置(第k頁(yè))(k是自然數(shù))、以及在存儲(chǔ)快照210之后首先獲得的后日志220B的位置(第k頁(yè))。當(dāng)在存儲(chǔ)快照210之后首先獲得的前日志220A被存儲(chǔ)在用于前日志的塊中的第k頁(yè)中時(shí),在存儲(chǔ)快照210之后首先獲得的后日志220B被存儲(chǔ)在用于后日志的塊中的第k頁(yè)中。指針230將用于前日志的塊中的第k頁(yè)指示為前日志的位置,而將用于后日志的塊中的第k頁(yè)指示為后日志的位置。
在圖24中,快照210、前日志220A、后日志220B、以及指針230被存儲(chǔ)在不同塊中。快照210被存儲(chǔ)在快照存儲(chǔ)塊中。
前日志220A和后日志220B分別4皮存儲(chǔ)在日志存儲(chǔ)塊中。即使對(duì)快照210的生成改變,前日志220A和后日志220B也凈皮持續(xù)寫(xiě)入相同的日志存儲(chǔ)塊中。換句話說(shuō),在第四實(shí)施例中,對(duì)應(yīng)于最新快照210的前日志220A從在對(duì)應(yīng)于存儲(chǔ)在最新的快照210緊前的快照210的前日志220A之后的區(qū)(位置)按順序存儲(chǔ)。對(duì)應(yīng)于最新快照210的后日志220B從在對(duì)應(yīng)于存儲(chǔ)在最新的快照210緊前的快照210的后日志220B之后的區(qū)(位置)按順序存儲(chǔ)。以下說(shuō)明通過(guò)管理信息管理單元152的對(duì)存儲(chǔ)器系統(tǒng)10的管理信息的存儲(chǔ)處理。才艮據(jù)第四實(shí)施例的管理信息管理單元152才艮據(jù)與第一實(shí)施例中參考圖12說(shuō)明的對(duì)管理信息的存儲(chǔ)處理過(guò)程相同的過(guò)程來(lái)存儲(chǔ)管理信息。因此,參考圖12說(shuō)明對(duì)管理信息的存儲(chǔ)處理。圖25是用于說(shuō)明根據(jù)第四實(shí)施例的針對(duì)存儲(chǔ)器系統(tǒng)的前日志和后日志的存儲(chǔ)處理的圖。存儲(chǔ)器系統(tǒng)IO連接于主機(jī)設(shè)備,并作為主機(jī)設(shè)備的次級(jí)存^i殳備進(jìn)行工作。主機(jī)設(shè)備(存儲(chǔ)器系統(tǒng)IO)處于已啟動(dòng)狀態(tài)。在主機(jī)設(shè)備的啟動(dòng)狀態(tài)之前,在存儲(chǔ)器系統(tǒng)10停止之前存儲(chǔ)快照210。
首先,基于在主機(jī)設(shè)備(存儲(chǔ)器系統(tǒng)10 )的上一結(jié)束處存儲(chǔ)的快照210,主機(jī)設(shè)備(存儲(chǔ)器系統(tǒng)IO)處于已啟動(dòng)狀態(tài)(步驟Sll)。此后,當(dāng)必要時(shí)從主機(jī)設(shè)^L行向NAND存儲(chǔ)器12中的數(shù)據(jù)寫(xiě)入。管理信息管理單元152確定快照存儲(chǔ)條件是否滿足(例如,日志存儲(chǔ)區(qū)是否已滿)(步驟S12 )。當(dāng)快照存儲(chǔ)條件不滿足時(shí)(步驟S12的"否"),管理信息管理單元152確定涉及對(duì)管理信息的更新(對(duì)數(shù)據(jù)的寫(xiě)入等等)的指令是否被接收(步驟S13 )。當(dāng)涉及對(duì)管理信息的更新的指令未被接收時(shí)(步驟S13的"否,,),管理信息管理單元152返回步驟S12。
當(dāng)涉及對(duì)管理信息的更新的指令被接收時(shí)(步驟S13的"是"),管理信息管理單元152通過(guò)執(zhí)行該指令確定指示出管理信息將如何被更新的更新安排(步驟S14 )。管理信息管理單元152將更新安排存儲(chǔ)在NAND存儲(chǔ)器l2的管理信息存儲(chǔ)區(qū)126的日志存儲(chǔ)塊中作為前日志220A (步驟S15)。
當(dāng)前日志220A尚未4皮存儲(chǔ)在日志存儲(chǔ)塊中時(shí),更新安排(前日志)是在管理信息被更新的時(shí)候的非易失性表和在快照存儲(chǔ)塊中存儲(chǔ)的快照210之間的差異信息。當(dāng)前日志220A (過(guò)去的前日志220A)已被存儲(chǔ)在日志存儲(chǔ)塊中時(shí),更新安排(前日志)是在管理信息被更新的時(shí)候的非易失性表與快照210和過(guò)去的前日志220A的結(jié)合之間的差異信息。
例如,如圖25所示,在數(shù)據(jù)寫(xiě)入(X)被執(zhí)行作為針對(duì)第X個(gè)數(shù)據(jù)的寫(xiě)入處理之前,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X)的前日志(X),皮存儲(chǔ)在NAND存
42儲(chǔ)器12中作為前日志220A。前日志(X)是在過(guò)去的前日志220A未被存 儲(chǔ)在日志存儲(chǔ)塊中的時(shí)候的日志,并且是在管理信息被更新的時(shí)候的非易 失性表與快照210之間的差異信息。換句話說(shuō),前日志(X)是在獲得快 照210之后的第一前日志。在此情形中,前日志(X)被存儲(chǔ)在塊50A (用 于前日志的塊)中其中存儲(chǔ)了就在前一次生成中的日志等等的頁(yè)的下一個(gè) 頁(yè)(第k頁(yè))中。管理信息存儲(chǔ)單元154將塊50A的第k頁(yè)的位置(地址) 存儲(chǔ)在指針230中作為第一前日志的存儲(chǔ)位置。管理信息存儲(chǔ)單元154例 如將塊50A的ID和第k頁(yè)的ID (有效的首頁(yè)ID )存儲(chǔ)在指針230中。 從而,塊50A的第一頁(yè)至第(k-l)頁(yè)被設(shè)為無(wú)效頁(yè)。例如在前日志(更 新安排)被存儲(chǔ)在DRAM 11之后,前日志220A被存儲(chǔ)在NAND存儲(chǔ)器 12的管理信息存儲(chǔ)區(qū)126中。
隨后,邏輯NAND管理層32執(zhí)行在步驟S13接收的指令(步驟S16)。 作為這種指令的示例,存在針對(duì)在NAND存儲(chǔ)器12的數(shù)據(jù)存儲(chǔ)區(qū)的預(yù)定 塊中的用戶數(shù)據(jù)的寫(xiě)入處理。特別地,在NAND存儲(chǔ)器12中的數(shù)據(jù)存儲(chǔ) 區(qū)125中的數(shù)據(jù)寫(xiě)入(X)被執(zhí)行。
從而,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X)的后日志220B (X)被存儲(chǔ)在NAND存 儲(chǔ)器12中作為后日志220B。后日志220B被存儲(chǔ)在塊50B (不同于塊50A 的一個(gè)塊)中的第k頁(yè)(與前日志220A相同的頁(yè))中。管理信息存儲(chǔ)單 元154將塊50B的第k頁(yè)的位置(地址)存儲(chǔ)在指針230中作為第一前日 志的存儲(chǔ)位置。管理信息存儲(chǔ)單元154例如將塊50B的ID和第k頁(yè)的ID (有效的首頁(yè)ID)存儲(chǔ)在指針230中。從而,塊50B的第一頁(yè)至第(k-l) 頁(yè)被j殳為無(wú)效頁(yè)。以此方式,后日志220B4皮存儲(chǔ)在不同于前日志220A的 塊中,以及被存儲(chǔ)在與其中存儲(chǔ)日志220A的頁(yè)相同的頁(yè)中。此外,被存 儲(chǔ)作為后日志220B的信息是與被存儲(chǔ)作為前日志220A的信息相同的信 息。例如在后日志220B被記錄在DRAM 11上之后,后日志220B被存儲(chǔ) 在NAND存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中。此后,管理信息管理單元 152返回步驟S12。
當(dāng)快照存儲(chǔ)條件不滿足(步驟S12的"否"),并且涉及管理信息的更新的指令被接收(步驟S13的"是")時(shí),重復(fù)步驟S14至S17的處理。 特別地,以針對(duì)第X個(gè)數(shù)據(jù)的寫(xiě)入處理相同的方式,執(zhí)行針對(duì)第(X+l) 個(gè)數(shù)據(jù)的寫(xiě)入處理。換句話說(shuō),在執(zhí)行作為針對(duì)第(X+l)個(gè)數(shù)據(jù)的寫(xiě)入 處理的數(shù)據(jù)寫(xiě)入(X+l)之前,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X+l)的前日志(X+l) 被存儲(chǔ)在NAND存儲(chǔ)器12中作為前日志220A。前日志220A被存儲(chǔ)在塊 50A中的頁(yè)(k+l)中。
在NAND存儲(chǔ)器12中的數(shù)據(jù)存儲(chǔ)區(qū)125中執(zhí)行數(shù)據(jù)寫(xiě)入(X+l)。 此外,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X+l)的后日志(X+l)被存儲(chǔ)在NAND存儲(chǔ)器 12中作為后日志220B。后日志220B被存儲(chǔ)在塊50B中的頁(yè)(k+l)的位 置中。以此方式,后日志220B被存儲(chǔ)在不同于前日志220A的塊中,以及 被存儲(chǔ)在與其中存儲(chǔ)前日志220A的頁(yè)相同的頁(yè)中。此外,被存儲(chǔ)作為后 日志220B的信息以及被存儲(chǔ)作為前日志220A的信息是相同的信息。
當(dāng)在步驟S12快照存儲(chǔ)條件已滿足時(shí)(步驟S12的"是"),DRAM 11的管理信息存儲(chǔ)區(qū)111中包括至少非易失性表的管理信息被存儲(chǔ)在 NAND存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中,作為快照210 (步驟S18)。 管理信息管理單元152確定是否指到存儲(chǔ)器系統(tǒng)10的結(jié)束(步驟S19 )。 當(dāng)沒(méi)有指到存儲(chǔ)器系統(tǒng)10的結(jié)束時(shí),管理信息管理單元152返回步驟S12。 當(dāng)指到存儲(chǔ)器系統(tǒng)10的結(jié)束時(shí),所述處理完成。
以下說(shuō)明由管理信息恢復(fù)單元155執(zhí)行的對(duì)于存儲(chǔ)器系統(tǒng)10的管理信 息的恢復(fù)處理。才艮據(jù)第四實(shí)施例的管理信息恢復(fù)單元155根據(jù)第一實(shí)施例 中參考圖14說(shuō)明的對(duì)于管理信息的恢復(fù)處理過(guò)程相同的過(guò)程來(lái)恢復(fù)管理 信息。從而,參考圖14說(shuō)明對(duì)管理信息的恢復(fù)處理。圖26是用于說(shuō)明根 據(jù)第四實(shí)施例的對(duì)于存儲(chǔ)器系統(tǒng)10的管理信息的恢復(fù)處理的圖。存儲(chǔ)器系 統(tǒng)10連接于主機(jī)設(shè)備,并作為主機(jī)設(shè)備的次級(jí)存儲(chǔ)設(shè)備進(jìn)行工作。
例如根據(jù)從短時(shí)中斷的恢復(fù),主機(jī)設(shè)備的電源接通,并且向存儲(chǔ)器系 統(tǒng)10發(fā)出啟動(dòng)指令(步驟S31)。管理信息恢復(fù)單元155讀取NAND存 儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中的指針230 (步驟S32 ),并獲得其中存 儲(chǔ)快照210的塊的地址以及其中存儲(chǔ)前日志和后日志(前日志220A和后日志220B)的塊的地址(步驟S33)。
此后,管理信息恢復(fù)單元155從快照存儲(chǔ)塊獲得快照210,以及恢復(fù) DRAM 11的管理信息存儲(chǔ)區(qū)111中的快照210 (步驟S34)。
管理信息恢復(fù)單元155將擦除頁(yè)搜索應(yīng)用到NAND存儲(chǔ)器12中用于 前日志的塊和用于后日志的塊(步驟S35)。在第四實(shí)施例中,塊50A的 第一頁(yè)至第(k-l)頁(yè)被設(shè)為無(wú)效頁(yè)(第k頁(yè)的ID被存儲(chǔ)在指針230中作 為有效的首頁(yè)ID)。因此,管理信息恢復(fù)單元155從用于前日志的塊的第 k頁(yè)開(kāi)始執(zhí)行擦除頁(yè)搜索,以及從用于后日志的塊的第k頁(yè)開(kāi)始執(zhí)行擦除 頁(yè)搜索。
管理信息恢復(fù)單元155確定在其中存儲(chǔ)了前日志220A的頁(yè)中,哪個(gè) 頁(yè)是最后的頁(yè)(在擦除頁(yè)緊前的頁(yè))。管理信息恢復(fù)單元155確定在其中 存儲(chǔ)了后日志220B的頁(yè)中,哪個(gè)頁(yè)是最后的頁(yè)。管理信息恢復(fù)單元155 確定其中存儲(chǔ)了前日志220A的最后頁(yè)與其中存儲(chǔ)了后日志220B的最后頁(yè) 是否相同(步驟S36)。根據(jù)第四實(shí)施例的管理信息恢復(fù)單元155基于其 中存儲(chǔ)了前日志220A的最后頁(yè)與其中存儲(chǔ)了后日志220B的最后頁(yè)是否相 同的確定結(jié)果,選擇前日志220A和后日志220B之一作為用于管理信息的 恢復(fù)的日志。此后,根據(jù)與第一實(shí)施例中結(jié)合圖14說(shuō)明的對(duì)于管理信息的 恢復(fù)處理過(guò)程相同的過(guò)程(步驟S36至S40),恢復(fù)管理信息。
特別地,如圖26所示,擦除頁(yè)搜索從第k頁(yè)開(kāi)始被應(yīng)用于其中存儲(chǔ)了 前日志2加A的塊50A (1),以及擦除頁(yè)搜索從第k頁(yè)開(kāi)始被應(yīng)用于其中 存儲(chǔ)了后日志220B的塊50B ( 2 )。
確定前日志2加A和后日志220B的最后頁(yè)(頁(yè)數(shù))是否相同(3 ), 當(dāng)前日志220A和后日志220B的最后頁(yè)相同時(shí),通過(guò)^f吏用前日志220A恢 復(fù)管理信息(4)。當(dāng)前日志220A和后日志220B的最后頁(yè)不同時(shí),通過(guò) 使用后日志220B恢復(fù)管理信息(5 )。
接下來(lái)說(shuō)明根據(jù)第四實(shí)施例的一種針對(duì)用于管理信息的恢復(fù)的日志的 選擇方法的特定示例。圖27A至29I是與第一實(shí)施例中的圖17A至19I相 同的i兌明性圖。冗余的i兌明,皮省略。在各個(gè)塊的日志(頁(yè))中,畫(huà)圏的正常存儲(chǔ)的日志是^L選擇作為用于 管理信息的恢復(fù)的日志的日志。圖27A是正常時(shí)(當(dāng)電源的異常隔離沒(méi)有 出現(xiàn),且電源被斷開(kāi)時(shí))的前日志和后日志的圖。圖27B至28G是當(dāng)短時(shí) 中斷已經(jīng)出現(xiàn)的時(shí)候的前日志和后日志的圖。
在圖27A中,示出了當(dāng)存儲(chǔ)器系統(tǒng)10的電源被斷開(kāi)而沒(méi)有存儲(chǔ)快照 210時(shí)在NAND存儲(chǔ)器12中存儲(chǔ)的前日志和后日志。在圖27A的情形中, 由于數(shù)據(jù)僅^C寫(xiě)入低位頁(yè)(頁(yè)2至4),因此,即使在寫(xiě)入低位頁(yè)期間出 現(xiàn)短時(shí)中斷,低位頁(yè)數(shù)據(jù)中斷也不會(huì)出現(xiàn)。在圖27A的情形中,與圖17A 的情形一樣,通過(guò)使用前日志恢復(fù)管理信息。
在圖27B的情形中,與圖17B的情形一樣,前日志的最后頁(yè)和后日志 的最后頁(yè)是不同的。通過(guò)使用后日志恢復(fù)管理信息。
在圖27C的情形中,與圖17C的情形一樣,前日志的最后頁(yè)和后日志 的最后頁(yè)是相同的。通過(guò)使用前日志恢復(fù)管理信息。
在圖27D的情形中,與圖17D的情形一樣,前日志的最后頁(yè)和后日志 的最后頁(yè)是不同的。通過(guò)使用后日志恢復(fù)管理信息。
在圖28E的情形中,與圖18E的情形一樣,前日志的最后頁(yè)和后曰志 的最后頁(yè)是相同的。通過(guò)使用前日志恢復(fù)管理信息。
在圖28F的情形中,與圖18F的情形一樣,前日志的最后頁(yè)和后日志 的最后頁(yè)是相同的。通過(guò)使用后日志恢復(fù)管理信息。
在圖28G的情形中,與圖18G的情形一樣,前日志的最后頁(yè)和后曰志 的最后頁(yè)是相同的。通過(guò)使用前日志恢復(fù)管理信息。
在圖29H的情形中,與圖19H的情形一樣,前日志的最后頁(yè)和后日志 的最后頁(yè)是不同的。通過(guò)使用后日志恢復(fù)管理信息。
在圖29I的情形中,與圖19I的情形一樣,前日志的最后頁(yè)和后日志 的最后頁(yè)是不同的。通過(guò)使用后日志恢復(fù)管理信息。
在第四實(shí)施例中,與第一實(shí)施例中一樣,NAND存儲(chǔ)器12是多值存 儲(chǔ)器。不過(guò),NAND存儲(chǔ)器12可以是二進(jìn)制模式的存儲(chǔ)器。當(dāng)NAND存 儲(chǔ)器12是二進(jìn)制模式的存儲(chǔ)器,且后日志220B是更新許可信息時(shí),如上述情形中一樣,當(dāng)管理信息恢復(fù)單元155恢復(fù)管理信息時(shí),管理信息恢復(fù) 單元155確定其中存儲(chǔ)前日志220A的最后頁(yè)與其中存儲(chǔ)后日志220B的最 后頁(yè)是否相同。例如,當(dāng)從第二頁(yè)至第十頁(yè)存儲(chǔ)后日志時(shí),管理信息恢復(fù) 單元155使用來(lái)自第二頁(yè)到第十頁(yè)的前日志恢復(fù)管理信息。
當(dāng)用于前日志的塊改變?yōu)閴膲K時(shí), 一個(gè)新的塊祐二沒(méi)為用于前日志的塊。 從新塊的某一頁(yè)開(kāi)始存儲(chǔ)用于前日志的塊。例如,當(dāng)用于前日志的塊在第 十頁(yè)改變?yōu)閴膲K時(shí),從新塊的第十一頁(yè)存儲(chǔ)用于前日志的塊。當(dāng)用于后日 志的塊改變?yōu)閴膲K時(shí),以同樣方式, 一個(gè)新的塊械:設(shè)為用于后日志的塊。 從新塊的某一頁(yè)開(kāi)始存儲(chǔ)用于后日志的塊。從而,即使當(dāng)在用于前日志的 塊或用于后日志的塊中出現(xiàn)壞塊,也能夠?qū)⑶叭罩竞秃笕罩敬鎯?chǔ)在不同塊 的相同頁(yè)中。
如上所述,根據(jù)第四實(shí)施例,即使當(dāng)在存儲(chǔ)器系統(tǒng)IO中出現(xiàn)短時(shí)中斷 時(shí),前日志220A和后日志220B也會(huì)被存儲(chǔ)在不同塊的相同頁(yè)中。因此, 以下是可能的基于前日志220A的最后頁(yè)和后日志220B的最后頁(yè)容易地 確定出哪出現(xiàn)短時(shí)中斷的時(shí)刻。以下也是可能的容易地確定出前日志和 后日志中的哪個(gè)日志可以被用于恢復(fù)管理信息(恢復(fù)點(diǎn))。因此,存儲(chǔ)器 系統(tǒng)10可以被容易地和迅速地重置到出現(xiàn)異常隔離之前的狀態(tài)。
即4吏對(duì)快照210的生成改變,前日志220A和后日志220B也,皮持續(xù)寫(xiě) 入相同的日志存儲(chǔ)塊中。因此,當(dāng)電源的異常隔離出現(xiàn)時(shí),以下是可能的 在高效4吏用用于前日志的塊和用于后日志的塊的同時(shí),容易地和迅速地將 存儲(chǔ)器系統(tǒng)10重置到出現(xiàn)異常隔離之前的狀態(tài)。
當(dāng)NAND存儲(chǔ)器12是多值存儲(chǔ)器時(shí),前日志220A和后日志220B中 的至少一個(gè)不會(huì)由于短時(shí)中斷的原因被中斷。因此,不管何時(shí)當(dāng)出現(xiàn)短時(shí) 中斷時(shí),以下是可能的通過(guò)4吏用前日志220A和后日志220B之一,容易 地將存儲(chǔ)器系統(tǒng)10重置到出現(xiàn)短時(shí)中斷之前的狀態(tài)。
由于前日志220A和后日志220B被存儲(chǔ)在不同塊的相同頁(yè)中,以下是 可能的容易地調(diào)節(jié)獲得用于前日志的塊和用于后日志的塊作為用于日志 的塊的時(shí)刻,以及打開(kāi)用于前日志的塊和用于后日志的塊的時(shí)刻。因此,易于管理用于前日志的塊和用于后日志的塊。 第五實(shí)施例
以下參考圖30A至30C說(shuō)明本發(fā)明的第五實(shí)施例。在第五實(shí)施例中, 與第二實(shí)施例中一樣,當(dāng)后日志的日志長(zhǎng)度(大小)超過(guò)預(yù)定長(zhǎng)度時(shí),其 中存儲(chǔ)后日志的塊從最舊的塊開(kāi)始按順序地被打開(kāi)預(yù)定數(shù)量的塊。根據(jù)第 五實(shí)施例的數(shù)據(jù)管理單元241具有與在第二實(shí)施例中參考圖21說(shuō)明的數(shù)據(jù) 管理單元241相同的配置。因此,對(duì)數(shù)據(jù)管理單元241的說(shuō)明被省略。
圖30A至30C是用于說(shuō)明根據(jù)第五實(shí)施例對(duì)前日志和后日志的存儲(chǔ)順 序以及對(duì)于后日志的打開(kāi)順序的圖。圖30A至30C是與第二實(shí)施例中的圖 22A至22C相同的說(shuō)明性圖。冗余的說(shuō)明被省略。
圖30A至30C是用于說(shuō)明根據(jù)第五實(shí)施例在各個(gè)塊中對(duì)前日志和后日 志的存儲(chǔ)順序以及對(duì)于后日志的打開(kāi)順序的圖。前日志在塊50A、塊51A 以及塊52A的各個(gè)塊中按順序存儲(chǔ),而后日志在塊50B、塊51B以及塊52B 的各個(gè)塊中按順序存儲(chǔ)。
如圖30A所示,前日志從塊50A的第k頁(yè)開(kāi)始按順序存儲(chǔ)。后日志從 塊50B的第k頁(yè)開(kāi)始按順序存儲(chǔ)。此后,如圖30B所示,當(dāng)前日志被寫(xiě)入 塊50A的所有頁(yè)時(shí)(1),通過(guò)使用下一個(gè)塊51A來(lái)存儲(chǔ)前日志(2)。當(dāng) 后日志被寫(xiě)入塊50B的所有頁(yè)時(shí)(1),通過(guò)使用下一個(gè)塊51B來(lái)存儲(chǔ)后 日志(2)。前日志從塊51A的首頁(yè)開(kāi)始按順序存儲(chǔ),而后日志從塊51B 的首頁(yè)開(kāi)始按順序存儲(chǔ)。
當(dāng)前日志被寫(xiě)入塊51A的所有頁(yè)時(shí),通過(guò)使用下一個(gè)塊52A來(lái)存儲(chǔ)前 日志。當(dāng)后日志被寫(xiě)入塊51B的所有頁(yè)時(shí),通過(guò)使用下一個(gè)塊52B來(lái)存儲(chǔ) 后日志。前日志從塊52A的首頁(yè)開(kāi)始按順序存儲(chǔ),而后日志從塊52B的首 頁(yè)開(kāi)始按順序存儲(chǔ)。
在后日志被存儲(chǔ)在用于后日志的塊的最后頁(yè)中之后,且當(dāng)后日志的日 志長(zhǎng)度(大小)超過(guò)預(yù)定長(zhǎng)度(例如1個(gè)塊)時(shí),日志存儲(chǔ)塊打開(kāi)單元156 打開(kāi)其中存儲(chǔ)了后日志的塊中最舊的一個(gè)塊。例如,在后日志被存儲(chǔ)在用于后日志的第一塊(在快照之后的第一塊)的最后頁(yè)中之后,或者在后日
志祐L存儲(chǔ)在用于后日志的第二塊的最后頁(yè)中之后,如圖30C所示,日志存 儲(chǔ)塊打開(kāi)單元156打開(kāi)其中存儲(chǔ)了后日志的塊中最舊的一個(gè)塊。日志存儲(chǔ) 塊打開(kāi)單元156檢查將打開(kāi)的塊中的后日志是否存儲(chǔ)了與前日志中相同的 信息。僅當(dāng)將打開(kāi)的塊中的后日志存儲(chǔ)了與前日志中相同的信息時(shí),日志 存儲(chǔ)塊打開(kāi)單元156才將其中存儲(chǔ)了后日志的塊設(shè)為打開(kāi)目標(biāo)的塊。
例如,當(dāng)日志存儲(chǔ)塊打開(kāi)單元156被二沒(méi)為在后日志4皮存儲(chǔ)在用于后 日志的塊的最后頁(yè)中之后以及當(dāng)后日志的日志長(zhǎng)度超過(guò)1個(gè)塊時(shí),打開(kāi)最 舊的一個(gè)塊,日志存儲(chǔ)塊打開(kāi)單元156在開(kāi)始寫(xiě)入塊51B中的第一頁(yè)之后 打開(kāi)塊50B ( ST1)。日志存儲(chǔ)塊打開(kāi)單元156在寫(xiě)入塊52B的第一頁(yè)完 成之后打開(kāi)塊51B ( ST2 )。
當(dāng)日志存儲(chǔ)塊打開(kāi)單元156被設(shè)為在后日志4皮存儲(chǔ)在用于后日志的 第一塊的最后頁(yè)中之后以及當(dāng)后日志的日志長(zhǎng)度超過(guò)1個(gè)塊和1個(gè)頁(yè)時(shí)從 最舊的塊開(kāi)始按順序打開(kāi)塊的時(shí)候,由于塊50B是用于后日志的塊中最舊 的,日志存儲(chǔ)塊打開(kāi)單元156在寫(xiě)入塊52B中的第一頁(yè)完成之后打開(kāi)塊50B (ST1)。隨后,日志存儲(chǔ)塊打開(kāi)單元156打開(kāi)塊51B ( ST2 )。當(dāng)后日志 的日志長(zhǎng)度超過(guò)1個(gè)塊和1個(gè)頁(yè)時(shí),日志存儲(chǔ)塊打開(kāi)單元156可以僅打開(kāi) 最舊的一個(gè)塊。在此情形中,日志存儲(chǔ)塊打開(kāi)單元156在寫(xiě)入塊52B中的 第一頁(yè)完成之后僅打開(kāi)塊50B (ST1)。
當(dāng)不希望打開(kāi)的數(shù)據(jù)被存儲(chǔ)在用于后日志的第一塊中時(shí),該用于后日 志的第一塊可以從作為打開(kāi)目標(biāo)的塊中排除。在此情形中,當(dāng)后日志,皮存 儲(chǔ)在用于后日志的第二塊的最后頁(yè)中以及后日志的日志長(zhǎng)度(大小)超過(guò) 預(yù)定長(zhǎng)度(例如l個(gè)頁(yè))的時(shí)候,其中存儲(chǔ)后日志的塊從最舊的塊(用于 后日志的第二塊)開(kāi)始按順序打開(kāi)預(yù)定數(shù)量的塊。
如上所述,根據(jù)第五實(shí)施例,當(dāng)后日志的日志長(zhǎng)度超過(guò)預(yù)定長(zhǎng)度時(shí), 其中存儲(chǔ)后日志的舊塊被打開(kāi)。因此,被打開(kāi)的塊增加,并且作為結(jié)果, 能夠高效地執(zhí)行均化處理。
第六實(shí)施例以下參考圖31A和31B說(shuō)明本發(fā)明的第六實(shí)施例。在第六實(shí)施例中, 與第三實(shí)施例中一樣,其中存儲(chǔ)前日志的塊組以及其中存儲(chǔ)后日志的塊組 是不同的塊組。各個(gè)塊組是高速可存取的塊組(邏輯塊)。
如圖31A和31B所示,信道120A至120D的每個(gè)具有平面0 ( PL0) 和平面1 (PL1)。塊p0、 q0、 r0、 s0和t0是信道120A的平面0,而塊 pl、 ql、 rl、 sl和tl是信道120A的平面1。塊p2、 q2、 r2、 s2和t2是 信道120B的平面0,而塊p3、 q3、 r3、 s3和t3是信道120B的平面1。 塊p4、 q4、 r4、 s4和t4是信道120C的平面0,而塊p5、 q5、 r5、 s5和 t5是信道120C的平面1。塊p6、 q6、 r6、 s6和t6是信道120D的平面0, 而塊p7、 q7、 r7、 s7和t7是信道120D的平面1。
在圖31A所示的示例中,通過(guò)塊p0至p7、塊q0至q7、塊r0至r7 以及塊s0至s7的每個(gè)集合配置一個(gè)邏輯塊。在圖31B所示的示例中,通 過(guò)塊t0至t7配置一個(gè)邏輯塊。
在此情形中,在第六實(shí)施例中,如圖31A所示,包括塊p0至p7的邏 輯塊71A和包括塊q0至q7的邏輯塊72A被分配給用于前日志的塊,而包 括塊r0至r7的邏輯塊71B和包括塊srO至s7的邏輯塊72B ^皮分配給用于 后日志的塊。
以此方式,其中存儲(chǔ)前日志的邏輯塊和其中存儲(chǔ)后日志的邏輯塊是獨(dú) 立的塊。其中存儲(chǔ)前日志的邏輯塊中的塊(存儲(chǔ)開(kāi)始?jí)K等等)和其中存儲(chǔ) 后日志的邏輯塊中的塊(存儲(chǔ)開(kāi)始?jí)K等等)是在相同信道中的相同平面上 的塊。而且,其中存儲(chǔ)前日志的塊中的區(qū)(頁(yè)位置)與其中存儲(chǔ)后日志的 塊中的區(qū)(頁(yè)位置)是相同的區(qū)。
特別地,例如,前日志從邏輯塊71A的塊p6中的第k頁(yè)開(kāi)始按順序 存儲(chǔ),以及后日志從邏輯塊71B的塊r6中的第k頁(yè)開(kāi)始按順序存儲(chǔ)。此 后,當(dāng)前日志被寫(xiě)入塊p6中的所有頁(yè)時(shí),通過(guò)使用下一個(gè)塊p7存儲(chǔ)前日 志。當(dāng)后日志被寫(xiě)入塊r6中的所有頁(yè)時(shí),通過(guò)使用下一個(gè)塊r7存儲(chǔ)后日 志。前日志從塊p7中的首頁(yè)開(kāi)始按順序存儲(chǔ),以及后日志從塊r7中的首 頁(yè)開(kāi)始按順序存儲(chǔ)。此外,當(dāng)前日志被寫(xiě)入塊p7中的所有頁(yè)時(shí),通過(guò)使用塊qO作為用于 前日志的下一個(gè)邏輯塊72A的第一塊來(lái)存儲(chǔ)前日志。當(dāng)后日志被寫(xiě)入塊r7 中的所有頁(yè)時(shí),通過(guò)使用塊s0作為用于后日志的下一個(gè)邏輯塊72B的第一 塊來(lái)存儲(chǔ)后日志。前日志從塊q0中的首頁(yè)開(kāi)始按順序存儲(chǔ),以及后日志從 塊s0中的首頁(yè)開(kāi)始按順序存儲(chǔ)。
此外,前日志被存儲(chǔ)在用于前日志的邏輯塊72A中,以及后日志被存 儲(chǔ)在用于后日志的邏輯塊72B中。當(dāng)前日志被寫(xiě)入邏輯塊72A中的所有頁(yè), 且后日志被寫(xiě)入邏輯塊72B中的所有頁(yè)時(shí),通過(guò)使用用于前日志的下一個(gè) 塊(未示出)和用于后日志的下一個(gè)塊(未示出)來(lái)存儲(chǔ)前日志和后日志。
在此情形中,例如,當(dāng)被存儲(chǔ)作為前日志的信息和被存儲(chǔ)作為后日志 的信息是相同的時(shí),如果可以確認(rèn)前日志中的信息和后日志中的信息是相 同的,則能夠打開(kāi)(擦除)前日志和后日志之一。例如,當(dāng)用于后日志的 邏輯塊71B和72B被后日志完全填滿時(shí),通過(guò)存儲(chǔ)用于前日志的邏輯塊 71A和72A,能夠打開(kāi)用于后日志的邏輯塊71B和72B。當(dāng)用于前日志的 邏輯塊71A和72A被前日志完全填滿時(shí),通過(guò)存儲(chǔ)用于后日志71B和72B 的邏輯塊,能夠打開(kāi)用于前日志的邏輯塊71A和72A。
如上所述,用于前日志的邏輯塊71A和72A和用于后日志的邏輯塊 71B和72B是這才羊的邏輯塊,其可以并行地啟用信道120A至120D,并且 使用信道120A至120D中的兩個(gè)信道來(lái)執(zhí)行數(shù)據(jù)讀和寫(xiě)。因此,能夠以高 速執(zhí)行塊的打開(kāi)和擦除。
另一方面,如圖31B所示,當(dāng)用于前日志和后日志的塊以混合狀態(tài)被 存儲(chǔ)在一個(gè)邏輯塊中時(shí),當(dāng)執(zhí)行日志的打開(kāi)(擦除)時(shí),每個(gè)塊都需要被 打開(kāi)。因此,無(wú)法以高速執(zhí)行打開(kāi)處理。
如上所述,才艮據(jù)第六實(shí)施例,由于其中存儲(chǔ)前日志的邏輯塊與其中存 儲(chǔ)后日志的邏輯塊是不同的,以下是可能的當(dāng)并行啟用多個(gè)信道時(shí),使 用多個(gè)平面來(lái)執(zhí)行邏輯塊的打開(kāi)和擦除。因此,能夠以高速打開(kāi)和擦除不 必要的邏輯塊。第七實(shí)施例
以下參考圖32至36說(shuō)明本發(fā)明的第七實(shí)施例。在第七實(shí)施例中,通 過(guò)存儲(chǔ)器系統(tǒng)作為前日志存儲(chǔ)的信息和作為后日志的信息是相同的信息。 當(dāng)電源的異常隔離(例如短時(shí)中斷)或類(lèi)似情形發(fā)生時(shí),通過(guò)使用所存儲(chǔ) 的前日志和后日志中未被電源的異常隔離中斷的日志,存儲(chǔ)器系統(tǒng)被恢復(fù) 為電源的異常隔離之前的狀態(tài)。在對(duì)第七實(shí)施例的以下說(shuō)明中,電源的異 常隔離是短時(shí)中斷。
圖32是根據(jù)第七實(shí)施例在管理信息存儲(chǔ)區(qū)中存儲(chǔ)的管理信息存儲(chǔ)信 息600的內(nèi)容的示例的示意圖。在圖32所示的組件中,與圖8所示的才艮據(jù) 第一實(shí)施例的管理信息存儲(chǔ)信息200的組件相同組件通it^目同的參考標(biāo)號(hào) 和標(biāo)志所指示。冗余的說(shuō)明被省略。
指針230指示出快照210的位置、在存儲(chǔ)快照210之后首先獲得的 前曰志220A的位置、以及在存儲(chǔ)快照210之后首先獲得的后日志220B的 位置。
前日志220A和后日志220B分別被存儲(chǔ)在日志存儲(chǔ)塊中。即使對(duì)快照 的生成改變,前日志220A和后日志220B也會(huì)被持續(xù)地寫(xiě)入相同的日志存 儲(chǔ)塊中。
以下說(shuō)明由管理信息管理單元152執(zhí)行的針對(duì)存儲(chǔ)器系統(tǒng)10的管理信 息的存儲(chǔ)處理。圖33是根據(jù)第七實(shí)施例的針對(duì)存儲(chǔ)器系統(tǒng)10的管理信息 的存儲(chǔ)處理過(guò)程的示例的流程圖。圖34是用于說(shuō)明根據(jù)第七實(shí)施例的針對(duì) 存儲(chǔ)器系統(tǒng)10的前日志和后日志的存儲(chǔ)處理的圖。存儲(chǔ)器系統(tǒng)10連接于 主機(jī)設(shè)備,并作為主機(jī)設(shè)備的次,儲(chǔ)設(shè)備進(jìn)行工作。主機(jī)設(shè)備(存儲(chǔ)器 系統(tǒng)10)處于已啟動(dòng)狀態(tài)。在啟動(dòng)狀態(tài)之前,在存儲(chǔ)器系統(tǒng)10停止之前 存儲(chǔ)快照210。
首先,基于在主機(jī)設(shè)備(存儲(chǔ)器系統(tǒng)IO)的上一次結(jié)束處存儲(chǔ)的快照 210,主機(jī)設(shè)備(存儲(chǔ)器系統(tǒng)IO)處于已啟動(dòng)狀態(tài)(步驟Slll)。此后, 當(dāng)必要時(shí)從主機(jī)設(shè)備執(zhí)行向NAND存儲(chǔ)器12中的數(shù)據(jù)寫(xiě)入。管理信息管 理單元152確定在以上(1)至(3 )中說(shuō)明的快照存儲(chǔ)條件是否滿足(步驟S112)。當(dāng)快照存儲(chǔ)M不滿足時(shí)(步驟S112的"否"),管理信息 管理單元152確定涉及對(duì)管理信息的更新(對(duì)數(shù)據(jù)的寫(xiě)入等等)的指令是 否被接收(步驟S113 )。當(dāng)涉及對(duì)管理信息的更新的指令未被接收時(shí)(步 驟S113的"否,,),管理信息管理單元152返回步驟S112。
當(dāng)涉及對(duì)管理信息的更新的指令被接收時(shí)(步驟S113的"是"),管 理信息管理單元152通過(guò)執(zhí)行該指令確定指示出管理信息將如何被更新的 更新安排(步驟S114 )。管理信息管理單元152將更新安排存儲(chǔ)在NAND 存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126的日志存儲(chǔ)塊中作為前日志220A (步驟 S115)。
當(dāng)前日志220A尚未被存儲(chǔ)在日志存儲(chǔ)塊中時(shí),更新安排(前日志) 是在管理信息被更新的時(shí)候的非易失性表和在快照存儲(chǔ)塊中存儲(chǔ)的快照 210之間的差異信息。當(dāng)前日志220A (過(guò)去的前日志220A)已被存儲(chǔ)在 日志存儲(chǔ)塊中時(shí),更新安排(前日志)是在管理信息被更新的時(shí)候的非易 失性表與快照210和過(guò)去的前日志220A的結(jié)合之間的差異信息。例如, 如圖34所示,在數(shù)據(jù)寫(xiě)入(X)被執(zhí)行作為針對(duì)第X個(gè)數(shù)據(jù)的寫(xiě)入處理之 前,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X)的前日志(X)被存儲(chǔ)在NAND存儲(chǔ)器12中作 為前日志220A。例如,信息yl凈皮存儲(chǔ)作為前日志220A。例如在前日志 220A(更新安排)凈皮記錄在DRAM 11上之后前日志220A被存儲(chǔ)在NAND 存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中。
隨后,邏輯NAND管理層32執(zhí)行在步驟S113接收的指4K步驟S116 )。 作為這種指令的示例,存在針對(duì)在NAND存儲(chǔ)器12的數(shù)據(jù)存儲(chǔ)區(qū)的預(yù)定 塊中的用戶數(shù)據(jù)的寫(xiě)入處理。特別地,在NAND存儲(chǔ)器12中的數(shù)據(jù)存儲(chǔ) 區(qū)125中的數(shù)據(jù)寫(xiě)入(X)被執(zhí)行。
此后,在DRAM 11中存儲(chǔ)的管理信息根據(jù)所執(zhí)行的處理被更新。管 理信息存儲(chǔ)單元154將管理信息中的已更新信息存儲(chǔ)在NAND存儲(chǔ)器12 的管理信息存儲(chǔ)區(qū)126中作為后日志220B (步驟S117 )。當(dāng)后日志220B 尚未被存儲(chǔ)在日志存儲(chǔ)塊中時(shí),后日志220B是在當(dāng)前點(diǎn)的非易失性表與 在快照存儲(chǔ)塊中存儲(chǔ)的快照210之間的差異信息。當(dāng)后日志220B (過(guò)去的后曰志220B)已經(jīng)存儲(chǔ)在日志存儲(chǔ)塊中時(shí),后日志220B是在當(dāng)前點(diǎn)的非易失性表與在快照210和過(guò)去的后日志220B的結(jié)合之間的差異信息。
從而,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X)的后日志220B (X)被存儲(chǔ)在NAND存儲(chǔ)器12中作為后日志220B。例如,信息yl被存儲(chǔ)作為后日志220B。被存儲(chǔ)作為后日志220B的信息y 1與被存儲(chǔ)作為前日志220A的信息yl相同。例如在后日志220B被記錄在DRAM 11上之后,后日志220B被存儲(chǔ)在NAND存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中。此后,管理信息管理單元152返回步驟S112。
當(dāng)快照存儲(chǔ)條件不滿足(步驟S112的"否"),并且涉及管理信息的更新的指令被接收(步驟S113的"是")時(shí),重復(fù)步驟S114至S117的處理。特別地,以針對(duì)第X個(gè)數(shù)據(jù)的寫(xiě)入處理相同的方式,執(zhí)行針對(duì)第
(X+l)個(gè)數(shù)據(jù)的寫(xiě)入處理。在執(zhí)行作為針對(duì)第(X+l)個(gè)數(shù)據(jù)的寫(xiě)入處理的數(shù)據(jù)寫(xiě)入(X+l)之前,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X+l)的前日志(X+l)被存儲(chǔ)在NAND存儲(chǔ)器12中作為前日志220A。例如,作為前日志220A,信息y2被存儲(chǔ)。在NAND存儲(chǔ)器12的數(shù)據(jù)存儲(chǔ)區(qū)125中執(zhí)行數(shù)據(jù)寫(xiě)入
(X+l)。此外,對(duì)應(yīng)于數(shù)據(jù)寫(xiě)入(X+l)的后日志(X+l)被存儲(chǔ)在NAND存儲(chǔ)器12中作為后日志220B。例如,作為后日志220B,信息y2被存儲(chǔ)。被存儲(chǔ)作為后日志220B的信息y2與被存儲(chǔ)作為前日志220A的信息y2相同。
當(dāng)在步驟S112快照存儲(chǔ)條件已滿足時(shí)(步驟S112的"是"),DRAM11的管理信息存儲(chǔ)區(qū)111中包括至少非易失性表的管理信息被存儲(chǔ)在NAND存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中,作為快照210 (步驟S118 )。管理信息管理單元152確定是否指到存儲(chǔ)器系統(tǒng)10的結(jié)束(步驟S119 )。當(dāng)沒(méi)有指到存儲(chǔ)器系統(tǒng)10的結(jié)束時(shí),管理信息管理單元152返回步驟S112。當(dāng)指到存儲(chǔ)器系統(tǒng)10的結(jié)束時(shí),所述處理直接完成。
以下說(shuō)明由管理信息恢復(fù)單元155執(zhí)行的對(duì)于存儲(chǔ)器系統(tǒng)10的管理信息的恢復(fù)處理。圖35是才艮據(jù)第七實(shí)施例對(duì)于存儲(chǔ)器系統(tǒng)10的管理信息的恢復(fù)處理過(guò)程的流程圖。圖36是用于說(shuō)明根據(jù)第七實(shí)施例對(duì)于存儲(chǔ)器系統(tǒng)10的恢復(fù)處理的圖。存儲(chǔ)器系統(tǒng)10連接于主機(jī)設(shè)備,并作為主機(jī)設(shè)備的
次級(jí)存儲(chǔ)設(shè)備進(jìn)行工作。
例如根據(jù)從短時(shí)中斷的恢復(fù),主機(jī)設(shè)備的電源接通,并且向存儲(chǔ)器系
統(tǒng)10發(fā)出啟動(dòng)指令(步驟S131)。管理信息恢復(fù)單元155讀取NAND存儲(chǔ)器12的管理信息存儲(chǔ)區(qū)126中的指針230 (步驟S132),并獲得其中存儲(chǔ)快照210的塊的地址以及其中存儲(chǔ)前日志和后日志(前日志220A和后日志220B)的塊的地址(步驟S133)。隨后,管理信息恢復(fù)單元155從在步驟S133獲得的NAND存儲(chǔ)器12中的地址讀取快照210,以及恢復(fù)DRAM 11的管理信息存儲(chǔ)區(qū)111中的快照210 (步驟S134 )。
此后,管理信息恢復(fù)單元155參考NAND存儲(chǔ)器12中的前日志220A和后日志220B的確定是否已出現(xiàn)短時(shí)中斷(步驟S135)。例如可以通過(guò)比較前日志220A和后日志220B執(zhí)行對(duì)于是否已出現(xiàn)短時(shí)中斷的確定。在第七實(shí)施例中,前日志220A和后日志220B存儲(chǔ)相同的信息。此后,例如,當(dāng)被存儲(chǔ)作為前日志220A的頁(yè)數(shù)和被存儲(chǔ)作為后日志220B的頁(yè)數(shù)彼此不一致時(shí),能夠確定已出現(xiàn)短時(shí)中斷?;贓CC錯(cuò)誤的存在或不存在、被存儲(chǔ)作為前日志220A的頁(yè)數(shù)據(jù)、以及被存儲(chǔ)作為后日志220B的頁(yè)數(shù)據(jù),可以確定短時(shí)中斷的出現(xiàn)。
當(dāng)管理信息恢復(fù)單元155確定已出現(xiàn)短時(shí)中斷時(shí)(步驟S135的"是,,),管理信息恢復(fù)單元155基于NAND存儲(chǔ)器12中最新的前日志220A和最新的后日志220B檢查已出現(xiàn)短時(shí)中斷的時(shí)刻(步驟S136)。管理信息恢復(fù)單元155確定已出現(xiàn)短時(shí)中斷的時(shí)刻是否在后日志220B的存儲(chǔ)期間(步驟S137)。例如,當(dāng)后日志220B中的最后頁(yè)正4皮寫(xiě)入時(shí),該最后頁(yè)無(wú)法#皮讀出。因此,在后日志220B的存儲(chǔ)期間確定已出現(xiàn)短時(shí)中斷。當(dāng)前日志220A中的最后頁(yè)正被寫(xiě)入時(shí),該最后頁(yè)無(wú)法,皮讀出。因此,在前日志220A的存儲(chǔ)期間確定已出現(xiàn)短時(shí)中斷。當(dāng)日志被寫(xiě)入前日志220A的最后頁(yè)以及日志未^皮寫(xiě)入后日志220B的最后頁(yè)時(shí),在數(shù)據(jù)寫(xiě)入期間確定已出現(xiàn)短時(shí)中斷。
當(dāng)管理信息恢復(fù)單元155確定已出現(xiàn)短時(shí)中斷的時(shí)刻在后日志220B的存儲(chǔ)期間時(shí)(步驟S137的"是"),管理信息恢復(fù)單元155選擇最新的前日志220A (步驟S138)。另一方面,當(dāng)管理信息恢復(fù)單元155確定已出現(xiàn)短時(shí)中斷的時(shí)刻不在后日志220B的存儲(chǔ)期間時(shí)(步驟S137的"否"),管理信息恢復(fù)單元155選擇已完成存儲(chǔ)的最新的后日志220B(步驟S139 )。換句話說(shuō),當(dāng)前日志220A的最后頁(yè)正被寫(xiě)入,或當(dāng)日志被寫(xiě)入前日志220A的最后頁(yè)以及日志未^f皮寫(xiě)入后日志220B的最后頁(yè)時(shí),選擇最新的后日志220B。
特別地,如圖36所示,當(dāng)在對(duì)應(yīng)于處理(X-l)的后日志(X-l)的存儲(chǔ)期間出現(xiàn)短時(shí)中斷(el)時(shí),由于數(shù)據(jù)寫(xiě)(X-l)已經(jīng)完成,管理信息恢復(fù)單元155確定處理(X-l)已經(jīng)完成。管理信息恢復(fù)單元155選擇前日志(X-l)作為最新的前日志。
當(dāng)在后日志(X-l)的存儲(chǔ)之后直到開(kāi)始后日志X的存儲(chǔ)的時(shí)間段期間出現(xiàn)短時(shí)中斷(e2)時(shí),由于數(shù)據(jù)寫(xiě)入X未完成,管理信息恢復(fù)單元155確定處理X未完成。管理信息恢復(fù)單元155選擇后日志(X-l)作為完成存儲(chǔ)的最新的后日志。
類(lèi)似地,當(dāng)在對(duì)應(yīng)于處理X的后日志X的存儲(chǔ)期間出現(xiàn)短時(shí)中斷(e3 )時(shí),由于數(shù)據(jù)寫(xiě)入X已經(jīng)完成,管理信息恢復(fù)單元155確定處理X已經(jīng)完成。管理信息恢復(fù)單元155選擇前日志X。
此外,當(dāng)在后日志X的存儲(chǔ)之后直到開(kāi)始后日志(X+l)的存儲(chǔ)的時(shí)間段中出現(xiàn)短時(shí)中斷(e4)時(shí),由于數(shù)據(jù)寫(xiě)入(X+l)未完成,管理信息恢復(fù)單元155確定處理(X+l)未完成。管理信息恢復(fù)單元155選擇后曰志X作為完成存儲(chǔ)的最新的后曰志。
此后,管理信息恢復(fù)單元155從日志存儲(chǔ)塊獲得了前日志220A和后日志220B中的所選一個(gè)的第一日志至最新日志,并且將所述日志擴(kuò)展到DRAM 11的工作區(qū)112中(步驟S140 )。管理信息恢復(fù)單元155將曰志從最舊一個(gè)開(kāi)始按順序反映到快照210上,并恢復(fù)管理信息(非易失性表)(步驟S141)。對(duì)于管理信息的恢復(fù)處理完成。
例如,當(dāng)前日志(X-l W皮選擇時(shí),管理信息恢復(fù)單元155將前日志(X-l)中的日志從最舊一個(gè)日志開(kāi)始按順序反映到快照210上,并恢復(fù)管理信息(過(guò)程fl)。當(dāng)后日志(X-l)被選擇時(shí),管理信息恢復(fù)單元155將后日志(X-l)中的日志從最舊一個(gè)日志開(kāi)始按順序反映到快照210上,并恢復(fù)管理信息(過(guò)程f2 )。
當(dāng)日志X被選擇時(shí),管理信息恢復(fù)單元155將第一前日志至前日志X從最舊一個(gè)日志開(kāi)始按順序反映到快照210上,并恢復(fù)管理信息(f3)。當(dāng)后日志X被選擇時(shí),管理信息恢復(fù)單元155將第一后日志至后日志X從最舊一個(gè)日志開(kāi)始按順序反映到快照210上,并恢復(fù)管理信息(過(guò)程f4 )。
另一方面,當(dāng)管理信息恢復(fù)單元155確定尚未出現(xiàn)短時(shí)中斷時(shí)(步驟S135的"否"),管理信息恢復(fù)單元155通過(guò)在步驟S134在DRAM 11的管理信息存儲(chǔ)區(qū)111中恢復(fù)的快照210來(lái)恢復(fù)管理信息(步驟S142 )?;謴?fù)過(guò)程完成。
不管由于短時(shí)中斷導(dǎo)致的日志中斷存在與否,管理信息恢復(fù)單元155都可以選擇前日志220A和后日志220B之一,并且基于被存儲(chǔ)作為前日志220A的頁(yè)數(shù)和被存儲(chǔ)作為后日志220B的頁(yè)數(shù)恢復(fù)管理信息。例如,當(dāng)被存儲(chǔ)作為前日志220A的頁(yè)數(shù)和被存儲(chǔ)作為后日志220B的頁(yè)數(shù)相同時(shí),管理信息恢復(fù)單元155選擇前日志220A并恢復(fù)管理信息。當(dāng)被存儲(chǔ)作為前日志220A的頁(yè)數(shù)大于被存儲(chǔ)作為后日志220B的頁(yè)數(shù)時(shí),管理信息恢復(fù)單元155選擇后日志220B并恢復(fù)管理信息。
在上述示例中,DRAM被用作為第一存儲(chǔ)單元。不過(guò),也可以使用其它易失性半導(dǎo)體存儲(chǔ)設(shè)備或非易失性半導(dǎo)體存儲(chǔ)設(shè)備。由存儲(chǔ)器系統(tǒng)10存儲(chǔ)在NAND存儲(chǔ)器12中的后日志不限于日志自身,并且僅須是與前日志相同的信息。因此,例如,通過(guò)復(fù)制前日志獲得的信息可以,皮存儲(chǔ)作為后日
如上所述,根據(jù)第七實(shí)施例,即使當(dāng)在其中由多值存儲(chǔ)器的存儲(chǔ)器單元晶體管存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器系統(tǒng)10中出現(xiàn)短時(shí)中斷時(shí),由于相同的信息(差異信息)被存儲(chǔ)在前日志220A和后日志220B中,因此前日志220A和后日志220B中的至少一個(gè)不會(huì)凈皮短時(shí)中斷所中斷。因此,在出現(xiàn)短時(shí)中斷的任意時(shí)刻,都能夠通過(guò)使用前日志220A和后日志220B中的任意一個(gè),容易地將存儲(chǔ)器系統(tǒng)10重置到出現(xiàn)短時(shí)中斷之前的狀態(tài)。
本領(lǐng)域技術(shù)人員將容易地領(lǐng)會(huì)附加的優(yōu)點(diǎn)和修改。因此,本發(fā)明在其較寬泛范圍內(nèi)不限于此處示出和描述的特定細(xì)節(jié)和代表性實(shí)施例。因此,在不脫離如所述權(quán)利要求及其等價(jià)物所限定的一般發(fā)明概念的精神或范圍的情況下,可以4故出多種^f務(wù)改。
權(quán)利要求
1.一種存儲(chǔ)器系統(tǒng),包括易失性第一存儲(chǔ)單元;非易失性第二存儲(chǔ)單元,包括可以在其中存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器單元;以及控制器,用于經(jīng)由所述第一存儲(chǔ)單元執(zhí)行在主機(jī)設(shè)備和所述第二存儲(chǔ)單元之間的數(shù)據(jù)傳送;將管理信息存儲(chǔ)在所述第一存儲(chǔ)單元中,所述管理信息包括在啟動(dòng)操作期間在所述第二存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)的存儲(chǔ)位置;以及在更新所存儲(chǔ)的管理信息時(shí),基于所存儲(chǔ)的管理信息執(zhí)行在所述第一和第二存儲(chǔ)單元中的數(shù)據(jù)管理,其中在所述第一存儲(chǔ)單元中存儲(chǔ)的最新?tīng)顟B(tài)的管理信息也被存儲(chǔ)在所述第二存儲(chǔ)單元中,并在啟動(dòng)操作期間由所述控制器從所述第二存儲(chǔ)單元進(jìn)行讀取,并且所述管理信息包括快照,在所述快照中當(dāng)預(yù)定條件被滿足時(shí)存儲(chǔ)所述第一存儲(chǔ)單元的第一管理信息,前日志,其作為所述管理信息被改變之前和之后的差異信息,所述前日志在所述管理信息出現(xiàn)改變之前生成,以及后日志,其與所述管理信息的改變有關(guān),所述后日志在所述管理信息出現(xiàn)改變之后生成,以及所述第二存儲(chǔ)單元在其中將所述前日志和后日志存儲(chǔ)在各個(gè)擦除單元區(qū)的相同區(qū)中。
2. 根據(jù)權(quán)利要求1所述的存儲(chǔ)器系統(tǒng),進(jìn)一步包括管理信息恢復(fù)單元, 其在啟動(dòng)^作期間4吏用所迷前日志和后日志中的任意一個(gè)來(lái)執(zhí)行在所述笫 一存儲(chǔ)單元中存儲(chǔ)的管理信息的恢復(fù),其中所述后日志是所述管理信息被改變之前和之后的差異信息,以及 所迷管理信息恢復(fù)單元基于對(duì)作為在其中最后存儲(chǔ)了前日志的所述擦 除單元區(qū)中的位置的前日志位置與作為在其中最后存儲(chǔ)了后日志的所述擦除單元區(qū)中的位置的后日志位置的比較結(jié)果,選擇所述前日志和后日志中 的任意一個(gè),從所述第二存儲(chǔ)單元中提取將用于管理信息的恢復(fù)的、所選 擇的前日志或后日志的正常部分,以及使用所提取的正常部分恢復(fù)所述管 理信息。
3. 根據(jù)權(quán)利要求2所述的存儲(chǔ)器系統(tǒng),其中當(dāng)所述前日志位置和所述后日志位置不同時(shí),所述管理信息恢復(fù)單元 使用所述后日志執(zhí)行對(duì)所述管理信息的恢復(fù),以及當(dāng)所述前日志位置和所 述后日志位置相同時(shí),所述管理信息恢復(fù)單元使用所述前日志執(zhí)行對(duì)所述 管理信息的恢復(fù)。
4. 根據(jù)權(quán)利要求l所述的存儲(chǔ)器系統(tǒng),其中當(dāng)在所述笫二存儲(chǔ)單元中存儲(chǔ)的所述前日志的大小和所述后日志的大 小分別超過(guò)大于所述擦除單元區(qū)的預(yù)定大小時(shí),所述控制器從具有最長(zhǎng)存 儲(chǔ)時(shí)間段的擦除單元區(qū)開(kāi)始,按順序地打開(kāi)其中存儲(chǔ)所述前日志的擦除單 元區(qū)和其中存儲(chǔ)所述后日志的擦除單元區(qū)中的任意一個(gè)。
5. 根據(jù)權(quán)利要求l所述的存儲(chǔ)器系統(tǒng),其中所述第二存儲(chǔ)單元在不同 的并行操作單元中獨(dú)立地存儲(chǔ)所述前日志和所迷后日志,在所述并行操作 單元中集合多個(gè)擦除單元區(qū)。
6. —種存儲(chǔ)器系統(tǒng),包括 易失性第一存儲(chǔ)單元;非易失性第二存儲(chǔ)單元,包括可以存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器單元;以及 控制器,用于經(jīng)由所述第一存儲(chǔ)單元執(zhí)行在主機(jī)設(shè)備和所述第二存 儲(chǔ)單元之間的數(shù)據(jù)傳送;將管理信息存儲(chǔ)在所述第一存儲(chǔ)單元中,所述管 理信息包括在啟動(dòng)操作期間在所述第二存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)的存儲(chǔ)位 置;以及在更新所存儲(chǔ)的管理信息時(shí),基于所存儲(chǔ)的管理信息執(zhí)行在所述 第一和第二存儲(chǔ)單元中的數(shù)據(jù)管理,其中在所述第 一存儲(chǔ)單元中存儲(chǔ)的最新?tīng)顟B(tài)的管理信息也被存儲(chǔ)在所述第 二存儲(chǔ)單元中,并在啟動(dòng)操作期間由所述控制器從所述第二存儲(chǔ)單元進(jìn)行 讀取,并且所述管理信息包括快照,在所述快照中當(dāng)預(yù)定條件被滿足時(shí)存儲(chǔ)所述第 一存儲(chǔ)單元 的第一管理信息,前曰志,其作為所述管理信息被改變之前和之后的差異信息,所 述前日志在所述管理信息出現(xiàn)改變之前生成,以及后曰志,其與所述管理信息的改變有關(guān),所述后日志在所述管理 信息出現(xiàn)改變之后生成,以及所述第二存儲(chǔ)單元在其中,從在所述第二存儲(chǔ)區(qū)的不同擦除單元區(qū)中 的快照被存儲(chǔ)之前已經(jīng)分別存儲(chǔ)的所述前日志的持續(xù)區(qū)以及所述后日志的 持續(xù)區(qū)開(kāi)始,按順序地將所述前日志和后日志存儲(chǔ)在各個(gè)擦除單元區(qū)的相 同區(qū)中。
7. 根據(jù)權(quán)利要求6所述的存儲(chǔ)器系統(tǒng),進(jìn)一步包括管理信息恢復(fù)單元, 其在啟動(dòng)操作期間使用所述前日志和后日志中的任意一個(gè)來(lái)執(zhí)行在所述第 一存儲(chǔ)單元中存儲(chǔ)的管理信息的恢復(fù),其中所述后日志是所述管理信息被改變之前和之后的差異信息,以及 所述管理信息恢復(fù)單元基于對(duì)作為在其中最后存儲(chǔ)了前日志的所述擦 除單元區(qū)中的位置的前日志位置與作為在其中最后存儲(chǔ)了后日志的所述擦 除單元區(qū)中的位置的后日志位置的比較結(jié)果,選擇所述前日志和后日志中 的任意一個(gè),從所述第二存儲(chǔ)單元中提取將用于管理信息的恢復(fù)的、所選 擇的前日志或后日志的正常部分,以及使用所提取的正常部分恢復(fù)所述管 理信息。
8. 根據(jù)權(quán)利要求7所述的存儲(chǔ)器系統(tǒng),其中所述笫二存儲(chǔ)單元的存儲(chǔ)器單元是可以存儲(chǔ)多值數(shù)據(jù)的存儲(chǔ)器單元,以及當(dāng)所述前日志位置和所述后日志位置不同時(shí),所述管理信息恢復(fù)單元 使用所述后日志執(zhí)行對(duì)所述管理信息的恢復(fù),以及當(dāng)所述前日志位置和所 述后日志位置相同時(shí),所述管理信息恢復(fù)單元使用所述前日志執(zhí)行對(duì)所述 管理信息的恢復(fù)。
9.根據(jù)權(quán)利要求6所述的存儲(chǔ)器系統(tǒng),其中,當(dāng)在所述第二存儲(chǔ)單元中存儲(chǔ)的所述后日志超過(guò)其中首先存儲(chǔ)后日志的擦除單元區(qū)之后并開(kāi)始要 被存儲(chǔ)在下一個(gè)擦除單元區(qū)中,以及當(dāng)所述后日志的大小超過(guò)預(yù)定大小時(shí), 所述控制器從具有最長(zhǎng)存儲(chǔ)時(shí)間段的一個(gè)擦除單元區(qū)開(kāi)始按順序地打開(kāi)在 所述后日志的存儲(chǔ)之前的擦除單元區(qū)中的預(yù)定數(shù)量的區(qū)。
10. 根據(jù)權(quán)利要求6所述的存儲(chǔ)器系統(tǒng),其中所述第二存儲(chǔ)單元在不 同的并行操作單元中獨(dú)立地存儲(chǔ)所述前日志和所述后日志,在所述并行操 作單元中集合多個(gè)擦除單元區(qū)。
11. 一種存儲(chǔ)器系統(tǒng),包括 易失性第一存儲(chǔ)單元;非易失性第二存儲(chǔ)單元,包括可以存儲(chǔ)多值數(shù)據(jù)的存儲(chǔ)器單元;以及 控制器,用于經(jīng)由所述笫一存儲(chǔ)單元執(zhí)行在主機(jī)設(shè)備和所述第二存 儲(chǔ)單元之間的數(shù)據(jù)傳送;將管理信息存儲(chǔ)在所述第一存儲(chǔ)單元中,所述管 理信息包括在啟動(dòng)操作期間在所述第二存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)的存儲(chǔ)位 置;以及在更新所存儲(chǔ)的管理信息時(shí),基于所存儲(chǔ)的管理信息執(zhí)行在所述 第一和第二存儲(chǔ)單元中的數(shù)據(jù)管理,其中所述第二存儲(chǔ)單元在其中還存儲(chǔ)已經(jīng)以最新?tīng)顟B(tài)存儲(chǔ)在所述第 一存儲(chǔ) 單元中的管理信息,所迷最新?tīng)顟B(tài)的管理信息在啟動(dòng)操作期間由所述控制器進(jìn)行讀取,并 且所述管理信息包括快照,在所述快照中當(dāng)預(yù)定條件被滿足時(shí)存儲(chǔ)所述第 一存儲(chǔ)單元 的第一管理信息,前日志,其作為所述管理信息被改變之前和之后的差異信息,所 述前日志在所述管理信息出現(xiàn)改變之前獲得,以及后日志,其作為所述管理信息的改變之前和之后的差異信息,所 述后日志在所述管理信息出現(xiàn)改變之后獲得。
12. 根據(jù)權(quán)利要求ll所述的存儲(chǔ)器系統(tǒng),其中 所述第二存儲(chǔ)單元在其中將所述前日志和所述后日志獨(dú)立存儲(chǔ)在作為所述第二存儲(chǔ)單元中的不同擦除單元的擦除單元區(qū)中,以及當(dāng)在所述第二存儲(chǔ)單元中存儲(chǔ)的所述前日志的大小和所述后日志的大 小分別超過(guò)大于所述擦除單元區(qū)的預(yù)定大小時(shí),所述控制器從具有最長(zhǎng)存 儲(chǔ)時(shí)間段的擦除單元區(qū)開(kāi)始,按順序地打開(kāi)其中存儲(chǔ)所述前日志的擦除單 元區(qū)和其中存儲(chǔ)所述后日志的擦除單元區(qū)中的任意一個(gè)。
13.根據(jù)權(quán)利要求12所述的存儲(chǔ)器系統(tǒng),其中所述第二存儲(chǔ)單元在不 同的并行操作單元中獨(dú)立地存儲(chǔ)所述前日志和所述后日志,在所述并行操 作單元中集合多個(gè)擦除單元區(qū)。
全文摘要
一種存儲(chǔ)器系統(tǒng),包括易失性第一存儲(chǔ)單元、非易失性第二存儲(chǔ)單元、以及控制器。所述控制器將在啟動(dòng)操作期間在所述第二存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)的管理信息存儲(chǔ)在所述第一存儲(chǔ)單元中,以及在更新所述管理信息時(shí)執(zhí)行數(shù)據(jù)管理。在所述第一存儲(chǔ)單元中存儲(chǔ)的最新?tīng)顟B(tài)的管理信息也被存儲(chǔ)在所述第二存儲(chǔ)單元中。所述管理信息包括在所述管理信息出現(xiàn)改變之前生成的改變之前和之后的前日志;以及后日志,其在所述管理信息出現(xiàn)改變之后生成,與所述管理信息的改變有關(guān)。所述前日志和后日志存儲(chǔ)在不同塊的相同區(qū)中。
文檔編號(hào)G06F12/16GK101681316SQ20098000013
公開(kāi)日2010年3月24日 申請(qǐng)日期2009年2月10日 優(yōu)先權(quán)日2008年3月1日
發(fā)明者初田幸輔, 松崎秀則, 檜田敏克, 矢野純二 申請(qǐng)人:株式會(huì)社東芝