TWI419161B - 儲存管理資訊之記憶體系統及控制其之方法 - Google Patents

儲存管理資訊之記憶體系統及控制其之方法 Download PDF

Info

Publication number
TWI419161B
TWI419161B TW098106248A TW98106248A TWI419161B TW I419161 B TWI419161 B TW I419161B TW 098106248 A TW098106248 A TW 098106248A TW 98106248 A TW98106248 A TW 98106248A TW I419161 B TWI419161 B TW I419161B
Authority
TW
Taiwan
Prior art keywords
log
management information
memory
snapshot
stored
Prior art date
Application number
TW098106248A
Other languages
English (en)
Other versions
TW200947440A (en
Inventor
Junji Yano
Hidenori Matsuzaki
Kosuke Hatsuda
Original Assignee
Toshiba Kk
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2008051340A external-priority patent/JP2009211196A/ja
Priority claimed from JP2008051452A external-priority patent/JP2009211213A/ja
Application filed by Toshiba Kk filed Critical Toshiba Kk
Publication of TW200947440A publication Critical patent/TW200947440A/zh
Application granted granted Critical
Publication of TWI419161B publication Critical patent/TWI419161B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

儲存管理資訊之記憶體系統及控制其之方法
本發明係關於一種使用非揮發性半導體儲存裝置之記憶體系統。
一些個人電腦(PC)使用硬碟裝置作為次級儲存裝置。在該等PC中,已知用於備份已儲存於硬碟裝置中之資料以防止資料由於某一故障而變得無效之技術。舉例而言,當偵測到改變硬碟裝置中之資料之動作時,取得一快照作為改變之前的資料之備份複本且產生對資料所進行之改變之日誌。接著,每隔預定時間重複以下處理:取得一新快照,使過去在取得新快照之前記錄之日誌無效,且產生新日誌(例如,參見美國專利申請公開案第2006/0224636號)。在資料歸因於某一原因而變得無效之狀況下,可藉由參考快照及日誌而恢復資料。
近年來,作為非揮發性半導體儲存裝置之「反及」快閃記憶體之容量已顯著增加。因此,包括具有「反及」快閃記憶體作為次級儲存裝置之記憶體系統的PC已投入實際使用。然而,無法如在儲存於具有硬碟裝置作為次級儲存裝置之個人電腦中的資料之備份之狀況下一般而將美國專利申請公開案第2006/0224636號中所揭示之技術應用於儲存於具有「反及」快閃記憶體作為次級儲存裝置之此種個人電腦中的資料之備份。此係因為使用可將等於或大於2個位元之複數個資料(多值資料)儲存於一記憶體單元中之多值記憶體技術以增加「反及」快閃記憶體之容量。
組態多值記憶體之記憶體單元具有一具有堆疊閘極結構之場效電晶體結構,其中閘極絕緣薄膜、浮動閘電極、閘極間絕緣薄膜及控制閘電極按次序堆疊於通道區域上,且可根據累積於浮動閘電極中之電子之數目而設定複數個臨限電壓。為了使得有可能基於該複數個臨限電壓而執行多值儲存,需要使對應於一資料之臨限電壓之分布極窄。
舉例而言,關於可儲存四個值之多值記憶體,存在在一記憶體單元中包括一較低序頁及一較高序頁(higher order page)且藉由在各別頁中寫入1位元資料而儲存2個位元(四個值)之多值記憶體。在將資料寫入此種多值記憶體中之方法中,在將資料寫入第一記憶體單元之較低序頁中之後,將資料寫入鄰近於第一記憶體單元之記憶體單元(第二記憶體單元)之較低序頁中。在將資料寫入此鄰近記憶體單元中之後,將資料寫入第一記憶體單元之較高序頁中(例如,參見JP-A 2004-192789(KOKAI))。
然而,在此種多值記憶體中,已較早寫入有資料之第一記憶體單元之臨限電壓由於稍後寫入有資料且鄰近於第一記憶體單元之第二記憶體單元的臨限電壓而波動。因此,在多值記憶體中,很可能發生較低序頁損毀,其中若當將資料寫入某一記憶體單元之較高序頁中時寫入由於(例如)電源之異常隔離而暫時中止,則較早寫入有資料之較低序頁中之資料亦損毀。
因此,在使用「反及」快閃記憶體之個人電腦中,例如,當自電源之異常隔離或其類似者而重設記憶體系統時,有必要藉由以下操作而將記憶體系統重設至發生異常隔離之前之狀態:辨別暫時中止之時機(timing)或在於日誌之寫入期間暫時中止寫入時辨別日誌損毀之存在或不存在,且選擇不受該暫時中止影響之日誌並將該日誌反映於快照上。然而,即使執行該恢復處理,亦仍存在損毀之日誌。因此,存在一問題在於:無法消除重設之後錯誤地讀取損毀之日誌之似然性且不確保記憶體系統之可靠性。
在具有「反及」快閃記憶體之記憶體系統中,當儲存資料時,有必要一次(例如)以稱為區塊之一單位抹除一寫入區且此後以稱為頁之單位執行寫入。另一方面,當儲存資料時,有必要一次以(例如)稱為區塊之一單位抹除一寫入區且接著以稱為頁之單位執行寫入。另一方面,存在問題在於:隨著在該資料寫入之前執行的對區塊之抹除之次數增加,組態區塊之記憶體單元中之惡化更加嚴重。換言之,各別區塊之可重寫之次數存在限制。因此,對於記憶體系統之耐久壽命之延長而言,對區塊之抹除之次數的抑制係不可缺少的。作為對抗此種問題之措施中之一者,例如,執行用於儘可能均等地分散資料之更新部分的稱為磨損調平之處理,以使得記憶體系統中之所有區塊的抹除之次數大體上均等。
當在個人電腦或其類似者中產生待用、休眠或重設之信號時,在用於儲存快照及日誌之習知方法中,在記憶體系統轉移至指定狀態之前取得快照。舉例而言,當接收到待用信號時,藉由再次取得快照而儲存關於記憶體系統之管理資訊。隨後,記憶體系統轉移至待用狀態。在自待用狀態重設記憶體系統之後,藉由使用所儲存之快照而恢復管理資訊。基於此管理資訊而將記憶體系統恢復至轉移至待用狀態之前的狀態。
當對具有「反及」快閃記憶體之記憶體系統應用每次接收到待用信號或其類似者時再次取得快照之方法時,存在一問題在於:根據快照之獲取之次數的增加而使得記憶體系統之耐久壽命減少。此係因為,在獲取快照中,因為首先抹除作為管理資訊之儲存區之區塊且接著將管理資訊寫入該區塊中,所以藉由區塊之抹除而使得記憶體單元惡化。當記憶體單元在接收到待用信號或其類似者且再次取得快照之後轉移至待用狀態時,因為產生快照花費時間,所以存在一問題在於:直至轉移至待用狀態或其類似者為止之等待時間為長的。
根據本發明之一態樣,提供一記憶體系統,其包括揮發性第一儲存單元;非揮發性第二儲存單元,其包括可儲存多值資料之記憶體單元;及控制器,該控制器經由該第一儲存單元而執行主機設備與該第二儲存單元之間的資料傳送,將包括在記憶體系統之起動操作期間儲存於該第二儲存單元中之資料之儲存位置的管理資訊儲存於第一儲存單元中,且在更新所儲存之管理資訊時基於所儲存之管理資訊而執行第一及第二儲存單元中之資料管理。該控制器包括管理資訊儲存單元,其在滿足預定條件時將儲存於第一儲存單元中之管理資訊儲存於第二儲存單元中作為快照且將作為管理資訊之更新差異資訊之日誌儲存於第二儲存單元中;及管理資訊恢復單元,其在在開始起動操作時該日誌存在於第二儲存單元中之情形時,基於該快照及該日誌而執行第一儲存單元中之管理資訊之恢復之後,再次取得該快照且將該快照儲存於第二儲存單元中。
根據本發明之另一態樣,提供一記憶體系統,其包括揮發性第一儲存單元;非揮發性第二儲存單元,其包括可儲存多值資料之記憶體單元;及控制器,該控制器經由該第一儲存單元而執行主機設備與該第二儲存單元之間的資料傳送,將包括在記憶體系統之起動操作期間儲存於該第二儲存單元中之資料之儲存位置的管理資訊儲存於第一儲存單元中,且在更新所儲存之管理資訊時基於所儲存之管理資訊而執行第一及第二儲存單元中之資料管理。該控制器包括管理資訊儲存單元,其在滿足預定條件時將儲存於第一儲存單元中之管理資訊儲存於第二儲存單元中作為快照且將作為管理資訊之更新差異資訊之日誌儲存於第二儲存單元中;及管理資訊恢復單元,其在在開始起動操作時該日誌存在於第二儲存單元中之情形時,基於該快照及該日誌而執行第一儲存單元中之管理資訊之恢復;且在在開始起動操作時該日誌不存在於第二儲存單元中之情形時,基於該快照而執行第一儲存單元中之管理資訊之恢復。當接收到來自待用信號、休眠信號及重設信號當中之信號時,該管理資訊儲存單元判定是否應在轉移至由該信號指定之指定狀態之前再次取得快照。
下文參看隨附圖式詳細地解釋根據本發明之記憶體系統之例示性實施例。本發明不受此實施例限制。
第一實施例
根據本發明之第一實施例之記憶體系統包括非揮發性半導體儲存裝置且用作諸如個人電腦之主機設備之次級儲存裝置(SSD:固態驅動器)。記憶體系統具有儲存主機設備請求寫入之資料及讀出主機設備請求讀出之資料並將資料輸出至主機設備的功能。圖1為根據本發明之第一實施例之記憶體系統10之組態的實例之方塊圖。此記憶體系統10包括作為第一儲存單元之DRAM(動態隨機存取記憶體)11、作為第二儲存單元之「反及」快閃記憶體(在下文中為「「反及」記憶體」)12、電源電路13,及驅動控制單元14。
DRAM 11用作用於資料傳送、管理資訊記錄或工作區之儲存單元。具體言之,當DRAM 11用作用於資料傳送之儲存單元時,DRAM 11用於在將資料寫入「反及」記憶體12中之前暫時儲存主機設備請求寫入之資料,且DRAM 11用於自「反及」記憶體12讀出主機設備請求讀出之資料且暫時儲存所讀取之資料。當DRAM 11用作用於管理資訊記錄之儲存單元時,DRAM 11用於儲存用於管理儲存於DRAM 11及「反及」記憶體12中之資料之儲存位置的管理資訊。當DRAM 11用作用於工作區之儲存單元時,DRAM 11用於(例如)在恢復管理資訊時所使用之前日誌及後日誌(更新前日誌及更新後日誌)之擴展期間。
「反及」記憶體12用作用於將資料儲存於其中之儲存單元。具體言之,「反及」記憶體12將由主機設備指定之資料儲存於其中且將由DRAM 11管理之管理資訊儲存於其中以用於備份。在圖1中,已作為一實例展示包括四個通道120A至120D之「反及」記憶體12。該等通道120A至120D中之每一者包括兩個封裝121,每一封裝包括具有預定大小(例如,2GB)之儲存容量之八個碼片122。通道120A至120D經由驅動控制單元14及匯流排15A至15D而連接。
電源電路13接收外部電源且自外部電源產生待供應至記憶體系統10之各別單元之複數個內部電源。電源電路13偵測外部電源之狀態(亦即,上升緣或下降緣),基於所偵測之狀態而產生通電重設信號,且將通電重設信號輸出至驅動控制單元14。
驅動控制單元14控制DRAM 11及「反及」記憶體12。如稍後詳細解釋,例如,驅動控制單元14根據來自電源電路13之通電重設信號執行針對管理資訊之恢復處理及針對管理資訊之儲存處理。驅動控制單元14經由ATA介面(I/F)而將資料傳輸至主機設備及自主機設備接收資料且經由RS232C I/F而將資料傳輸至除錯設備及自除錯設備接收資料。此外,驅動控制單元14輸出用於控制提供於記憶體系統10之外部上之用於狀態顯示的LED之接通/斷開之控制信號。
下文詳細解釋「反及」記憶體12之組態。「反及」記憶體12藉由在基板上將複數個區塊(抹除單位區)排成陣列而組態,該複數個區塊為資料抹除之單位。圖2為「反及」記憶體12之任意區塊之組態的實例之電路圖。在圖2中,將左右方向設定為X方向且將垂直於X方向之方向設定為Y方向。
「反及」記憶體12之每一區塊BLK包括沿著X方向按次序排成陣列之(m+1)(m為等於或大於0之整數)個「反及」串NS。每一「反及」串NS具有(n+1)(n為等於或大於0之整數)個記憶體單元電晶體MT0至MTn,該等記憶體單元電晶體MT0至MTn共用在Y方向上彼此鄰近之記憶體單元電晶體MT之間的擴散區域(源極區域或汲極區域)。此外,記憶體單元電晶體MT0至MTn在Y方向上串聯連接。另外,選擇電晶體ST1及ST2排列於該(n+1)個記憶體電晶體MT0至MTn之列之兩端處。
每一記憶體單元電晶體MT0至MTn為一MOSFET(金屬氧化物半導體場效電晶體),其具有形成於半導體基板上之堆疊閘極結構。該堆疊閘極結構包括經由閘極絕緣薄膜而形成於半導體基板上之電荷累積層(浮動閘電極),及經由閘極間絕緣薄膜而形成於電荷累積層上之控制閘電極。此外,記憶體單元電晶體MT0至MTn為多值記憶體,其中臨限電壓根據累積於浮動閘電極中之電子之數目而改變,且可視臨限電壓之差異而儲存兩個或兩個以上位元資料。在第一實施例中,假定記憶體單元電晶體MT為多值記憶體。
字線WL0至WLn分別連接至每一「反及」串NS之記憶體單元電晶體MT0至MTn之控制閘電極。「反及」串NS中之每一者中之記憶體單元電晶體MTi(i=0至n)藉由同一字線(i=0至n)而共同連接。換言之,存在於區塊BLK中之同一列上之記憶體單元電晶體MTi的控制閘電極連接至同一字線WLi。連接至同一字線WLi之(m+1)個記憶體單元電晶體MTi之群組為形成一頁之單位。在「反及」記憶體12中,以此頁單位來執行資料之寫入及讀出。
位元線BL0至BLm分別連接至一區塊BLK中之該(m+1)個選擇電晶體ST1之汲極。選擇閘極線SGD共同地連接至每一「反及」串NS之選擇電晶體ST1之閘極。選擇電晶體ST1之源極連接至記憶體單元電晶體MT0之汲極。類似地,源極線SL共同地連接至一區塊BLK中之該(m+1)個選擇電晶體ST2之源極。選擇閘極線SGS共同地連接至每一「反及」串NS之選擇電晶體ST2之閘極。選擇電晶體ST2之汲極連接至記憶體單元電晶體MTn之源極。
儘管圖中未展示,但一區塊BLK中之位元線BLj(j=0至m)將選擇電晶體ST1之汲極共同連接於其他區塊BLK之位元線BLj之間。換言之,區塊BLK中之同一行中之「反及」串NS藉由同一位元線BLj而連接。
接著解釋DRAM 11及「反及」記憶體12之功能組態。圖3A為DRAM 11之功能組態的示意圖且圖3B為「反及」記憶體12之功能組態的示意圖。如圖3A中所展示,DRAM 11包括儲存有主機設備請求寫入之資料之寫入快取區、儲存有主機設備請求讀出之資料之讀取快取區RC、儲存有用於管理儲存於DRAM 11及「反及」記憶體12中之資料之儲存位置的管理資訊之暫時儲存區111,及當恢復管理資訊時使用之工作區112。
如圖3B中所展示,「反及」記憶體12包括儲存有主機設備請求寫入之資料之資料儲存區125及儲存有DRAM 11之暫時儲存區111中所管理之管理資訊的管理資訊儲存區126。在此實例中,將「反及」記憶體12中之資料寫入及讀出單位設定為頁大小之單位。將抹除單位設定為區塊大小之單位。因此,將用於儲存以區塊大小之單位管理的「反及」記憶體12之各別區塊的區進一步劃分成頁大小單位之區。
下文解釋DRAM 11之暫時儲存區111中所管理的管理資訊。圖4為用於管理儲存於記憶體系統10中之資料之層結構的實例之圖。此處假定:此資料為主機設備請求寫入或讀出之資料。在記憶體系統10中,藉由以下之三層結構來執行資料管理:DRAM管理層31、邏輯「反及」管理層32,及實體「反及」管理層33。DRAM管理層31執行起快取記憶體作用之DRAM 11中之資料管理。邏輯「反及」管理層32執行「反及」記憶體12中之邏輯資料管理。實體「反及」管理層33執行「反及」記憶體12中之實體資料管理、「反及」記憶體12之壽命延長處理,及其類似者。
在DRAM 11之寫入快取區WC及讀取快取區RC中,藉由由主機設備之位址管理方法所管理之邏輯位址(在下文中為「LBA(邏輯區塊位址)」)指定的資料儲存於DRAM 11上之預定範圍中之實體位址(在下文中為「DRAM內實體位址」)中。DRAM管理層31中之資料藉由快取管理資訊41來管理,快取管理資訊41包括待儲存之資料之LBA與DRAM內實體位址之間的對應關係及指示資料在一頁中之區段大小之單位中之存在或不存在的區段旗標。
圖5以表狀方式說明快取管理資訊41之實例。快取管理資訊41為DRAM 11之一頁大小之一區的一項。項之數目等於或小於適合寫入快取區WC及讀取快取區RC之頁之數目。在該等項中之每一者中,頁大小之資料之LBA、DRAM內實體位址與指示藉由以區段大小劃分此頁而獲得的區中之每一者中之有效資料之位置的區段旗標相關聯。
在「反及」記憶體12中,來自DRAM 11之資料儲存於「反及」記憶體12上之預定範圍中之實體位址(在下文中為「「反及」內實體位址」)中。在藉由多值記憶體形成之「反及」記憶體12中,因為可重寫之次數有限,所以由驅動控制單元14來將組態「反及」記憶體12之區塊當中的重寫之次數控制為均衡的。換言之,當執行寫入「反及」記憶體12中之某一「反及」內實體位址中之資料的更新時,驅動控制單元14執行控制以使組態「反及」記憶體12之區塊當中的重寫之次數均衡,以在不同於原始區塊之區塊中寫入反映包括待更新之資料之區塊的需要更新之部分的資料且使原始區塊無效。
如上文所解釋,在「反及」記憶體12中,在資料之寫入及讀出處理與資料之抹除處理中,處理單位為不同的。在資料之更新處理中,更新之前的資料之位置(區塊)與更新之後的資料之位置(區塊)為不同的。因此,在第一實施例中,除「反及」內實體位址之外,提供在「反及」記憶體12中獨立使用之「反及」內邏輯位址(在下文中為「「反及」內邏輯位址」)。
因此,邏輯「反及」管理層32中之資料藉由邏輯「反及」管理資訊42來管理,邏輯「反及」管理資訊42指示自DRAM 11接收之頁大小單位之資料的LBA與「反及」內邏輯位址(其指示「反及」記憶體12之儲存所接收之資料的邏輯頁位置)之間的關係及指示具有與作為「反及」記憶體12中之抹除單位之區塊之大小一致的大小之邏輯區塊之位址範圍的關係。可將複數個實體區塊之集合設定為一邏輯區塊。實體「反及」管理層33中之資料藉由「反及」內邏輯位址-實體位址轉換資訊(在下文中為「邏輯-實體轉換資訊」)來管理,「反及」內邏輯位址-實體位址轉換資訊包括「反及」記憶體12中之「反及」內邏輯位址與「反及」內實體位址之間的對應關係。
圖6以表狀方式說明邏輯「反及」管理資訊42之實例。圖7以表狀方式說明「反及」內邏輯-實體轉換資訊43之實例。如圖6中所展示,邏輯「反及」管理資訊42包括邏輯頁管理資訊42a及邏輯區塊管理資訊42b。邏輯頁管理資訊42a具有一頁大小之一邏輯區之一項。項中之每一者包括一頁大小之資料之LBA、「反及」內邏輯位址,及指示此頁是否有效之頁旗標。邏輯區塊管理資訊42b包括針對「反及」記憶體12之一區塊大小之一區設定的「反及」內實體位址。如圖7中所展示,在「反及」內邏輯-實體轉換資訊43中,「反及」記憶體12之「反及」內實體位址與「反及」內邏輯位址相關聯。
藉由使用此等種類之管理資訊,可建立用於主機設備中之LBA、用於「反及」記憶體12中之「反及」內邏輯位址與用於「反及」記憶體12中之「反及」內實體位址的對應。此使得有可能在主機設備與記憶體系統10之間交換資料。
藉由DRAM管理層31管理之管理資訊由於斷電或其類似者而丟失,使得此管理資訊可被稱為揮發性表。與此相反,若藉由邏輯「反及」管理層32及實體「反及」管理層33管理之管理資訊由於斷電或其類似者而丟失,則丟失之管理資訊阻礙記憶體系統10之成功起動,使得需要採取措施以使得即使在斷電或其類似者之情況下亦儲存管理資訊。因此,此管理資訊可被稱為非揮發性表。
此非揮發性表管理儲存於「反及」記憶體12中之資料。若不存在非揮發性表,則無法存取儲存於「反及」記憶體12中之資訊或儲存於區中之資料被抹除。因此,需要將非揮發性表儲存為最新資訊來為突然斷電作準備。因此,在第一實施例中,將包括至少非揮發性表之管理資訊以最新狀態儲存於「反及」記憶體12之管理資訊儲存區126中。下文解釋儲存於「反及」記憶體12之管理資訊儲存區126中之管理資訊儲存資訊。以下解釋假定:僅非揮發性表儲存於管理資訊儲存區126中。
圖8為儲存於管理資訊儲存區126中之管理資訊儲存資訊之內容的實例之示意圖。以下項目儲存於管理資訊儲存區126中:儲存有管理資訊儲存資訊,該管理資訊儲存資訊包括作為某一點處之非揮發性表之內容的快照210;更新前日誌(在下文中稱作前日誌)220A,其為下一次取得快照之前的非揮發性表之內容之更新差異資訊,且在更新之前獲取;更新後日誌(在下文中稱作後日誌)220B,其為與前日誌220A之內容相同之內容的日誌資訊且在更新之後經儲存;指示快照210之位置(區塊)、針對快照210而獲取之前日誌220A之位置(區塊)及自快照210獲取之後日誌220B之位置(區塊)的第二指標230;及指示儲存第二指標230之位置(區塊)之根指標240。快照210為藉由儲存儲存於DRAM 11之暫時儲存區111中的管理資訊當中包括至少預定點處之非揮發性表之管理資訊而獲得的資訊。
快照210、前日誌220A、後日誌220B、第二指標230及根指標240儲存於不同區塊中。該等區塊之大小與作為抹除單位之實體區塊之大小相同。快照210儲存於快照儲存區塊中。快照210包括作為「反及」記憶體12之管理資訊儲存區126中之非揮發性表的邏輯「反及」管理資訊42及「反及」內邏輯-實體轉換資訊43。當儲存新快照210時,將快照210儲存於不同於之前儲存快照210之區塊的區塊中。
前日誌220A及後日誌220B為在當存在非揮發性表之內容之改變時改變內容之後的非揮發性表與對應於資料寫入處理等之快照210(或快照210及已經產生之日誌)之間的差異資訊。具體言之,取得快照210之後的第一前日誌220A及第一後日誌220B為非揮發性表與快照210之間的差異資訊。取得快照210之後的第二或後續前日誌220A為己產生之前日誌220A與快照210之組合與非揮發性表之間的差異資訊。取得快照210之後的第二或後續後日誌220B為己產生之後日誌220B與快照210之組合與非揮發性表之間的差異資訊。
前日誌220A為管理資訊被實際更新之前所產生的資訊。因此,在管理資訊藉由資料寫入處理或其類似者之執行而被實際更新之前,基於關於管理資訊被更新之方式之更新排程而產生前日誌220A。
後日誌220B為管理資訊被更新實際之後所產生的資訊。因此,在管理資訊根據資料寫入處理或其類似者之執行而被實際更新之後,藉由使用實際管理資訊來產生後日誌220B。
前日誌220A及後日誌220B分別儲存於日誌儲存區塊中。即使快照之產生改變,亦以一次寫入之方式將前日誌220A及後日誌220B寫入相同日誌儲存區塊中。
圖9描繪日誌之實例。因為前日誌220A與後日誌220B具有相同資訊,所以將前日誌220A作為日誌之實例來進行解釋。前日誌220A包括為改變目標之管理資訊之目標資訊、作為目標資訊中為改變目標之項的目標項、作為目標項中為改變目標之項目的目標項目,及作為目標項目之改變之內容的改變內容。前日誌220A及後日誌220B隨著新快照210之儲存而重新形成,因為前日誌220A及後日誌220B為針對快照210之更新差異資訊。
第二指標230儲存於第二指標儲存區塊中。第二指標230僅須為指示一指示快照210、前日誌220A及後日誌220B之儲存位置的區塊之頂位址的指標。當重新儲存快照210時或當改變快照儲存區塊或日誌儲存區塊時,更新第二指標230。可將前日誌220A及後日誌220B之指標儲存於快照210中而不將其儲存於第二指標儲存區塊中。
第二指標230包括用於存取快照儲存區塊之快照存取資訊、用於存取用於前日誌220A及後日誌220B之日誌儲存區塊的日誌存取資訊,及指示儲存下一個第二指標之頁位置的下一個指標。藉由此下一個指標而將第二指標230改變為鏈接清單系統中之資訊。有可能藉由自藉由根指標240指定之第二指標儲存區塊之頂頁起跟蹤下一個指標而到達最新之第二指標230。代替鏈接清單系統,可以一次寫入之方式以自第二指標儲存區之頂頁起之次序儲存第二指標230。
根指標240儲存於第一根指標儲存區塊中。根指標240為用於存取儲存有第二指標230之第二指標儲存區塊之資訊且為當起動記憶體系統10時在用於恢復管理資訊之處理中首先讀取之資訊。當第二指標儲存區塊改變時,根指標240改變。根指標240以一次寫入之方式以自區塊之頂頁起之次序儲存於根指標儲存區塊中。在此種狀況下,根指標儲存區塊中緊於未經寫入之頁之前的頁具有最新資訊。因此,有可能藉由擷取未經寫入之頁之最高序頁而擷取最新之根指標240。如在第二指標230之狀況下,亦有可能使用鏈接清單。
根指標240儲存於「反及」記憶體12之固定區1261中。快照210、前日誌220A、後日誌220B及第二指標230儲存於「反及」記憶體12之可變區1262中。固定區1261為「反及」記憶體12中藉由邏輯「反及」管理層32管理之邏輯區塊與藉由實體「反及」管理層33管理之實體區塊之間的關係固定之受保護區且為儲存對於執行記憶體系統10為必要的且具有低更新頻率(其中幾乎不發生重寫及寫入)之資訊的區。
可變區1262為「反及」記憶體12之除固定區1261之外的區中藉由邏輯「反及」管理層32管理之邏輯區塊與藉由實體「反及」管理層33管理之實體區塊之間的關係可變之區且為作為磨損調平之目標之區。
下文解釋驅動控制單元14之功能。圖10為驅動控制單元14之功能組態之實例的方塊圖。驅動控制單元14包括資料管理單元141、ATA命令處理單元142、安全管理單元143、啟動載入器144、初始化管理單元145,及除錯支援單元146。資料管理單元141執行DRAM 11與「反及」記憶體12之間的資料傳送及關於「反及」記憶體12之各種功能之控制。ATA命令處理單元142基於自ATA介面接收之指令而與資料管理單元141協作執行資料傳送處理。安全管理單元143與資料管理單元141及ATA命令處理單元142協作管理各種種類之安全資訊。啟動載入器144在通電期間將各種管理程式(韌體)自「反及」記憶體12載入至未展示之記憶體(例如,SRAM(靜態RAM))。初始化管理單元145執行驅動控制單元14中之控制器及電路之初始化。除錯支援單元146處理經由RS232C介面而自外部供應之除錯資料。
圖11為資料管理單元141之功能組態之實例的方塊圖。資料管理單元141包括資料傳送處理單元151、管理資訊管理單元152及管理資訊恢復單元155。資料傳送處理單元151執行DRAM 11與「反及」記憶體12之間的資料傳送。管理資訊管理單元152根據儲存於DRAM 11及「反及」記憶體12中之資料之改變而執行管理資訊之改變及儲存。管理資訊恢復單元155基於在通電或其類似者期間所儲存之管理資訊而恢復最新之管理資訊。
管理資訊管理單元152包括管理資訊寫入單元153及管理資訊儲存單元154。當根據由資料傳送處理單元151進行的針對儲存於DRAM 11或「反及」記憶體12中之資料之改變處理而使得儲存於DRAM 11中之管理資訊之更新有必要時,管理資訊寫入單元153執行該管理資訊之更新。
當記憶體系統10滿足預定條件時,管理資訊儲存單元154在「反及」記憶體12之管理資訊儲存區126中將管理資訊儲存為快照210,將管理資訊中待更新之資訊儲存為前日誌220A,且將管理資訊中經更新之資訊儲存為後日誌220B。當第二指標230中之寫入之位置根據快照210、前日誌220A或後日誌220B之儲存而改變時,管理資訊儲存單元154對第二指標230應用更新處理。
當滿足與記憶體系統10有關之預定條件時,由管理資訊儲存單元154來執行快照210之儲存。舉例而言,當「反及」記憶體12之管理資訊儲存區126中經提供以用於儲存日誌220(前日誌220A及後日誌220B)之日誌儲存區變滿(亦即,區完全由資料填滿)時,執行快照210之儲存。
在涉及儲存於DRAM 11中之管理資訊(非揮發性表)之更新的「反及」記憶體12上之資料更新期間(當「反及」記憶體12中之資料寫入為必要時),由管理資訊儲存單元154來執行日誌220(前日誌220A及後日誌220B)之儲存。
管理資訊儲存單元154儲存前日誌220A及後日誌220B之時機為由管理資訊寫入單元153執行儲存於DRAM 11中之管理資訊(非揮發性表)之更新的時間。具體言之,在用於執行資料寫入及其類似者之處理之前及之後儲存前日誌220A及後日誌220B。
當接通記憶體系統10之電源時,管理資訊恢復單元155基於儲存於「反及」記憶體12之管理資訊儲存區126中之管理資訊儲存資訊而執行管理資訊之恢復處理。具體言之,管理資訊恢復單元155按次序追蹤固定區1261中之根指標240及可變區1262中之第二指標230、快照210、前日誌220A及後日誌220B並判定是否存在對應於最新之快照210的前日誌220A及後日誌220B。當不存在前日誌220A及後日誌220B時,管理資訊恢復單元155在DRAM 11中恢復快照儲存區塊之快照210作為管理資訊。當存在前日誌220A及後日誌220B時,其意謂已發生諸如程式錯誤或短時中斷(short break)(電源之異常隔離)之異常結束,管理資訊恢復單元155自快照儲存區塊獲取快照210,自日誌儲存區塊獲取前日誌220A及後日誌220B,且在DRAM 11上執行管理資訊(非揮發性表)之恢復(將前日誌220A及後日誌220B反映於快照210上)。
下文解釋由管理資訊管理單元152進行的針對記憶體系統10之管理資訊之儲存處理。圖12為針對記憶體系統10之管理資訊之儲存處理程序的實例之流程圖。圖13為用於解釋針對前日誌及後日誌之儲存處理的圖。假定記憶體系統10連接至主機設備且作為主機設備之次級儲存裝置而操作,主機設備(記憶體系統10)處於起動狀態中,且在此起動狀態之前在記憶體系統10停止之前儲存快照210。
首先,基於在主機設備(記憶體系統10)之上一次結束時儲存之快照210而使主機設備(記憶體系統10)處於起動狀態中(步驟S11)。此後,在必要時執行自主機設備至「反及」記憶體12之資料讀取或寫入。管理資訊管理單元152判定是否滿足預定快照儲存條件(例如,日誌儲存區為滿的(該區由日誌資料填滿))(步驟S12)。當不滿足快照儲存條件時(步驟S12處為「否」),管理資訊管理單元152判定是否接收到涉及管理資訊之更新之指令(用於「反及」記憶體中之資料寫入之指令)(步驟S13)。當未接收到涉及管理資訊之更新之指令時(步驟S13處為「否」),管理資訊管理單元152返回至步驟S12。
當接收到涉及管理資訊之更新之指令時(步驟S13處為「是」),管理資訊管理單元152判定指示藉由執行指令而更新管理資訊之方式之更新排程(步驟S14)。管理資訊管理單元152將更新排程儲存於「反及」記憶體12之管理資訊儲存區126之日誌儲存區塊中作為前日誌220A(步驟S15)。當前日誌220A未儲存於日誌儲存區塊中時,更新排程(日誌)為更新管理資訊之時間處之非揮發性表與儲存於快照儲存區塊中之快照210之間的差異資訊。當日誌220(在下文中稱作過去之前日誌220A)已儲存於日誌儲存區塊中時,更新排程(日誌)為更新管理資訊之時間處之非揮發性表與快照210與過去之前日誌220A之組合之間的差異資訊。具體言之,如圖13中所展示,在執行資料寫入(X)作為針對第X資料之寫入處理之前,將對應於資料寫入(X)之前日誌(X)儲存於「反及」記憶體12中作為前日誌220A。在此點上,例如,將資訊y1儲存為前日誌220A。舉例而言,在將前日誌220A(更新排程)記錄於DRAM 11上之後,將前日誌220A儲存於「反及」記憶體12之管理資訊儲存區126中。
隨後,邏輯「反及」管理層32執行在步驟S13處所接收之指令(例如,用於「反及」記憶體12之資料儲存區125中之使用者資料的寫入(X)之處理)(步驟S16)。
此後,根據所執行之處理而更新儲存於DRAM 11中之管理資訊。管理資訊儲存單元154將「反及」記憶體12之管理資訊儲存區126中之管理資訊中的經更新之資訊儲存為後日誌220B。當後日誌220B未儲存於日誌儲存區塊中時,後日誌220B為當前點處之非揮發性表與儲存於快照儲存區塊中之快照210之間的差異資訊。當後日誌220B(在下文中稱作「過去之後日誌220B」)已儲存於日誌儲存區塊中時,後日誌220B為當前表處之非揮發性表與快照210與過去之日誌之組合之間的差異資訊。
將對應於資料寫入(X)之後日誌220B(X)儲存於「反及」記憶體12中作為後日誌220B。在此點上,例如,將資訊y1儲存為後日誌220B。儲存為後日誌220B之資訊y1與儲存為前日誌220A之資訊y1相同(步驟S17)。此後,管理資訊管理單元152返回至步驟S12。
當不滿足快照儲存條件時(步驟S12處為「否」)且當接收到涉及管理資訊之更新之指令時(步驟S13處為「是」),執行步驟S14至S17處之處理。換言之,以與針對第X資料之寫入處理相同之方式,執行針對第(X+1)資料之寫入處理。在執行資料寫入(X+1)作為針對第(X+1)資料之寫入處理之前,將對應於資料寫入(X+1)之前日誌(X+1)儲存於「反及」記憶體12中作為前日誌220A。在此點上,例如,將資訊y2儲存為前日誌220A。執行「反及」記憶體12中之資料儲存區125中之資料寫入(X+1)。將對應於資料寫入(X+1)之後日誌(X+1)儲存於「反及」記憶體12中作為後日誌220B。在此點上,例如,將資訊y2儲存為後日誌220B。儲存為後日誌220B之資訊y2與儲存為前日誌220A之資訊y2相同。
當在步驟S12處滿足快照儲存條件時(步驟S12處為「是」),管理資訊管理單元152將至少包括DRAM 11之暫時儲存區111中之非揮發性表的管理資訊儲存於「反及」記憶體12之管理資訊儲存區126中作為快照210(步驟S18)。管理資訊管理單元152判定是否指示記憶體系統10之結束(步驟S19)。當未指示記憶體系統10之結束時,管理資訊管理單元152返回至步驟S12。當指示記憶體系統10之結束時,處理完成。
下文解釋由管理資訊恢復單元155執行的針對記憶體系統10之管理資訊之恢復處理。圖14為針對記憶體系統10之管理資訊之恢復處理程序的實例之流程圖。如在上述解釋中,記憶體系統10連接至主機設備且作為主機設備之第二儲存裝置操作。
首先,由於(例如)自短時中斷之恢復而接通主機設備之電源,且向記憶體系統10發出起動指令(步驟S31)。管理資訊恢復單元155依序地讀取「反及」記憶體12之管理資訊儲存區126中的根指標240及第二指標230(步驟S32),獲取儲存快照210及前日誌及後日誌(前日誌220A及後日誌220B)之區塊之位址(步驟S33),且獲取快照210(步驟S34)。
此後,管理資訊恢復單元155參考「反及」記憶體12中之前日誌220A及後日誌220B判定是否已發生短時中斷(步驟S35)。舉例而言,當前日誌220A及後日誌220B存在於「反及」記憶體12中時,管理資訊恢復單元155判定已發生短時中斷。關於是否已發生短時中斷之判定可藉由(例如)比較前日誌220A與後日誌220B來執行。在第一實施例中,前日誌220A與後日誌220B儲存相同資訊。因此,例如,當儲存為前日誌220A之頁之數目與儲存為後日誌220B之頁之數目彼此不一致時,其意謂已發生短時中斷。短時中斷之發生亦可基於ECC錯誤之存在或不存在、儲存為前日誌220A之頁之資料及儲存為後日誌220B之頁之資料來判定。
當已發生短時中斷時(步驟S35處為「是」),管理資訊恢復單元155基於「反及」記憶體12中的最新之前日誌220A及最新之後日誌220B而檢查已發生短時中斷之時機(步驟S36)。
另外,管理資訊恢復單元155基於「反及」記憶體12中的最新之前日誌220A及最新之後日誌220B而檢查已發生短時中斷之時機(步驟S36)。管理資訊恢復單元155判定已發生短時中斷之時機是否在後日誌220B之儲存期間(步驟S37)。舉例而言,當後日誌220B中之最後頁正被寫入時,無法讀出此最後頁。因此,判定在後日誌220B之儲存期間已發生短時中斷。另外,因為在後日誌220B之儲存期間已發生短時中斷,所以可能由於該短時中斷而在後日誌220B中已發生較低序頁資料損毀。當前日誌220A中之最後頁正被寫入時,無法讀出此最後頁。因此,判定在前日誌220A之儲存期間已發生短時中斷。另外,因為在前日誌220A之儲存期間已發生短時中斷,所以可能由於該短時中斷而在前日誌220A中已發生較低序頁資料損毀。當前日誌220A中之最後頁中被寫入日誌且後日誌220B中之最後頁中未被寫入日誌時,判定在資料之寫入期間已發生短時中斷。
當管理資訊恢復單元155判定已發生短時中斷之時機在後日誌220B之儲存期間時(步驟S37處為「是」),管理資訊恢復單元155選擇最新之前日誌220A(步驟S38)。另一方面,當管理資訊恢復單元155判定已發生短時中斷之時機不在後日誌220B之儲存期間時(步驟S37處為「否」),管理資訊恢復單元155儲存完成儲存的最新之後日誌220B(步驟S39)。換言之,當前日誌220A中之最後頁正被寫入時或當前日誌220A中之最後頁中被寫入日誌且後日誌220B中之最後頁中未被寫入日誌時,選擇最新之後日誌220B。
此後,管理資訊恢復單元155自日誌儲存區塊獲取選定之日誌(前日誌220A或後日誌220B)且在DRAM 11之工作區112中擴展日誌(步驟S40)。管理資訊恢復單元155恢復管理資訊(非揮發性表)(以自最舊日志起之次序將日誌反映於快照210上)(步驟S41)。隨後,管理資訊恢復單元155對「反及」記憶體12中之一次寫入區塊(日誌儲存區塊)應用恢復處理(步驟S42)。藉由判定「反及」記憶體12中之一次寫入區塊之損毀的存在或不存在且執行恢復處理來消除經暫時中止之處理之影響。藉由比較關於一次寫入區塊之一次寫入狀態及管理資訊之內容來判定損毀之存在或不存在。在管理資訊之恢復及恢復處理結束時之階段,管理資訊恢復單元155再次取得快照210且將快照210儲存於管理資訊儲存區126中(步驟S43)。管理資訊恢復單元155將過去之快照及日誌改變為空閒區塊(開放(open)或廢棄快照及日誌)且管理資訊之恢復處理完成。空閒區塊意謂尚未被分配應用之區塊。當向空閒區塊分配應用時,在抹除空閒區塊之後使用空閒區塊。
另一方面,當尚未發生短時中斷時(步驟S35處為「否」),管理資訊恢復單元155在DRAM 11之暫時儲存區111中恢復管理資訊(步驟S44)且管理資訊恢復處理結束。
不管歸因於短時中斷之日誌之損毀存在還是不存在,管理資訊恢復單元155均可選擇前日誌220A及後日誌220B中之一者並基於儲存為前日誌220A之頁之數目及儲存為後日誌220B之頁之數目而恢復管理資訊。舉例而言,當儲存為前日誌220A之頁之數目與儲存為後日誌220B之頁之數目相同時,管理資訊恢復單元155選擇前日誌220A且恢復管理資訊。當儲存為前日誌220A之頁之數目大於儲存為後日誌220B之頁之數目時,管理資訊恢復單元155選擇後日誌220B且恢復管理資訊。
圖15A至圖15D為記憶體單元中之資料與記憶體單元之臨限電壓之間的關係及「反及」記憶體中之寫入之次序的實例之圖。首先,當執行抹除操作時,將記憶體單元中之資料設定為「0」。隨後,如圖15A中所展示,當執行較低序頁中之寫入時,記憶體單元中之資料改變為資料「0」及資料「2」。如圖15B中所展示,在於較高序頁中寫入之前,將等於或低於實際資料之臨限電壓之資料寫入鄰近單元中。接著,藉由寫入單元中之資料擴展資料「2」之臨限電壓之分布。此後,當寫入較高序頁之資料時,記憶體單元中之資料改變為具有原始臨限電壓之資料「0」至「3」,如圖15C中所展示。在第一實施例中,自低臨限電壓至高臨限電壓界定記憶體單元中之資料。
解釋「反及」記憶體12中之寫入處理。如圖15D中所展示,針對來自區塊中接近於源極線之記憶體單元的頁中之每一者執行寫入操作。在圖15D中,出於解釋之便利起見,展示四個字線。
在第一寫入(藉由圓圈圍繞之1指示)中,將1-位元資料寫入記憶體單元1之較低序頁中。在第二寫入(藉由圓圈圍繞之2指示)中,將1-位元資料寫入在字線方向上鄰近記憶體單元1之記憶體單元2之較低序頁中。在第三寫入(藉由圓圈圍繞之3指示)中,將1-位元資料寫入在位元方向上鄰近記憶體單元1之記憶體單元3之較低序頁中。在第四寫入(藉由圓圈圍繞之4指示)中,將1-位元資料寫入對角地鄰近記憶體單元1之記憶體單元4之較低序頁中。
在第五寫入(藉由圓圈圍繞之5指示)中,將1-位元資料寫入記憶體單元1之較高序頁中。在第六寫入(藉由圓圈圍繞之6指示)中,將1-位元資料寫入在字線方向上鄰近記憶體單元1之記憶體單元2之較高序頁中。在第七寫入(藉由圓圈圍繞之7指示)中,將1-位元資料寫入在位元方向上鄰近記憶體單元3之記憶體單元5之較低序頁中。在第八寫入(藉由圓圈圍繞之8指示)中,將1-位元資料寫入對角地鄰近記憶體單元3之記憶體單元6之較低序頁中。
在第九寫入(藉由圓圈圍繞之9指示)中,將1-位元資料寫入記憶體單元3之較高序頁中。在第十寫入(藉由圓圈圍繞之10指示)中,將1-位元資料寫入在字線方向上鄰近記憶體單元3之記憶體單元4之較高序頁中。在第十一寫入(藉由圓圈圍繞之11指示)中,將1-位元資料寫入在位元方向上鄰近記憶體單元5之記憶體單元7之較低序頁中。在第十二寫入(藉由圓圈圍繞之12指示)中,將1-位元資料寫入對角地鄰近記憶體單元5之記憶體單元8之較低序頁中。
在第十三寫入(藉由圓圈圍繞之13指示)中,將1-位元資料寫入記憶體單元5之較高序頁中。在第十四寫入(藉由圓圈圍繞之14指示)中,將1-位元資料寫入在字線方向上鄰近記憶體單元5之記憶體單元6之較高序頁中。在第十五寫入(藉由圓圈圍繞之15指示)中,將1-位元資料寫入記憶體單元7之較高序頁中。在第十六寫入(藉由圓圈圍繞之16指示)中,將1-位元資料寫入在字線方向上鄰近記憶體單元7之記憶體單元8之較高序頁中。
解釋用於管理資訊之恢復之日誌之選擇方法的特定實例。圖16A至圖17G為用於解釋用於管理資訊之恢復之日誌之選擇方法的圖。在圖16A至圖17G中,前日誌及後日誌針對用於前日誌之區塊(諸圖中之每一者之左側上的區塊)及用於後日誌之區塊(諸圖中之每一者之右側上的區塊)中的頁中之每一者經儲存。圖16A至圖17G中之一實體區塊中之頁對應於圖15A至圖15D。換言之,頁1至頁4、頁7至頁8及頁11至頁12為圖15A至圖15D中所展示之較低序頁。頁5至頁6、頁9至頁10及頁13至頁16為圖15A至圖15D中所展示之較高序頁。在用於前日誌之區塊及用於後日誌之區塊中,該等區塊中之列中之每一者對應於一頁。在圖16A至圖17G中,出於解釋之便利起見,將頁分離為較低序頁及較高序頁。較低序頁與較高序頁之組合形成一實體區塊。
在圖16A至圖17G中,正常儲存之日誌藉由日誌x1指示,由於短時中斷而損毀之日誌藉由日誌y1指示,且當前正被寫入之日誌藉由日誌z1指示。因為短時中斷已在日誌z1之寫入期間發生且日誌y1損毀,所以對應於日誌z1之頁之記憶體單元與對應於日誌y1之頁之記憶體單元相同。日誌y1之頁為較低次側上之頁(較低序頁)且日誌z1之頁為較高次側上之頁(較高序頁)。在該等區塊中之每一者之日誌(頁)當中,圓圈圍繞之日誌為選定為用於管理資訊之恢復之日誌的日誌。
圖16A為正常時間處(當不發生電源之異常隔離且電源斷開時)之前日誌及後日誌的圖。圖16B至圖16D及圖17E至圖17G為發生短時中斷之時間處的前日誌及後日誌之圖。
在圖16A中,展示當在未儲存快照210之情況下斷開記憶體系統10之電源時儲存於「反及」記憶體12中之前日誌及後日誌。在圖16A之狀況下,因為資料僅寫入較低序頁(頁1至4)中,所以即使在於較低序頁中之寫入期間發生短時中斷,亦不發生較低序頁資料損毀。如圖16A中所展示,在第一實施例中,前日誌及後日誌儲存於不同區塊之相同頁中。因此,當電源在正常時間斷開時,前日誌之最後頁與後日誌之最後頁處於相同頁位置中。因此,在此狀況下,藉由使用前日誌來恢復管理資訊。在圖16A中所展示之正常時間,可藉由使用後日誌代替前日誌來恢復管理資訊。
在圖16B中,當作為前日誌執行「日誌寫入(1)」時,發生短時中斷。如圖16B中所展示,當在於前日誌之較高序頁(頁6)中之寫入期間發生短時中斷時,在對應於被寫入之較高序頁之較低序頁(前日誌之頁2)中發生較低序頁資料損毀。換言之,在圖16B之狀況下,因為在前日誌之儲存期間發生短時中斷,所以在前日誌側上之區塊中產生日誌y1。在此狀況下,對應於「日誌寫入(1)」之日誌z1(當前正被儲存之日誌)儲存於前日誌側上之區塊中。另一方面,對應於「日誌寫入(1)」之後日誌不儲存於後日誌側上之區塊中。因此,前日誌之最後頁與後日誌之最後頁含有不同資訊。在此狀況下,藉由使用後日誌來恢復管理資訊。
在圖16C中,當作為後日誌執行「日誌寫入(1)」時,發生短時中斷。如圖16C中所展示,當在於後日誌之較高序頁(頁6)中之寫入期間發生短時中斷時,在對應於被寫入之較高序頁之較低序頁(後日誌之頁2)中發生較低序頁資料損毀。換言之,在圖16C之狀況下,因為在後日誌之儲存期間發生短時中斷,所以在後日誌側上之區塊中產生日誌y1。在此狀況下,對應於「日誌寫入(1)」之日誌z1儲存於後日誌側上之區塊中。對應於「日誌寫入(1)」之前日誌已儲存於前日誌側上之區塊中。因此,前日誌之最後頁與後日誌之最後頁相同。在此狀況下,藉由使用前日誌來恢復管理資訊。
在圖16D中,在作為前日誌執行「日誌寫入(1)」之後,在對應於前日誌之資料寫入期間發生錯誤。當作為對應於資料寫入之重寫處理之前日誌執行「日誌寫入(2)」時,發生短時中斷。如圖16D中所展示,當在於前日誌之較高序頁(頁6)中之寫入期間發生短時中斷時,在對應於被寫入之較高序頁之較低序頁(前日誌之頁2)中發生較低序頁資料損毀。換言之,在圖16D之狀況下,因為在前日誌之儲存期間發生短時中斷,所以在前日誌側上之區塊中出現日誌y1。在此狀況下,對應於「日誌寫入(1)」之日誌x1及對應於「日誌寫入(2)」之日誌z1儲存於前日誌側上之區塊中。另一方面,對應於「日誌寫入(1)」之後日誌及對應於「日誌寫入(2)」之後日誌不儲存於後日誌側上之區塊中。因此,前日誌之最後頁與後日誌之最後頁不同。在此狀況下,藉由使用後日誌來恢復管理資訊。
在圖17E中,在作為前日誌執行「日誌寫入(1)」之後,在對應於前日誌之資料寫入期間發生錯誤且作為對應於資料寫入之重寫處理之前日誌執行「日誌寫入(2)」。另外,在圖17E中,在作為對應於資料寫入之重寫處理之後日誌執行「日誌寫入(2)」之後,在作為對應於第一資料寫入之後日誌執行「日誌寫入(1)」時發生短時中斷。如圖17E中所展示,當在於後日誌之較高序頁(頁6)中之寫入期間發生短時中斷時,在對應於被寫入之較高序頁之較低序頁(後日誌之頁2)中發生較低序頁資料損毀。換言之,在圖17E之狀況下,因為在後日誌之儲存期間發生短時中斷,所以在後日誌側上之區塊中產生日誌y1。在此狀況下,對應於「日誌寫入(1)」之日誌x1及對應於「日誌寫入(2)」之日誌x1儲存於前日誌側上之區塊中。另一方面,對應於「日誌寫入(2)」之日誌x1及對應於「日誌寫入(1)」之日誌z1儲存於後日誌側上之區塊中。因此,前日誌之最後頁與後日誌之最後頁相同。藉由使用前日誌來恢復管理資訊。
在圖17F中,當作為前日誌執行兩頁上之「日誌寫入(1)」時,發生短時中斷。如圖17F中所展示,當在於前日誌之較高序頁(頁5及頁6)中之寫入期間發生短時中斷時,在對應於被寫入之較高序頁之較低序頁(後日誌之頁1及頁2)中發生較低序頁資料損毀。換言之,在圖17E之狀況下,因為在前日誌之儲存期間發生短時中斷,所以在前日誌側上之區塊中產生日誌y1(例如,頁2)。在此狀況下,對應於「日誌寫入(1)」之日誌x1(前級頁)及日誌z1(後級頁)儲存於前日誌側上之區塊中。另一方面,對應於「日誌寫入(1)」之後日誌不儲存於後日誌側上之區塊中。因此,前日誌之最後頁與後日誌之最後頁不同。藉由使用後日誌來恢復管理資訊。
在圖17G中,當作為後日誌執行兩頁上之「日誌寫入(1)」時,發生短時中斷。如圖17G中所展示,當在於後日誌之較高序頁(頁6及頁7)中之寫入期間發生短時中斷時,在對應於被寫入之較高序頁之較低序頁(後日誌之頁1及頁2)中發生較低序頁資料損毀。換言之,在圖17G之狀況下,因為已在後日誌之儲存期間發生短時中斷,所以在後日誌側上之區塊中產生日誌y1(例如,頁2)。在此狀況下,對應於「日誌寫入(1)」之日誌x1及日誌z1儲存於後日誌側上之區塊中。對應於「日誌寫入(1)」之後日誌已儲存於前日誌側上之區塊中之兩頁上。因此,前日誌之最後頁與後日誌之最後頁相同。藉由使用前日誌來恢復管理資訊。
在第一實施例中,當在電源之異常隔離或其類似者之後重設記憶體系統10時,管理資訊恢復單元155在管理資訊之恢復及恢復處理結束之階段再次取得快照且儲存快照。因此,因為過去之日誌被開放,所以由於短時中斷或其類似者之影響而損毀之日誌不再存在。有可能改良記憶體系統10之可靠性。
第二實施例
圖18為儲存於管理資訊儲存區126中之管理資訊儲存資訊之內容之實例的示意圖。儲存於管理資訊儲存區126中之管理資訊儲存資訊包括作為某一點處之非揮發性表之內容的快照210、作為直至下次取得快照為止的非揮發性表之內容之更新差異資訊的日誌220、指示快照210及關於此快照210首先獲取之日誌220之位置(區塊)的第二指標230,及指示儲存第二指標230之位置(區塊)的根指標240。快照210為藉由儲存儲存於DRAM 11之暫時儲存區111中的該等種類之管理資訊當中包括至少預定點處之非揮發性表之管理資訊而獲得的資訊。
快照210、日誌220、第二指標230及根指標240分別儲存於不同區塊中。該等區塊之大小與作為抹除單位之實體區塊之大小相同。快照210儲存於快照儲存區塊中。快照210包括作為「反及」記憶體12之管理資訊儲存區126中之非揮發性表的邏輯「反及」管理資訊42及「反及」內邏輯-實體轉換資訊43。當儲存新快照210時,將快照210儲存於不同於之前儲存快照210之區塊的區塊中。
日誌220儲存於日誌儲存區塊中。當非揮發性表之內容改變時,日誌220為內容改變之後之非揮發性表與快照210之間的差異資訊(當在獲取快照210之後第一次產生日誌時)或內容改變之後之非揮發性表與快照210之間的差異資訊。每次獲取日誌220作為差異資訊時,以一次寫入之方式以頁單位將日誌220寫入日誌儲存區塊中。圖9描繪日誌220之實例。日誌220包括為改變目標之管理資訊之目標資訊、目標資訊中作為係改變目標之項之目標項、目標項中作為係改變目標之項目之目標項目,及作為目標項目之改變之內容的改變內容。因為日誌220為針對快照210之更新差異資訊,所以根據新快照210之儲存而重新形成日誌220。在第二實施例中,將前日誌及後日誌描述為「日誌」而無區別。當如在第一實施例中一般獲取前日誌及後日誌時,相同內容可適用。
第二指標230儲存於第二指標儲存區塊中。第二指標230僅須為指示指示快照210及日誌220之儲存位置之區塊的頂位址之指標。當重新儲存快照210時或當改變快照儲存區塊及日誌儲存區塊時,更新第二指標230。
第二指標230包括用於存取快照儲存區塊之快照存取資訊、用於存取日誌儲存區塊之日誌存取資訊,及指示儲存下一個第二指標之頁位置的下一個指標。藉由此下一個指標而將第二指標230改變為鏈接清單系統中之資訊。有可能藉由自藉由根指標240指定之第二指標儲存區塊之頂頁起跟蹤下一個指標而到達最新之第二指標230。代替鏈接清單系統,可以一次寫入之方式以自第二指標儲存區之頂頁起之次序儲存第二指標230。指示日誌220之頂位址之指標可儲存於快照210中。第二指標230可僅包括指示快照210之頂位址之指標。
根指標240儲存於根指標儲存區塊中。根指標240為用於存取儲存有作為第一指標之第二指標230之第二指標儲存區塊的資訊且為當起動記憶體系統10時在用於恢復管理資訊之處理中首先讀取之資訊。當第二指標儲存區塊改變時,第一根指標240改變。根指標240(例如)以一次寫入之方式以自區塊之頂頁起之次序儲存於根指標儲存區塊中。在此種狀況下,根指標儲存區塊中緊於未經寫入之頁之前的頁具有最新資訊。因此,有可能藉由擷取未經寫入之頁之最高序頁而擷取最新之第一根指標240。如在第二指標230之狀況下,亦有可能使用鏈接清單。
根指標240儲存於「反及」記憶體12中之固定區1261中。快照210、日誌220及第二指標230儲存於「反及」記憶體12之可變區1262中。固定區1261為「反及」記憶體12中藉由邏輯「反及」管理層32管理之邏輯區塊與藉由實體「反及」管理層33管理之實體區塊之間的關係固定之受保護區且為儲存對於執行記憶體系統10為必要的具有低更新頻率(其中幾乎不發生重寫及寫入)之資訊的區。
另一方面,可變區1262為「反及」記憶體12之除固定區1261之外之區中的藉由邏輯「反及」管理層32管理之邏輯區塊與藉由實體「反及」管理層33管理之實體區塊之間的關係可變之區。可變區1262為作為磨損調平之目標之區。
驅動控制單元14之功能、資料管理單元141之功能組態及其類似者與第一實施例(參看圖10及圖11)中的彼等功能、功能組態及其類似者相同。管理資訊管理單元152包括管理資訊寫入單元153及管理資訊儲存單元154。當根據由資料傳送處理單元151進行的針對儲存於DRAM 11或「反及」記憶體12中之資料之改變處理而使得儲存於DRAM 11中之管理資訊之更新有必要時,管理資訊寫入單元153執行該管理資訊之更新。
當記憶體系統10滿足預定條件時,管理資訊儲存單元154在「反及」記憶體12之管理資訊儲存區126中將管理資訊儲存為快照210且將管理資訊中待更新之資訊儲存為日誌220。管理資訊儲存單元154亦執行根據快照210或日誌220之儲存為所需的指標更新處理。
舉例而言,當滿足下文作為實例所解釋的以下快照儲存條件中之任一者時,由管理資訊儲存單元154執行快照210之儲存:
(1)接收到待用信號(用於最小化記憶體系統10之主體之功率消耗的指令)、休眠信號(用於當在預定時間期間不存在存取時使裝置停止的指令),或重設信號(用於重新起動記憶體系統10之指令),及
(2)「反及」記憶體12之管理資訊儲存區126中經提供用於儲存日誌220之日誌儲存區變得填滿資料,管理資訊儲存單元154儲存日誌220之時機為由管理資訊寫入單元153執行儲存於DRAM 11中之管理資訊(非揮發性表)之更新的時間(當「反及」記憶體12中之資料寫入為必要時)。
當接通記憶體系統10之電源時,管理資訊恢復單元155基於儲存於「反及」記憶體12之管理資訊儲存區126中之管理資訊儲存資訊而執行針對管理資訊之恢復處理。具體言之,管理資訊恢復單元155按次序追蹤根指標240、第二指標230、快照210及日誌220且判定是否存在對應於最新之快照210之日誌220。當不存在日誌220時,管理資訊恢復單元155在DRAM 11中恢復快照儲存區塊之快照210作為管理資訊。當存在日誌220時,管理資訊恢復單元155自快照儲存區塊獲取快照210,自日誌儲存區塊獲取日誌220,且在DRAM 11上執行管理資訊(非揮發性表)之恢復(將日誌220反映於快照210上)。在此點上,因為很可能記憶體系統10由於短時中斷或其類似者而不正常結束而是異常結束,所以管理資訊恢復單元155適當地執行包括記憶體系統10之結束之判定的管理資訊之恢復。
如快照儲存條件之(1)中所解釋,當記憶體系統10接收到待用、休眠或重設信號時,可將記憶體系統10設定為使用管理資訊儲存單元154來儲存快照210。換言之,可將記憶體系統10設定為在每次記憶體系統10接收到待用、休眠或重設信號時再次取得快照210且此後轉移至指定狀態(待用、休眠,或重設狀態)。當以此方式設定記憶體系統10時,有可能在重新起動期間僅基於快照210而恢復管理資訊且不必要參考日誌220。因此,有可能減少起動時間。
另一方面,若在每次接收到待用、休眠或重設信號時(例如,當緊於在某點處儲存快照210之後接收到待用信號或其類似者時)再次取得快照210,則出現在信號接收期間所儲存之日誌220之日誌長度(大小)十分短的情形。在此種狀況下,不管僅存在自於接收待用信號或其類似者之前所儲存之快照210的小改變之事實,再次取得快照210。因此,不管內容僅更新少許之事實執行快照210之寫入且寫入效率降低。因為快照210為非揮發性表之內容,所以快照210之大小為大的。因此,快照210之寫入花費時間且轉移至指定狀態花費時間長。儘管快照之大小為(例如)8MB,但作為差異資訊而獲取之日誌之大小為頁大小(4KB)。
另外,若總是在每次接收到待用、休眠或重設信號時再次取得快照210,則由於在寫入之前執行的區塊之抹除而使得「反及」記憶體12中之惡化更加嚴重。以此方式,在使用「反及」記憶體12之記憶體系統10中,因為在每次接收到待用信號或其類似者時再次取得快照210,所以存在一歸因於「反及」記憶體12之特性之問題(除直至轉移至指定狀態之等待時間長的特性之外,記憶體系統10之耐久壽命減小)。
因此,在第二實施例中,當接收到待用、休眠或重設信號時,有可能選擇再次取得快照210且轉移至指定狀態或在不再次取得快照210之情況下轉移至指定狀態。具體言之,管理資訊儲存單元154接收待用信號或其類似者且根據(例如)日誌220是否儲存於管理資訊儲存區126中且當儲存日誌220時根據日誌220之日誌長度(大小)而執行至該等轉移類型中之任一者的切換。
圖19A為當接收到待用信號時在不再次取得快照之情況下轉移至待用狀態之時序圖且圖19B為當接收到待用信號時在再次取得快照之後轉移至待用狀態的時序圖。在圖19A及圖19B中,展示待用信號作為一實例。然而,相同內容在休眠信號及重設信號中適用。
在圖19A中所展示之情形中,因為滿足快照儲存條件之條件(2),所以獲取快照210,且隨後根據非揮發性表之內容之更新而依序地獲取日誌51-1至51-n(其中「n」為等於或大於1之整數)。以一次寫入之方式以頁單位將日誌51-1至51-n依序地寫入日誌儲存區塊中且將其儲存為日誌220。圖20為日誌以頁單位儲存於日誌儲存區塊中之狀態的圖。在圖20中,在圖18中所展示之組件當中,出於簡單起見僅展示第二指標230、快照210及日誌220。日誌220包括以一次寫入之方式自頂頁至n頁順序寫入日誌儲存區塊中之日誌51-1至51-n。
另外,在儲存日誌51-n之後,儘管產生待用信號,但管理資訊儲存單元154在不再次取得快照之情況下轉移至待用狀態(發生待用)。當釋放待用時,記憶體系統10自待用狀態起動。管理資訊恢復單元155自管理資訊儲存區126之快照儲存區塊獲取快照210,自管理資訊儲存區126之日誌儲存區塊獲取日誌220,且在DRAM 11上恢復管理資訊(非揮發性表)(將日誌220反映於快照210上)。
在圖19B中,快照210及日誌51-1至51-n之儲存及待用信號之產生與圖19A中所展示之情況相同。然而,管理資訊儲存單元154在產生待用信號之後再次取得快照55。當儲存快照55時,更新第二指標230。第二指標230指示快照55之頂位址且指示重新鎖定之針對快照55之日誌儲存區塊的頂位址。當管理資訊儲存單元154再次取得快照55時,管理資訊儲存單元154立即轉移至待用狀態(發生待用)。因此,日誌不儲存於針對快照55之日誌儲存區塊中。當釋放待用時,記憶體系統10自待用狀態起動。管理資訊恢復單元155自管理資訊儲存區126之快照儲存區塊獲取快照55且在DRAM 11上基於快照55而恢復管理資訊(非揮發性表)。
在第二實施例中,管理資訊儲存單元154根據(例如)儲存於管理資訊儲存區126中之日誌220之日誌長度(大小)而執行切換。當日誌長度(大小)等於或大於預定大小時,管理資訊儲存單元154再次取得快照(圖19B)。當日誌長度(大小)小於預定大小時,管理資訊儲存單元154不再次取得快照(圖19A)。在圖19A、圖19B及圖20中,日誌220之日誌長度(大小)為日誌51-1至51-n之大小之總和且為n個頁之大小。因此,管理資訊儲存單元154可藉由比較n與切換參考頁之號碼(第n個)而執行至再次取得快照及不再次取得快照之切換。
切換參考頁之號碼(第n個)可(例如)藉由下文所解釋之方法來判定。在圖19A中,因為在產生待用信號之後不再次取得快照,所以至待用狀態之轉移時間短。另一方面,在釋放待用之後的管理資訊之恢復期間,除快照210之外,有必要讀出日誌51-1至51-n。當n較大時,恢復需要較長時間。相反地,當n足夠小時,用於基於快照210及日誌51-1至51-n而恢復管理資訊之時間與用於基於快照55(圖19B)而恢復管理資訊之時間之間的差異小。因此,當n較小時,對圖19A中所展示之狀況的選擇係有利的。
一般而言,記憶體系統10之起動時間視系統之規格而定。因此,當因為n大而使得恢復花費時間且起動時間超過系統之規格時,不可選擇圖19A中所展示之狀況。換言之,切換參考頁之號碼(第n個)為使得滿足以下情況之值:當n小於此值時,圖19A中所展示之狀況下之起動時間滿足系統之規格。
在圖19B中,在產生待用信號之後再次取得快照55。因此,除至待用狀態之轉移時間長之事實之外,由於用於快照55之寫入時間,使得當n小時寫入效率降低。因此,可稱:當n較大時,對圖19B中所展示之狀況的選擇係有利的。因此,亦考慮圖19A之中所展示之狀況,當n等於或大於切換參考頁之號碼(第n個)時,較佳選擇圖19B中所展示之狀況。
圖21為用於解釋管理資訊儲存單元154在待用、休眠或重設期間之操作的流程圖。
管理資訊儲存單元154判定待用、休眠或重設信號中之任一者之存在或不存在(步驟S21)。當不存在待用、休眠或重設信號之輸入時(步驟S21處為否),管理資訊儲存單元154執行其他處理(步驟S22)且返回至步驟S21。當在步驟S21處判定輸入待用、休眠或重設信號中之任一者時(步驟S21處為是),管理資訊儲存單元154判定日誌長度是否等於或大於預定大小(步驟S23)。當判定日誌長度等於或大於預定大小時(步驟S23處為是),管理資訊儲存單元154取得新快照(步驟S24)且完成處理。當判定日誌長度小於預定大小時(步驟S23處為否),管理資訊儲存單元154在不取得新快照之情況下完成處理。此後,記憶體系統10改變至對應於待用、休眠或重設信號之狀態。
根據第二實施例,當接收到待用、休眠或重設信號時,管理資訊儲存單元154判定日誌長度是否等於或大於預定大小且判定再次取得快照並轉移至指定狀態或在不再次取得快照之情況下轉移至指定狀態。因此,因為不必要在每次接收到待用、休眠或重設信號時再次取得快照,所以有可能減小在「反及」記憶體12中之寫入之次數且抑制「反及」記憶體12之耐久壽命減小。亦存在一效應:有可能減小由管理資訊恢復單元155進行的管理資訊之恢復之時間。
在上述解釋中,DRAM 11中之資料管理單位為頁大小單位,「反及」記憶體12中之資料寫入及讀出單位為頁大小單位,且抹除單位及管理單位為區塊大小單位。然而,此並不意謂資料管理單位、資料寫入及讀出單位及抹除單位及管理單位限於此等大小單位。任意單位可用作資料管理單位、資料寫入及讀出單位及抹除單位及管理單位。
電荷累積層不限於浮動閘型且可為包括諸如MONOS(金屬-氧化物-氮化物-氧化物-半導體)結構之氮化矽薄膜及其他系統的電荷收集型。
如上文所解釋,根據本發明,存在一效應:有可能消除在自電源之異常隔離重設之後日誌損毀的似然性且改良管理資訊之可靠性。
根據本發明,當接收到待用、休眠或重設信號時,有可能在不再次取得快照之情況下轉移至指定狀態且此後返回至轉移之前之狀態。因此,存在一效應:不必要在每次接收到待用、休眠或重設信號時取得快照且有可能減小在可儲存多值資料之記憶體單元中之寫入之次數並抑制記憶體單元之耐久壽命減小。
熟習此項技術者將容易想到額外優點及修改。因此,較廣態樣中之本發明不限於本文中所展示並描述之特定細節及代表性實施例。因此,可在不偏離如藉由隨附申請專利範圍及其均等物界定之一般發明概念之精神或範疇的情況下進行各種修改。
10...記憶體系統
11...DRAM(動態隨機存取記憶體)
12...「反及」快閃記憶體/「反及」記憶體
13...電源電路
14...驅動控制單元
15A...匯流排
15B...匯流排
15C...匯流排
15D...匯流排
31...DRAM管理層
32...邏輯「反及」管理層
33...實體「反及」管理層
41...快取管理資訊
42...邏輯「反及」管理資訊
42a...邏輯頁管理資訊
42b...邏輯區塊管理資訊
43...「反及」內邏輯-實體轉換資訊
51-1~51-n...日誌
55...快照
111...暫時儲存區
112...工作區
120A...通道
120B...通道
120C...通道
120D...通道
121...封裝
122...碼片
125...資料儲存區
126...管理資訊儲存區
141...資料管理單元
142...ATA命令處理單元
143...安全管理單元
144...啟動載入器
145...初始化管理單元
146...除錯支援單元
151...資料傳送處理單元
152...管理資訊管理單元
153...管理資訊寫入單元
154...管理資訊儲存單元
155...管理資訊恢復單元
210...快照
220...日誌
220A...更新前日誌/前日誌
220B...更新後日誌/後日誌
230...第二指標
240...根指標/第一根指標
1261...固定區
1262...可變區
BL0~BLm...位元線
BLK...區塊
MT0~MTn...記憶體單元電晶體/記憶體電晶體
NS...「反及」串
RC...讀取快取區
SGD...選擇閘極線
SGS...選擇閘極線
SL...源極線
ST1...選擇電晶體
ST2...選擇電晶體
WC...寫入快取區
WL0~WLn...字線
x1...日誌
y1...日誌/資訊
y2...資訊
z1...日誌
圖1為根據本發明之實施例之記憶體系統的組態之實例之方塊圖;
圖2為「反及」記憶體之任意區塊之組態的實例之電路圖;
圖3A為DRAM之功能組態的示意圖且圖3B為「反及」記憶體之功能組態的示意圖;
圖4為用於管理儲存於記憶體系統中之資料之層結構的實例之圖;
圖5為快取管理資訊表之實例的圖;
圖6為邏輯「反及」管理資訊表之實例的圖;
圖7為「反及」內邏輯-實體轉換資訊表之實例的圖;
圖8為儲存於管理資訊儲存區中之管理資訊儲存資訊之內容的實例之示意圖;
圖9描繪日誌之實例;
圖10為圖1中所展示之驅動控制單元之功能組態的實例之方塊圖;
圖11為圖10中所展示之資料管理單元之功能組態的實例之方塊圖;
圖12為針對記憶體系統之管理資訊之儲存處理程序的實例之流程圖;
圖13為用於解釋針對前日誌及後日誌之儲存處理的圖;
圖14為針對記憶體系統之管理資訊之恢復處理程序的實例之流程圖;
圖15A至圖15D為記憶體單元中之資料與記憶體單元之臨限電壓之間的關係及「反及」記憶體中之寫入之次序的實例之圖;
圖16A至圖16D為用於解釋用於管理資訊之恢復之日誌的選擇方法之圖(1);
圖17E至圖17G為用於解釋用於管理資訊之恢復之日誌的選擇方法之圖(2);
圖18為儲存於管理資訊儲存區中之管理資訊儲存資訊之內容的另一實例之示意圖;
圖19A及圖19B為當接收到待用信號時在不再次取得快照之情況下轉移至待用狀態及在再次取得快照之後轉移至待用狀態的流程圖;
圖20為日誌以頁單位儲存於日誌儲存區塊中之狀態的圖;及
圖21為用於解釋圖11中所說明之管理資訊儲存單元在待用、休眠或重設期間之操作的流程圖。
10...記憶體系統
11...DRAM(動態隨機存取記憶體)
12...「反及」快閃記憶體/「反及」記憶體
13...電源電路
14...驅動控制單元
15A...匯流排
15B...匯流排
15C...匯流排
15D...匯流排
120A...通道
120B...通道
120C...通道
120D...通道
121...封裝
122...碼片

Claims (18)

  1. 一種儲存管理資訊之記憶體系統,其包含:非揮發性記憶體,其包含複數之記憶體單元,該等複數之記憶體單元之每一者可儲存多個位元;揮發性記憶體,其係可儲存包含儲存於該非揮發性記憶體之資料之儲存位置之管理資訊之至少一部份;及記憶體控制器,其係構成為基於儲存於該揮發性記憶體之該管理資訊,執行該非揮發性記憶體中之資料管理;其中該記憶體控制器包含:管理資訊寫入單元,其係構成為當儲存於該非揮發性記憶體之資料之該等儲存位置改變時,更新儲存於該揮發性記憶體之該管理資訊;管理資訊儲存單元,其係構成為在更新該管理資訊之前及之後將指示差異資訊之日誌儲存於該非揮發性記憶體中,該日誌包含第一日誌及第二日誌,該第一日誌係在更新該管理資訊之前產生,該第二日誌係在更新該管理資訊之後產生,且當滿足預定條件時,將該管理資訊儲存於該非揮發性記憶體中作為快照;及管理資訊恢復單元,其係構成為基於儲存於該非揮發性記憶體中之該日誌及該快照之至少一者來恢復該揮發性記憶體上之該管理資訊;其中當該記憶體系統中發生錯誤時,該管理資訊恢復單元係構成為在基於第一快照及該日誌恢復該管理資訊之 後,將恢復之管理資訊儲存於該非揮發性記憶體中作為第二快照。
  2. 如請求項1之記憶體系統,其中該管理資訊恢復單元係構成為在將該第二快照儲存於該非揮發性記憶體中之後,使該日誌無效。
  3. 如請求項1之記憶體系統,其中該管理資訊恢復單元係構成為當該記憶體系統中發生該錯誤時,基於未被該錯誤破壞之該日誌及該快照恢復該揮發性記憶體上之該管理資訊。
  4. 如請求項1之記憶體系統,其中該非揮發性記憶體包含複數之區塊,該等複數之區塊之每一者係資料抹除單元且包含複數之頁,該等複數之頁之每一者係資料程式單元;且該管理資訊儲存單元係構成為以頁單位將該日誌儲存於該等複數之區塊之每一者中。
  5. 如請求項1之記憶體系統,其中該第一日誌及該第二日誌具有彼此相同之內容。
  6. 如請求項1之記憶體系統,其中該錯誤包含該非揮發性中之程式錯誤。
  7. 如請求項1之記憶體系統,其中該錯誤包含該記憶體系統之不正常電源切斷。
  8. 如請求項1之記憶體系統,其中該揮發性記憶體係DRAM。
  9. 如請求項1之記憶體系統,其中該非揮發性記憶體係 「反及」快閃記憶體。
  10. 一種控制記憶體系統之方法,該記憶體系統儲存管理資訊,該方法包括:將資料儲存於非揮發性記憶體,該非揮發性記憶體包含複數之記憶體單元,該等複數之記憶體單元之每一者可儲存多個位元;將管理資訊之至少一部份儲存於揮發性記憶體,該管理資訊包含儲存於該非揮發性記憶體之資料之儲存位置;基於儲存於該揮發性記憶體之該管理資訊,執行該非揮發性記憶體中之資料管理;當儲存於該非揮發性記憶體之資料之該等儲存位置改變時,更新儲存於該揮發性記憶體之該管理資訊;在更新該管理資訊之前及之後將指示差異資訊之日誌儲存於該非揮發性記憶體中,該日誌包含第一日誌及第二日誌,該第一日誌係在更新該管理資訊之前產生,該第二日誌係在更新該管理資訊之後產生;當滿足預定條件時,將該管理資訊儲存於該非揮發性記憶體中作為快照;基於儲存於該非揮發性記憶體中之該日誌及該快照之至少一者來恢復該揮發性記憶體上之該管理資訊;及當該記憶體系統中發生錯誤時,在基於第一快照及該日誌恢復該管理資訊之後,將恢復之管理資訊儲存於該非揮發性記憶體中作為第二快照。
  11. 如請求項10之方法,其進一步包括:在將該第二快照儲存於該非揮發性記憶體中之後,使該日誌無效。
  12. 如請求項10之方法,其中前述恢復包括:當該記憶體系統中發生該錯誤時,基於未被該錯誤破壞之該日誌及該快照恢復該揮發性記憶體上之該管理資訊。
  13. 如請求項10之方法,其中該非揮發性記憶體包含複數之區塊,該等複數之區塊之每一者係資料抹除單元且包含複數之頁,該等複數之頁之每一者係資料程式單元;且該方法進一步包括:以頁單位將該日誌儲存於該等複數之區塊之每一者中。
  14. 如請求項10之方法,其中該第一日誌及該第二日誌具有彼此相同之內容。
  15. 如請求項10之方法,其中該錯誤包含該非揮發性中之程式錯誤。
  16. 如請求項10之方法,其中該錯誤包含該記憶體系統之不正常電源切斷。
  17. 如請求項10之方法,其中該揮發性記憶體係DRAM。
  18. 如請求項10之方法,其中該非揮發性記憶體係「反及」快閃記憶體。
TW098106248A 2008-02-29 2009-02-26 儲存管理資訊之記憶體系統及控制其之方法 TWI419161B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008051340A JP2009211196A (ja) 2008-02-29 2008-02-29 メモリシステム
JP2008051452A JP2009211213A (ja) 2008-03-01 2008-03-01 メモリシステム

Publications (2)

Publication Number Publication Date
TW200947440A TW200947440A (en) 2009-11-16
TWI419161B true TWI419161B (zh) 2013-12-11

Family

ID=41015907

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098106248A TWI419161B (zh) 2008-02-29 2009-02-26 儲存管理資訊之記憶體系統及控制其之方法

Country Status (5)

Country Link
US (9) US8443133B2 (zh)
EP (1) EP2248027A4 (zh)
CN (1) CN101681312B (zh)
TW (1) TWI419161B (zh)
WO (1) WO2009107507A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211215A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
JP2010152514A (ja) * 2008-12-24 2010-07-08 Toshiba Corp メモリシステム
KR101651204B1 (ko) 2010-06-15 2016-08-26 삼성전자주식회사 스냅샷 이미지의 동기화 장치 및 방법
IL208641A0 (en) * 2010-10-12 2010-12-30 Eci Telecom Ltd Method for accelerating start up of a computerized system
JP2012128643A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP2012128645A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
CN103092719B (zh) * 2011-10-28 2016-09-07 浙江大华技术股份有限公司 一种文件***的断电保护方法
KR101878200B1 (ko) 2012-01-09 2018-07-16 삼성전자 주식회사 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법
WO2013147894A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Solid state drive management in power loss recovery
EP2909724B1 (en) * 2012-10-19 2019-11-27 Hewlett-Packard Enterprise Development LP Asyncrhonous consistent snapshots in persistent memory stores
US9772907B2 (en) * 2013-09-13 2017-09-26 Vmware, Inc. Incremental backups using retired snapshots
US9514002B2 (en) 2013-09-13 2016-12-06 Vmware, Inc. Incremental backups using retired snapshots
CN106158026A (zh) * 2015-04-09 2016-11-23 旺宏电子股份有限公司 存储装置与其操作方法
US20170017420A1 (en) 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Enabling High Read Rates To Data Element Lists
US20170017414A1 (en) 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Implementing Hierarchical Distributed-Linked Lists For Network Devices
US20170017567A1 (en) 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Implementing Distributed-Linked Lists For Network Devices
US20170017419A1 (en) 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Enabling High Read Rates To Data Element Lists
JP6538597B2 (ja) * 2016-03-14 2019-07-03 東芝メモリ株式会社 記憶装置
JP6708929B2 (ja) * 2016-08-15 2020-06-10 富士通株式会社 ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US10514867B2 (en) 2016-11-10 2019-12-24 Western Digital Technologies, Inc. System and methodology that facilitates error management within a shared non-volatile memory architecture
US10254982B2 (en) * 2016-11-10 2019-04-09 Western Digital Technologies, Inc. System and methodology for low latency error management within a shared non-volatile memory architecture
US20180157700A1 (en) * 2016-12-06 2018-06-07 International Business Machines Corporation Storing and verifying event logs in a blockchain
US10248906B2 (en) * 2016-12-28 2019-04-02 Intel Corporation Neuromorphic circuits for storing and generating connectivity information
US10541032B2 (en) 2017-05-10 2020-01-21 Micron Technology, Inc. Responding to power loss
US11100996B2 (en) 2017-08-30 2021-08-24 Micron Technology, Inc. Log data storage for flash memory
US11301433B2 (en) * 2017-11-13 2022-04-12 Weka.IO Ltd. Metadata journal in a distributed storage system
US10725675B2 (en) * 2018-03-19 2020-07-28 Kabushiki Kaisha Toshiba Management apparatus, information processing apparatus, management method, and computer program product
CN111581024A (zh) * 2020-05-06 2020-08-25 深圳忆联信息***有限公司 Ssd日志的动态备份恢复方法、装置和计算机设备
CN111949220B (zh) * 2020-09-03 2023-12-08 合肥沛睿微电子股份有限公司 存储设备异常断电恢复方法及存储设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999032977A1 (fr) * 1997-12-22 1999-07-01 Tdk Corporation Systeme de memoire flash
JP2004192789A (ja) * 2002-11-29 2004-07-08 Toshiba Corp 半導体記憶装置
US20040267835A1 (en) * 2003-06-30 2004-12-30 Microsoft Corporation Database data recovery system and method
JP2005242897A (ja) * 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd フラッシュディスク装置
US20060224636A1 (en) * 2005-04-05 2006-10-05 Microsoft Corporation Page recovery using volume snapshots and logs
JP2007179347A (ja) * 2005-12-28 2007-07-12 Exa Corp プログラム検証支援システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3666344B2 (ja) 2000-03-07 2005-06-29 ヤマハ株式会社 電子機器
KR100390853B1 (ko) * 2000-06-07 2003-07-10 차상균 주 메모리 트랜잭션 처리 시스템에서 병렬적 회복 연산을 위한 디퍼런셜 로깅 방법 및 장치
JP3896077B2 (ja) * 2002-09-11 2007-03-22 株式会社東芝 計算機システムおよびファイル管理方法
US6981114B1 (en) * 2002-10-16 2005-12-27 Veritas Operating Corporation Snapshot reconstruction from an existing snapshot and one or more modification logs
JP2005115857A (ja) * 2003-10-10 2005-04-28 Sony Corp ファイル記憶装置
JP4248510B2 (ja) * 2005-03-24 2009-04-02 株式会社東芝 計算機システム、ディスク装置およびデータ更新制御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999032977A1 (fr) * 1997-12-22 1999-07-01 Tdk Corporation Systeme de memoire flash
US6591329B1 (en) * 1997-12-22 2003-07-08 Tdk Corporation Flash memory system for restoring an internal memory after a reset event
JP2004192789A (ja) * 2002-11-29 2004-07-08 Toshiba Corp 半導体記憶装置
US7315471B2 (en) * 2002-11-29 2008-01-01 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
US20040267835A1 (en) * 2003-06-30 2004-12-30 Microsoft Corporation Database data recovery system and method
JP2005242897A (ja) * 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd フラッシュディスク装置
US20060224636A1 (en) * 2005-04-05 2006-10-05 Microsoft Corporation Page recovery using volume snapshots and logs
JP2007179347A (ja) * 2005-12-28 2007-07-12 Exa Corp プログラム検証支援システム

Also Published As

Publication number Publication date
US20210232326A1 (en) 2021-07-29
US10996868B2 (en) 2021-05-04
US20180373447A1 (en) 2018-12-27
CN101681312B (zh) 2012-05-23
EP2248027A4 (en) 2011-05-18
US9582370B2 (en) 2017-02-28
US20130227208A1 (en) 2013-08-29
WO2009107507A1 (en) 2009-09-03
US20150370646A1 (en) 2015-12-24
US20140372688A1 (en) 2014-12-18
TW200947440A (en) 2009-11-16
US20230168815A1 (en) 2023-06-01
US11972115B2 (en) 2024-04-30
US11573712B2 (en) 2023-02-07
US20190347016A1 (en) 2019-11-14
US20170131929A1 (en) 2017-05-11
US9164896B2 (en) 2015-10-20
EP2248027A1 (en) 2010-11-10
US8850107B2 (en) 2014-09-30
US10067698B2 (en) 2018-09-04
CN101681312A (zh) 2010-03-24
US8443133B2 (en) 2013-05-14
US10379762B2 (en) 2019-08-13
US20110185106A1 (en) 2011-07-28

Similar Documents

Publication Publication Date Title
TWI419161B (zh) 儲存管理資訊之記憶體系統及控制其之方法
TWI418983B (zh) 記憶體系統及控制記憶體系統之方法
TWI419159B (zh) 記憶體系統
US8108594B2 (en) Memory system
US20100138591A1 (en) Memory system
KR101103201B1 (ko) 메모리 시스템
JP2009211188A (ja) メモリシステム
JP2009211213A (ja) メモリシステム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees