CN106776100B - 一种存储器数据分层校验方法 - Google Patents
一种存储器数据分层校验方法 Download PDFInfo
- Publication number
- CN106776100B CN106776100B CN201710035619.XA CN201710035619A CN106776100B CN 106776100 B CN106776100 B CN 106776100B CN 201710035619 A CN201710035619 A CN 201710035619A CN 106776100 B CN106776100 B CN 106776100B
- Authority
- CN
- China
- Prior art keywords
- memory
- upset
- address
- bit
- abnormality
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种存储器数据分层校验方法,对存储器的所有空间进行读操作,如果发现存储器单位翻转异常,将读取的该单位翻转异常地址的数据作为操作数回写到该单位翻转异常地址,完成对存储器单位翻转异常的修复,如果发现存储器多位翻转异常,将该多位翻转异常的地址本身作为操作数回写到该多位翻转异常地址,并标记该多位翻转异常地址,对该多位翻转异常地址中存储的三份完全相同的数据进行“三取二”检查,将“三取二”检查结果作为操作数回写到该多位翻转异常地址。本发明快速准确地定位发生存储器多位翻转异常的地址空间,能及时纠正存储器单位翻转异常和多位翻转异常,保证存储器中的存储数据持续稳定可靠,软件实现简单,成本低廉。
Description
技术领域
本发明涉及一种存储器数据分层校验方法,尤其涉及一种针对宇航用计算机存储器的数据分层校验方法。
背景技术
因宇航领域的不可维护性,要求宇航系统自身具有较高的可靠性。宇航用计算机一般通过冗余备份技术提高系统可靠性,实现方式包括硬件冗余、软件冗余、信息冗余等。宇航用计算机针对存储器的可靠性方式主要有存储器硬件冗余、EDAC错误检测与纠正(信息冗余)等。受宇航用计算机使用环境中各类宇宙射线的影响,宇航用计算机经常发生存储器翻转异常,如果不能及时准确地检测与修复发生翻转异常的存储器地址,则无法保障软件存储和运行安全。
发明内容
本发明提供一种存储器数据分层校验方法,能快速准确地定位发生存储器多位翻转异常的地址空间,能及时纠正存储器单位翻转异常和多位翻转异常,保证存储器中的存储数据持续稳定可靠,软件实现简单,成本低廉。
为了达到上述目的,本发明提供一种存储器数据分层校验方法,包含以下步骤:
对存储器的所有空间进行读操作,如果发现存储器单位翻转异常,将读取的该单位翻转异常地址的数据作为操作数回写到该单位翻转异常地址,完成对存储器单位翻转异常的修复,如果发现存储器多位翻转异常,将该多位翻转异常的地址本身作为操作数回写到该多位翻转异常地址,并标记该多位翻转异常地址,对该多位翻转异常地址中存储的三份完全相同的数据进行“三取二”检查,将“三取二”检查结果作为操作数回写到该多位翻转异常地址。
在将“三取二”检查结果作为操作数回写到该多位翻转异常地址后,进行修复确认操作,完成对存储器多位翻转异常的修复;
所述的修复确认操作是指:检查该多位翻转异常地址中的数据内容是否为该多位翻转异常地址本身。
本发明使用异常地址本身作为数据回写,能快速准确地定位发生存储器多位翻转异常的地址空间,进而使其得以修复,能及时纠正存储器单位翻转异常和多位翻转异常,保证存储器中的存储数据持续稳定可靠,且不需要专用宇航计算机硬件外设,软件实现简单,成本低廉。
附图说明
图1是本发明的流程示意图。
图2是本发明的具体实施例的示意图。
具体实施方式
以下根据图1和图2具体说明本发明的较佳实施例。
如图1所示,本发明提供一种存储器数据分层校验方法,包含以下步骤:
步骤S1、第一层校验;
对存储器的所有空间进行读操作,检查存储器中是否存在翻转异常,如果发现存储器单位翻转异常,进行步骤S2,如果发现存储器多位翻转异常,进行步骤S3;
步骤S2、进行单位异常回写操作,将读取的该异常地址的数据作为操作数回写到该异常地址,并返回步骤S1;
步骤S3、进行多位异常回写操作,将该翻转异常的地址本身作为操作数回写到该异常地址,并标记该异常地址,进行步骤S4;
步骤S4、第二层校验;
对存储器中存储的三份完全相同的数据(如执行程序原码、软件参数、软件运行过程数据)进行字“三取二”检查,当检索到已标记的存储器多位异常地址时,将“三取二”检查结果作为操作数回写到该异常地址,完成对存储器多位翻转异常的修复,并返回步骤S1。
如图2所示,在本发明的一个具体实施例中,使用宇航用计算机中的EDAC模块进行第一层校验。
宇航用处理器执行存储器读操作程序,从存储器初始地址Aa1开始顺序执行读操作,读取数据Da1、Da2、……、Dan、Db1、Db2、……、Dbn、Dc1、Dc2、……、Dcn,其中,a、b、c为存储器标识,代表三份完全相同的数据,1~n为存储器空间序号。
读取已发生存储器单位翻转的地址Aij的数据Dij时(其中,i为存储器标识,i=a、b、c,j为存储器空间序号,j=1~n),宇航用计算机中的EDAC模块发出异常错误提示,按照图1中①进入EDAC单位异常服务程序,将读取的数据Dij直接作为操作数回写到地址Aij中,处理完成后按照图1中②返回到存储器读操作程序。
读取已发生存储器多位翻转的地址Ai’j’的数据Di’j’时(其中,i’为存储器标识,i’=a、b、c,j’为存储器空间序号,j’=1~n),宇航用计算机中的EDAC模块发出异常错误提示,按照图1中③进入EDAC多位异常服务程序,将该翻转异常的地址Ai’j’本身作为操作数回写到地址Ai’j’中,标记出该异常地址,处理完成后按照图1中④进入到“三取二”检查程序。
采用数据“三取二”方法进行第二层校验,宇航用处理器执行“三取二”检查修复程序,按顺序读存储器中存储的对应存储器地址Aaj、Abj、Acj的三份完全相同的字数据Daj、Dbj、Dcj,若Daj=Dbj且Daj=Dcj,则继续检索,当检索到已标记的异常地址时,从异常地址对应的三个存储器地址Aaj’、Abj’、Acj’中读取到数据Daj’、Dbj’、Dcj’,进行“三取二”检查,具体来说,若Daj’=Dbj’,且Daj’≠Dcj’,则将Daj’作为数据写入Dcj’对应的存储器地址Acj’;若Daj’≠Dbj’,且Daj’=Dcj’,则将Daj’作为数据写入Dbj’对应的存储器地址Abj’;若Dan≠Dbj’,且Dbj’=Dcj’,则将Dbj’作为数据写入Daj’对应的存储器地址Aaj’,同时通过检查异常地址的内容为Ai’j’确认修复过程,完成修复操作后,继续检索其他已标记的异常地址,待全部检查修复操作完成后按图1中⑤返回到存储器读操作程序。
本发明与现有技术相比的优点在于:使用异常地址本身作为数据回写,能快速准确地定位发生存储器多位翻转异常的地址空间,进而使其得以修复,能及时纠正存储器单位翻转异常和多位翻转异常,保证存储器中的存储数据持续稳定可靠,且不需要专用宇航计算机硬件外设,软件实现简单,成本低廉。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (2)
1.一种存储器数据分层校验方法,其特征在于,包含以下步骤:
对存储器的所有空间进行读操作,如果发现存储器单位翻转异常,将读取的该单位翻转异常地址的数据作为操作数回写到该单位翻转异常地址,完成对存储器单位翻转异常的修复,如果发现存储器多位翻转异常,将该多位翻转异常的地址本身作为操作数回写到该多位翻转异常地址,并标记该多位翻转异常地址,对该多位翻转异常地址中存储的三份完全相同的数据进行“三取二”检查,将“三取二”检查结果作为操作数回写到该多位翻转异常地址。
2.如权利要求1所述的存储器数据分层校验方法,其特征在于,在将“三取二”检查结果作为操作数回写到该多位翻转异常地址后,进行修复确认操作,完成对存储器多位翻转异常的修复;
所述的修复确认操作是指:检查该多位翻转异常地址中的数据内容是否为该多位翻转异常地址本身。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710035619.XA CN106776100B (zh) | 2017-01-17 | 2017-01-17 | 一种存储器数据分层校验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710035619.XA CN106776100B (zh) | 2017-01-17 | 2017-01-17 | 一种存储器数据分层校验方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106776100A CN106776100A (zh) | 2017-05-31 |
CN106776100B true CN106776100B (zh) | 2020-04-10 |
Family
ID=58944302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710035619.XA Active CN106776100B (zh) | 2017-01-17 | 2017-01-17 | 一种存储器数据分层校验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106776100B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096402B (zh) * | 2019-05-06 | 2023-08-22 | 苏州盛科通信股份有限公司 | 对芯片数据异常处理逻辑的验证装置和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1485623A (zh) * | 2002-09-27 | 2004-03-31 | 记忆科技(深圳)有限公司 | 动态存储器模组的高效测试方法 |
US7865805B1 (en) * | 2007-02-26 | 2011-01-04 | Lockheed Martin Corporation | Multiple bit upset insensitive error detection and correction circuit for field programmable gate array based on static random access memory blocks |
CN103984630B (zh) * | 2014-05-27 | 2017-02-01 | 中国科学院空间科学与应用研究中心 | 一种基于at697处理器的单粒子翻转故障处理方法 |
CN105022859B (zh) * | 2015-05-08 | 2018-01-19 | 西北核技术研究所 | 一种器件的重离子单粒子多位翻转效应的定量分析方法 |
CN204834060U (zh) * | 2015-08-03 | 2015-12-02 | 西安华芯半导体有限公司 | 一种用于多页存储阵列的损坏单元片内统计系统 |
-
2017
- 2017-01-17 CN CN201710035619.XA patent/CN106776100B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106776100A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101374455B1 (ko) | 메모리 에러와 리던던시 | |
US7334159B1 (en) | Self-testing RAM system and method | |
JP5221699B2 (ja) | 半導体記憶装置 | |
US8645776B2 (en) | Run-time testing of memory locations in a non-volatile memory | |
US10204698B2 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
US7293204B2 (en) | Computer peripheral connecting interface system configuration debugging method and system | |
US9208901B2 (en) | Memory buffer having accessible information after a program-fail | |
US7890836B2 (en) | Method and apparatus of cache assisted error detection and correction in memory | |
US8566672B2 (en) | Selective checkbit modification for error correction | |
TW201003662A (en) | Memory malfunction prediction system and method | |
CN1971536A (zh) | 基本输入输出系统的纠错系统及方法 | |
EP2770507B1 (en) | Memory circuits, method for accessing a memory and method for repairing a memory | |
US10319461B2 (en) | Low-overhead mechanism to detect address faults in ECC-protected memories | |
US8650437B2 (en) | Computer system and method of protection for the system's marking store | |
US7529969B1 (en) | Memory device internal parameter reliability | |
US7908530B2 (en) | Memory module and on-line build-in self-test method thereof for enhancing memory system reliability | |
CN112667445A (zh) | 封装后的内存修复方法及装置、存储介质、电子设备 | |
US8219883B2 (en) | Data accessing method, controller and storage system using the same | |
US9009548B2 (en) | Memory testing of three dimensional (3D) stacked memory | |
CN106776100B (zh) | 一种存储器数据分层校验方法 | |
US7788550B2 (en) | Redundant bit patterns for column defects coding | |
CN112181712B (zh) | 一种提高处理器核可靠性的方法及装置 | |
CN116430835B (zh) | 一种Cortex-M微控制器的故障存储与分析方法 | |
US10579470B1 (en) | Address failure detection for memory devices having inline storage configurations | |
US20230315302A1 (en) | Complete And Fast Protection Against CID Conflict |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |