存储器系统的制作方法

文档序号:6592455阅读:249来源:国知局
专利名称:存储器系统的制作方法
技术领域
本发明涉及一种使用非易失性半导体存储设备的存储器系统。
背景技术
一些个人计算机(PC)将硬盘设备用作为次级存^i殳备。在这些PC
中,已知一种技术用于对已经存储在硬盘设备中的数据进行备份,从而防止数据由于某种故障的原因变为无效。例如,当探测到改变硬盘设备中的数据的行为时,取得快照,作为在改变之前的数据的备除拷贝,并且,生成对数据进行的改变的日志。接着,在每一预定时间重复下述过程,所述过程用于取得新快照、在取得新快照之前使得过去取得的日志无效,以及
生成新日志(例如参见美国专利申请/〉开No. 2006/0224636)。 一旦由于某种原因数据变为无效,则可以通过参考快照和日志恢复该数据。通常存在两类日志前日志(pre-log)和后日志(post-log)。前日志是在数据更新之前生成的日志,作为指示出数据将如何被更新的更新计划。另一方面,后日志是用于在数据被实际更新之后认可对数据的更新的日志。
近年来,作为非易失性半导体存储设备的NAND闪速存储器的容量已经取得了显著提升。结果,包括将NAND闪速存储器作为次级存储设备的存储器系统的PC已经i^了实际4吏用。例如,在NAND闪速存储器中,以页大小为单位来执行数据写入和读出,而以块大小为单位来执行数据擦除。因此,在NAND闪速存储器中,分别以各个块的各个页来写入前日志和后日志。 一种用于将等于或大于2位的多个数据(多值数据)存储于一个存储器单元中的技术(多值存储器技术)有时被用于NAND闪速存储器(例如参见JP-A 2004-192789 (KOKAI))。因此,在引入NAND闪速存储器的PC中,用于将PC从电源的异常隔离或类似情形中复位的过程
是困难的,或者数据无法被恢复。

发明内容
根据本发明的一方面,提供了一种存储器系统,包括易失性第一存储单元;非易失性第二存储单元,包括可以在其中存储数据的存储器单元;以及控制器,用于经由所述第一存储单元执行在主机设备和所述第二存储单元之间的数据传送,将管理信息存储在所述第一存储单元中,所述管理信息包括在启动操作期间在所述第二存储单元中存储的数据的存储位置,以及在更新所存储的管理信息时,基于所存储的管理信息执行在所述第 一和第二存储单元中的数据管理。在所述第 一存储单元中存储的最新状态的管理信息也净皮存储在所述第二存储单元中,并在启动操作期间由所述控制器从所述第二存储单元进行读取。所述管理信息包括快照,其中当预定条件被满足时存储所述第一存储单元的第一管理信息;作为在管理信息改变之前和之后的差异信息的前日志,其在所述管理信息出现改变之前生成;以及关于管理信息中的改变的后日志,其在所述管理信息出现改变之后生成。所述第二存储单元在其中将所述前日志和后日志存储在各个擦除单元区的相同区中。
根据本发明的另一方面,提供了一种存储器系统,包括易失性第一存储单元;非易失性第二存储单元,包括可以存储数据的存储器单元;以及控制器,用于经由所述第一存储单元执行在主机设备和所述第二存储单元之间的数据传送;将管理信息存储在所述第一存储单元中,所述管理信息包括在启动操作期间在所述第二存储单元中存储的数据的存储位置;以及在更新所存储的管理信息时,基于所存储的管理信息执行在所述第一和第二存储单元中的数据管理。在所述第 一存储单元中存储的最新状态的管理信息也被存储在所述第二存储单元中,并在启动操作期间由所述控制器从所述第二存储单元进行读取。所述管理信息包括快照,其中当预定条件被满足时存储所述笫一存储单元的第一管理信息;前日志,作为所述管理信息被改变之前和之后的差异信息,所述前日志在所述管理信息出现
改变之前生成;以及后日志,与所述管理信息的改变有关,所述后日志在所述管理信息出现改变之后生成。所述第二存储单元在其中,从在所述第二存储单元的不同擦除单元区中的快照被存储之前已经分别存储的所述前日志的持续区以及所述后日志的持续区开始,按顺序地将所述前日志和后曰志存储在各个擦除单元区的相同区中。
根据本发明的又一方面,提供了一种存储器系统,包括易失性第一存储单元;非易失性第二存储单元,包括可以存储多值数据的存储器单元;以及控制器,用于经由所述第一存储单元执行在主机设备和所述第二存储单元之间的数据传送;将管理信息存储在所述第一存储单元中,所述管理信息包括在启动操作期间在所述第二存储单元中存储的数据的存储位置;以及在更新所存储的管理信息时,基于所存储的管理信息执行在所述第一和第二存储单元中的数据管理。所述第二存储单元在其中还存储已经以最新状态存储在所述第一存储单元中的管理信息。所述最新状态的管理信息在启动操作期间由所述控制器进行读取,并且所述管理信息包括快照,其中当预定条件被满足时存储所述第一存储单元的第一管理信息;前曰志,作为所述管理信息被改变之前和之后的差异信息,所述前日志在所述管理信息出现改变之前获得;以及后日志,作为所述管理信息的改变之前和之后的差异信息,所述后日志在所述管理信息出现改变之后获得。


图1是才艮据本发明第 一 实施例的存储器系统的配置的示例的框图;图2是NAND存储器的任意块的配置的示例的电路图;图3A是DRAM的功能配置的示意图,而图3B是NAND存储器的功能配置的示意图4是用于管理存储器系统中存储的数据的层结构的示例的图;图5示出了高速緩冲存储器管理信息表的示例;图6示出了逻辑NAND管理信息表的示例;图7示出了 NAND内逻辑-物理转换信息表的示例;图8是才艮据第一实施例在管理信息存储区中存储的管理信息存储信息的内容的示例的示意图;图9描述了日志的示例;
图10是图1示出的驱动控制电路的功能配置的示例的框图ll是才艮据第一实施例的数据管理单元的功能配置的示例的框图12是根据第一实施例由存储器系统执行的管理信息的存储处理过
程的示例的流程图13是用于说明根据第一实施例的由存储器系统执行的前日志和后
曰志的存储处理的图14是根据第一实施例由存储器系统执行的管理信息的恢复处理过
程的示例的流程图15是用于说明根据第 一 实施例对于管理信息的恢复处理的图;图16A至16D是存储器单元中的数据与存储单元的阈值电压以及
NAND存储器中的写入顺序之间的关系的示例的图17A至17D是用于说明针对用于管理信息的恢复的日志的选择方法
的图(1);
图18E至18G是用于"^兌明针对用于管理信息的恢复的日志的选择方法的图(2);
图19H至191是用于说明针对用于管理信息的恢复的日志的选择方法的图(3);
图20是用于说明将提取的前日志或后日志的图;图21是根据本发明第二实施例的数据管理单元的功能配置的示例的框图22A至22C是用于说明在各个块中对前日志和后日志的存储顺序以及对于后日志的打开顺序的图23A和23B是用于说明根据本发明第三实施例的用于前日志的逻辑块和用于后日志的逻辑块的图;图24是根据本发明第四实施例在管理信息存储区中存储的管理信息存储信息的内容的示例的示意图25是用于说明根据第四实施例的针对存储器系统的前日志和后曰志的存储处理的图26是用于说明根据第四实施例的对于存储器系统的管理信息的恢复处理的图27A至27D是用于说明针对用于管理信息的恢复的日志的选择方法的图(1);
图28E至28G是用于说明针对用于管理信息的恢复的日志的选择方法的图(2);
图29H至291是用于说明针对用于管理信息的恢复的日志的选择方法的图(3);
图30A至30C是用于说明根据本发明第五实施例对前日志和后日志的存储顺序以及对于数据管理单元的后日志的打开顺序的图31A和31B是用于说明用于前日志的逻辑块和用于后日志的逻辑块的图32是根据本发明第七实施例在管理信息存储区中存储的管理信息存储信息的内容的示例的示意图33是根据第七实施例的由存储器系统执行的管理信息的存储处理过程的示例的流程图34是用于说明根据笫七实施例的由存储器系统执行的前日志和后日志的存储处理的图35是根据第七实施例由存储器系统执行的管理信息的恢复处理过程的流程图;以及
图36是用于说明根据第七实施例的存储器系统的恢复处理图。
具体实施例方式
以下参考附图详细说明了根据本发明的存储器系统的示例性实施例。本发明不受限于这些实施例。 第一实施例
根据本发明的第 一实施例的存储器系统是作为多值存储器的一种使用
存储单元晶体管(在下文说明的NAND存储器12)存储数据的系统。而 且,此存储器系统在数据写入处理之前以及在数据写入处理之后存储日志, 作为针对所述数据写入处理的日志(用于存储器系统的管理信息的差异信 息)。在数据写入处理之前存储的日志被称为前日志,而在数据写入处理 之后存储的日志;波称为后日志。在第一实施例中,以相同大小创建前日志 和后日志,并且它们被存储在不同块的相同页(位置)中。前日志和后日 志从各块的首页开始被顺序存储,并包含相同信息。当电源的异常隔离(例 如短时中断)或类似情形发生时,通过使用前日志或后日志,管理信息被 恢复为电源的异常隔离之前的状态。在第一实施例中,电源的异常隔离被 假定为是短时中断。
首先给出的是根据第一实施例的存储器系统的概观。此后,说明该存 储器系统的特性和修改。存储器系统包括非易失性半导体存^i殳备,并被 用作为诸如个人计算机的主机设备的次级存^i殳备(SSD:固态驱动器)。 存储器系统具有以下功能存储由主机设备请求写入的数据,以及读出由 主机设备请求读出的数据,并将数据输出到主机设备。图l是根据第一实 施例的存储器系统10的配置的示例的框图。该存储器系统10包括作为 第一存储单元的DRAM (动态随才A^:^储器)11、作为第二存储单元的 NAND闪速存储器(下文中称为"NAND存储器,,)12、电源电路13、以 及作为控制器的驱动控制单元14。
DRAM 11 ;故用作为用于数据传送、管理信息记录或者工作区的存储 单元。特别地,当DRAM 11被用作为用于数据传送的存储单元时,DRAM 11被用于在由主机设备请求写入的数据被写入NAND存储器12之前临时 存储该数据,并且DRAM 11被用于从NAND存储器12读出由主机设备 请求读出的数据,并临时存储所读取的数据。当DRAM ll被用作为用于 管理信息记录的存储单元时,DRAM 11被用于存储管理信息,所述管理信息用于管理在DRAM 11和NAND存储器12中存储的数据的存储位置。 当DRAM ll被用作为用于工作区的存储单元时,例如当管理信息被恢复 时所使用的多个前日志和后日志( 一个前日志和一个后日志)的扩展期间, 使用DRAM 11。
NAND存储器12被用作为用于在其中存储数据的存储单元。特别地, NAND存储器12在其中存储由主机设备指定的数据,以及在其中存储用 于M的、由DRAM11管理的管理信息。在图1中,包括四个信道120A 至120D的NAND存储器12已经被示出作为示例。信道120A至120D中 的每个包括两个封装(package) 121,每个封装包括具有预定大小(例如 2GB)的存储容量的八个芯片122。信道120A至120D经由驱动控制单元 14和总线15A至15D进行连接。
电源电路13接收外部电源并从外部电源产生将供给存储器系统10的 各个单元的多种内部电源。电源电路13探测外部电源的状态,即,上升沿 或下降沿,并基于所探测的状态生成通电复位信号,以及将通电复位信号 输出到驱动控制单元14。
驱动控制单元14控制DRAM 11和NAND存储器12。如稍后详细说 明的,例如,驱动控制单元14根据来自电源电路13的通电复位信号,执 行用于管理信息的恢复处理,以及用于管理信息的存储处理。驱动控制单 元14经由ATA接口 ( I/F )将数据传送到主机设备以及从主机设备接收数 据,以及经由RS232C I/F将数据传送到除4fi殳备以及从除4^殳备接收数 据。此外,驱动控制单元14输出用于控制LED的开/关的控制信号,所述 LED用于在存储器系统10的外部上提供的状态显示。
以下详细说明NAND存储器12的配置。通过在基底上排列多个块(擦 除单元区)来配置NAND存储器12,所述多个块是数据擦除的单元。图2 是NAND存储器12的任意块的配置的示例的电路图。在图2中,左右方 向净皮i殳为X方向,而垂直于X方向的方向被i殳为Y方向。
NAND存储器12的每个块BLK包括沿着X方向顺序排列的(m+1) (m是大于等于0的整数)个NAND串NS。每个NAND串NS具有(n+1)(n是大于等于0的整数)个存储器单元晶体管MT0至MTn,它们共享 在Y方向中彼此相邻的存储器单元晶体管MT之间的扩散区(源区或漏 区)。此外,存储器单元晶体管MT0至MTn在Y方向上串联连接。另夕卜, 在一行所述(n+l)个存储器晶体管MT0至MTn的两端设置了选择晶体 管ST1和ST2。
每个存储器单元晶体管MT0至MTn是具有在半导体基底上构成的层 叠的栅极结构的MOSFET (金属氧化物半导体场效应晶体管)。层叠的栅 极结构包括经由栅极绝缘膜在半导体基底上构成的电荷累积层(浮动栅 电极)以及经由栅极间绝缘膜在电荷累积层上构成的控制栅电极。此外, 存储器单元晶体管MT0至MTn是多值存储器,其中阈值电压根据累积在 浮动栅电极中的电子的数目而改变,并且可根据阈值电压的差异而存储两 个或更多个位数据。
尽管存储器单元晶体管MT0至MTn被说明为多值存储器,但存储器 单元晶体管MT0至MTn也可以是存储1位数据的二进制存储器。在以下 说明中,假定存储器单元晶体管MT0至MTn是可以存储四进制值的多值 存储器。不过,存储器单元晶体管MT0至MTn可以是可存储大于四进制 值的值的多值存储器。
字线WL0至WLn分别连接于每个NAND串NS的存储器单元晶体管 MT0至MTn的控制栅电极。每个NAND串NS中的存储器单元晶体管 MTi(i-0至n)由相同的字线(i=0至n )共同连接。换句话说,在块BLK 中的相同行上呈现的存储器单元晶体管MTi的控制栅电极连接于相同的 字线WLi。连接于相同的字线WLi的(m+l)个存储器单元晶体管MTi 被看成是一个页。在NAND存储器12中,以页为单位执行对数据的写入 和读出。特别地,连接于相同的字线WLi的一组(m+l)个存储器单元晶 体管MTi是构成一个页的一个单元。在可以存储四进制值的多值存储器的 情形中,连接于相同的字线WLi的一组存储器单元晶体管Mti形成两个页。 当其中数据被首先写入的页被设为低位页,而其中数据接下来被写入的页 被设为高位页时,在NAND存储器12中,以页为单位执行对数据的写入和读出。
位线BL0至BLm分别连接于一个块BLK中的(m+l)个选择晶体管 ST1的漏极。选择栅极线SGD共同连接于每个NAND串NS的选择晶体 管ST1的栅极。选择晶体管ST1的源极连接于存储器单元晶体管MT0的 漏极。类似地,源极线SL共同连接于一个块BLK中的(m+l)个选择晶 体管ST2的源极。选择栅极线SGS共同连接于每个NAND串NS的选择 晶体管ST2的栅极。选择晶体管ST2的漏极连接于存储器单元晶体管MTn 的源极。
尽管图中未示出, 一个块BLK中的位线Blj (j=0至m)将选择晶体 管ST1的漏极与其它块BLK的位线BLj之间共同连接。换句话说,块BLK 中的相同列中的NAND串NS通过相同的位线BLj相连接。
接下来i兌明DRAM 11和NAND存储器12的功能配置。图3A是 DRAM 11的功能配置的示意图,而图3B是NAND存储器12的功能配置 的示意图。如图3A所示,DRAM 11包括其中存储由主机设备请求写入 的数据的写入高速緩冲存储器区、其中存储由主机设备请求读出的数据的 读取高速緩冲存储器区RC、其中存储用于管理在DRAM 11和NAND存 储器12中存储的数据的存储位置的管理信息的管理信息存储区111、以及 当恢复管理信息时使用的工作区112。
如图3B所示,NAND存储器12包括其中存储由主机设备请求写入 的数据的数据存储区125、以及其中存储在DRAM 11的管理信息存储区 111中进行管理的管理信息的管理信息存储区126。在管理信息存储区126 中,作为管理信息,存储了下文说明的快照、前日志、后日志、下文说明 的指针230等等。在此示例中,在NAND存储器12中的数据写入和读出 单位被设为页大小单位。擦除单位被设为块大小单位(例如512KB)。因 此,用于存储以块大小为单位管理的NAND存储器12的各个块的区被进 一步划分为以页大小为单位的区。当页大小为4KB且块大小为512KB时, 则一个块包含128个页。
以下说明在DRAM 11的管理信息存储区111中管理的管理信息。图4是用于管理存储器系统10中存储的数据的层结构的示例的图。这里假定 该数据是主机设备请求写入或读出的数据。在存储器系统IO中,通过三层 结构执行数据管理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 ll上的预定范围内的物理 地址中(下文中称为"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中,由于可重写次数是有限的, 因此在配置NAND存储器12的块之中的可重写次数由驱动控制单元14所 控制,以使其均衡。换句话说,当执行对于在NAND存储器12中的某个 NAND内物理地址中写入的数据的更新时,驱动控制单元14执行控制以 使在构成NAND存储器12的块当中的重写次数均衡,以便在不同于初始 块的一个块中写入反映其中包括将更新的数据的块中的需要更新的部分的
16数据,以及使初始块无效。
如上所述,在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存储器12中的NAND内 逻辑地址和NAND内物理地址之间的对应关系。
图6示出了表格形式的逻辑NAND管理信息42的示例。图7示出了 表格形式的NAND内逻辑-物理转换信息43的示例。如图6所示,逻辑 NAND管理信息42包括逻辑页管理信息42a和逻辑块管理信息42b。逻辑 页管理信息42a针对一个页大小的一个逻辑区具有一个条目。每个条目包 括 一个页大小的数据的LBA、 NAND内逻辑地址(逻辑NAND块地址)、 以及指示出此页是否有效的页标志。逻辑块管理信息42b包括:针对NAND 存储器12的一个块大小的物理区进行设置的NAND内物理地址(物理块 地址)。如图7所示,在NAND内逻辑-物理转换信息43中,将NAND 存储器12的NAND内物理地址与NAND内逻辑地址相关联。
通过使用这些类型的管理信息,可以建立在主机设备中使用的LBA、 在NAND存储器12中使用的NAND内逻辑地址、以及在NAND存储器 12中使用的NAND内物理地址的对应。这使得在主机设备和存储器系统 10之间交换信息成为可能。
17由于断电或类似原因,由DRAM管理层31所管理的管理信息丟失, 从而该管理信息可以被称为易失性表。相反地,如果由于断电或类似原因, 由逻辑NAND管理层32以及物理NAND管理层33所管理的管理信息丢 失,则所丢失的管理信息会阻碍存储器系统10的成功启动,从而需要采取 措施以使得即使在断电或类似原因的情况下也能存储该管理信息。因此, 该管理信息可以被称为非易失性表。
该非易失性表管理在NAND存储器12中存储的数据。如果非易失性 表不存在,则在NAND存储器12中存储的信息无法,皮存取,或者在区中 存储的数据4皮擦除。因此,作为突然断电的准备,非易失性表需要作为最 新信息被存储。因此,在第一实施例中,将至少包括非易失性表的管理信 息以最新状态存储在NAND存储器12的管理信息存储区126中。以下说 明在NAND存储器12的管理信息存储区126中存储的管理信息存储信息。 以下说明假定仅有非易失性表存储在管理信息存储区126中。
图8是在管理信息存储区126中存储的管理信息存储信息200的示例 的示意图。管理信息存储信息200包含作为非易失性表在某一点的内容 的快照210、前日志220A、后日志220B、以及指针(管理信息存储位置 指示信息)230。
快照210是通过存储在DRAM 11的管理信息存储区111中存储的各 类管理信息中的至少包括在预定点的非易失性表的管理信息而获得的信 息。
前日志220A和后日志220B是在当非易失性表的内容中存在改变时在 内容故改变之后的非易失性表与快照210 (或快照210和已生成的日志) 之间的差异信息。特别地,在得到快照210之后的第一前日志220A和第 一后日志220B是非易失性表和快照210之间的差异信息。在得到快照210 之后的第二或后续前日志220A是已生成的前日志220A与快照210的结合 和非易失性表之间的差异信息。在得到快照210之后的第二或后续后曰志 220B是已生成的后日志220B与快照210的结合和非易失性表之间的差异 信息。前日志220A是在管理信息被实际更新之前生成的信息。因此,在通 过执行数据写入处理或类似处理而实际更新管理信息之前,基于与管理信 息如何被更新有关的更新安排,生成前日志220A。
后日志220B是在管理信息被实际更新之后生成的信息。因此,在根 据执行数据写入处理或类似处理而实际更新管理信息之后,生成后日志 220B。在第一实施例中,前日志220A的数据大小和后日志220B的数据大 小是相同的。前日志220A和后日志220B各自从不同块的首页开始,皮顺序 存储。于是,前日志220A和后日志220B被存储在不同块的同一页中。后 日志220B可以是通过拷贝前日志220A而获得的信息,或者类似于前日志 220A,后日志220B可以是非易失性表与基于非易失性表与快照210 (或 快照210和之前生成的日志)计算的快照210之间的差异信息。
指针230指示出快照210的位置、在存储快照210之后首先获得的 前日志220A的位置(第一页)、以及在存储快照210之后首先获得的后 日志220B的位置(第一页)。
快照210、前日志220A、后日志220B、以及指针230净皮存储在不同 块中。快照210,皮存储在用于快照存储的块中。快照210包括作为NAND 存储器12的管理信息存储区126中的非易失性表的逻辑NAND管理信息 42和NAND内逻辑-物理转换信息43。当将要存储新快照210时,其被存 储在与之前存储的快照210的块不同的一个块中。
前曰志220A和后日志220B分别4皮存储在日志存储块中。当对快照 210的生成改变时,前日志220A和后日志220B从新的日志存储块的首页 开始被写入。
图9示出了日志的示例。由于前日志220A和后日志220B具有相同信 息,所以将前日志220A作为日志的示例进行说明。前日志220A包括将 成为改变目标的管理信息的目标信息、作为将成为目标信息中的改变目标 的条目的目标条目、作为将成为目标条目中的改变目标的项目的目标项目、 以及作为目标项目的改变的内容的改变内容。
指针230被存储在指令信息存储块中。指针230仅须是指示用于指示出快照210、前日志220A和后日志220B的存储位置的块的顶端地址的指 针。然而,在指针230中指示出快照210的存储位置的部分可以是指示出 在快照210中包括的各类管理信息的顶端地址的部分。当快照210被重新 存储时或当快照存储块或日志存储块被改变时,更新指针230。前日志220A 和后日志220B的指针可以被存储在快照210中而不是指令信息存储块中。
以下说明驱动控制单元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包括执行DRAM 11和NAND存储器12之间的数据传送的数据传送 处理单元151、根据在DRAM 11和NAND存储器12中存储的数据的改变 来执行管理信息的改变和存储的管理信息管理单元152、以瓦基于在通电 或类似情况期间存储的管理信息恢复最新的管理信息的管理信息恢复单元 155。
管理信息管理单元152包括管理信息写入单元153和管理信息存储单 元154。当根据针对由数据传送处理单元151在DRAM 11或NAND存储
管理信息写入单元153执行对在DRAM 11中存储的管理信息的更新。 当存储器系统10满足预定条件时,管理信息存储单元154在NAND存储器12的管理信息存储区126中存储作为快照210的管理信息、作为前 曰志220A的将在管理信息中更新的信息、以及作为后日志220B的在管理 信息中的已更新信息。当根据快照210、前日志220A或后日志220B的存 储改变在指针230中写入的位置时,管理信息存储单元154将更新处理应 用到指针230。
根据存储器系统的预定条件(情形),例如,当在NAND存储器12 的管理信息存储区126中提供用于存储日志220 (前日志220A和后日志 220B)的日志存储区被填满(该区被数据填满)时,执行由管理信息存储 单元154存储的快照210。
管理信息存储单元154存储前日志220A和后日志220B的时刻是 (当需要在NAND存储器12中写入数据时)通过管理信息写入单元153 在NAND存储器12上的涉及对存储在DRAM 11中的管理表(非易失性 表)的更新的数据更新时间。特别地,在用于写入数据的处理之前和之后 存储前日志220A和后日志220B。
当存储器系统10的电源接通时,管理信息恢复单元155基于在NAND 存储器12的管理信息存储区126中存储的管理信息存储信息200执行针对 管理信息的恢复处理。特别地,管理信息恢复单元155顺序地跟踪指针230、 快照210、前日志220A和后日志220B,并确定对应于最新快照210的前 曰志220A和后日志220B是否存在。当前日志220A和后日志220B不存 在时,管理信息恢复单元155确定存储器系统10的末端是标准(normal) 端,并且在DRAMll中恢复作为管理信息的、快照存储块中的快照210。 当前日志220A和后日志220B存在时,管理信息恢复单元155从快照存储 块获得快照210,从日志存储块获得前日志220A或后日志220B,以及执 4亍反映了 DRAM 11上的快照210上的前日志220A或后日志220B的管理 信息(非易失性表)的恢复。
以下说明由管理信息管理单元152执行的针对存储器系统10的管理信 息的存储处理。图12是针对存储器系统10的管理信息的存储处理过程的 示例的流程图。图13是用于说明根据第一实施例的针对存储器系统10的前日志和后日志的存储处理的图。存储器系统10连接于主机设备,并作为 主机设备的次级存储设备进行工作。主机设备(存储器系统10)处于已启 动状态。在主机设备的启动状态之前,在存储器系统10停止之前存储快照 210。首先,基于在主机设备(存储器系统10)的上一次结束(lastend)时 存储的快照210,主机设备(存储器系统10 )处于已启动状态(步骤Sll)。 此后,当必要时从主机设备执行向NAND存储器12中的数据写入。管理 信息管理单元152确定快照存储条件是否满足(例如,日志存储区是否已 满)(步骤S12)。当快照存储条件不满足时(步骤S12的"否"),管 理信息管理单元152确定涉及对管理信息的更新(对数据的写入等等)的 指令是否被接收(步骤S13)。当涉及对管理信息的更新的指令未被接收 时(步骤S13的"否"),管理信息管理单元152返回步骤S12。当涉及对管理信息的更新的指令被接收时(步骤S13的"是"),管 理信息管理单元152通过执行该指令确定指示出管理信息将如何被更新的 更新安排(步骤S14 )。管理信息管理单元152将更新安排存储在NAND 存储器12的管理信息存储区126的日志存储块中作为前日志220A (步骤 S15)。当前日志220A尚未被存储在日志存储块中时,更新安排(前日志) 是在管理信息被更新的时候的非易失性表和在快照存储块中存储的快照 210之间的差异信息。当前日志220A (过去的前日志220A)已被存储在 日志存储块中时,更新安排(前日志)是在管理信息被更新的时候的非易 失性表与快照210和过去的前日志220A的结合之间的差异信息。例如, 如图13所示,在数据写入(X)被执行作为针对第X个数据的写入处理之 前,对应于数据写入(X)的前日志(X)被存储在NAND存储器12中作 为前日志220A。前日志(X)是在过去的前日志220A未被存储在日志存 储块中的时候的日志,并且是在管理信息被更新的时候的非易失性表与快 照210之间的差异信息。换句话说,前日志(X)是在获得快照210之后 的第一前日志。在此情形中,前日志(X)被存储在块50A (用于前日志22例如在前日志220A (更新安排)存储在 DRAM 11之后,前日志220A被存储在NAND存储器12的管理信息存储 区126中。随后,管理信息写入单元153执行在步骤S13接收的指令(步骤S16 )。 作为这种指令的示例,存在针对在NAND存储器12的数据存储区的预定 块中的用户数据的写入处理。特别地,在NAND存储器12中的数据存储 区125中的数据写入(X)被执行。此后,在DRAM 11中存储的管理信息根据所执行的处理被更新。管 理信息存储单元154在NAND存储器12的管理信息存储区126中存储管 理信息中的已更新信息作为后日志220B (步骤S17)。当后日志220B尚 未被存储在日志存储块中时,后日志220B是在当前点的非易失性表与在 快照存储块中存储的快照210之间的差异信息。当后日志220B (过去的后 曰志220B)已经存储在日志存储块中时,后日志220B是在当前点的非易 失性表与在快照210和过去的后日志220B的结合之间的差异信息。从而,对应于数据写入(X)的后日志220B (X)被存储在NAND存 储器12中作为后日志220B。后日志220B净皮存储在块50B (不同于块50A 的一个块)中的页(1)(与前日志220A相同的首页)中。以此方式,后 曰志MOB被存储在不同于前日志220A的块中,以及被存储在与其中存储 日志220A的页相同的页中。此外,被存储作为后日志220B的信息是与被 存储作为前日志220A的信息相同的信息。例如在后日志220B被记录在 DRAM 11上之后,后日志220B被存储在NAND存储器12的管理信息存 储区126中。此后,管理信息管理单元152返回步骤S12。当快照存储条件不满足(步骤S12的"否"),并且涉及管理信息的 更新的指令净皮接收(步骤S13的"是")时,重复步骤S14至S17的处理。 特别地,以针对第X个数据的写入处理相同的方式,执行针对第(X+l) 个数据的写入处理。换句话说,在执行作为针对第(X+l)个数据的写入 处理的数据写入(X+l)之前,对应于数据写入(X+l)的前日志(X+l) 被存储在NAND存储器12中作为前日志220A。前日志220A被存储在块50A中的页(2)中。在NAND存储器12中的数据存储区125中执行数据写入(X+l)。 此外,对应于数据写入(X+l)的后日志(X+l)被存储在NAND存储器 12中作为后日志220B。后日志220B被存储在块50B中的页(2 )的位置 中。以此方式,后日志220B^皮存储在不同于前日志220A的块中,以及#皮 存储在与其中存储前日志220A的页相同的页中。此外,被存储作为后曰 志220B的信息以及被存储作为前日志220A的信息是相同的信息。当在步骤S12快照存储条件已满足时(步骤S12的"是"),DRAM 11的管理信息存储区111中包括至少非易失性表的管理信息被存储在 NAND存储器12的管理信息存储区126中,作为快照210 (步骤S18 )。 在此时,管理信息存储单元154将块50A的第一页的位置(地址)以及块 50B的第一页的位置(地址)存储在指针230中,作为第一前日志和第一 后日志的存储位置。例如,管理信息存储单元154将块50A的ID和第一 页的ID (有效的首页ID )存储在指针230中,以及将块50B的ID和第一 页的ID (有效的首页ID)存储在指针230中。管理信息管理单元152确定是否指到存储器系统10的结束(步骤 S19)。当没有指到存储器系统10的结束时,管理信息管理单元152返回 步骤S12。当指到存储器系统10的结束时,所述处理完成。以下说明由管理信息恢复单元155执行的对于存储器系统10的管理信 息的恢复处理。图14是根据第一实施例对于存储器系统10的管理信息的 恢复处理过程的流程图。图15是用于说明根据第一实施例对于存储器系统 的管理信息的恢复处理的图。存储器系统10连接于主机设备,并作为主机 设备的次级存储设备进行工作。例如才艮据从短时中断的恢复,主机设备的电源接通,并且向存储器系 统10发出启动指令(步骤S31)。管理信息恢复单元155读取NAND存 储器12的管理信息存储区126中的指针230 (步骤S32 ),并获得其中存 储快照210的块的地址以及其中存储前日志和后日志(前日志220A和后 日志220B)的块的地址(步骤S33)。此后,管理信息恢复单元155从快照存储块获得快照210,以及恢复 DRAM 11的管理信息存储区111中的快照210 (步骤S34)。管理信息恢复单元155将擦除页搜索应用到NAND存储器12中用于 前日志的块和用于后日志的块(步骤S35)。擦除页搜索是一种方法,其(擦除页),以及是一种方法,其确定例如具有ECC餘溪且具有小于或 等于预定数量的多个"0" ( "0"指示出无擦除状况)的页作为擦除页。 换句话说,在步骤S35,管理信息恢复单元155搜索最后被写入块中的页。管理信息恢复单元155确定在其中存储了前日志220A的页中,哪个 页是最后的页(就在擦除页前一个的页)。管理信息恢复单元155确定在 其中存储了后日志220B的页中,哪个页是最后的页。管理信息恢复单元 155确定其中存储了前日志220A的最后页与其中存储了后日志220B的最 后页是否相同(步骤S36)。根据第一实施例的管理信息恢复单元155基 于其中存储了前日志220A的最后页与其中存储了后日志220B的最后页是 否相同的确定结果,选择前日志220A和后日志220B之一作为用于管理信 息的恢复的日志。当在其中存储了日志220A和220B的块中不存在擦除页 时,管理信息恢复单元155确定块的最后页是最后日志。当在后日志220B的存储期间出现短时中断时,对应于后日志220B的 前日志220A和正净皮存储的后日志220B被存储在用于前日志的块和用于后 曰志的块中。在此情形中,在第一实施例中,前日志220A和后日志220B 被存储在不同块的相同页中。因此,其中存储了前日志220A的最后页和 其中存储了后日志220B的最后页是相同的。由于在对后日志220B的存储 期间已经出现了短时中断,后日志220B可以由于该短时中断而被中断。 因此,当在对后日志220B的存储期间出现短时中断时,使用前日志220A 来恢复管理信息是必要的。因此,当根据第一实施例的管理信息恢复单元155确 其中存储了前 日志220A的最后页(页数)与其中存储了后日志220B的最后页(页数) 相同时(步骤S36的"是,,),管理信息恢复单元155选择前日志作为将被用于恢复管理信息的日志(步骤S37)。另一方面,当在对应于数据写入的前日志220A的存储期间出现短时 中断时,仅对应于数据写入的前日志220A被存储在用于前日志的块中。 对应于数据写入的后日志220B未被存储在用于后日志的块中。在此情形 中,在第一实施例中,前日志220A和后日志220B^皮存储在不同块的相同 页中。因此,其中存储了前日志220A的最后页和其中存储了后日志220B 的最后页是不同的。由于在对前日志220A的存储期间已经出现了短时中 断,前日志220A可以由于该短时中断而被中断。因此,当在对前日志220A 的存储期间出现短时中断时,使用前日志220B来恢复管理信息是必要的。因此,当根据第一实施例的管理信息恢复单元155确定其中存储了前 曰志220A的最后页与其中存储了后日志220B的最后页不同时(步骤S36 的"否"),管理信息恢复单元155选择后日志220B作为将被用于恢复 管理信息的日志(步骤S38)。此后,管理信息恢复单元155从日志存储块获得了前日志220A和后 日志220B中的所选一个的第一日志至最新日志,并且将所述日志扩展到 DRAM 11的工作区112中(步骤S39 )。管理信息恢复单元155将日志从 最旧一个开始按顺序反映到快照210上,并恢复管理信息(非易失性表) (步骤S40)。对于管理信息的恢复处理完成。特别地,如图15所示,擦除页搜索被应用于其中存储了前日志220A 的块50A( 1),以及擦除页搜索被应用于其中存储了后日志220B的块50B (2)。确定前日志220A和后日志220B的最后页(页数)是否相同(3 )。 当前日志220A和后日志220B的最后页相同时,通过^f吏用前日志220A恢 复管理信息(4)。当前日志220A和后日志220B的最后页不同时,通过 使用后日志220B恢复管理信息(5 )。图16A至16D是存储器单元中的数据与存储单元的阚值电压之间的关 系以及NAND存储器中的写入顺序的示例的图。首先,当执行擦除操作时, 存储器单元中的数据被设为"0"。随后,如图16A所示,当执行写入低200980000137.4
说明书第21/52页
位页时,存储器单元中的数据改变为数据"0"和数据"2"。如图16B所 示,在写入高位页之前,等于或低于实际数据的阈值电压的数据被写入相 邻单元。接着,通过被写入单元中的数据来扩展数据"2"的阈值的分布。 此后,当高位页的数据被写入时,存储器单元中的数据改变为具有初始阈 值电压的数据"0"至"3",如图16C所示。在第一实施例中,从低阈值 电压到高阈值电压来限定存储器单元中的数据。
说明NAND存储器12中的写入处理。如图16D所示,对于来自靠近 块中的源极线的存储器单元的每个页,执行写入操作。在图16D中,为了 便于说明,示出了四个字线。
在第一写入中(由圏1表示),1位数据被写入存储器单元1的低位 页中。在第二写入中(由圏2表示),1位数据被写入在字方向上与存储 器单元1相邻的存储器单元2的低位页中。在第三写入中(由圏3表示), 1位数据被写入在位方向上与存储器单元1相邻的存储器单元3的低位页 中。在第四写入中(由圏4表示),1位数据被写入在对角线方向上与存 储器单元1相邻的存储器单元4的低位页中。
在第五写入中(由圏5表示),1位数据被写入存储器单元1的高位 页中。在第六写入中(由圏6表示),1位数据被写入在字方向上与存储 器单元1相邻的存储器单元2的高位页中。在第七写入中(由圏7表示), 1位数据^L写入在位方向上与存储器单元3相邻的存储器单元5的低位页 中。在第八写入中(由圈8表示),1位数据被写入在对角线方向上与存 储器单元3相邻的存储器单元6的低位页中。
在第九写入中(由圏9表示),1位数据被写入存储器单元3的高位 页中。在第十写入中(由圏10表示),1位数据被写入在字方向上与存储 器单元3相邻的存储器单元4的高位页中。在第十一写入中(由圏11表示), 1位数据被写入在位方向上与存储器单元5相邻的存储器单元7的低位页 中。在第十二写入中(由圏12表示),l位数据被写入在对角线方向上与 存储器单元5相邻的存储器单元8的低位页中。
在第十三写入中(由圏13表示),l位数据被写入存储器单元5的高位页中。在第十四写入中(由圏14表示),1位数据被写入在字方向上与 存储器单元5相邻的存储器单元6的高位页中。在第十五写入中(由圏15 表示),1位数据4皮写入存储器单元7的高位页中。在第十六写入中(由 圏16表示),l位数据被写入在字方向上与存储器单元7相邻的存储器单 元8的高位页中。
接下来说明一种针对用于管理信息的恢复的日志的选择方法的特定示 例。图17A至191是用于说明针对用于管理信息的恢复的日志的选择方法 的图。在图17A至19I中,对于用于前日志的块(每幅图中左侧的块)和 用于后日志的块(每幅图中右侧的块)中的每个页,存储前日志和后日志。 在图17A至19I中的一个物理块中的页对应于图16A至16D。换句话说, 页1至4、 7至8、以及11至12是图16A至16D中所示的低位页。页5 至6、 9至10、以及13至16是图16A至16D中所示的高位页。在用于前 日志的块和用于后日志的块中,块中的每一行对应于一个页。在图17A至 191中,为便于说明,页被分为低位页和高位页。低位页和高位页的组合 构成一个物理块。
在图17A至19I中,正常保存的日志被示为日志xl,由于短时中断被 中断的日志被示为日志yl,而当前正被写入的日志被示为zl。由于在对于 日志zl的写入期间出现短时中断,并且日志yl;故中断,因此对应于日志 zl的页的存储器单元与对应于日志yl的页的存储器单元是相同的。日志 yl的页是低位侧的页(低位页),而日志zl的页是高位侧的页(高位页)。 在每个块的日志(页)中,画圏的日志是净皮选择作为用于管理信息的恢复 的曰志的日志。
图17A是正常时(当电源的异常隔离没有出现,且电源被断开时)的 前曰志和后日志的图。图17B至18G是当短时中断已经出现的时候的前曰 志和后日志的图。
在图17A中,示出了当存储器系统10的电源被断开而没有存储快照 210时在NAND存储器12中存储的前日志和后日志。在图17A的情形中, 由于数据仅被写入低位页(页1至4),因此,即使在写入低位页期间出现短时中断,低位页数据中断也不会出现。如图17A所示,在第一实施例 中,前日志和后日志净皮存储在不同块的相同页中。因此,当电源在正常时 间断开时,前日志的最后页和后日志的最后页处于相同的页位置。因此, 在此情形中,通过使用前日志恢复管理信息。在图17A中示出的正常时, 可以通过使用后日志而不是前日志来恢复管理信息。
在图17B中,当作为前日志执行"日志写入(1)"时出现短时中断。 如图17B所示,当在写入前日志的高位页(页6)期间出现短时中断时, 在对应于被写入的高位页的低位页(前日志的页2)中出现低位页数据中 断。换句话说,在图17B的情形中,由于在前日志的存储期间出现短时中 断,在前日志侧的块中生成日志yl。在此情形中,对应于"日志写入(l)" 的日志zl (当前4皮存储的日志)^皮存储在前日志侧的块中。另一方面,对 应于"日志写入(1)"的后日志未净皮存储在后日志侧的块中。因此,前日 志的最后页和后日志的最后页包含不同的信息。在此情形中,通过使用后 日志恢复管理信息。
在图17C中,当作为后日志执行"日志写入(1)"时出现短时中断。 如图17C所示,当在写入后日志的高位页(页6)期间出现短时中断时, 在对应于被写入的高位页的低位页(后日志的页2)中出现低位页数据中 断。换句话说,在图17C的情形中,由于在后日志的存储期间出现短时中 断,在后日志侧的块中生成日志yl。在此情形中,对应于"日志写入(l)" 的日志zl ^皮存储在后日志侧的块中。对应于"日志写入(1)"的前日志 已被存储在前日志侧的块中。因此,前日志的最后页和后日志的最后页是 相同的。在此情形中,通过使用前日志恢复管理信息。
在图17D中,在作为前日志执行"日志写入(1)"之后,在对应于 前日志的数据写入期间出现错误。当对应于数据写入的重写处理而作为前 日志执行"日志写入(2)"时出现短时中断。如图17D所示,当写入前 日志的高位页(页6)期间出现短时中断时,在对应于被写入的高位页的 低位页(前日志的页2)中出现低位页数据中断。换句话说,在图17D的 情形中,由于在前日志的存储期间出现短时中断,在前日志侧的块中出现日志yl。在此情形中,对应于"日志写入(l)"的日志xl与对应于"日 志写入(2)"的日志zl祐:存储在前日志侧的块中。另一方面,对应于"日 志写入(1)"的后日志和对应于"日志写入(2)"的后日志未被存储在 后日志侧的块中。因此,前日志的最后页和后日志的最后页包含不同的信 息。在此情形中,通过使用后日志恢复管理信息。
在图18E中,在作为前日志执行"日志写入(1)"之后,在对应于 前日志的数据写入期间出现错误,并且,对应于数据写入的重写处理而作 为前日志执行"日志写入(2)"。此外,在图18E中,在对应于数据写 入的重写处理而作为后日志执4亍"日志写入(2),,之后,当对应于第一数 据写入而作为后日志执行"日志写入(1)"时,出现短时中断。如图18E 所示,当写入后日志的高位页(页6)期间出现短时中断时,在对应于被 写入的高位页的低位页(后日志的页2)中出现低位页数据中断。换句话 说,在图18E的情形中,由于在后日志的存储期间出现短时中断,在后日 志侧的块中生成日志yl。在此情形中,对应于"日志写入(1)"的日志 xl与对应于"日志写入(2 )"的日志xl被存储在前日志侧的块中。另一 方面,对应于"日志写入(2)"的日志xl和对应于"日志写入(1)"的 日志zl被存储在后日志侧的块中。因此,前日志的最后页和后日志的最后 页是相同的。通过4吏用前日志恢复管理信息。
在图18F中,在作为前日志执行两个页上的"日志写入(l)"时出 现短时中断。如图18F所示,当写入前日志的高位页(页5和页6)期间 出现短时中断时,在对应于被写入的高位页的低位页(后日志的页l和页 2)中出现4氐位页数据中断。换句话说,在图18F的情形中,由于在前日 志的存储期间出现短时中断,在前日志侧的块中出现日志yl (例如页2)。 在此情形中,对应于"日志写入(l)"的日志xl (前阶段页)与日志zl (后阶段页)被存储在前日志侧的块中。另一方面,对应于"日志写入(1)" 的后日志未被存储在后日志侧的块中。因此,前日志的最后页和后日志的 最后页是不同的。通过使用后日志恢复管理信息。
在图18G中,在作为后日志执^f亍两个页上的"日志写入(1)"时出
30现短时中断。如图18G所示,当写入后日志的高位页(页6和页7)期间 出现短时中断时,在对应于被写入的高位页的低位页(后日志的页l和页 2)中出现低位页数据中断。换句话说,在图18G的情形中,由于在后日 志的存储期间已经出现短时中断,在后日志侧的块中生成日志yl (例如页 2 )。在此情形中,对应于"日志写入(1)"的日志xl与日志zl被存储 在后日志侧的块中。对应于"日志写入(1),,的后日志已经被存储在前日 志侧的块中的两个页上。因此,前日志的最后页和后日志的最后页是相同 的。通过使用前日志恢复管理信息。
在图19H中,在作为前日志在两个块上的"日志写入(1)"中执行 第二块中的日志写入时,出现短时中断。在此情形中,尽管在前日志的存 储期间已经出现短时中断,但日志yl未在前日志侧的块中生成,因为第二 块是第一页(低位页)。在此情形中,在前日志侧的块中,对应于"日志 写入(l)"的日志xl被存储在第一块的最后页中,而对应于"日志写入 (l)"的日志zl净皮存储在第二块的第一页中。另一方面,对应于"日志 写入(1)"的后日志未被存储在后日志侧的块中。因此,前日志的最后页 和后日志的最后页是不同的。通过使用后日志恢复管理信息。
在图191中,在作为前日志在两个块(两个页)上的"日志写入(l)" 中执行第二块中的日志写入之后,在对应于该日志的数据写入期间出现错 误,并且当作为"日志写入(l)"的重写处理执行"日志写入(2)"时, 出现短时中断。在此情形中,尽管在前日志的存储期间已经出现短时中断, 但日志yl未在前日志侧的块中生成,因为第二块的第二页是低位页。在此 情形中,在前日志侧的块中,对应于"日志写入(l)"的前阶段页的日志 xl被存储在第一块的最后页中,而对应于"日志写入(1)"的后阶段页 的日志xl被存储在第二块的第一页中。此外,对应于"日志写入(2)" 的日志zl净皮存储在前日志侧的笫二块的第二页中。另一方面,对应于"日 志写入(1)"的后日志和对应于"日志写入(2)"的后日志未被存储在 后日志侧的块中。因此,前日志的最后页和后日志的最后页是不同的。通 过使用后日志恢复管理信息。在第一实施例中,NAND存储器12被说明为多值存储器。不过,NAND 存储器12也可以是二进制模式的存储器。在此情形中,由于前日志和后日 志没有被短时中断中断,被存储为后曰志220B的信息不需要与被存储为 前日志220A的信息相同。因此,当NAND存储器12是二进制模式的存 储器时,后日志220B可以是用于在数据被实际更新之后许可数据被更新 的信息(更新许可信息)。
当NAND存储器12是二进制模式的存储器,且后日志220B是更新许 可信息时,如以上说明的情形中,管理信息恢复单元155在恢复管理信息 时确定其中存储前日志220A的最后页与其中存储后日志220B的最后页是 否相同。当其中存储前日志220A的最后页与其中存储后日志220B的最后 页相同时,管理信息恢复单元155使用前日志恢复管理信息。当其中存储 前日志220A的最后页与其中存储后日志220B的最后页不同时,管理信息 恢复单元155使用覆盖了后日志的前日志(位于与其中存储后日志的页相 同的页中的前日志)恢复管理信息。例如,当从第一页到第十页存储后日 志时,管理信息恢复单元155使用来自第一页到第十页的前日志恢复管理 信息。
当NAND存储器12是二进制模式的存储器时,被存储为后日志220B 的信息可以与前日志220A相同。在此情形中,管理信息恢复单元155根 据与当NAND存储器12是多值存储器时所执行的处理相同的处理来恢复 管理信息。在此情形中,当其中存储前日志220A的最后页与其中存储后 日志220B的最后页不同时,管理信息恢复单元155可以使用覆盖了后日 志的前日志恢复管理信息。
如上所述,在第一实施例中,管理信息恢复单元155基于与其中存储 前日志220A的最后页与其中存储后日志220B的最后页是否相同有关的比 较结果,选择前日志和后日志之一。此外,管理信息恢复单元155基于所 述比较结果,从来自NAND存储器12的所选前日志和后日志中提取用于 管理信息的恢复的日志(正常部分)。最后,管理信息恢复单元155使用 所提取的日志恢复管理信息。以下说明当NAND存储器12是多值存储器或是二进制模式的存储器 时由管理信息恢复单元155提取前日志或后日志。图20是用于说明在此情 形中提取的前日志或后日志的图。当在对应于处理(X-l)的后日志(X-l) 的存储期间出现短时中断(gl)时,由于数据写入(X-l)已经完成,管理 信息恢复单元155确定处理(X-l)已经完成。管理信息恢复单元155选择 前曰志(X-l)作为正常的最新的前日志。此后,管理信息恢复单元155 在获得快照210之后^f吏用从第一前日志到前日志(X-l)的前日志来恢复管 理信息(过程hl)。
当在后日志(X-l)的存储之后直到开始后日志(X)的存储的时间段 期间出现短时中断(g2)时,由于数据写入(X)未完成,管理信息恢复 单元155确定处理X未完成。管理信息恢复单元155选择后日志(X-l) 作为已完成存储的最新的后日志。此后,管理信息恢复单元155在获得快 照210之后使用从第一后日志到后日志(X-l )的后日志来恢复管理信息(过 程h2)。当NAND存储器12是二进制模式的存储器时,管理信息恢复单 元155可以选择前日志(X-l)作为已完成存储的最新的前日志。在此情形 中,管理信息恢复单元155在获得快照210之后使用从第一前日志到前曰 志(X-l)的前日志来恢复管理信息(过程h3)。
类似地,当在对应于处理X的后日志(X)的存储期间出现短时中断 (g3)时,由于数据写入(X)已经完成,管理信息恢复单元155确定处 理X已经完成。管理信息恢复单元155选择前日志(X)作为正常的最新 的前日志。此后,管理信息恢复单元155在获得快照210之后使用从第一 前日志到前日志(X)的前日志来恢复管理信息(过程h4)。
当在后日志(X)的存储之后直到开始后日志(X+l)的存储的时间段 中出现短时中断(g4)时,由于数据写入(X+l)未完成,管理信息恢复 单元155确定处理(X+l)未完成。管理信息恢复单元155选择后日志(X) 作为已完成存储的最新的后日志。此后,管理信息恢复单元155在获得快 照210之后使用从第一后日志到后日志(X)的后日志来恢复管理信息(过 程h5)。当NAND存储器12是二进制模式的存储器时,管理信息恢复单元155可以选择前日志(X)作为已完成存储的最新的前日志。在此情形 中,管理信息恢复单元155在获得快照210之后使用从第一前日志到前日 志(X)的前日志来恢复管理信息(过程h6)。
在第一实施例中,当快照210的生成^皮改变时,从新的日志存储块的 首页写入前日志220A和后日志220B。不过,即l更快照210的生成已经,皮 改变,前日志220A和后日志220B也可以持续地被写入相同的日志存储块。 在上述示例中,DRAM被用作为第一存储单元。不过,也可以使用其它易 失性半导体存储设备和非易失性半导体存储设备。
如上所述,根据第一实施例,即使当在存储器系统IO中出现短时中断 时,前日志220A和后日志220B也会被存储在不同块的相同页中。因此, 以下是可能的基于前日志220A的最后页和后日志220B的最后页容易地 确定出出现短时中断的时刻。以下也是可能的容易地确定出前日志和后 日志中的哪个日志可以被用于恢复管理信息(恢复点)。因此,存储器系 统IO可以被容易地和迅速地重置到出现异常隔离之前的状态。
由于从不同块的首页存储前日志和后日志,易于执行对于前日志和后 日志的日志管理以及块的管理。当NAND存储器12是多值存储器时,前 日志220A和后日志220B中的至少一个不会由于短时中断的原因被中断。 因此,不管何时当出现短时中断时,以下是可能的通过^f吏用前日志220A 和后日志220B之一,容易地将存储器系统10重置到出现短时中断之前的 状态。
由于前日志220A和后日志220B被存储在不同块的相同页中,以下是 可能的容易地调节获得用于前日志的块和用于后日志的块作为用于日志 的块的时刻,以及打开用于前日志的块和用于后日志的块的时刻。因此, 易于管理用于前日志的块和用于后日志的块。
第二实施例
以下参考图21和22说明本发明的第二实施例。在第二实施例中,当 后日志的日志长度(大小)超过预定长度时,其中存储后日志的块从最旧的块开始按顺序地被打开预定数量的块。
图21是根据第二实施例的数据管理单元241的功能配置的示例的框 图。数据管理单元241可以代替数据管理单元141使用。除了数据管理单 元141的组件之外,即,数据传送处理单元151、管理信息管理单元152、 管理信息恢复单元155,数据管理单元241进一步包括日志存储块打开 单元156以及重写块均衡处理单元157。
日志存储块打开单元156确定后日志的日志长度(大小)是否超过预 定长度。当后日志的日志长度超过预定长度时,日志存储块打开单元156 打开其中存储后日志的块中最旧的一个块(存储后日志达到最长时间段的 块)。
重写块均衡处理单元157执行均化(leveling)处理,以便将擦除各个 块的次数设为相同。当数据存储区125中的块与管理信息存储区126中的 块被重写到其它块时,重写块均衡处理单元157在重写目的地处选择一个 块,使得各个块的可重写次数均衡。重写块均衡处理单元157指示数据传 送处理单元151和管理信息管理单元152的管理信息存储单元154使用在 重写目的地处的所选块来执行对数据的重写。
当快照210、前日志220A、后日志220B、指针230等等被写入新块 时,重写块均衡处理单元157在写入目的地选择一个块,使得各个块的可 写次数均衡。重写块均衡处理单元157指示数据传送处理单元151、管理 信息管理单元152、以及管理信息存储单元154使用在重写目的地处的所 选块来重写数据。在此情形中,如果该块可以械 使用,则重写块均衡处理 单元157可以在写入目的地处指定一个块,而不管该块是在过去^L用作为 数据存储区125的块、还是其中存储了管理信息存储区126的块。
图22A至22C是用于说明在各个块中对前日志和后日志的存储顺序以 及对于后日志的打开顺序的图。前日志在块50A、块51A以及块52A的各 个块中按顺序存储,而后日志在块50B、块51B以及块52B的各个块中按 顺序存储。
如图22A所示,前日志从块50A的首页开始按顺序存储。后日志从块
3550B的首页开始按顺序存储。此后,如图22B所示,当前日志被写入块50A 的所有页时(1),通过使用下一个块51A来存储前日志(2)。当后日志 被写入块50B的所有页时(1),通过使用下一个块51B来存储后日志(2 )。 前日志从块51A的首页开始按顺序存储,而后日志从块51B的首页开始按 顺序存储。
当前日志被写入块51A的所有页时,通过使用下一个块52A来存储前 日志。当后日志被写入块51B的所有页时,通过使用下一个块52B来存储 后日志。前日志从块52A的首页开始按顺序存储,而后日志从块52B的首 页开始按顺序存储。
当后日志的日志长度(大小)超过预定长度(例如1个块)时,如图 22C所示,日志存储块打开单元156打开其中存储了后日志的块中最旧的 一个块。日志存储块打开单元156检查将打开的块中的后日志是否存储了 与前日志中相同的信息。仅当将打开的块中的后日志存储了与前日志中相 同的信息时,日志存储块打开单元156才将其中存储了后日志的块设为打 开目标的块。
例如,当日志存储块打开单元156被设为当后日志的日志长度已经 超过1个块时打开最旧的块的时候,日志存储块打开单元156在开始写入 块51B之后打开块50B ( ST1)。日志存储块打开单元156在开始写入块 52B之后打开块51B ( ST2 )。
当日志存储块打开单元156被设为当后日志的日志长度超过2个块 时从最旧的块开始按顺序打开块的时候,由于块50B是用于后日志的块中 最旧的,日志存储块打开单元156在开始写入块52B之后打开块50B (ST1)。 1^,日志存储块打开单元156打开块51B ( ST2 )。当后日志 的日志长度超过2个块时,日志存储块打开单元156可以仅打开最旧的一 个块。在此情形中,日志存储块打开单元156仅打开块50B ( ST1)。
在存储器系统10中,重写块均衡处理单元157执行均化处理(磨损 (wear)均化),作为用于将擦除各个块的次数^殳为相同的处理。从而, 在存储器系统10中,能够防止擦除处理集中于一部分的块。因此,能够延长NAND存储器12的耐用寿命。在第二实施例中,由于作为均化处理的 目标的块被打开,提高了均化处理的效率。
在第二实施例的上述说明中,当后日志的日志长度超过1个块或2个 块时打开一个块。不过,打开一个块的时刻不限于这些时刻,并且仅需是 当后日志的日志长度大于等于1个块的时刻。例如,当后日志的日志长度 超过1.5个块时可以打开旧的一个块,或者当后日志的日志长度超过1个 块以及预定页数时,可以打开旧的一个块。
在打开旧的块之后,存储器系统10可以在任何时间擦除所打开的块。 存储器系统10例如在负载没有施加到存储器系统10中的处理的时候擦除 旧的块。取代于打开用于后日志的旧块,存储器系统10可以打开用于前日 志的旧块。当NAND存储器12是二进制模式的存储器,且后日志220B是 数据更新许可信息时,在日志长度超过预定长度的时候的打开目标是用于 后日志的旧块,而不是用于前日志的块。
在第二实施例的上述说明中,从最旧的块开始按顺序打开所述块。不 过,也可以从具有最小擦除次数的块开始按顺序打开所述块。因而,具有 小擦除次数的块比起具有大擦除次数的块而言更易于被打开。
如上所述,根据第二实施例,当后日志的日志长度超过预定长度时, 其中存储后日志的旧块被打开。因此,打开块的数量增加,并且作为结果, 能够高效地执行均化处理。
由于从不同块的首页开始存储前日志和后日志,易于管理作为打开目 标的块。由于从最旧的块开始按顺序打开所述块,能够平均所述块中;^擦 除直到写入的时间。因而,在NAND存储器12中,用于执行松弛的时间 可以被充分保障。
第三实施例
以下参考图BA和MB说明本发明的第三实施例。在第三实施例中, 其中存储前日志的块组以及其中存储后日志的块组是不同的块组。各个块 组是可高速存取的块组(逻辑块)。如第一实施例的图1所示,在存储器系统10中,NAND存储器12包 括四个信道120A至120D。信道120A至120D经由驱动控制单元14和总 线15A至15D彼此连接。
通过这种配置,存储器系统10可以并行地启用四个信道120 A至120D。 例如,当总线15A至15D是8位总线时,存储器系统IO可以通过并行地 启用四个信道120A至120D以32位为单位存取NAND存储器12。
当存储器系统10通过8位总线存取NAND存储器12时,为将存取的 每个块指定地址。当存储器系统10通过32位总线存取NAND存储器12 时,为将存取的每个块组指定地址。
信道120A至120D的每个具有两个平面(plane)。例如,信道120A 具有用于平面0的一个块以及用于平面1的一个块。对应于平面0的块经 由用于平面0的緩冲器以8位为单位进行存取(每8位进行数据读和写)。 对应于平面1的块经由用于平面1的緩冲器以8位为单位进行存取。
在信道120A中,当在用于平面1的緩冲器中存储的数据被写入平面1 侧的块中时,数据被从主机设备等写入用于平面0的緩冲器。当在用于平 面0的緩沖器中存储的数据被写入平面0侧的块中时,数据被从主机设备 等写入用于平面1的緩冲器。在信道120A中,通过交替重复这种类型的 处理,以下是可能的以通过使用一个平面来执行的数据读和写的速度两 倍的速度,执行数据读和写。
类似地,在信道120B至120D中,通过使用两个平面来执行数据读和 写,以下是可能的以通过使用一个平面来执行的数据读和写的速度两倍 的速度,执行数据读和写。
因此,在第三实施例中,信道120A至120D被并行启用,并且,在信 道120A至1加D的每个中,前日志和后日志被存储在逻辑块(块组)中, 其中数据读和写可以通过使用两个平面来执行。在第三实施例中,其中存 储前日志的逻辑块和其中存储后日志的逻辑块是不同的。逻辑块是包括八 个块的块组,每个块是从信道120A至120D中的每个平面中收集的。例如, 当一个块具有大小为512K时,逻辑块具有大小为4M。200980000137.4 平面0 ( PL0 ) 和平面1(PL1)。块P0、 Q0和R0是信道120A的平面0,而块P1、 Ql 和R1是信道120A的平面1。块P2、 Q2和R2是信道120B的平面0,而 块P3、 Q3和R3是信道120B的平面1。块P4、 Q4和R4是信道120C的 平面O,而块P5、 Q5和R5是信道120C的平面1。块P6、 Q6和R6是信 道120D的平面0,而块P7、 Q7和R7是信道120D的平面1。
在图23A所示的示例中,通过块PO至P7配置一个逻辑块,以及通过 块QO至Q7配置一个逻辑块。在图23B所示的示例中,通过块RO至R7 配置一个逻辑块。
在此情形中,在第三实施例中,如图23A所示,包括块P0至P7的逻 辑块被分配给用于前日志的块,而包括块QO至Q7的逻辑块被分配给用于 后日志的块。
以此方式,其中存储前日志的逻辑块和其中存储后日志的逻辑块是独 立的块。其中存储前日志的逻辑块中的块(存储开始块等等)和其中存储 后日志的逻辑块中的块(存储开始块等等)是在相同信道中的相同平面上 的块。而且,其中存储前日志的块中的区(页位置)与其中存储后日志的 块中的区(页位置)是相同的区。
例如,当被存储作为前日志的信息和被存储作为后日志的信息是相同 的时,如果可以确i^前日志中的信息和后日志中的信息是相同的,则能够 打开(擦除)前日志和后日志之一。例如,当用于后日志的逻辑块被后日 志完全填满时,通过存储用于前日志的逻辑块,能够打开用于后日志的逻 辑块。当用于前日志的逻辑块被前日志完全填满时,通过存储用于后日志 的逻辑块,能够打开用于前日志的逻辑块。
如上所述,用于前日志的逻辑块和用于后日志的逻辑块是这样的逻辑 块,其可以并行地启用信道120A至120D,并且使用信道120A至120D 中的两个信道来执行数据读和写。因此,能够以高速执行块的打开和擦除。
另一方面,如图23B所示,当用于前日志和后日志的块以混合状态被 存储在一个逻辑块中时,当执行日志的打开(擦除)时,每个块都需要被打开。因此,无法以高速执行打开处理。
当NAND存储器12是二进制模式的存储器,且后日志220B是数据更 新许可信息时,在日志长度超过预定长度的时候将被打开的打开目标是用 于后日志的逻辑块,而不是用于前日志的逻辑块。
在第三实施例的以上说明中,其中存储前日志的逻辑块中的块以及其 中存储后日志的逻辑块中的块是在相同信道中的相同平面上的块。不过, 其中存储前日志的逻辑块中的块以及其中存储后日志的逻辑块中的块可以 是在不同信道中的不同平面上的块。
在第三实施例的以上说明中,NAND存储器12包括四个信道120A至 120D。不过,NAND存储器12的信道数量可以小于等于三,或者大于等 于五。
在第三实施例的以上说明中,信道120A至120D中的每个都具有两个 平面。不过,每个信道都可以具有三个或更多平面,或者仅具有一个平面。
如上所述,根据第三实施例,由于其中存储前日志的逻辑块与其中存 储后日志的逻辑块是不同的,以下是可能的当并行启用多个信道时,使 用多个平面来执行逻辑块的打开和擦除。因此,能够以高速打开和擦除不 必要的逻辑块。
由于前日志和后日志被存储在不同块的相同页中,块或逻辑块的可以 被打开的时刻与用于前日志的块和用于后日志的块中的相同。由于在不同 逻辑块中的相同块中从首页存储前日志和后日志,易于管理所述块和逻辑 块。
在上述示例中,构成NAND存储器12的存储器单元晶体管MT是2 位的多值存储器。然而,2个或更多位的多值存储器可以^皮应用于任意存 储器单元晶体管MT。当多值存储器被应用于存储器单元晶体管MT时, 由于页包括三个或更多页,诸如高位页、中间页和低位页,以下是4艮可能 的当数据被写入高位页中时,在中间页和低位页中出现低位页数据中断。
电荷累积层不限于浮置栅电极类型,并且可以是包括诸如MONOS(金 属-氧化物-氮化物-氧化物-半导体)结构以及其它系统的氮化硅膜的电荷俘获型。
第四实施例
以下结合图24至29I说明本发明的第四实施例。在第四实施例中,前日志和后日志具有相同大小,并从不同块的相同页(位置)开始按顺序存储。例如,前日志和后日志是相同信息。
图24是根据第四实施例在管理信息存储区中存储的管理信息存储信息400的内容的示例的示意图。在第四实施例中,前日志220A的数据大小和后日志220B的数据大小是相同的。通过按顺序将前日志220A和后日志220B存储在不同块的相同位置中(在对应于上次的快照210的前日志220A和后日志220B的位置之后),前日志220A和后日志220B被存储在不同块的相同页中。
指针230指示出快照210的位置、在存储快照210之后首先获得的位置(第k页)(k是自然数)、以及在存储快照210之后首先获得的后日志220B的位置(第k页)。当在存储快照210之后首先获得的前日志220A被存储在用于前日志的块中的第k页中时,在存储快照210之后首先获得的后日志220B被存储在用于后日志的块中的第k页中。指针230将用于前日志的块中的第k页指示为前日志的位置,而将用于后日志的块中的第k页指示为后日志的位置。
在图24中,快照210、前日志220A、后日志220B、以及指针230被存储在不同块中。快照210被存储在快照存储块中。
前日志220A和后日志220B分别4皮存储在日志存储块中。即使对快照210的生成改变,前日志220A和后日志220B也净皮持续写入相同的日志存储块中。换句话说,在第四实施例中,对应于最新快照210的前日志220A从在对应于存储在最新的快照210紧前的快照210的前日志220A之后的区(位置)按顺序存储。对应于最新快照210的后日志220B从在对应于存储在最新的快照210紧前的快照210的后日志220B之后的区(位置)按顺序存储。以下说明通过管理信息管理单元152的对存储器系统10的管理信息的存储处理。才艮据第四实施例的管理信息管理单元152才艮据与第一实施例中参考图12说明的对管理信息的存储处理过程相同的过程来存储管理信息。因此,参考图12说明对管理信息的存储处理。图25是用于说明根据第四实施例的针对存储器系统的前日志和后日志的存储处理的图。存储器系统IO连接于主机设备,并作为主机设备的次级存^i殳备进行工作。主机设备(存储器系统IO)处于已启动状态。在主机设备的启动状态之前,在存储器系统10停止之前存储快照210。
首先,基于在主机设备(存储器系统10 )的上一结束处存储的快照210,主机设备(存储器系统IO)处于已启动状态(步骤Sll)。此后,当必要时从主机设^L行向NAND存储器12中的数据写入。管理信息管理单元152确定快照存储条件是否满足(例如,日志存储区是否已满)(步骤S12 )。当快照存储条件不满足时(步骤S12的"否"),管理信息管理单元152确定涉及对管理信息的更新(对数据的写入等等)的指令是否被接收(步骤S13 )。当涉及对管理信息的更新的指令未被接收时(步骤S13的"否,,),管理信息管理单元152返回步骤S12。
当涉及对管理信息的更新的指令被接收时(步骤S13的"是"),管理信息管理单元152通过执行该指令确定指示出管理信息将如何被更新的更新安排(步骤S14 )。管理信息管理单元152将更新安排存储在NAND存储器l2的管理信息存储区126的日志存储块中作为前日志220A (步骤S15)。
当前日志220A尚未4皮存储在日志存储块中时,更新安排(前日志)是在管理信息被更新的时候的非易失性表和在快照存储块中存储的快照210之间的差异信息。当前日志220A (过去的前日志220A)已被存储在日志存储块中时,更新安排(前日志)是在管理信息被更新的时候的非易失性表与快照210和过去的前日志220A的结合之间的差异信息。
例如,如图25所示,在数据写入(X)被执行作为针对第X个数据的写入处理之前,对应于数据写入(X)的前日志(X),皮存储在NAND存
42储器12中作为前日志220A。前日志(X)是在过去的前日志220A未被存 储在日志存储块中的时候的日志,并且是在管理信息被更新的时候的非易 失性表与快照210之间的差异信息。换句话说,前日志(X)是在获得快 照210之后的第一前日志。在此情形中,前日志(X)被存储在块50A (用 于前日志的块)中其中存储了就在前一次生成中的日志等等的页的下一个 页(第k页)中。管理信息存储单元154将块50A的第k页的位置(地址) 存储在指针230中作为第一前日志的存储位置。管理信息存储单元154例 如将块50A的ID和第k页的ID (有效的首页ID )存储在指针230中。 从而,块50A的第一页至第(k-l)页被设为无效页。例如在前日志(更 新安排)被存储在DRAM 11之后,前日志220A被存储在NAND存储器 12的管理信息存储区126中。
随后,逻辑NAND管理层32执行在步骤S13接收的指令(步骤S16)。 作为这种指令的示例,存在针对在NAND存储器12的数据存储区的预定 块中的用户数据的写入处理。特别地,在NAND存储器12中的数据存储 区125中的数据写入(X)被执行。
从而,对应于数据写入(X)的后日志220B (X)被存储在NAND存 储器12中作为后日志220B。后日志220B被存储在块50B (不同于块50A 的一个块)中的第k页(与前日志220A相同的页)中。管理信息存储单 元154将块50B的第k页的位置(地址)存储在指针230中作为第一前日 志的存储位置。管理信息存储单元154例如将块50B的ID和第k页的ID (有效的首页ID)存储在指针230中。从而,块50B的第一页至第(k-l) 页被j殳为无效页。以此方式,后日志220B4皮存储在不同于前日志220A的 块中,以及被存储在与其中存储日志220A的页相同的页中。此外,被存 储作为后日志220B的信息是与被存储作为前日志220A的信息相同的信 息。例如在后日志220B被记录在DRAM 11上之后,后日志220B被存储 在NAND存储器12的管理信息存储区126中。此后,管理信息管理单元 152返回步骤S12。
当快照存储条件不满足(步骤S12的"否"),并且涉及管理信息的更新的指令被接收(步骤S13的"是")时,重复步骤S14至S17的处理。 特别地,以针对第X个数据的写入处理相同的方式,执行针对第(X+l) 个数据的写入处理。换句话说,在执行作为针对第(X+l)个数据的写入 处理的数据写入(X+l)之前,对应于数据写入(X+l)的前日志(X+l) 被存储在NAND存储器12中作为前日志220A。前日志220A被存储在块 50A中的页(k+l)中。
在NAND存储器12中的数据存储区125中执行数据写入(X+l)。 此外,对应于数据写入(X+l)的后日志(X+l)被存储在NAND存储器 12中作为后日志220B。后日志220B被存储在块50B中的页(k+l)的位 置中。以此方式,后日志220B被存储在不同于前日志220A的块中,以及 被存储在与其中存储前日志220A的页相同的页中。此外,被存储作为后 日志220B的信息以及被存储作为前日志220A的信息是相同的信息。
当在步骤S12快照存储条件已满足时(步骤S12的"是"),DRAM 11的管理信息存储区111中包括至少非易失性表的管理信息被存储在 NAND存储器12的管理信息存储区126中,作为快照210 (步骤S18)。 管理信息管理单元152确定是否指到存储器系统10的结束(步骤S19 )。 当没有指到存储器系统10的结束时,管理信息管理单元152返回步骤S12。 当指到存储器系统10的结束时,所述处理完成。
以下说明由管理信息恢复单元155执行的对于存储器系统10的管理信 息的恢复处理。才艮据第四实施例的管理信息恢复单元155根据第一实施例 中参考图14说明的对于管理信息的恢复处理过程相同的过程来恢复管理 信息。从而,参考图14说明对管理信息的恢复处理。图26是用于说明根 据第四实施例的对于存储器系统10的管理信息的恢复处理的图。存储器系 统10连接于主机设备,并作为主机设备的次级存储设备进行工作。
例如根据从短时中断的恢复,主机设备的电源接通,并且向存储器系 统10发出启动指令(步骤S31)。管理信息恢复单元155读取NAND存 储器12的管理信息存储区126中的指针230 (步骤S32 ),并获得其中存 储快照210的块的地址以及其中存储前日志和后日志(前日志220A和后日志220B)的块的地址(步骤S33)。
此后,管理信息恢复单元155从快照存储块获得快照210,以及恢复 DRAM 11的管理信息存储区111中的快照210 (步骤S34)。
管理信息恢复单元155将擦除页搜索应用到NAND存储器12中用于 前日志的块和用于后日志的块(步骤S35)。在第四实施例中,块50A的 第一页至第(k-l)页被设为无效页(第k页的ID被存储在指针230中作 为有效的首页ID)。因此,管理信息恢复单元155从用于前日志的块的第 k页开始执行擦除页搜索,以及从用于后日志的块的第k页开始执行擦除 页搜索。
管理信息恢复单元155确定在其中存储了前日志220A的页中,哪个 页是最后的页(在擦除页紧前的页)。管理信息恢复单元155确定在其中 存储了后日志220B的页中,哪个页是最后的页。管理信息恢复单元155 确定其中存储了前日志220A的最后页与其中存储了后日志220B的最后页 是否相同(步骤S36)。根据第四实施例的管理信息恢复单元155基于其 中存储了前日志220A的最后页与其中存储了后日志220B的最后页是否相 同的确定结果,选择前日志220A和后日志220B之一作为用于管理信息的 恢复的日志。此后,根据与第一实施例中结合图14说明的对于管理信息的 恢复处理过程相同的过程(步骤S36至S40),恢复管理信息。
特别地,如图26所示,擦除页搜索从第k页开始被应用于其中存储了 前日志2加A的块50A (1),以及擦除页搜索从第k页开始被应用于其中 存储了后日志220B的块50B ( 2 )。
确定前日志2加A和后日志220B的最后页(页数)是否相同(3 ), 当前日志220A和后日志220B的最后页相同时,通过^f吏用前日志220A恢 复管理信息(4)。当前日志220A和后日志220B的最后页不同时,通过 使用后日志220B恢复管理信息(5 )。
接下来说明根据第四实施例的一种针对用于管理信息的恢复的日志的 选择方法的特定示例。图27A至29I是与第一实施例中的图17A至19I相 同的i兑明性图。冗余的i兌明,皮省略。在各个块的日志(页)中,画圏的正常存储的日志是^L选择作为用于 管理信息的恢复的日志的日志。图27A是正常时(当电源的异常隔离没有 出现,且电源被断开时)的前日志和后日志的图。图27B至28G是当短时 中断已经出现的时候的前日志和后日志的图。
在图27A中,示出了当存储器系统10的电源被断开而没有存储快照 210时在NAND存储器12中存储的前日志和后日志。在图27A的情形中, 由于数据仅^C写入低位页(页2至4),因此,即使在写入低位页期间出 现短时中断,低位页数据中断也不会出现。在图27A的情形中,与图17A 的情形一样,通过使用前日志恢复管理信息。
在图27B的情形中,与图17B的情形一样,前日志的最后页和后日志 的最后页是不同的。通过使用后日志恢复管理信息。
在图27C的情形中,与图17C的情形一样,前日志的最后页和后日志 的最后页是相同的。通过使用前日志恢复管理信息。
在图27D的情形中,与图17D的情形一样,前日志的最后页和后日志 的最后页是不同的。通过使用后日志恢复管理信息。
在图28E的情形中,与图18E的情形一样,前日志的最后页和后曰志 的最后页是相同的。通过使用前日志恢复管理信息。
在图28F的情形中,与图18F的情形一样,前日志的最后页和后日志 的最后页是相同的。通过使用后日志恢复管理信息。
在图28G的情形中,与图18G的情形一样,前日志的最后页和后曰志 的最后页是相同的。通过使用前日志恢复管理信息。
在图29H的情形中,与图19H的情形一样,前日志的最后页和后日志 的最后页是不同的。通过使用后日志恢复管理信息。
在图29I的情形中,与图19I的情形一样,前日志的最后页和后日志 的最后页是不同的。通过使用后日志恢复管理信息。
在第四实施例中,与第一实施例中一样,NAND存储器12是多值存 储器。不过,NAND存储器12可以是二进制模式的存储器。当NAND存 储器12是二进制模式的存储器,且后日志220B是更新许可信息时,如上述情形中一样,当管理信息恢复单元155恢复管理信息时,管理信息恢复 单元155确定其中存储前日志220A的最后页与其中存储后日志220B的最 后页是否相同。例如,当从第二页至第十页存储后日志时,管理信息恢复 单元155使用来自第二页到第十页的前日志恢复管理信息。
当用于前日志的块改变为坏块时, 一个新的块祐二没为用于前日志的块。 从新块的某一页开始存储用于前日志的块。例如,当用于前日志的块在第 十页改变为坏块时,从新块的第十一页存储用于前日志的块。当用于后日 志的块改变为坏块时,以同样方式, 一个新的块械:设为用于后日志的块。 从新块的某一页开始存储用于后日志的块。从而,即使当在用于前日志的 块或用于后日志的块中出现坏块,也能够将前日志和后日志存储在不同块 的相同页中。
如上所述,根据第四实施例,即使当在存储器系统IO中出现短时中断 时,前日志220A和后日志220B也会被存储在不同块的相同页中。因此, 以下是可能的基于前日志220A的最后页和后日志220B的最后页容易地 确定出哪出现短时中断的时刻。以下也是可能的容易地确定出前日志和 后日志中的哪个日志可以被用于恢复管理信息(恢复点)。因此,存储器 系统10可以被容易地和迅速地重置到出现异常隔离之前的状态。
即4吏对快照210的生成改变,前日志220A和后日志220B也,皮持续写 入相同的日志存储块中。因此,当电源的异常隔离出现时,以下是可能的 在高效4吏用用于前日志的块和用于后日志的块的同时,容易地和迅速地将 存储器系统10重置到出现异常隔离之前的状态。
当NAND存储器12是多值存储器时,前日志220A和后日志220B中 的至少一个不会由于短时中断的原因被中断。因此,不管何时当出现短时 中断时,以下是可能的通过4吏用前日志220A和后日志220B之一,容易 地将存储器系统10重置到出现短时中断之前的状态。
由于前日志220A和后日志220B被存储在不同块的相同页中,以下是 可能的容易地调节获得用于前日志的块和用于后日志的块作为用于日志 的块的时刻,以及打开用于前日志的块和用于后日志的块的时刻。因此,易于管理用于前日志的块和用于后日志的块。 第五实施例
以下参考图30A至30C说明本发明的第五实施例。在第五实施例中, 与第二实施例中一样,当后日志的日志长度(大小)超过预定长度时,其 中存储后日志的块从最旧的块开始按顺序地被打开预定数量的块。根据第 五实施例的数据管理单元241具有与在第二实施例中参考图21说明的数据 管理单元241相同的配置。因此,对数据管理单元241的说明被省略。
图30A至30C是用于说明根据第五实施例对前日志和后日志的存储顺 序以及对于后日志的打开顺序的图。图30A至30C是与第二实施例中的图 22A至22C相同的说明性图。冗余的说明被省略。
图30A至30C是用于说明根据第五实施例在各个块中对前日志和后日 志的存储顺序以及对于后日志的打开顺序的图。前日志在块50A、块51A 以及块52A的各个块中按顺序存储,而后日志在块50B、块51B以及块52B 的各个块中按顺序存储。
如图30A所示,前日志从块50A的第k页开始按顺序存储。后日志从 块50B的第k页开始按顺序存储。此后,如图30B所示,当前日志被写入 块50A的所有页时(1),通过使用下一个块51A来存储前日志(2)。当 后日志被写入块50B的所有页时(1),通过使用下一个块51B来存储后 日志(2)。前日志从块51A的首页开始按顺序存储,而后日志从块51B 的首页开始按顺序存储。
当前日志被写入块51A的所有页时,通过使用下一个块52A来存储前 日志。当后日志被写入块51B的所有页时,通过使用下一个块52B来存储 后日志。前日志从块52A的首页开始按顺序存储,而后日志从块52B的首 页开始按顺序存储。
在后日志被存储在用于后日志的块的最后页中之后,且当后日志的日 志长度(大小)超过预定长度(例如1个块)时,日志存储块打开单元156 打开其中存储了后日志的块中最旧的一个块。例如,在后日志被存储在用于后日志的第一块(在快照之后的第一块)的最后页中之后,或者在后日
志祐L存储在用于后日志的第二块的最后页中之后,如图30C所示,日志存 储块打开单元156打开其中存储了后日志的块中最旧的一个块。日志存储 块打开单元156检查将打开的块中的后日志是否存储了与前日志中相同的 信息。仅当将打开的块中的后日志存储了与前日志中相同的信息时,日志 存储块打开单元156才将其中存储了后日志的块设为打开目标的块。
例如,当日志存储块打开单元156被二没为在后日志4皮存储在用于后 日志的块的最后页中之后以及当后日志的日志长度超过1个块时,打开最 旧的一个块,日志存储块打开单元156在开始写入块51B中的第一页之后 打开块50B ( ST1)。日志存储块打开单元156在写入块52B的第一页完 成之后打开块51B ( ST2 )。
当日志存储块打开单元156被设为在后日志4皮存储在用于后日志的 第一块的最后页中之后以及当后日志的日志长度超过1个块和1个页时从 最旧的块开始按顺序打开块的时候,由于块50B是用于后日志的块中最旧 的,日志存储块打开单元156在写入块52B中的第一页完成之后打开块50B (ST1)。随后,日志存储块打开单元156打开块51B ( ST2 )。当后日志 的日志长度超过1个块和1个页时,日志存储块打开单元156可以仅打开 最旧的一个块。在此情形中,日志存储块打开单元156在写入块52B中的 第一页完成之后仅打开块50B (ST1)。
当不希望打开的数据被存储在用于后日志的第一块中时,该用于后日 志的第一块可以从作为打开目标的块中排除。在此情形中,当后日志,皮存 储在用于后日志的第二块的最后页中以及后日志的日志长度(大小)超过 预定长度(例如l个页)的时候,其中存储后日志的块从最旧的块(用于 后日志的第二块)开始按顺序打开预定数量的块。
如上所述,根据第五实施例,当后日志的日志长度超过预定长度时, 其中存储后日志的旧块被打开。因此,被打开的块增加,并且作为结果, 能够高效地执行均化处理。
第六实施例以下参考图31A和31B说明本发明的第六实施例。在第六实施例中, 与第三实施例中一样,其中存储前日志的块组以及其中存储后日志的块组 是不同的块组。各个块组是高速可存取的块组(逻辑块)。
如图31A和31B所示,信道120A至120D的每个具有平面0 ( PL0) 和平面1 (PL1)。块p0、 q0、 r0、 s0和t0是信道120A的平面0,而块 pl、 ql、 rl、 sl和tl是信道120A的平面1。块p2、 q2、 r2、 s2和t2是 信道120B的平面0,而块p3、 q3、 r3、 s3和t3是信道120B的平面1。 块p4、 q4、 r4、 s4和t4是信道120C的平面0,而块p5、 q5、 r5、 s5和 t5是信道120C的平面1。块p6、 q6、 r6、 s6和t6是信道120D的平面0, 而块p7、 q7、 r7、 s7和t7是信道120D的平面1。
在图31A所示的示例中,通过块p0至p7、块q0至q7、块r0至r7 以及块s0至s7的每个集合配置一个逻辑块。在图31B所示的示例中,通 过块t0至t7配置一个逻辑块。
在此情形中,在第六实施例中,如图31A所示,包括块p0至p7的逻 辑块71A和包括块q0至q7的逻辑块72A被分配给用于前日志的块,而包 括块r0至r7的逻辑块71B和包括块srO至s7的逻辑块72B ^皮分配给用于 后日志的块。
以此方式,其中存储前日志的逻辑块和其中存储后日志的逻辑块是独 立的块。其中存储前日志的逻辑块中的块(存储开始块等等)和其中存储 后日志的逻辑块中的块(存储开始块等等)是在相同信道中的相同平面上 的块。而且,其中存储前日志的块中的区(页位置)与其中存储后日志的 块中的区(页位置)是相同的区。
特别地,例如,前日志从逻辑块71A的块p6中的第k页开始按顺序 存储,以及后日志从逻辑块71B的块r6中的第k页开始按顺序存储。此 后,当前日志被写入块p6中的所有页时,通过使用下一个块p7存储前日 志。当后日志被写入块r6中的所有页时,通过使用下一个块r7存储后日 志。前日志从块p7中的首页开始按顺序存储,以及后日志从块r7中的首 页开始按顺序存储。此外,当前日志被写入块p7中的所有页时,通过使用块qO作为用于 前日志的下一个逻辑块72A的第一块来存储前日志。当后日志被写入块r7 中的所有页时,通过使用块s0作为用于后日志的下一个逻辑块72B的第一 块来存储后日志。前日志从块q0中的首页开始按顺序存储,以及后日志从 块s0中的首页开始按顺序存储。
此外,前日志被存储在用于前日志的逻辑块72A中,以及后日志被存 储在用于后日志的逻辑块72B中。当前日志被写入逻辑块72A中的所有页, 且后日志被写入逻辑块72B中的所有页时,通过使用用于前日志的下一个 块(未示出)和用于后日志的下一个块(未示出)来存储前日志和后日志。
在此情形中,例如,当被存储作为前日志的信息和被存储作为后日志 的信息是相同的时,如果可以确认前日志中的信息和后日志中的信息是相 同的,则能够打开(擦除)前日志和后日志之一。例如,当用于后日志的 逻辑块71B和72B被后日志完全填满时,通过存储用于前日志的逻辑块 71A和72A,能够打开用于后日志的逻辑块71B和72B。当用于前日志的 逻辑块71A和72A被前日志完全填满时,通过存储用于后日志71B和72B 的逻辑块,能够打开用于前日志的逻辑块71A和72A。
如上所述,用于前日志的逻辑块71A和72A和用于后日志的逻辑块 71B和72B是这才羊的逻辑块,其可以并行地启用信道120A至120D,并且 使用信道120A至120D中的两个信道来执行数据读和写。因此,能够以高 速执行块的打开和擦除。
另一方面,如图31B所示,当用于前日志和后日志的块以混合状态被 存储在一个逻辑块中时,当执行日志的打开(擦除)时,每个块都需要被 打开。因此,无法以高速执行打开处理。
如上所述,才艮据第六实施例,由于其中存储前日志的逻辑块与其中存 储后日志的逻辑块是不同的,以下是可能的当并行启用多个信道时,使 用多个平面来执行逻辑块的打开和擦除。因此,能够以高速打开和擦除不 必要的逻辑块。第七实施例
以下参考图32至36说明本发明的第七实施例。在第七实施例中,通 过存储器系统作为前日志存储的信息和作为后日志的信息是相同的信息。 当电源的异常隔离(例如短时中断)或类似情形发生时,通过使用所存储 的前日志和后日志中未被电源的异常隔离中断的日志,存储器系统被恢复 为电源的异常隔离之前的状态。在对第七实施例的以下说明中,电源的异 常隔离是短时中断。
图32是根据第七实施例在管理信息存储区中存储的管理信息存储信 息600的内容的示例的示意图。在图32所示的组件中,与图8所示的才艮据 第一实施例的管理信息存储信息200的组件相同组件通it^目同的参考标号 和标志所指示。冗余的说明被省略。
指针230指示出快照210的位置、在存储快照210之后首先获得的 前曰志220A的位置、以及在存储快照210之后首先获得的后日志220B的 位置。
前日志220A和后日志220B分别被存储在日志存储块中。即使对快照 的生成改变,前日志220A和后日志220B也会被持续地写入相同的日志存 储块中。
以下说明由管理信息管理单元152执行的针对存储器系统10的管理信 息的存储处理。图33是根据第七实施例的针对存储器系统10的管理信息 的存储处理过程的示例的流程图。图34是用于说明根据第七实施例的针对 存储器系统10的前日志和后日志的存储处理的图。存储器系统10连接于 主机设备,并作为主机设备的次,储设备进行工作。主机设备(存储器 系统10)处于已启动状态。在启动状态之前,在存储器系统10停止之前 存储快照210。
首先,基于在主机设备(存储器系统IO)的上一次结束处存储的快照 210,主机设备(存储器系统IO)处于已启动状态(步骤Slll)。此后, 当必要时从主机设备执行向NAND存储器12中的数据写入。管理信息管 理单元152确定在以上(1)至(3 )中说明的快照存储条件是否满足(步骤S112)。当快照存储M不满足时(步骤S112的"否"),管理信息 管理单元152确定涉及对管理信息的更新(对数据的写入等等)的指令是 否被接收(步骤S113 )。当涉及对管理信息的更新的指令未被接收时(步 骤S113的"否,,),管理信息管理单元152返回步骤S112。
当涉及对管理信息的更新的指令被接收时(步骤S113的"是"),管 理信息管理单元152通过执行该指令确定指示出管理信息将如何被更新的 更新安排(步骤S114 )。管理信息管理单元152将更新安排存储在NAND 存储器12的管理信息存储区126的日志存储块中作为前日志220A (步骤 S115)。
当前日志220A尚未被存储在日志存储块中时,更新安排(前日志) 是在管理信息被更新的时候的非易失性表和在快照存储块中存储的快照 210之间的差异信息。当前日志220A (过去的前日志220A)已被存储在 日志存储块中时,更新安排(前日志)是在管理信息被更新的时候的非易 失性表与快照210和过去的前日志220A的结合之间的差异信息。例如, 如图34所示,在数据写入(X)被执行作为针对第X个数据的写入处理之 前,对应于数据写入(X)的前日志(X)被存储在NAND存储器12中作 为前日志220A。例如,信息yl净皮存储作为前日志220A。例如在前日志 220A(更新安排)净皮记录在DRAM 11上之后前日志220A被存储在NAND 存储器12的管理信息存储区126中。
随后,逻辑NAND管理层32执行在步骤S113接收的指4K步骤S116 )。 作为这种指令的示例,存在针对在NAND存储器12的数据存储区的预定 块中的用户数据的写入处理。特别地,在NAND存储器12中的数据存储 区125中的数据写入(X)被执行。
此后,在DRAM 11中存储的管理信息根据所执行的处理被更新。管 理信息存储单元154将管理信息中的已更新信息存储在NAND存储器12 的管理信息存储区126中作为后日志220B (步骤S117 )。当后日志220B 尚未被存储在日志存储块中时,后日志220B是在当前点的非易失性表与 在快照存储块中存储的快照210之间的差异信息。当后日志220B (过去的后曰志220B)已经存储在日志存储块中时,后日志220B是在当前点的非易失性表与在快照210和过去的后日志220B的结合之间的差异信息。
从而,对应于数据写入(X)的后日志220B (X)被存储在NAND存储器12中作为后日志220B。例如,信息yl被存储作为后日志220B。被存储作为后日志220B的信息y 1与被存储作为前日志220A的信息yl相同。例如在后日志220B被记录在DRAM 11上之后,后日志220B被存储在NAND存储器12的管理信息存储区126中。此后,管理信息管理单元152返回步骤S112。
当快照存储条件不满足(步骤S112的"否"),并且涉及管理信息的更新的指令被接收(步骤S113的"是")时,重复步骤S114至S117的处理。特别地,以针对第X个数据的写入处理相同的方式,执行针对第
(X+l)个数据的写入处理。在执行作为针对第(X+l)个数据的写入处理的数据写入(X+l)之前,对应于数据写入(X+l)的前日志(X+l)被存储在NAND存储器12中作为前日志220A。例如,作为前日志220A,信息y2被存储。在NAND存储器12的数据存储区125中执行数据写入
(X+l)。此外,对应于数据写入(X+l)的后日志(X+l)被存储在NAND存储器12中作为后日志220B。例如,作为后日志220B,信息y2被存储。被存储作为后日志220B的信息y2与被存储作为前日志220A的信息y2相同。
当在步骤S112快照存储条件已满足时(步骤S112的"是"),DRAM11的管理信息存储区111中包括至少非易失性表的管理信息被存储在NAND存储器12的管理信息存储区126中,作为快照210 (步骤S118 )。管理信息管理单元152确定是否指到存储器系统10的结束(步骤S119 )。当没有指到存储器系统10的结束时,管理信息管理单元152返回步骤S112。当指到存储器系统10的结束时,所述处理直接完成。
以下说明由管理信息恢复单元155执行的对于存储器系统10的管理信息的恢复处理。图35是才艮据第七实施例对于存储器系统10的管理信息的恢复处理过程的流程图。图36是用于说明根据第七实施例对于存储器系统10的恢复处理的图。存储器系统10连接于主机设备,并作为主机设备的
次级存储设备进行工作。
例如根据从短时中断的恢复,主机设备的电源接通,并且向存储器系
统10发出启动指令(步骤S131)。管理信息恢复单元155读取NAND存储器12的管理信息存储区126中的指针230 (步骤S132),并获得其中存储快照210的块的地址以及其中存储前日志和后日志(前日志220A和后日志220B)的块的地址(步骤S133)。随后,管理信息恢复单元155从在步骤S133获得的NAND存储器12中的地址读取快照210,以及恢复DRAM 11的管理信息存储区111中的快照210 (步骤S134 )。
此后,管理信息恢复单元155参考NAND存储器12中的前日志220A和后日志220B的确定是否已出现短时中断(步骤S135)。例如可以通过比较前日志220A和后日志220B执行对于是否已出现短时中断的确定。在第七实施例中,前日志220A和后日志220B存储相同的信息。此后,例如,当被存储作为前日志220A的页数和被存储作为后日志220B的页数彼此不一致时,能够确定已出现短时中断。基于ECC错误的存在或不存在、被存储作为前日志220A的页数据、以及被存储作为后日志220B的页数据,可以确定短时中断的出现。
当管理信息恢复单元155确定已出现短时中断时(步骤S135的"是,,),管理信息恢复单元155基于NAND存储器12中最新的前日志220A和最新的后日志220B检查已出现短时中断的时刻(步骤S136)。管理信息恢复单元155确定已出现短时中断的时刻是否在后日志220B的存储期间(步骤S137)。例如,当后日志220B中的最后页正4皮写入时,该最后页无法#皮读出。因此,在后日志220B的存储期间确定已出现短时中断。当前日志220A中的最后页正被写入时,该最后页无法,皮读出。因此,在前日志220A的存储期间确定已出现短时中断。当日志被写入前日志220A的最后页以及日志未^皮写入后日志220B的最后页时,在数据写入期间确定已出现短时中断。
当管理信息恢复单元155确定已出现短时中断的时刻在后日志220B的存储期间时(步骤S137的"是"),管理信息恢复单元155选择最新的前日志220A (步骤S138)。另一方面,当管理信息恢复单元155确定已出现短时中断的时刻不在后日志220B的存储期间时(步骤S137的"否"),管理信息恢复单元155选择已完成存储的最新的后日志220B(步骤S139 )。换句话说,当前日志220A的最后页正被写入,或当日志被写入前日志220A的最后页以及日志未^f皮写入后日志220B的最后页时,选择最新的后日志220B。
特别地,如图36所示,当在对应于处理(X-l)的后日志(X-l)的存储期间出现短时中断(el)时,由于数据写(X-l)已经完成,管理信息恢复单元155确定处理(X-l)已经完成。管理信息恢复单元155选择前日志(X-l)作为最新的前日志。
当在后日志(X-l)的存储之后直到开始后日志X的存储的时间段期间出现短时中断(e2)时,由于数据写入X未完成,管理信息恢复单元155确定处理X未完成。管理信息恢复单元155选择后日志(X-l)作为完成存储的最新的后日志。
类似地,当在对应于处理X的后日志X的存储期间出现短时中断(e3 )时,由于数据写入X已经完成,管理信息恢复单元155确定处理X已经完成。管理信息恢复单元155选择前日志X。
此外,当在后日志X的存储之后直到开始后日志(X+l)的存储的时间段中出现短时中断(e4)时,由于数据写入(X+l)未完成,管理信息恢复单元155确定处理(X+l)未完成。管理信息恢复单元155选择后曰志X作为完成存储的最新的后曰志。
此后,管理信息恢复单元155从日志存储块获得了前日志220A和后日志220B中的所选一个的第一日志至最新日志,并且将所述日志扩展到DRAM 11的工作区112中(步骤S140 )。管理信息恢复单元155将曰志从最旧一个开始按顺序反映到快照210上,并恢复管理信息(非易失性表)(步骤S141)。对于管理信息的恢复处理完成。
例如,当前日志(X-l W皮选择时,管理信息恢复单元155将前日志(X-l)中的日志从最旧一个日志开始按顺序反映到快照210上,并恢复管理信息(过程fl)。当后日志(X-l)被选择时,管理信息恢复单元155将后日志(X-l)中的日志从最旧一个日志开始按顺序反映到快照210上,并恢复管理信息(过程f2 )。
当日志X被选择时,管理信息恢复单元155将第一前日志至前日志X从最旧一个日志开始按顺序反映到快照210上,并恢复管理信息(f3)。当后日志X被选择时,管理信息恢复单元155将第一后日志至后日志X从最旧一个日志开始按顺序反映到快照210上,并恢复管理信息(过程f4 )。
另一方面,当管理信息恢复单元155确定尚未出现短时中断时(步骤S135的"否"),管理信息恢复单元155通过在步骤S134在DRAM 11的管理信息存储区111中恢复的快照210来恢复管理信息(步骤S142 )。恢复过程完成。
不管由于短时中断导致的日志中断存在与否,管理信息恢复单元155都可以选择前日志220A和后日志220B之一,并且基于被存储作为前日志220A的页数和被存储作为后日志220B的页数恢复管理信息。例如,当被存储作为前日志220A的页数和被存储作为后日志220B的页数相同时,管理信息恢复单元155选择前日志220A并恢复管理信息。当被存储作为前日志220A的页数大于被存储作为后日志220B的页数时,管理信息恢复单元155选择后日志220B并恢复管理信息。
在上述示例中,DRAM被用作为第一存储单元。不过,也可以使用其它易失性半导体存储设备或非易失性半导体存储设备。由存储器系统10存储在NAND存储器12中的后日志不限于日志自身,并且仅须是与前日志相同的信息。因此,例如,通过复制前日志获得的信息可以,皮存储作为后日
如上所述,根据第七实施例,即使当在其中由多值存储器的存储器单元晶体管存储数据的存储器系统10中出现短时中断时,由于相同的信息(差异信息)被存储在前日志220A和后日志220B中,因此前日志220A和后日志220B中的至少一个不会净皮短时中断所中断。因此,在出现短时中断的任意时刻,都能够通过使用前日志220A和后日志220B中的任意一个,容易地将存储器系统10重置到出现短时中断之前的状态。
本领域技术人员将容易地领会附加的优点和修改。因此,本发明在其较宽泛范围内不限于此处示出和描述的特定细节和代表性实施例。因此,在不脱离如所述权利要求及其等价物所限定的一般发明概念的精神或范围的情况下,可以4故出多种^f务改。
权利要求
1.一种存储器系统,包括易失性第一存储单元;非易失性第二存储单元,包括可以在其中存储数据的存储器单元;以及控制器,用于经由所述第一存储单元执行在主机设备和所述第二存储单元之间的数据传送;将管理信息存储在所述第一存储单元中,所述管理信息包括在启动操作期间在所述第二存储单元中存储的数据的存储位置;以及在更新所存储的管理信息时,基于所存储的管理信息执行在所述第一和第二存储单元中的数据管理,其中在所述第一存储单元中存储的最新状态的管理信息也被存储在所述第二存储单元中,并在启动操作期间由所述控制器从所述第二存储单元进行读取,并且所述管理信息包括快照,在所述快照中当预定条件被满足时存储所述第一存储单元的第一管理信息,前日志,其作为所述管理信息被改变之前和之后的差异信息,所述前日志在所述管理信息出现改变之前生成,以及后日志,其与所述管理信息的改变有关,所述后日志在所述管理信息出现改变之后生成,以及所述第二存储单元在其中将所述前日志和后日志存储在各个擦除单元区的相同区中。
2. 根据权利要求1所述的存储器系统,进一步包括管理信息恢复单元, 其在启动^作期间4吏用所迷前日志和后日志中的任意一个来执行在所述笫 一存储单元中存储的管理信息的恢复,其中所述后日志是所述管理信息被改变之前和之后的差异信息,以及 所迷管理信息恢复单元基于对作为在其中最后存储了前日志的所述擦 除单元区中的位置的前日志位置与作为在其中最后存储了后日志的所述擦除单元区中的位置的后日志位置的比较结果,选择所述前日志和后日志中 的任意一个,从所述第二存储单元中提取将用于管理信息的恢复的、所选 择的前日志或后日志的正常部分,以及使用所提取的正常部分恢复所述管 理信息。
3. 根据权利要求2所述的存储器系统,其中当所述前日志位置和所述后日志位置不同时,所述管理信息恢复单元 使用所述后日志执行对所述管理信息的恢复,以及当所述前日志位置和所 述后日志位置相同时,所述管理信息恢复单元使用所述前日志执行对所述 管理信息的恢复。
4. 根据权利要求l所述的存储器系统,其中当在所述笫二存储单元中存储的所述前日志的大小和所述后日志的大 小分别超过大于所述擦除单元区的预定大小时,所述控制器从具有最长存 储时间段的擦除单元区开始,按顺序地打开其中存储所述前日志的擦除单 元区和其中存储所述后日志的擦除单元区中的任意一个。
5. 根据权利要求l所述的存储器系统,其中所述第二存储单元在不同 的并行操作单元中独立地存储所述前日志和所迷后日志,在所述并行操作 单元中集合多个擦除单元区。
6. —种存储器系统,包括 易失性第一存储单元;非易失性第二存储单元,包括可以存储数据的存储器单元;以及 控制器,用于经由所述第一存储单元执行在主机设备和所述第二存 储单元之间的数据传送;将管理信息存储在所述第一存储单元中,所述管 理信息包括在启动操作期间在所述第二存储单元中存储的数据的存储位 置;以及在更新所存储的管理信息时,基于所存储的管理信息执行在所述 第一和第二存储单元中的数据管理,其中在所述第 一存储单元中存储的最新状态的管理信息也被存储在所述第 二存储单元中,并在启动操作期间由所述控制器从所述第二存储单元进行 读取,并且所述管理信息包括快照,在所述快照中当预定条件被满足时存储所述第 一存储单元 的第一管理信息,前曰志,其作为所述管理信息被改变之前和之后的差异信息,所 述前日志在所述管理信息出现改变之前生成,以及后曰志,其与所述管理信息的改变有关,所述后日志在所述管理 信息出现改变之后生成,以及所述第二存储单元在其中,从在所述第二存储区的不同擦除单元区中 的快照被存储之前已经分别存储的所述前日志的持续区以及所述后日志的 持续区开始,按顺序地将所述前日志和后日志存储在各个擦除单元区的相 同区中。
7. 根据权利要求6所述的存储器系统,进一步包括管理信息恢复单元, 其在启动操作期间使用所述前日志和后日志中的任意一个来执行在所述第 一存储单元中存储的管理信息的恢复,其中所述后日志是所述管理信息被改变之前和之后的差异信息,以及 所述管理信息恢复单元基于对作为在其中最后存储了前日志的所述擦 除单元区中的位置的前日志位置与作为在其中最后存储了后日志的所述擦 除单元区中的位置的后日志位置的比较结果,选择所述前日志和后日志中 的任意一个,从所述第二存储单元中提取将用于管理信息的恢复的、所选 择的前日志或后日志的正常部分,以及使用所提取的正常部分恢复所述管 理信息。
8. 根据权利要求7所述的存储器系统,其中所述笫二存储单元的存储器单元是可以存储多值数据的存储器单元,以及当所述前日志位置和所述后日志位置不同时,所述管理信息恢复单元 使用所述后日志执行对所述管理信息的恢复,以及当所述前日志位置和所 述后日志位置相同时,所述管理信息恢复单元使用所述前日志执行对所述 管理信息的恢复。
9.根据权利要求6所述的存储器系统,其中,当在所述第二存储单元中存储的所述后日志超过其中首先存储后日志的擦除单元区之后并开始要 被存储在下一个擦除单元区中,以及当所述后日志的大小超过预定大小时, 所述控制器从具有最长存储时间段的一个擦除单元区开始按顺序地打开在 所述后日志的存储之前的擦除单元区中的预定数量的区。
10. 根据权利要求6所述的存储器系统,其中所述第二存储单元在不 同的并行操作单元中独立地存储所述前日志和所述后日志,在所述并行操 作单元中集合多个擦除单元区。
11. 一种存储器系统,包括 易失性第一存储单元;非易失性第二存储单元,包括可以存储多值数据的存储器单元;以及 控制器,用于经由所述笫一存储单元执行在主机设备和所述第二存 储单元之间的数据传送;将管理信息存储在所述第一存储单元中,所述管 理信息包括在启动操作期间在所述第二存储单元中存储的数据的存储位 置;以及在更新所存储的管理信息时,基于所存储的管理信息执行在所述 第一和第二存储单元中的数据管理,其中所述第二存储单元在其中还存储已经以最新状态存储在所述第 一存储 单元中的管理信息,所迷最新状态的管理信息在启动操作期间由所述控制器进行读取,并 且所述管理信息包括快照,在所述快照中当预定条件被满足时存储所述第 一存储单元 的第一管理信息,前日志,其作为所述管理信息被改变之前和之后的差异信息,所 述前日志在所述管理信息出现改变之前获得,以及后日志,其作为所述管理信息的改变之前和之后的差异信息,所 述后日志在所述管理信息出现改变之后获得。
12. 根据权利要求ll所述的存储器系统,其中 所述第二存储单元在其中将所述前日志和所述后日志独立存储在作为所述第二存储单元中的不同擦除单元的擦除单元区中,以及当在所述第二存储单元中存储的所述前日志的大小和所述后日志的大 小分别超过大于所述擦除单元区的预定大小时,所述控制器从具有最长存 储时间段的擦除单元区开始,按顺序地打开其中存储所述前日志的擦除单 元区和其中存储所述后日志的擦除单元区中的任意一个。
13.根据权利要求12所述的存储器系统,其中所述第二存储单元在不 同的并行操作单元中独立地存储所述前日志和所述后日志,在所述并行操 作单元中集合多个擦除单元区。
全文摘要
一种存储器系统,包括易失性第一存储单元、非易失性第二存储单元、以及控制器。所述控制器将在启动操作期间在所述第二存储单元中存储的数据的管理信息存储在所述第一存储单元中,以及在更新所述管理信息时执行数据管理。在所述第一存储单元中存储的最新状态的管理信息也被存储在所述第二存储单元中。所述管理信息包括在所述管理信息出现改变之前生成的改变之前和之后的前日志;以及后日志,其在所述管理信息出现改变之后生成,与所述管理信息的改变有关。所述前日志和后日志存储在不同块的相同区中。
文档编号G06F12/16GK101681316SQ20098000013
公开日2010年3月24日 申请日期2009年2月10日 优先权日2008年3月1日
发明者初田幸辅, 松崎秀则, 檜田敏克, 矢野纯二 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1