存储控制器、存储设备、信息处理系统以及存储控制方法与流程

文档序号:11995312阅读:312来源:国知局
存储控制器、存储设备、信息处理系统以及存储控制方法与流程
本公开涉及存储控制器、存储设备、信息处理系统以及存储控制方法。更具体地,本公开涉及能够基于纠错码执行错误校正的存储控制器、存储设备、信息处理系统以及存储控制方法。

背景技术:
当使用存储器时,为了检测在存储器中存储的数据中是否产生了错误并且在存储器中存储的数据中产生错误时校正该错误,纠错码(ECC)在某些情况下被添加到该数据。特别地,ECC通常被用在诸如与非门(NAND)闪速存储器之类的非易失性存储器中。因此,对先前确定的每个数据单位添加ECC并且在这种状态下,数据被记录。结果,加强了数据保持特性。例如,提出了一种非易失性存储器系统,其中对于在数据区域中以字的增量方式记录的数据,ECC被存储在ECC区域中。例如,在日本专利特开No.2011-039585中描述了这种非易失性存储器系统。

技术实现要素:
在日本专利特开No.2011-039585中描述的相关技术中,对于物理地址连续的数据生成了ECC。然而,当主机计算机基于逻辑地址来指定期望其保持特性被加强的数据时,数据未必被记录在与逻辑地址相对应的、在物理地址空间上连续的非易失性存储器的区域中。为此,必需在期望其保持特性被加强的数据已经被拷贝到物理地址空间中的连续区域之后执行用于保持特性的加强命令。也就是说,担心的是存储器系统性能被由于拷贝而引起的开销降低了。利用在日本专利特开No.2011-081776中描述的相关技术,通过使用两种纠错码,改进了长期保持特性,并且抑制了纠错码的增加带来的影响。在这样的相关技术中,当仅在变成纠错码的对象的数据的一部分中产生改变时,在已经读出变成纠错码的对象的全体数据之后重计算纠错码是必要的。特别地,当提供了多个种类的纠错码时,因为变成纠错码的对象的数据变得很大,所以用于数据的读出以及纠错码的重计算所需的时间变得很长。因此,每当数据的一部分被更新时重复纠错码的重计算变成造成显著的性能降低的因素并且因此是长远的。本公开已经被做出以便解决上文中所描述的问题,并且因此希望在不用知道关于物理地址空间的布置的情况下加强数据的保持特性。为了达到上文中所描述的期望,根据本公开的实施例,提供了一种存储控制器,包括:被配置成在以数据和该数据的第一纠错码作为单位数据(unitdata)而将多个单位数据存储在存储部中,并且将预定的多个单位数据的第二纠错码存储在存储部中以便对应于多个单位数据中的预定的多个单位数据时,以每个条目来管理预定的多个单位数据与对应于预定的多个单位数据的第二纠错码之间的对应关系;地址管理部,被配置成管理逻辑地址与纠错码管理部中的条目之间的对应关系;以及纠错部,被配置成获取纠错码管理部中的与作为从地址管理部进行读取的对象的逻辑地址相对应的条目,并且基于在所关心的条目中管理的预定的多个单位数据和第二纠错码来执行纠错。因此,提供了一种操作,该操作使得利用与物理地址空间上的任意的多个单位数据相对应的第二纠错码来执行纠错。优选地,预定的多个单位数据可以被存储在存储部中的不连的续物理地址中。因此,提供了一种操作使得利用与在不连续的物理地址中存储的多个单位数据相对应的第二纠错码来执行纠错。优选地,地址管理部可以管理表示与逻辑地址相对应的第二纠错码是否被存储的纠错码标志,并且纠错部可以仅在纠错码标志表示第二纠错码被存储的结果时执行纠错。因此,提供了一种操作使得通过参照纠错码来跳过无用的纠错处理。优选地,纠错码管理部可以调控预定的多个单位数据的耦接顺序;并且纠错部可以根据该偶接顺序来偶接预定的多个单位数据,从而执行纠错。因此,提供了一种操作使得利用与预定个数据相对应的第二纠错码来执行纠错,物理地址空间上的任意的多个单位数据以任意顺序被偶接到预定个数据中。优选地,纠错码管理部可以保持与预定的多个单位数据相对应的第二纠错码在存储部中的物理地址;并且纠错部可以根据第二纠错码的物理地址从存储部获取第二纠错码。因此,提供了一种操作使得根据在物理地址空间上的任意的多个单位数据的物理地址来利用对应的第二纠错码执行纠错。优选地,纠错码管理部可以进一步将与预定的多个单位数据相对应的第二纠错码在存储部中的物理地址内偏移;并且纠错部可以根据第二纠错码的物理地址和物理地址内偏移从存储部获取第二纠错码。因此,提供了一种操作使得预定的第二纠错码从在同一物理地址中存储的多个第二纠错码(ECC)中被选择,从而执行纠错。优选地,存储控制器可以进一步包括:纠错码生成部,被配置成在接收到数据保持特性加强命令时针对在该数据保持特性加强命令所指定的逻辑地址的范围内存储的数据来生成第二纠错码;以及条目管理部,被配置成被配置成在接收到数据保持特性加强命令时,针对数据保持特性加强命令所指定的逻辑地址的范围内存储的数据,在纠错码管理部中新确保在其中保持与对应的第二纠错码的对应关系的条目,并且将新确保的条目与指定的逻辑地址之间的对应关系登记在地址管理部中。因此,提供了种操作使得数据保持特性加强处理利用数据保持特性加强命令作为触发被执行。优选地,条目管理部可以在接收到数据保持特性加强解除命令时,释放在纠错码管理部中针对在数据保持特性加强解除命令中指定的逻辑地址的范围内存储的数据,保持与对应的第二纠错码的对应关系的条目,并且可以删除地址管理部中的释放的条目与指定的逻辑地址之间的对应关系。因此,提供了一种操作使得数据保持特性加强解除处理利用数据保持特性加强解除命令作为触发来执行。优选地,纠错码管理部可以对于每个条目保持与第二纠错码相对应的单位数据的数目;并且条目管理部可以在新确保条目时以其中单位数据的数目表示零的条目为目标。因此,提供了一种操作使得在数据保持特性被新加强时,纠错码管理部中的空条目被利用。优选地,纠错码管理部可以对于每个条目都保持了与第二纠错码相对应的单位数据的数目;并且条目管理部可以在新确保条目时以其中单位数据的数目小于预定数目的条目为目标。因此,提供了一种操作使得在数据保持特性被新加强时,纠错码管理部中具有对象数据的一个或多个空物理地址的条目被利用。优选地,地址管理部可以将针对逻辑地址进行最后存取的时间保持为最后存取时间,其中存储控制器可以进一步包括:纠错码生成部,被配置成在从最后存取时间起经过预定的时间段时针对在逻辑地址中存储的数据来生成第二纠错码;以及条目管理部,被配置成在从最后存取时间起经过预定的时间段时,针对在逻辑地址中存储的数据,在纠错码管理部中新确保在其中保持与对应的第二纠错码的对应关系的条目,并且将新确保的条目与指定的逻辑地址之间的对应关系登记在地址管理部中。因此,提供了一种操作使得长时间未被重写的数据经历数据保存特性来作为加强,因为担心这样的数据逐渐消失。优选地,在这种情况下,条目管理部可以在第二纠错码从最后存取时间起经过预定的时间段为止的期间被存储时,释放纠错码管理部中的针对在逻辑地址中存储的数据保持了与对应的第二纠错码的对应关系的该条目,并且可以删除地址管理部中的释放的条目与指定的逻辑地址之间的对应关系。因此,提供了一种操作使得因为具有高的存取频率的数据逐渐消失的可能性很低,所以数据保持特性加强被解除。根据本公开的另一实施例,提供了一种存储设备,包括:单位数据存储部,被配置成以数据和数据的第一纠错码作为单位数据而在其中存储多个单位数据;纠错码存储部,被配置成在其中存储预定的多个单位数据的第二纠错码以便对应于多个单位数据中的预定的多个单位数据;纠错码管理部,被配置成以每个条目来管理预定的多个单位数据与对应于预定的多个单位数据的第二纠错码之间的对应关系;地址管理部,被配置成管理逻辑地址与纠错码管理部中的条目之间的对应关系;以及纠错部,被配置成获取纠错码管理部中的与作为从地址管理部进行读取的对象的逻辑地址相对应的条目,从而基于在所关心的条目中管理的预定的多个单位数据和第二纠错码来执行纠错。因此,提供了一种操作使得利用与存储设备中的物理地址空间上的任意的多个单位数据相对应的第二纠错码来执行该纠错。优选地,单位数据存储部和纠错码存储部的每个可以是非易失性存储器。根据本公开的又一个实施例,提供了一种信息处理系统,包括:单位数据存储部,被配置成以数据和数据的第一纠错码作为单位而在其中存储多个单位数据;纠错码存储部,被配置成在其中存储预定的多个单位数据的第二纠错码以便对应于多个单位数据中的预定的多个单位数据;纠错码管理部,被配置成以每个条目来管理预定的多个单位数据与对应于预定的多个单位数据的第二纠错码之间的对应关系;地址管理部,被配置成管理逻辑地址与纠错码管理部中的条目之间的对应关系;纠错部,被配置成获取纠错码管理部中的与作为从地址管理部进行读取的对象的逻辑地址相对应的条目,从而基于在所关心的条目中管理的预定的多个单位数据和第二纠错码来执行纠错;以及主机计算机,被配置成发出请求以请求访问单位数据存储部。因此,提供了种操作使得在信息处理系统中利用与物理地址空间上的任意的多个单位数据相对应的第二纠错码来执行该纠错。根据本公开的又一个实施例,提供了一种在存储设备中使用的存储控制方法,存储设备包括:单位数据存储部,以数据和数据的第一纠错码作为单位在其中存储多个单位数据;纠错码存储部,在其中存储预定的多个单位数据的第二纠错码以便对应于多个单位数据中的预定的多个单位数据;纠错码管理部,以每个条目来管理预定的多个单位数据与对应于预定的多个单位数据的第二纠错码之间的对应关系;以及地址管理部,管理逻辑地址与纠错码管理部中的条目之间的对应关系,存储控制方法包括:获取纠错码管理部中的与作为从地址管理部进行读取的对象的逻辑地址相对应的条目;并且基于在所获取的条目中管理的预定的多个单位数据和第二纠错码来执行纠错。利用在日本专利特开No.2011-081776中描述的相关技术,通过使用两种纠错码,改进了长期保持特性,并且抑制了纠错码的增加带来的影响。在这样的相关技术中,当仅在变成纠错码的对象的数据的一部分中产生改变时,在已经读出变成纠错码的对象的全体数据之后重计算纠错码是必要的。特别地,当提供了多个种类的纠错码时,因为变成纠错码的对象的数据变得很大,所以用于数据的读出以及纠错码的重计算所需的时间变得很长。因此,每当数据的一部分被更新时重复纠错码的重计算变成造成显著的性能降低的因素并且因此是长远的。此外,进一步希望抑制当在作为纠错码的对象的数据的一部分中产生变化时的纠错码的重计算。为了获得上文中所描述的期望,根据本公开的进一步的实施例,提供了一种存储控制器和存储控制方法。该存储控制器包括:地址管理部,被配置成在多个数据和与多个数据相对应的纠错码被存储在存储器的第一存储区域,与每预定数目的多个数据对应地将纠错码存储在存储器的第二存储区域,并且将针对多个数据的任一个的附加数据和针对附加数据的纠错码存储在存储器的第三存储区域时,针对多个数据来管理逻辑地址与存储器的第一存储区域或第三存储区域中的物理地址之间的对应关系;控制部,被配置成在与和写入请求相关的逻辑地址相对应的物理地址对应于第一存储区域时,将写入请求相关的数据作为附加数据来将附加数据和针对附加数据的纠错码附加到第三存储区域而不用对第一存储区域和第二存储区域执行重写,并且将第三存储区域中的附加了附加数据和针对附加数据的纠错码的物理地址登记在地址管理部中;以及纠错处理部,被配置成在与和读取请求相关的逻辑地址相对应的物理地址对应于第三存储区域时,利用第三存储区域中的附加数据和针对附加数据的纠错码来执行第三存储区域中的附加数据中的纠错,并且在与和读取请求相关的逻辑地址相对应的物理地址不对应于第三存储区域时,利用在其中包含了第一存储区域中的数据的预定数目的多个数据和第二存储区域中的纠错码来执行第一存储区域中的纠错。因此,提供了一种操作使得当变成纠错码的对象的数据的一部分被更新时纠错码的重计算成为不必要的。优选地,控制部可以在预定定时针对附加数据将附加数据覆写(overwrite)到附加之前的第一存储区域;并且在预定定时根据在其中包含了被覆写的数据的预定数目的多个数据来生成纠错码,并且可以将纠错码存储在第二存储区域中。根据本公开的再进一步的实施例,提供了一种存储设备和该存储设备的控制方法。该存储设备包括:存储器,被配置成将多个数据和针对多个数据的纠错码存储在第一存储区域中,并且与每预定数目的多个数据对应地将纠错码存储在第二存储区域中,以及将针对多个数据中的任何一个的附加数据和针对附加数据的纠错码存储在第三存储区域中;地址管理部,被配置成针对多个数据来管理逻辑地址与第一存储区域或第三存储区域中的物理地址之间的对应关系;控制部,被配置成在与和写入请求相关的逻辑地址相对应的物理地址对应于第一存储区域时,将和写入请求相关的数据作为附加数据来将附加数据和针对附加数据的纠错码附加到第三存储区域而不用对第一存储区域和第二存储区域执行重写,并且将第三存储区域中的附加了附加数据和针对附加数据的纠错码的物理地址登记在地址管理部中;以及纠错处理部,被配置成在与和读取请求相关的逻辑地址相对应的物理地址对应于第三存储区域时,利用第三存储区域中的附加数据和针对附加数据的纠错码来执行第三存储区域中的附加数据中的纠错,并且在与和读取请求相关的逻辑地址相对应的物理地址不对应于第三存储区域时,利用在其中包含了第一存储区域中的数据的预定数目的多个数据和第二存储区域中的纠错码来执行第一存储区域中的纠错。因此,提供了一种操作使得当在存储器中变成纠错码的对象的数据的一部分被更新时纠错码的重计算成为不必要的。优选地,存储器可以将第一存储区域存储在闪速存储器中,并且可以将第三存储区域存储在非易失性RAM中。因此,提供了一种操作使得存储器存取被加速。根据本公开的再进一步的实施例,提供了一种信息处理系统和该信息处理系统的控制方法。该信息处理系统包括:存储器,被配置成将多个数据和针对多个数据的纠错码存储在第一存储区域中,并且与每预定数目的多个数据对应地将纠错码存储在第二存储区域中,以及将针对多个数据中的任何一个的附加数据和针对附加数据的纠错码存储在第三存储区域中;地址管理部,被配置成针对多个数据来管理逻辑地址与第一存储区域或第三存储区域中的物理地址之间的对应关系;控制部,被配置成在与和写入请求相关的逻辑地址相对应的物理地址对应于第一存储区域时,将和写入请求相关的数据作为附加数据来将附加数据和针对附加数据的纠错码附加到第三存储区域而不用对第一存储区域和第二存储区域执行重写,并且将第三存储区域中的附加了附加数据和针对附加数据的纠错码的物理地址登记在地址管理部中;纠错处理部,被配置成在与和读取请求相关的逻辑地址相对应的物理地址对应于第三存储区域时,利用第三存储区域中的附加数据和针对附加数据的纠错码来执行第三存储区域中的附加数据中的纠错,并且在与和读取请求相关的逻辑地址相对应的物理地址不对应于第三存储区域时,利用在其中包含了第一存储区域中的数据的预定数目的多个数据和第二存储区域中的纠错码来执行第一存储区域中的纠错;以及主机计算机,被配置成向该存储器发出或读取请求或写入请求。因此,提供了一种操作使得当根据从主机计算机发出的指令在存储器中更新变成纠错码的对象的数据的一部分时,纠错码的重计算成为不必要的。如在上文中所陈述的,根据本公开的实施例,提供了一种优异的效果使得可以在不用知道有关道物理地址空间的布置的情况下加强数据保持特性。附图说明图1是示出了根据本公开的第一实施例的信息处理系统的配置的方框图;图2是示出了在根据本公开的第一实施例的信息处理系统中的非易失性存储区域的存储内容的图;图3是示出了在根据本公开的第一实施例的信息处理系统中的非易失性存储区域的管理形式的图;图4是示出了在根据本公开的第一实施例的信息处理系统中的地址映射表的结构的图;图5是示出了在根据本公开的第一实施例的信息处理系统中的第二ECC管理表的结构的图;图6是说明了在根据本公开的第一实施例的信息处理系统中的写入处理的处理过程的流程图;图7是说明了在根据本公开的第一实施例的信息处理系统中的读取处理的处理过程的流程图;图8是说明了在根据本公开的第一实施例的信息处理系统中的数据保持特性加强处理的处理过程的流程图;图9是示出了在本公开的第一实施例中的地址映射表的第一数值示例的图;图10是示出了在本公开的第一实施例中的地址映射表的第二数值示例的图;图11是示出了在本公开的第一实施例中的第二ECC管理表的第一数值示例的图;图12是示出了在本公开的第一实施例中的第二ECC管理表的第二数值示例的图;图13是说明了在本公开的第一实施例中的数据保持特性加强解除处理的处理过程的流程图;图14是示出了在本公开的第一实施例中的第二ECC管理表的第三数值示例的图;图15是示出了在本公开的第一实施例中的地址映射表的第三数值示例的图;图16是示出了在本公开的第一实施例中的第二ECC管理表的修改变化(第二ECC物理地址内偏移)的图;图17是示出了在本公开的第一实施例中的地址映射表的修改变化(逻辑地址上不相关的数据)的更新之前的数值示例的图;图18是示出了在本公开的第一实施例中的第二ECC管理表的修改变化(逻辑地址上不相关的数据)的更新之前的数值示例的图;图19是示出了在本公开的第一实施例中的地址映射表的修改变化(逻辑地址上不相关的数据)的更新之后的数值示例的图;图20是示出了在本公开的第一实施例中的地址映射表的修改变化(逻辑地址上不相关的数据)的更新之后的数值示例的图;图21是示出了在本公开的第一实施例中的地址映射表的修改变化(最后存取时间)的数值示例的图;图22是示出了在本公开的第一实施例中的非易失性存储区域的修改变化(多个逻辑地址)的存储内容的图;图23是示出了在本公开的第一实施例中的地址映射表的修改变化(多个逻辑地址)的数值示例的图;图24是示出了在本公开的第一实施例中的第二ECC管理表的修改变化(多个逻辑地址)的数值示例的图;图25是示出了根据本公开的第二实施例的信息处理系统的配置的方框图;图26是示出了根据本公开的第二实施例的信息处理系统的功能性配置的方框图;图27是示出了在根据本公开的第二实施例的信息处理系统中的存储器内的存储区域的分割的图;图28是示出了在根据本公开的第二实施例的信息处理系统中的正常存取区域中的数据与第二ECC存储区域中的第二ECC的存储位置之间的关系的图;图29是示出了在根据本公开的第二实施例的信息处理系统中的地址管理部的地址映射表的结构的图;图30是说明了在根据本公开的第二实施例的信息处理系统中的写入处理的处理过程的流程图;图31是说明了在根据本公开的第二实施例的信息处理系统中的读取处理的处理过程的流程图;图32是说明了在根据本公开的第二实施例的信息处理系统中的聚合处理(aggregationprocessing)的处理过程的流程图;图33是示出了在根据本公开的第三实施例的信息处理系统中的存储器的管理形式的图;图34是示出了在根据本公开的第三实施例的信息处理系统中的地址映射表的结构的图;图35是示出了在根据本公开的第三实施例的信息处理系统中的第二ECC管理表的结构的图;图36是说明了在根据本公开的第三实施例的信息处理系统中的写入处理的处理过程的流程图;图37是说明了在根据本公开的第三实施例的信息处理系统中的读取处理的处理过程的流程图;图38是说明了在根据本公开的第三实施例的信息处理系统中的聚合处理的处理过程的流程图。具体实施方式将参照附图在下文中对本公开的实施例进行详细的描述。要注意的是,将根据以下顺序在下文给出描述。1.第一实施例2.第一实施例的修改变化3.第二实施例(第二ECC存储区域位置被固定的情况)4.第三实施例(使第二ECC存储区域位置可变的情况)5.第三实施例的修改变化<1.第一实施例>【信息处理系统的配置】图1是示出了根据本公开的第一实施例的信息处理系统的配置的方框图。信息处理系统包括主机计算机100和存储器系统400。主机计算机100向存储器系统400发出诸如读取命令或写入命令之类的请求(命令),并且从存储器系统400接收对该请求(命令)的响应。存储器系统400通过从主机计算机100接收向其发出的读取命令来读出数据。此外,存储器系统400通过从主机计算机100接收向其发出的写入命令来写入数据。此外,存储器系统400通过从主机计算机100接收向其发出的数据保持特性加强命令(dataholdingcharacteristicsreinforcementcommand)来给出用于加强数据保持特性的纠错码(ECC)。在读取命令的情况下,作为读取的对象的首逻辑地址(headlogicaladdress)以及数据大小两者都被主机计算机100指定为参数。在写入命令的情况下,作为写入的对象的首逻辑地址以及数据大小两者都被主机计算机100指定为参数,并且作为写入的对象的数据被发送。同样地,在数据保持特性加强命令的情况下,作为数据保持特性加强的对象的首地址以及逻辑地址的数据大小两者都被主机计算机100指定为参数。存储器系统400包括非易失性存储器300和存储器控制器200。非易失性存储器300包括用于连接到存储器控制器200的外部接口302以及非易失性存储区域303。非易失性存储区域303包括数据存储区域310、第一ECC存储区域320、第二ECC存储区域330以及表存储区域340。稍后将描述被相应地存储在数据存储区域310、第一ECC存储区域320、第二ECC存储区域330以及表存储区域340中的内容。存储器控制器200是用于控制非易失性存储器300的控制器。存储器控制器200包括第一ECC生成部210、第二ECC生成部220、表管理部230以及数据写入处理部240。此外,存储器控制器200包括数据读取处理部250、第一ECC校正部260、第二ECC校正部270以及ECC切换处理部280。此外,存储器控制器200包括用于连接到主机计算机100的主机接口201以及用于连接到非易失性存储器300的存储器接口203。第一ECC生成部210生成纠错码(第一ECC),该纠错码被添加到根据从主机计算机100发出的写入命令而接收到的数据。第二ECC生成部220生成被用来加强数据保持特性的纠错码(第二ECC)。表管理部230用来管理稍后将描述的地址映射表、第二ECC管理表等等。数据写入处理部240执行用于将数据写入到非易失性存储器300的处理。数据读取处理部250执行用于从非易失性存储器300读取数据的处理。第一ECC校正部260通过使用第一ECC来执行数据的错误检测和校正。第二ECC校正部270通过使用第二ECC来执行数据的错误检测和校正。ECC切换处理部280在其不能够通过第一ECC执行错误校正时执行用于通过使用第二ECC来执行数据的错误检测和校正的切换处理。注意的是,第二ECC校正部270是在所附权利要求中描述的纠错部的示例。此外,第二ECC生成部220是在所附权利要求中描述的纠错码生成部的示例。此外,表管理部230是在所附权利要求中描述的条目管理部的示例。此外,数据存储区域310和第一ECC存储区域320中的每一个是在所附权利要求中描述的单位数据存储部的示例。而且,第二ECC存储区域330是在所附权利中描述的纠错码存储部的示例。【非易失性存储区域303的存储形式】图2是示出了在第一实施例的信息处理系统中的非易失性存储区域303的存储内容的图。假定了非易失性存储区域303例如可以利用34个字节作为单位数据来读取和写入数据,并且每34个字节分配一个物理地址。具有34个字节的单位数据例如由32个字节的数据和用于具有32个字节的数据的2个字节的纠错码(第一ECC)组成。也就是说,具有2个字节的第一ECC被给予数据存储区域310中的具有32个字节的数据,并且得到的34个字节的单位数据被存储在第一ECC存储区域320中。注意的是,一般地,表达式(1)成立:A+B≤N(1)其中,N是表示非易失性区域303的单位数据宽度的字节,A是表示其数据大小的字节,以及B是表示给出的第一ECC的大小的字节。除此之外,假定例如具有34个字节的另一纠错码(第二ECC)被给予了四个单位数据。第二ECC被存储在第二ECC存储区域330中。变成第二ECC的给予的对象的单位数据可以被存储在物理地址空间上不连续的物理地址中。注意的是一般而言,表达式(2)成立:C≤N(2)其中,C是表示给出的第二ECC的大小的字节。这些单位数据和第二ECC在非易失性存储区域303上的存储地址通过将在下文描述的表来管理。注意的是在这种情况下,特别地,非易失性存储器优选地适用于可以采用小的单位对其执行高速随机存取的非易失性随机存取存储器(NVRAM:非易失性RAM)。NVRAM例如包括相变RAM(PCRAM)、磁阻RAM(MRAM)以及电阻式RAM(ReRAM)。此外,非易失性存储器也可以适用于闪速存储器。图3是示出了在第一实施例的信息处理系统中的非易失性存储区域303的管理形式的图。单位数据和第二ECC在非易失性存储区域303上的存储地址通过地址映射表341和第二ECC管理表342两者来管理。地址映射表341是用于管理逻辑地址与物理地址之间的对应关系的表。在这种情况下,地址映射表341保持与逻辑地址相对应的第二ECC管理表342的索引。注意的是,地址映射表341是在所附权利要求中描述的地址管理部的示例。第二ECC管理表342是用于管理第二ECC的表。在这种情况下,第二ECC管理表342对于每个条目在其中保存第二ECC的物理地址以及与第二ECC相对应的单位数据的物理地址。索引(第二ECC索引)被相应地赋予这些条目。注意的是,第二ECC管理表342是在所附权利要求中描述的纠错码管理部的示例。地址映射表341和第二ECC管理表342两者都被存储在表存储区域340中。【地址映射表的结构】图4是示出了在第一实施例的信息处理系统中的地址映射表341的结构的图。地址映射表341在其中保存了逻辑地址、物理地址、数据标志、第二ECC标志以及第二ECC索引,使得逻辑地址、物理地址、数据标志、第二ECC标志以及第二ECC索引彼此相关联。逻辑地址是在主机计算机100中指定的非易失性存储区域303中的地址。物理地址是在非易失性存储区域303中的物理地址。注意的是在这种情况下,逻辑地址和物理地址的每个都通过描述以“0x”开始的十六进制数的方法来表示。数据标志是表示数据和第一ECC两者是否被相应地存储在对应的物理地址中的标志。当数据标志表示“真”时,该数据标志表示数据和第一ECC两者被相应地写入到对应的物理地址。另一方面,当数据标志表示“假”时,该数据标志表示数据和第一ECC均未被写入到对应的物理地址。从数据标志表示“假”的物理地址读出的数据变成存储器中的初始值。注意的是,在NAND闪存的情况下,在存储器的初始值中所有的比特变成“1”。第二ECC标志是表示第二ECC是否被给予在对应的物理地址中存储的数据的标志。当第二ECC标志表示“真”时,第二ECC标志表示第二ECC被给予在对应的物理地址中存储的数据以加强数据保持特性。另一方面,当第二ECC标志表示“假”时,第二ECC标志表示无第二ECC被给予在对应的物理地址中存储的数据。第二ECC索引在第二ECC标志表示“真”时是有效值,并且被相应地给予第二管理表342的条目的第二ECC索引被保存。在图4中所示出的情况下,“zi”被保存为地址映射表341的条目710、711、712以及713的每个中的第二ECC索引。【第二ECC管理表的结构】图5是示出了在第一实施例的信息处理系统中的第二ECC管理表342的结构的图。在第二ECC管理表342中,第二ECC索引、数据的数目、第二ECC物理地址以及第0至第三个数据的物理地址被保存在条目中的每一个条目中。第二ECC索引用来保存用于识别第二ECC管理表342的条目的索引。第二ECC索引的值被保存在地址映射表341的对应条目中,从而地址映射表341和第二ECC管理表342被彼此相关联。数据的数目表示在对应条目中包含的数据的数目。第二ECC物理地址被用来在其中保存物理地址,在对应条目中包含的数据的第二ECC被存储在该物理地址中。第0个至第三个数据的物理地址被用来顺次在其中保存在对应条目中包含的数据的物理地址。在第0个至第三个数据的物理地址中,仅与上文中描述的数据的数目所表示的数目相对应的(一个或多个)物理地址是有效的。在这种情况下,因为在第二ECC索引为“001”的条目中,数据的数目表示“2”,所以仅第0个和第一个数据的两个物理地址是有效的。此外,因为在第二ECC索引为“000”的条目中,数据的数目表示“0”,所以第0个至第三个数据的全部物理地址都是无效的。【写入处理的处理过程】图6是说明了在本公开的第一实施例的信息处理系统中的写入处理的处理过程的流程图。存储器系统400通过主机接口210从主机计算机100接收写入命令和写入数据。写入命令具有作为参数的作为写入的对象的首逻辑地址和数据大小。在本文中描述的数据大小利用以逻辑地址所指定的区域作为单位的数值形式来表示。例如,在逻辑地址所指定的区域大小为32个字节的存储器系统中在“2”被指定为数据大小的情况下,从主机计算机100接收到的待写入的数据的大小变成32×2=64个字节。存储器控制器200基于作为写入命令的参数所接收到的作为写入的对象的首逻辑地址和数据大小,以逻辑地址为单位来划分写入命令(步骤S911)。在一个处理中执行一个逻辑地址,并且待写入的数据的大小变成由该单位逻辑地址指定的区域的大小。例如,当“xi1”和“1”被分别指定为作为写入的对象的首逻辑地址和数据大小时,一个处理被执行。此外,当“xi1”和“2”被分别指定为作为写入的对象的首逻辑地址和数据大小时,则该处理被划分成两个处理。此外,确定变成写入处理的对象的逻辑地址(步骤S912)。根据作为写入的对象的首逻辑地址来顺次确定变成对象的每个逻辑地址。当“xi1”和“2”被分别指定为作为写入的对象的首逻辑地址和数据大小时,利用其来首先执行处理的逻辑地址被确定为“xi1”。此外,下次变成对象的逻辑地址被确定为“xi1+1”。此外,从地址映射表341中获取与每个作为对象的逻辑地址相对应的地址转换信息(步骤S913)。地址转换信息是已经参照图4描述的物理地址、数据标志、第二ECC标志以及第二ECC索引。例如,在图4中所示出的情况下,当变成对象的逻辑地址是“xi1”时,“yi1”、“真”、“真”以及“zi”被分别获取作为物理地址、数据标志、第二ECC标志以及第二ECC索引。此外,根据从主机计算机100接收到的数据来计算第一ECC(步骤S914)。用于计算第一ECC的数据的大小是由1个逻辑地址指定的区域的大小(例如,32个字节)。当在步骤S913的处理中获取到的数据标志表示“假”时(步骤S915:否),数据在这个写入处理中被写入。因此,所关注的条目的数据标志被更新为“真”(步骤S916)。然后,操作进行到步骤S918中的处理。另一方面,当在步骤S913中的处理中获取到的数据标志表示“真”(步骤S915:是)时并且当第二ECC标志表示“真”(步骤S917:是)时,执行步骤S921中的处理中的和之后的预定数目个处理。在除该情况以外的情况下,操作进行到步骤S918中的处理。在第二ECC标志表示“真”时的处理中,获取用来通过使用与数据相对应的第二ECC执行错误校正的物理地址信息(步骤S921)。该物理地址信息是由上文中所描述的第二ECC管理表342管理的数据的数目、第二ECC物理地址以及第0个至第三个数据的物理地址。从第二ECC管理表342的如下条目中获取在本文中所获取的物理地址信息,该条目具有与在步骤S913的处理中获取到的第二ECC索引一致的值。例如,假定地址映射表341在其中保存了图4中所示出的值,并且第二ECC管理表342在其中保存了图5中所示出的值的情况。当在逻辑地址“xi1”中产生了写入时所获取到的物理地址信息被从第二ECC管理表342的如下条目中获取,在该条目中第二ECC索引变成“zi”。也就是说,数据的数目变成“4”,第二ECC物理地址变成“ei”,第0个数据的物理地址变成“yi0”,第一个数据的物理地址变成“yi1”,第二个数据的物理地址变成“yi2”以及第三个数据的物理地址变成“yi3”。此外,第二ECC、该数据以及第一ECC被基于在步骤S921的处理中获取到的物理地址信息从非易失性存储区域303中读出(步骤S922)。例如,假定从第二ECC管理表342中获取到的第二ECC物理地址、数据的数目以及第0个至第三个数据的物理地址分别是“ei”、“4”和“yi0”、“yi1”、“yi2”以及“yi3”的情况。在这种情况下,第二ECC被从物理地址“ei”读出,并且数据和第一ECC被从物理地址“yi0”、“yi1”、“yi2”以及“yi3”读出。对数据和第一ECC的错误校正通过使用在步骤S922的处理中读出的第二ECC来执行,并且处理过程取决于错误校正执行的成功和失败而进行分支(步骤S923)。此时,当在步骤S921的处理中获取到的数据的数目小于“4”时,关于缺乏的数据,在利用非易失性存储器300的初始值执行了填补(padding)之后,执行错误校正。当使用第二ECC的错误校正成功时(步骤S923:是),则执行步骤S924的处理中的和之后的预定数目个处理。另一方面,当使用第二ECC的错误校正失败时(步骤S923:否),主机计算机100被通知写入命令的错误结束(errorend)(步骤S927)。在主机计算机100被通知写入命令的错误结束之后,写入命令变成错误结束。当在步骤S923的处理中错误校正成功时,被存储在所关心的物理地址中的数据和第一ECC被分别利用从主机计算机100接收的数据和在步骤S914的处理中计算的第一ECC代替(步骤S924)。例如,假定在地址映射表341在其中保存了图4中所示出的值并且第二ECC管理表342在其中保存了图5中所示出的值时,在逻辑地址“xi1”中产生了写入的情况。在这种情况下,被存储在第一个数据的物理地址“yi1”中的数据和第一ECC被分别利用从主机计算机100接收到的数据和从所关心的数据计算出的第一ECC代替。接下来,关于在步骤S924的处理中分别用其代替了在物理地址中存储的数据和第一ECC的数据和第一ECC,计算其第二ECC(步骤S925)。例如,假定当地址映射表341在其中保存了图4中所示出的值并且第二ECC管理表342在其中保存了图5中所示出的值时,在逻辑地址“xi1”中产生了写入的情况。在这种情况下,第一ECC和从物理地址“yi0”读出的数据两者变成第0个数据,第一ECC和从物理地址“yi2”读出的数据两者变成第二个数据,以及第一ECC和从物理地址“yi3”读出的数据两者变成第三个数据。此外,从主机计算机100接收到的数据以及从所关心的数据计算出的第一ECC两者变成第一个数据。第0个至第三个数据被彼此耦接,从而计算第二ECC。以这样的方式计算出的第二ECC被写入到在步骤S921的处理中获取的第二ECC的物理地址(步骤S926)。当第二ECC的写入已经完成时,执行步骤S918的处理中的和之后的预定数目个处理。在完成步骤S916、S917或S926中的处理之后,数据和在步骤S914的处理中计算出的第一ECC两者都被写入到非易失性存储区域303(步骤S918)。作为写入的对象的物理地址是在步骤S913的处理中获取的物理地址。此外,判断在步骤S911的处理中通过划分获得的所有个处理是否已经结束(步骤S919)。当在步骤S919中确定处理仍然存在时(步骤S919:是),则重复地执行步骤S912的处理中的和之后的预定数目个处理。另一方面,当在步骤S919中确定所有个处理已经结束时(步骤S919:否),主机计算机100被通知写入命令已经被正常地执行的结果(步骤S929)。在该结果向主机计算机100的通知结束时,所关心的写入命令的处理正常地结束。【读取处理的处理过程】图7是说明了在根据本公开的第一实施例的信息处理系统中的读取处理的处理过程的流程图。存储器系统400通过主机接口201从主机计算机100接收读取命令。读取命令具有作为参数的作为读取的对象的首逻辑地址以及数据大小。类似于写入命令的情况,数据大小利用以逻辑地址所指定的区域为单位的数值的形式来表示。存储器控制器200基于作为读取命令的参数接收到的作为读取的对象的首逻辑地址以及数据大小,以逻辑地址为单位来划分该处理(步骤S931)。一个逻辑地址经历一个处理中的执行,并且待读出的数据的大小变成单位逻辑地址所指定的区域的大小。例如,当“xi1”被指定为作为读取的对象的首逻辑地址并且“1”被指定为数据大小时,处理被划分成一个处理。此外,当“xi1”被指定为作为读取的对象的首逻辑地址并且“2”被指定为数据大小时,处理被划分成两个处理。此外,确定每个变成读取的对象的逻辑地址(步骤S932)。从作为读取的对象的首逻辑地址来顺次确定每个变成读取的对象的逻辑地址。当“xi1”被指定为作为读取的对象的首逻辑地址并且“2”被指定为数据大小时,处理首先被执行时所利用的逻辑地址被确定为“xi1”。此外,下次变成对象的逻辑地址被确定为“xi1+1”。此外,从地址映射表341中获取与变成对象的逻辑地址相对应的地址转换信息(步骤S933)。地址转换信息是已参照图4描述的物理地址、数据标志、第二ECC标志以及第二ECC索引。例如,在图4中所示出的情况下,当变成对象的逻辑地址是“xi1”时,“yi1”、“真”、“真”以及“zi”被分别获取作为物理地址、数据标志、第二ECC标志以及第二ECC索引。当在步骤S933的处理中获取的数据标志表示“假”时(步骤S934:否),仅在步骤S933的处理中获取的物理地址被读出(步骤S935)。此时,由此读出的值是非易失性存储器300中的初始值。在完成数据的读取之后,执行步骤S938中的处理。另一方面,当数据标志表示“真”时(步骤S934:是),数据和第一ECC两者都被从在步骤S933的处理中获取到的物理地址读出(步骤S936)。此外,通过使用由此读出的第一ECC执行对数据的错误校正,并且处理取决于对数据的错误校正的成功和失败进行分支(步骤S937)。也就是说,当错误校正成功时(步骤S937:是),执行步骤S938的处理,当错误校正失败时(步骤S937:否),执行步骤S941的处理中的和之后的预定个处理。当使用第一ECC的错误校正失败时(步骤S937:否),处理取决于在步骤S933的处理中获取到的第二ECC标志的值进行分支(步骤S941)。也就是说,当第二ECC标志表示“假”时(步骤S941:否),因为不可能执行进一步的错误校正,所以主机计算机100被通知读取命令的错误结束(步骤S947)。在读取命令的错误结束的通知到主机计算机100之后,所关心的读取命令变成错误结束。另一方面,当第二ECC标志表示“真”时(步骤S941:是),获取用来通过使用与数据相对应的第二ECC执行错误校正的物理地址信息(步骤S942)。物理地址信息是全部通过上文中所描述的第二ECC管理表342来管理的数据的数目、第二ECC物理地址以及第0个至第三个数据的物理地址。从第二ECC管理表342的如下条目中获取在此处所获取的物理地址信息,该条目具有与在步骤S913的处理中获取到的第二ECC索引一致的值。例如,假定地址映射表341在其中保存了图4中所示出的值并且第二ECC管理表342在其中保存了图5中所示出的值的情况。当在逻辑地址“xi1”中产生了写入时获取到的物理地址信息被从第二ECC管理表342的如下条目中获取,在该条目中第二ECC索引变成“zi”。也就是说,数据的数目变成“4”,第二ECC物理地址变成“ei”,第0个数据的物理地址变成“yi0”,第一个数据的物理地址变成“yi1”,第二个数据的物理地址变成“yi2”以及第三个数据的物理地址变成“yi3”。此外,第二ECC、数据以及第一ECC基于在步骤S942的处理中获取到的物理地址信息从非易失性存储区域303中全部被读出(步骤S943)。例如,假定全部从第二ECC管理表342中获取到的第二ECC物理地址、数据的数目以及第0个至第三个数据的物理地址分别是“ei”、“4”和“yi0”、“yi1”、“yi2”以及“yi3”。在这种情况下,第二ECC被从物理地址“ei”读出,并且数据和第一ECC被从物理地址“yi0”、“yi1”以及“yi2”读出。然而,因为物理地址“yi1”中存储的第一个数据在步骤S936的处理中被预先读出,所以可以省略其中的数据读取。此外,通过使用在步骤S943的处理中读出的第二ECC来执行对在步骤S943的处理中读出的数据和第一ECC的错误校正,并且处理取决于对数据和第一ECC的错误校正的成功和失败进行分支(步骤S944)。此时,当在步骤S942的处理中获取到的数据的数目小于“4”时,关于缺乏的数据,在利用非易失性存储器300的初始值执行了填补之后,执行错误校正。当使用第二ECC的错误校正成功时(步骤S944:是),执行步骤S938的处理中的和之后的预定个处理。另一方面,当使用第二ECC的错误校正失败时(步骤S944:否),主机计算机100被通知写入命令的错误结束(步骤S947)。在主机计算机100被通知读取命令的错误结束之后,读取命令变成错误结束。在完成步骤S935、S937或S944的处理之后,已通过使用第一ECC或第二ECC对其进行了成功的错误校正处理的数据被传送到主机计算机100(步骤S938)。此外,判断在步骤S931的处理中通过划分所获得的所有个处理是否已经结束(步骤S939)。当在步骤S939中确定处理仍然存在时(步骤S939:是),重复地执行步骤S932的处理中的和之后的预定个处理。另一方面,当在步骤S939中确定所有个处理已经结束时(步骤S939:否),主机计算机100被通知读取命令已经被正常地执行的结果(步骤S949)。在该结果向主机计算机100的通知结束时,所关心的读取命令的处理正常地结束。【数据保持特性加强处理的处理过程】图8是说明了在根据本公开的第一实施例的信息处理系统中的数据保持特性加强处理的处理过程的流程图。存储器系统400通过主机接口201从主机计算机100接收数据保持特性加强命令。数据保持特性加强命令具有作为参数的作为数据保持特性加强的对象的首逻辑地址以及数据大小。类似于写入命令的情况,数据大小利用以逻辑地址所指定的区域为单位的数值的形式来表示。存储器控制器200基于作为数据保持特性加强命令的参数接收到的作为数据保持特性加强的对象的首逻辑地址以及数据大小,以逻辑地址为单位来划分该处理(步骤S951)。给予第二ECC的数据大小经历一个处理中的执行。在这种情况下,四个逻辑地址被设置为一个单位。然而,当由数据大小指定的值不被“4”除时,从首逻辑地址起每四个逻辑地址地执行该处理,并且小于四的逻辑地址的数目最后被作为一个单位来处理。例如,当“4”被指定为数据大小时,针对四个逻辑地址的处理被执行一次。此外,当“10”被指定为数据大小时,针对四个逻辑地址的处理被执行两次,并且针对两个逻辑地址的处理被在最后的处理中被执行一次。此外,确定每个变成数据保持特性加强的对象的逻辑地址(步骤S952)。从作为数据保持特性加强的对象的首逻辑地址起,采用通过步骤S951的处理中的划分获得的单位来确定变成数据保持特性加强的对象的每个逻辑地址。此外,从地址映射表341中获取与变成对象的一个单位的逻辑地址相对应的地址转换信息(步骤S953)。地址转换信息是已全部参照图4描述了的物理地址、数据标志、第二ECC标志以及第二ECC索引。在这个处理中获取了多达四个逻辑地址的物理地址、数据标志、第二ECC标志以及第二ECC。例如,关于地址映射表341中的值,假定了图9中所示出的情况。当每次变成处理对象的逻辑地址是从“xj”起的四个逻辑地址时,“yj0”、“真”以及“假”被分别获取作为逻辑地址“xj”中的物理地址、数据标志的值以及第二ECC标志的值。此外,“yj1”、“假”以及“假”被分别获取作为逻辑地址“xj+1”中的物理地址、数据标志的值以及第二ECC标志的值。此外,“yj2”、“真”以及“假”被分别获取作为逻辑地址“xj+2”中的物理地址、数据标志的值以及第二ECC标志的值。此外,“yj3”、“真”以及“假”被分别获取作为逻辑地址“xj+3”中的物理地址、数据标志的值以及第二ECC标志的值。另一方面,当变成处理对象的逻辑地址是从“xj+4”起的一个逻辑地址时,“yj4”、“假”以及“假”被分别获取作为逻辑地址“xj+4”中的物理地址、数据标志的值以及第二ECC标志的值。注意的是,在这种情况下获取到的第二ECC索引的值变成无效值,因为第二ECC标志表示“假”。数据和第一ECC两者都被从在非易失性存储区域303中的、在步骤S953的处理中获取到的物理地址读出(步骤S954)。从下述物理地址读出的数据和第一ECC两者变成存储器中的初始值,在上述物理地址的每一个中在步骤S953的处理中获取到的数据标志表示“假”。例如,关于地址映射表341中的值,假定了图10中所示出的情况。当每次变成处理的对象的逻辑地址是从“xj”起的四个逻辑地址时,数据和第一ECC被从物理地址“yj0”、“yj1”、“yj2”以及“yj3”读出。另一方面,当变成处理的对象的逻辑地址是从“xj+4”起的一个逻辑地址时,数据和第一ECC被从物理地址“yj4”读出。此时,因为与该物理地址“yj4”相对应的数据标志表示“假”,所以从物理地址“yj4”读出的数据变成非易失性存储器300的初始值。对数据的错误校正通过使用在步骤S954的处理中读出的第一ECC来执行,并且处理取决于对数据的错误校正的成功和失败进行分支(步骤S955)。仅对从在步骤S953的处理中获取的其数据标志表示“真”的物理地址读出的数据执行错误校正。对从在步骤S953的处理中获取的其数据标志表示“假”的物理地址读出的数据的错误校正被视为成功。当对所有数据的错误校正成功时,操作进行到步骤S956的处理,并且在除这种情况以外的任何一种情况中,操作进行到步骤S969的处理。当使用第一ECC的对数据的错误校正失败时(步骤S955:否),主机计算机100被通知数据保持特性加强命令的错误结束(步骤S969)。在完成主机计算机100的通知之后,数据保持特性加强命令变成错误结束。另一方面,当使用第一ECC的对数据的错误校正成功时(步骤S955:是),执行在第二ECC管理表342中对空条目的检索(步骤S956)。在第二ECC管理表342中检索空条目的期间,在第二ECC管理表342中数据的数目表示“0”的条目被检索,并且该条目中的第二ECC索引的值被获取。此外,在步骤S956的处理中检索到的条目中获取第二ECC物理地址(步骤S957)。此外,在步骤S954的处理中读出的数据和第一ECC的值以逻辑地址的升序被彼此耦接起来,从而计算第二ECC(步骤S958)。在对于数目小于四的逻辑地址的处理中,关于具有不足大小的数据以及第一ECC,利用非易失性存储器300中的初始值执行填补。例如,关于地址映射表341中的值,假定了图9中所示出的情况。当每次变成处理的对象的逻辑地址是从“xj”起的四个逻辑地址时,数据和第一ECC被从物理地址“yj0”、“yj1”、“yj2”以及“yj3”读出。此时,因为与物理地址“yj1”相对应的数据标志表示“假”,所以都从物理地址“yj1”读出的数据和第一ECC两者变成非易失性存储器300的初始值。由此读出的预定个数据以如下顺序被彼此偶接起来从而计算出第二ECC:物理地址“yj0”中的数据、第一ECC、物理地址“yj1”中的数据、第一ECC、物理地址“yj2”中的数据、第一ECC、物理地址“yj3”中的数据以及第一ECC。另一方面,当用于执行处理的逻辑地址是从“xj+4”起的一个逻辑地址时,数据和第一ECC被从物理地址“yj4”读出,并且从后续三个物理地址读出的数据经历利用非易失性存储器300中的初始值进行的填补,从而计算第二ECC。在这种情况下,所有的数据变成非易失性存储器300中的初始值。在步骤S958的处理中计算出的第二ECC被写入到在步骤S957的处理中获取的物理地址(步骤S959)。此外,数据的数目以及第0个至第三个数据的物理地址的值在步骤S956的处理中检索到的条目中被更新(步骤S961)。存储了在计算第二ECC时所使用的数据的物理地址的数目被设置在数据的数目中。经耦接的数据以及第一ECC的头部数据的物理地址被设置在第0个数据的物理地址中。此外,数据和第一ECC的物理地址被按耦接顺序设置在第一个至第三个数据的物理地址中。例如,假定了使图9中所示出的值作为地址映射表341中的值的情况,以及使图11中所示出的值作为第二ECC管理表342中的值的情况。当每次变成处理的对象的逻辑地址是从“xj”起的四个逻辑地址并且在步骤S956的处理中获取的第二ECC索引是“zj0”时的更新之后的条目的值在图12的上部中被示出。另一方面,当变成处理的对象的逻辑地址是从“xj+4”起的一个逻辑地址并且在步骤S956的处理中获取的第二ECC索引是“zj4”时的更新之后的条目的值在图12的下部中被示出。此外,在地址映射表341中的值之中,第二ECC标志和第二ECC索引的值被更新,从而更新了非易失性存储器300的内容(步骤S962)。同时,“真”被设置在第二ECC中,并且在步骤S956的处理中获取的第二ECC索引被设置在第二ECC索引中。例如,假定了使图9中所示出的值作为地址映射表341中的值的情况,以及使图11中所示出的值作为第二ECC管理表342中的值的情况。当每次变成处理的对象的逻辑地址是从“xj”起的四个逻辑地址并且在步骤S956的处理中获取的第二ECC索引是“zj0”时的更新之后的地址映射表341的值在图10的条目730至733中被示出。另一方面,当变成处理的对象的逻辑地址是从“xj+4”起的一个逻辑地址并且在步骤S956的处理中获取到的第二ECC索引是“zj4”时的更新之后的地址映射表341的值在图10的条目734中被示出。此外,判断在步骤S951的处理中通过划分所获得的所有个处理是否已经结束(步骤S963)。当在步骤S963中确定处理仍然存在时(步骤S963:是),重复地执行步骤S952的处理中的和之后的预定个处理。另一方面,当在步骤S963中确定所有个处理已经结束时(步骤S963:否),主机计算机100被通知数据保持特性加强命令已经被正常地执行的结果(步骤S964)。在该结果向主机计算机100的通知已经结束时,所关心的数据保持特性加强命令的处理正常地结束。【数据保持特性加强处理的解除的处理过程】图13是说明了在根据本公开的第一实施例的信息处理系统中的数据保持特性加强处理的解除的处理过程的流程图。存储器系统400通过主机接口201从主机计算机100接收数据保持特性加强解除命令。数据保持特性加强解除命令具有作为参数的作为数据保持特性加强的解除对象的首逻辑地址以及数据大小。类似于写入命令的情况,数据大小利用以逻辑地址所指定的区域作为单位的数值的形式来表示。存储器控制器200基于作为数据保持特性加强解除命令的参数接收到的作为数据保持特性加强的解除对象的首逻辑地址以及数据大小,以逻辑地址为单位来划分该处理(步骤S971)。操作在对于第一逻辑地址的处理经历一个处理中的执行的假设下开始。然而,当确定为了处理的有效性可以同时解除多个逻辑地址时,对于多个逻辑地址的处理在一个处理中执行。将在以下描述中的对应部分中对细节进行描述。此外,确定变成数据保持特性加强的解除的对象的逻辑地址(步骤S972)。利用其开始该处理的逻辑地址是在步骤S971的处理中通过从头部起进行划分所获得的一个逻辑地址,并且还是对于其不执行解除处理的逻辑地址。此外,从地址映射表341中获取与变成对象的逻辑地址相对应的地址转换信息(步骤S973)。地址转换信息是已参照图4描述的物理地址、数据标志、第二ECC标志以及第二ECC索引。例如,假定使图10中所示出的值作为地址映射表341的值的情况。当作为处理的对象的逻辑地址是“xj”时,“yj0”、“真”、“真”以及“zj0”被分别获取作为逻辑地址“xj”的物理地址、数据标志的值、第二ECC标志的值以及第二ECC索引的值。另一方面,当变成处理的对象的逻辑地址是从“xj+4”起的一个逻辑地址时,“yj4”、“假”以及“真”被分别获取作为逻辑地址“xj+4”中的物理地址、数据标志的值以及第二ECC标志的值。此外,“zj4”被获取为第二ECC索引的值。此外,获取用于计算将被给予在步骤S973的处理中获取的物理地址中所存储的数据的第二ECC的物理地址信息(步骤S974)。用于计算第二ECC的物理地址信息是全部在第二ECC管理表342中被管理的数据的数目、第二ECC物理地址以及第0个至第三个数据的物理地址。从第二ECC管理表342的如下条目中获取该物理地址信息,该条目具有与在步骤S973的处理中获取到的第二ECC索引一致的值。例如,假定了地址映射表341在其中保存了图10中所示出的值并且第二ECC管理表342在其中保存了图12中所示出的值的情况。在逻辑地址“xj”是处理的对象时所获得的物理地址信息被从第二ECC管理表342中第二ECC索引变成“zj0”的条目中获取。也就是说,数据的数目变成“4”,第二ECC物理地址变成“ei”,第0个数据的物理地址变成“yi0”,第一个数据的物理地址变成“yi1”,第二个数据的物理地址变成“yi2”以及第三个数据的物理地址变成“yi3”。此外,确定在步骤S974的处理中获取的第0个至第三个数据的物理地址中数据保持特性加强被解除了的逻辑地址(步骤S975)。也就是说,当与数据保持特性加强解除命令所指定的逻辑地址相对应的物理地址存在于已在步骤S974的处理中获取的第0个至第三个数据的物理地址中时,这样的物理地址被确定为数据保持特性加强在这次相同被解除了的物理地址。例如,假定了当地址映射表341在其中保存了图10中所示出的值并且第二ECC管理表342在其中保存了图12中所示出的值时,从逻辑地址“xj”起的三个逻辑地址被指定为该数据保持特性加强解除命令的范围的情况。此时,当作为处理的对象的逻辑地址在步骤S972的处理中被确定为“xj”时,在步骤S975的处理中,逻辑地址“xj+1”和“xj+2”被确定为在其中与逻辑地址“xj”的处理的执行同时地执行数据保持特性的解除的逻辑地址。此外,基于在步骤S974的处理中获取到的物理地址信息从非易失性存储区域303中读出第二ECC、数据以及第一ECC(步骤S976)。例如,假定了地址映射表341在其中保存了图10中所示出的值并且第二ECC管理表342在其中保存了图12中所示出的值的情况。当每次变成数据保持特性加强的解除的对象的逻辑地址“xj”、“xj+1”以及“xj+2”在步骤S975的处理中被确定时,第二ECC被从物理地址“ej0”读出。此外,第0个至第三个数据被分别从物理地址“yj0”至“yj3”读出。同时,第0个至第三个数据的每一个都由数据和第一ECC组成。此外,对数据和第一ECC的错误检测处理通过使用在步骤S976的处理中读出的第二ECC来执行,并且该处理取决于对数据和第一ECC的错误检测处理的成功和失败进行分支(步骤S977)。也就是说,当检测到错误时,执行步骤S978的处理中的和之后的预定个处理。另一方面,当未检测到错误时,执行步骤S981的处理中的和之后的预定个处理。注意的是,当在步骤S974的处理中获取的数据的数目小于“4”时,关于缺乏的数据,利用非易失性存储器300中的初始值来执行填补,从而执行错误检测。当检测到错误时(步骤S977:是),通过使用在步骤S976的处理中读出的第二ECC来执行错误校正处理,并且该处理取决于错误校正处理的成功和失败进行分支(步骤S978)。也就是说,当对于所有个数据以及第一ECC的错误校正成功时,执行步骤S979的处理中的和之后的预定个处理,而当对于所有个数据和第一ECC的错误校正处理失败时,执行步骤S989的处理。注意的是,当在步骤S974的处理中获取到的数据的数目小于“4”时,关于缺乏的数据,利用非易失性存储器300中的初始值来执行填补,从而执行错误检测。当使用第二ECC的错误校正处理成功时(步骤S978:是),其中产生了错误的数据和第一ECC被重写为错误被校正了的数据和第一ECC(步骤S979)。对于在这个处理中被重写的数据和第一ECC,在步骤S978的处理中被校正的数据和第一ECC都变成重写的对象,而不管所关心的逻辑地址是否是数据保持特性的加强被解除了的逻辑地址。在甚至当使用了第二ECC时错误校正处理仍不成功的情况下(步骤S978:否),主机计算机100被通知数据保持特性加强解除命令的错误结束(步骤S989)。在完成到主机计算机100的通知之后,数据保持特性加强解除命令变成错误结束。在完成步骤S977(否)或步骤S979的处理之后,判断是否需要重计算第二ECC(步骤S981)。也就是说,判断与在步骤S975的处理中确定的变成数据保持特性加强的解除对象的每个逻辑地址以外的逻辑地址相对应的物理地址中的任何一个物理地址是否存在于在步骤S974的处理中获取的第二ECC物理地址信息中。当在步骤S981的处理中确定与变成数据保持特性加强的解除对象的每个逻辑地址以外的逻辑地址相对应的物理地址中的任何一个存在时(步骤S981:是),第二ECC被重计算(步骤S982)并且然后被存储在非易失性存储区域303的第二ECC存储区域330中(步骤S983)。在这种情况下,当在步骤S977的处理中检测到错误时,根据错误校正被预先执行了的数据和第一ECC来计算第二ECC。另一方面,当在步骤S977的处理中未检测到错误时,根据刚读出的数据和第一ECC两者来计算第二ECC。例如,假定了地址映射表341在其中保存了图10中所示出的值并且第二ECC管理表342在其中保存了图12中所示出的值的情况。此时,当每个变成数据保持特性加强的解除对象的逻辑地址“xj”、“xj+1”以及“xj+2”在步骤S975的处理中被确定时,未变成数据保持特性加强的解除对象的逻辑地址是“xj+3”。用来在步骤S982的处理中计算第二ECC的数据从物理地址“yj3”被读出以变成错误校正被预先执行了的数据和第一ECC。其数据大小小于计算第二ECC所需要的数据大小的部分经历利用存储器中的初始值进行的填补。注意的是,在步骤S983的处理中存储了第二ECC的物理地址是在步骤S974的处理中获取到的第二ECC物理地址。在完成步骤S981(否)或步骤S983的处理之后,在步骤S974的处理中获取到的物理地址信息被更新,并且第二ECC管理表342被存储在非易失性存储区域303的表存储区域340中(步骤S984)。例如,假定了地址映射表341在其中保存了图10中所示出的值并且第二ECC管理表342在其中保存了图12中所示出的值的情况。此时,当每个变成数据保持特性加强的解除对象的逻辑地址“xj”、“xj+1”以及“xj+2”在步骤S975的处理中被确定时,第二ECC物理地址信息的数据的数目被更新为“1”,并且第0个数据的物理地址被更新为“yj3”。第0个至第三个数据的物理地址的每一个都被视为有效值,因为数据的数目是“1”。在这种情况下完成更新之后的第二ECC管理表342的内容在图14的上部中被示出。此外,数据保持特性加强被解除了的逻辑地址的第二ECC标志在地址映射表341中被设置为“假”(步骤S985)。例如,假定了地址映射表341在其中保存了图10中所示出的值并且第二ECC管理表342在其中保存了图12中所示出的值的情况。此时,当每个变成数据保持特性加强的解除对象的逻辑地址“xj”、“xj+1”以及“xj+2”在步骤S975的处理中被确定时,与逻辑地址“xj”、“xj+1”以及“xj+2”相对应的第二ECC标志被设置为“假”。第二ECC标志被设置为“假”的逻辑地址的第二ECC索引被视为无效值。在这种情况下完成更新之后的地址映射表341在条目740、741以及742中被示出。此外,判断在步骤S971的处理中通过划分所获得的预定个处理是否已经全部结束(步骤S986)。当在步骤S986的处理中确定处理仍然存在时(步骤S986:是),重复地执行步骤S972的处理中的和之后的预定个处理。另一方面,当在步骤S971的处理中通过划分所获得的预定个处理已经全部结束时(步骤S986:否),主机计算机100被通知数据保持特性加强解除命令已经被正常地执行的结果(步骤S987)。在完成了将该结果通知给主机计算机100之后,用于数据保持特性加强解除命令的处理变成正常结束。【第一实施例的效果】如上文所述,根据本公开的第一实施例,第二ECC及作为其对象数据的物理地址在第二ECC管理表342中被管理,借此数据的保持特性可以被加强而不用知道有关物理地址空间的布置。<2.第一实施例的修改变化>【应用于未伴随覆写的非易失性存储器】尽管已经根据可以在非易失性存储器300中执行数据的覆写的假设对本公开的第一实施例进行了描述,但是例如,还存在像NAND闪速存储器一样不能够执行覆写的存储器。在不能够执行覆写的存储器的情况下,需要在数据被写入到非易失性存储器之前执行用于擦除数据的处理。关于这个方面以外的任何一个方面,能够采用和上文中所描述的第一实施例相同的技术。因此,能够管理写入到不连续地址的数据以及向其添加的第二ECC的物理地址两者。【多个第二ECC被存储在同一物理地址中的情况】尽管在上文中所描述的第一实施例中,一个第二ECC被存储在一个物理地址的区域中,但是本公开绝不限于此,并且因此多个第二ECC还可以被存储在同一物理地址中。在这种情况下,如图16中所示,第二ECC物理地址内偏移(intra-secondECCphysicaladdressoffset)被新保存在第二ECC管理表342中。此外,第二ECC物理地址内偏移表示所关心的条目的第二ECC被存储在第二ECC物理地址中的位置中的哪一个位置。结果,该结构可以使得多个第二ECC被存储在同一物理地址中。注意的是,当多个数据利用逻辑地址来管理时,不必引入第二ECC物理地址内偏移。然而,根据第一实施例的该修改变化,提供了使得多个数据被利用物理地址来管理的优点,从而使得单独的地址转换成为不必要的,从而使得能够以高速度来执行存取。注意,一般而言,表达式(3)成立:n×C≤N(3)其中,N是非易失性存储区域303的单位数据宽度的字节,并且C是所给出的第二ECC的大小的字节。此外,落入表达式(3)的范围内的n是在同一物理地址中的第二ECC的数目。此时,第二ECC物理地址内偏移i是满足表达式(4)的整数:0≤i≤(n-1)(4)【结合逻辑地址上的不相关数据来生成第二ECC的情况】尽管在上文中所描述的第一实施例中,通过偶接在逻辑地址空间上连续的多个数据来生成第二ECC,但是本公开绝不限于此并且因此还可以结合逻辑地址上的不相关数据来生成第二ECC。在这种情况下,在数据保持特性加强处理期间检索空条目的方法受到影响。也就是说,在上文中所描述的第一实施例中,当确定存储了第二ECC的物理地址时,在步骤S956的处理中检索空条目。然而,在这种情况下,仅需要检索一个或多个空位存在于每个变成对象数据的物理地址中的条目。例如,假定了当地址映射表341在其中保存了图17中所示出的值并且第二ECC管理表342在其中保存了图18中所示出的值时,“xj”以及“5”根据数据保持特性加强命令分别被指定为首逻辑地址和数据大小的情况。此时,关于逻辑地址“xj”、“xj+1”、“xj+2”以及“xj+3”,用于加强数据保持特性的处理通过利用和在上文中所描述的第一实施例中的技术相同的技术来执行。此外,关于逻辑地址“xj+4”,在步骤S956的处理中检索到一个或多个空位存在于每个变成对象数据的物理地址中的条目(参照图8)。总之,仅需要检索数据的数目等于或小于“3”的条目。在这种情况下,在图18中所示出的第二ECC管理表342的情况下,具有第二ECC索引“zh0”的条目也适合于该检索条件。此外,在步骤S958的处理中(参照图8),当逻辑地址“xj+4”中的第二ECC被计算时存储在图18中所示出的物理地址“yh0”中的数据和第一ECC两者被读出。此外,已从与逻辑地址“xj+4”相对应的物理地址“yj4+4”读出并且然后经历错误校正的数据和第一ECC被彼此偶接,从而执行第二ECC的计算。在以这样的方式进行更新之后的地址映射表341的示例被在图19中示出。此外,第二ECC管理表342的示例被在图20中示出。【利用经过的存取时间作为触发来执行数据保持特性加强处理的情况】尽管在上文中所描述的第一实施例中,数据保持特性的加强及其解除是根据从主机计算机100发出的相应命令来执行的,但是数据保持特性加强等的触发绝不限于此。例如,可以在存储器控制器200内设置定时器并且存储器控制器200可以自发地执行数据保持特性加强及其解除。在这种情况下,针对根据从主机计算机100发出的读取命令或写入命令被存取的每个逻辑地址来管理最后存取的时间(最后存取时间)。最后存取时间是通过读取命令或写入命令的执行来更新的。图21示出了具有最后存取时间来作为参数的地址映射表341的示例。当从最后存取时间起已经经过的时间比预定时间长并且第二ECC标志表示“假”时,存储器控制器200自发地执行数据保持特性加强处理。此外,当从最后存取时间起已经经过的时间不比预定时间长并且第二ECC标志表示“真”时,存储器控制器200可以自发地执行数据保持特性加强处理的解除。【多个逻辑地址对应于由一个物理地址指定的区域的情况】尽管在上文中所描述的第一实施例中,具有由一个逻辑地址指定的大小的数据被存储在由一个物理地址指定的区域中,但是本公开绝不限于此。例如,具有由多个逻辑地址指定的大小的数据也可以被存储在由一个物理地址指定的区域中。图22示出了m组数据和第一ECC被存储在存储器中的示例,在该存储器中具有由多个逻辑地址指定的大小的数据能够被存储在由一个逻辑地址指定的区域中。在这种情况下,为了指定存储数据和第一ECC的位置,不仅物理地址而且物理地址内偏移都是需要的。图23示出了在引入物理地址内偏移时的地址映射表341的示例,并且图24示出了在引入物理地址内偏移时的第二ECC管理表342的示例。注意的是,这样的示例优选地适用于非易失性存储器,尤其是利用大尺寸作为单位对数据存取进行响应的闪速存储器。闪速存储器的典型示例包括NAND型闪速存储器。此外,这样的示例还可以适用于NVRAM。【应用于NVMExpress】现将相对于作为上文中所描述的第一实施例的应用示例的“NVMExpress”应用示例给出描述。“NVMExpress”是指用于使用闪速存储器的固态驱动器(SSD)的接口,该接口由非易失性存储器主机控制器接口(NVMHCI)工作组制定。首先,当在数据集管理命令中,存取频率的值落在“LBA范围的非频繁写入和非频繁读取”(InfrequentwritesandinfrequentreadstotheLBArange)内时,执行数据保持特性加强处理。此外,当存取频率的值落在“LBA范围的频繁写入和频繁读取”(FrequentwritesandfrequentreadstotheLBArange)内时,执行数据保持特性加强的解除。注意的是,数据集管理命令是设备根据其来优化所记录的数据的命令。此外,当在读取命令中,存取频率的值落在“LBA范围的非频繁写入和非频繁读取”内时,在执行读取处理之后执行数据保持特性加强处理。此外,当存取频率的值落在“LBA范围的频繁写入和频繁读取”内时,在执行了读取处理之后执行数据保持特性加强的解除。此外,当在写入命令中,存取频率的值落在“LBA范围的非频繁写入和非频繁读取”内时,在写入处理的执行之后执行数据保持特性加强处理。此外,当存取频率的值落在“LBAA范围的频繁写入和频繁读取”内时,在写入处理的执行之后执行数据保持特性加强的解除。因此,本公开的第一实施例可以适用于“NVMExpress”。<3.第二实施例>【信息处理系统的配置】图25是示出了根据本公开的第二实施例的信息处理系统的配置的方框图。根据本公开的第二实施例的信息处理系统包括主机计算机100、存储器600以及存储器控制部500。存储器控制部500和存储器600组成存储器系统401。主机计算机100发出请求以请求存储器系统401读取或者写入数据。除了常规的易失性存储器603之外,存储器600还包括非易失性存储器。非易失性存储器大体上被分类成利用大尺寸作为单位对数据存取进行响应的闪速存储器602,以及可以利用小单位对其执行高速随机存取的非易失性随机存取存储器(NVRAM)601。在这里,闪速存储器602的典型示例包括NAND型闪速存储器。另一方面,NVRAM601的示例包括PCRAM、MRAM、ReRAM等等。易失性存储器603被用作工作区域,并且还被用来在其中存储用于管理的数据。此外,易失性存储器603还可以被用作高速缓冲存储器。易失性存储器603可以通过DRAM、SRAM等等来实现。在易失性存储器603中存储的数据可以被保存在NVRAM601中或者闪速存储器602中(当该数据可能是为电源中断作准备所必需的时),并且可以在下次电源被接通时被再利用。存储器控制部500包括处理器510、内置存储器520、第一ECC处理部530、第二ECC处理部540、外围电路550、主机接口501以及存储器接口591至593。处理器510、内置存储器520、第一ECC处理部530、第二ECC处理部540、外围电路550、主机接口501以及存储器接口591至593通过总线580被连接到彼此。处理器510是用于解释并且执行从主机计算机100发出的控制命令的处理单元。处理器510通过使用内置存储器520中的存储区域作为程序存储区域和工作区域来执行程序。内置存储器520是包括内置ROM和内置RAM(两者都未示出)的存储器。程序可以被存储在内置ROM中或者可以在激活阶段被从存储器600转移到内置RAM。内置RAM被用在诸如工作区域或用于管理的数据的临时存储等各种用途应用中。第一ECC处理部530用于生成作为纠错码(ECC)的第一ECC,第一ECC被添加以便对应于各个数据,并且用于使用所关心的第一ECC来执行错误校正。第二ECC处理部540用于生成第二ECC,第二ECC被添加以便对应于将多组数据和第一ECC收集到其中的数据组,并且用于使用第一ECC来执行错误校正。第一ECC处理部530和第二ECC处理部540中的每一个可以以硬件的形式来实现,或者可以以软件的形式通过在处理器510中执行程序来实现。外围电路550是处理器510的外围电路,并且例如包括内置定时器、通用输入/输出(GPIO)等等。主机接口501是通过其来执行与主机计算机100的交互的接口。存储器系统401通过主机接口501连接到主机计算机100。此外,存储器系统401接收根据其来控制存储器600的控制命令,并且根据该控制命令被控制以被操作为存储器系统。串行ATA(SATA)、外围组件互连(PCI)、Express、嵌入式多媒体卡(eMMC)、通用串行总线(USB)等等例如可以被用作主机接口501。存储器接口590是通过其来执行与NVRAM601的交互的接口。存储器接口592是通过其来执行与闪速存储器602的交互的接口。此外,存储器接口593是通过其来执行与易失性存储器603的交互的接口。存储器系统401根据写入命令将数据写入到存储器600,并且根据读取命令从存储器600读取数据。写入命令和读取命令中的每一个都指定其中存在对象数据的首逻辑地址以及数据大小作为参数。当存储器系统401已经接收到关于写入命令的数据时,第一ECC被添加到所关心的数据并且得到的数据被添加以被写入到非易失性存储器(NVRAM601或闪速存储器602)。被写入的数据的大小可以达到给定的大小,或者在给定时间中没有被访问的数据可以通过使用外围电路550中的内置定时器来检测,从而第二ECC的生成和写入可以独立于从主机计算机100发出的指令被执行。可替换地,可以根据诸如从主机计算机100发出的数据保持特性加强命令的之类指令来生成待写入到非易失性存储器的第二ECC。第二ECC所应用于的数据可以是其中物理地址连续的多个数据,或者可以是其中物理地址不连续的多个数据。在以下描述中,在本公开的第二实施例中假定了物理地址是连续的情况,并且在本公开的第三实施例中假定了物理地址是不连续的情况。图26是示出了根据本公开的第二实施例的信息处理系统的功能性配置的方框图。在这种情况下,如上文所述,示出了其中主机计算机100和存储器600通过存储器控制部500彼此连接的情形。此外,就存储器控制部500的功能而言,示出了控制部511、地址管理部521以及错误校正处理部534。地址管理部521管理在主机计算机100中使用的存储器600中的逻辑地址与存储器600中的物理地址之间的对应关系。此外,地址管理部521进一步管理第二ECC标志,该第二ECC标志表示是否相对于在逻辑地址中包含的数据来生成该第二ECC。此外,当对于在所关心的逻辑地址中包含的数据执行了附加(appendant)时,地址管理部521进一步管理该附加之前的物理地址。地址管理部521例如被保存为内置存储器520中的地址映射表。错误校正处理部534或者相对于存储器600中存储的数据来生成纠错码,或者基于该纠错码来执行错误校正。也就是说,错误校正处理部534在写入阶段中生成写入数据的第一ECC,并且还相对于在其中包含了所关心的写入数据的多个数据来生成第二ECC。此外,错误校正处理部534基于在读取阶段中读取到的数据及其第一ECC两者来执行错误校正,并且在校正失败时基于在其中包含了读取到的数据的多个数据及其第二ECC来执行错误校正。然而,当错误校正伴随有附加时,如将稍后描述的,错误校正变成例外的处理内容。错误校正处理部534对应于第一ECC处理部530和第二ECC处理部540两者。控制部511控制主机计算机100与存储器600之间的交互。也就是说,控制部511根据从主机计算机100做出的读取请求来从存储器600读出数据,并且将由此读出的数据返回给主机计算机100。此外,控制部511根据从主机计算机100做出的写入请求将写入数据从主机计算机100写入到存储器600。控制部511通过参照第一映射管理部521的地址映射表来在读取或写入操作期间执行用于将逻辑地址转换为物理地址的处理。尽管假定了控制部511以处理器510的功能的形式实现,但是本公开绝不限于此并且因此控制部511还可以通过硬件电路实现。【存储器600内的存储区域】图27是示出了在根据本公开的第二实施例的信息处理系统中的存储器600内的存储区域的分割的图。存储器600内的存储区域大体上被分类成三个区域:正常存取区域610;附加区域620;以及第二ECC存储区域630。正常存取区域610是变成来自主机计算机100的直接存取的对象的正常数据区域。在正常存取区域610中,例如,具有2个字节的第一ECC被添加到具有32个字节的数据。该数据和第一ECC或者可以被存储为物理上彼此邻近或者可以被分别存储在彼此远离的位置中。在这种情况下,一个数据及其第一ECC被收集到其中的数据被视为具有N个字节的单位数据,并且四个单位数据被收集到其中的4N字节数据被视为第二ECC的生成单位。然而,本公开绝不限于此并且因此只需要第二ECC的生成单位是单位数据的整数倍。注意的是,正常存取区域610是在所附权利要求中描述的第一存储区域的示例。附加区域620是在其中未对正常存取区域610中的数据执行覆写并且数据被特别地存储为该附加区域620中的附加数据的区域。此外,在附加区域620中,数据和第一ECC或者可以被存储为物理上彼此邻近或者可以被分别存储在彼此远离的位置中。在这种情况下,第一ECC被添加到一个附加数据并且得到的数据在附加区域620中被存储为N个字节数据。当对于附加区域620执行该附加时,地址映射部521的物理地址指定该附加区域620中的地址。注意的是,附加区域620是在所附权利要求中描述的第三存储区域的示例。第二ECC存储区域630是其中存储了与正常存取区域610中存储的数据相对应的第二ECC的存储区域。在这种情况下,具有N个字节的第二ECC针对正常存取区域610中的具有4N个字节的数据被生成并且然后被存储在第二ECC存储区域630中。注意的是,第二ECC存储区域630是在所附权利要求中描述的第二存储区域的示例。附加区域620和第二ECC存储区域630两者都可以被存储在和正常存取区域610的种类相同种类的存储器中。然而,为了以高速执行稍后将描述的聚合处理,附加区域620和第二ECC存储区域630还可以都被存储在另一类型的存储器中。至于所关心的组合,例如,期望正常存取区域610被存储在闪速存储器602中,而附加区域620和第二ECC存储区域630都被存储在更高速度的NVRAM601中。图28是示出了在本公开的第二实施例中的第二ECC存储区域630中的、在正常存取区域610中的数据与第二ECC分别被存储的位置之间的关系的图。如上文所述,假定能够以34个字节作为单位数据来从NVRAM601或者闪速存储器602的正常存取区域610读出数据并且将数据写入到NVRAM601或者闪速存储器602的正常存取区域610,并且因此物理地址每34个字节被分配给NVRAM601或者闪速存储器602的正常存取区域610。具有34个字节的单位数据例如由具有32个字节的数据311和所关心的数据的第一ECC312组成。也就是说,具有2个字节的第一ECC被添加到的正常存取区域610中的具有32个字节的数据。注意,一般而言,表达式(5)成立:A+B≤N(5)其中,N是正常存取区域610的单位数据宽度的字节,A是数据大小的字节,以及B是给定的第一ECC的大小的字节。此外,例如,假定具有34个字节的第二ECC331被赋予四个单位数据。具有34个字节的第二ECC331被存储在第二ECC存储区域630中。注意,是一般而言,表达式(6)成立:C≤N(6)其中,C是给定的第二ECC的大小的字节。在本公开的第二实施例中,假定第二ECC存储区域630中的第二ECC331的存储位置相对于正常存取区域610中的物理地址被唯一地固定。例如,如下的四个单位数据对应于一个第二ECC,在上述四个单位数据中,由二进制记法所表示的物理地址的最后2个比特分别是“00”、“01”、“10”以及“11”并且其它物理地址部分彼此一致。此外,物理地址中除了最后2个比特之外的部分被视为偏移并且在这个条件下,从第二ECC存储区域630的开头被添加了偏移的值的位置变成第二ECC331的存储位置。也就是说,第二ECC存储区域630中的第二ECC331的存储位置相对于正常存取区域610中的数据的物理地址被唯一地固定。【地址映射表】图29是示出了在根据本公开的第二实施例的信息处理系统中的地址管理部521的地址映射表的结构的图。地址管理部521存储逻辑地址、物理地址、第二ECC标志以及旧的物理地址,使得逻辑地址、物理地址、第二ECC标志以及旧的物理地址相对于多个单位数据而彼此对应。逻辑地址是被用在主机计算机100中的逻辑地址。物理地址是存储器600中的单位数据的物理地址。第二ECC标志是表示与单位数据相对应的第二ECC是否被存储在第二ECC存储区域630中的标志。例如,当与单位数据相对应的第二ECC被存储在第二ECC存储区域630中时,第二ECC标志表示“真”。另一方面,当与单位数据相对应的第二ECC未被存储在第二ECC存储区域630中时,第二ECC标志表示“假”。当存储了第二ECC时,第二ECC存储区域630中的第二ECC331的存储位置,如上文所述,相对于正常存取区域610中的数据的物理地址被唯一地固定。当与逻辑地址相对应的数据被附加到附加区域620时,旧的物理地址表示在正常存取地址区域610中附加之前的数据的物理地址。因此,附加之前的单位数据的存储位置可以被指定为用于第二ECC的重新生成。【写入处理的处理过程】图30是说明在本公开的第二实施例中的写入处理的处理过程的流程图。当存储器控制部500已经从主机计算机100接收到写入命令时,存储器控制部500开始写入处理。写入命令在其中包含了每个变成写入的对象的逻辑地址。此外,写入命令后面是写入数据。错误校正处理部534对于写入数据生成第一ECC(步骤S911)。控制部511基于写入命令的(一个或多个)逻辑地址通过参照地址管理部521的地址映射表来获取地址转换信息(步骤S912)。地址转换信息是由先前参照图29所描述的逻辑地址、物理地址、第二ECC标志以及旧的物理地址组成的信息。在这里,当第二ECC标志表示“假”(即,未给出第二ECC)时(步骤S913:否),写入数据和第一ECC两者都被写入到正常存取区域610(步骤S914)。此时,如果正常存取区域610例如由像ReRAM、PCRAM或MRAM那样的可以对其执行覆写的非易失性存储器组成,则可以对更新之前的数据的区域执行覆写。另一方面,如果正常存取区域610例如由像NAND闪速存储器那样的、不能够执行覆写的类型的非易失性存储器组成,则可以对附加区域620执行附加。当对附加区域620执行了附加时,作为附加的目的地的物理地址被登记在地址管理部521中,从而更新地址映射表的内容(步骤S919)。因为第二ECC标志表示“真”(即,给出了第二ECC)(步骤S913:是),所以对附加区域620执行附加来防止第二ECC在写入处理完成之后变得不能够被利用。在这种情况下,当在地址转换信息中物理地址表示附加区域620时(步骤S915:是),因为已证明附加被预先执行,所以对附加区域620的物理地址执行覆写(步骤S916)。然而,此时,可以对附加区域620的其它(一个或多个)区域进一步执行附加。在这种情况下,附加的目的地的物理地址被登记在地址管理部521中,从而更新地址映射表的内容(步骤S919)。当在地址转换信息中物理地址不表示附加区域620时(步骤S915:否),对该附加区域620新执行附加(步骤S917)。此外,附加的目的地的物理地址被登记在地址管理部521中,从而更新地址映射表的内容(步骤S919)。为了以这样的方式连续地使用第二ECC存储区域630中的第二ECC,旧的数据被留在正常存取区域610中并且新的数据被附加到附加区域620。尽管附加的部分仅适用于第一ECC并且没有给出第二ECC,但是第二ECC能够适用于附加部分之外的部分连同未被擦除而留下的数据。因为附加的部分是与其它部分中的任何一个相比相对最新添加和写入的部分,所以预期引起问题的可能性是低的,这是因为附加的部分在数据保持特性上是相对出色的。【读取处理的处理过程】图31是说明在根据本公开的第二实施例的信息处理系统中的读取处理的处理过程的流程图。当存储器控制部500已从主机计算机100接收到读取命令时,存储器控制部500开始读取处理。读取命令在其中包含了每个变成读取的对象的逻辑地址。控制部511基于读取命令的(一个或多个)逻辑地址通过参照地址管理部521的地址映射表来获取地址转换信息(步骤S921)。地址转换信息是由先前参照图29描述的逻辑地址、物理地址、第二ECC标志以及旧的物理地址组成的信息。此外,控制部511基于地址转换信息的物理地址从存储器600读出单位数据(步骤S922)。作为读取的对象的数据及其第一ECC都被包含在单位数据中。错误检测和校正都基于读出的数据和第一ECC来执行。在这种情况下,当未检测到错误或者所检测到的错误的校正成功时(步骤S923:是),这个读取处理正常地结束。另一方面,当基于第一ECC的对检测到的错误的校正失败时(步骤S923:否),尝试基于第二ECC的错误校正。此时,当地址转换信息的第二ECC标志表示“假”时(步骤S924:否),因为不能够执行基于第二ECC的错误校正,所以这个读取处理变成错误结束。此外,甚至当地址转换信息的第二ECC标志表示“真”时(步骤S925:是),如果地址转换信息的物理地址对应于附加区域620(步骤S925:是),则因为不能够利用第二ECC,所以读取处理变成错误结束。在错误结束期间,主机计算机100被通知读取错误的产生,从而停止读取处理。当能够利用第二ECC时,变成第二EEC的对象的数据组(例如,上文中所描述的4N字节数据)以及第二ECC的存储区域两者根据地址转换信息的旧的物理地址被识别(步骤S926)。结果,变成第二ECC的对象的数据组从正常存取区域610被读出,并且对应的第二ECC从第二ECC存储区域630被读出(步骤S927)。对于数据组的错误校正基于由此读出的第二ECC来执行。当对于数据组的错误校正成功时(步骤S928:是),从完成校正之后的该数据组中选择作为读取的对象的数据(步骤S929)。另一方面,当对于数据组的错误校正失败时(步骤S928:否),读取处理变成错误结束。【聚合处理的处理过程】直到现在给出的描述示出了写入和读取可以在不用每次通过部分地更新由于附加而导致的数据来重计算第二ECC的情况下实现。然而,如果重复地执行数据的部分更新,则附加的数据、用于计算第二ECC而留下的数据以及用于管理的信息被累积。结果,存储容量不必要地被消耗。为了抑制这个,需要执行聚合处理,以使得旧的数据在某个定时处被丢弃,第二ECC被重计算,并且管理信息被更新。关于聚合处理开始被执行的定时,考虑以下各种种类的定时。首先,考虑主机计算机100发出添加第二ECC的明确指令的时间。这种情况根据从主机计算机100发出的控制命令来实现。此外,考虑所附加的数据的个数的总和达到预定大小时的时间。在这里,预定大小或者可以是存储器系统401中的固定大小,或者可以是来自主机计算机100的被指定为参数的大小。此外,可以根据被使用的存储器的总使用量(包括其它因素)来动态地改变该预定大小。至于所关心的另一个定时,考虑完成附加之后经过给定时间时的时间。给定时间可以被外围电路550的内置定时器等等检测到。此外,可以在读取期间基于第一ECC的校正变得不可能并且因此需要基于第二ECC执行校正时执行聚合处理。如上文所述,考虑在各种定时处执行聚合处理。图32是说明在根据本公开的第二实施例的信息处理系统中的聚合处理的处理过程的流程图。当聚合处理在如上文中所描述的定时处开始时,控制部511检索正通过参照地址映射部521的地址映射表在其中执行附加的区域(步骤S931)。当在地址管理部521中旧的物理地址表示有效值时,这表示附加正在被执行。此外,能够识别包括被检索的区域的、变成第二ECC的对象的数据组(例如,上文中所描述的4N个字节数据)及其第二ECC的存储位置。此外,在由此识别的数据组之中,未对其执行附加的单位数据被从正常存取区域610读出,而所附加的单位数据被从附加区域620读出(步骤S932)。此时,在相对于单位数据执行基于第一ECC的对于数据的错误检测,并且未检测到错误或者即使在检测到错误时基于第一ECC的错误校正成功的情况下(步骤S933:是),操作进行到下一个步骤S941的处理。另一方面,当错误校正失败时(步骤S933:否),尝试基于第二ECC的错误校正。此时,当地址转换信息的第二ECC标志表示“假”时(步骤S934:否),因为不能够执行基于第二ECC的错误校正,所以聚合处理变成错误结束。此外,即使在第二ECC标志表示“真”的情况下(步骤S934:是),当地址转换信息的物理地址对应于附加区域620时(步骤S935:是),因为不能够利用第二ECC,所以聚合处理变成错误结束。在错误结束期间,主机计算机100被通知聚合处理错误的产生,从而停止聚合处理。当利用第二ECC时,变成第二ECC的对象的数据组(例如,上文中所描述的4N个字节数据)和第二ECC的存储区域从地址转换信息的旧物理地址被识别(步骤S936)。结果,变成第二ECC的对象的数据组从正常存取区域610被读出,而对应的第二ECC从第二ECC存储区域630被读出(步骤S937)。然后,对于数据组的错误校正基于由此读出的第二ECC来执行。当对于数据组的错误校正成功时(步骤S938:是),操作进行到下一个步骤S941的处理。另一方面,当对于数据组的错误校正失败时(步骤S938:否),聚合处理变成错误结束。当基于第一ECC或第二ECC的错误校正成功时(步骤S933或S938:是),正常存取区域610的旧的数据区域被利用附加区域620中的附加的数据来覆写(步骤S941)。此外,附加区域620中的附加数据被擦除或者被无效,从而释放附加区域620的使用过的区域。此外,第二ECC基于变成正常存取区域610中存储的新的第二ECC的对象的数据组被重计算并且然后被覆写到第二ECC存储区域630(步骤S942)。此外,与这个处理一道,地址管理部521的地址映射表的内容被更新(步骤S943)。如上文所述,根据本公开的第二实施例,当存储在正常存取区域610中的并且变成第二ECC的对象的数据的一部分中产生更新时,可以对附加区域620执行附加,同时第二ECC被维持在第二ECC存储区域630的固定位置中。结果,对于第二ECC的重计算可以成为不必要的,并且可以基于更新之前的数据来执行错误校正。此外,尽管相对于附加区域620中的附加数据仅使用了第一ECC,但是因为附加区域620中的附加数据是相对新地写入的数据,所以预期需要第二ECC的情况是极少的。<4.第三实施例>【信息处理系统的配置】图33是示出在根据本公开的第三实施例的信息处理系统中的存储器600的配置的方框图。尽管在第二实施例中假定了变成第二ECC的对象的数据组与第二ECC的存储位置示出了固定的关系,但是在第三实施例中假定了数据组与存储位置之间的关系可以被适当地设置。注意的是,假定本存储器系统的配置与参照图25和图26所描述的第二实施例中的配置相同。同样地,在这种情况下,通过将数据311的第一ECC添加到数据311而获得的数据被视为单位数据。正常存取区域610中的单位数据的物理地址和第二ECC存储区域630中的第二ECC的物理地址两者都通过地址映射表522和第二ECC管理表523来管理。地址映射表522和第二ECC管理表523两者都被存储在地址管理部521中。地址映射表522是用于管理逻辑地址与物理地址之间的对应关系的表。在这种情况下,地址映射表522在其中保存了与逻辑地址相对应的第二ECC管理表523的索引。第二ECC管理表523是用于管理第二ECC的表。在这种情况下,第二ECC管理表523以每个条目在其中保存了第二ECC的物理地址和与所关心的第二ECC相对应的单位数据的物理地址。此外,索引(第二ECC索引)被分别给予各条目。【地址映射表的结构】图34是示出了在根据本公开的第三实施例的信息处理系统中的存储器600的地址映射表522的结构的图。地址映射表522在其中保存了逻辑地址、物理地址、数据标志、第二ECC标志以及第二ECC索引,使得逻辑地址、物理地址、数据标志、第二ECC标志以及第二ECC索引彼此相关联。逻辑地址是在主机计算机100中指定的存储器600中的地址。物理地址是存储器600中的物理地址。注意的是在这种情况下,逻辑地址和物理地址中的每一个都通过用于描述以“0x”开始的十六进制数的方法来表示。数据标志是表示数据和第一ECC两者是否都被存储在对应的物理地址中的标志。当数据标志表示“真”时,数据标志表示数据和第一ECC两者都被写入到对应的物理地址。另一方面,当数据标志表示“假”时,数据标志表示数据和第一ECC未被写入到对应的物理地址。从数据标志表示“假”的物理地址读出的数据变成存储器中的初始值。注意的是在NAND闪速存储器的情况下,在存储器的初始值中所有的比特变成“1”。第二ECC标志是表示第二ECC是否被给予在对应的物理地址中存储的数据的标志。当第二ECC标志表示“真”时,第二ECC标志表示第二ECC被给予在对应的物理地址中存储的数据以便加强数据保持特性。另一方面,当第二ECC标志表示“假”时,第二ECC标志表示无第二ECC被给予在对应的物理地址中存储的数据。第二ECC索引在第二ECC标志表示“真”时是有效值,并且分别被给予第二管理表342的各条目的第二ECC索引被保存。在图34中所示出的情况下,“zi”被保存为地址映射表341的条目710、711、712以及713的每个中的第二ECC索引。【第二ECC管理表的结构】图35是示出了在根据本公开的第三实施例的信息处理系统中的存储器600的地址映射表523的结构的图。在第二ECC管理表342中,第二ECC索引、数据的数目、第二ECC物理地址以及第0个至第三个数据的物理地址被保存在每个条目中。第二ECC索引用来保存用于识别第二ECC管理表523的条目的索引。第二ECC索引的值被保存在地址映射表522的对应条目中,从而地址映射表522和第二ECC管理表523彼此相关联。数据的数目表示在对应条目中包含的数据的数目。第二ECC物理地址用于在其中保存物理地址,在该物理地址中存储了对应条目中包含的数据的第二ECC。第0个至第三个数据的物理地址被用来顺次在其中保存对应条目中包含的数据的物理地址。在第0个至第三个数据的物理地址之中,仅与上文中描述的数据的数目所表示的数目相对应的(一个或多个)物理地址是有效的。在这种情况下,因为在第二ECC索引为“001”的条目中,数据的数目表示“2”,所以仅第0个和第一个数据的两个物理地址是有效的。此外,因为在第二ECC索引为“000”的条目中,数据的数目表示“0”,所以第0个至第三个数据的物理地址全部都是无效的。【写入处理的处理过程】图36是说明了在根据本公开的第三实施例的信息处理系统中的写入处理的处理过程的流程图。当存储器控制部500从主机计算机100接收到写入命令时,存储器控制部500开始写入处理。写入命令在其中包含了作为写入的对象的逻辑地址。此外,写入命令伴随有写入数据。错误校正处理部534对于写入数据生成第一ECC(步骤S951)。控制部511基于写入命令的逻辑地址通过参照地址管理部521的地址映射表522来获取地址转换信息(步骤S952)。地址转换信息是由先前参照图34所描述的逻辑地址、物理地址、数据标志、第二ECC标志以及第二ECC索引组成的信息。在这里,当第二ECC标志表示“假”(即,没有给出第二ECC)时(步骤S953:否),写入数据和第一ECC两者都被写入到正常存取区域610(步骤S954)。此时,如果正常存取区域610例如由像ReRAM、PCRAM或MRAM那样的可以对其执行覆写的非易失性存储器组成,则可以对更新之前的数据的区域执行覆写。另一方面,如果正常存取区域610例如由像NAND闪速存储器那样的不能够执行覆写的类型的非易失性存储器组成,则可以对附加区域620执行附加。当可以对附加区域620执行附加时。当执行附加时,附加的目的地的物理地址被登记在地址映射表522中,从而更新了地址映射表522的内容(步骤S959)。因为第二ECC标志表示“真”(即,给出了第二ECC)时(步骤S953:是),所以新的数据与其第一ECC一道被写入到存储器600(步骤S957)。在这种情况下,第三实施例中的存储器600的新的操作与上文中所描述的不同之处在于,同样地,对于可以对其执行覆写的非易失性存储器,对另一空区域执行附加的写入。对于像NAND闪速存储器那样的不能够执行覆写的类型的非易失性存储器,同样地,对数据被预先擦除了的空区域执行附加。其原因是因为基于第二ECC对被给予了第二ECC标志的区域执行校正,并且因此需要完成更新之前的数据。为此,完成更新之前的旧数据及其第一ECC和第二ECC全部被保持而不用执行擦除、覆写等等。此外,如有需要,地址映射表522中的物理地址被更新为数据新近被附加到的物理地址。此外,与此同时,用于新近写入的数据的第二ECC被设置为“假”(步骤S958)。其原因是因为第二ECC不适用于附加的数据。然而,第二ECC索引被按原样留下而不被删除。地址映射表522被维持为使得经常保存最新的物理地址(步骤S959)。结果,与稍后将描述的第二管理表523的矛盾可以从第二ECC标志表示“假”并且第二ECC索引存在的两个信息中被检测到。在直到现在给出的描述中,没有特殊项适用于第二ECC管理表523。因此,在当在第二ECC适用于的、在正常存取区域610中未被更新的剩余数据被读出时基于第一ECC的错误校正失败的情况下,可以基于第二ECC管理表523中的信息来执行错误校正。即使当变化被添加到第二ECC适用于的数据时,由于变化的添加,也不需要重计算第二ECC。第二ECC不被给予后来被改变并被附加的数据。然而,所关心的数据是与未被更新的剩余数据相比已相对新近地被写入的数据,并且因此预期即使仅利用第一ECC也可以充分地确保可靠性。注意的是,例如,当第二ECC适用于的数据被存储在NAND闪速存储器中时,如果附加的数据被存储在更高速度的ReRAM中,则能够实现对聚合处理的加速。【读取处理的处理过程】图37是说明了在根据本公开的第二实施例的信息处理系统中的读取处理的处理过程的流程图。当存储器控制部500从主机计算机100接收到读取命令时,存储器控制部500开始读取处理。读取命令在其中包含了每个变成读取的对象的逻辑地址。控制部511基于写入命令的(一个或多个)逻辑地址通过参照地址映射表341来获取地址转换信息(步骤S961)。地址转换信息是由先前参照图34描述的逻辑地址、物理地址、数据标志、第二ECC标志以及第二ECC索引组成的信息。此外,控制部511基于地址转换信息的物理地址从存储器600读出写入数据(步骤S962)。作为读取的对象的数据及其第一ECC两者被包含在单位数据中。错误检测和校正都基于所读出的数据和第一ECC来执行。在这种情况下,当未检测到错误或者所检测到的错误的校正成功时(步骤S963:是),这个读取处理正常地结束。另一方面,当基于第二ECC的对检测到的错误的校正失败时(步骤S963:否),尝试基于第二ECC的错误校正。此时,当地址转换信息的第二ECC标志表示“假”时(步骤S964:否),因为不能够执行基于第二ECC的错误校正,所以这个读取处理变成错误结束。在错误结束期间,主机计算机100被通知读取错误的产生,从而停止读取处理。另一方面,当第二ECC标志表示“真”时(步骤S964:是),不改变由第二ECC索引所指定的第二ECC管理表523中的对应条目。从未改变的条目中获取管理信息(步骤S966)。这里描述的管理信息是数据的数目、第二ECC物理地址以及第0个至第三个数据的物理地址。从该管理信息识别变成第二ECC的对象的数据组(例如,上文中所描述的4N字节数据)和第二ECC的存储区域。结果,变成第二ECC的对象的数据组从正常存取区域610被读出,而对应的第二ECC从第二ECC存储区域630被读出(步骤S967)。基于由此读出的第二ECC执行错误校正。当错误校正成功时(步骤S968:是),从完成校正之后的该数据组选择作为读取的对象的数据(步骤S969)。另一方面,当错误校正失败时(步骤S968:否),读取处理变成错误结束。【聚合处理的处理过程】直到现在给出的描述示出了可以通过由于附加而部分地更新数据来实现写入和读取而不用逐个情况地重计算第二ECC。此外,不必向第二ECC管理表523添加任何特殊项,并且设计了如何使用,从而使高效安装变得可能。然而,第三实施例和第二实施例的相同之处在于,当数据的部分更新被重复地执行时,有必要执行聚合处理。此外,第三实施例在开始聚合处理的定时方面和第二实施例相同。图38是说明了在根据本公开的第三实施例的信息处理系统中的聚合处理的处理过程的流程图。当聚合处理开始时,控制部511通过参照地址映射表522来检索正在其中执行附加的区域(步骤S971)。在地址映射表522中第二ECC标志表示“假”并且第二ECC索引存在的条目表示正在其中执行附加的区域并且变成检索的对象。此外,具有与被检索条目所表示的第二ECC索引相同的第二ECC索引的条目的物理地址被收集,从而获取变成第二ECC的对象的数据组(例如,上文中所描述的4N字节数据)的物理地址列表。基于以这样的方式获得的变成第二ECC的对象的数据组的物理地址来读出变成第二ECC的对象的数据组(步骤S972)。此时,在相对于单位数据执行基于第一ECC的对于数据的错误检测并且未检测到错误或者即使在检测到错误时基于第一ECC的错误校正成功(步骤S973:是)的情况下,操作进行到下一个步骤S981的处理。另一方面,当错误校正失败时(步骤S973:否),尝试基于第二ECC的错误校正。此时,当地址转换信息的第二ECC标志表示“假”时(步骤S974:否),因为不能够执行基于第二ECC的错误校正,所以聚合处理变成错误结束。在错误结束期间,主机计算机100被通知聚合处理错误的产生,从而停止聚合处理。此外,当第二ECC标志表示“真”时(步骤S974:是),获取由所关心条目的第二ECC索引表示的第二ECC管理表523上的管理信息(步骤S976)。此外,基于该管理信息读出变成第二ECC的对象的数据组以及与其相对应的第二ECC两者(步骤S977)。对于数据组的错误校正基于由此读出的第二ECC来执行。当对于数据组的错误校正成功时(步骤S978:是),操作进行到下一个步骤S981的处理。另一方面,当对于数据组的错误校正失败时(步骤S978:否),聚合处理变成错误结束。当基于第一ECC或基于第二ECC的错误校正成功时(步骤S973或S978:是),则基于在步骤S971的处理中获取到的物理地址列表来计算第二ECC(步骤S981)。由此计算出的第二ECC被存储在由管理信息的第二物理地址表示的区域中。此外,在地址映射表522中,所附加数据的第二ECC标志被设置为“真”(步骤S982)。接下来,旧的数据被擦除,或者旧的数据的存储器区域被释放以便能够被再利用(步骤S983)。作为将新生成的第二ECC管理表523中的物理地址和先前的第二ECC管理表523中的物理地址彼此相比较的结果,被证明在新生成的第二ECC管理表523中不存在的(一个或多个)物理地址变成该处理的对象。最后,在步骤S971的处理中获取到的物理地址列表以及向其写入新的第二ECC的物理地址被登记为新的条目,并且旧的条目被删除(步骤S984)。此时,可以再利用旧的第二ECC索引。当给出新的第二ECC索引时,也需要更新地址映射表522的第二ECC索引。注意的是,当第二ECC适用于的数据被存储在NAND闪速存储器中时,如果所附加的部分被存储在可以以比NAND闪速存储器中更高的速度从其读出/向其写入数据的NVRAM中,则能够实现聚合处理的加速。如已经描述的,根据本公开的第三实施例,当存储在正常存取区域610中的变成第二ECC的对象的数据的一部分中发生更新时,可以对附加区域620执行附加,同时第二ECC被维持在第二ECC存储区域630的可变位置中。<5.第三实施例的修改变化>【作为第二ECC的对象的数据的缓存】当在数据的读取期间,不能够执行基于第一ECC的错误校正并且因此必须基于第二ECC执行错误校正时,从空间局部性或时间局部性的角度看,再次存取变成第二ECC的对象的数据的可能性是高的。于是,在完成基于第二ECC的错误校正的之后,将对象数据缓存在更高速度的内置存储器520或易失性存储器603中是有效的。因此,高速存储器存取可以被总体地实现。【预防性重写】当在数据的读出期间,不能够执行基于第一ECC的错误校正并且因此转而必须基于第二ECC执行错误校正时,认为显示出了变成第二ECC的对象的数据的保持特性被降低的迹象。于是,当可以基于第二ECC执行错误校正时,数据被预防性地重写是有效的。在重写期间,可以对同一存储区域执行覆写,或者可以对任何其它适当的空区域执行重写。注意的是,该技术基于与称作读回收(ReadReclaim)或读刷新(ReadRefresh)相同的思维的方法。注意的是,上文中所描述的实施例仅示出了用于实现本公开的示例,并且实施例中的事项和在所附权利要求中规定本公开的事项具有对应关系。此外,在所附权利要求中规定本公开的事项以及被添加了与所附权利要求中规定本公开的事项中相同的名称的本公开的实施例中的事项具有对应关系。然而,本公开绝不限于上文中所描述的实施例,并且可以在没有背离本公开的主题的情况下通过在实施例中做出各种改变来实现。此外,在上述实施例中描述的系列处理过程可以被掌握为具有这些系列过程的方法,或者可以被掌握为使计算机根据其来执行这些系列过程的程序,或者作为用于在其中记录程序的记录介质。致密盘(CD)、迷你盘(MD)、数字万能盘(DVD)、存储卡、蓝光盘(注册商标)等等可以被用作这种记录介质。注意的是,本公开还可以采用以下构成。(1)一种存储控制器,包括:纠错码管理部,被配置成在以数据和该数据的第一纠错码作为单位数据而将多个单位数据存储在存储部中,并且将预定的多个单位数据的第二纠错码存储在所述存储部中以便对应于多个单位数据中的所述预定的多个单位数据时,以每个条目来管理所述预定的多个单位数据与对应于所述预定的多个单位数据的第二纠错码之间的对应关系;地址管理部,被配置成管理逻辑地址与所述纠错码管理部中的条目之间的对应关系;以及纠错部,被配置成获取所述纠错码管理部中的与作为从所述地址管理部进行读取的对象的逻辑地址相对应的条目,并且基于在所关心的所述条目中管理的所述预定的多个单位数据和所述第二纠错码来执行纠错。(2)如段落(1)所述的存储控制器,其中,所述预定的多个单位数据被存储在所述存储部中的不连续的物理地址中。(3)如段落(1)或(2)所述的存储控制器,其中,所述地址管理部管理表示与逻辑地址相对应的所述第二纠错码是否被存储的纠错码标志,并且所述纠错部仅在所述纠错码标志表示所述第二纠错码被存储的结果时执行所述纠错。(4)如段落(1)至(3)中任一项所述的存储控制器,其中,所述纠错码管理部调控所述预定的多个单位数据的耦接顺序;以及所述纠错部根据所述耦接顺序来耦接所述预定的多个单位数据,从而执行所述纠错。(5)如段落(1)至(4)中任一项所述的存储控制器,其中,所述纠错码管理部保持与所述预定的多个单位数据相对应的所述第二纠错码在所述存储部中的物理地址;以及所述纠错部根据所述第二纠错码的所述物理地址从所述存储部获取所述第二纠错码。(6)如段落(5)所述的存储控制器,其中,所述纠错码管理部进一步保持与所述预定的多个单位数据相对应的所述第二纠错码在所述存储部中的物理地址内偏移;以及所述纠错部根据所述第二纠错码的所述物理地址和所述物理地址内偏移从所述存储部获取所述第二纠错码。(7)如段落(1)至(6)中任一项所述的存储控制器,进一步包括:纠错码生成部,被配置成在接收到数据保持特性加强命令时针对在该数据保持特性加强命令所指定的逻辑地址的范围内存储的数据来生成所述第二纠错码;以及条目管理部,被配置成在接收到所述数据保持特性加强命令时,针对所述数据保持特性加强命令所指定的逻辑地址的范围内存储的数据,在所述纠错码管理部中新确保在其中保持与对应的所述第二纠错码的对应关系的条目,并且将所述新确保的条目与所述指定的逻辑地址之间的对应关系登记在所述地址管理部中。(8)如段落(7)所述的存储控制器,其中,所述条目管理部在接收到所述数据保持特性加强解除命令时,释放在所述纠错码管理部中针对在所述数据保持特性加强解除命令中指定的逻辑地址的范围内存储的数据,保持与对应的所述第二纠错码的对应关系的所述条目,并且删除所述地址管理部中的所述释放的条目与所述指定的逻辑地址之间的对应关系。(9)如段落(7)所述的存储控制器,其中,所述纠错码管理部对于每个条目保持与所述第二纠错码相对应的单位数据的数目;以及所述条目管理部在新确保所述条目时以其中所述单位数据的数目表示零的条目为目标。(10)如段落(7)所述的存储控制器,其中,所述纠错码管理部对于每个条目都保持了与所述第二纠错码相对应的单位数据的数目;以及所述条目管理部在新确保所述条目时以其中所述单位数据的数目小于预定数目的条目为目标。(11)如段落(1)至(10)中任一项所述的存储控制器,其中,所述地址管理部将针对所述逻辑地址进行最后存取的时间保持为最后存取时间,其中,所述存储控制器进一步包括:纠错码生成部,被配置成在从所述最后存取时间起经过预定的时间段时针对在所述逻辑地址中存储的数据来生成所述第二纠错码;以及条目管理部,被配置成在从所述最后存取时间起经过预定的时间段时,针对在所述逻辑地址中存储的数据,在所述纠错码管理部中新确保在其中保持与对应的第二纠错码的对应关系的条目,并且将新确保的条目与指定的逻辑地址之间的对应关系登记在所述地址管理部中。(12)如段落(11)所述的存储控制器,其中,所述条目管理部在所述第二纠错码从所述最后存取时间起经过预定的时间段为止的期间被存储时,释放所述纠错码管理部中的针对在所述逻辑地址中存储的数据保持了与对应的所述第二纠错码的对应关系的该条目,并且删除所述地址管理部中的释放的条目与指定的逻辑地址之间的对应关系。(13)一种存储设备,包括:单位数据存储部,被配置成以数据和所述数据的第一纠错码作为单位数据而在其中存储多个单位数据;纠错码存储部,被配置成在其中存储预定的多个单位数据的第二纠错码以便对应于所述多个单位数据中的所述预定的多个单位数据;纠错码管理部,被配置成以每个条目来管理所述预定的多个单位数据与对应于所述预定的多个单位数据的所述第二纠错码之间的对应关系;地址管理部,被配置成管理逻辑地址与所述纠错码管理部中的条目之间的对应关系;以及纠错部,被配置成获取所述纠错码管理部中的与作为从所述地址管理部进行读取的对象的逻辑地址相对应的条目,从而基于在所关心的所述条目中管理的所述预定的多个单位数据和所述第二纠错码来执行纠错。(14)如段落(13)所述的存储设备,其中,所述单位数据存储部和所述纠错码存储部的每个是非易失性存储器。(15)一种信息处理系统,包括:单位数据存储部,被配置成以数据和所述数据的第一纠错码作为单位而在其中存储多个单位数据;纠错码存储部,被配置成在其中存储预定的多个单位数据的第二纠错码以便对应于所述多个单位数据中的所述预定的多个单位数据;纠错码管理部,被配置成以每个条目来管理所述预定的多个单位数据与对应于所述预定的多个单位数据的所述第二纠错码之间的对应关系;地址管理部,被配置成管理逻辑地址与所述纠错码管理部中的条目之间的对应关系;纠错部,被配置成获取所述纠错码管理部中的与作为从所述地址管理部进行读取的对象的逻辑地址相对应的条目,从而基于在所关心的所述条目中管理的所述预定的多个单位数据和所述第二纠错码来执行纠错;以及主机计算机,被配置成发出请求以请求访问所述单位数据存储部。(16)一种在存储设备中使用的存储控制方法,所述存储设备包括:单位数据存储部,以数据和所述数据的第一纠错码作为单位在其中存储多个单位数据;纠错码存储部,在其中存储所述预定的多个单位数据的第二纠错码以便对应于所述多个单位数据中的所述预定的多个单位数据;纠错码管理部,以每个条目来管理所述预定的多个单位数据与对应于所述预定的多个单位数据的所述第二纠错码之间的对应关系;以及地址管理部,管理逻辑地址与所述纠错码管理部中的条目之间的对应关系,所述存储控制方法包括:获取所述纠错码管理部中的与作为从所述地址管理部进行读取的对象的逻辑地址相对应的条目;并且基于在所获取的条目中管理的所述预定的多个单位数据和所述第二纠错码来执行纠错。(17)一种存储控制器,包括:地址管理部,被配置成在多个数据和与所述多个数据相对应的纠错码被存储在存储器的第一存储区域,与每预定数目的所述多个数据对应地将所述纠错码存储在所述存储器的第二存储区域,并且将针对所述多个数据的任一个的附加数据和针对所述附加数据的纠错码存储在所述存储器的第三存储区域时,针对所述多个数据来管理逻辑地址与所述存储器的所述第一存储区域或所述第三存储区域中的物理地址之间的对应关系;控制部,被配置成在与和写入请求相关的逻辑地址相对应的物理地址对应于所述第一存储区域时,将所述写入请求相关的数据作为所述附加数据来将所述附加数据和针对所述附加数据的纠错码附加到所述第三存储区域而不用对所述第一存储区域和所述第二存储区域执行重写,并且将所述第三存储区域中的附加了所述附加数据和针对所述附加数据的纠错码的物理地址登记在所述地址管理部中;以及纠错处理部,被配置成在与和读取请求相关的所述逻辑地址相对应的所述物理地址对应于所述第三存储区域时,利用所述第三存储区域中的所述附加数据和针对所述附加数据的纠错码来执行所述第三存储区域中的所述附加数据中的纠错,并且在与和所述读取请求相关的所述逻辑地址相对应的所述物理地址不对应于所述第三存储区域时,利用在其中包含了所述第一存储区域中的数据的所述预定数目的所述多个数据和所述第二存储区域中的所述纠错码来执行所述第一存储区域中的纠错。(18)如段落(17)所述的存储控制器,其中,所述控制部在预定定时,针对所述附加数据将所述附加数据覆写到附加之前的所述第一存储区域;以及所述纠错处理部在预定定时根据在其中包含了被覆写的数据的预定数目的所述多个数据来生成纠错码,并且将所述纠错码存储在所述第二存储区域中。(19)一种存储设备,包括:存储器,被配置成将多个数据和针对所述多个数据的纠错码存储在第一存储区域中,并且与每预定数目的所述多个数据对应地将所述纠错码存储在第二存储区域中,以及将针对所述多个数据中的任何一个的附加数据和针对所述附加数据的纠错码存储在第三存储区域中;地址管理部,被配置成针对所述多个数据来管理逻辑地址与所述第一存储区域或第三存储区域中的物理地址之间的对应关系;控制部,被配置成在与和写入请求相关的逻辑地址相对应的物理地址对应于所述第一存储区域时,将和所述写入请求相关的数据作为所述附加数据来将所述附加数据和针对所述附加数据的纠错码附加到所述第三存储区域而不用对所述第一存储区域和所述第二存储区域执行重写,并且将所述第三存储区域中的附加了所述附加数据和针对所述附加数据的纠错码的物理地址登记在所述地址管理部中;以及纠错处理部,被配置成在与和读取请求相关的所述逻辑地址相对应的所述物理地址对应于所述第三存储区域时,利用所述第三存储区域中的所述附加数据和针对所述附加数据的纠错码来执行所述第三存储区域中的所述附加数据中的纠错,并且在与和所述读取请求相关的所述逻辑地址相对应的所述物理地址不对应于所述第三存储区域时,利用在其中包含了所述第一存储区域中的数据的所述预定数目的所述多个数据和所述第二存储区域中的所述纠错码来执行所述第一存储区域中的纠错。(20)如段落(19)所述的存储设备,其中,所述存储器将所述第一存储区域存储在闪速存储器中,并且将所述第三存储区域存储在非易失性RAM中。(21)一种信息处理系统,包括存储器,被配置成将多个数据和针对所述多个数据的纠错码存储在第一存储区域中,并且与每预定数目的所述多个数据对应地将所述纠错码存储在第二存储区域中,以及将针对所述多个数据中的任何一个的附加数据和针对所述附加数据的纠错码存储在第三存储区域中;地址管理部,被配置成针对所述多个数据来管理逻辑地址与所述第一存储区域或第三存储区域中的物理地址之间的对应关系;控制部,被配置成在与和写入请求相关的逻辑地址相对应的物理地址对应于所述第一存储区域时,将和所述写入请求相关的数据作为所述附加数据来将所述附加数据和针对所述附加数据的纠错码附加到所述第三存储区域而不用对所述第一存储区域和所述第二存储区域执行重写,并且将所述第三存储区域中的附加了所述附加数据和针对所述附加数据的纠错码的物理地址登记在所述地址管理部中;纠错处理部,被配置成在与和读取请求相关的所述逻辑地址相对应的所述物理地址对应于所述第三存储区域时,利用所述第三存储区域中的所述附加数据和针对所述附加数据的纠错码来执行所述第三存储区域中的所述附加数据中的纠错,并且在与和所述读取请求相关的所述逻辑地址相对应的所述物理地址不对应于所述第三存储区域时,利用在其中包含了所述第一存储区域中的数据的所述预定数目的所述多个数据和所述第二存储区域中的所述纠错码来执行所述第一存储区域中的纠错;以及主机计算机,被配置成向所述存储器发出或所述读取请求或所述写入请求。(22)一种存储控制方法,包括:在将多个数据和所述多个数据的纠错码存储在存储器的第一存储区域中,与每预定数目的所述多个数据对应地将纠错码存储在存储器的第二存储区域中,并且将针对所述多个数据中的任何一个的附加数据和针对所述附加数据的纠错码存储在第三存储区域中的情况下,当与和写入请求相关的逻辑地址相对应的物理地址对应于第一存储区域时,以和写入请求相关的数据作为附加数据来将附加数据和用于所述附加数据的纠错码附加到第三存储区域,并且将所述附加数据和用于所述附加数据的所述纠错码被附加到的所述第三存储区域中的物理地址登记在地址管理部中而不用对第一存储区域和第二存储区域执行覆写;以及在与和读取请求相关的所述逻辑地址相对应的所述物理地址对应于所述第三存储区域时,利用所述第三存储区域中的所述附加数据和针对所述附加数据的纠错码来执行所述第三存储区域中的所述附加数据中的纠错,并且在与和所述读取请求相关的所述逻辑地址相对应的所述物理地址不对应于所述第三存储区域时,利用在其中包含了所述第一存储区域中的数据的所述预定数目的所述多个数据和所述第二存储区域中的所述纠错码来执行所述第一存储区域中的纠错。本申请包含与分别在2011年11月30日和2011年12月20日在日本专利局所提交的日本优先权专利申请JP2011-261091和JP2011-277777中公开主题的相关的主题,其全部内容通过引用合并于此。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1