CN104699555A - 内存模组ecc功能验证方法、装置及其产品 - Google Patents
内存模组ecc功能验证方法、装置及其产品 Download PDFInfo
- Publication number
- CN104699555A CN104699555A CN201310664083.XA CN201310664083A CN104699555A CN 104699555 A CN104699555 A CN 104699555A CN 201310664083 A CN201310664083 A CN 201310664083A CN 104699555 A CN104699555 A CN 104699555A
- Authority
- CN
- China
- Prior art keywords
- ecc
- verification
- memory modules
- memory
- misdata
- 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.)
- Pending
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明涉及一种内存模组ECC功能验证方法、装置及其产品。所述内存模组ECC功能验证方法,包括以下步骤:获取内存控制器输出的正确数据;将所述正确数据转换成错误数据;所述错误数据存入内存芯片后经由内存控制器进行ECC校验;将所述经过ECC校验后的数据传至系统CPU;判断所述系统是否正常工作,若是,则内存模组ECC功能正常,反之,内存模组ECC功能失效。所述装置包括输入模块,转换模块,校验模块,输出模块以及判断模块。上述内存模组ECC功能验证方法、装置及其产品,通过将正确数据转换成错误数据,确保了错误数据的发生率,以便精准的验证内存模组ECC的纠错能力,提高了内存模组ECC功能的验证效率。
Description
技术领域
本发明涉及计算机领域,特别是涉及一种计算机内存模组ECC功能验证方法、装置及其产品。
背景技术
ECC(Error Checking and Correction,错误检查和修正),是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用了这种技术的内存条,ECC内存能够容许错误,并可以将错误更正,使系统得以持续正常的操作,不致因错误而中断,ECC内存具有的自动更正能力,提高了系统的可靠性。
工业计算机在很多应用场合下需要24小时×365天不间断的运行,因此对工业计算机的可靠性和稳定性的要求极为苛刻,在高负载、长时间不间断运行的状态下,数据出错就在所难免了。因此对工业计算机来说,内存模组拥有ECC功能是必不可少的。
ECC有如此强大的错误检查和纠正的能力,因此,提供一种错误产生机制来验证内存模组的ECC功能是否正常就变的十分必要。现有技术针对内存模组ECC功能的验证,主要是通过外部将内存的数据线与地连接,强制模拟产生逻辑0数据输入ECC内存,然而当此时数据本就是逻辑0时,此方法并不能产生错误数据而激发ECC纠错功能。
发明内容
基于此,有必要针对目前采用通过外部将内存的数据线与地连接,强制模拟产生逻辑0数据输入ECC内存来验证内存模组ECC功能的方法在数据本就是逻辑0时,会导致错误发生率低、验证失效的问题,提供一种错误发生率高、验证精准、验证效率高的内存模组ECC功能验证方法。
此外,还有必要提供一种基于此内存模组ECC功能验证方法的内存模组ECC功能验证装置及其产品
一种内存模组ECC功能验证方法,包括以下步骤:
获取内存控制器输出的正确数据;
将所述正确数据转换成错误数据;
所述错误数据存入内存芯片后经由内存控制器进行ECC校验;将所述经过ECC校验后的数据传至系统CPU;
判断所述系统是否正常工作,若是,则内存模组ECC功能正常,反之,内存模组ECC功能失效。
在其中一个实施例中,所述将所述正确数据转换成错误数据的步骤包括:将所述正确数据中的一位或多位转换成与之相反的错误数据。。
在其中一个实施例中,所述系统工作不正常的表现为:错误报警、蓝屏、宕机中的一种。
一种内存模组ECC功能验证装置,包括:
输入模块,用于获取内存控制器输出的正确数据;
转换模块,用于将所述正确数据转换成错误数据;
校验模块,用于将所述错误数据存入内存芯片后经由内存控制器进行ECC 校验;
输出模块,用于将所述经过ECC校验后的数据传至系统CPU;
判断模块,用于判断所述系统是否正常工作,若是,则内存模组ECC功能正常,反之,内存模组ECC功能失效。
在其中一个实施例中,所述转换模块包括反向电路,用于将所述正确数据中的一位或多位转换成与之相反的错误数据。
在其中一个实施例中,所述系统工作不正常的表现为:错误报警、蓝屏、宕机中的一种。
一种包含所述内存模组ECC功能验证装置的产品,所述产品还包含一个开关,当不需要进行内存模组ECC功能验证时,将所述开关闭合,提供一个数据通路;当需要进行内存模组ECC功能验证时,将所述开关断开,正确的数据通过所述反向电路可变成与之相反的错误数据,存入内存芯片后经由内存控制器进行ECC校验,以进行内存模组ECC功能验证。
上述内存模组ECC功能验证方法、装置及其产品,通过将正确数据转换成错误数据,确保了错误数据的发生率,以便精准的验证内存模组ECC的纠错能力,提高了内存模组ECC功能的验证效率。
附图说明
图1是一个实施例中内存模组ECC功能验证方法的流程图;
图2是一个实施例中内存模组ECC功能验证装置的结构框图;
图3是一个实施例中包含内存模组ECC功能验证装置的产品框图;
图4是另一个实施例中包含内存模组ECC功能验证装置的产品框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中内存模组ECC功能验证方法的流程图。该内存模组ECC功能验证方法,包括以下步骤:
步骤102,获取内存控制器输出的正确数据。
具体的,所述获取内存控制器输出的正确数据可为:由外界输入1个1bit的数据“0”至内存芯片的一个数据引脚,内存控制器读取所述数据引脚的所述数据“0”,并将所述数据“0”输出。
步骤104,将所述正确数据转换成错误数据。
具体的,可将所述正确数据“0”转换成错误数据“1”。
步骤106,所述错误数据存入内存芯片后经由内存控制器进行ECC校验;
具体的,ECC校验可产生两种结果:若ECC校验成功,则所述错误数据“1”被校验回正确数据“0”;若ECC校验失败,则所述错误数据“1”仍是一位错误数据。
步骤108,将所述经过ECC校验后的数据传至系统CPU。
具体的,此时若ECC校验成功,则是将正确数据“0”传至系统CPU;若ECC校验失败,则是将错误数据“0”传至系统CPU。
步骤110,判断所述系统是否正常工作,若是,则执行步骤112,反之,则执行步骤114。
步骤112,内存模组ECC功能正常。
具体的,若传至系统CPU的数据为正确数据“0”,则内存模组ECC功能为正常。
步骤114,内存模组ECC功能失效。
具体的,若传至系统CPU的数据为错误数据“1”,则内存模组ECC功能为失效。
具体的,判断所述系统是否正常工作为判断所述系统是否出现错误报警、蓝屏、宕机中的一种,若是,则判定系统工作不正常,则内存模组ECC功能是失效的。
上述内存模组ECC功能验证方法,通过将正确数据转换成错误数据,确保了错误数据的发生率,以便精准的验证内存模组ECC的纠错能力,提高了内存模组ECC功能的验证效率。
以上仅以校验1bit数据为例进行内存模组ECC功能验证方法的说明,同理,可实现多bit数据的校验。
在一个优选的实施例中,
步骤102,获取内存控制器输出的正确数据。
具体的,所述获取内存控制器输出的正确数据可为:由外界输入5bit的数据“10110”至内存芯片的一个数据引脚,内存控制器读取所述数据引脚的所述数据“10110”,并将所述数据“10110”输出。
步骤104,将所述正确数据转换成错误数据的步骤包括:将所述正确数据中的一位或多位转换成与之相反的错误数据。
具体的,可将正确数据“10110”转换为错误数据“01100”。
步骤106,所述错误数据存入内存芯片后经由内存控制器进行ECC校验。
具体的,ECC校验可产生两种结果:若ECC校验成功,则所述错误数据“01100”被校验回正确数据“10110”;若ECC校验失败,则所述错误数据“01100”仍是错误数据。
步骤108,将所述经过ECC校验后的数据传至系统CPU。
具体的,此时若ECC校验成功,则是将正确数据“10110”传至系统CPU;若ECC校验失败,则是将错误数据“01100”传至系统CPU。
步骤110,判断所述系统是否正常工作,若是,则执行步骤112,反之,则执行步骤114。
步骤112,内存模组ECC功能正常。
具体的,若传至系统CPU的数据为正确数据“10110”,则内存模组ECC功能为正常。
步骤114,内存模组ECC功能失效。
具体的,若传至系统CPU的数据为错误数据“01100”,则内存模组ECC功能为失效。
具体的,判断所述系统是否正常工作为判断所述系统是否出现内存错误报警、蓝屏、宕机中的一种,若是,则判定系统工作不正常,则内存模组ECC功能是失效的。
上述内存模组ECC功能验证方法,通过将正确数据转换成错误数据,确保了错误数据的发生率,以便精准的验证内存模组ECC的纠错能力,提高了内存模组ECC功能的验证效率。
图2为一个实施例中内存模组ECC功能验证装置的结构框图。该内存模组ECC功能验证装置20包括以下部分:
输入模块202,用于获取内存控制器输出的正确数据;
具体的,所述获取内存控制器输出的正确数据可为:由外界输入1个1bit的数据“0”至内存芯片的一个数据引脚,内存控制器读取所述数据引脚的搜书数据“0”,并将所述数据“0”输出。
转换模块204,用于将所述正确数据转换成错误数据;
具体的,所述转换模块可包含一个反向电路,该反向电路可由任意能够实现反向功能的元器件组成,可将所述正确数据“0”转换成错误数据“1”。
校验模块206,用于将所述错误数据存入内存芯片后经由内存控制器进行ECC校验;
具体的,ECC校验可产生两种结果:若ECC校验成功,则所述错误数据“1”被校验回正确数据“0”;若ECC校验失败,则所述错误数据“1”仍是一位错误数据。
输出模块208,用于将所述经过ECC校验后的数据传至系统CPU;
具体的,此时若ECC校验成功,则是将正确数据“0”传至系统CPU;若ECC校验失败,则是将错误数据“0”传至系统CPU。
判断模块210,用于判断所述系统是否正常工作,若是,则内存模组ECC功能正常,反之,内存模组ECC功能失效。
具体的,判断所述系统是否正常工作为判断所述内存控制器是否出现错误报警、蓝屏、宕机中的一种,若是,则判定系统工作不正常,则内存模组ECC功能是失效的。
上述内存模组ECC功能验证装置,通过转换模块将正确数据转换成错误数据,确保了错误数据的发生率,以便精准的验证内存模组ECC的纠错能力,提 高了内存模组ECC功能的验证效率。
以上仅以校验1bit数据为例进行内存模组ECC功能验证装置的说明,同理,可实现多bit数据的校验。
在一个优选的实施例中,
输入模块202,用于获取内存控制器输出的正确数据;
具体的,所述获取内存控制器输出的正确数据可为:由外界输入5bit的数据“10110”至内存芯片的一个数据引脚,内存控制器读取所述数据引脚的所述数据“10110”,并将所述数据“10110”输出。
转换模块204,用于将所述正确数据转换成错误数据;
具体的,所述转换模块可包含一个反向电路,该反向电路可由任意能够实现反向功能的元器件组成,可将所述正确数据“10110”转换为错误数据“01100”。
校验模块206,用于将所述错误数据存入内存芯片后经由内存控制器进行ECC校验;
具体的,ECC校验可产生两种结果:若ECC校验成功,则所述错误数据“01100”被校验回正确数据“10110”;若ECC校验失败,则所述错误数据“01100”仍是错误数据。
输出模块208,用于将所述经过ECC校验后的数据传至系统CPU;
具体的,此时若ECC校验成功,则是将正确数据“10110”传至系统CPU;若ECC校验失败,则是将错误数据“01100”传至系统CPU。
判断模块210,用于判断所述系统是否正常工作,若是,则内存模组ECC功能正常,反之,内存模组ECC功能失效。
具体的,判断所述系统是否正常工作为判断所述内存控制器是否出现内存 错误报警、蓝屏、宕机中的一种,若是,则判定内存控制器工作不正常,则内存模组ECC功能是失效的。
上述内存模组ECC功能验证装置,通过转换模块将正确数据转换成错误数据,确保了错误数据的发生率,以便精准的验证内存模组ECC的纠错能力,提高了内存模组ECC功能的验证效率。
图3为一个实施例中包含内存模组ECC功能验证装置的产品框图。该产品30包括MCH302、ECC功能验证装置20以及系统CPU304。
系统芯片模组中包含MCH(memory control hub,内存控制器),MCH通过主板PCB连接内存槽,内存槽再连接相应的内存条,实现CPU数据的存储与交换,相连的数据线一共有64bit,在MCH和系统CPU之间,增加一个内存模组ECC功能验证装置,将正确数据转换成错误数据,确保了错误数据的发生率,以便精准的验证内存模组ECC的纠错能力,提高了内存模组ECC功能的检测效率。
进一步的,如图4所示,上述包含内存模组ECC功能验证装置的产品还包含开关306,当不需要进行内存模组ECC功能验证时,将所述开关306闭合,提供一个数据通路,即所述MCH302直接与所述系统CPU304进行通信;当需要进行内存模组ECC功能验证时,将所述开关306断开,所述MCH302通过所述ECC功能验证装置20与所述系统CPU304进行通信,以进行内存模组ECC功能验证。
下面结合图2和图4,以所述转换模块204为一个反相器、输出模块208为一个单向二极管、开关306为一个两极拨码开关、验证1bit数据为例,来详细说明所述包含内存模组ECC功能验证装置的产品20进行内存模组ECC功能验 证的工作原理。
给系统CPU304的一个数据引脚输入一个1bit的数据“0”,此数据“0”作为正确数据被MCH302读取。当所述产品20不需要进行内存模组ECC功能验证时,将两极拨码开关306拨于ON的位置,此时开关306处于闭合状态,MCH302读取的正确数据“0”不经过ECC功能验证装置20,而是直接经由开关306的数据通路传至系统CPU304,此时内存模组ECC检测功能关闭;当所述产品20需要进行内存模组ECC功能验证时,将两极拨码开关306拨于OFF的位置,此时开关306处于断开状态,MCH302读取的正确数据“0”经过ECC功能验证装置20,通过ECC功能验证装置20中转换模块204中反相器的反相作用,正确数据“0”被转换成错误数据“1”,错误数据“1”经校验模块206的校验,可有如下两种情况:一种情况为错误数据“1”经校验模块206的校验作用后,变为正确数据“0”;另一种情况为错误数据“1”经校验模块206的校验作用后,仍为错误数据“1”。经校验模块206校验后的数据通过输出模块208中的单向二极管传至系统CPU304,并由判断模块210判断系统是否正常工作。若系统正常工作,则说明经经校验模块206校验后的数据通过输出模块208中的单向二极管传至系统CPU304的数据位正确数据“0”,此时说明内存模组ECC功能正常;若系统工作不正常,出现了错误报警、蓝屏、宕机中的一种情况,则说明经校验模块206校验后的数据通过输出模块208中的单向二极管传至系统CPU304的数据位错误数据“1”,此时说明内存模组ECC功能失效。
应当说明,以上为1bit内存数据的检测过程,同理可将上述检测方法实施于多bit内存数据的检测。
上述包含内存模组ECC功能验证装置的产品,通过在内存控制器和系统 CPU之间添加内存模组ECC功能验证装置,由内存模组ECC功能验证装置中的转换模块产生错误数据,确保了错误数据的发生率,以便精准的验证内存模组ECC的纠错能力,提高了内存模组ECC功能的检测效率。
上述内存模组ECC功能验证方法、装置及其产品,通过将正确数据转换成错误数据,确保了错误数据的发生率,以便精准的验证内存模组ECC的纠错能力,提高了内存模组ECC功能的检测效率。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种内存模组ECC功能验证方法,包括以下步骤:
获取内存控制器输出的正确数据;
将所述正确数据转换成错误数据;
所述错误数据存入内存芯片后经由内存控制器进行ECC校验;
将所述经过ECC校验后的数据传至系统CPU;
判断所述系统是否正常工作,若是,则内存模组ECC功能正常,反之,内存模组ECC功能失效。
2.根据权利要求1所述的内存模组ECC功能验证方法,其特征在于,将所述正确数据转换成错误数据的步骤包括:将所述正确数据中的一位或多位转换成与之相反的错误数据。
3.根据权利要求1所述的内存模组ECC功能验证方法,其特征在于,所述系统工作不正常的表现为:错误报警、蓝屏、宕机中的一种。
4.一种内存模组ECC功能验证装置,其特征在于,包括:
输入模块,用于获取内存控制器输出的正确数据;
转换模块,用于将所述正确数据转换成错误数据;
校验模块,用于将所述错误数据存入内存芯片后经由内存控制器进行ECC校验;
输出模块,用于将所述经过ECC校验后的数据传至系统CPU;
判断模块,用于判断所述系统是否正常工作,若是,则内存模组ECC功能正常,反之,内存模组ECC功能失效。
5.根据权利要求4所述的内存模组ECC功能验证装置,其特征在于,所述转换模块包括反向电路,用于将所述正确数据中的一位或多位转换成与之相反的错误数据。
6.根据权利要求4所述的内存模组ECC功能验证装置,其特征在于,所述系统工作不正常的表现为:错误报警、蓝屏、宕机中的一种。
7.一种包含权利要求4~6任一项所述的内存模组ECC功能验证装置的产品,其特征在于,所述产品还包含一个开关,当不需要进行内存模组ECC功能验证时,将所述开关闭合,提供一个数据通路;当需要进行内存模组ECC功能验证时,将所述开关断开,正确的数据通过所述转换模块转换成错误数据,存入内存芯片后经由内存控制器进行ECC校验,以进行内存模组ECC功能验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310664083.XA CN104699555A (zh) | 2013-12-09 | 2013-12-09 | 内存模组ecc功能验证方法、装置及其产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310664083.XA CN104699555A (zh) | 2013-12-09 | 2013-12-09 | 内存模组ecc功能验证方法、装置及其产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104699555A true CN104699555A (zh) | 2015-06-10 |
Family
ID=53346716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310664083.XA Pending CN104699555A (zh) | 2013-12-09 | 2013-12-09 | 内存模组ecc功能验证方法、装置及其产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699555A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106645302A (zh) * | 2016-09-13 | 2017-05-10 | 杭州华为数字技术有限公司 | 一种硫化检测方法及相关设备 |
CN106933696A (zh) * | 2015-12-31 | 2017-07-07 | 北京国睿中数科技股份有限公司 | Ecc功能验证方法 |
CN109669830A (zh) * | 2018-12-25 | 2019-04-23 | 上海创功通讯技术有限公司 | 一种用于内存的物理检测方法及终端设备 |
CN115910183A (zh) * | 2021-08-19 | 2023-04-04 | 长鑫存储技术有限公司 | 测试方法及测试系统 |
-
2013
- 2013-12-09 CN CN201310664083.XA patent/CN104699555A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933696A (zh) * | 2015-12-31 | 2017-07-07 | 北京国睿中数科技股份有限公司 | Ecc功能验证方法 |
CN106645302A (zh) * | 2016-09-13 | 2017-05-10 | 杭州华为数字技术有限公司 | 一种硫化检测方法及相关设备 |
CN106645302B (zh) * | 2016-09-13 | 2020-04-28 | 杭州华为数字技术有限公司 | 一种硫化检测方法及相关设备 |
CN109669830A (zh) * | 2018-12-25 | 2019-04-23 | 上海创功通讯技术有限公司 | 一种用于内存的物理检测方法及终端设备 |
CN109669830B (zh) * | 2018-12-25 | 2022-04-22 | 上海创功通讯技术有限公司 | 一种用于内存的物理检测方法及终端设备 |
CN115910183A (zh) * | 2021-08-19 | 2023-04-04 | 长鑫存储技术有限公司 | 测试方法及测试系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9135130B2 (en) | Debugging method, chip, board, and system | |
CN104699555A (zh) | 内存模组ecc功能验证方法、装置及其产品 | |
CN108470193A (zh) | 电能表故障诊断方法、系统及终端设备 | |
CN103809147A (zh) | 一种交流电表故障自诊断方法 | |
CN104246521A (zh) | 智能变电站继电保护功能自动测试的方法及装置 | |
CN104579313A (zh) | 一种基于配置帧的在轨sram型fpga故障检测与修复方法 | |
CN103530211A (zh) | 一种基于uvm平台的pcie回环自检测的方法 | |
CN103810521A (zh) | 无源rfid电子标签数字基带处理器 | |
US11255906B2 (en) | Test device and method with built-in self-test logic | |
CN105186460A (zh) | 适用于模块化多电平换流阀的过流快速闭锁保护方法 | |
CN103220040A (zh) | 一种内置式光口bypass的状态切换方法和系统 | |
CN201654157U (zh) | 一种用于led驱动电路的故障检测装置 | |
CN105140152A (zh) | 晶圆片级封装单片机引脚焊接检测方法 | |
CN105607974A (zh) | 高可靠性多核处理系统 | |
CN104780123A (zh) | 一种网络包收发处理装置及其设计方法 | |
CN104810846A (zh) | 用于控制高压直流输电系统的设备和方法 | |
CN103294837A (zh) | 一种集成电路的验证调试方法及系统 | |
CN103884982A (zh) | 低压微机保护测控装置操作板继电器智能校验系统 | |
CN111239514A (zh) | 一种测试服务器电源过压保护功能的方法及装置 | |
CN103389924B (zh) | 应用于随机存储器的ecc存储系统 | |
US11665165B2 (en) | Whitelist generator, whitelist evaluator, whitelist generator/evaluator, whitelist generation method, whitelist evaluation method, and whitelist generation/evaluation method | |
CN205681118U (zh) | 一种新型的数字信号检测电路 | |
CN110532127B (zh) | 一种差错校验位协议转换器 | |
CN106571914B (zh) | 一种基于otp器件的密钥管理装置 | |
CN103531002B (zh) | 一种基于td-scdma的远程调试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150610 |