存储控制设备、存储设备、信息处理系统及存储控制方法

文档序号:6516240阅读:326来源:国知局
存储控制设备、存储设备、信息处理系统及存储控制方法
【专利摘要】本发明公开了存储控制设备、存储设备、信息处理系统及存储控制方法。其中,该存储控制设备包含:标准读请求单元、错误校正单元和高精度读请求单元。该标准读请求单元被配置为将用于具有标准精度的读取的请求发送至存储器中的读地址。该错误校正单元被配置为响应于具有标准精度的读请求基于错误校正码和由存储器返回的数据执行错误校正。该高精度读请求单元被配置为在发生了通过错误校正不能校正的错误时,再次将用于具有比标准精度高的精度的读取的请求发送至读地址。
【专利说明】存储控制设备、存储设备、信息处理系统及存储控制方法
[0001]相关申请的交叉引用
[0002]本申请要求于2012年10月29日提交的日本在先专利申请JP2012-237383的优先权,其全部内容结合于此作为参考。
【技术领域】
[0003]本发明涉及存储控制设备。具体地,本发明涉及存储设备针对将数据与错误校正码一起存储的存储器执行存储控制的存储控制设备及其处理方法。
【背景技术】
[0004]从过去就已经开发一种技术:存储器(辅助存储设备)被进一步提供给包括处理器及其工作存储器(主存储设备)的信息处理系统以提高存储容量。在该信息处理系统中,DRAM (动态随机存取存储器)等被用作工作存储器。另一方面,非易失性存储器(NVM)有时可被用作存储器。该非易失性存储器大致被分为大量处理数据存取的闪存和能够小量执行快速随机存取的非易失随机存取存储器(NVRAM)。这里,引用NAND闪存作为闪存的典型实例。另一方面,非易失RAM的实例包括PCRAM (相变RAM)、MRAM (磁阻RAM)和ReRAM (电阻式RAM)等。
[0005]在现有技术的非易失性存储器中,除经典的读取方法外,已经提出了一种具有高精度但涉及读时间的读方法(例如,见日本专利申请公开第2011-165297号)。S卩,公开了动态读取以及静态读取,该动态读取这是一种典型的具有相对较低的精度的典型高速读取方法,该静态读取是一种具有高精度的较低速度读取方法。

【发明内容】

[0006]非易失性存储器具有重复的写和读访问的这种机制从而导致其劣化的这种机制。从在这种状态下的单元读取的数据可能以包括误码的方式被读取。因此,在单元的状态影响下,发生的误码可根据读取操作结果变化。例如,在某些数据存储在劣化的单元中的情况下,当执行高速动态读取操作时,误码的数目可能增加。在这种情况下,在上述现有技术中,没有在非易失性存储器装置中检测误码的方法,并且因为读取操作根据目的分配从而改善读取数据的结果是不可能的。其中存储在非易失性存储器的数据不被正确地读取的状态意味着信息被丢失,这是作为系统的致命条件。即,作为用于防止这种情况的有效方法,具有高精度的读取方法没有被充分使用。
[0007]考虑到上述情况,人们期望根据在处理具有标准精度的读取和具有高精度的读取两者的存储器中的错误校正状态来控制读请求。
[0008]根据本发明的实施方式,提供一种存储控制设备,其包括:标准读请求单元、错误校正单元和高精度读请求单元。标准读请求单元被配置为将具有标准精度的读取的请求发送至存储器中的读地址。错误校正单元被配置为响应于具有标准精度的读请求基于错误校正码和由存储器返回的数据执行错误校正。高精度读请求单元被配置为在发生错误校正不能校正的错误时,再次将具有比标准精度高的精度的读请求发送至该读地址。此外,为此提供一种存储控制方法。通过这个结构,在错误校正不能在关于存储器的具有标准精度的读取中执行的情况下,具有高精度的读取向存储器发送请求。
[0009]此外,在实施方式中,存储控制设备还可以包括记录单元,该记录单元被配置为在错误全部通过错误校正校正,以及被校正的错误的位计数满足特定要求的情况下记录读地址。当根据新读请求的新读地址被记录在记录单元中时,具有高精度的读请求可以被发送至新读地址而不是发送具有标准精度的读请求。因此,针对其中被校正的错误的位计数满足特定要求的地址执行高精度读取。在这种情况下,当被校正的错误的位计数超过预定阈值时,记录单元可以确定满足某些条件并记录读地址。
[0010]此外,在这一实施方式中,当读地址对应于预定的地址区域时,可将具有高精度的读请求发送至读地址而不是发送具有标准精度的读请求。因此,根据地址区域执行具有高精度的读取。在这种情况下,预定地址区域可以是系统区域。
[0011]此外,在实施方式,错误校正单元基于第一错误校正码针对具有第一大小的数据执行错误校正,并且基于具有比第一错误校正码的校正能力强的校正能力的第二错误校正码针对具有比第一大小大的第二大小的数据执行错误校正,并且当发给读地址的读请求具有等于或者小于第一大小的大小时,具有高精度的读请求可被发送至读地址而不发送具有标准精度的读请求。因此,在数据大小不超过第一大小的情况下执行具有高精度的读取。
[0012]此外,在实施方式中,当到读地址的存取频率满足特定要求时,具有高精度的读请求可以被发送至读地址而不发是送具有标准精度的读请求。因此,根据存取频率执行具有高精度的读取。
[0013]此外,在实施方式中,存储控制设备还可以包括更新请求单元,被配置为在错误完全通过错误校正校正并且被校正的错误的位计数满足某个必要条件的情况下将更新请求发送至读地址。因此,针对其中被校正的错误的位计数满足该特定要求的地址执行更新操作。在这种情况下,更新请求单元可以给出作为更新请求的指令以在读地址中执行具有比标准精度高的精度的读取,以将读取结果写入读地址。因此,用于更新的读取以高精度执行。
[0014]根据本发明的另一实施方式,提供一种存储装置,其包括:存储器、标准读请求单元、错误校正单元和高精度读请求单元。该存储器被配置成处理针对具有标准精度的读取和具有比该标准精度高的精度的读取两者的读请求。该标准读请求单元被配置为将具有标准精度的读请求发送至存储器中的读取址。该错误校正单元被配置为响应于具有标准精度的读请求基于错误校正码和由存储器返回的数据执行错误校正。该高精度读请求单元被配置为在发生通过错误校正不能校正的错误时,再次将具有比标准精度高的精度的读请求发送至读地址。通过这个结构,在具有标准精度的读取中不能执行错误校正的情况下,执行具有高精度的读取。
[0015]根据本发明的另一实施方式,提供一种信息处理系统,其包括:存储器、主机计算机、标准读请求单元、错误校正单元和高精度读请求单元。该存储器被配置成处理针对具有标准精度的读取和具有比该标准精度高的精度的读取两者的读请求。该主机计算机被配置为将读访问发送至存储器。该标准读请求单元被配置为响应于读访问将具有标准精度的读取的请求发送至存储器中的读地址。该错误校正单元被配置为响应于具有标准精度的读请求基于错误校正码和由存储器返回的数据执行错误校正。该高精度读请求单元被配置为在发生通过错误校正不能校正的错误时,再次将具有比标准精度高的精度的读请求发送至读地址。因此,在从主机计算机执行对存储器的读访问时,在错误在具有标准精度的读取中不能被校正的情况下,执行具有高精度的读取。
[0016]根据本发明的实施方式,可以产生这样一个卓越的结果:在处理针对具有标准精度和具有高精度的读取两者的存储器中,可以根据错误校正状态控制读请求。
[0017]如附图中所示,通过下面对本发明最佳模式的实施方式的详细说明,本发明的目标、特征与优势将变的更加显而易见。
【专利附图】

【附图说明】
[0018]图1是示出了本发明的实施方式中的信息处理系统的结构的实例的示图;
[0019]图2是示出了本发明的实施方式中的读处理单元周围的结构的实例的示图;
[0020]图3是示出了本发明的第一实施方式中的信息处理系统的读处理的程序实例的流程图;
[0021]图4是示出了本发明第二实施方式中的错误日志保持单元(error log holdingunit)的结构的实例的示图;
[0022]图5是示出了本发明的第二实施方式中的信息处理系统的读处理的流程实例的流程图;
[0023]图6是示出了本发明的第三实施方式中假定的逻辑页与物理页之间的对应关系的实例的示图;
[0024]图7是示出了本发明的第三实施方式中的信息处理系统的读处理的程序实例的流程图;
[0025]图8是示出了本发明的第四实施方式中假定的数据与错误校正码之间的对应关系的实例的示图;
[0026]图9是示出了本发明的第四实施方式中的信息处理系统的读处理的程序实例的流程图;
[0027]图10是示出了本发明的第五实施方式中的信息处理系统的读处理的程序实例的流程图;
[0028]图11是示出了本发明的第六实施方式中的信息处理系统的读处理的程序实例的流程图;以及
[0029]图12是示出了本发明的第六实施方式中的信息处理系统的更新处理的程序实例的流程图。
【具体实施方式】
[0030]在下文中,将参照附图详细地描述本发明的实施方式。将按照以下顺序进行描述。
[0031]1.第一实施方式(基本控制)
[0032]2.第二实施方式(基于错误校正日志的控制的实例)
[0033]3.第三实施方式(基于存取区的控制的实例)
[0034]4.第四实施方式(在错误校正码加倍的情况下的控制的实例)[0035]5.第五实施方式(基于访问频率的控制的实例)
[0036]6.第六实施方式(还使用更新操作的控制的实例)
[0037]7.变形例
[0038]〈1.第一实施方式>
[0039]图1是示出了本发明的实施方式中的信息处理系统的结构的实例的示图。信息处理系统被设置有主机计算机100、存储器控制器200和非易失性存储器300。存储器控制器200和非易失性存储器300组成存储系统。主机计算机100相对于存储系统发出用于请求数据的读或写等的命令。
[0040]非易失性存储器300是具有即使在断电的状态下连续地保持其内容的非易失特性的存储器(NVM)。该非易失性存储器300大致被分为大量处理数据存取的闪存和能够小量执行高速随机存取的非易失性随机存取存储器(NVRAM)。这里,引用NAND闪存作为闪存的典型实例。另一方面,NVRAM的实例包括PCRAM、MRAM或ReRAM等。
[0041]非易失性存储器300被设置有控制接口 310、存储缓冲器320和存储单元阵列330。在存储单元阵列330中,存储位的数据值的存储单元以矩阵的模式布置。存储单元具有即使处于断电的状态下仍连续地保持内容的非易失性存储器。存储缓冲器320是用于保持待写入存储单元阵列330的数据或者从存储单元阵列330读出的数据。控制接口 310是执行与存储器控制器200的传输和接收的接口。
[0042]存储单元阵列330具有带有不同精度类型的两种读取方法(读取模式)。一种读取方法是具有相对低的精度的标准高速读取方法。利用这种读取方法的访问被称为标准访问。另一种读取方法是具有高精度的相对低速的读取方法。利用这种读取方法的访问被称为高精度访问。使用哪种读取方法将根据来自存储器控制器200的指令决定。
[0043]存储器控制器200用于控制非易失性存储器300。根据来自主机计算机100的指令,读请求或写请求等被发送至非易失性存储器300。存储器控制器200被设置有主机接口210、写处理单元220、错误校正码生成单元230、读处理单元240、错误检测单元250、错误校正单元260和存储器接口 270。
[0044]写处理单元220将数据写入非易失性存储器300中。响应于来自主机计算机100的写命令,写处理单元220将写请求发送至非易失性存储器300。来自主机计算机100的写命令包含将成为写处理的目标的写地址。存储器控制器200可将写地址从逻辑地址转换为物理地址或者可将该地址原样输出。在通常情况下,作为写处理的目标的写数据被包含在来自主机计算机100的写命令中或者随写命令一起被指示。此外,在执行更新处理的情况下,由读处理单元240读取的数据有时可被用作写数据。
[0045]错误校正码生成单元230针对写数据生成错误校正码(ECC)。生成的错误校正码被写入非易失性存储器300中。
[0046]读处理单元240执行从非易失性存储器300中读取数据的处理。根据来自主机计算机100的读命令,读处理单元240将读请求发送至非易失性存储器300。来自主机计算机100的读命令包含作为读处理的目标的读地址。存储器控制器200可将读地址从逻辑地址转换为物理地址或者可将地址原样输出。通过读处理,作为目标的读取数据及其错误校正码从非易失性存储器300读出。应注意,读处理单元240是所附权利要求范围内所述的标准读请求单元和高精度读请求单元的实例。[0047]错误检测单元250基于从非易失性存储器300读取的读取数据和错误校正码检测位错误。在位错误在错误检测单元250中被检测出的情况下,错误校正单元260基于从非易失性存储器300读取的读取数据和错误校正码来校正位错误。因此,通过错误校正单元260,校正了在错误校正码的校正能力范围内的位计数的位错误,从而提高了数据保持特性。然而,如果生成的位错位在错误校正码的校正能力范围之外,将不能校正该位错误。
[0048]主机接口 210是用于执行与主机计算机100有关的传输和接收的接口。存储器接口 270是用于执行与非易失性存储器300有关的传输和接收的接口。
[0049]图2是示出了在本发明的实施方式中的读处理单元240周围的结构的实例的示图。读处理单元240包含读模式设置单元241和错误日志保持单元242。
[0050]当将读请求发送至非易失性存储器300时,读模式设置单元241设置标准访问和高精度访问的读模式中的一种。根据错误校正单元260是否可执行错误校正或来自主机计算机100的读访问的类型等确定设置为哪一种读模式。将在下文中详细地描述该确定。
[0051]错误日志保持单元242将错误校正条件保持在错误校正单元260中作为日志。将在第二实施方式中详细地描述错误日志保持单元242。应注意,错误日志保持单元242是所附权利要求范围内描述的记录单元的实例。
[0052](读处理的操作)
[0053]图3是示出了本发明的第一实施方式中的信息处理系统的读处理的程序实例的流程图。在第一实施方式,根据接收来自主机计算机100的读命令,读处理单元240将读请求发送至非易失性存储器300中的读地址(步骤S913)。在这种情况下,在读模式设置单元241中,将标准访问设置为读模式。即,通过设置,在非易失性存储器300中,使用具有相对低精度的标准高速读方法用于执行读访问。
[0054]当在非易失性存储器300中通过标准访问执行读取时,读取数据和其错误校正码被提供给错误检测单元250。错误检测单元250基于读取数据和其错误校正码检测是否存在错误。然后,在检测到存在错误的情况下,错误校正单元260基于读取数据和其错误校正码执行错误校正。因此,当产生在错误校正单元260中难以被校正的错误的情况下(在步骤S914中的“是”),读处理单元240将利用高精度访问的读请求发送至非易失性存储器300中相同的读地址(步骤S915)。如上所述,在错误校正单元260中,仅可接受在错误校正码的校正能力范围内的位错误的数目,而不能为超出位计数的位错误执行错误校正。即使在这种情况下,通过使用高精度访问以再次读取数据,位错误计数减小,因此能够通过错误校正单元260校正位错误。因此,在步骤S915中,对相同的读地址执行通过比标准访问更高精度的高精度访问的读取。
[0055]当执行利用高精度访问的读取时,读取数据和其错误校正码被提供给错误检测单元250。基于读取数据和其错误校正码,错误检测单元250检测是否生成错误。如果检测到错误的出现,错误校正单元260基于读取数据和其错误校正码执行错误校正。因此,当在错误校正单元260中生成难以被校正的错误的情况下(在步骤S916中为“是”),执行读出过程的错误终止。
[0056]在错误检测单元250中没有检测出错误的情况下或者在检测出错误但是错误校正在错误校正单元260中成功实现的情况下(在步骤S914为“否”或者步骤S916为“否”),实现读出过程的标准终止。[0057]以这种方法,根据本发明的第一实施方式,通过结合读模式和错误校正能够提高数据的校正能力。也即,在由利用标准访问的读取难以执行的错误校正的情况下,执行利用高精度访问的读取,由此能够减小位错误计数并增加可以执行错误校正的可能性。另一方面,通过将第一读访问设置为包括更短的访问时期的标准访问,能够使将对访问执行的影响最小化。
[0058]<2.第二实施方式>
[0059]在上述第一实施方式中,每次接收读命令时,首先执行利用标准访问的读取,并且只有当不能执行错误校正时,执行利用高精度访问的读取。在第二实施方式中,通过参考由错误校正单元260创建的错误日志,根据情况省略标准访问,并且从开始执行利用高精度访问的读取。应注意,信息处理系统的基本结构与参考图1和图2描述的结构相同,因此将省略其描述。
[0060](错误日志保持单元的结构)
[0061]图4是示出了本发明第二实施方式中的错误日志保持单元242的结构的实例的示图。当在错误校正单元260中由一个错误校正校正的位错误的位计数超过预定阈值的情况下,错误日志保持单元242记录并管理其读地址作为错误校正日志。在这一实例中,其中发生的位错误的位计数超过预定阈值的读地址被约束为十六进制。在针对记录在日志上的非易失性存储器中的读地址执行读出过程的情况下,通过使用精度访问,能够防止不能被校正的错误的出现。
[0062]应注意,在这一实例中,考虑错误日志保持单元242保持读地址本身的结构,而是可使用另一结构。例如,可以使用以下结构。也即,准备对应于读地址的位映射,并且位映射上有相应标记。
[0063](读出过程的操作)
[0064]图5是示出了本发明的第二实施方式中的信息处理系统的读出过程的流程实例的流程图。在第二实施方式中,一旦从主机计算机100接收读命令,读处理单元240通过参考错误日志保持单元242判定读地址是否被记录在错误日志保持单元242中。
[0065]当读地址不被记录在错误日志保持单元242 (步骤S921为“否”)时,由标准访问发送读请求(步骤S923)。另一方面,当读地址被记录在错误日志保持单元242时(步骤S921中为“是”),跳过标准访问并且发出利用高精度访问的读请求(步骤S925)。
[0066]在步骤S923中,当执行利用标准访问的读取时,读取数据和其错误校正码被提供给错误检测单元250。错误检测单元250基于读取数据和其错误校正码检测是否出现错误。在检测出错误的出现的情况下,基于读取数据和其错误校正码,错误校正单元260执行错误校正。因此,当在错误校正单元260中产生不能被校正的错误的情况下(在步骤S924中“是”),读处理单元240将具有高精度的读请求发送至非易失性存储器300中相同的读地址(步骤 S925)。
[0067]在没有针对利用标准访问的读取检测出错误的情况下或者在检测出错误但是错误校正在错误校正单元260中成功实现的情况下(在步骤S924为“否”),执行读出过程的标准终止。当在执行错误校正的情况下被校正的错误的位计数超过预定阈值(步骤S927中为“是”),读地址在错误日志保持单元242被记录为错误校正日志(步骤S928 )。错误校正日志表示其中错误在将来变得可能不能被校正的地址。在步骤S921中检查错误校正日志,并且当地址被记录在错误校正日志中,跳过标准访问(步骤S923 )且执行利用高精度访问的读取(步骤 S925)。
[0068]在步骤S925中,当执行利用高精度访问的读取时,读取数据和其错误校正码被提供给错误检测单元250。错误检测单元250基于读取数据和其错误校正码检测是否出现错误。在检测出错误的出现的情况下,基于读取数据和其错误校正码,错误校正单元260执行错误校正。因此,当在错误校正单元260中产生不能被校正的错误的情况下(在步骤S926中为“是”),执行读出过程的错误终止。
[0069]在没有针对利用高精度访问的读取检测出错误的情况下或者在检测出错误时但错误校正在错误校正单元260中成功实现的情况下(在步骤S926为“否”),执行读出过程的标准终止。
[0070]如上所述,根据本发明的第二实施方式,通过将其中错误在将来可能变得不能被校正的地址记录为错误校正日志,跳过标准访问,执行高精度访问,因此,能够防止不能被校正的错误的出现。
[0071]〈3.第三实施方式〉
[0072]在第一实施方式中,不考虑作为读取目标的地址区域,首先执行利用标准访问的读取,只有当不能够校正错误时,执行利用高精度访问的读取。在第三实施方式中,根据作为读取目标的地址,省略标准访问,并且从一开始就执行利用高精度访问的读取。应注意,信息处理系统的基本结构与参考图1和图2描述的那些结构相同,因此将省略其描述。
[0073](地址空间)
[0074]图6是示出了本发明的第三实施方式中设定的逻辑页与物理页之间的对应关系的实例的示图。在第三实施方式中,做出该假设:非易失性存储器用作存储设备,逻辑页610针对物理页620被映射并且执行访问。需要标准地读取管理文件系统(作为存储设备的区域)等的管理信息,并且对于数据区域,表示作为逻辑格式的区域的地址空间被预先固定。由此看来,对于管理信息,优先执行高精度访问,由此抑制不能被校正的错误的出现。
[0075]逻辑页610被分成系统区域和用户区域。在系统区域中,MBR(主引导记录,masterboot record)是在系统开始时最初读取的区域。FAT (文件分配表)是用于管理文件的存储位置的表。根目录是用于存储存在于分层目录结构中最上层的文件的目录项(directoryentry)的区域。用户数据被存储在用户区域中。
[0076]物理页620被分成其中优先执行高精度访问的高精度访问区和其中优先执行标准访问的标准访问区。系统区域被分配到高精度访问区,且用户区被分配到标准访问区。因此,在访问系统区域时,优先执行高精度访问,并且在访问用户区时,优先执行标准访问。
[0077](读出过程的操作)
[0078]图7是示出了本发明的第三实施方式中的信息处理系统的读取过程的流程实例的流程图。在第三实施方式中,一旦从主机计算机100接收读命令,读处理单元240判定其读地址是否超过系统区域的末端。
[0079]如果读地址超过系统区域的末端(在步骤S931中为“否”),这对应于用户区,因此由标准访问发出读请求(步骤S933)。另一方面,如果读地址不超过系统区域的末端(步骤S931中为“是”),这对应于系统区域,因此跳过标准访问而且发出高精度访问的读请求(步骤 S932)。[0080]在步骤S933中,当执行利用标准访问的读取时,读取数据和其错误校正码被提供给错误检测单元250。错误检测单元250基于读取数据和其错误校正码检测是否发生错误。当检测到了错误发生时,错误校正单元260基于读取数据和其错误校正码执行错误校正。因此,在错误校正单元260中,当在发生不能被校正的错误的情况下(在步骤S934中“是”),读处理单元240将高精度的读请求发送至非易失性存储器300中相同的读地址(步骤 S935)。
[0081]当在步骤S925或S935中执行利用高精度访问的读取时,读取数据和其错误校正码被提供给错误检测单元250。错误检测单元250基于读取数据和其错误校正码检测是否发生错误。在检测出错误出现的情况下,错误校正单元260基于读取数据和其错误校正码执行错误校正。因此,在错误校正单元260中,在发生不能被校正的错误的情况下(在步骤S936中为“是”),实现读出过程的错误终止。
[0082]在错误检测单元250中没有检测出错误的情况下或者在检测出错误但是错误校正在错误校正单元260中成功实现的情况下(在步骤S934为“否”或者步骤S936为“否”),实现读出过程的标准终止。
[0083]如上所述,根据本发明的第三实施方式,对于对系统区域的访问,跳过标准访问,执行高精度访问,由此能够防止不能被校正的错误的出现。
[0084]〈4.第四实施方式〉
[0085]在上述第一实施方式中,由错误校正码生成单元230、错误检测单元250和错误校正单元260处理的错误校正码是一种类型。也即,假设不考虑读取目标的大小等使用一种错误校正码,首先执行利用标准访问的读取,只有当不能够校正错误时,执行利用高精度访问的读取。在第四实施方式,设定以512字节为单位的第一错误校正码和以4096字节为单位的第二错误校正码。一般地,错误校正码的码长越长,纠错能力变得越强。这里,以4096字节为单位的第二错误校正码具有以512字节为单位的第一错误校正码强的错误校正能力。在第四实施方式中,对于使用具有相对低的校正能力的以512字节为单位的错误校正码的访问方法,考虑双重错误校正码,省略标准访问,并且从开始就执行利用高精度访问的读取。应注意,信息处理系统的基本结构与参考图1和2描述的那个相同,因此将省略其描述。
[0086](错误校正码)
[0087]图8是示出了本发明的第四实施方式中设定的数据与错误校正码(ECC)之间的对应关系的实例的示图。在第四实施方式中,对于具有第一大小的数据,执行基于第一错误校正码的错误校正。此外,对于具有比第一大小大的第二大小的数据,执行基于具有较高校正能力的第二错误校正码的错误校正。在下文中,作为一个实例,做出该假设:第一大小和第二大小分别为512字节和4K字节。
[0088]对于每一个512字节数据331,设定第一 ECC332。对于8个组(每一个组由512字节数据331和第一 ECC332组成),给定第二 ECC333。也即,在4K字节的数据被用作一个单位的情况下,除了第一 ECC332,给定具有较高校正能力的第二 ECC333,由此改善数据保持特性。换言之,即使在通过第一 ECC332不能够执行校正的情况下,也能够通过使用第二ECC333在校正之后读取数据。在这种情况下,第二 ECC333将具有高校正能力的错误校正码应用于8个组(每一个由512字节数据331和第一 ECC332组成)的数据。[0089]作为第一ECC332,例如,考虑允许相对于512字节的I位错误检测和校正的奇偶校验位。作为第二 ECC333,例如考虑允许相对于4K字节的8位错误检测和收集的BCH码。
[0090]在执行以512字节为单位的读取的情况下,通过奇偶校验位执行的位错误检测和校正过程花费短暂的时间。因此,通过应用高精度访问,发生错误超过I位的概率降低。另一方面,在执行以4K字节为单位的读取的情况下,利用BCH码的校正能力足够高,但是执行位错误检测和校正程序花费的时间更长。因此,使用包括较高速度的标准访问。因此,即使在第二 ECC333变得必要的情况下能够抑制访问时间的增加。
[0091]应注意,在这一实例中,在每一个512字节数据331之后立即设置第一 ECC332,并且单独地共同地设置第二 ECC333,但可在任何存储位置设置第一 ECC332和第二 ECC333。
[0092](读出过程的操作)
[0093]图9是示出了本发明的第四实施方式中的信息处理系统的读出过程的流程实例的流程图。在第四实施方式中,当读处理单元240从主机计算机100接收读命令时,参考待读取的数据的大小。
[0094]如果数据大小超过512字节(在步骤S941中为“是”),数据对应4K字节的数据读取,因此发送通过标准访问的4K字节的读请求(步骤S943)。另一方面,在数据大小不超过512字节的情况下(步骤S941中为“否”),数据对应512字节读取,因此跳过标准访问而且由高精度访问发出512字节的读请求(步骤S942)。
[0095]当在步骤S943中执行利用标准访问的读取时,4K字节的数据和第二错误校正码被提供给错误检测单元250。基于4K字节的数据和第二错误校正码,错误检测单元250检测是否发生错误。在检测出错误的出现的情况下,错误校正单元260基于4K字节的数据和第二错误校正码执行错误校正。因此,当在错误校正单元260中发生不能被校正的错误的情况下(在步骤S944中为“是”),读处理单元240将通过高精度的读请求发送至非易失性存储器300中相同的读地址(步骤S945)。
[0096]在步骤S942中,当执行利用高精度访问的读取时,512字节数据和第一错误校正码被提供给错误检测单元250。错误检测单元250基于512字节数据和第一错误校正码检测是否发生错误。在检测出错误的出现的情况下,错误校正单元260基于512字节数据和第一错误校正码执行错误校正。另一方面,在步骤S945中,当执行利用高精度访问的读取时,4K字节的数据和第二错误校正码被提供给错误检测单元250。错误检测单元250基于4K字节的数据和第二错误校正码检测是否发生错误。在检测出错误的出现的情况下,错误校正单元260基于4K字节的数据和第二错误校正码执行错误校正。由于错误校正,如果在错误校正单元260中发生不能被校正的错误(在步骤S946中为“是”),执行读出过程的错误终止。
[0097]在错误检测单元250中没有检测出错误的情况下或者在检测出错误但是错误校正在错误校正单元260中成功实现的情况下(在步骤S944中为“否”或者步骤S946中为“否”),执行读出过程的标准终止。
[0098]如上所述,根据本发明的第四实施方式,对于具有带有低校正能力的大小的读访问,跳过标准访问,执行高精度访问,因此使防止不能被校正的错误的出现成为可能。
[0099]<5.第五实施方式>
[0100]在上述第一实施方式中,不考虑待读取数据的类型,首先执行利用标准访问的读取,并且只有当难以执行错误校正时,执行利用高精度访问的读取。在第五实施方式中,根据待读取数据的类型,省略标准访问,并且从开始执行利用高精度访问的读取。应注意,信息处理系统的基本结构与参考图1和2描述的信息处理系统相同,因此将省略其描述。
[0101]在第五实施方式中,数据被分为热数据和冷数据两种类型。热数据在主机计算机100中被频繁地访问,而冷数据在其中不被频繁地访问。也即,因为热数据被频繁地访问,缩短访问时间是必要的,因此对此处应用标准访问。另一方面,高精度访问应用于冷数据,因为长期存储可能使保持特性劣化。应注意,为判定数据是否为热数据或冷数据,管理访问的方法记录至该数据,该方法将数据类型指定为其中来自主机计算机100的数据存储的区域的属性。
[0102](读出过程的操作)
[0103]图10是示出了本发明的第五实施方式中的信息处理系统的读出过程的流程实例的流程图。在第五实施方式中,当读处理单元240从主机计算机100接收读命令时,判定读取数据是否为热数据或冷数据。可通过各种方法判定数据是否为热数据或冷数据。例如,在读命令包含信息的情况下,可从信息执行判定。在当记录待访问和读取的数据时写命令包含信息且存储器控制器保持该信息,可从保持的信息执行判定。此外,在写处理之后通过不同于读命令和写命令的命令相应数据的信息被指示至存储器控制器的情况下,可从指示的信息执行判定。可替换地,存储器控制器可计算访问频率等以执行该判定。
[0104]在读取数据对应热数据的情况下(在步骤S951中为“是”),由标准访问发送读请求(步骤S953)。另一方面,读取数据对应冷数据(步骤S951中为“否”),跳过标准访问并发出利用高精度访问的读请求(步骤S952)。
[0105]在步骤S953中,当执行利用标准访问的读取时,读取数据和其错误校正码被提供给错误检测单元250。错误检测单元250基于读取数据和错误校正码检测是否发生错误。在检测出错误的出现的情况下,错误校正单元260基于读取数据和错误校正码执行错误校正。因此,如果在错误校正单元260中发生不能被校正的错误(在步骤S954中为“是”),读处理单元240将利用高精度的读请求发送至非易失性存储器300中相同的读地址(步骤S955)。
[0106]当在步骤S952或S955中执行利用高精度访问的读取时,读取数据和其错误校正码被提供给错误检测单元250。基于读取数据和错误校正码,错误检测单元250检测是否发生错误。在检测出错误的出现的情况下,错误校正单元260基于读取数据和错误校正码执行错误校正。因此,如果在错误校正单元260中发生不能被校正的错误(在步骤S956中为“是”),实现了读出过程的错误终止。
[0107]在错误检测单元250中没有检测出错误的情况下或者在检测出错误但是错误校正在错误校正单元260中成功实现的情况下(在步骤S954为“否”或者步骤S956为“否”),实现读出过程的标准终止。
[0108]如上所述,根据本发明的第五实施方式,对于冷数据的访问,跳过标准访问,执行高精度访问,由此使防止不能被校正的错误的出现成为可能。
[0109]〈6.第六实施方式〉
[0110]众所周知这一事实:随着其存储期变长存储在非易失性存储器中的数据劣化,且通过再一次写入数据更新其保持特性。由此看来,在第六实施方式中,在利用标准访问的读取中,如果位错误计数的校正数超过预定阈值,决定其存储单元需被更新。在更新操作中读取校正数据是必须的。更新操作不是通过来自主机计算机的数据存取执行的,因此长的读出时间不存在问题,由此在该处应用高精度访问是可能的。应注意,信息处理系统的基本结构与参考图1和2描述的那个相同,因此将省略其描述。
[0111](读出过程的操作)
[0112]图11是示出了本发明的第六实施方式中的信息处理系统的读出过程的流程实例的流程图。在第六实施方式,当接收来自主机计算机100的读命令时,读处理单元240将读请求发送至非易失性存储器300中的读地址(步骤S963)。在这种情况下,在读模式设置单元241中,将标准访问设置为读模式。也即,通过此操作,在非易失性存储器300中,通过具有相对低精度的高速常规读取方法执行读访问。
[0113]在步骤S963中,当执行利用标准访问的读取时,读取数据和其错误校正码被提供给错误检测单元250。错误检测单元250基于读取数据和其错误校正码检测是否发生错误。在检测出错误的出现的情况下,错误校正单元260基于读取数据和其错误校正码执行错误校正。因此,当在错误校正单元260中发生不能被校正的错误的情况下(在步骤S964中为“是”),读处理单元240将通过高精度的读请求发送至非易失性存储器300中相同的读地址(步骤 S965)。
[0114]在没有为标准访问的读取检测出错误的情况下或者在检测出错误但是错误校正在错误校正单元260中成功实现的情况下(在步骤S964为“否”),实现读出过程的标准终止。在执行错误校正的情况下,当错误校正的位计数超过预定阈值时(步骤S967为“是”),读处理单元240为非易失性存储器300执行更新过程(步骤S968),并且实现读出过程的标准终止。
[0115]在步骤S965中,当执行利用高精度访问的读取时,读取数据和错误校正码被提供给错误检测单元250。错误检测单元250基于读取数据和错误校正码检测是否发生错误。在检测出错误的出现的情况下,错误校正单元260基于读取数据和错误校正码执行错误校正。因此,当在错误校正单元260中发生不能被校正的错误的情况下(在步骤S966中为“是”),实现了读出过程的错误终止。
[0116]在没有为利用高精度访问的读取检测错误的情况下或者在检测出错误但是错误校正在错误校正单元260中成功实现的情况下(在步骤S966为“否”),实现更新过程的标准终止(步骤S968)。此后,实现读出过程的标准终止。
[0117]应注意,当在步骤S964中发生不能被校正的错误的情况下,可实现错误终止而不执行利用高精度访问的读取(步骤S965 )。此外,在这种情况下,不执行利用高精度访问的读取(步骤S965)可发送更新请求,如同步骤S968中一样。
[0118](读出过程的操作)
[0119]图12是示出了本发明的第六实施方式中的信息处理系统的更新过程(步骤S968)的流程实例的流程图。在更新过程中,可从非易失性存储器300中的更新地址执行利用高精度访问的读取(步骤S971 )。当执行利用高精度访问的读取时,读取数据和错误校正码被提供给错误检测单元250。错误检测单元250基于读取数据和其错误校正码检测是否发生错误。然后,在检测出错误的出现的情况下,错误校正单元260基于读取数据和其错误校正码执行错误校正。因此,在错误校正单元260中生成不能被校正的错误的情况下(在步骤S972中为“是”),实现了读出过程的错误终止。
[0120]另一方面,在步骤S971中没有为利用高精度访问的读取检测错误的情况下或者在检测出错误但是错误校正在错误校正单元260中成功实现的情况下(在步骤S972为“否”),被校正的读取数据被写入相同的地址(步骤S973)。因此,完成了更新操作,并且实现了处理的标准终止。
[0121]如上所述,根据本发明的第六实施方式,通过为其中错误在将来可能变成不能被校正的地址执行更新操作,可能防止不能被校正的错误的出现。
[0122]〈7.变形例〉
[0123]在上文的实施方式中,作为在将来错误可能变得不能被校正的可能性的标记,将被校正的的错误位计数超过预定阈值设定为必要条件,但是可构思出其他的各种变形例。
[0124]例如,当在高温下单元的保持特性不稳定的情况下,将室温设为标记。通过将高精度访问应用至在比某个阈值高的温度下执行读处理的情况,可以防止由于不能被校正的错误的出现发生的读处理的失败。
[0125]此外,在随着改写数目的增加单元逐渐地劣化的情况下,改写数目被设置为标记。通过在改写数目超过某个阈值的情况下应用高精度访问,可防止由于不能被校正的错误的出现发生读处理的失败。
[0126]此外,在随着数据的保持时间变长存储在单元中的数据逐渐地劣化的情况下,保持时间被设置为标记。通过在保持时间超过阈值的情况下应用高精度访问,可防止由于不能被校正的错误的读处理的失败。
[0127]应注意,在上述实施方式中,在以下的假定下做出的描述:以两个步骤提高读处理的精度,以及在以三个或四个或更多步骤提高的情况下,其延伸被容易地执行且其效果可增加。
[0128]应注意,上述实施方式是用于指定本技术的实例。实施方式的事项与在权利要求范围内本发明指定的事项对应。同样地,在权利要求范围内指定的事项对应于在本发明的实施方式中同一名字的事项。然而,本发明不限于这些实施方式并且在不偏离本发明要旨情况下可具有各种修改的实施方式。
[0129]此外,上述实施方式的流程可被处理为包括那些流程的方法或者可被处理为用于发生计算机执行那些流程的程序或存储该程序的记录介质。可使用CD (光盘)、MD (迷你磁盘)、DVD (数字化通用光盘)、存储卡或蓝光光盘(注册商标)等作为记录介质。
[0130]应注意,本发明可采用以下的配置。
[0131](I) 一种存储控制设备,包括:
[0132]标准读请求单元,被配置为将具有标准精度的读取的请求发送至存储器中的读地址;
[0133]错误校正单元,被配置为响应于具有标准精度的读请求基于错误校正码和由存储器返回的数据来执行错误校正;以及
[0134]高精度读请求单元,被配置为在发生通过该错误校正不能校正的错误时,再次将具有比标准精度高的精度的读取的请求发送至读地址。
[0135](2)根据项(I)所述的存储控制设备,进一步包括:
[0136]记录单元,被配置为在错误全部通过错误校正校正并且被校正的错误的位计数满足特定要求的情况下记录读地址,其中,
[0137]当根据新读请求的新读地址被记录在该记录单元中时,将具有高精度的读请求发送至新读地址,而不发送具有标准精度的读请求。
[0138](3)根据项(2)所述的存储控制设备,其中,
[0139]当被校正的错误的位计数超过预定阈值时,记录单元确定满足某个必要条件并记录读地址。
[0140](4)根据项(I)到(3)的任一项所述的存储控制设备,其中,
[0141]当读地址对应预定地址区域时,将具有高精度的读请求发送至读地址,而不发送具有标准精度的读请求。
[0142]( 5 )根据项(4 )所述的存储控制设备,其中,
[0143]预定的地址区域是系统区域。
[0144](6)根据项(I)到(5)的任一项所述的存储控制设备,其中,
[0145]错误校正单元基于第一错误校正码对具有第一大小的数据执行错误校正,并且基于具有比第一错误校正码的校正能力强的校正能力的第二错误校正码对具有比第一大小大的第二大小的数据执行错误校正,以及
[0146]当到读地址的读请求具有等于或者小于第一大小的大小时,将具有高精度的读请求发送至读地址,而不发送具有标准精度的读请求。
[0147](7)根据项(I)到(6)的任一项所述的存储控制设备,其中,
[0148]当对读地址的访问频率满足某个必要条件时,将具有高精度的读请求发送至读地址,而不发送具有标准精度的读请求。
[0149](8)根据项(I)到(7)的任一项所述的存储控制设备,进一步地包括
[0150]更新请求单元,被配置为在错误完全通过错误校正校正并且校正的错误的位计数满足特定要求的情况下,将更新请求发送至读地址,。
[0151](9 )根据项(8 )所述的存储控制设备,其中,
[0152]更新请求单元设定作为更新请求的在读地址中执行具有比标准精度高的精度的读取的指令作为更新请求,以将读取结果写入读地址。
[0153](10) 一种存储设备,包括:
[0154]存储器,被配置成处理用于具有标准精度的读取和具有比标准精度高的精度的读取两者的读请求;
[0155]标准读请求单元,被配置为将具有标准精度的读取的请求发送至存储器中的读地址;
[0156]错误校正单元,被配置为响应于具有标准精度的读请求基于错误校正码和由存储器返回的数据执行错误校正;以及
[0157]高精度读请求单元,被配置为在发生通过错误校正不能校正的错误时,再次将具有比标准精度高的精度的读取的请求发送至读地址。
[0158](11) 一种信息处理系统,包括:
[0159]存储器,被配置成处理用于具有标准精度的读取和具有比标准精度高的精度的读取两者的读请求;
[0160]主机计算机,被配置为向存储器发送读访问;[0161]标准读请求单元,被配置为响应于读访问,将具有标准精度的读取的请求发送至存储器中的读地址;
[0162]错误校正单元,被配置为响应于具有标准精度的读请求基于错误校正码和由存储器返回的数据执行错误校正;以及
[0163]高精度读请求单元,被配置为在发生通过错误校正不能校正的错误时,再次将具有比标准精度高的精度的读取的请求发送至读地址。
[0164](12) 一种存储控制方法,包括:
[0165]将具有标准精度的读取的请求发送至存储器中的读地址;
[0166]响应于具有标准精度的读请求基于错误校正码和由存储器返回的数据执行错误校正;以及
[0167]在发生通过错误校正不能校正的错误时,再次将具有比标准精度高的精度的读取的请求发送到读地址。
[0168]本领域中的技术人员应当理解的是,根据设计需要和其他因素,可以进行各种变形、组合、子组合和修改,只要它们在所附权利要求或其等价物的范围内。
【权利要求】
1.一种存储控制设备,包括: 标准读请求单元,被配置为将用于具有标准精度的读请求发送至存储器中的读地址; 错误校正单元,被配置为响应于具有所述标准精度的所述读请求基于错误校正码和由所述存储器返回的数据来执行错误校正;以及 高精度读请求单元,被配置为在发生不能通过所述错误校正所校正的错误时,再次将用于具有比所述标准精度高的精度的读请求发送到所述读地址。
2.根据权利要求1所述的存储控制设备,进一步包括: 记录单元,被配置为在全部错误由所述错误校正来校正并且被校正的所述错误的位计数满足特定要求的情况下,记录所述读地址,其中, 当根据新的读请求的新的读地址被记录在所述记录单元中时,将具有所述高精度的所述读请求发送至所述新的读地址,而不发送具有所述标准精度的所述读请求。
3.根据权利要求2所述的存储控制设备,其中, 当被校正的所述错误的所述位计数超过预定阈值时,所述记录单元确定满足所述特定要求并记录所述读地址。
4.根据权利要求1所述的存储控制设备,其中, 当所述读地址对应 于预定地址区域时,将具有所述高精度的所述读请求发送至所述读地址,而不发送具有所述标准精度的所述读请求。
5.根据权利要求4所述的存储控制设备,其中, 所述预定地址区域为系统区域。
6.根据权利要求1所述的存储控制设备,其中, 所述错误校正单元基于第一错误校正码对具有第一大小的数据执行所述错误校正,并且基于具有比所述第一错误校正码的校正能力强的校正能力的第二错误校正码对具有比所述第一大小大的第二大小的数据执行所述错误校正,以及 当发送至所述读地址的所述读请求具有等于或者小于所述第一大小的大小时,将具有所述高精度的所述读请求发送至所述读地址,而不发送具有所述标准精度的所述读请求。
7.根据权利要求1所述的存储控制设备,其中, 当所述读地址的访问频率满足特定要求时,将具有所述高精度的所述读请求发送至所述读地址,而不发送具有所述标准精度的所述读请求。
8.根据权利要求1所述的存储控制设备,还包括: 更新请求单元,被配置为在错误全部通过所述错误校正来校正并且被校正的所述错误的位计数满足特定要求的情况下,将更新请求发送至所述读地址。
9.根据权利要求8所述的存储控制设备,其中, 所述更新请求单元提供用于在所述读地址中执行具有比所述标准精度高的所述精度的读取的指令作为所述更新请求,以将读取结果写入所述读地址。
10.根据权利要求1所述的存储控制设备,还包括 错误检测单元,基于从所述存储器读取的读取数据和所述错误校正码来检测位错误。
11.一种存储设备,包括: 存储器,被配置为处理用于具有标准精度的读取和具有比所述标准精度高的精度的读取两者的读请求;标准读请求单元,被配置为将具有所述标准精度的读取的请求发送至所述存储器中的读地址; 错误校正单元,被配置为响应于具有所述标准精度的所述读请求基于错误校正码和由所述存储器返回的数据执行错误校正;以及 高精度读请求单元,被配置为在发生不能通过所述错误校正来校正的错误时,再次将用于具有比所述标准精度高的精度的读取的请求发送至所述读地址。
12.—种信息处理系统,包括: 存储器,被配置成处理用于具有标准精度的读取和具有比所述标准精度高的精度的读取两者的读请求; 主机计算机,被配置为向所述存储器发送读访问; 标准读请求单元,被配置为响应于所述读访问将用于具有所述标准精度的所述读取的请求发送至所述存储器中的读地址; 错误校正单元,被配置为响应于具有所述标准精度的所述读请求基于错误校正码和由所述存储器返回的数据执行错误校正;以及 高精度读请求单元,被配置为在发生通过所述错误校正不能校正的错误时,再次将用于具有比所述标准精度高的精度的读取的请求发送至所述读地址。
13.一种存储控制方法,包括: 将用于具有标准精度的读取的请求发送至存储器中的读地址;` 响应于具有所述标准精度的所述读请求基于错误校正码和由所述存储器返回的数据执行错误校正;以及 在发生通过所述错误校正不能校正的错误时,再次将用于具有比所述标准精度高的精度的读取的请求发送到所述读地址。
【文档编号】G06F3/06GK103793335SQ201310499690
【公开日】2014年5月14日 申请日期:2013年10月22日 优先权日:2012年10月29日
【发明者】中西健一, 藤波靖, 筒井敬一 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1