存储器系统.pdf

上传人:32 文档编号:973138 上传时间:2018-03-22 格式:PDF 页数:91 大小:4.51MB
返回 下载 相关 举报
摘要
申请专利号:

CN200980000137.4

申请日:

2009.02.10

公开号:

CN101681316A

公开日:

2010.03.24

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 12/16申请公布日:20100324|||实质审查的生效IPC(主分类):G06F 12/16申请日:20090210|||公开

IPC分类号:

G06F12/16; G11C16/02

主分类号:

G06F12/16

申请人:

株式会社东芝

发明人:

矢野纯二; 松崎秀则; 初田幸辅; 檜田敏克

地址:

日本东京都

优先权:

2008.3.1 JP 051468/2008; 2008.3.1 JP 051459/2008; 2008.3.1 JP 051466/2008

专利代理机构:

北京市中咨律师事务所

代理人:

杨晓光;张静娟

PDF下载: PDF下载
内容摘要

一种存储器系统,包括:易失性第一存储单元、非易失性第二存储单元、以及控制器。所述控制器将在启动操作期间在所述第二存储单元中存储的数据的管理信息存储在所述第一存储单元中,以及在更新所述管理信息时执行数据管理。在所述第一存储单元中存储的最新状态的管理信息也被存储在所述第二存储单元中。所述管理信息包括:在所述管理信息出现改变之前生成的改变之前和之后的前日志;以及后日志,其在所述管理信息出现改变之后生成,与所述管理信息的改变有关。所述前日志和后日志存储在不同块的相同区中。

权利要求书

1.  一种存储器系统,包括:
易失性第一存储单元;
非易失性第二存储单元,包括可以在其中存储数据的存储器单元;以及
控制器,用于:经由所述第一存储单元执行在主机设备和所述第二存储单元之间的数据传送;将管理信息存储在所述第一存储单元中,所述管理信息包括在启动操作期间在所述第二存储单元中存储的数据的存储位置;以及在更新所存储的管理信息时,基于所存储的管理信息执行在所述第一和第二存储单元中的数据管理,其中:
在所述第一存储单元中存储的最新状态的管理信息也被存储在所述第二存储单元中,并在启动操作期间由所述控制器从所述第二存储单元进行读取,并且所述管理信息包括:
快照,在所述快照中当预定条件被满足时存储所述第一存储单元的第一管理信息,
前日志,其作为所述管理信息被改变之前和之后的差异信息,所述前日志在所述管理信息出现改变之前生成,以及
后日志,其与所述管理信息的改变有关,所述后日志在所述管理信息出现改变之后生成,以及
所述第二存储单元在其中将所述前日志和后日志存储在各个擦除单元区的相同区中。

2.
  根据权利要求1所述的存储器系统,进一步包括管理信息恢复单元,其在启动操作期间使用所述前日志和后日志中的任意一个来执行在所述第一存储单元中存储的管理信息的恢复,其中:
所述后日志是所述管理信息被改变之前和之后的差异信息,以及
所述管理信息恢复单元基于对作为在其中最后存储了前日志的所述擦除单元区中的位置的前日志位置与作为在其中最后存储了后日志的所述擦除单元区中的位置的后日志位置的比较结果,选择所述前日志和后日志中的任意一个,从所述第二存储单元中提取将用于管理信息的恢复的、所选择的前日志或后日志的正常部分,以及使用所提取的正常部分恢复所述管理信息。

3.
  根据权利要求2所述的存储器系统,其中:
当所述前日志位置和所述后日志位置不同时,所述管理信息恢复单元使用所述后日志执行对所述管理信息的恢复,以及当所述前日志位置和所述后日志位置相同时,所述管理信息恢复单元使用所述前日志执行对所述管理信息的恢复。

4.
  根据权利要求1所述的存储器系统,其中:
当在所述第二存储单元中存储的所述前日志的大小和所述后日志的大小分别超过大于所述擦除单元区的预定大小时,所述控制器从具有最长存储时间段的擦除单元区开始,按顺序地打开其中存储所述前日志的擦除单元区和其中存储所述后日志的擦除单元区中的任意一个。

5.
  根据权利要求1所述的存储器系统,其中所述第二存储单元在不同的并行操作单元中独立地存储所述前日志和所述后日志,在所述并行操作单元中集合多个擦除单元区。

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

7.
  根据权利要求6所述的存储器系统,进一步包括管理信息恢复单元,其在启动操作期间使用所述前日志和后日志中的任意一个来执行在所述第一存储单元中存储的管理信息的恢复,其中:
所述后日志是所述管理信息被改变之前和之后的差异信息,以及
所述管理信息恢复单元基于对作为在其中最后存储了前日志的所述擦除单元区中的位置的前日志位置与作为在其中最后存储了后日志的所述擦除单元区中的位置的后日志位置的比较结果,选择所述前日志和后日志中的任意一个,从所述第二存储单元中提取将用于管理信息的恢复的、所选择的前日志或后日志的正常部分,以及使用所提取的正常部分恢复所述管理信息。

8.
  根据权利要求7所述的存储器系统,其中:
所述第二存储单元的存储器单元是可以存储多值数据的存储器单元,以及
当所述前日志位置和所述后日志位置不同时,所述管理信息恢复单元使用所述后日志执行对所述管理信息的恢复,以及当所述前日志位置和所述后日志位置相同时,所述管理信息恢复单元使用所述前日志执行对所述管理信息的恢复。

9.
  根据权利要求6所述的存储器系统,其中,当在所述第二存储单元中存储的所述后日志超过其中首先存储后日志的擦除单元区之后并开始要被存储在下一个擦除单元区中,以及当所述后日志的大小超过预定大小时,所述控制器从具有最长存储时间段的一个擦除单元区开始按顺序地打开在所述后日志的存储之前的擦除单元区中的预定数量的区。

10.
  根据权利要求6所述的存储器系统,其中所述第二存储单元在不同的并行操作单元中独立地存储所述前日志和所述后日志,在所述并行操作单元中集合多个擦除单元区。

11.
  一种存储器系统,包括:
易失性第一存储单元;
非易失性第二存储单元,包括可以存储多值数据的存储器单元;以及
控制器,用于:经由所述第一存储单元执行在主机设备和所述第二存储单元之间的数据传送;将管理信息存储在所述第一存储单元中,所述管理信息包括在启动操作期间在所述第二存储单元中存储的数据的存储位置;以及在更新所存储的管理信息时,基于所存储的管理信息执行在所述第一和第二存储单元中的数据管理,其中:
所述第二存储单元在其中还存储已经以最新状态存储在所述第一存储单元中的管理信息,
所述最新状态的管理信息在启动操作期间由所述控制器进行读取,并且所述管理信息包括:
快照,在所述快照中当预定条件被满足时存储所述第一存储单元的第一管理信息,
前日志,其作为所述管理信息被改变之前和之后的差异信息,所述前日志在所述管理信息出现改变之前获得,以及
后日志,其作为所述管理信息的改变之前和之后的差异信息,所述后日志在所述管理信息出现改变之后获得。

12.
  根据权利要求11所述的存储器系统,其中:
所述第二存储单元在其中将所述前日志和所述后日志独立存储在作为所述第二存储单元中的不同擦除单元的擦除单元区中,以及
当在所述第二存储单元中存储的所述前日志的大小和所述后日志的大小分别超过大于所述擦除单元区的预定大小时,所述控制器从具有最长存储时间段的擦除单元区开始,按顺序地打开其中存储所述前日志的擦除单元区和其中存储所述后日志的擦除单元区中的任意一个。

13.
  根据权利要求12所述的存储器系统,其中所述第二存储单元在不同的并行操作单元中独立地存储所述前日志和所述后日志,在所述并行操作单元中集合多个擦除单元区。

说明书

存储器系统
技术领域
本发明涉及一种使用非易失性半导体存储设备的存储器系统。
背景技术
一些个人计算机(PC)将硬盘设备用作为次级存储设备。在这些PC中,已知一种技术用于对已经存储在硬盘设备中的数据进行备份,从而防止数据由于某种故障的原因变为无效。例如,当探测到改变硬盘设备中的数据的行为时,取得快照,作为在改变之前的数据的备份拷贝,并且,生成对数据进行的改变的日志。接着,在每一预定时间重复下述过程,所述过程用于取得新快照、在取得新快照之前使得过去取得的日志无效,以及生成新日志(例如参见美国专利申请公开No.2006/0224636)。一旦由于某种原因数据变为无效,则可以通过参考快照和日志恢复该数据。通常存在两类日志:前日志(pre-log)和后日志(post-log)。前日志是在数据更新之前生成的日志,作为指示出数据将如何被更新的更新计划。另一方面,后日志是用于在数据被实际更新之后认可对数据的更新的日志。
近年来,作为非易失性半导体存储设备的NAND闪速存储器的容量已经取得了显著提升。结果,包括将NAND闪速存储器作为次级存储设备的存储器系统的PC已经进入了实际使用。例如,在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示出的驱动控制电路的功能配置的示例的框图;
图11是根据第一实施例的数据管理单元的功能配置的示例的框图;
图12是根据第一实施例由存储器系统执行的管理信息的存储处理过程的示例的流程图;
图13是用于说明根据第一实施例的由存储器系统执行的前日志和后日志的存储处理的图;
图14是根据第一实施例由存储器系统执行的管理信息的恢复处理过程的示例的流程图;
图15是用于说明根据第一实施例对于管理信息的恢复处理的图;
图16A至16D是存储器单元中的数据与存储单元的阈值电压以及NAND存储器中的写入顺序之间的关系的示例的图;
图17A至17D是用于说明针对用于管理信息的恢复的日志的选择方法的图(1);
图18E至18G是用于说明针对用于管理信息的恢复的日志的选择方法的图(2);
图19H至19I是用于说明针对用于管理信息的恢复的日志的选择方法的图(3);
图20是用于说明将提取的前日志或后日志的图;
图21是根据本发明第二实施例的数据管理单元的功能配置的示例的框图;
图22A至22C是用于说明在各个块中对前日志和后日志的存储顺序以及对于后日志的打开顺序的图;
图23A和23B是用于说明根据本发明第三实施例的用于前日志的逻辑块和用于后日志的逻辑块的图;
图24是根据本发明第四实施例在管理信息存储区中存储的管理信息存储信息的内容的示例的示意图;
图25是用于说明根据第四实施例的针对存储器系统的前日志和后日志的存储处理的图;
图26是用于说明根据第四实施例的对于存储器系统的管理信息的恢复处理的图;
图27A至27D是用于说明针对用于管理信息的恢复的日志的选择方法的图(1);
图28E至28G是用于说明针对用于管理信息的恢复的日志的选择方法的图(2);
图29H至29I是用于说明针对用于管理信息的恢复的日志的选择方法的图(3);
图30A至30C是用于说明根据本发明第五实施例对前日志和后日志的存储顺序以及对于数据管理单元的后日志的打开顺序的图;
图31A和31B是用于说明用于前日志的逻辑块和用于后日志的逻辑块的图;
图32是根据本发明第七实施例在管理信息存储区中存储的管理信息存储信息的内容的示例的示意图;
图33是根据第七实施例的由存储器系统执行的管理信息的存储处理过程的示例的流程图;
图34是用于说明根据第七实施例的由存储器系统执行的前日志和后日志的存储处理的图;
图35是根据第七实施例由存储器系统执行的管理信息的恢复处理过程的流程图;以及
图36是用于说明根据第七实施例的存储器系统的恢复处理图。
具体实施方式
以下参考附图详细说明了根据本发明的存储器系统的示例性实施例。本发明不受限于这些实施例。
第一实施例
根据本发明的第一实施例的存储器系统是作为多值存储器的一种使用存储单元晶体管(在下文说明的NAND存储器12)存储数据的系统。而且,此存储器系统在数据写入处理之前以及在数据写入处理之后存储日志,作为针对所述数据写入处理的日志(用于存储器系统的管理信息的差异信息)。在数据写入处理之前存储的日志被称为前日志,而在数据写入处理之后存储的日志被称为后日志。在第一实施例中,以相同大小创建前日志和后日志,并且它们被存储在不同块的相同页(位置)中。前日志和后日志从各块的首页开始被顺序存储,并包含相同信息。当电源的异常隔离(例如短时中断)或类似情形发生时,通过使用前日志或后日志,管理信息被恢复为电源的异常隔离之前的状态。在第一实施例中,电源的异常隔离被假定为是短时中断。
首先给出的是根据第一实施例的存储器系统的概观。此后,说明该存储器系统的特性和修改。存储器系统包括非易失性半导体存储设备,并被用作为诸如个人计算机的主机设备的次级存储设备(SSD:固态驱动器)。存储器系统具有以下功能:存储由主机设备请求写入的数据,以及读出由主机设备请求读出的数据,并将数据输出到主机设备。图1是根据第一实施例的存储器系统10的配置的示例的框图。该存储器系统10包括:作为第一存储单元的DRAM(动态随机存取存储器)11、作为第二存储单元的NAND闪速存储器(下文中称为“NAND存储器”)12、电源电路13、以及作为控制器的驱动控制单元14。
DRAM 11被用作为用于数据传送、管理信息记录或者工作区的存储单元。特别地,当DRAM 11被用作为用于数据传送的存储单元时,DRAM11被用于在由主机设备请求写入的数据被写入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中的每个包括两个封装(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将数据传送到除错设备以及从除错设备接收数据。此外,驱动控制单元14输出用于控制LED的开/关的控制信号,所述LED用于在存储器系统10的外部上提供的状态显示。
以下详细说明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,它们共享在Y方向中彼此相邻的存储器单元晶体管MT之间的扩散区(源区或漏区)。此外,存储器单元晶体管MT0至MTn在Y方向上串联连接。另外,在一行所述(n+1)个存储器晶体管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+1)个存储器单元晶体管MTi被看成是一个页。在NAND存储器12中,以页为单位执行对数据的写入和读出。特别地,连接于相同的字线WLi的一组(m+1)个存储器单元晶体管MTi是构成一个页的一个单元。在可以存储四进制值的多值存储器的情形中,连接于相同的字线WLi的一组存储器单元晶体管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、其中存储用于管理在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中存储的数据的层结构的示例的图。这里假定该数据是主机设备请求写入或读出的数据。在存储器系统10中,通过三层结构执行数据管理:DRAM管理层31、逻辑NAND管理层32、以及物理NAND管理层33。DRAM管理层31执行起高速缓冲存储器作用的DRAM11中的数据管理。逻辑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中,由于可重写次数是有限的,因此在配置NAND存储器12的块之中的可重写次数由驱动控制单元14所控制,以使其均衡。换句话说,当执行对于在NAND存储器12中的某个NAND内物理地址中写入的数据的更新时,驱动控制单元14执行控制以使在构成NAND存储器12的块当中的重写次数均衡,以便在不同于初始块的一个块中写入反映其中包括将更新的数据的块中的需要更新的部分的数据,以及使初始块无效。
如上所述,在NAND存储器12中,在对数据的写入和读出处理以及对数据的擦除处理中,处理单元是不同的。在对数据的更新处理中,数据在更新前的位置(块)和数据在更新后的位置(块)是不同的。因此,在第一实施例中,除NAND内物理地址之外,还提供在NAND存储器12中独立使用的NAND内逻辑地址(下文中称为“NAND内逻辑地址”)。
因此,在逻辑NAND管理层32中的数据被逻辑NAND管理信息42所管理,所述逻辑NAND管理信息42指示出:以页大小为单位从DRAM11接收的数据的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之间交换信息成为可能。
由于断电或类似原因,由DRAM管理层31所管理的管理信息丢失,从而该管理信息可以被称为易失性表。相反地,如果由于断电或类似原因,由逻辑NAND管理层32以及物理NAND管理层33所管理的管理信息丢失,则所丢失的管理信息会阻碍存储器系统10的成功启动,从而需要采取措施以使得即使在断电或类似原因的情况下也能存储该管理信息。因此,该管理信息可以被称为非易失性表。
该非易失性表管理在NAND存储器12中存储的数据。如果非易失性表不存在,则在NAND存储器12中存储的信息无法被存取,或者在区中存储的数据被擦除。因此,作为突然断电的准备,非易失性表需要作为最新信息被存储。因此,在第一实施例中,将至少包括非易失性表的管理信息以最新状态存储在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分别被存储在日志存储块中。当对快照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存储器12中存储的数据的改变处理从而使得对管理信息的更新为必要的时候,管理信息写入单元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)端,并且在DRAM 11中恢复作为管理信息的、快照存储块中的快照210。当前日志220A和后日志220B存在时,管理信息恢复单元155从快照存储块获得快照210,从日志存储块获得前日志220A或后日志220B,以及执行反映了DRAM 11上的快照210上的前日志220A或后日志220B的管理信息(非易失性表)的恢复。
以下说明由管理信息管理单元152执行的针对存储器系统10的管理信息的存储处理。图12是针对存储器系统10的管理信息的存储处理过程的示例的流程图。图13是用于说明根据第一实施例的针对存储器系统10的前日志和后日志的存储处理的图。存储器系统10连接于主机设备,并作为主机设备的次级存储设备进行工作。主机设备(存储器系统10)处于已启动状态。在主机设备的启动状态之前,在存储器系统10停止之前存储快照210。
首先,基于在主机设备(存储器系统10)的上一次结束(last end)时存储的快照210,主机设备(存储器系统10)处于已启动状态(步骤S11)。此后,当必要时从主机设备执行向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(用于前日志的块)中的页(1)(首页)中。例如在前日志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相同的首页)中。以此方式,后日志220B被存储在不同于前日志220A的块中,以及被存储在与其中存储日志220A的页相同的页中。此外,被存储作为后日志220B的信息是与被存储作为前日志220A的信息相同的信息。例如在后日志220B被记录在DRAM 11上之后,后日志220B被存储在NAND存储器12的管理信息存储区126中。此后,管理信息管理单元152返回步骤S12。
当快照存储条件不满足(步骤S12的“否”),并且涉及管理信息的更新的指令被接收(步骤S13的“是”)时,重复步骤S14至S17的处理。特别地,以针对第X个数据的写入处理相同的方式,执行针对第(X+1)个数据的写入处理。换句话说,在执行作为针对第(X+1)个数据的写入处理的数据写入(X+1)之前,对应于数据写入(X+1)的前日志(X+1)被存储在NAND存储器12中作为前日志220A。前日志220A被存储在块50A中的页(2)中。
在NAND存储器12中的数据存储区125中执行数据写入(X+1)。此外,对应于数据写入(X+1)的后日志(X+1)被存储在NAND存储器12中作为后日志220B。后日志220B被存储在块50B中的页(2)的位置中。以此方式,后日志220B被存储在不同于前日志220A的块中,以及被存储在与其中存储前日志220A的页相同的页中。此外,被存储作为后日志220B的信息以及被存储作为前日志220A的信息是相同的信息。
当在步骤S12快照存储条件已满足时(步骤S12的“是”),DRAM11的管理信息存储区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的最后页相同时,通过使用前日志220A恢复管理信息(4)。当前日志220A和后日志220B的最后页不同时,通过使用后日志220B恢复管理信息(5)。
图16A至16D是存储器单元中的数据与存储单元的阈值电压之间的关系以及NAND存储器中的写入顺序的示例的图。首先,当执行擦除操作时,存储器单元中的数据被设为“0”。随后,如图16A所示,当执行写入低位页时,存储器单元中的数据改变为数据“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位数据被写入在位方向上与存储器单元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的高位页中。
接下来说明一种针对用于管理信息的恢复的日志的选择方法的特定示例。图17A至19I是用于说明针对用于管理信息的恢复的日志的选择方法的图。在图17A至19I中,对于用于前日志的块(每幅图中左侧的块)和用于后日志的块(每幅图中右侧的块)中的每个页,存储前日志和后日志。在图17A至19I中的一个物理块中的页对应于图16A至16D。换句话说,页1至4、7至8、以及11至12是图16A至16D中所示的低位页。页5至6、9至10、以及13至16是图16A至16D中所示的高位页。在用于前日志的块和用于后日志的块中,块中的每一行对应于一个页。在图17A至19I中,为便于说明,页被分为低位页和高位页。低位页和高位页的组合构成一个物理块。
在图17A至19I中,正常保存的日志被示为日志x1,由于短时中断被中断的日志被示为日志y1,而当前正被写入的日志被示为z1。由于在对于日志z1的写入期间出现短时中断,并且日志y1被中断,因此对应于日志z1的页的存储器单元与对应于日志y1的页的存储器单元是相同的。日志y1的页是低位侧的页(低位页),而日志z1的页是高位侧的页(高位页)。在每个块的日志(页)中,画圈的日志是被选择作为用于管理信息的恢复的日志的日志。
图17A是正常时(当电源的异常隔离没有出现,且电源被断开时)的前日志和后日志的图。图17B至18G是当短时中断已经出现的时候的前日志和后日志的图。
在图17A中,示出了当存储器系统10的电源被断开而没有存储快照210时在NAND存储器12中存储的前日志和后日志。在图17A的情形中,由于数据仅被写入低位页(页1至4),因此,即使在写入低位页期间出现短时中断,低位页数据中断也不会出现。如图17A所示,在第一实施例中,前日志和后日志被存储在不同块的相同页中。因此,当电源在正常时间断开时,前日志的最后页和后日志的最后页处于相同的页位置。因此,在此情形中,通过使用前日志恢复管理信息。在图17A中示出的正常时,可以通过使用后日志而不是前日志来恢复管理信息。
在图17B中,当作为前日志执行“日志写入(1)”时出现短时中断。如图17B所示,当在写入前日志的高位页(页6)期间出现短时中断时,在对应于被写入的高位页的低位页(前日志的页2)中出现低位页数据中断。换句话说,在图17B的情形中,由于在前日志的存储期间出现短时中断,在前日志侧的块中生成日志y1。在此情形中,对应于“日志写入(1)”的日志z1(当前被存储的日志)被存储在前日志侧的块中。另一方面,对应于“日志写入(1)”的后日志未被存储在后日志侧的块中。因此,前日志的最后页和后日志的最后页包含不同的信息。在此情形中,通过使用后日志恢复管理信息。
在图17C中,当作为后日志执行“日志写入(1)”时出现短时中断。如图17C所示,当在写入后日志的高位页(页6)期间出现短时中断时,在对应于被写入的高位页的低位页(后日志的页2)中出现低位页数据中断。换句话说,在图17C的情形中,由于在后日志的存储期间出现短时中断,在后日志侧的块中生成日志y1。在此情形中,对应于“日志写入(1)”的日志z1被存储在后日志侧的块中。对应于“日志写入(1)”的前日志已被存储在前日志侧的块中。因此,前日志的最后页和后日志的最后页是相同的。在此情形中,通过使用前日志恢复管理信息。
在图17D中,在作为前日志执行“日志写入(1)”之后,在对应于前日志的数据写入期间出现错误。当对应于数据写入的重写处理而作为前日志执行“日志写入(2)”时出现短时中断。如图17D所示,当写入前日志的高位页(页6)期间出现短时中断时,在对应于被写入的高位页的低位页(前日志的页2)中出现低位页数据中断。换句话说,在图17D的情形中,由于在前日志的存储期间出现短时中断,在前日志侧的块中出现日志y1。在此情形中,对应于“日志写入(1)”的日志x1与对应于“日志写入(2)”的日志z1被存储在前日志侧的块中。另一方面,对应于“日志写入(1)”的后日志和对应于“日志写入(2)”的后日志未被存储在后日志侧的块中。因此,前日志的最后页和后日志的最后页包含不同的信息。在此情形中,通过使用后日志恢复管理信息。
在图18E中,在作为前日志执行“日志写入(1)”之后,在对应于前日志的数据写入期间出现错误,并且,对应于数据写入的重写处理而作为前日志执行“日志写入(2)”。此外,在图18E中,在对应于数据写入的重写处理而作为后日志执行“日志写入(2)”之后,当对应于第一数据写入而作为后日志执行“日志写入(1)”时,出现短时中断。如图18E所示,当写入后日志的高位页(页6)期间出现短时中断时,在对应于被写入的高位页的低位页(后日志的页2)中出现低位页数据中断。换句话说,在图18E的情形中,由于在后日志的存储期间出现短时中断,在后日志侧的块中生成日志y1。在此情形中,对应于“日志写入(1)”的日志x1与对应于“日志写入(2)”的日志x1被存储在前日志侧的块中。另一方面,对应于“日志写入(2)”的日志x1和对应于“日志写入(1)”的日志z1被存储在后日志侧的块中。因此,前日志的最后页和后日志的最后页是相同的。通过使用前日志恢复管理信息。
在图18F中,在作为前日志执行两个页上的“日志写入(1)”时出现短时中断。如图18F所示,当写入前日志的高位页(页5和页6)期间出现短时中断时,在对应于被写入的高位页的低位页(后日志的页1和页2)中出现低位页数据中断。换句话说,在图18F的情形中,由于在前日志的存储期间出现短时中断,在前日志侧的块中出现日志y1(例如页2)。在此情形中,对应于“日志写入(1)”的日志x1(前阶段页)与日志z1(后阶段页)被存储在前日志侧的块中。另一方面,对应于“日志写入(1)”的后日志未被存储在后日志侧的块中。因此,前日志的最后页和后日志的最后页是不同的。通过使用后日志恢复管理信息。
在图18G中,在作为后日志执行两个页上的“日志写入(1)”时出现短时中断。如图18G所示,当写入后日志的高位页(页6和页7)期间出现短时中断时,在对应于被写入的高位页的低位页(后日志的页1和页2)中出现低位页数据中断。换句话说,在图18G的情形中,由于在后日志的存储期间已经出现短时中断,在后日志侧的块中生成日志y1(例如页2)。在此情形中,对应于“日志写入(1)”的日志x1与日志z1被存储在后日志侧的块中。对应于“日志写入(1)”的后日志已经被存储在前日志侧的块中的两个页上。因此,前日志的最后页和后日志的最后页是相同的。通过使用前日志恢复管理信息。
在图19H中,在作为前日志在两个块上的“日志写入(1)”中执行第二块中的日志写入时,出现短时中断。在此情形中,尽管在前日志的存储期间已经出现短时中断,但日志y1未在前日志侧的块中生成,因为第二块是第一页(低位页)。在此情形中,在前日志侧的块中,对应于“日志写入(1)”的日志x1被存储在第一块的最后页中,而对应于“日志写入(1)”的日志z1被存储在第二块的第一页中。另一方面,对应于“日志写入(1)”的后日志未被存储在后日志侧的块中。因此,前日志的最后页和后日志的最后页是不同的。通过使用后日志恢复管理信息。
在图19I中,在作为前日志在两个块(两个页)上的“日志写入(1)”中执行第二块中的日志写入之后,在对应于该日志的数据写入期间出现错误,并且当作为“日志写入(1)”的重写处理执行“日志写入(2)”时,出现短时中断。在此情形中,尽管在前日志的存储期间已经出现短时中断,但日志y1未在前日志侧的块中生成,因为第二块的第二页是低位页。在此情形中,在前日志侧的块中,对应于“日志写入(1)”的前阶段页的日志x1被存储在第一块的最后页中,而对应于“日志写入(1)”的后阶段页的日志x1被存储在第二块的第一页中。此外,对应于“日志写入(2)”的日志z1被存储在前日志侧的第二块的第二页中。另一方面,对应于“日志写入(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-1)的后日志(X-1)的存储期间出现短时中断(g1)时,由于数据写入(X-1)已经完成,管理信息恢复单元155确定处理(X-1)已经完成。管理信息恢复单元155选择前日志(X-1)作为正常的最新的前日志。此后,管理信息恢复单元155在获得快照210之后使用从第一前日志到前日志(X-1)的前日志来恢复管理信息(过程h1)。
当在后日志(X-1)的存储之后直到开始后日志(X)的存储的时间段期间出现短时中断(g2)时,由于数据写入(X)未完成,管理信息恢复单元155确定处理X未完成。管理信息恢复单元155选择后日志(X-1)作为已完成存储的最新的后日志。此后,管理信息恢复单元155在获得快照210之后使用从第一后日志到后日志(X-1)的后日志来恢复管理信息(过程h2)。当NAND存储器12是二进制模式的存储器时,管理信息恢复单元155可以选择前日志(X-1)作为已完成存储的最新的前日志。在此情形中,管理信息恢复单元155在获得快照210之后使用从第一前日志到前日志(X-1)的前日志来恢复管理信息(过程h3)。
类似地,当在对应于处理X的后日志(X)的存储期间出现短时中断(g3)时,由于数据写入(X)已经完成,管理信息恢复单元155确定处理X已经完成。管理信息恢复单元155选择前日志(X)作为正常的最新的前日志。此后,管理信息恢复单元155在获得快照210之后使用从第一前日志到前日志(X)的前日志来恢复管理信息(过程h4)。
当在后日志(X)的存储之后直到开始后日志(X+1)的存储的时间段中出现短时中断(g4)时,由于数据写入(X+1)未完成,管理信息恢复单元155确定处理(X+1)未完成。管理信息恢复单元155选择后日志(X)作为已完成存储的最新的后日志。此后,管理信息恢复单元155在获得快照210之后使用从第一后日志到后日志(X)的后日志来恢复管理信息(过程h5)。当NAND存储器12是二进制模式的存储器时,管理信息恢复单元155可以选择前日志(X)作为已完成存储的最新的前日志。在此情形中,管理信息恢复单元155在获得快照210之后使用从第一前日志到前日志(X)的前日志来恢复管理信息(过程h6)。
在第一实施例中,当快照210的生成被改变时,从新的日志存储块的首页写入前日志220A和后日志220B。不过,即便快照210的生成已经被改变,前日志220A和后日志220B也可以持续地被写入相同的日志存储块。在上述示例中,DRAM被用作为第一存储单元。不过,也可以使用其它易失性半导体存储设备和非易失性半导体存储设备。
如上所述,根据第一实施例,即使当在存储器系统10中出现短时中断时,前日志220A和后日志220B也会被存储在不同块的相同页中。因此,以下是可能的:基于前日志220A的最后页和后日志220B的最后页容易地确定出出现短时中断的时刻。以下也是可能的:容易地确定出前日志和后日志中的哪个日志可以被用于恢复管理信息(恢复点)。因此,存储器系统10可以被容易地和迅速地重置到出现异常隔离之前的状态。
由于从不同块的首页存储前日志和后日志,易于执行对于前日志和后日志的日志管理以及块的管理。当NAND存储器12是多值存储器时,前日志220A和后日志220B中的至少一个不会由于短时中断的原因被中断。因此,不管何时当出现短时中断时,以下是可能的:通过使用前日志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可以在写入目的地处指定一个块,而不管该块是在过去被用作为数据存储区125的块、还是其中存储了管理信息存储区126的块。
图22A至22C是用于说明在各个块中对前日志和后日志的存储顺序以及对于后日志的打开顺序的图。前日志在块50A、块51A以及块52A的各个块中按顺序存储,而后日志在块50B、块51B以及块52B的各个块中按顺序存储。
如图22A所示,前日志从块50A的首页开始按顺序存储。后日志从块50B的首页开始按顺序存储。此后,如图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)。随后,日志存储块打开单元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中,用于执行松弛的时间可以被充分保障。
第三实施例
以下参考图23A和23B说明本发明的第三实施例。在第三实施例中,其中存储前日志的块组以及其中存储后日志的块组是不同的块组。各个块组是可高速存取的块组(逻辑块)。
如第一实施例的图1所示,在存储器系统10中,NAND存储器12包括四个信道120A至120D。信道120A至120D经由驱动控制单元14和总线15A至15D彼此连接。
通过这种配置,存储器系统10可以并行地启用四个信道120A至120D。例如,当总线15A至15D是8位总线时,存储器系统10可以通过并行地启用四个信道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至120D的每个中,前日志和后日志被存储在逻辑块(块组)中,其中数据读和写可以通过使用两个平面来执行。在第三实施例中,其中存储前日志的逻辑块和其中存储后日志的逻辑块是不同的。逻辑块是包括八个块的块组,每个块是从信道120A至120D中的每个平面中收集的。例如,当一个块具有大小为512K时,逻辑块具有大小为4M。
如图23A和23B所示,信道120A至120D的每个具有平面0(PL0)和平面1(PL1)。块P0、Q0和R0是信道120A的平面0,而块P1、Q1和R1是信道120A的平面1。块P2、Q2和R2是信道120B的平面0,而块P3、Q3和R3是信道120B的平面1。块P4、Q4和R4是信道120C的平面0,而块P5、Q5和R5是信道120C的平面1。块P6、Q6和R6是信道120D的平面0,而块P7、Q7和R7是信道120D的平面1。
在图23A所示的示例中,通过块P0至P7配置一个逻辑块,以及通过块Q0至Q7配置一个逻辑块。在图23B所示的示例中,通过块R0至R7配置一个逻辑块。
在此情形中,在第三实施例中,如图23A所示,包括块P0至P7的逻辑块被分配给用于前日志的块,而包括块Q0至Q7的逻辑块被分配给用于后日志的块。
以此方式,其中存储前日志的逻辑块和其中存储后日志的逻辑块是独立的块。其中存储前日志的逻辑块中的块(存储开始块等等)和其中存储后日志的逻辑块中的块(存储开始块等等)是在相同信道中的相同平面上的块。而且,其中存储前日志的块中的区(页位置)与其中存储后日志的块中的区(页位置)是相同的区。
例如,当被存储作为前日志的信息和被存储作为后日志的信息是相同的时,如果可以确认前日志中的信息和后日志中的信息是相同的,则能够打开(擦除)前日志和后日志之一。例如,当用于后日志的逻辑块被后日志完全填满时,通过存储用于前日志的逻辑块,能够打开用于后日志的逻辑块。当用于前日志的逻辑块被前日志完全填满时,通过存储用于后日志的逻辑块,能够打开用于前日志的逻辑块。
如上所述,用于前日志的逻辑块和用于后日志的逻辑块是这样的逻辑块,其可以并行地启用信道120A至120D,并且使用信道120A至120D中的两个信道来执行数据读和写。因此,能够以高速执行块的打开和擦除。
另一方面,如图23B所示,当用于前日志和后日志的块以混合状态被存储在一个逻辑块中时,当执行日志的打开(擦除)时,每个块都需要被打开。因此,无法以高速执行打开处理。
当NAND存储器12是二进制模式的存储器,且后日志220B是数据更新许可信息时,在日志长度超过预定长度的时候将被打开的打开目标是用于后日志的逻辑块,而不是用于前日志的逻辑块。
在第三实施例的以上说明中,其中存储前日志的逻辑块中的块以及其中存储后日志的逻辑块中的块是在相同信道中的相同平面上的块。不过,其中存储前日志的逻辑块中的块以及其中存储后日志的逻辑块中的块可以是在不同信道中的不同平面上的块。
在第三实施例的以上说明中,NAND存储器12包括四个信道120A至120D。不过,NAND存储器12的信道数量可以小于等于三,或者大于等于五。
在第三实施例的以上说明中,信道120A至120D中的每个都具有两个平面。不过,每个信道都可以具有三个或更多平面,或者仅具有一个平面。
如上所述,根据第三实施例,由于其中存储前日志的逻辑块与其中存储后日志的逻辑块是不同的,以下是可能的:当并行启用多个信道时,使用多个平面来执行逻辑块的打开和擦除。因此,能够以高速打开和擦除不必要的逻辑块。
由于前日志和后日志被存储在不同块的相同页中,块或逻辑块的可以被打开的时刻与用于前日志的块和用于后日志的块中的相同。由于在不同逻辑块中的相同块中从首页存储前日志和后日志,易于管理所述块和逻辑块。
在上述示例中,构成NAND存储器12的存储器单元晶体管MT是2位的多值存储器。然而,2个或更多位的多值存储器可以被应用于任意存储器单元晶体管MT。当多值存储器被应用于存储器单元晶体管MT时,由于页包括三个或更多页,诸如高位页、中间页和低位页,以下是很可能的:当数据被写入高位页中时,在中间页和低位页中出现低位页数据中断。
电荷累积层不限于浮置栅电极类型,并且可以是包括诸如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分别被存储在日志存储块中。即使对快照210的生成改变,前日志220A和后日志220B也被持续写入相同的日志存储块中。换句话说,在第四实施例中,对应于最新快照210的前日志220A从在对应于存储在最新的快照210紧前的快照210的前日志220A之后的区(位置)按顺序存储。对应于最新快照210的后日志220B从在对应于存储在最新的快照210紧前的快照210的后日志220B之后的区(位置)按顺序存储。
以下说明通过管理信息管理单元152的对存储器系统10的管理信息的存储处理。根据第四实施例的管理信息管理单元152根据与第一实施例中参考图12说明的对管理信息的存储处理过程相同的过程来存储管理信息。因此,参考图12说明对管理信息的存储处理。图25是用于说明根据第四实施例的针对存储器系统的前日志和后日志的存储处理的图。存储器系统10连接于主机设备,并作为主机设备的次级存储设备进行工作。主机设备(存储器系统10)处于已启动状态。在主机设备的启动状态之前,在存储器系统10停止之前存储快照210。
首先,基于在主机设备(存储器系统10)的上一结束处存储的快照210,主机设备(存储器系统10)处于已启动状态(步骤S11)。此后,当必要时从主机设备执行向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的结合之间的差异信息。
例如,如图25所示,在数据写入(X)被执行作为针对第X个数据的写入处理之前,对应于数据写入(X)的前日志(X)被存储在NAND存储器12中作为前日志220A。前日志(X)是在过去的前日志220A未被存储在日志存储块中的时候的日志,并且是在管理信息被更新的时候的非易失性表与快照210之间的差异信息。换句话说,前日志(X)是在获得快照210之后的第一前日志。在此情形中,前日志(X)被存储在块50A(用于前日志的块)中其中存储了就在前一次生成中的日志等等的页的下一个页(第k页)中。管理信息存储单元154将块50A的第k页的位置(地址)存储在指针230中作为第一前日志的存储位置。管理信息存储单元154例如将块50A的ID和第k页的ID(有效的首页ID)存储在指针230中。从而,块50A的第一页至第(k-1)页被设为无效页。例如在前日志(更新安排)被存储在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-1)页被设为无效页。以此方式,后日志220B被存储在不同于前日志220A的块中,以及被存储在与其中存储日志220A的页相同的页中。此外,被存储作为后日志220B的信息是与被存储作为前日志220A的信息相同的信息。例如在后日志220B被记录在DRAM 11上之后,后日志220B被存储在NAND存储器12的管理信息存储区126中。此后,管理信息管理单元152返回步骤S12。
当快照存储条件不满足(步骤S12的“否”),并且涉及管理信息的更新的指令被接收(步骤S13的“是”)时,重复步骤S14至S17的处理。特别地,以针对第X个数据的写入处理相同的方式,执行针对第(X+1)个数据的写入处理。换句话说,在执行作为针对第(X+1)个数据的写入处理的数据写入(X+1)之前,对应于数据写入(X+1)的前日志(X+1)被存储在NAND存储器12中作为前日志220A。前日志220A被存储在块50A中的页(k+1)中。
在NAND存储器12中的数据存储区125中执行数据写入(X+1)。此外,对应于数据写入(X+1)的后日志(X+1)被存储在NAND存储器12中作为后日志220B。后日志220B被存储在块50B中的页(k+1)的位置中。以此方式,后日志220B被存储在不同于前日志220A的块中,以及被存储在与其中存储前日志220A的页相同的页中。此外,被存储作为后日志220B的信息以及被存储作为前日志220A的信息是相同的信息。
当在步骤S12快照存储条件已满足时(步骤S12的“是”),DRAM11的管理信息存储区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-1)页被设为无效页(第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页开始被应用于其中存储了前日志220A的块50A(1),以及擦除页搜索从第k页开始被应用于其中存储了后日志220B的块50B(2)。
确定前日志220A和后日志220B的最后页(页数)是否相同(3)。当前日志220A和后日志220B的最后页相同时,通过使用前日志220A恢复管理信息(4)。当前日志220A和后日志220B的最后页不同时,通过使用后日志220B恢复管理信息(5)。
接下来说明根据第四实施例的一种针对用于管理信息的恢复的日志的选择方法的特定示例。图27A至29I是与第一实施例中的图17A至19I相同的说明性图。冗余的说明被省略。
在各个块的日志(页)中,画圈的正常存储的日志是被选择作为用于管理信息的恢复的日志的日志。图27A是正常时(当电源的异常隔离没有出现,且电源被断开时)的前日志和后日志的图。图27B至28G是当短时中断已经出现的时候的前日志和后日志的图。
在图27A中,示出了当存储器系统10的电源被断开而没有存储快照210时在NAND存储器12中存储的前日志和后日志。在图27A的情形中,由于数据仅被写入低位页(页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使用来自第二页到第十页的前日志恢复管理信息。
当用于前日志的块改变为坏块时,一个新的块被设为用于前日志的块。从新块的某一页开始存储用于前日志的块。例如,当用于前日志的块在第十页改变为坏块时,从新块的第十一页存储用于前日志的块。当用于后日志的块改变为坏块时,以同样方式,一个新的块被设为用于后日志的块。从新块的某一页开始存储用于后日志的块。从而,即使当在用于前日志的块或用于后日志的块中出现坏块,也能够将前日志和后日志存储在不同块的相同页中。
如上所述,根据第四实施例,即使当在存储器系统10中出现短时中断时,前日志220A和后日志220B也会被存储在不同块的相同页中。因此,以下是可能的:基于前日志220A的最后页和后日志220B的最后页容易地确定出哪出现短时中断的时刻。以下也是可能的:容易地确定出前日志和后日志中的哪个日志可以被用于恢复管理信息(恢复点)。因此,存储器系统10可以被容易地和迅速地重置到出现异常隔离之前的状态。
即使对快照210的生成改变,前日志220A和后日志220B也被持续写入相同的日志存储块中。因此,当电源的异常隔离出现时,以下是可能的:在高效使用用于前日志的块和用于后日志的块的同时,容易地和迅速地将存储器系统10重置到出现异常隔离之前的状态。
当NAND存储器12是多值存储器时,前日志220A和后日志220B中的至少一个不会由于短时中断的原因被中断。因此,不管何时当出现短时中断时,以下是可能的:通过使用前日志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打开其中存储了后日志的块中最旧的一个块。例如,在后日志被存储在用于后日志的第一块(在快照之后的第一块)的最后页中之后,或者在后日志被存储在用于后日志的第二块的最后页中之后,如图30C所示,日志存储块打开单元156打开其中存储了后日志的块中最旧的一个块。日志存储块打开单元156检查将打开的块中的后日志是否存储了与前日志中相同的信息。仅当将打开的块中的后日志存储了与前日志中相同的信息时,日志存储块打开单元156才将其中存储了后日志的块设为打开目标的块。
例如,当日志存储块打开单元156被设为:在后日志被存储在用于后日志的块的最后页中之后以及当后日志的日志长度超过1个块时,打开最旧的一个块,日志存储块打开单元156在开始写入块51B中的第一页之后打开块50B(ST1)。日志存储块打开单元156在写入块52B的第一页完成之后打开块51B(ST2)。
当日志存储块打开单元156被设为:在后日志被存储在用于后日志的第一块的最后页中之后以及当后日志的日志长度超过1个块和1个页时从最旧的块开始按顺序打开块的时候,由于块50B是用于后日志的块中最旧的,日志存储块打开单元156在写入块52B中的第一页完成之后打开块50B(ST1)。随后,日志存储块打开单元156打开块51B(ST2)。当后日志的日志长度超过1个块和1个页时,日志存储块打开单元156可以仅打开最旧的一个块。在此情形中,日志存储块打开单元156在写入块52B中的第一页完成之后仅打开块50B(ST1)。
当不希望打开的数据被存储在用于后日志的第一块中时,该用于后日志的第一块可以从作为打开目标的块中排除。在此情形中,当后日志被存储在用于后日志的第二块的最后页中以及后日志的日志长度(大小)超过预定长度(例如1个页)的时候,其中存储后日志的块从最旧的块(用于后日志的第二块)开始按顺序打开预定数量的块。
如上所述,根据第五实施例,当后日志的日志长度超过预定长度时,其中存储后日志的旧块被打开。因此,被打开的块增加,并且作为结果,能够高效地执行均化处理。
第六实施例
以下参考图31A和31B说明本发明的第六实施例。在第六实施例中,与第三实施例中一样,其中存储前日志的块组以及其中存储后日志的块组是不同的块组。各个块组是高速可存取的块组(逻辑块)。
如图31A和31B所示,信道120A至120D的每个具有平面0(PL0)和平面1(PL1)。块p0、q0、r0、s0和t0是信道120A的平面0,而块p1、q1、r1、s1和t1是信道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和包括块sr0至s7的逻辑块72B被分配给用于后日志的块。
以此方式,其中存储前日志的逻辑块和其中存储后日志的逻辑块是独立的块。其中存储前日志的逻辑块中的块(存储开始块等等)和其中存储后日志的逻辑块中的块(存储开始块等等)是在相同信道中的相同平面上的块。而且,其中存储前日志的块中的区(页位置)与其中存储后日志的块中的区(页位置)是相同的区。
特别地,例如,前日志从逻辑块71A的块p6中的第k页开始按顺序存储,以及后日志从逻辑块71B的块r6中的第k页开始按顺序存储。此后,当前日志被写入块p6中的所有页时,通过使用下一个块p7存储前日志。当后日志被写入块r6中的所有页时,通过使用下一个块r7存储后日志。前日志从块p7中的首页开始按顺序存储,以及后日志从块r7中的首页开始按顺序存储。
此外,当前日志被写入块p7中的所有页时,通过使用块q0作为用于前日志的下一个逻辑块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的组件相同组件通过相同的参考标号和标志所指示。冗余的说明被省略。
指针230指示出:快照210的位置、在存储快照210之后首先获得的前日志220A的位置、以及在存储快照210之后首先获得的后日志220B的位置。
前日志220A和后日志220B分别被存储在日志存储块中。即使对快照的生成改变,前日志220A和后日志220B也会被持续地写入相同的日志存储块中。
以下说明由管理信息管理单元152执行的针对存储器系统10的管理信息的存储处理。图33是根据第七实施例的针对存储器系统10的管理信息的存储处理过程的示例的流程图。图34是用于说明根据第七实施例的针对存储器系统10的前日志和后日志的存储处理的图。存储器系统10连接于主机设备,并作为主机设备的次级存储设备进行工作。主机设备(存储器系统10)处于已启动状态。在启动状态之前,在存储器系统10停止之前存储快照210。
首先,基于在主机设备(存储器系统10)的上一次结束处存储的快照210,主机设备(存储器系统10)处于已启动状态(步骤S111)。此后,当必要时从主机设备执行向NAND存储器12中的数据写入。管理信息管理单元152确定在以上(1)至(3)中说明的快照存储条件是否满足(步骤S112)。当快照存储条件不满足时(步骤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。例如,信息y1被存储作为前日志220A。例如在前日志220A(更新安排)被记录在DRAM 11上之后前日志220A被存储在NAND存储器12的管理信息存储区126中。
随后,逻辑NAND管理层32执行在步骤S113接收的指令(步骤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。例如,信息y1被存储作为后日志220B。被存储作为后日志220B的信息y1与被存储作为前日志220A的信息y1相同。例如在后日志220B被记录在DRAM 11上之后,后日志220B被存储在NAND存储器12的管理信息存储区126中。此后,管理信息管理单元152返回步骤S112。
当快照存储条件不满足(步骤S112的“否”),并且涉及管理信息的更新的指令被接收(步骤S113的“是”)时,重复步骤S114至S117的处理。特别地,以针对第X个数据的写入处理相同的方式,执行针对第(X+1)个数据的写入处理。在执行作为针对第(X+1)个数据的写入处理的数据写入(X+1)之前,对应于数据写入(X+1)的前日志(X+1)被存储在NAND存储器12中作为前日志220A。例如,作为前日志220A,信息y2被存储。在NAND存储器12的数据存储区125中执行数据写入(X+1)。此外,对应于数据写入(X+1)的后日志(X+1)被存储在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中的最后页正被写入时,该最后页无法被读出。因此,在后日志220B的存储期间确定已出现短时中断。当前日志220A中的最后页正被写入时,该最后页无法被读出。因此,在前日志220A的存储期间确定已出现短时中断。当日志被写入前日志220A的最后页以及日志未被写入后日志220B的最后页时,在数据写入期间确定已出现短时中断。
当管理信息恢复单元155确定已出现短时中断的时刻在后日志220B的存储期间时(步骤S137的“是”),管理信息恢复单元155选择最新的前日志220A(步骤S138)。另一方面,当管理信息恢复单元155确定已出现短时中断的时刻不在后日志220B的存储期间时(步骤S137的“否”),管理信息恢复单元155选择已完成存储的最新的后日志220B(步骤S139)。换句话说,当前日志220A的最后页正被写入,或当日志被写入前日志220A的最后页以及日志未被写入后日志220B的最后页时,选择最新的后日志220B。
特别地,如图36所示,当在对应于处理(X-1)的后日志(X-1)的存储期间出现短时中断(e1)时,由于数据写(X-1)已经完成,管理信息恢复单元155确定处理(X-1)已经完成。管理信息恢复单元155选择前日志(X-1)作为最新的前日志。
当在后日志(X-1)的存储之后直到开始后日志X的存储的时间段期间出现短时中断(e2)时,由于数据写入X未完成,管理信息恢复单元155确定处理X未完成。管理信息恢复单元155选择后日志(X-1)作为完成存储的最新的后日志。
类似地,当在对应于处理X的后日志X的存储期间出现短时中断(e3)时,由于数据写入X已经完成,管理信息恢复单元155确定处理X已经完成。管理信息恢复单元155选择前日志X。
此外,当在后日志X的存储之后直到开始后日志(X+1)的存储的时间段中出现短时中断(e4)时,由于数据写入(X+1)未完成,管理信息恢复单元155确定处理(X+1)未完成。管理信息恢复单元155选择后日志X作为完成存储的最新的后日志。
此后,管理信息恢复单元155从日志存储块获得了前日志220A和后日志220B中的所选一个的第一日志至最新日志,并且将所述日志扩展到DRAM 11的工作区112中(步骤S140)。管理信息恢复单元155将日志从最旧一个开始按顺序反映到快照210上,并恢复管理信息(非易失性表)(步骤S141)。对于管理信息的恢复处理完成。
例如,当前日志(X-1)被选择时,管理信息恢复单元155将前日志(X-1)中的日志从最旧一个日志开始按顺序反映到快照210上,并恢复管理信息(过程f1)。当后日志(X-1)被选择时,管理信息恢复单元155将后日志(X-1)中的日志从最旧一个日志开始按顺序反映到快照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重置到出现短时中断之前的状态。
本领域技术人员将容易地领会附加的优点和修改。因此,本发明在其较宽泛范围内不限于此处示出和描述的特定细节和代表性实施例。因此,在不脱离如所述权利要求及其等价物所限定的一般发明概念的精神或范围的情况下,可以做出多种修改。

存储器系统.pdf_第1页
第1页 / 共91页
存储器系统.pdf_第2页
第2页 / 共91页
存储器系统.pdf_第3页
第3页 / 共91页
点击查看更多>>
资源描述

《存储器系统.pdf》由会员分享,可在线阅读,更多相关《存储器系统.pdf(91页珍藏版)》请在专利查询网上搜索。

一种存储器系统,包括:易失性第一存储单元、非易失性第二存储单元、以及控制器。所述控制器将在启动操作期间在所述第二存储单元中存储的数据的管理信息存储在所述第一存储单元中,以及在更新所述管理信息时执行数据管理。在所述第一存储单元中存储的最新状态的管理信息也被存储在所述第二存储单元中。所述管理信息包括:在所述管理信息出现改变之前生成的改变之前和之后的前日志;以及后日志,其在所述管理信息出现改变之后生成,。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1