[发明专利]内存数据的纠错方法及装置及计算机系统有效
申请号: | 201210586901.4 | 申请日: | 2012-12-28 |
公开(公告)号: | CN103077095A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 程永波 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/08 | 分类号: | G06F11/08 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 数据 纠错 方法 装置 计算机系统 | ||
技术领域
本发明涉及计算机领域,特别涉及一种内存数据的纠错方法及装置及计算机系统。
背景技术
在计算机领域,数据的可靠性对整个系统的性能至关重要,特别是系统核心数据或重要的应用程序数据,其数据的可靠性直接影响整个系统的运行。读取数据纠错技术便应运而生,通过采用纠错技术通过预定的纠错算法判定当前数据的数据是否为正确数据,而确定当前读取的数据的可靠性。
现有技术常用的纠错技术主要包括如下两种:
第一:错误纠正码(Error Correction Code,简称ECC)纠错技术,其为当前已经比较成熟的纠错算法。ECC纠错算法具备一定的错误校验以及数据纠正能力,ECC纠错流程通过数据中预设预定数据位的ECC,结合当前数据中的有效数据按照预定的算法进行数据校验,确定当前的有效数据是否为正确数据,如果否,则根据ECC以及预定的ECC纠错流程启动数据纠正算法,纠正数据。
由于目前的可靠性内存系统的数据宽度为72比特(bit),数据通道的有效数据位设置为第0-63bit的共计64bits数据位,另外第64-71bit共计8bits的数据位可用于存储数据的验证码。在可靠性内存系统中采用ECC纠错技术往往最常用的是采用64bits数据+8bits ECC校验码的ECC纠错流程。
本发明人在进行本发明的研究过程中发现,该技术方案至少存在以下的缺陷:
1、ECC纠错技术虽然具备一定的错误校验能力以及纠错能力,但是错误纠错能力仅适用于当前数据中仅存在1bit错误数据位的状况,如果当前数据中存在2Bits甚至更多错误数据位的情况下,应用ECC纠错流程通过错误校验算法确定当前的无法纠正得到正确数据,即ECC纠错流程的纠错能力仅限于当前数据仅存在1bit错误数据位的状况,数据纠错能力有限,无法满足确保数据可靠性的应用需求。
发明内容
本发明实施例第一目的在于提供一种内存数据的纠错方法,应用该技术方案有利于提高对内存数据的纠错能力。
本发明实施例第二目的在于提供一种内存纠错装置,应用该技术方案有利于提高对内存数据的纠错能力。
本发明实施例第三目的在于提供另一种内存纠错装置,应用该技术方案有利于提高对内存数据的纠错能力。
本发明实施例第四目的在于提供另一种计算机系统,应用该技术方案有利于提高对内存数据的纠错能力。
第一方面,本发明实施例提供的一种内存数据的纠错方法,包括:
如果从内存中同一确定的内存地址,先后分别读取获得的第一读取数据、第二读取数据均存在错误,并且所述错误未被纠正而得到正确数据,则:
第一取反数据将所述第一读取数据或第二读取数据作为基准数据,将所述基准数据按位取反获得的第一取反数据写入所述确定的内存地址,
根据所述确定的内存地址,从所述内存中再次读取数据,获得所述第一取反数据对应的读取值,将所述第一取反数据对应的读取值按位取反得到第三读取数据,
如果所述第三读取数据存在错误,并且所述错误未被纠正而得到正确数据,则:
将所述第一读取数据、第二读取数据以及所述第三读取数据的其中之一,作为待纠正数据,
根据所述第一读取数据、第二读取数据以及所述第三读取数据,确定所述待纠正数据中各硬件错误位或者随机错误位,
根据各所述硬件错误位、或者所述硬件错误位以及随机错误位,纠正所述待纠正数据得到至少一个纠正待校验数据,
如果其中之一所述纠正待校验数据被经校验为正确数据,将所述正确数据写回所述确定的内存地址。
结合第一方面,在第一种实现方式下,在步骤:将所述第一取反数据对应的读取值按位取反得到第三读取数据之后,
如果所述第三读取数据不存在错误,或者存在错误但所述错误被纠正获得经纠正的正确数据,则:
将经校验不存在错误的所述第三读取数据、或者所述经纠正的正确数据写回所述确定的内存地址。
结合第一方面,在第一种实现方式下,在步骤:根据各所述硬件错误位、或者所述硬件错误位以及随机错误位,纠正所述待纠正数据得到至少一个纠正待校验数据之后,
如果所有所述纠正待校验数据均被经校验为不正确数据,则还包括:
将所述第一读取数据、第二读取数据或者所述第三读取数据写回所述确定的内存地址。
结合第一方面,在第一种实现方式下,将所述第一读取数据、第二读取数据或者所述第三读取数据写回所述确定的内存地址,具体是将所述待纠正数据写回所述确定的内存地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210586901.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置