航天数据保护方法、存储介质、计算机程序、系统、终端技术方案

技术编号:24682601 阅读:47 留言:0更新日期:2020-06-27 07:46
本发明专利技术属于数据保护技术领域,公开了一种航天数据保护方法、存储介质、计算机程序、系统、终端,构建生成矩阵、校验矩阵;获取FPGA需要存储的中间变量或航天数据;构建原始数据矩阵,计算每行数据对应的原始校验数据;对原始矩阵所在列中的数据进行异或,计算每列数据对应的奇偶校验位;构建交织矩阵,将得到的原始校验数据及奇偶校验位进行交织;将得到交织矩阵按行进行拼接;将带有校验位的数据存入到相应位宽的寄存器或者存储空间中;构建解交织矩阵;构建最终校验矩阵;对每行数据分别计算校正子;将最终校验矩阵进行异或;截取矩阵,按顺序进行拼接;产生检错标志。本发明专利技术提高了校验码的纠检错能力和通用性。

Aerospace data protection methods, storage media, computer programs, systems, terminals

【技术实现步骤摘要】
航天数据保护方法、存储介质、计算机程序、系统、终端
本专利技术属于数据保护
,尤其涉及一种航天数据保护方法、存储介质、计算机程序、系统、终端。
技术介绍
目前,现场可编程逻辑门阵列(FPGA)是一种具有可编程能力的门阵列,在FPGA中部署的程序可以多次重复擦除与烧写,在航天系统中应用广泛。但是在航天环境中,存在多种辐射,且辐射的强度比地面环境大很多,这些辐射会造成FPGA内部的存储单元发生单粒子翻转SEU、多单元翻转MCU等现象,从而使FPGA中内部数据被破坏、程序逻辑状态发生异常变化等,进而影响功能。为了解决SEU、MCU等问题,通常采用冗余备份的方式对关键数据进行保护,常见的有双模冗余DMR、三模冗余TMR,但是这种保护方式会造成程序的存储需要、电路布局布线难度、FPGA产品规模等成倍增加。航天环境中负责设备的体积、重量都有严格的限制,因此只通过冗余备份的方式解决粒子翻转带来的问题不切实际。随着错误检测与纠正EDAC技术的不断发展,使用纠错码发现数据中因粒子翻转出现错误的比特位并进行纠正成为一种有效解决粒子翻转问题的方本文档来自技高网...

【技术保护点】
1.一种航天数据保护方法,其特征在于,所述航天数据保护方法包括:/n第一步,构建生成矩阵、校验矩阵;/n第二步,获取FPGA需要存储的数据或者在FPGA上运行程序过程中需要存储的中间变量,作为原始数据;/n第三步,将原始数据进行分割,构建原始数据矩阵,对原始矩阵每行分别与生成矩阵相乘,计算每行数据对应的原始校验数据;对原始数据所在列中的数据进行异或,计算每列数据对应的奇偶校验位;/n第四步,将得到的原始校验数据及奇偶检验数据进行交织,得到交织矩阵;将交织矩阵按行进行拼接,得到需要存储的带有校验位的数据;将带有校验位的数据存入到相应位宽的寄存器或者存储器中;/n第五步,从相应的寄存器或者存储空间...

【技术特征摘要】
1.一种航天数据保护方法,其特征在于,所述航天数据保护方法包括:
第一步,构建生成矩阵、校验矩阵;
第二步,获取FPGA需要存储的数据或者在FPGA上运行程序过程中需要存储的中间变量,作为原始数据;
第三步,将原始数据进行分割,构建原始数据矩阵,对原始矩阵每行分别与生成矩阵相乘,计算每行数据对应的原始校验数据;对原始数据所在列中的数据进行异或,计算每列数据对应的奇偶校验位;
第四步,将得到的原始校验数据及奇偶检验数据进行交织,得到交织矩阵;将交织矩阵按行进行拼接,得到需要存储的带有校验位的数据;将带有校验位的数据存入到相应位宽的寄存器或者存储器中;
第五步,从相应的寄存器或者存储空间中读出数据,构建解交织矩阵;根据解交织矩阵,构建最终校验矩阵;根据校验矩阵,对每行数据分别计算校正子;判断校正子的数值。
第六步,将最终校验矩阵进行异或,异或后的结果替换;截取矩阵,按顺序进行拼接;产生检错标志,表明当前数据或者中间变量发生不可纠正的多位错误。


2.如权利要求1所述的航天数据保护方法,其特征在于,所述第一步包括:
(1)构建生成矩阵G,规模为4×8,表达式G=[I4BT],其中I4是4阶单位矩阵,表达式为:
B是一个4行4列的矩阵,其每一列中应该有奇数个1,每行中1的个数尽可能相等且最大相差为1,且没有完全相同的两列;
(2)构建规模为4×8的校验矩阵H=[BI4],其中I4是4阶单位矩阵。


3.如权利要求1所述的航天数据保护方法,其特征在于,所述第二步包括:获取到的原始数据D,原始数据是FPGA中需要存储的航天数据,或者FPGA上程序运行中,进行存储的中间变量。


4.如权利要求1所述的航天数据保护方法,其特征在于,所述第三步包括:
(1)获取的原始数据矩阵D'是将原始数据D按照每行4比特进行分割得到的,其规模为k*4;
(2)根据原始数据矩阵D'及生成矩阵G,得到原始校验矩阵C,矩阵中每行的计算方式为:Cm=Rm×G,(m=1,2,...,k);
(3)根据原始数据矩阵D',对D'中的每一列所有的数据进行异或,得到奇偶校验矩阵O。


5.如权利要求1所述的航天数据保护方法,其特征在于,所述第四步包括:
(1)构建交织矩阵I_C,得到原始校验矩阵C的行数k,首先构建规模为(4,m),m=2*k+1的交织矩阵I_C,矩阵I_C的初始值为全0;然后判断k的值,如果是偶数,则执行步骤(a),如果是奇数,则执行步骤(d);
(a)将奇偶校验矩阵O依次写入交织矩阵I_C的第(m+1)/2列;
(b)将原始校验矩阵C中的奇数行1~4列,按顺序依次写入交织矩阵I_C的1~(m+1)/2-1列中的奇数列;原始校验矩阵C中的偶数行1~4列,按顺序依次写入交织矩阵I_C的(m+1)/2+1~m列中的奇数列;
(c)将原始校验矩阵C中的偶数行5~8列,按顺序依次写入交织矩阵I_C的1~(m+1)/2-1列中的偶数列;将原始校验矩阵C中的奇数行5~8列,按顺序依次写入交织矩阵I_C的(m+1)/2+1~m列中的偶数列,执行步骤(2);
(d)将原始校验矩阵C的前k-1行,复制到矩阵T中;
(f)将奇偶校验矩阵O依次写入交织矩阵I_C的第(m+1)/2+1列
(g)将矩阵T中的奇数行1~4列,按顺序依次写入交织矩阵I_C的2~(m+1)/2-1列中的奇数列;将矩阵T中的偶数行1~4列,按顺序依次写入交织矩阵I_C的(m+1)/2+2~m列中的奇数列;
(h)将矩阵T中的偶数行5~8列,按顺序依次写入交织矩阵I_C的2~(m+1)/2-1列中的偶数列;将矩阵T中的奇数行5~8列,按顺序依次写入交织矩阵I_C的(m+1)/2+2~m列中的偶数列;
(i)将原始校验矩阵C的第k行1~4列,按顺序依次写入交织矩阵I_C的第1列;将原始校验矩阵C的第k行5~8列,按顺序依次写入交织矩阵I_C的第(m+1)/2列,执行步骤(2);
(2)获取带有校验位的数据D_C,将交织矩阵I_C的每行进行拼接;
(3)将带有校验位的数据D_C存储到相应位宽的寄存器或者存储空间中;
(4)从寄存器或者存储器中读出数据D_C'。


6.如权利要求1所述的航天数据保护方法,其特征在于,所述第五步包括:
(1)获取最终校验矩阵C’,获得D_C’的长度为p,首先按照4行对D_C’进行分割,构建规模为(4,m)(m=p/4)的解交织矩阵I_C’,其次,构建规模为(k+1,8)(k=(p-4)/8)的最终校验矩阵C’,然后判断(p-4)/8,如果其为偶数,执行步骤(a),如果其为奇数,执行步骤(d):
(a)将解交织矩阵I_C’的1~(m+1)/2-1列中的奇数列,依次写入最终校验矩阵C’前k行中的奇数行的1~4列;将解交织矩阵I_C’的(m+1)/2+1~m列中的奇数列,依次写入最终校验矩阵C’前k行中的偶数行的1~4列;
(b)将解交织矩阵I_C’的1~(m+1)/2-1列中的偶数列,依次写入最终校验矩阵C’前k行中的偶数行的5~8列;将解交织矩阵I_C’的(m+1)/2...

【专利技术属性】
技术研发人员:潘伟涛董勐邱智亮邙嘉璐殷建飞黄进建
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1