CN102915769A - 一种处理器纠错检错edac电路实现优化方法 - Google Patents

一种处理器纠错检错edac电路实现优化方法 Download PDF

Info

Publication number
CN102915769A
CN102915769A CN2012103781418A CN201210378141A CN102915769A CN 102915769 A CN102915769 A CN 102915769A CN 2012103781418 A CN2012103781418 A CN 2012103781418A CN 201210378141 A CN201210378141 A CN 201210378141A CN 102915769 A CN102915769 A CN 102915769A
Authority
CN
China
Prior art keywords
edac
data
circleplus
circuit
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012103781418A
Other languages
English (en)
Other versions
CN102915769B (zh
Inventor
郝丽
于立新
彭和平
庄伟�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Microelectronic Technology Institute
Mxtronics Corp
Original Assignee
Beijing Microelectronic Technology Institute
Mxtronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Microelectronic Technology Institute, Mxtronics Corp filed Critical Beijing Microelectronic Technology Institute
Priority to CN201210378141.8A priority Critical patent/CN102915769B/zh
Publication of CN102915769A publication Critical patent/CN102915769A/zh
Application granted granted Critical
Publication of CN102915769B publication Critical patent/CN102915769B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种处理器纠错检错EDAC电路实现优化方法,采用异或树实现纠错检错EDAC电路,使用二输入异或门实现异或树,通过分析纠错检错EDAC算法,选择可进行算法调度的单元,并进行算法调度,实现纠错检错EDAC编码模块,本发明针对异或树实现的EDAC电路的方式,提出的硬件实现优化方法,从EDAC算法入手分析异或门资源,进行算法调度,能够有效地减少纠错检错EDAC电路的异或门资源,从而有效地减少了EDAC电路的面积和功耗,节省电路实现资源,校验位越多的EDAC电路,优化的效果越明显。

Description

一种处理器纠错检错EDAC电路实现优化方法
技术领域
本发明涉及一种处理器纠错检错EDAC电路实现优化方法,特别是使用二输入异或门实现的纠错检错EDAC电路优化方法。
背景技术
EDAC电路的工作主要包括编码和译码操作。在向存储器的写过程中完成数据的编码操作,从存储器读出数据时,完成数据的译码操作。目前,用于辐射加固的存储器、处理器采用的纠错检错EDAC电路,多通过线性分组码实现EDAC电路。采用线性分组码实现的纠错检错EDAC电路,在编码过程中,生成待编码信息数据的校验位,校验位与数据一同存储在存储器中。译码过程中,将重新对信息数据产生校验位,并与编码时产生的数据校验位进行异或运算得到校正子,利用校正子定位信息数据的错误,并对可纠正的错误进行纠正。由于EDAC电路中的生成校验位模块,在EDAC的编码和译码过程中两次被使用到,因此该模块对纠错检错EDAC电路的延时和面积有着重要的影响。目前,大多数纠错检错EDAC电路保护的处理器或是专用电路,多采用已有的纠错检错EDAC电路IP,而这种IP中使用通用的纠错检错码实现EDAC电路,并不考虑使用的编码算法是不是最优化的,硬件实现的资源是不是最少的,延时是否最短,功耗是否最小,但当纠错检错EDAC电路成为处理器或专用电路的关键路径时,就会影响到整个系统的性能。
发明内容
本发明的目的在于克服现有技术的上述不足,提供一种处理器纠错检错EDAC电路实现优化方法,该方法通过算法调度实现电路优化,节省电路实现资源,优化EDAC电路的时序和面积。
本发明的上述目的主要是通过如下技术方案予以实现的:
一种处理器纠错检错EDAC电路实现优化方法,包括如下步骤:
(1)根据纠错检错EDAC算法,用硬件语言描述实现EDAC电路的编码方程组;
(2)分析所述编码方程组中生成校验位的各数据元素Mi,根据数据元素Mi在方程组中出现次数的多少,对各数据元素进行由高到低排序,形成排序表1;
(3)根据步骤(2)得到的结果,对纠错检错EDAC电路实现进行算法调度,具体方法如下:
(a)采用两两数据异或的方法,在排序表1中按照由高到低的次序,以每两个数据为一组,形成一个新的数据单元Mij,新的数据单元作为二输入门的输入数据,所有新的数据单元形成数据单元集合1;
(b)分析步骤(1)中的编码方程组,若存在任意两个方程中同时使用到数据单元集合1中两个相同的数据单元时,则将这两个数据单元作为二输入异或门的输入,形成一个新的数据单元Mijkl,添加到单元集合1中,形成单元集合2;
(c)使用单元集合2中的数据单元实现步骤(1)中的编码方程组,若存在任意两个方程中同时使用到数据单元集合2中两个相同的数据单元时,则将这两个数据单元作为二输入异或门的输入,形成一个新的数据单元M’ijkl,添加到单元集合2中,形成单元集合3......,依次类推,直至使用形成的单元集合n中的数据单元实现步骤(1)中的编码方程组时,不存在任意两个方程中同时使用到两个相同的数据单元时,进入步骤(4);
(4)采用步骤(3)得到单元集合n中的数据单元实现EDAC电路的编码方程组,进而由编码方程组实现纠错检错EDAC电路;
其中:n为正整数,n≥1;i、j、k、l取值为正整数或0。
在上述处理器纠错检错EDAC电路实现优化方法中,纠错检错EDAC电路实现方式是异或树,所述异或树中的异或门为二输入异或门。
本发明与现有技术相比的优点在于:
(1)本发明方法针对异或树实现的EDAC电路的方式,提出的硬件实现优化方法,从EDAC算法入手分析异或门资源,进行算法调度,能够有效地减少纠错检错EDAC电路的异或门资源,从而有效地减少了EDAC电路的面积和功耗,校验位越多的EDAC电路,优化的效果越明显;
(2)本发明方法从EDAC算法入手分析异或门资源,对EDAC电路的编码方程组进行分析,实现EDAC电路的算法调度,从而对电路进行了优化,不仅节省电路实现资源,而且该优化方法容易实施,简单易行;
(3)本发明方法通过合理调度能够有效地减小EDAC电路的延时,对于EDAC操作为关键路径的处理器,可以有效地改善处理器的时序。
附图说明
图1为本发明处理器纠错检错EDAC电路硬件实现优化方法的原理框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细的描述:
如图1所示为本发明处理器纠错检错EDAC电路硬件实现优化方法的原理框图,本发明处理器纠错检错EDAC电路实现优化方法,具体包括如下步骤:
(1)根据纠错检错EDAC算法,用硬件语言描述实现EDAC电路的编码方程组;
(2)分析所述编码方程组中生成校验位的各数据元素Mi,根据数据元素在方程组中出现次数的多少,对各数据元素进行由高到低排序,形成排序表1;
(3)根据步骤(2)得到的结果,对纠错检错EDAC电路实现进行算法调度,具体方法如下:
(a)采用两两数据异或的方法,在排序表1中按照由高到低的次序,以每两个数据为一组,形成一个新的数据单元Mij,新的数据单元作为二输入门的输入数据,所有新的数据单元形成数据单元集合1。
(b)分析步骤(1)中的编码方程组,若存在任意两个方程中同时使用到数据单元集合1中两个相同的数据单元时,则将这两个数据单元作为二输入异或门的输入,形成一个新的数据单元Mijkl,添加到单元集合1中,形成单元集合2。
(c)使用单元集合2中的数据单元实现步骤(1)中的编码方程组,若存在任意两个方程中同时使用到数据单元集合2中两个相同的数据单元时,则将这两个数据单元作为二输入异或门的输入,形成一个新的数据单元M’ijkl,添加到单元集合2中,形成单元集合3......,依次类推,直至使用形成的单元集合n中的数据单元实现步骤(1)中的编码方程组时,不存在任意两个方程中同时使用到两个相同的数据单元时,进入步骤(4);
(4)采用步骤(3)得到单元集合n中的数据单元实现EDAC电路的编码方程组,进而由编码方程组实现纠错检错EDAC电路。
本发明纠错检错EDAC电路实现方式是异或树,并且该异或树中的异或门为二输入异或门。
实施例1
(1)若采用的纠错检错EDAC编码算法,用硬件语言描述的方程组为:
c [ 6 ] = m [ 0 ] ⊕ m [ 1 ] ⊕ m [ 3 ] ⊕ m [ 4 ] ⊕ m [ 8 ] ⊕ m [ 9 ] ⊕ m [ 10 ] ⊕ m [ 11 ] ⊕ m [ 17 ] ⊕ m [ 23 ] ⊕ m [ 25 ] ⊕ m [ 27 ] ⊕ m [ 31 ] c [ 5 ] = m [ 0 ] ⊕ m [ 5 ] ⊕ m [ 6 ] ⊕ m [ 8 ] ⊕ m [ 12 ] ⊕ m [ 13 ] ⊕ m [ 14 ] ⊕ m [ 16 ] ⊕ m [ 17 ] ⊕ m [ 18 ] ⊕ m [ 19 ] ⊕ m [ 20 ] ⊕ m [ 28 ] c [ 4 ] = m [ 1 ] ⊕ m [ 2 ] ⊕ m [ 5 ] ⊕ m [ 7 ] ⊕ m [ 9 ] ⊕ m [ 12 ] ⊕ m [ 15 ] ⊕ m [ 20 ] ⊕ m [ 21 ] ⊕ m [ 22 ] ⊕ m [ 23 ] ⊕ m [ 25 ] ⊕ m [ 26 ] ⊕ m [ 28 ] c [ 3 ] = m [ 2 ] ⊕ m [ 6 ] ⊕ m [ 10 ] ⊕ m [ 13 ] ⊕ m [ 15 ] ⊕ m [ 16 ] ⊕ m [ 24 ] ⊕ m [ 25 ] ⊕ m [ 26 ] ⊕ m [ 27 ] ⊕ m [ 28 ] ⊕ m [ 29 ] ⊕ m [ 30 ] ⊕ m [ 31 ] c [ 2 ] = m [ 3 ] ⊕ m [ 11 ] ⊕ m [ 16 ] ⊕ m [ 17 ] ⊕ m [ 18 ] ⊕ m [ 19 ] ⊕ m [ 20 ] ⊕ m [ 21 ] ⊕ m [ 22 ] ⊕ m [ 23 ] ⊕ m [ 26 ] ⊕ m [ 27 ] ⊕ m [ 29 ] ⊕ m [ 30 ] c [ 1 ] = m [ 4 ] ⊕ m [ 7 ] ⊕ m [ 8 ] ⊕ m [ 9 ] ⊕ m [ 10 ] ⊕ m [ 11 ] ⊕ m [ 12 ] ⊕ m [ 13 ] ⊕ m [ 14 ] ⊕ m [ 15 ] ⊕ m [ 18 ] ⊕ m [ 21 ] ⊕ m [ 24 ] ⊕ m [ 29 ] c [ 0 ] = m [ 0 ] ⊕ m [ 1 ] ⊕ m [ 2 ] ⊕ m [ 3 ] ⊕ m [ 4 ] ⊕ m [ 5 ] ⊕ m [ 6 ] ⊕ m [ 7 ] ⊕ m [ 14 ] ⊕ m [ 19 ] ⊕ m [ 22 ] ⊕ m [ 24 ] ⊕ m [ 30 ] ⊕ m [ 31 ]
(2)分析上述编码方程组中生成校验位的各数据元素,根据数据元素在方程组中出现次数的多少,对数据元素进行由高到低排序,形成排序表1,如下表1所示:
表1数据元素使用次数排序表1
  数据元素(单元)   使用次数   数据元素(单元)   使用次数
  m[0]   3   m[16]   3
  m[1]   3   m[17]   3
  m[2   3   m[18]   3
  m[3]   3   m[19]   3
  m[4]   3   m[20]   3
  m[5]   3   m[21]   3
  m[6]   3   m[22]   3
  m[7]   3   m[23]   3
  m[8]   3   m[24]   3
  m[9]   3   m[25]   3
  m[10]   3   m[26]   3
  m[11]   3   m[27   3
  m[12]   3   m[28]   3
  m[13]   3   m[29]   3
  m[14]   3   m[30]   3
  m[15]   3   m[31]   3
本实施例中包含m[0]~m[31]共32个数据元素,每个数据元素在编码方程组中均出现了三次。
(3)根据步骤(2)得到的结果,对纠错检错EDAC电路实现进行算法调度,具体步骤如下:
(a)、采用两两数据异或的方法,在排序表1中按照由高到低的次序,以每两个数据为一组,形成一个新的数据单元Mij,即由高到低选择相邻两个数据作为二输入门的输入数据,每个数据只使用一次,所有新的数据单元形成数据单元集合1,形成的单元集合1如表2所示:
表2二输入异或门单元集合1
Figure BSA00000785978200051
(b)、使用的二输入异或门单元集合1中的单元,实现步骤(1)中描述的纠错检错编码算法方程组时,有重复使用的单元。即分析步骤(1)中的编码方程组,若存在任意两个方程中同时使用到数据单元集合1中两个相同的数据单元时,则将这两个数据单元作为二输入异或门的输入,形成一个新的数据单元Mijkl,添加到单元集合1中,形成单元集合2,单元集合2如下表3所示:
表3二输入异或门单元集合2
Figure BSA00000785978200061
本实施例中,方程c[1]与c[6]中同时使用了单元集合1(如表2)中的
Figure BSA00000785978200062
Figure BSA00000785978200063
m89与m1011形成一个新的数据单元h0,并将h0添加到单元集合1中;方程c[2]与c[5]中同时使用了单元集合1中的
Figure BSA00000785978200064
Figure BSA00000785978200065
m1617与m1819形成一个新的数据单元h1,并将h1添加到单元结合1中;方程c[2]与c[4]中同时使用了单元集合1中的
Figure BSA00000785978200066
Figure BSA00000785978200067
m2021与m2223形成一个新的数据单元h2,并将h2添加到单元结合1中,形成单元集合2,如表3所示,表3中
Figure BSA00000785978200068
Figure BSA00000785978200069
Figure BSA000007859782000610
为形成的新的数据单元。
(c)、使用单元集合2中的单元实现步骤(1)中描述的纠错检错编码方程组时,已经不存在任意两个方程中同时使用到两个相同的数据单元,进入步骤(4);
(4)采用步骤(3)得到单元集合2中的数据单元实现EDAC电路的编码方程组,进而由编码方程组实现纠错检错EDAC电路。
如图1所示,本发明在使用单元集合中的二输入异或单元实现编码算法方程组时,判断是否存在任意两个方程中同时使用两个数据单元的情况,若否,则使用单元集合中的单元实现纠错检错EDAC编码电路模块,若是,则将这两个数据单元作为二输入异或门的输入,形成新的单元,添加到单元集合中,再次进行判断,直至不存在任意两个方程中同时使用两个数据单元的情况。
本发明方法针对异或树实现的EDAC电路的方式,提出的硬件实现优化方法,从EDAC算法入手分析异或门资源,进行算法调度,能够有效地减少纠错检错EDAC电路的异或门资源,从而有效地减少了EDAC电路的面积和功耗,校验位越多的EDAC电路,优化的效果越明显。
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

Claims (2)

1.一种处理器纠错检错EDAC电路实现优化方法,其特征在于:包括如下步骤:
(1)根据纠错检错EDAC算法,用硬件语言描述实现EDAC电路的编码方程组;
(2)分析所述编码方程组中生成校验位的各数据元素Mi,根据数据元素Mi在方程组中出现次数的多少,对各数据元素进行由高到低排序,形成排序表1;
(3)根据步骤(2)得到的结果,对纠错检错EDAC电路实现进行算法调度,具体方法如下:
(a)采用两两数据异或的方法,在排序表1中按照由高到低的次序,以每两个数据为一组,形成一个新的数据单元Mij,新的数据单元作为二输入门的输入数据,所有新的数据单元形成数据单元集合1;
(b)分析步骤(1)中的编码方程组,若存在任意两个方程中同时使用到数据单元集合1中两个相同的数据单元时,则将这两个数据单元作为二输入异或门的输入,形成一个新的数据单元Mijkl,添加到单元集合1中,形成单元集合2;
(c)使用单元集合2中的数据单元实现步骤(1)中的编码方程组,若存在任意两个方程中同时使用到数据单元集合2中两个相同的数据单元时,则将这两个数据单元作为二输入异或门的输入,形成一个新的数据单元M’ijkl,添加到单元集合2中,形成单元集合3......,依次类推,直至使用形成的单元集合n中的数据单元实现步骤(1)中的编码方程组时,不存在任意两个方程中同时使用到两个相同的数据单元时,进入步骤(4);
(4)采用步骤(3)得到单元集合n中的数据单元实现EDAC电路的编码方程组,进而由编码方程组实现纠错检错EDAC电路;
其中n为正整数,n≥1;i、j、k、l取值为正整数或0。
2.根据权利要求1所述的一种处理器纠错检错EDAC电路实现优化方法,其特征在于:所述的纠错检错EDAC电路实现方式是异或树,所述异或树中的异或门为二输入异或门。
CN201210378141.8A 2012-09-29 2012-09-29 一种处理器纠错检错edac电路实现优化方法 Active CN102915769B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210378141.8A CN102915769B (zh) 2012-09-29 2012-09-29 一种处理器纠错检错edac电路实现优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210378141.8A CN102915769B (zh) 2012-09-29 2012-09-29 一种处理器纠错检错edac电路实现优化方法

Publications (2)

Publication Number Publication Date
CN102915769A true CN102915769A (zh) 2013-02-06
CN102915769B CN102915769B (zh) 2015-05-06

Family

ID=47614102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210378141.8A Active CN102915769B (zh) 2012-09-29 2012-09-29 一种处理器纠错检错edac电路实现优化方法

Country Status (1)

Country Link
CN (1) CN102915769B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103529382A (zh) * 2013-09-24 2014-01-22 电子科技大学 检测红外焦平面阵列读出电路的行控制电路的电路和方法
CN108242973A (zh) * 2016-12-26 2018-07-03 北京邮电大学 一种数据纠错方法及装置
CN111047033A (zh) * 2019-11-11 2020-04-21 东南大学 一种面向宽电压的在线时序检错纠错电路
CN112000511A (zh) * 2020-07-28 2020-11-27 京微齐力(北京)科技有限公司 一种基于汉明码的ecc电路优化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751740A (en) * 1995-12-14 1998-05-12 Gorca Memory Systems Error detection and correction system for use with address translation memory controller
US6847554B2 (en) * 2002-08-02 2005-01-25 Sony Corporation Nonvolatile semiconductor memory device with error detection and correction circuit
CN101980339A (zh) * 2010-11-04 2011-02-23 浙江大学 一种用于dram缓存的纠错编码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751740A (en) * 1995-12-14 1998-05-12 Gorca Memory Systems Error detection and correction system for use with address translation memory controller
US6847554B2 (en) * 2002-08-02 2005-01-25 Sony Corporation Nonvolatile semiconductor memory device with error detection and correction circuit
CN101980339A (zh) * 2010-11-04 2011-02-23 浙江大学 一种用于dram缓存的纠错编码方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103529382A (zh) * 2013-09-24 2014-01-22 电子科技大学 检测红外焦平面阵列读出电路的行控制电路的电路和方法
CN108242973A (zh) * 2016-12-26 2018-07-03 北京邮电大学 一种数据纠错方法及装置
CN108242973B (zh) * 2016-12-26 2020-10-27 北京邮电大学 一种数据纠错方法及装置
CN111047033A (zh) * 2019-11-11 2020-04-21 东南大学 一种面向宽电压的在线时序检错纠错电路
CN111047033B (zh) * 2019-11-11 2023-04-18 东南大学 一种面向宽电压的在线时序检错纠错电路
CN112000511A (zh) * 2020-07-28 2020-11-27 京微齐力(北京)科技有限公司 一种基于汉明码的ecc电路优化方法

Also Published As

Publication number Publication date
CN102915769B (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
Ozfatura et al. Distributed gradient descent with coded partial gradient computations
GB2490461A (en) Method, device and computer program product for decoding a codeword
EP4280494A2 (en) Encoding and decoding of polar codes with distributed check bits
CN102915769B (zh) 一种处理器纠错检错edac电路实现优化方法
CN101478369B (zh) 一种crc校验的方法和系统
US20140208022A1 (en) Raid erasure code applied to partitioned stripe
WO2010136930A3 (en) Iterative decoding of ldpc codes with iteration scheduling
WO2010032108A3 (en) Iterative decoding of blocks with cyclic redundancy checks
CN102624403A (zh) 用于对级联纠错码的有效解码的方法和系统
EP2975522A2 (en) Digital error correction
CN103346858A (zh) 基于叠加度的系统lt码编译方法
CN103546239A (zh) 一种用于lte下行控制信道的盲检系统及其盲检方法
CN103838649A (zh) 一种降低二进制编码存储系统中计算量的方法
CN103986557A (zh) 低路径延迟的LTE Turbo码并行分块译码方法
CN102045073B (zh) 一种bch码译码方法和装置
Silva et al. An efficient, low-cost ECC approach for critical-application memories
CN103595424A (zh) 分量译码方法、译码器及Turbo译码方法、装置
Briffa A GPU implementation of a MAP decoder for synchronization error correcting codes
CN104112479A (zh) 编码器、译码器和包括其的半导体器件
ATE541362T1 (de) Verkürzen und punktieren von low-density-parity- check (ldpc) codes für die kanalcodierung/- decodierung
CN101908943B (zh) 一种应用于td-scdma系统的信道解码方法
Mădălin et al. Unidirectional error detection, localization and correction for DRAMs: Application to on-line DRAM repair strategies
CN103577162A (zh) 面向并行处理的容错方法及系统
Gali et al. Low power and energy efficient single error correction code using CDM logic style for IoT devices
CN202838976U (zh) 基于edac模块的三模冗余对存储器的容错装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant