CN110489268B - 一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统 - Google Patents

一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统 Download PDF

Info

Publication number
CN110489268B
CN110489268B CN201910715560.8A CN201910715560A CN110489268B CN 110489268 B CN110489268 B CN 110489268B CN 201910715560 A CN201910715560 A CN 201910715560A CN 110489268 B CN110489268 B CN 110489268B
Authority
CN
China
Prior art keywords
word
error correction
inter
intra
error
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
Application number
CN201910715560.8A
Other languages
English (en)
Other versions
CN110489268A (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.)
Nankai University
Original Assignee
Nankai University
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 Nankai University filed Critical Nankai University
Priority to CN201910715560.8A priority Critical patent/CN110489268B/zh
Publication of CN110489268A publication Critical patent/CN110489268A/zh
Application granted granted Critical
Publication of CN110489268B publication Critical patent/CN110489268B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明提供了一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统,主要应对当存储系统处于空间辐照环境下受到高能粒子攻击导致存储单元发生多个单粒子翻转错误的情况。其中的步骤包括:1、根据星上存储器特点选取字内与字间编码方案。2、每个字先做字内编码。3、生成字内编码后,随后进行字间编码。4、解码操作首先进行字内检错,得到相应的伴随式。根据得到的伴随式判断码字有没有错误,如果存在错误,则进行纠错过程。5、纠错过程首先进行字内修复,如果不能通过修复则需要进入字间纠错阶段。6、字间纠错阶段,读取同组条纹内其他字,同样进行检错,纠错,字内恢复,如果同组的其他字能够正确恢复,则进行字间校验恢复出错条纹。

Description

一种应用于星上恶劣环境中存储系统的两级纠错编码方法与 系统
技术领域
本发明属于恶劣空间环境下星上可靠存储系统技术领域,特别涉及一种基于组合编码的两级冗余编码方案及系统。
背景技术
在恶劣的空间环境(如地球辐射带,相应的宇宙线中)中,存在着大量的高能粒子。这些带电粒子在穿过航天系统中的微电子器件时,在器件内部敏感区可能会产生电子-空穴对,这些电荷被灵敏器件电极收集后,造成器件逻辑状态的非正常改变或器件损坏。由于这种效应是单个粒子作用的结果,因此称为单粒子效应或单粒子事件。
单粒子效应分为单粒子翻转、单粒子闭锁、单粒子烧毁等,其中单粒子翻转最为普遍。所谓单粒子翻转,是指星上存储单元在恶劣的辐照环境下受到高能粒子攻击时,可能会出现存储信息发生错误的情况,即原始写入数据为“0”,而实际存储器件中的内容却翻转为“1”,或者从“1”翻转到“0”,从而导致存储系统功能紊乱。单粒子翻转错误会造成航天系统程序运行错误,计算结果异常等严重后果。随着电子元器件工艺尺寸的逐步缩减,电路集成度不断提高,存储单元发生单粒子翻转的临界电荷逐渐减小,即航天系统中发生单粒子翻转的现象越来越频繁,不能够再被人们所忽略。
为保证在轨航天系统正常运行,必须高度重视空间环境条件的预测和保障,设计相应的冗余措施来最大幅度地预防和消除相关恶劣辐照环境的影响。
传统应对单粒子效应的防护措施可分为两大类,硬件加固和软件加固技术。硬件加固方面通常选用三模冗余技术对存储系统进行容错,其基本思想是对于待加固模块生成两个相同的模块,再通过多数表决输出,这样如果有一个模块发生故障电路依然可以正常工作;软件加固方面通常使用纠错码,通过附加相应的校验位来纠正错误。航天系统现有的软件防护措施中,有很多产品使用海明码来进行错误检测与纠正,海明码纠一检二的功能降低了航天存储系统中不可修复的概率,但随着空间环境越来越恶劣,灵敏器件特征尺寸越来越小,造成单粒子翻转现象所需要的临界电荷也越来越低,即字内出现多个单粒子翻转错误的现象越来越频繁,这时使用纠正一位错误的海明码就很难保证在轨航天的正常运行。
发明内容
本发明针对随着在轨航天运行环境越来越复杂,星上存储系统受到高能粒子的攻击时发生多个单粒子翻转的现象,造成字内出现多个位错误的情况,然而常规的海明纠错码难以保证在轨系统的可靠性的问题,提出了一种基于组合编码的两级冗余编码方案及系统。该方案能够有效地降低存储系统不可修复的概率,提高整个系统的可靠性,从而保证在轨星上的安全。
为实现上述发明的目的,本发明提供了一种基于组合编码的两级冗余编码方案。
为了达到上述目的,本发明采用的技术方案是:
一种应用于星上恶劣环境中存储系统的两级纠错编码方法,包括:
S1,根据星上系统各个存储器的不同特点,灵活的选取字内编码与字间编码组合的方案;
S2,首先进行编码操作,每个字先做字内编码,即根据字内编码规则来生成字内校验位;
S3,生成字内编码后,随后进行字间校验,字内信息位与相关校验对应位置按照选取的字间编码的规则做相关运算生成第二级编码,得出字间校验结果;
S4,解码操作首先进行检错,具体方式为将收到的码字乘以根据编码规则得到的校验矩阵,得到相应的伴随式,并根据得到的伴随式判断码字有没有错误,如果得到的伴随式此时为0,则说明码字没有错误,直接返回,如果伴随式不为0,证明发生了错误,则进入S5;
S5,首先进行字内纠错。需要查预先生成的伴随式与错误图样映射表,如果表中含有S4计算得到的伴随式,即可以通过字内修复来进行纠正错误;如果表中不含此次计算得到的伴随式,说明错误位数超过字内纠错能力,则进行字间纠错,进入S6;
S6,通过读取同组条纹内其他字,同样进行检错,纠错,字内恢复的过程,如果同组的其他字能够正确恢复,则最后进行字间校验规则恢复出错条纹。
其中步骤S1所述的星上系统包括:在轨航天存储系统和其他对恶劣空间环境较为敏感而产生单粒子翻转现象的电子系统。
步骤S1所述存储器的不同特点包括:存储系统可靠性的不同:不同的存储器对于空间恶劣辐照环境的敏感性不同,敏感性的不同又会导致存储系统可靠性的不同,通常可分为对环境敏感型存储器(如星上常用作运行内存SRAM)和非敏感型存储器(如星上常用作程序存储器PROM等);存储系统用途的不同:根据存储系统功能的不同,星上通常可分为只读或者可读可写的用途,在用途方面通常可分为外部存储器和内部存储器等。
步骤S1所述的字内字间编码包括:根据存储器可靠性和用途的不同选取字内,字间编码,当存储器件写操作很少,可靠性较高,选用字内低纠错低代价编码+字间高纠错高代价编码,反之,选用字内高纠错高代价编码+字间低纠错低代价编码,来平衡可靠性和编解码的相关性能。
步骤S3所述的按照选取的字间编码规则生成第二级编码包括:生成第一级编码后,将编码后结果看作独立的编码字,根据初始时选取的不同字间编码,按照字间编码的相应规则,再次进行编码操作,来生成第二级的编码结果。
步骤S4所述的检错方案包括:将收到的码字按照解码规则得到相应的伴随式。并根据伴随式判断收到的码字存不存在错误,如果不存在错误,则直接返回将收到的码字返回给用户即可;如果存在错误,则首先进行字内纠错模块。
步骤S5所述的两级纠错阶段包括:首先利用字内编码的相应性质来纠正错误,如果收到的码字错误个数超过字内编码纠错的能力,则需要用到字间编码来恢复码字的错误。
为实现上述发明目的,本发明还提供了一种应用于星上恶劣环境中存储系统的两级纠错编码系统,该系统包括:
初始化模块,用于初始化编解码系统。针对不同的存储器系统,采用不同的方式。针对内部存储器系统,其具体实现为硬件方面,硬件中设计有专门负责字间校验更新的模块,通过取硬件实现的校验队列的值来实现第二级编码;针对外部存储器系统,其具体表现为软件方面,主要表现为初始化一个软件队列并启动一个更新线程负责字间校验更新;
输入模块,用于为系统输入字内,字间编码的组合方案。根据星上存储器等不同可靠性、用途等不同特点,选取字内,字间编码;
响应用户模块,用于实际系统响应用户的操作。根据选取的字内编码规则,首先生成新的字内校验,然后读取该字的旧值和旧校验,字间更新队列存储临时变量Δ(其中Δ为中间变量的异或值,计算过程为Δ=(得到的新值与新校
验)XOR(读取旧值与旧校验)),最后将得到的新值新校验,返回给用户,此时用户感知到的更新过程结束;
后台校验更新模块,用于实际更新第二级校验操作。具体形式为线程从系统初始化得到的更新队列中不断地取出上步存储的临时变量请求更新Δ,读取旧字间校验,进行相关计算得到第二级编码结果(其中计算过程为取出的ΔXOR(旧字间校验)),完成更新操作,一个写操作更新完整的过程结束。
检错模块,用于收到码字后进行检错操作。将收到的码字按照解码规则得到相应的伴随式。并根据得到的伴随式判断码字有没有错误,如果没有,检错模块结束,直接返回给用户即可,如果存在错误,则进行字内纠错模块。
字内纠错模块,用于字内纠错。通过查预先生成的伴随式与错误图样映射表,如果表中含有此次计算得到的伴随式,即可以通过字内修复,纠正错误,返回;如果不含所得到的伴随式,则进行字间纠错。
字间纠错模块,用于字间纠错。通过读取同组条纹内其他字,同样进行检错,纠错,字内恢复的过程,如果同组的其他字能够正确恢复,则进行字间校验规则恢复出错条纹,最后将恢复正确的条纹返回用户。
本发明的优点和有益效果在于,首先能够有效地解决星上存储系统发生多个单粒子翻转错误的问题,与单一的字内编码相比,两级冗余编码能够大大降低星上存储系统出现不可修复的概率,从而保证了星上在轨航天的安全运行;并且由于采用延迟更新写的方法,能够明显减少第二级编码对整个的存储系统所带来的影响,即消除了引入第二级编码后更新延迟变大的问题;不同的存储系统对可靠性和性能的要求有所不同。两级冗余编码可以针对不同存储器件的特点,灵活地组合出相应的冗余方案,来满足系统的可靠性需求。
附图说明
图1是本发明的一种基于组合编码的两级冗余编码表示方法流程图;
图2、图3、图4、图5是本发明的一种EDAC(39,32)与两级冗余编码EDAC(39,32)和XOR(8,7)、BCH(44,32)与两级冗余编码BCH(44,32)和XOR(8,7)编码/故障读相关的性能对比图;
图6是本发明的一种系统单字写时延迟更新/正常更新机制性能对比;
图7是本发明的一种基于组合编码的两级冗余编码表示系统示意图;
具体实施方式
为便于理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,下述实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的方法思想和实施例,本领域的技术人员所获得的其他实施例,都属于本发明的保护范畴。
参见附图1,本发明提供的应用于星上恶劣环境中存储系统的两级纠错编码方法,包括以下步骤:
步骤1,根据星上系统各个存储器的不同特点,灵活的选取字内编码与字间编码组合的方案。
步骤2,首先进行编码操作,每个字先做字内编码,即通过乘以相应的编码矩阵来生成字内校验位。
步骤3,生成字内编码后,随后进行字间校验,字内信息位与相关校验对应位置按照选取的字间编码的规则做相关运算生成第二级编码,得出字间校验结果。
步骤4,解码操作首先进行检错,具体方式为将收到的码字乘以根据编码规则得到的校验矩阵,得到相应的伴随式。如果得到的伴随式此时为0,则说明码字没有错误,直接返回即可;
步骤5,如果伴随式不为0,证明发生了错误,则首先进行字内纠错。需要查预先生成的伴随式与错误图样映射表,如果表中含有此次计算得到的伴随式,即可以通过字内修复来进行纠正错误;
步骤6,如果伴随式与错误图样映射表中不含此次计算得到的伴随式,说明错误位数超过字内纠错能力,则进行字间纠错。通过读取同组条纹内其他字,同样进行检错,纠错,字内恢复的过程,如果同组的其他字能够正确恢复,则最后进行字间校验规则恢复出错条纹。
实施例1:
对于图1步骤S1中的针对存储器的不同特点,我们将结合具体示例进行说明。
例如程序存储器PROM,NOR_FLASH本身属于只读型的存储器,在空间恶劣环境中不易受到单粒子影响,即可靠性较高,故可以在字内仍然采用低纠错的EDAC(39,32)编码,字间采用奇偶校验编码或高纠错编码。而对于数据存储器NAND_FLASH和运行内存SRAM这种自身可靠性较低、有较多写操作的,可以在字内采用高纠错码如BCH双纠错编码,字间采用奇偶校验编码。这样,就可以针对不同的存储器件的自身特点,平衡可靠性和成本、性能。
本发明以字内编码采用原始的存储编码方案BCH(44,32)中,字间采用奇偶校验码来举例说明两级冗余编码的具体过程。
首先进行编码操作,每个字先做字内编码,即通过乘以相应的编码矩阵来生成字内校验位。
假设BCH(44,32)中的信息码字为
d0(before)={0000000000000000000000000000001}
通过字内编码,与编码矩阵相乘,附加相应的校验位得到相应的结果为
d0(after)={00000000000000000000000000000001001110010101}
生成字内编码后,随后进行字间校验,字内信息位与相关校验d0(after)对应位置按照选取的字间编码的规则做相关运算生成第二级编码,得出字间校验结果xor(new)
假设原有的字间校验,原始的信息码和相应校验位xor(old),d0(old)都为0,即
xor(old)=d0(old)={0000000000000000000000000000000000000000000}
所以可得新的字间校验
Figure BDA0002155310130000081
解码操作首先进行检错,具体方式为将收到的码字d0′乘以根据编码规则得到的校验矩阵H,得到相应的伴随式。
假设收到的码字
d0′={00000000000000000000000000000001001110010101}
与校验矩阵相乘得到相应的伴随式,此时得到的伴随式
S={0000000}
S此时为0,则说明码字没有错误,直接返回即可;
假设收到的码字
d0′={00000000000000000000000000000001001110010100}
为通过与校验矩阵相乘得伴随式为
S={000000000001}
即有相应错误,则证明发生了错误,则首先进行字内纠错。需要查预先生成的伴随式与错误图样映射表,如果表中含有此次计算得到的伴随式,即可以通过字内修复,通过翻转错误位置来进行纠正错误。
如果伴随式与错误图样映射表中不含此次计算得到的伴随式,即说明错误位数超过字内纠错能力,则进行字间纠错。通过读取同组条纹内其他字,同样进行检错,纠错,字内恢复的过程,如果同组的其他字能够正确恢复,则最后进行字间校验规则恢复出错条纹。即
Figure BDA0002155310130000091
即通过第二级编码,恢复出正确的信息d0′。
实施例2:
本实例我们主要针对上述可能应用的两种字内编码方案EDAC(39,32)和BCH(44,32)及新提出的两级冗余方案进行编码、检错、纠错计算性能分析。实验结果体现为编码的相关计算过程,其输入分别为不同编码所需的生成矩阵、解码所需的校验矩阵和伴随式与错误图样映射表、随机生成的相应信息和每个条纹中随机生成的错误位置。以编解码1GB数据为例,初步测试内存和外存两种模式下编码计算效率结果如图2、图3、图4、图5所示:
由图2,图3可知:在内存系统中,字内编码方案与本项目新提出的两级冗余方案相比,编码操作时间大致一样;检错方面,无故障读也大致相同;故障读比正常的纠错故障读大概多耗时间,原因分析为当发生了字内编码不可修复的错误时,使用新设计的两级编码方案需要从内存中读同组的相关条纹,然后进行解码,异或计算,其中读取内存和异或的运算过程消耗了一定的时间。
当编码应用到外部存储器中,CPU需要从外部存储器加载或写入数据,为了模拟星上的存储系统,外部存储器的实验全都采用SSD来实现相应功能。类似于内存系统,仍以测编解码1GB数据为例,初步测试结果如图4、图5下所示。
外部存储器编码主要分为编码计算和写磁盘两个步骤,由图4可见,将编码后的结果写入到磁盘这一过程占用了编码大部分的时间,由于BCH整体的编码条纹大小要比EDAC的大,故写入磁盘的时间有所减少,所以BCH总的编码时间较EDAC相比也有所减少。
在读的实验过程中,可分为不超过字内编码能力的故障读和超过字内编码能力的多故障读。从图5中可以看出与内存编码类似,多故障读较字内纠错能力的故障读耗费时间有所增加。
实施例3:
实施例2实验部分主要体现的是两级冗余方案编解码相关的计算结果。本实施例将两级存储编码应用在上述所说的编解码仿真系统中,描述了系统写更新单字的情况。其输入为所需要的编码矩阵和被更新的条纹地址。仍以两级编码BCH(44,32)和XOR(8,7)为例,将该两级冗余编码应用在外部存储器中。横坐标为用户写(更新)请求的个数,纵坐标为存储系统平均完成每个请求更新所耗费的时间,实验结果如图6所示。
通过图6可知,应用在外部存储器系统更新延迟写方法与同步进行更新等方式相比优势较为明显。这是由于在外部存储器中,系统正常更新写的过程需要对磁盘进行频繁的IO操作,然而采用延迟更新的方法用户感知到的仍只是字内一级编码所消耗的IO时间,很明显能够减少用户的等待时间。
实施例4
参照图7,本发明提供了一种应用于星上恶劣环境中存储系统的两级纠错编码系统,用于实现实施例1-3。该系统包括:
初始化模块,用于初始化编解码系统。针对不同的存储器系统,采用不同的方式。针对内部存储器系统,其具体实现为硬件方面,硬件中设计有专门负责字间校验更新的模块,通过取硬件实现的校验队列的值来实现第二级编码;针对外部存储器系统,其具体表现为软件方面,主要表现为初始化一个软件队列并启动一个更新线程负责字间校验更新;
输入模块,用于为系统输入字内,字间编码的组合方案。根据星上存储器等不同可靠性、用途等不同特点,选取字内,字间编码;
响应用户模块,用于实际系统响应用户的操作。根据选取的字内编码规则,首先生成新的字内校验,然后读取该字的旧值和旧校验,字间更新队列存储临时变量Δ(其中Δ为中间变量的异或值,计算过程为Δ=(得到的新值与新校
验)XOR(读取旧值与旧校验)),最后将得到的新值新校验,返回给用户,此时用户感知到的更新过程结束;
后台校验更新模块,用于实际更新第二级校验操作。具体形式为线程从系统初始化得到的更新队列中不断地取出上步存储的临时变量请求更新Δ,读取旧字间校验,进行相关计算得到第二级编码结果(其中计算过程为取出的ΔXOR(旧字间校验)),完成更新操作,一个写操作更新完整的过程结束。
检错模块,用于收到码字后进行检错操作。将收到的码字按照解码规则得到相应的伴随式。并根据得到的伴随式判断码字有没有错误,如果没有,检错模块结束,直接返回给用户即可,如果存在错误,则进行字内纠错模块。
字内纠错模块,用于字内纠错。通过查预先生成的伴随式与错误图样映射表,如果表中含有此次计算得到的伴随式,即可以通过字内修复,纠正错误,返回;如果不含所得到的伴随式,则进行字间纠错。
字间纠错模块,用于字间纠错。通过读取同组条纹内其他字,同样进行检错,纠错,字内恢复的过程,如果同组的其他字能够正确恢复,则进行字间校验规则恢复出错条纹,最后将恢复正确的条纹返回用户。

Claims (8)

1.一种应用于星上恶劣环境中存储系统的两级纠错编码方法,其特征在于:包括:
步骤1,根据星上系统各个存储器的不同特点,灵活的选取字内编码与字间编码组合的方案;
步骤2,首先进行编码操作,每个字先做字内编码,即通过乘以相应的编码矩阵来生成字内校验位;
步骤3,生成字内编码后,随后进行字间校验,字内信息位与相关校验对应位置按照选取的字间编码的规则做相关运算生成第二级编码,得出字间校验结果;
步骤4,解码操作首先进行检错,具体方式为将收到的码字乘以根据编码规则得到的校验矩阵,得到相应的伴随式,如果得到的伴随式此时为0,则说明码字没有错误,直接返回;
步骤5,如果伴随式不为0,证明发生了错误,则首先进行字内纠错,需要查预先生成的伴随式与错误图样映射表,如果表中含有此次计算得到的伴随式,即可以通过字内修复来进行纠正错误;
步骤6,如果伴随式与错误图样映射表中不含此次计算得到的伴随式,说明错误位数超过字内纠错能力,则进行字间纠错,通过读取同组条纹内其他字,同样进行检错,纠错,字内恢复的过程,如果同组的其他字能够正确恢复,则最后进行字间校验规则恢复出错条纹。
2.根据权利要求1所述的应用于星上恶劣环境中存储系统的两级纠错编码方法,其特征在于:步骤1所述的星上系统包括:
在轨航天存储系统和其他对恶劣空间环境较为敏感而产生单粒子翻转现象的电子系统。
3.根据权利要求1所述的应用于星上恶劣环境中存储系统的两级纠错编码方法,其特征在于:步骤1所述的存储器的不同特点包括:
存储系统可靠性的不同:不同的存储器对于空间恶劣辐照环境的敏感性不同,敏感性的不同又会导致存储系统可靠性的不同,通常分为对环境敏感型存储器和非敏感型存储器;
存储系统用途的不同:根据存储系统功能的不同,星上通常分为只读或者可读可写的用途,在用途方面通常分为外部存储器和内部存储器。
4.根据权利要求1所述的应用于星上恶劣环境中存储系统的两级纠错编码方法,其特征在于:步骤1所述的字内字间编码包括:
根据存储器可靠性和用途的不同选取字内,字间编码,当存储器件写操作很少,可靠性高,选用字内低纠错低代价编码+字间高纠错高代价编码,反之,选用字内高纠错高代价编码+字间低纠错低代价编码,来平衡可靠性和编解码的相关性能。
5.根据权利要求1所述的应用于星上恶劣环境中存储系统的两级纠错编码方法,其特征在于:步骤3所述的按照选取的字间编码规则生成第二级编码包括:
生成第一级编码后,要按照选取的第二级校验的编码规则,再次进行编码,来生成第二级的校验结果。
6.根据权利要求1所述的应用于星上恶劣环境中存储系统的两级纠错编码方法,其特征在于:步骤4所述的检错方案包括:将收到的码字按照解码规则得到相应的伴随式,并根据伴随式判断收到的码字存不存在错误,如果不存在错误,则直接返回将收到的码字返回给用户;如果存在错误,则首先进行字内纠错模块。
7.根据权利要求1所述的应用于星上恶劣环境中存储系统的两级纠错编码方法,其特征在于:步骤5所述的两级纠错阶段包括:
首先利用字内编码的规则来纠正相应错误,如果发生错误的个数超过字内编码,需要用到字间编码来恢复相关错误。
8.一种应用于星上恶劣环境中存储系统的两级纠错编码系统,用于实现权利要求1-7任一项所述的方法,其特征在于,包括:
初始化模块,用于初始化编解码系统,针对不同的存储器系统,采用不同的方式,针对内部存储器系统,其具体实现为硬件方面,硬件中设计有专门负责字间校验更新的模块,通过取硬件实现的校验队列的值来实现第二级编码;针对外部存储器系统,其具体表现为软件方面,表现为初始化一个软件队列并启动一个更新线程负责字间校验更新;
输入模块,用于为该系统输入字内,字间编码的组合方案,根据星上存储器不同可靠性、用途不同特点,选取字内,字间编码;
响应用户模块,用于实际系统响应用户的操作,根据选取的字内编码规则,首先生成新的字内校验,然后读取该字的旧值和旧校验,字间更新队列存储临时变量Δ,其中Δ为中间变量的异或值,计算过程为Δ=(得到的新值与新校验)XOR(读取旧值与旧校验),最后将得到的新值新校验,返回给用户,此时用户感知到的更新过程结束;
后台校验更新模块,用于实际更新第二级校验操作,具体形式为线程从系统初始化得到的更新队列中不断地取出上步存储的临时变量请求更新Δ,读取旧字间校验,进行相关计算得到第二级编码结果,其中计算过程为取出的ΔXOR(旧字间校验),完成更新操作,一个写操作更新完整的过程结束;
检错模块,用于收到码字后进行检错操作,将收到的码字按照解码规则得到相应的伴随式,并根据伴随式判断收到的码字存不存在错误,如果不存在错误,则直接返回将收到的码字返回给用户即可;如果存在错误,则首先进行字内纠错模块;
字内纠错模块,用于字内纠错,通过查预先生成的伴随式与错误图样映射表,如果表中含有此次计算得到的伴随式,即可以通过字内修复,纠正错误,返回;如果不含所得到的伴随式,则进行字间纠错;
字间纠错模块,用于字间纠错,通过读取同组条纹内其他字,同样进行检错,纠错,字内恢复的过程,如果同组的其他字能够正确恢复,则进行字间校验规则恢复出错条纹,最后将恢复正确的条纹返回用户。
CN201910715560.8A 2019-08-05 2019-08-05 一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统 Active CN110489268B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910715560.8A CN110489268B (zh) 2019-08-05 2019-08-05 一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910715560.8A CN110489268B (zh) 2019-08-05 2019-08-05 一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统

Publications (2)

Publication Number Publication Date
CN110489268A CN110489268A (zh) 2019-11-22
CN110489268B true CN110489268B (zh) 2023-01-20

Family

ID=68549377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910715560.8A Active CN110489268B (zh) 2019-08-05 2019-08-05 一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统

Country Status (1)

Country Link
CN (1) CN110489268B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112278328B (zh) * 2020-10-28 2021-07-06 北京和德宇航技术有限公司 卫星姿控软件防护方法、装置、设备及存储介质
CN113608924A (zh) * 2021-06-29 2021-11-05 航天东方红卫星有限公司 一种小卫星程控数据容错方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1471763A (zh) * 2001-08-28 2004-01-28 连宇通信有限公司 对源数据元素进行纠错编码的方法及相应的迭代译码器
JP2006101429A (ja) * 2004-09-30 2006-04-13 Tokyo Institute Of Technology バイト内複数スポッティバイト誤り訂正・検出方法及び装置
CN101232348A (zh) * 2006-10-04 2008-07-30 马维尔国际贸易有限公司 利用循环冗余校验纠错的装置和方法
CN103218272A (zh) * 2013-04-25 2013-07-24 西安空间无线电技术研究所 一种星载数字信号处理器翻转加固方法
CN104464822A (zh) * 2014-11-21 2015-03-25 湖南大学 一种基于闪存错误区间的ldpc纠错编码方法
CN106708654A (zh) * 2017-01-10 2017-05-24 电子科技大学 一种用于NANDflash的BCH纠错码的电路结构

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1773864B (zh) * 2004-11-12 2010-05-05 中国科学院空间科学与应用研究中心 一种纠错能力为2的扩展里德—所罗门码的译码方法
CN105553485B (zh) * 2015-12-08 2019-03-29 西安电子科技大学 基于fpga的bch编解码装置及其编解码方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1471763A (zh) * 2001-08-28 2004-01-28 连宇通信有限公司 对源数据元素进行纠错编码的方法及相应的迭代译码器
JP2006101429A (ja) * 2004-09-30 2006-04-13 Tokyo Institute Of Technology バイト内複数スポッティバイト誤り訂正・検出方法及び装置
CN101232348A (zh) * 2006-10-04 2008-07-30 马维尔国际贸易有限公司 利用循环冗余校验纠错的装置和方法
CN103218272A (zh) * 2013-04-25 2013-07-24 西安空间无线电技术研究所 一种星载数字信号处理器翻转加固方法
CN104464822A (zh) * 2014-11-21 2015-03-25 湖南大学 一种基于闪存错误区间的ldpc纠错编码方法
CN106708654A (zh) * 2017-01-10 2017-05-24 电子科技大学 一种用于NANDflash的BCH纠错码的电路结构

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种卫星存储器纠错检错系统设计;向春清等;《淮阴工学院学报》;20070615(第03期);全文 *
基于Simulink的战术数据链纠错编码仿真;施意等;《四川兵工学报》;20111025(第10期);全文 *

Also Published As

Publication number Publication date
CN110489268A (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
US10838808B2 (en) Error-correcting code memory
US8589759B2 (en) RAM single event upset (SEU) method to correct errors
US8181094B2 (en) System to improve error correction using variable latency and associated methods
Reviriego et al. A method to design SEC-DED-DAEC codes with optimized decoding
US9208027B2 (en) Address error detection
CN110489268B (zh) 一种应用于星上恶劣环境中存储系统的两级纠错编码方法与系统
US8185801B2 (en) System to improve error code decoding using historical information and associated methods
Dutta Low cost adjacent double error correcting code with complete elimination of miscorrection within a dispersion window for multiple bit upset tolerant memory
Naseer et al. Analysis of soft error mitigation techniques for register files in IBM Cu-08 90nm technology
CN106328209B (zh) 存储器单粒子多位翻转容错方法及电路
US9329926B1 (en) Overlapping data integrity for semiconductor devices
CN113608720B (zh) 一种抗单粒子翻转的星载数据处理系统及方法
WO2016122515A1 (en) Erasure multi-checksum error correction code
CN112052117B (zh) 基于冗余api接口的星载系统软件防护方法
US9189327B2 (en) Error-correcting code distribution for memory systems
CN112000526A (zh) 一种低成本小卫星重要数据容错方法
US20230214295A1 (en) Error rates for memory with built in error correction and detection
CN104597807A (zh) 一种星载综合电子cpu翻转加固系统及方法
Karan et al. A Robust Code for MBU Correction Till 5-Bit Error
US20230195565A1 (en) Multilevel Memory System with Copied Error Detection Bits
US11609813B2 (en) Memory system for selecting counter-error operation through error analysis and data process system including the same
Magalhães et al. PHICC: an error correction code for memory devices
Domingos et al. MMS: A Software for Error Monitoring in Memories Protected by ECC
CN114253761A (zh) 一种基于校验的程序块三模存储方法
CN117811592A (zh) 针对触发器的单粒子翻转纠错方法、装置和设备

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