CN103885850B - 存储器在线检查系统及方法 - Google Patents
存储器在线检查系统及方法 Download PDFInfo
- Publication number
- CN103885850B CN103885850B CN201310065105.0A CN201310065105A CN103885850B CN 103885850 B CN103885850 B CN 103885850B CN 201310065105 A CN201310065105 A CN 201310065105A CN 103885850 B CN103885850 B CN 103885850B
- Authority
- CN
- China
- Prior art keywords
- data
- memorizer
- pld
- central processor
- processor cpu
- 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.)
- Active
Links
Abstract
本发明公开了一种存储器在线检查系统及方法,包括:中央处理器CPU;可编程逻辑器件;存储器,存储器的低位存储区保存原始数据,高位存储区保存校验数据;可编程逻辑器件通过数据总线和地址总线连接至中央处理器CPU,中央处理器CPU输出检查使能控制信号给可编程逻辑器件,可编程逻辑器件反馈错误信号给中央处理器CPU;可编程逻辑器件通过低位数据总线、高位数据总线和地址总线连接至存储器,低位数据总线传输原始数据信息给存储器,高位数据总线传输校验数据给存储器。本发明通过差异化的冗余数据信息以及结合地址信息产生的校验码实现对存储器数据的验证,可实时发现器件永久失效或随机干扰带来的存储器数据的读写错误。
Description
技术领域
本发明属于安全技术应用领域,用于实现安全关键系统中的可读写存储器数据的在线检查。
背景技术
在工业控制系统和安全信号系统(应用于航空电子、铁路信号、核电等行业)中,应对运行过程中关键的数据信息进行严格检查,只有确保数据信息完整无误才可用于后续的计算和输出,否则需要进入安全保护状态。
发明内容
本发明所要解决的技术问题是提供一种存储器在线检查方法,它可以通过差异化的冗余数据信息以及结合地址信息产生的校验码实现对存储器数据的验证,可实时发现器件永久失效或随机干扰带来的存储器数据的读写错误。
为了解决以上技术问题,本发明提供了一种存储器在线检查系统,包括:中央处理器CPU;可编程逻辑器件;存储器,存储器的低位存储区保存原始数据,高位存储区保存校验数据;可编程逻辑器件通过数据总线和地址总线连接至中央处理器CPU,中央处理器CPU输出检查使能控制信号给可编程逻辑器件,可编程逻辑器件反馈错误信号给中央处理器CPU;可编程逻辑器件通过低位数据总线、高位数据总线和地址总线连接至存储器,低位数据总线传输原始数据信息给存储器,高位数据总线传输校验数据给存储器。
本发明的有益效果在于:通过差异化的冗余数据信息以及结合地址信息产生的校验码实现对存储器数据的验证,可实时发现器件永久失效或随机干扰带来的存储器数据的读写错误。通过可编程逻辑器件等可编程逻辑器件进行编码时,结合了数据和地址信息,不仅可以检查数据信息的存储失效,还可以检查存储器的地址耦合错误。
将中央处理器CPU输出的数据总线的一半作为有效数据传输,另一半数据总线结合地址总线信息产生的校验数据作为冗余信息以实现对有效信息的差异化备份和数据正确性校验。
将中央处理器CPU输出的有效信息通过可编程逻辑器件扩充为2倍位宽的数据,其中一半为有效信息,另一半作为检验信息,通过差异化的冗余数据信息实现对存储器数据的验证。
存储器数据通过可编程逻辑器件实现差异化的冗余存储和读取;数据检查运算由可编程逻辑器件协作实现,检查到错误产生中断通知给中央处理器CPU。
本发明还提供了一种存储器在线检查方法;
在写存储器过程中:将中央处理器CPU数据总线分别两部分,一半作为低位地址总线,输出原始数据信息,另一半作为高位地址总线,输出原始数据的反码或补码;可编程逻辑器件接收到中央处理器CPU的数据、地址总线信息,将其冗余的高位地址总线的数据以及地址数据生成奇偶校验,异或值或循环冗余校验CRC信息;
在读存储器过程中:可编程逻辑器件从存储器读出的数据需要校验,根据写操作使用的校验信息生成算法,反向计算判定原始数据是否正常;如果数据校验错误,产生错误中断给中央处理器CPU使其进入安全保护状态;如果数据校验正确,将数据输出给中央处理器CPU,低位数据总线为原始数据,高位数据总线为原始数据的反码或补码;中央处理器CPU读回数据并判断是否高地位数据互为反码或补码,判断存储器是否正常。
在写存储器过程中:将中央处理器CPU的n位数据总线仅输出原始数据信息,可编程逻辑器件输出给存储器时位宽扩大为2n,低位数据总线为原始数据,高位数据总线为校验数据,存储器同时保存这两份数据到不同的存储空间;可编程逻辑器件接收到中央处理器CPU的数据、地址总线信息,将其冗余的高位地址总线的数据以及地址数据生成奇偶校验,异或值或循环冗余校验CRC信息;
读操作时,原始数据和校验数据读至可编程逻辑器件,校验数据错误会产生中断给中央处理器CPU,中央处理器CPU仅读到原始数据。
写数据到存储器不做检查,读取存储器数据即时检查,只有在发现器件永久失效或随机干扰带来的存储器数据的读写错误才会引发中央处理器CPU进入故障中断处理。
所述可编程逻辑器件包括复杂可编程逻辑器件CPLD和现场可编程门阵列FPGA。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明。
图1可读写存储器在线检查示意图;
图2精简后的存储器在线检查示意图。
具体实施方式
本发明公开了一种在安全关键系统中通过可编程逻辑器件结合中央处理器CPU共同实现高效实时的存储器在线检查的方法。主要由可编程逻辑器件实现对信息的编码和校验,对中央处理器CPU效率影响不大的情况下实时检查存储器或总线的错误。通过差异化的冗余数据信息以及结合地址信息产生的校验码实现对存储器数据的验证,可实时发现器件永久失效或随机干扰带来的存储器数据的读写错误。通过可编程逻辑器件等可编程逻辑器件进行编码时,结合了数据和地址信息,不仅可以检查数据信息的存储失效,还可以检查存储器的地址耦合错误。
本发明方法描述:
1)写存储器过程:
本方法将中央处理器CPU数据总线分别两部分,一半作为低位地址总线,输出原始数据信息;另一半作为高位地址总线,输出原始数据的反码或补码。可编程逻辑器件接收到中央处理器CPU的数据、地址总线信息,将其冗余的高位地址总线的数据以及地址数据生成奇偶校验,异或值或循环冗余校验CRC信息。具体的需要根据可编程逻辑器件的资源、实现难度以及安全等级决定。由可编程逻辑器件将原始信息和生成的校验信息转发给存储器。存储器的低位存储区保存原始数据,高位存储区保存校验数据。如图1所示。
2)读存储器过程:
可编程逻辑器件从存储器读出的数据需要校验,根据写操作使用的校验信息生成算法,反向计算判定原始数据是否正常。如果数据校验错误,产生错误中断给中央处理器CPU使其进入安全保护状态。数据校验正确,将数据输出给中央处理器CPU,低位数据总线为原始数据,高位数据总线为原始数据的反码或补码。中央处理器CPU读回数据并判断是否高地位数据互为反码或补码。如果中央处理器CPU校验数据不正常,可重读一遍,仍不正确则进入安全状态。这种方法要求某地址的数据在读取之前必须有按该方式写操作过。如图1所示。
检查使能控制用于需要检查的存储器地址无规律性的情况下。比如存储器有些区域不可读写检查,可检查的区域不是一块连续段,单从地址总线信息无法简单确定是否需要检查。检查使能控制可使用IO口输出控制,考虑安全性,可采用多个输入输出接口I/O避免单码位的错误不可检出。如果输入输出接口I/O资源不足,可采用总线协议,比如对某个固定地址写入特定的数据使可编程逻辑器件进入或退出检查状态。
为了使中央处理器CPU获得更高的效率,写操作时,我们可以让中央处理器CPU的n位数据总线仅输出原始数据信息,完全让可编程逻辑器件根据原始数据和地址信息产生冗余的校验信息。而可编程逻辑器件输出给存储器时位宽扩大为2n,低位数据总线为原始数据,高位数据总线为校验数据,存储器同时保存这两份数据到不同的存储空间。读操作时,原始数据和校验数据读至可编程逻辑器件,校验数据错误会产生中断给中央处理器CPU。中央处理器CPU仅读到原始数据,如图2所示。这样对存储器数据的检查有效性是一样的,然而大大提高了中央处理器CPU的效率。
所述可编程逻辑器件包括复杂可编程逻辑器件CPLD(Complex ProgrammableLogic Device)和现场可编程门阵列FPGA(Field-Programmable Gate Array)
本发明并不限于上文讨论的实施方式。以上对具体实施方式的描述旨在于为了描述和说明本发明涉及的技术方案。基于本发明启示的显而易见的变换或替代也应当被认为落入本发明的保护范围。以上的具体实施方式用来揭示本发明的最佳实施方法,以使得本领域的普通技术人员能够应用本发明的多种实施方式以及多种替代方式来达到本发明的目的。
Claims (4)
1.一种存储器在线检查系统,其特征在于,包括:
中央处理器CPU;
可编程逻辑器件;
存储器,存储器的低位存储区保存原始数据,高位存储区保存校验数据;
可编程逻辑器件通过数据总线和地址总线连接至中央处理器CPU,中央处理器CPU输出检查使能控制信号给可编程逻辑器件,可编程逻辑器件反馈错误信号给中央处理器CPU;
可编程逻辑器件通过低位数据总线、高位数据总线和地址总线连接至存储器,低位数据总线传输原始数据信息给存储器,高位数据总线传输校验数据给存储器。
2.如权利要求1所述的存储器在线检查系统;其特征在于,将中央处理器CPU输出的数据总线的一半作为有效数据传输,另一半数据总线结合地址总线信息产生的校验数据作为冗余信息以实现对有效信息的差异化备份和数据正确性校验。
3.如权利要求1所述的存储器在线检查系统;其特征在于,将中央处理器CPU输出的有效信息通过可编程逻辑器件扩充为2倍位宽的数据,其中一半为有效信息,另一半作为检验信息,通过差异化的冗余数据信息实现对存储器数据的验证。
4.如权利要求1所述的存储器在线检查系统;其特征在于,存储器数据通过可编程逻辑器件实现差异化的冗余存储和读取;数据检查运算由可编程逻辑器件协作实现,检查到错误产生中断通知给中央处理器CPU。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310065105.0A CN103885850B (zh) | 2013-03-01 | 2013-03-01 | 存储器在线检查系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310065105.0A CN103885850B (zh) | 2013-03-01 | 2013-03-01 | 存储器在线检查系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103885850A CN103885850A (zh) | 2014-06-25 |
CN103885850B true CN103885850B (zh) | 2016-12-28 |
Family
ID=50954758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310065105.0A Active CN103885850B (zh) | 2013-03-01 | 2013-03-01 | 存储器在线检查系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103885850B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9613722B2 (en) * | 2014-09-26 | 2017-04-04 | Intel Corporation | Method and apparatus for reverse memory sparing |
CN107483157A (zh) * | 2017-09-01 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种基于fpga的crc校验方法和系统 |
CN109726057B (zh) * | 2018-11-19 | 2022-07-22 | 浙江众合科技股份有限公司 | 一种cpu安全系统并行总线故障实时动态检测方法 |
CN112098770A (zh) * | 2020-08-20 | 2020-12-18 | 深圳市宏旺微电子有限公司 | 针对动态耦合故障模拟极端环境下的测试方法和装置 |
CN112835745B (zh) * | 2021-02-09 | 2022-04-01 | 天津易鼎丰动力科技有限公司 | 一种嵌入式系统高可靠存储方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1896959A (zh) * | 2005-07-12 | 2007-01-17 | 中国科学院空间科学与应用研究中心 | 一种静态数据存储的纠错编码装置 |
CN101192200A (zh) * | 2006-11-27 | 2008-06-04 | 联发科技股份有限公司 | 保障一存储器中的固件安全的方法及系统 |
CN101315812A (zh) * | 2008-03-20 | 2008-12-03 | 上海交通大学 | 基于并口的flash存储器在线编程方法 |
CN102087606A (zh) * | 2011-02-16 | 2011-06-08 | 电子科技大学 | 一种fpga配置文件更新装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5719889A (en) * | 1995-12-20 | 1998-02-17 | International Business Machines Corporation | Programmable parity checking and comparison circuit |
JP4643479B2 (ja) * | 2006-03-22 | 2011-03-02 | 株式会社東芝 | アクセス制御装置、アクセス制御システム、プロセッサ、アクセス制御方法およびメモリアクセス制御方法 |
US8977790B2 (en) * | 2008-02-15 | 2015-03-10 | Freescale Semiconductor, Inc. | Peripheral module register access methods and apparatus |
CN101692647B (zh) * | 2009-10-12 | 2012-03-14 | 清华大学 | 路由器中采用IPv6头封装IPv4包的隧道转发系统 |
CN101854243B (zh) * | 2010-04-30 | 2012-12-12 | 株洲南车时代电气股份有限公司 | 一种电路系统设计加密电路及其加密方法 |
-
2013
- 2013-03-01 CN CN201310065105.0A patent/CN103885850B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1896959A (zh) * | 2005-07-12 | 2007-01-17 | 中国科学院空间科学与应用研究中心 | 一种静态数据存储的纠错编码装置 |
CN101192200A (zh) * | 2006-11-27 | 2008-06-04 | 联发科技股份有限公司 | 保障一存储器中的固件安全的方法及系统 |
CN101315812A (zh) * | 2008-03-20 | 2008-12-03 | 上海交通大学 | 基于并口的flash存储器在线编程方法 |
CN102087606A (zh) * | 2011-02-16 | 2011-06-08 | 电子科技大学 | 一种fpga配置文件更新装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103885850A (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103885850B (zh) | 存储器在线检查系统及方法 | |
US10019312B2 (en) | Error monitoring of a memory device containing embedded error correction | |
US9940457B2 (en) | Detecting a cryogenic attack on a memory device with embedded error correction | |
CN101281481B (zh) | 一种存储器抗单粒子翻转的纠错检错方法 | |
CN102915768A (zh) | 基于edac模块的三模冗余对存储器的容错装置及其方法 | |
CN103680639A (zh) | 一种随机存储器的周期性自检错恢复方法 | |
CN106708655B (zh) | 基于二维纠错码的内存加固方法及电路 | |
CN105335247A (zh) | 高可靠系统芯片中Cache的容错结构及其容错方法 | |
Ahilan et al. | Improving lifetime of memory devices using evolutionary computing based error correction coding | |
CN105320575A (zh) | 一种双模冗余流水线的自校验及恢复装置与方法 | |
CN105511982A (zh) | 一种容忍dram颗粒失效的内存存取方法 | |
CN105138412A (zh) | 嵌入式微处理器高速缓存的混合纠错装置与方法 | |
CN104156276B (zh) | 一种防两块磁盘损坏的raid方法 | |
CN106874796B (zh) | 系统运行中指令流的安全检测和容错方法 | |
CN109766213A (zh) | 一种基于汉明码实现数据纠错的存储器电路 | |
CN103514062B (zh) | 应用于计算机联锁系统的动态编码方法 | |
CN202838976U (zh) | 基于edac模块的三模冗余对存储器的容错装置 | |
CN102684841A (zh) | 一种编码计算单元及解码数据校验方法 | |
JP2012235272A (ja) | 半導体装置、情報処理装置およびエラー検出方法 | |
CN107291570A (zh) | 基于Zynq‑7000的片上存储器抗单粒子翻转防护方法 | |
CN115904797B (zh) | 基于现场可编程门阵列的cpu内存诊断方法、系统和设备 | |
CN109753369A (zh) | 一种寄存器及内存中顺序数组的数据编码及校验方法 | |
CN111124418A (zh) | 一种基于vcp冗余代码的通信数据超时判断方法 | |
CN103514071A (zh) | 非破坏性的内存在线测试方法 | |
Ahammed et al. | Soft error tolerance using HVDQ (Horizontal-Vertical-Diagonal-Queen parity method) |
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 |