[发明专利]一种内存纠错方法及系统有效
申请号: | 201210593465.3 | 申请日: | 2012-12-31 |
公开(公告)号: | CN103019883A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 程永波;贺成洪;兰可嘉 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 张全文 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 纠错 方法 系统 | ||
技术领域
本发明属于纠错码技术领域,尤其涉及一种内存纠错方法及系统。
背景技术
在容错计算机领域,数据可靠性对整个系统的性能至关重要,特别是系统核心数据或重要的应用程序数据,其数据的可靠性直接影响整个系统的运行,由于动态随机访问存储器(Dynamic random access memory,DRAM)存储数据易出错,所以对于重要数据,经常采用内存镜像的方法进行1+1的数据备份。
具体的,内存镜像的方法:在一个内存镜像系统中,通常指定某两个双倍数据率(Dual data rate,DDR)通道互为镜像,任何的数据写操作,都同时写入两个通道,这样互为镜像的两个通道总是保存相同的数据内容;读操作则可以同时读取两个通道,也可以选取任意一个读取。采用上述内存镜像的方法进行1+1的数据备份,镜像内存系统常见的结构如图1所示,主控制器发起内存读写,在镜像模式下,两个DDR通道之间通过镜像管理模块管理,主控器发起写操作时,镜像管理模块将同时向两个通道发起写内存的操作,保证两个通道总是拥有相同的数据镜像。
其中,主控器发起读操作后有两种方式处理,一种是同时读取两个通道,任何一个先返回数据,或者任意一个返回的数据校验正确,则将其读数据返回主控器;另一种方法是采用负载均衡的方法,首先只读取其中一个通道,如果其返回数据校验错误,且错误不可纠正,则读取其镜像通道,完成读操作。
现有纠错方法有以下两种,第一情况是:可靠性内存系统中通常采用带错误纠正码(Error Correction Code,ECC)的双列直插式存储模块(Dual in-line memory module,DIMM),其数据宽度为72位,通道有效数据为64位,另外8位可以用于存储数据的校验码。最简单的采用64位数据+8位ECC校验码,实现纠1检2的方案,其中纠1为纠正1位错误,检2为检测2位错误。这种方法数据存储,如图2所示。如果两个互为镜像的通道都产生了不可纠正的错误数据,则镜像系统中的数据错误亦不可纠正。比如图2中所示的纠错误方案中,如果一组数据的两个通道都发生了2位错误,则主控器将不能得到正确的数据。
另外一种常见的方式是将多组64位的数据联合起来形成检错和纠错能力更强的校验码,比如N组64位数据加N组8位校验码,从而实现更多位错误的检测和纠正。这种方法数据存储,如图3所示。但是,一组数据的两个通道都独立的采用相同的校验方案,通道冗余备份,存储器的空间利用率不高。
综上所述,现有镜像系统中只是通道数据的冗余备份增加了数据的可靠性,并没有将两个通道的数据进行有效的组织,相对来说两个通道还是独立的进行数据存储和校验的,存在一组数据的两个通道都发生了2位错误,主控器不能得到正确的数据,和存储器的空间利用率不高的问题,因此,需要一种更有效解决校验和存储空间利用率不高的问题的方法。
发明内容
本发明实施例提供了一种内存纠错方法及系统,旨在解决现有镜像系统中一组数据的两个镜像通道都发生了不可纠正的错误时,主控器不能得到正确的数据,和存储器的空间利用率不高的问题。
第一方面,提供一种内存纠错方法,所述内存纠错方法包括:
如果传输数据的两个镜像通道都有错误位,镜像管理器向所述第一镜像通道的错误位中,填充修正数据集合中的修正数据,所述第一镜像通道为所述两个镜像通道中的任一镜像通道;
所述镜像管理器校验填充后的所述第一镜像通道的错误位,如果校验正确,所述第一镜像通道纠错成功,如果校验错误,继续在所述修正数据集合中按照预设顺序选择修正数据填充入所述第一镜像通道的错误位,直到所述第一镜像通道校验正确。
进一步的,所述内存纠错方法还包括:
所述修正数据集合为[0000,0001,...,1111]的穷举数据集合。
进一步的,所述内存纠错方法还包括:
所述镜像管理器对比所述两个镜像通道,将所述两个镜像通道中不同的位标记为所述错误位。
进一步的,所述内存纠错方法还包括:
所述镜像管理器根据所述数据的校验方案,获取校验码。
进一步的,所述内存纠错方法具体包括:
如果所述数据为一组独立校验数据,所述镜像管理器读取所述第一镜像通道的循环冗余校验码,作为校验码;
如果所述数据为多组联合校验数据,所述镜像管理器按照预设规则,组合多个镜像通道的循环冗余校验码,生成校验码。
进一步的,所述内存纠错方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210593465.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种指南针
- 下一篇:一种高光效LED日光灯