CN101681312A - 存储器系统 - Google Patents
存储器系统 Download PDFInfo
- Publication number
- CN101681312A CN101681312A CN200980000131A CN200980000131A CN101681312A CN 101681312 A CN101681312 A CN 101681312A CN 200980000131 A CN200980000131 A CN 200980000131A CN 200980000131 A CN200980000131 A CN 200980000131A CN 101681312 A CN101681312 A CN 101681312A
- Authority
- CN
- China
- Prior art keywords
- daily record
- snapshot
- management information
- storage unit
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
Abstract
一种存储器系统包括管理信息恢复单元。该管理信息恢复单元参考在NAND存储器中的前日志和后日志来判定是否发生了短时中断。当前日志或后日志存在于NAND存储器中时,该管理信息恢复单元判定发生了短时中断。在这种情况下,管理信息恢复单元判定发生短时中断的时机,并且,在选择前日志或后日志用于恢复之后,管理信息恢复单元执行管理信息的恢复,将这些日志反映在快照上。此后,管理信息恢复单元对NAND存储器中的所有一次写入块应用恢复处理,再次取得快照,并且打开过去的快照和日志。
Description
技术领域
本发明涉及一种使用非易失性半导体存储装置的存储器系统。
背景技术
一些个人计算机(PC)使用硬盘装置作为次级存储装置。在这些PC中,已知这样的技术,该技术用于备份已存储在硬盘装置中的数据以防止数据由于某些故障而变得无效。例如,当检测到改变硬盘装置中的数据的动作时,取得一快照作为改变之前的数据的备份复本,并且产生对数据所进行的改变的日志。接着,每隔预定时间重复以下处理:取得一新快照,使过去在取得新快照之前而取得的日志无效,并且产生新日志(例如,参见美国专利申请公开No.2006/0224636号)。在数据由于某一原因而变得无效的情况下,可通过参考快照和日志而恢复数据。
近年来,作为非易失性半导体存储装置的NAND闪速存储器的容量已显著增加。结果,包括具有NAND闪速存储器作为次级存储装置的存储器系统的PC已投入实际使用。然而,不能像在存储于具有硬盘装置作为次级存储装置的个人计算机中的数据的备份的情况下一样地将美国专利申请公开No.2006/0224636中所公开的技术应用于具有NAND闪速存储器作为次级存储装置的这种个人计算机中存储的数据的备份。这是因为使用多值存储器技术来增加NAND闪速存储器的容量,该多值存储器技术可将等于或大于2个位的多个数据(多值数据)存储在一个存储器基元(memory cell)中。
配置多值存储器的存储器基元具有场效晶体管结构,该场效晶体管结构具有层叠的栅极结构,其中栅极绝缘膜、浮动栅电极、栅极间绝缘膜和控制栅电极依次层叠在沟道区域上,且可根据累积在浮动栅电极中的电子的数目而设定多个阈值电压。为了使得可以基于该多个阈值电压而执行多值存储,需要使与一个数据对应的阈值电压的分布极窄。
例如,关于可存储四个值的多值存储器,存在这样的多值存储器,其在一个存储器基元中包括一较低位的页(lower-order page)和一较高位的页(higher-order page),且通过在各页中写入1位数据而存储2个位(四个值)。在将数据写入这种多值存储器中的方法中,在将数据写入第一存储器基元的较低位页中之后,将数据写入与第一存储器基元邻近的存储器基元(第二存储器基元)的较低位页中。在将数据写入该邻近的存储器基元中之后,将数据写入第一存储器基元的较高位页中(例如,参见JP-A2004-192789(KOKAI))。
然而,在这种多值存储器中,数据被较早写入其中的第一存储器基元的阈值电压由于数据被较晚写入其中且与第一存储器基元邻近的第二存储器基元的阈值电压而波动。因此,在多值存储器中,很可能发生较低位页中断(break),其中如果在将数据写入某一存储器基元的较高位页中时由于例如电源的异常隔离而暂时中止写入,则数据被较早写入其中的较低位页中的数据也中断。
因此,在使用NAND闪速存储器的个人计算机中,例如,当存储器系统由于电源的异常隔离等等而复位时,有必要通过辨别在日志的写入期间中止的时机(timing)(或者说,何时中止写入)、辨别日志中断的存在或不存在,以及选择未受到该中止影响的日志且在快照中反映该日志,来将存储器系统复位为异常隔离发生之前的状态。然而,即使执行了这种恢复处理,中断的日志仍存在。因此,存在的问题在于,不能消除在复位之后错误地读取已中断的日志的可能性,且不能确保存储器系统的可靠性。
在具有NAND闪速存储器的存储器系统中,当存储数据时,有必要例如以被称为块的单位一次擦除写入区且此后以被称为页的单位执行写入。另一方面,当存储数据时,有必要以例如被称为块的单位一次擦除写入区且接着以被称为页的单位执行写入。另一方面,存在的问题在于,随着在这样的数据写入之前执行的针对块的擦除的次数增加,配置该块的存储器基元中的损耗恶化。换句话说,各个块的可重写次数存在限制。因此,为了延长存储器系统的耐用寿命,必需抑制块的擦除次数。作为对抗该问题的一种措施,例如,执行被称为磨损均化(wear leveling)的处理,其用于尽可能均等地分散数据的更新部分,以使存储器系统中的所有块的擦除次数基本均等。
当在个人计算机等等中产生用于待机、睡眠或复位的信号时,在用于存储快照和日志的常规方法中,在存储器系统改变为指定状态之前取得快照。例如,当接收到待机信号时,通过再次取得快照而存储与存储器系统有关的管理信息。随后,存储器系统改变为待机状态。在存储器系统从待机状态复位之后,通过使用所存储的快照来恢复管理信息。基于该管理信息将存储器系统恢复到改变为待机状态之前的状态。
当将每次接收到待机信号或类似的信号时都再次取得快照的方法应用于具有NAND闪速存储器的存储器系统时,存在的问题在于,根据获取快照的次数的增加,存储器系统的耐用寿命缩短。这是因为,在获取快照时,由于首先擦除作为用于管理信息的存储区的块,然后将管理信息写入该块中,存储器基元通过该块的擦除而劣化。当在接收到待机信号或类似的信号且再次取得快照之后存储器基元改变为待机状态时,由于产生快照要花费时间,存在的问题在于,直到改变为待机状态或类似的状态为止的等待时间很长。
发明内容
根据本发明的一方面,提供一种存储器系统,包括:易失性第一存储单元;非易失性第二存储单元,其包括可存储多值数据的存储器基元;以及控制器,其通过所述第一存储单元而执行在主机设备与所述第二存储单元之间的数据传送,将管理信息存储在所述第一存储单元中,且在更新所存储的管理信息时基于所存储的管理信息而执行所述第一和第二存储单元中的数据管理,其中所述管理信息包括在所述存储器系统的启动操作期间存储在所述第二存储单元中的数据的存储位置。所述控制器包括:管理信息存储单元,其在满足预定条件时将存储在所述第一存储单元中的管理信息存储在所述第二存储单元中作为快照,且在所述第二存储单元中存储日志作为所述管理信息的更新差异信息;以及管理信息恢复单元,当在开始所述启动操作时所述日志存在于所述第二存储单元中时,在基于所述快照和所述日志而执行所述第一存储单元中的管理信息的恢复之后,所述管理信息恢复单元再次取得快照且将所述快照存储在所述第二存储单元中。
根据本发明的另一方面,提供一种存储器系统,包括:易失性第一存储单元;非易失性第二存储单元,其包括可存储多值数据的存储器基元;以及控制器,其通过所述第一存储单元而执行在主机设备与所述第二存储单元之间的数据传送,将管理信息存储在所述第一存储单元中,且在更新所存储的管理信息时基于所存储的管理信息而执行所述第一和第二存储单元中的数据管理,其中所述管理信息包括在所述存储器系统的启动操作期间存储在所述第二存储单元中的数据的存储位置。所述控制器包括:管理信息存储单元,其在满足预定条件时将存储在所述第一存储单元中的管理信息存储在所述第二存储单元中作为快照,且在所述第二存储单元中存储日志作为所述管理信息的更新差异信息;以及管理信息恢复单元,当在开始所述启动操作时所述日志存在于所述第二存储单元中时,所述管理信息恢复单元基于所述快照和所述日志而执行所述第一存储单元中的管理信息的恢复,并且当在开始所述起动操作时所述日志不存在于所述第二存储单元中时,所述管理信息恢复单元基于所述快照而执行所述第一存储单元中的管理信息的恢复。当接收到选自待机信号、睡眠信号和复位信号当中的信号时,所述管理信息存储单元判定在改变为由所述信号指定的指定状态之前是否应当再次取得所述快照。
附图说明
图1是根据本发明的实施例的存储器系统的配置的实例的框图;
图2是NAND存储器的任意块的配置的实例的电路图;
图3A是DRAM的功能配置的示意图,且图3B是NAND存储器的功能配置的示意图;
图4是用于管理存储器系统中存储的数据的层结构的实例的图;
图5是高速缓冲存储器管理信息表的实例的图;
图6是逻辑NAND管理信息表的实例的图;
图7是NAND内逻辑-物理转换信息表的实例的图;
图8是管理信息存储区中存储的管理信息存储信息的内容的实例的示意图;
图9描绘日志的实例;
图10是图1中所示的驱动控制单元的功能配置的实例的框图;
图11是图10中所示的数据管理单元的功能配置的实例的框图;
图12是对存储器系统的管理信息的存储处理过程的实例的流程图;
图13是用于解释对前日志(pre-log)和后日志(post-log)的存储处理的图;
图14是对存储器系统的管理信息的恢复处理过程的实例的流程图;
图15A至图15D是存储器基元中的数据与存储器基元的阈值电压之间的关系以及NAND存储器中的写入的顺序的实例的图;
图16A至图16D是用于解释用于管理信息的恢复的日志的选择方法的图(1);
图17E至图17G是用于解释用于管理信息的恢复的日志的选择方法的图(2);
图18是管理信息存储区中存储的管理信息存储信息的内容的另一实例的示意图;
图19A和19B是在接收到待机信号时改变为待机状态而不再次取得快照以及在再次取得快照之后改变为待机状态的时序图;
图20是其中在日志存储块中以页为单位存储日志的状态的图;以及
图21是用于解释在待机、睡眠或复位期间在图11中所示例的管理信息存储单元的操作的流程图。
具体实施方式
下面参考附图详细地解释根据本发明的存储器系统的示例性实施例。本发明不受此实施例限制。
第一实施例
根据本发明的第一实施例的存储器系统包括非易失性半导体存储装置,且用作诸如个人计算机的主机设备的次级存储装置(SSD:固态驱动器)。存储器系统具有存储主机设备请求写入的数据和读出主机设备请求读出的数据并将数据输出至主机设备的功能。图1是根据本发明的第一实施例的存储器系统10的配置的实例的框图。该存储器系统10包括作为第一存储单元的DRAM(动态随机存取存储器)11、作为第二存储单元的NAND闪速存储器(在下文中为“NAND存储器”)12、电源电路13,以及驱动控制单元14。
DRAM 11用作用于数据传送、管理信息记录或工作区的存储单元。具体地,当DRAM 11用作用于数据传送的存储单元时,DRAM 11用于在数据被写入NAND存储器12中之前暂时存储主机设备请求写入的数据,且DRAM 11用于从NAND存储器12读出主机设备请求读出的数据且暂时存储所读取的数据。当DRAM 11用作用于管理信息记录的存储单元时,DRAM 11用于存储管理信息,该管理信息用于管理在DRAM 11和NAND存储器12中存储的数据的存储位置。当DRAM 11用作用于工作区的存储单元时,DRAM 11用于,例如,在恢复管理信息时所使用的前日志和后日志(更新前日志和更新后日志)的扩展期间。
NAND存储器12用作用于将数据存储于其中的存储单元。具体地,NAND存储器12将由主机设备指定的数据存储在其中,且将由DRAM 11管理的管理信息存储在其中以用于备份。在图1中,作为实例示出了包括四个通道120A至120D的NAND存储器12。这些通道120A至120D中的每一个包括两个封装121,每一个封装包括具有预定大小(例如,2GB)的存储容量的八个芯片122。通过驱动控制单元14和总线15A至15D而连接通道120A至120D。
电源电路13接收外部电源且从外部电源产生待供应至存储器系统10的各单元的多个内部电源。电源电路13检测外部电源的状态,即,上升沿或下降沿,基于所检测的状态而产生通电复位信号,且将通电复位信号输出至驱动控制单元14。
驱动控制单元14控制DRAM 11和NAND存储器12。如稍后详细解释的,例如,驱动控制单元14根据来自电源电路13的通电复位信号执行对管理信息的恢复处理和对管理信息的存储处理。驱动控制单元14通过ATA接口(I/F)而将数据传输至主机设备和从主机设备接收数据,且通过RS232C I/F而将数据传输至除错设备和从除错设备接收数据。此外,驱动控制单元14输出控制信号,该控制信号用于控制在存储器系统10的外部上设置的用于状态显示的LED的接通/断开。
下面详细解释NAND存储器12的配置。通过在基板上将多个块(擦除单位区)排成阵列而配置NAND存储器12,其中该多个块为数据擦除的单位。图2为NAND存储器12的任意块的配置的实例的电路图。在图2中,将左右方向设定为X方向,且将垂直于X方向的方向设定为Y方向。
NAND存储器12的每个块BLK包括沿着X方向依次排成阵列的(m+1)(m为等于或大于0的整数)个NAND串NS。每个NAND串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分别连接至每个NAND串NS的存储器基元晶体管MT0至MTn的控制栅电极。NAND串NS中的每一个中的存储器基元晶体管MTi(i=0至n)通过同一字线(i=0至n)而共同连接。换句话说,在块BLK中的同一行上存在的存储器基元晶体管MTi的控制栅电极连接至同一字线WLi。连接至同一字线WLi的(m+1)个存储器基元晶体管MTi的群组为形成一个页的单位。在NAND存储器12中,以该页单位来执行数据的写入和读出。
位线BL0至BLm分别连接至一个块BLK中的(m+1)个选择晶体管ST1的漏极。选择栅极线SGD共同地连接至每个NAND串NS的选择晶体管ST1的栅极。选择晶体管ST1的源极连接至存储器基元晶体管MT0的漏极。类似地,源极线SL共同地连接至一个块BLK中的(m+1)个选择晶体管ST2的源极。选择栅极线SGS共同地连接至每个NAND串NS的选择晶体管ST2的栅极。选择晶体管ST2的漏极连接至存储器基元晶体管MTn的源极。
尽管未在图中示出,但一个块BLK中的位线BLj(j=0至m)将选择晶体管ST1的漏极共同连接在其它块BLK的位线BLj之间。换句话说,块BLK中的同一列中的NAND串NS通过同一位线BLj而连接。
接下来解释DRAM 11和NAND存储器12的功能配置。图3A为DRAM 11的功能配置的示意图,且图3B为NAND存储器12的功能配置的示意图。如图3A中所示,DRAM 11包括写入高速缓冲存储器区、读取高速缓冲存储器区RC、暂时存储区111、以及当恢复管理信息时使用的工作区112,在该写入高速缓冲存储器区中存储有主机设备请求写入的数据,在该读取高速缓冲存储器区RC中存储有主机设备请求读出的数据,在该暂时存储区111中存储有用于管理存储在DRAM 11和NAND存储器12中的数据的存储位置的管理信息。
如图3B中所示,NAND存储器12包括数据存储区125和管理信息存储区126,在该数据存储区125中存储有主机设备请求写入的数据,在该管理信息存储区126中存储有在DRAM 11的暂时存储区111中所管理的管理信息。在该实例中,将NAND存储器12中的数据写入和读出单位设定为页大小的单位。将擦除单位设定为块大小的单位。因此,将用于存储以块大小的单位管理的NAND存储器12的各个块的区进一步划分成页大小单位的区。
下面解释在DRAM 11的暂时存储区111中所管理的管理信息。图4为用于管理存储在存储器系统10中的数据的层结构的实例的图。此处假定:该数据为主机设备请求写入或读出的数据。在存储器系统10中,通过以下的三层结构来执行数据管理:DRAM管理层31、逻辑NAND管理层32,以及物理NAND管理层33。DRAM管理层31执行起高速缓冲存储器作用的DRAM 11中的数据管理。逻辑NAND管理层32执行NAND存储器12中的逻辑数据管理。物理NAND管理层33执行NAND存储器12中的物理数据管理、NAND存储器12的寿命延长处理等。
在DRAM 11的写入高速缓冲存储器区WC和读取高速缓冲存储器区RC中,通过主机设备的地址管理方法所管理的逻辑地址(在下文中为“LBA(逻辑块地址)”)所指定的数据被存储在DRAM 11上的预定范围中的物理地址(在下文中为“DRAM内物理地址”)中。DRAM管理层31中的数据通过高速缓冲存储器管理信息41来管理,该高速缓冲存储器管理信息41包括将要存储的数据的LBA与DRAM内物理地址之间的对应关系和指示数据在页中的扇区大小的单位中的存在或不存在的扇区标志。
图5以表状方式示例高速缓冲存储器管理信息41的实例。高速缓冲存储器管理信息41为用于DRAM 11的一个页大小的一个区的一个条目。条目的数目等于或小于适合写入高速缓冲存储器区WC和读取高速缓冲存储器区RC的页的数目。在这些条目中的每一个中,页大小的数据的LBA、DRAM内物理地址和扇区标志相关联,其中该扇区标志指示通过以扇区大小划分该页而获得的每一个区中的有效数据的位置。
在NAND存储器12中,来自DRAM 11的数据存储在NAND存储器12上的预定范围中的物理地址(在下文中为“NAND内物理地址”)中。在通过多值存储器形成的NAND存储器12中,因为可重写的次数有限,所以通过驱动控制单元14来将配置NAND存储器12的块当中的重写的次数控制为均衡的。换句话说,当执行在NAND存储器12中的某一NAND内物理地址中写入的数据的更新时,驱动控制单元14执行控制以使配置NAND存储器12的块当中的重写的次数均衡,以在不同于原始块的块中写入这样的数据且使原始块无效,该数据反映其中包括有将要更新的数据的块的需要更新的部分。
如上文所解释的,在NAND存储器12中,在数据的写入和读出处理与数据的擦除处理中,处理单位不同。在数据的更新处理中,更新之前的数据的位置(块)与更新之后的数据的位置(块)不同。因此,在第一实施例中,除NAND内物理地址之外,还提供在NAND存储器12中独立使用的NAND内逻辑地址(在下文中为“NAND内逻辑地址”)。
因此,逻辑NAND管理层32中的数据通过逻辑NAND管理信息42来管理,该逻辑NAND管理信息42指示从DRAM 11接收的页大小单位的数据的LBA与NAND内逻辑地址(其指示NAND存储器12的其中存储所接收的数据的逻辑页位置)之间的关系,以及指示具有与作为NAND存储器12中的擦除单位的块的大小一致的大小的逻辑块的地址范围的关系。可将多个物理块的集合设定为一逻辑块。物理NAND管理层33中的数据通过NAND内逻辑地址-物理地址转换信息(在下文中为“逻辑-物理转换信息”)来管理,该NAND内逻辑地址-物理地址转换信息包括NAND存储器12中的NAND内逻辑地址与NAND内物理地址之间的对应关系。
图6以表状方式示例逻辑NAND管理信息42的实例。图7以表状方式示例NAND内逻辑-物理转换信息43的实例。如图6中所示,逻辑NAND管理信息42包括逻辑页管理信息42a和逻辑块管理信息42b。逻辑页管理信息42a具有用于一个页大小的一个逻辑区的一个条目。条目中的每一个包括一个页大小的数据的LBA、NAND内逻辑地址,以及指示该页是否有效的页标志。逻辑块管理信息42b包括为NAND存储器12的一个块大小的区设定的NAND内物理地址。如图7中所示,在NAND内逻辑-物理转换信息43中,NAND存储器12的NAND内物理地址与NAND内逻辑地址相关联。
通过使用这些种类的管理信息,可建立用于主机设备中的LBA、用于NAND存储器12中的NAND内逻辑地址与用于NAND存储器12中的NAND内物理地址的对应。这使得可以在主机设备与存储器系统10之间交换数据。
通过DRAM管理层31管理的管理信息由于断电或类似的原因而丢失,使得该管理信息可被称为易失性表。与此相反,如果通过逻辑NAND管理层32和物理NAND管理层33管理的管理信息由于断电或类似的原因而丢失,则丢失的管理信息阻碍存储器系统10的成功启动,使得需要采取措施,以便即使在断电或类似的情况下也存储管理信息。因此,该管理信息可被称为非易失性表。
该非易失性表管理存储在NAND存储器12中的数据。如果不存在非易失性表,则不能存取存储在NAND存储器12中的信息,或者存储在区中的数据被擦除。因此,需要将非易失性表存储为最新信息来为突然断电作准备。因此,在第一实施例中,将至少包括非易失性表的管理信息以最新状态存储在NAND存储器12的管理信息存储区126中。下面解释存储在NAND存储器12的管理信息存储区126中的管理信息存储信息。以下解释假定:仅非易失性表存储在管理信息存储区126中。
图8是存储在管理信息存储区126中的管理信息存储信息的内容的实例的示意图。在管理信息存储区126中存储以下项目:管理信息存储信息,其包括作为特定点处的非易失性表的内容的快照210;更新前日志(在下文中称作前日志)220A,其是在下一次取得快照之前的非易失性表的内容的更新差异信息,且在更新之前获取;更新后日志(在下文中称作后日志)220B,其是与前日志220A相同内容的日志信息,且在更新之后被存储;第二指针230,其指示快照210的位置(块)、为快照210而获取的前日志220A的位置(块)和从快照210获取的后日志220B的位置(块);以及根指针240,其指示第二指针230被存储的位置(块)。快照210是通过存储DRAM 11的暂时存储区111中存储的管理信息当中的至少包括预定点处的非易失性表的管理信息而获得的信息。
快照210、前日志220A、后日志220B、第二指针230和根指针240存储在不同块中。这些块的大小与作为擦除单位的物理块的大小相同。快照210存储在快照存储块中。快照210包括作为NAND存储器12的管理信息存储区126中的非易失性表的逻辑NAND管理信息42和NAND内逻辑-物理转换信息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以一次写入的方式从块的顶页开始依次存储在根指针存储块中。在这种情况下,根指针存储块中紧接在未被写入的页之前的页具有最新信息。因此,可以通过检索(retrieve)未被写入的页的最高位页而检索出最新的根指针240。与在第二指针230的情况下一样地,还可以使用链接列表。
根指针240存储在NAND存储器12的固定区1261中。快照210、前日志220A、后日志220B和第二指针230存储在NAND存储器12的可变区1262中。固定区1261是NAND存储器12中的受保护区,在该受保护区中通过逻辑NAND管理层32管理的逻辑块与通过物理NAND管理层33管理的物理块之间的关系固定,并且,固定区1261是这样的区,在该区中存储对于运行存储器系统10所必要的且具有低更新频率(其中几乎不发生重写和写入)的信息。
可变区1262是这样的区,其中NAND存储器12的除固定区1261之外的区中通过逻辑NAND管理层32管理的逻辑块与通过物理NAND管理层33管理的物理块之间的关系是可变的,并且可变区1262是作为磨损均化的目标的区。
下面解释驱动控制单元14的功能。图10为驱动控制单元14的功能配置的实例的框图。驱动控制单元14包括数据管理单元141、ATA命令处理单元142、安全管理单元143、启动加载器144、初始化管理单元145,以及除错支持单元146。数据管理单元141执行DRAM 11与NAND存储器12之间的数据传送和对关于NAND存储器12的各种功能的控制。ATA命令处理单元142基于从ATA接口接收的指令而与数据管理单元141协作执行数据传送处理。安全管理单元143与数据管理单元141和ATA命令处理单元142协作管理各种种类的安全信息。启动加载器144在通电期间将各种管理程序(固件)从NAND存储器12加载至未示出的存储器(例如,SRAM(静态RAM))。初始化管理单元145执行对驱动控制单元14中的控制器和电路的初始化。除错支持单元146处理通过RS232C接口而从外部供应的除错数据。
图11为数据管理单元141的功能配置的实例的框图。数据管理单元141包括数据传送处理单元151、管理信息管理单元152和管理信息恢复单元155。数据传送处理单元151执行DRAM 11与NAND存储器12之间的数据传送。管理信息管理单元152根据DRAM 11和NAND存储器12中存储的数据的改变而执行管理信息的改变和存储。管理信息恢复单元155基于在通电等期间所存储的管理信息而恢复最新的管理信息。
管理信息管理单元152包括管理信息写入单元153和管理信息存储单元154。当根据由数据传送处理单元151进行的对DRAM 11或NAND存储器12中存储的数据的改变处理而使得有必要更新DRAM 11中存储的管理信息时,管理信息写入单元153执行该管理信息的更新。
当存储器系统10满足预定条件时,管理信息存储单元154在NAND存储器12的管理信息存储区126中将管理信息存储为快照210,将管理信息中将要更新的信息存储为前日志220A,且将管理信息中更新后的信息存储为后日志220B。当第二指针230中的写入的位置根据快照210、前日志220A或后日志220B的存储而改变时,管理信息存储单元154对第二指针230应用更新处理。
当满足与存储器系统10有关的预定条件时,由管理信息存储单元154来执行快照210的存储。例如,当NAND存储器12的管理信息存储区126中为了存储日志220(前日志220A和后日志220B)而提供的日志存储区变满(即,该区完全被数据填满)时,执行快照210的存储。
在涉及DRAM 11中存储的管理信息(非易失性表)的更新的NAND存储器12上的数据更新期间(当NAND存储器12中的数据写入为必要时),由管理信息存储单元154来执行日志220(前日志220A和后日志220B)的存储。
管理信息存储单元154存储前日志220A和后日志220B时的时机是通过管理信息写入单元153执行对DRAM 11中存储的管理信息(非易失性表)的更新时的时间。具体地,在用于执行数据写入等等的处理之前和之后存储前日志220A和后日志220B。
当接通存储器系统10的电源时,管理信息恢复单元155基于NAND存储器12的管理信息存储区126中存储的管理信息存储信息而执行管理信息的恢复处理。具体地,管理信息恢复单元155依次追踪固定区1261中的根指针240和可变区1262中的第二指针230、快照210、前日志220A和后日志220B,并判定是否存在与最新的快照210对应的前日志220A和后日志220B。当不存在这样的前日志220A和后日志220B时,管理信息恢复单元155在DRAM 11中恢复快照存储块的快照210作为管理信息。当存在前日志220A和后日志220B时,这意味着已发生诸如程序错误或短时中断(电源的异常隔离)的异常结束,管理信息恢复单元155从快照存储块获取快照210,从日志存储块获取前日志220A和后日志220B,且对DRAM 11执行管理信息(非易失性表)的恢复(将前日志220A和后日志220B反映在快照210上)。
下面解释由管理信息管理单元152进行的对存储器系统10的管理信息的存储处理。图12为对存储器系统10的管理信息的存储处理过程的实例的流程图。图13为用于解释对前日志和后日志的存储处理的图。假定存储器系统10连接至主机设备且作为主机设备的次级存储装置而操作,主机设备(存储器系统10)处于启动状态中,且在该启动状态之前在存储器系统10停止之前存储快照210。
首先,基于在主机设备(存储器系统10)的上一次结束时存储的快照210而使主机设备(存储器系统10)处于启动状态中(步骤S11)。此后,在必要时执行从主机设备至NAND存储器12的数据读取或写入。管理信息管理单元152判定是否满足预定的快照存储条件(例如,日志存储区已满(该区被日志数据填满))(步骤S12)。当不满足快照存储条件时(步骤S12处为“否”),管理信息管理单元152判定是否接收到涉及管理信息的更新的指令(用于在NAND存储器中数据写入的指令)(步骤S13)。当未接收到涉及管理信息的更新的指令时(步骤S13处为“否”),管理信息管理单元152返回至步骤S12。
当接收到涉及管理信息的更新的指令时(步骤S13处为“是”),管理信息管理单元152确定更新安排,该更新安排指示如何通过执行指令而更新管理信息(步骤S14)。管理信息管理单元152将更新安排存储在NAND存储器12的管理信息存储区126的日志存储块中作为前日志220A(步骤S15)。当前日志220A未存储在日志存储块中时,更新安排(日志)是更新管理信息的时间处的非易失性表与存储在快照存储块中的快照210之间的差异信息。当日志220(在下文中称作过去的前日志220A)已存储在日志存储块中时,更新安排(日志)是更新管理信息的时间处的非易失性表与快照210和过去的前日志220A的组合之间的差异信息。具体地,如图13中所示,在执行数据写入(X)作为对第X数据的写入处理之前,将与数据写入(X)对应的前日志(X)存储在NAND存储器12中作为前日志220A。在该点处,例如,将信息y1存储为前日志220A。例如,在将前日志220A(更新安排)记录在DRAM 11上之后,将前日志220A存储在NAND存储器12的管理信息存储区126中。
随后,逻辑NAND管理层32执行在步骤S13处所接收的指令(例如,用于NAND存储器12的数据存储区125中的用户数据的写入(X)的处理)(步骤S16)。
此后,根据所执行的处理而更新存储在DRAM 11中的管理信息。管理信息存储单元154将管理信息中的已更新信息存储在NAND存储器12的管理信息存储区126中作为后日志220B。当后日志220B未存储在日志存储块中时,后日志220B是当前点处的非易失性表与存储在快照存储块中的快照210之间的差异信息。当后日志220B(在下文中称作“过去的后日志220B”)已存储在日志存储块中时,后日志220B是当前表处的非易失性表与快照210和过去日志的组合之间的差异信息。
将与数据写入(X)对应的后日志220B(X)存储在NAND存储器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)存储在NAND存储器12中作为前日志220A。在此点处,例如,将信息y2存储为前日志220A。执行NAND存储器12中的数据存储区125中的数据写入(X+1)。将与数据写入(X+1)对应的后日志(X+1)存储在NAND存储器12中作为后日志220B。在此点处,例如,将信息y2存储为后日志220B。存储为后日志220B的信息y2与存储为前日志220A的信息y2相同。
当在步骤S12处满足快照存储条件时(步骤S12处为“是”),管理信息管理单元152将至少包括DRAM 11的暂时存储区111中的非易失性表的管理信息存储在NAND存储器12的管理信息存储区126中作为快照210(步骤S18)。管理信息管理单元152判定是否指示存储器系统10的结束(步骤S19)。当未指示存储器系统10的结束时,管理信息管理单元152返回至步骤S12。当指示存储器系统10的结束时,处理完成。
下面解释由管理信息恢复单元155执行的对存储器系统10的管理信息的恢复处理。图14是对存储器系统10的管理信息的恢复处理过程的实例的流程图。与在上述解释中一样地,存储器系统10连接至主机设备且作为主机设备的第二存储装置操作。
首先,由于例如从短时中断恢复而接通主机设备的电源,且向存储器系统10发出启动指令(步骤S31)。管理信息恢复单元155顺序地读取NAND存储器12的管理信息存储区126中的根指针240和第二指针230(步骤S32),获取其中存储有快照210以及前日志和后日志(前日志220A和后日志220B)的块的地址(步骤S33),且获取快照210(步骤S34)。
此后,管理信息恢复单元155参考NAND存储器12中的前日志220A和后日志220B,判定是否发生了短时中断(步骤S35)。例如,当前日志220A和后日志220B存在于NAND存储器12中时,管理信息恢复单元155判定已发生短时中断。关于是否已发生短时中断的判定可通过例如比较前日志220A与后日志220B来执行。在第一实施例中,前日志220A与后日志220B存储相同信息。因此,例如,当作为前日志220A而存储的页的数目与作为后日志220B而存储的页的数目彼此不一致时,意味着已发生短时中断。短时中断的发生也可基于ECC错误的存在或不存在、作为前日志220A而存储的页的数据以及作为后日志220B而存储的页的数据来判定。
当已发生短时中断时(步骤S35处为“是”),管理信息恢复单元155基于NAND存储器12中的最新的前日志220A和最新的后日志220B而检查发生短时中断的时机(步骤S36)。
此外,管理信息恢复单元155基于NAND存储器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对NAND存储器12中的一次写入块(日志存储块)进行恢复处理(步骤S42)。通过判定NAND存储器12中的一次写入块存在或不存在中断以及执行恢复处理,消除被挂起的处理的影响。通过比较一次写入状态和管理信息的内容与一次写入块,判定中断的存在或不存在。在管理信息的恢复和恢复处理结束时的阶段,管理信息恢复单元155再次取得快照210,且将该快照210存储在管理信息存储区126中(步骤S43)。管理信息恢复单元155将过去的快照和日志改变为空闲块(打开或废弃该快照和日志),且完成用于管理信息的恢复处理。空闲块表示尚未对其分配应用的块。当将应用分配给空闲块时,在擦除之后使用该空闲块。
另一方面,当没有发生短时中断时(步骤S35处为“否”),管理信息恢复单元155在DRAM 11的暂时存储区111中恢复管理信息(步骤S44),且管理信息恢复处理结束。
无论存在或不存在由短时中断引起的日志中断,管理信息恢复单元155都可以选择前日志220A和后日志220B中的一个,且基于存储为前日志220A的页的数目和存储为后日志220B的页的数目来恢复管理信息。例如,当存储为前日志220A的页的数目和存储为后日志220B的页的数目相同时,管理信息恢复单元155选择前日志220A且恢复管理信息。当存储为前日志220A的页的数目大于存储为后日志220B的页的数目时,管理信息恢复单元155选择后日志220B且恢复管理信息。
图15A至图15D为存储器基元中的数据与存储器基元的阈值电压之间的关系以及NAND存储器中的写入的顺序的实例的图。首先,当执行擦除操作时,将存储器基元中的数据设定为“0”。随后,如图15A中所示,当执行较低位页中的写入时,存储器基元中的数据改变为数据“0”和数据“2”。如图15B中所示,在较高位页中的写入之前,将等于或低于实际数据的阈值电压的数据写入邻近基元中。接着,通过写入该基元中的数据扩展数据“2”的阈值电压的分布。此后,当写入较高位页的数据时,存储器基元中的数据改变为具有原始阈值电压的数据“0”至“3”,如图15C中所示。在第一实施例中,从低阈值电压至高阈值电压限定存储器基元中的数据。
解释NAND存储器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的电源时存储在NAND存储器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)中发生较低位页数据中断。换句话说,在图17F的情况下,因为在前日志的存储期间发生短时中断,所以在前日志侧的块中产生日志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,其作为直到下次取得快照之前的非易失性表的内容的更新差异信息;第二指针230,其指示快照210以及与该快照210有关的首先获取的日志220的位置(块);以及根指针240,其指示根指针240被存储的位置(块)。快照210是通过存储DRAM 11的暂时存储区111中存储的管理信息的种类当中至少包括预定点处的非易失性表的管理信息而获得的信息。
快照210、日志220、第二指针230和根指针240分别存储在不同块中。这些块的大小与作为擦除单位的物理块的大小相同。快照210存储在快照存储块中。快照210包括作为NAND存储器12的管理信息存储区126中的非易失性表的逻辑NAND管理信息42和NAND内逻辑-物理转换信息43。当存储新快照210时,将快照210存储在与之前存储快照210的块不同的块中。
日志220存储在日志存储块中。当非易失性表的内容改变时,日志220是(当在获取快照210之后首先产生日志时)在内容改变之后的非易失性表与快照210之间的差异信息,或者说是在内容改变之后的非易失性表与快照210之间的差异信息。每次获取日志220作为差异信息时,以一次写入的方式以页为单位将日志220写入日志存储块中。图9描绘日志的实例。日志220包括:目标信息,其是改变目标的管理信息;目标条目,其作为目标信息中为改变目标的条目;目标项目,其作为目标条目中为改变目标的项目;以及改变内容,其作为目标项目的改变的内容。因为日志220是针对快照210的更新差异信息,日志220根据新快照210的存储而重新形成。在第二实施例中,将前日志和后日志描述为“日志”而没有区别。当获取前日志和后日志时,与第一实施例中同样地适用。
第二指针230存储在第二指针存储块中。第二指针230仅须为指示这样的块的顶地址的指针,这些块指示快照210和日志220的存储位置。当重新存储快照210时或当改变快照存储块或日志存储块时,更新第二指针230。
第二指针230包括用于存取快照存储块的快照存取信息、用于存取日志存储块的日志存取信息,以及指示存储下一个第二指针的页位置的下一个指针。通过该下一个指针而将第二指针230改变为链接列表系统中的信息。可以通过从根指针240所指定的第二指针存储块的顶页开始跟踪下一个指针而到达最新的第二指针230。代替链接列表系统,可以以一次写入的方式从第二指针存储区的顶页开始依次存储第二指针230。指示日志220的顶地址的指针可以存储在快照21中。第二指针230可以仅包括指示快照210的顶地址的指针。
根指针240存储在根指针存储块中。根指针240是用于存取第二指针存储块的信息,且是当启动存储器系统10时在用于恢复管理信息的处理中首先读取的信息,其中在所述第二指针存储块中存储作为第一指针的第二指针230。当第二指针存储块改变时,第一根指针240改变。例如,根指针240以一次写入的方式从块的顶页开始依次存储在根指针存储块中。在这种情况下,根指针存储块中紧接在未被写入的页之前的页具有最新信息。因此,可以通过检索(retrieve)未被写入的页的最高位页而检索出最新的第一根指针240。与在第二指针230的情况下一样地,还可以使用链接列表。
根指针240存储在NAND存储器12的固定区1261中。快照210、日志220和第二指针230存储在NAND存储器12的可变区1262中。固定区1261是NAND存储器12中的受保护区,在该受保护区中通过逻辑NAND管理层32管理的逻辑块与通过物理NAND管理层33管理的物理块之间的关系固定,并且,固定区1261是这样的区,在该区中存储对于运行存储器系统10所必要的且具有低更新频率(其中几乎不发生重写和写入)的信息。
另一方面,可变区1262是其中NAND存储器12的除固定区1261之外的区中通过逻辑NAND管理层32管理的逻辑块与通过物理NAND管理层33管理的物理块之间的关系可变的区。可变区1262是作为磨损均化的目标的区。
驱动控制单元14的功能、数据管理单元141的功能配置等等与第一实施例中的相同(参见图10和图11)。管理信息管理单元152包括管理信息写入单元153和管理信息存储单元154。当根据由数据传送处理单元151进行的对DRAM 11或NAND存储器12中存储的数据的改变处理而使得有必要更新存储在DRAM 11中的管理信息时,管理信息写入单元153执行该管理信息的更新。
当存储器系统10满足预定条件时,管理信息存储单元154在NAND存储器12的管理信息存储区126中将管理信息存储为快照210,且将管理信息中将要更新的信息存储为日志220。管理信息存储单元154还执行根据快照210或日志220的存储所需要的指针更新处理。
例如,当满足如下面的实例所解释的以下快照存储条件中的任何一个条件时,通过管理信息存储单元154执行对快照210的存储:
(1)接收到待机(用于使存储器系统10的主体的功率消耗最小化的指令)、睡眠(用于在预定时间期间不存在存取时使装置停止的指令)或复位(用于重新启动存储器系统10的指令)信号,以及
(2)NAND存储器12的管理信息存储区126中的为存储日志220而提供的日志存储区变得被数据填满,
管理信息存储单元154存储日志220的时机是(当有必要在NAND存储器12中进行数据写入时)通过管理信息写入单元153执行对DRAM 11中存储的管理信息(非易失性表)的更新时的时间。
当接通存储器系统10的电源时,管理信息恢复单元155基于NAND存储器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,则由于在写入之前执行的块的擦除,NAND存储器12的劣化恶化。以这种方式,在使用NAND存储器12的存储器系统10中,因为每次接收到待机信号或类似的信号时都再次取得快照210,除了直到改变为指定状态为止的等待时间很长的特性之外,还存在由存储器12的这样的特性引起的问题,即,存储器系统10的耐用寿命缩短。
因此,在第二实施例中,当接收到待机、睡眠或复位信号时,可以选择再次取得快照210且改变为指定状态,或者改变为指定状态而不再次取得快照210。具体地,管理信息存储单元154接收到待机信号或类似的信号,并且,例如,根据在管理信息存储区126中是否存储有日志220且当存储有日志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上恢复管理信息(非易失性表),将日志反映在快照210上。
在图19B中,快照210和日志51-1至51-n的存储以及待机信号的产生与图19A中所示的相同。然而,在产生待机信号之后,管理信息存储单元154再次取得快照55。当存储快照55时,更新第二指针230。针对新得到的快照55,第二指针230指示快照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页的大小。因此,通过比较n与切换参考页的数目(nth),管理信息存储单元154可以执行切换以再次取得快照及不再次取得快照。
例如,通过下面解释的方法,可以确定切换参考页的数目(nth)。在图19A中,由于在产生待机信号之后不再次取得快照,改变为待机状态的改变时间短。另一方面,在解除待机之后的管理信息恢复期间,有必要在除了快照210之外还读出日志51-1至51-n。当n较大时,恢复需要较长时间。相反地,当n充分小时,基于快照210和日志51-1至51-n而恢复管理信息所需的时间与基于快照55(图19B)而恢复管理信息所需的时间之间的差异很小。因此,当n较小时,选择图19A所示的情况是有利的。
通常,存储器系统10的启动时间取决于系统的规格。因此,当因为n很大而使恢复费时且启动时间超过系统的规格时,不能选择图19A所示的情况。换句话说,切换参考页的数目nth是这样的值,当n小于该值时,图19A所示的情况下的启动时间满足系统的规格。
在图19B中,在产生待机信号之后再次取得快照55。因此,由于快照55的写入时间,除了改变为待机状态的改变时间很长的事实之外,当n很小时写入效率降低。因此,可以说,当n较大时,选择图19B所示的情况是有利的。因此,将图19A所示的情况也考虑进去,当n等于或大于切换参考页的数目nth时,优选选择图19B所示的情况。
图21是用于解释在待机、睡眠或复位期间管理信息存储单元154的操作的流程图。
管理信息存储单元154判定存在或不存在待机、睡眠或复位信号中的任何一个信号(步骤S21)。当不存在待机、睡眠或复位信号的输入时(步骤S21处为否),管理信息存储单元154执行其他处理(步骤S22),且返回至步骤S21。当在步骤S21处判定输入了待机、睡眠或复位信号中的任何一个信号时(步骤S21处为是),管理信息存储单元154判定日志长度是否等于或大于预定大小(步骤S23)。当判定日志长度等于或大于预定大小时(步骤S23为是),管理信息存储单元154取得新快照(步骤S24),且结束该处理。当判定日志长度小于预定大小时(步骤S23为否),管理信息存储单元154结束该处理而不取得新快照。此后,存储器系统10改变为与待机、睡眠或复位信号对应的状态。
根据第二实施例,当接收到待机、睡眠或复位信号时,管理信息存储单元154判定日志长度是否等于或大于预定大小,且判定是再次取得快照且改变为指定状态还是改变为指定状态而不再次取得快照。因此,由于不必在每次接收到待机、睡眠或复位信号时都再次取得快照,因此可以减少NAND存储器12中的写入次数,且抑制NAND存储器12的耐用寿命的缩短。还存在这样的效果:可以缩短通过管理信息恢复单元155恢复管理信息的时间。
在上文的解释中,DRAM 11中的数据管理单位为页大小单位,NAND存储器12中的数据写入和读出单位为页大小单位,而擦除单位和管理单位为块大小单位。然而,这并不意味着将数据管理单位、数据写入和读出单位以及擦除单位和管理单位限制为这些大小单位。可以将任意单位用作数据管理单位、数据写入和读出单位以及擦除单位和管理单位。
电荷累积层不限于浮动栅型,并且可以是包括诸如MONOS(金属-氧化物-氮化物-氧化物-半导体)结构的氮化硅膜和其它系统的电荷俘获型。
如上文所解释的,根据本发明,存在这样的效果:可以消除在从电源的异常隔离复位之后日志被中断的可能性,且可以改善管理信息的可靠性。
根据本发明,当接收到待机、睡眠或复位信号时,可以改变为指定状态而不再次取得快照,且之后返回至改变之前的状态。因此,存在这样的效果,即,不必在每次接收到待机、睡眠或复位信号时都取得快照,且可以减少在其中可存储多值数据的存储器基元中写入的次数,且抑制存储器基元的耐用寿命的缩短。
本领域技术人员将容易想到其他优点和修改。因此,本发明在其更宽的方面不限于在此所示和所述的具体细节和示例性实施例。因此,可在不偏离由所附权利要求及其等价物所限定的总发明构思的精神或范围的情况下进行各种修改。
Claims (20)
1.一种存储器系统,包括:
易失性第一存储单元;
非易失性第二存储单元,其包括可存储多值数据的存储器基元;以及
控制器,其通过所述第一存储单元而执行在主机设备与所述第二存储单元之间的数据传送,将管理信息存储在所述第一存储单元中,且在更新所存储的管理信息时基于所存储的管理信息而执行所述第一和第二存储单元中的数据管理,其中所述管理信息包括在所述存储器系统的启动操作期间存储在所述第二存储单元中的数据的存储位置,所述控制器包括:
管理信息存储单元,其在满足预定条件时将存储在所述第一存储单元中的管理信息存储在所述第二存储单元中作为快照,且在所述第二存储单元中存储日志作为所述管理信息的更新差异信息;以及
管理信息恢复单元,当在开始所述启动操作时所述日志存在于所述第二存储单元中时,在基于所述快照和所述日志而执行所述第一存储单元中的管理信息的恢复之后,所述管理信息恢复单元再次取得快照且将所述快照存储在所述第二存储单元中。
2.根据权利要求1的存储器系统,其中所述日志包括在所述管理信息中发生改变之前所获取的前日志和在所述管理信息中发生改变之后所获取的后日志。
3.根据权利要求2的存储器系统,其中,当所述存储器系统由于电源的异常隔离而复位时,所述管理信息管理单元再次取得快照,且将该快照存储在所述第二存储单元中。
4.根据权利要求2的存储器系统,其中所述第二存储单元包括:
快照存储区,其用于存储所述快照;
前日志存储区,其用于存储所述前日志;
后日志存储区,其用于存储所述后日志;以及
指针存储区,其用于存储指针,所述指针指示所述快照存储区、所述前日志存储区和所述后日志存储区的存储位置。
5.根据权利要求4的存储器系统,其中所述快照存储区、所述前日志存储区、所述后日志存储区和所述指针存储区中的每一个包括作为数据擦除单位的块。
6.根据权利要求5的存储器系统,其中每次获取所述前日志和所述后日志作为差异信息时,所述前日志和所述后日志中的每一个以一次写入的方式以页单位写入所述前日志存储区和所述后日志区中,所述页单位小于所述块大小。
7.根据权利要求6的存储器系统,其中,当在将前日志写入所述前日志存储区中的较高位页期间发生电源的异常隔离时,所述管理信息恢复单元在启动操作期间基于后日志和快照执行所述管理信息的恢复。
8.根据权利要求6的存储器系统,其中,当在将后日志写入所述后日志存储区中的较高位页期间发生电源的异常隔离时,所述管理信息恢复单元在启动操作期间基于前日志和快照执行所述管理信息的恢复。
9.根据权利要求6的存储器系统,其中,在执行在所述前日志存储区中的较高位页中写入前日志之后,当在与所述前日志对应的数据的写入期间发生错误且在与数据重写处理对应的所述前日志的写入期间发生电源的异常隔离时,所述管理信息恢复单元在启动操作期间基于后日志和快照执行所述管理信息的恢复。
10.根据权利要求6的存储器系统,其中,在执行在所述前日志存储区中的较高位页中写入前日志之后,当在与所述前日志对应的数据写入期间发生错误且随后执行与数据重写处理对应的所述前日志的写入时,以及在执行在所述后日志存储区中的较高位页中写入与所述数据重写处理对应的所述后日志之后,当在与第一数据写入对应的所述后日志的写入期间发生电源的异常隔离时,所述管理信息恢复单元在启动操作期间基于所述前日志和快照执行所述管理信息的恢复。
11.根据权利要求6的存储器系统,其中,当在所述前日志存储区中的两个较高位页上写入前日志期间发生电源的异常隔离时,所述管理信息恢复单元在启动操作期间基于后日志和快照执行所述管理信息的恢复。
12.根据权利要求6的存储器系统,其中,当在所述后日志存储区中的两个较高位页上写入后日志期间发生电源的异常隔离时,所述管理信息恢复单元在启动操作期间基于前日志和快照执行所述管理信息的恢复。
13.根据权利要求1的存储器系统,其中
所述第一存储单元为DRAM,并且
所述第二存储单元为NAND闪速存储器。
14.一种存储器系统,包括:
易失性第一存储单元;
非易失性第二存储单元,其包括可存储多值数据的存储器基元;以及
控制器,其通过所述第一存储单元而执行在主机设备与所述第二存储单元之间的数据传送,将管理信息存储在所述第一存储单元中,且在更新所存储的管理信息时基于所存储的管理信息而执行所述第一和第二存储单元中的数据管理,其中所述管理信息包括在所述存储器系统的启动操作期间存储在所述第二存储单元中的数据的存储位置,所述控制器包括:
管理信息存储单元,其在满足预定条件时将存储在所述第一存储单元中的管理信息存储在所述第二存储单元中作为快照,且在所述第二存储单元中存储日志作为所述管理信息的更新差异信息;以及
管理信息恢复单元,当在开始所述启动操作时所述日志存在于所述第二存储单元中时,所述管理信息恢复单元基于所述快照和所述日志而执行所述第一存储单元中的管理信息的恢复,并且当在开始所述启动操作时所述日志不存在于所述第二存储单元中时,所述管理信息恢复单元基于所述快照而执行所述第一存储单元中的管理信息的恢复,其中
当接收到选自待机信号、睡眠信号和复位信号当中的信号时,所述管理信息存储单元判定在改变为由所述信号指定的指定状态之前是否应当再次取得所述快照。
15.根据权利要求14的系统,其中,当接收到所述信号时,如果与所述第二存储单元中存储的所述快照相对应的前日志的日志长度等于或大于预定大小时,所述管理信息存储单元再次取得快照,而如果所述日志长度小于所述预定大小时,所述管理信息存储单元不再次取得快照。
16.根据权利要求15的存储器系统,其中所述预定大小被判定为这样的大小,当所述日志的日志长度小于所述预定大小时,从待机、睡眠或复位状态启动所述存储器系统的启动时间不超过由所述存储器系统的规格所设定的时间。
17.根据权利要求14的存储器系统,其中所述第二存储单元包括:
快照存储区,其用于存储所述快照;
日志存储区,其用于存储所述日志;以及
指针存储区,其用于存储指针,所述指针指示所述快照存储区和所述日志存储区的存储位置。
18.根据权利要求17的存储器系统,其中所述快照存储区、所述日志存储区和所述指针存储区中的每一个包括作为数据擦除单位的块。
19.根据权利要求18的存储器系统,其中每次获取所述日志作为差异信息时,所述日志以一次写入的方式以页单位写入所述日志存储区中,所述页单位小于所述块大小。
20.根据权利要求14的存储器系统,其中
所述第一存储单元为DRAM,并且
所述第二存储单元为NAND闪速存储器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008051340A JP2009211196A (ja) | 2008-02-29 | 2008-02-29 | メモリシステム |
JP051340/2008 | 2008-02-29 | ||
JP051452/2008 | 2008-03-01 | ||
JP2008051452A JP2009211213A (ja) | 2008-03-01 | 2008-03-01 | メモリシステム |
PCT/JP2009/052599 WO2009107507A1 (en) | 2008-02-29 | 2009-02-10 | Memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101681312A true CN101681312A (zh) | 2010-03-24 |
CN101681312B CN101681312B (zh) | 2012-05-23 |
Family
ID=41015907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009800001317A Expired - Fee Related CN101681312B (zh) | 2008-02-29 | 2009-02-10 | 存储器系统 |
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) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092719A (zh) * | 2011-10-28 | 2013-05-08 | 浙江大华技术股份有限公司 | 一种文件系统的断电保护方法 |
CN104205229A (zh) * | 2012-03-30 | 2014-12-10 | 英特尔公司 | 功率损耗恢复中的固态驱动器管理 |
CN104854566A (zh) * | 2012-10-19 | 2015-08-19 | 惠普发展公司,有限责任合伙企业 | 在持久存储器存储中的异步一致快照 |
CN106158026A (zh) * | 2015-04-09 | 2016-11-23 | 旺宏电子股份有限公司 | 存储装置与其操作方法 |
CN111581024A (zh) * | 2020-05-06 | 2020-08-25 | 深圳忆联信息系统有限公司 | Ssd日志的动态备份恢复方法、装置和计算机设备 |
CN111587428A (zh) * | 2017-11-13 | 2020-08-25 | 维卡艾欧有限公司 | 分布式存储系统中的元数据日志 |
Families Citing this family (23)
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 |
JP2012128645A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
JP2012128643A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
KR101878200B1 (ko) | 2012-01-09 | 2018-07-16 | 삼성전자 주식회사 | 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법 |
US9514002B2 (en) | 2013-09-13 | 2016-12-06 | Vmware, Inc. | Incremental backups using retired snapshots |
US9772907B2 (en) * | 2013-09-13 | 2017-09-26 | Vmware, Inc. | Incremental backups using retired snapshots |
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 |
US10725675B2 (en) * | 2018-03-19 | 2020-07-28 | Kabushiki Kaisha Toshiba | Management apparatus, information processing apparatus, management method, and computer program product |
CN111949220B (zh) * | 2020-09-03 | 2023-12-08 | 合肥沛睿微电子股份有限公司 | 存储设备异常断电恢复方法及存储设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999032977A1 (fr) * | 1997-12-22 | 1999-07-01 | Tdk Corporation | Systeme de memoire flash |
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 |
JP3935139B2 (ja) | 2002-11-29 | 2007-06-20 | 株式会社東芝 | 半導体記憶装置 |
US8095511B2 (en) * | 2003-06-30 | 2012-01-10 | Microsoft Corporation | Database data recovery system and method |
JP2005115857A (ja) * | 2003-10-10 | 2005-04-28 | Sony Corp | ファイル記憶装置 |
JP2005242897A (ja) | 2004-02-27 | 2005-09-08 | Oki Electric Ind Co Ltd | フラッシュディスク装置 |
JP4248510B2 (ja) * | 2005-03-24 | 2009-04-02 | 株式会社東芝 | 計算機システム、ディスク装置およびデータ更新制御方法 |
US7814057B2 (en) * | 2005-04-05 | 2010-10-12 | Microsoft Corporation | Page recovery using volume snapshots and logs |
JP2007179347A (ja) | 2005-12-28 | 2007-07-12 | Exa Corp | プログラム検証支援システム |
-
2009
- 2009-02-10 EP EP09713656A patent/EP2248027A4/en not_active Withdrawn
- 2009-02-10 US US12/529,145 patent/US8443133B2/en active Active
- 2009-02-10 CN CN2009800001317A patent/CN101681312B/zh not_active Expired - Fee Related
- 2009-02-10 WO PCT/JP2009/052599 patent/WO2009107507A1/en active Application Filing
- 2009-02-26 TW TW098106248A patent/TWI419161B/zh not_active IP Right Cessation
-
2013
- 2013-04-09 US US13/859,528 patent/US8850107B2/en active Active
-
2014
- 2014-09-02 US US14/475,317 patent/US9164896B2/en active Active
-
2015
- 2015-09-01 US US14/842,352 patent/US9582370B2/en active Active
-
2017
- 2017-01-24 US US15/414,204 patent/US10067698B2/en active Active
-
2018
- 2018-08-31 US US16/119,610 patent/US10379762B2/en active Active
-
2019
- 2019-07-23 US US16/519,627 patent/US10996868B2/en active Active
-
2021
- 2021-04-13 US US17/229,096 patent/US11573712B2/en active Active
-
2023
- 2023-02-01 US US18/104,352 patent/US11972115B2/en active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092719A (zh) * | 2011-10-28 | 2013-05-08 | 浙江大华技术股份有限公司 | 一种文件系统的断电保护方法 |
CN103092719B (zh) * | 2011-10-28 | 2016-09-07 | 浙江大华技术股份有限公司 | 一种文件系统的断电保护方法 |
CN104205229A (zh) * | 2012-03-30 | 2014-12-10 | 英特尔公司 | 功率损耗恢复中的固态驱动器管理 |
CN104205229B (zh) * | 2012-03-30 | 2019-04-05 | 英特尔公司 | 功率损耗恢复中的固态驱动器管理 |
CN104854566A (zh) * | 2012-10-19 | 2015-08-19 | 惠普发展公司,有限责任合伙企业 | 在持久存储器存储中的异步一致快照 |
CN104854566B (zh) * | 2012-10-19 | 2018-05-04 | 慧与发展有限责任合伙企业 | 崩溃恢复的方法和系统 |
CN106158026A (zh) * | 2015-04-09 | 2016-11-23 | 旺宏电子股份有限公司 | 存储装置与其操作方法 |
CN111587428A (zh) * | 2017-11-13 | 2020-08-25 | 维卡艾欧有限公司 | 分布式存储系统中的元数据日志 |
CN111587428B (zh) * | 2017-11-13 | 2023-12-19 | 维卡艾欧有限公司 | 分布式存储系统中的元数据日志 |
CN111581024A (zh) * | 2020-05-06 | 2020-08-25 | 深圳忆联信息系统有限公司 | Ssd日志的动态备份恢复方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
US11972115B2 (en) | 2024-04-30 |
US20230168815A1 (en) | 2023-06-01 |
TW200947440A (en) | 2009-11-16 |
EP2248027A4 (en) | 2011-05-18 |
US9164896B2 (en) | 2015-10-20 |
US20170131929A1 (en) | 2017-05-11 |
CN101681312B (zh) | 2012-05-23 |
US8443133B2 (en) | 2013-05-14 |
WO2009107507A1 (en) | 2009-09-03 |
US20110185106A1 (en) | 2011-07-28 |
US20140372688A1 (en) | 2014-12-18 |
EP2248027A1 (en) | 2010-11-10 |
US20130227208A1 (en) | 2013-08-29 |
US20210232326A1 (en) | 2021-07-29 |
US10067698B2 (en) | 2018-09-04 |
US10379762B2 (en) | 2019-08-13 |
US9582370B2 (en) | 2017-02-28 |
TWI419161B (zh) | 2013-12-11 |
US20180373447A1 (en) | 2018-12-27 |
US8850107B2 (en) | 2014-09-30 |
US11573712B2 (en) | 2023-02-07 |
US20190347016A1 (en) | 2019-11-14 |
US10996868B2 (en) | 2021-05-04 |
US20150370646A1 (en) | 2015-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101681312B (zh) | 存储器系统 | |
CN101681317B (zh) | 存储器系统 | |
CN101681313A (zh) | 存储器系统 | |
CN101681311A (zh) | 存储器系统 | |
CN101681316A (zh) | 存储器系统 | |
CN100435115C (zh) | 具有非循序更新区块管理的非易失性存储器及方法 | |
CN1900919B (zh) | 包括多个块的闪速存储器 | |
CN100483362C (zh) | 非易失性存储系统的内部维护调度请求 | |
CN103270500A (zh) | 事务日志恢复 | |
KR101103201B1 (ko) | 메모리 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120523 Termination date: 20170210 |