存储器的纠错方法技术

技术编号:8883734 阅读:142 留言:0更新日期:2013-07-04 02:28
本发明专利技术提供一种存储器的纠错方法,解决了现有ECC编码过程中由于数据屏蔽的存在,导致不能顺利进行编码产生监督位或产生监督位需增加存储阵列面积的问题。该存储器的纠错方法包括以下步骤:1]读入外部数据,根据设定的规则产生监督位,同时产生表征位,将外部数据、表征位、监督位存入存储器;2]读出存储器内的外部数据、表征位、监督位;若表征位表征存在数据屏蔽,表明监督位无效且数据读出时不进行解码和纠错,若表征位表征不存在数据屏蔽,表明监督位有效且数据读出时用监督位进行解码和纠错。本发明专利技术提供的存储器的纠错方法可降低DRAM出错的可能性,即使对于有DM使用的系统同样可降低DRAM出错的可能性。

【技术实现步骤摘要】
DRAM存储器的纠错方法
本专利技术涉及一种DRAM存储器的纠错方法。
技术介绍
ECC(ErrorCorrectionCode纠错码)被用来检测和纠正出错的数据。资料显示有很多种算法可支持ECC,例如最常用的汉明码(HammingCode),8位(bit)数据需要4位监督位(paritybit),64位数据需要7位监督位。可通过数据长度以及所需要检测和纠正的位数选取合适的算法。对于不同的DDR结构(DDR1/2/3),典型的streaminandout数据读取预取数据长度有32位、64位以及128位。一种合理的折中解决办法可以对64位数据使用7位或者8位的监督位(根据不同的ECC算法),如图1和图2所示。但对于DRAM来说要实现检测和纠正的功能并不是那么简单,因为DM数据屏蔽(DataMask)的存在。也就是说,在把数据从外部写入存储单元的时候,某一个或者多个字节(byte)可能会被屏蔽掉,使之不会改写存储单元里已经存储的数据。这就使得ECC的编码过程不能顺利进行去产生监督位,如图3所示。为了解决这个问题,最简单的方法是把64位数据分成8组,每组8位数据(一个字节),刚好是DM的屏蔽长度,这样就不会受到DM的影响。但是由于每8位数据需要4位的监督位,那就会导致整个存储阵列的面积需要增加50%,使得DRAM的成本极大增加,所以需要解决DM带来的问题。
技术实现思路
本专利技术提供一种DRAM存储器的纠错方法,主要解决了现有ECC编码过程中由于数据屏蔽的存在,导致不能顺利进行编码产生监督位或产生监督位需增加存储阵列面积的问题。本专利技术的技术解决方案如下:该DRAM存储器的纠错方法,包括以下步骤:1]读入外部数据,根据设定的规则产生监督位,同时产生表征位,将外部数据、表征位、监督位存入存储器;其中,监督位用于实现数据读入的检测和纠错,表征位用于表征是否存在数据屏蔽;若存在数据屏蔽,表明监督位无效,若不存在数据屏蔽,表明监督位有效;2]读出存储器内的外部数据、表征位、监督位;若表征位表征存在数据屏蔽,表明监督位无效且数据读出时不进行解码和纠错,若表征位表征不存在数据屏蔽,表明监督位有效且数据读出时用监督位进行解码和纠错。上述外部数据为64位汉明码时,监督位为7位,表征位为1位,表证位作为65位数据串中的第65位。上述步骤2中如果仅存在1位数据错误时,当错误数据为表征位或监督位时,无需纠错;当错误数据不是表征位或监督位,则根据表征位判断是否存在数据屏蔽,若不存在数据屏蔽,用监督位对外部数据进行纠错,若存在数据屏蔽时,不纠错;上述步骤2中如果存在两位及以上数据错误时,不纠错。本专利技术的优点在于:本专利技术提供的存储器的纠错方法可降低DRAM出错的可能性,即使对于有DM使用的系统同样可降低DRAM出错的可能性。本专利技术提供的存储器的纠错方法适用于只有一位数据出错的情况,并且错误不依赖于DM是否会发生。附图说明图1为现有ECC外部数据写入流程图;图2为现有ECC外部数据读出流程图;图3为现有带数据屏蔽的ECC外部数据写入流程图;图4为本专利技术原理图。具体实施方式结合图1,现有ECC编码可按照下面的步骤进行:首先,64位从外部来的数据被直接写入(图1的A);其次,ECC编码(encoding)电路用此64位外部数据通过一定的规则产生7位或者8位的监督位(图1的B);再次,新的64位数据和7/8位监督位被写入存储阵列并完全代替之前存储的信息(图1的C)。结合图2,现有ECC的解码和纠正按照下面的步骤进行:首先,64位数据和7/8位监督位从存储阵列读出(图2的C)。其次,监督位将通过一定的规则去解码(decoding)判断数据是否有错,如果有错是哪位有错并去纠正(correction)错误的数据(图2的B)。再次,解码后的数据被读出(图2的A)。结合图3,现有带DM的ECC编码按照下面的步骤进行,但目前在有DM的情况下,ECC的编码不能正常工作:首先,外部64位数据中有56位需要从外面而来(图3的A),其余8位被DM,不写入存储阵列。其次,监督位仍由外部的64位数据产生(图3的B)。再次,在存储阵列中,64位中的56位被写入的外部数据代替,64位中其余的8位仍保留原有信息。此时的监督位相对这64位数据来说是一个完全错误的监督位(图3的C)。以下结合图4及实施例对本专利技术进行详述:该方法的原理是检测是否有DM发生,如果发生,表明监督位无效并且不去进行解码和纠正。例如,对于汉明码,64位数据需要7位监督位去实现检测和纠正一位错误数据的功能。因此可以用监督位中的第8位(DRAM中每8位构成一个基本单元)作为65位数据串中的一位,这位数据将会表征是否有DM发生。这位数据不受ECC的编解码和纠正,在解码和纠正时需要通过此数据判断是否需要进行解码和纠正,当然这判断和解码可同时进行以提高效率。如果用等于“0”表示没有DM,等于“1”表示有DM,在只有一位错误发生的情况下,以下是可能出现的现象:判断位出错,但因为只有一位错误,其它位数据都正确,不需纠正。若判断位为“0”,可进行解码和纠正。若有一位错误,可纠正。若判断为位“1”,不进行解码和纠正。若有一位错误,不能纠正。本文档来自技高网...
存储器的纠错方法

【技术保护点】
一种存储器的纠错方法,其特征在于,包括以下步骤:1]读入外部数据,根据设定的规则产生监督位,同时产生表征位,将外部数据、表征位、监督位存入存储器;其中,监督位用于实现数据读入的检测和纠错,表征位用于表征是否存在数据屏蔽;若存在数据屏蔽,表明监督位无效,若不存在数据屏蔽,表明监督位有效;2]读出存储器内的外部数据、表征位、监督位;若表征位表征存在数据屏蔽,表明监督位无效且数据读出时不进行解码和纠错,若表征位表征不存在数据屏蔽,表明监督位有效且数据读出时用监督位进行解码和纠错。

【技术特征摘要】
1.一种DRAM存储器的纠错方法,其特征在于,包括以下步骤:1]读入外部数据,根据设定的规则产生监督位,同时产生表征位,将外部数据、表征位、监督位存入存储器;其中,监督位用于实现数据读入的检测和纠错,表征位用于表征是否存在数据屏蔽;若存在数据屏蔽,表明监督位无效,若不存在数据屏蔽,表明监督位有效;2]读出存储器内的外部数据、表征位、监督位;若表征位表征存在数据屏蔽,表明监督位无效且数据读出时不进行解码和纠错,若表征位表征不存在数据屏蔽,表明监督位有效且数据读出时用监督位进行解码和纠错。2.根据权利要求1所述的DR...

【专利技术属性】
技术研发人员:亚历山大
申请(专利权)人:西安华芯半导体有限公司
类型:发明
国别省市:

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

1