向存储器提供低延时错误纠正码能力制造技术

技术编号:8774722 阅读:195 留言:0更新日期:2013-06-08 18:28
本发明专利技术涉及向存储器提供低延时错误纠正码(ECC)能力。提供了一种用于向存储器提供低延时错误纠正码(ECC)能力的存储器控制器。在一些实施方式中,控制器被配置成:接收存储器访问命令,该存储器访问命令包括与将向或者从存储器器件传送的数据相关联的地址和长度;以及向或者从存储器器件中与该地址和长度相关联的位置传送数据的一个或者多个字节和ECC信息的一个或者多个字节。

【技术实现步骤摘要】
向存储器提供低延时错误纠正码能力相关申请的交叉引用本公开根据35U.S.C.§119(e)要求于2011年11月23日提交的、题为“MethodofLowLatencyECCforNon-ECCDDRInterfaceConfiguration”的美国临时申请No.61/563,368和于2012年4月13日提交的、题为“MethodofLowLatencyECCforNon-ECCDDRInterfaceConfiguration”的美国临时申请No.61/623,864的优先权权益,其公开内容通过引用整体并入于此。
本公开涉及用于存储器的错误纠正码(ECC)能力。
技术介绍
存储器器件,诸如动态随机存取存储器(DRAM)可以包括存储器单元。每个存储器单元通常可以通过例如在电容器中保持或者不保持电荷来存储一个比特的信息。电荷的存在或者不存在例如在存储电荷时指示逻辑1而在不存储电荷时指示逻辑0。电扰动,诸如来自噪声或者辐射的干扰可能改变一个或者多个存储器单元的内容或者干扰用来读取数据和向存储器单元写入数据的电路。另外,存储器器件被设计成以越来越高的吞吐速率和越来越低的功率消耗进行操作,这可能造成越来越高的比特错误率。比特错误可能引起数据损坏、安全弱点或者系统崩溃。错误纠正码(ECC)可以用来检测并且纠正比特错误。ECC通过生成与数据一起存储于存储器器件中的ECC数据,例如,冗余比特或者奇偶校验比特来对数据进行编码。例如,可以针对32比特数据或者64比特数据生成8个奇偶校验比特。针对32比特数据生成8比特奇偶校验的ECC通常可以检测32比特数据中的两个比特错误并且纠正一个比特错误。类似地,针对64比特数据生成8比特奇偶校验的ECC通常可以检测64比特数据中的两个比特错误并且纠正一个比特错误。通常,在系统中使用ECC存储器器件来提供ECC能力。ECC存储器器件可以包括被设计用于存储ECC信息的额外存储器芯片。ECC存储器器件也可以包括下述接口:该接口可以提供对数据字及其对应ECC信息的同时访问。例如,可以针对每个32比特数据字提供8比特奇偶校验的ECC存储器器件可以包括40比特宽的接口用于访问32比特数据字。类似地,可以针对每个64比特数据字提供8比特奇偶校验的ECC存储器器件可以包括72比特宽的接口以用于访问64比特数据字。传统ECC存储器器件通常通过针对数据字提供8比特奇偶校验来向数据字应用ECC保护。例如,40比特ECC存储器器件支持用于32比特数据字的8比特奇偶校验,这提供1比特错误纠正和2比特错误检测。当将向ECC存储器写入完整32比特数据字时,ECC存储器器件可以向ECC存储器直接写入32比特数据字和8比特奇偶校验。当将向ECC存储器写入部分32比特数据字时,ECC存储器器件可能需要执行读取-修改-写入(RMW)以向ECC存储器写入部分32比特数据字和8比特奇偶校验。对于RMW,ECC存储器器件从ECC存储器读取与部分32比特数据对应的40比特ECC码字(32比特数据字和8比特奇偶校验)并且使用ECC对从ECC存储器读取的32比特数据字执行错误检测、纠正或者二者。继而,将要向ECC存储器写入的部分32比特数据字合并到从ECC存储器读取的32比特数据字中以生成新32比特数据字。ECC存储器器件针对该新32比特数据字生成新8比特奇偶校验并且向ECC存储器写入新ECC码字。然而,RMW可能由于减少数据吞吐量并且增加访问延时而明显影响存储器器件的性能。为了向ECC存储器写入部分32比特或者64比特数据字,ECC存储器器件需要执行读取操作和写入操作。这可能降低可以向存储器器件写入数据的速率并且增加向存储器器件写入数据所需要的时间量。此外,消费者可能选择使用并不支持ECC存储器器件的系统,但是可能仍然希望有ECC能力。支持ECC存储器器件的系统可以与比不支持ECC存储器器件的系统高的成本相关联。例如,支持ECC存储器器件的系统部件,诸如主板、芯片组和处理器可能比不支持ECC存储器器件的系统部件昂贵。即使当系统支持ECC存储器器件时,消费者仍然可能选择使用非ECC存储器器件,但却仍希望有ECC能力。ECC存储器器件可能由于ECC存储器器件提供的用于实现ECC功能的额外存储器芯片和更宽的接口而比非ECC存储器器件昂贵。
技术实现思路
本公开描述了涉及用于存储器的ECC能力的系统和技术。一般而言,在一个方面中,本公开描述了一种控制器,该控制器被配置成:接收存储器访问命令,存储器访问命令包括与将向或者从存储器器件传送的数据相关联的地址和长度;确定地址与存储器器件中用于存储错误纠正码(ECC)保护的数据的区域相关联;根据存储器访问命令中所包括的地址生成新地址并且根据存储器访问命令中所包括的长度生成新长度以使得数据字节和ECC字节贯穿存储器器件的所述区域中被交织;以及向或者从存储器器件中由新地址和新长度指定的位置传送数据的一个或者多个字节和ECC信息的一个或者多个字节,数据的一个或者多个字节和ECC信息的一个或者多个字节被交织。所描述的系统和技术可以被实现于电子电路、计算机硬件、固件、软件或者它们的组合中,诸如实现于在本说明书中公开的结构装置及其结构等效物中。这可以包括包含程序的至少一个计算机可读介质,该程序可操作用于使一个或者多个数据处理装置执行所描述的操作。因此,可以通过公开的方法、系统或者装置实现程序实施方式,并且可以通过公开的系统、计算机可读介质或者方法实现装置实施方式。类似地,可以通过公开的系统、计算机可读介质或者装置实现方法实施方式,并且可以通过公开的方法、计算机可读介质或者装置实现系统实施方式。在附图和下文描述中阐述一个或者多个实施方式的细节。根据该描述和附图以及根据权利要求,其它特征、目的和优点可以是显而易见的。附图说明图1是示出了下述系统的示例的框图,在该系统中可以利用ECC控制器来向存储器提供低延时ECC(LL-ECC)能力。图2示出了具有LL-ECC区域的存储器的示例,该LL-ECC区域存储使用LL-ECC处理的数据。图3示出了具有LL-ECC区域的存储器的示例,该LL-ECC区域由LL-ECC区域开始地址和LL-ECC区域大小限定。图4是示出了由ECC控制器执行以从存储器读取数据的操作的示例的流程图。图5示出了在LL-ECC处理的不同阶段从存储器读取的数据和ECC信息的数据格式的示例。图6是示出了由ECC控制器执行以向存储器写入数据的操作的示例的流程图。图7示出了将在LL-ECC处理的不同阶段向存储器写入的数据和ECC信息的数据格式的示例。图8示出了将在LL-ECC处理的不同阶段向存储器写入的数据和ECC信息的数据格式的其它示例。具体实施方式下文在用于存储器器件的低延时ECC(LL-ECC)能力的背景中讨论本公开的各种实施方式。在该公开中描述的系统和技术一般适用于希望为其提供低延时ECC能力的任何存储器器件。尽管图示和描述了存储器和存储器控制器的具体实施方式,但是可以存在包括与下文图示和描述的部件不同的部件的许多其它存储器和存储器控制器实施方式。图1是示出了包括存储器控制器101的系统100的示例的框图,在该存储器控制器101中可以利用ECC控制器102来向存储器103提供低延时EC本文档来自技高网
...
向存储器提供低延时错误纠正码能力

【技术保护点】
一种装置,包括:存储器接口,被配置成与存储器器件通信;控制器,耦合到所述存储器接口,所述控制器被配置成:接收存储器访问命令,所述存储器访问命令包括与将向或者从所述存储器器件传送的数据相关联的地址和长度;以及向或者从所述存储器器件中与所述地址和所述长度相关联的位置传送数据的一个或者多个字节和ECC信息的一个或者多个字节,所述数据的所述一个或者多个字节和所述ECC信息的所述一个或者多个字节被交织。

【技术特征摘要】
2011.11.23 US 61/563,368;2012.04.13 US 61/623,8641.一种用于向存储器提供低延时错误纠正码能力的装置,所述装置包括:存储器接口,被配置成与存储器器件通信;控制器,耦合到所述存储器接口,所述控制器被配置成:接收存储器访问命令,所述存储器访问命令包括与将向或者从所述存储器器件传送的数据相关联的地址和长度;以及向或者从所述存储器器件中与所述地址和所述长度相关联的位置传送数据的一个或者多个字节和错误纠正码ECC信息的一个或者多个字节,所述数据的所述一个或者多个字节和所述ECC信息的所述一个或者多个字节被交织。2.根据权利要求1所述的装置,其中所述控制器进一步被配置成:确定所述地址与所述存储器器件中用于存储ECC保护的数据的区域相关联;根据所述存储器访问命令中所包括的所述地址生成新地址并且根据所述存储器访问命令中所包括的所述长度生成新长度以使得数据字节和ECC字节在所述存储器器件的所述区域内被交织;以及向或者从所述存储器器件中由所述新地址和所述新长度指定的位置传送所述数据的一个或者多个字节和所述ECC信息的一个或者多个字节。3.根据权利要求2所述的装置,其中所述控制器被配置成生成所述新地址和所述新长度包括所述控制器进一步被配置成基于所述存储器器件中用于存储ECC保护的数据的所述区域的开始地址来生成所述新地址和所述新长度。4.根据权利要求1所述的装置,其中所述存储器访问命令是数据读取命令,并且所述控制器进一步被配置成使用所述ECC信息的一个或者多个字节中与所述数据的一个或多个字节中的每个字节相邻存储的字节来对所述数据的一个或者多个字节中的所述每个字节执行错误检测或者纠正。5.根据权利要求1所述的装置,其中所述存储器访问命令是数据写入命令,并且所述控制器进一步被配置成:针对所述数据的一个或者多个字节中的每个字节生成所述ECC信息的一个或者多个字节中的字节;以及将所述ECC信息的一个或者多个字节和所述数据的一个或者多个字节进行交织。6.根据权利要求4所述的装置,其中所述数据的一个或者多个字节和所述ECC信息的一个或者多个字节形成数据字的一部分,并且所述控制器进一步被配置成生成用于向所述存储器器件写入所述数据的一个或者多个字节和所述ECC信息的一个或者多个字节的数据掩码,所述数据掩码指示所述数据字中哪些字节包括所述数据的一个或者多个字节和所述ECC信息的一个或者多个字节。7.根据权利要求1所述的装置,其中所述控制器进一步被配置成:限定所述存储器器件中用于存储ECC保护的数据的区域;以及限定所述存储器器件中用于存储不受ECC保护的数据的一个或者多个区域。8.根据权利要求1所述的装置,其中所述存储器接口被配置成与所述存储器器件通信包括所述存储器接口进一步被配置成与非ECC存储器器件通信。9.一种用于向存储器提供低延时错误纠正码能力的系统,所述系统包括:存储器器件;以及控制器,被配置成:接收存储器访问命令,所述存储器访问命令包括与将向或者从所述存储器器件传送的数据相关联的地址和长度;确定所述地址与所述存储器器件中用于存储错误纠正码ECC保护的数据的区域相关联;根据所述存储器访问命令中所包括的所述地址生成新地址并且根据所述存储器访问命令中所包括的所述长度生成新长度以使得数据字节和ECC字节在所述存储器器件的所述区域中被交织;以及向或者从所述存储器器件中由所述新地址和所述新长度指定的位置传送数据的一个或者多个字节和ECC信息的一个或者多个字节,所述数据的所述一个或者多个字节和所述ECC信息的所述一个或者多个字节被交织。10.根据权利要求9所述的系统,其中所述控制器被配置成生成所述新地址和所述新长度包括所述控制器进一步被配置成基于所述存储器器件中用于存储EC...

【专利技术属性】
技术研发人员:朱军J·J·曹S·鲁P·苏塔德雅
申请(专利权)人:马维尔国际贸易有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1