一种无误码率纠一检二纠相邻码的校验矩阵生成方法技术

技术编号:27455753 阅读:15 留言:0更新日期:2021-02-25 04:55
本发明专利技术公开了一种无误码率纠一检二纠相邻码的校验矩阵生成方法,其包括:步骤S1:根据输入的数据位数k计算初始校验位数r;步骤S2:临时校验矩阵初始化;用r阶方阵I

【技术实现步骤摘要】
一种无误码率纠一检二纠相邻码的校验矩阵生成方法


[0001]本专利技术主要涉及到存储器加固设计
,特指一种无误码率纠一检二纠相邻码的校验矩阵生成方法。

技术介绍

[0002]片上存储器的可靠性对微处理器的设计至关重要。受多粒子翻转(MCU,Multiple Cell Upsets)的影响,存储单元会发生多个比特位翻转,这些比特位多是物理相邻的。
[0003]通常用错误纠正码ECCs(Error Correction Codes)来减轻这种软错误对存储造成的影响,现虽有很多纠错能力强的ECC码,如可纠多位错的RS(Reed-Solomon)码、BCH(Bose-Chaudhuri-Hocquenghem)码以及EG(Euclidean Geometry)码,但同纠一检二纠相邻码相比,它们延迟高、功耗大且冗余高,纠一检二纠相邻码SEC-DED-DAEC(Single Error Correction-Double Error Detection-Double Adjacent Error Correction)是指能纠正一位错、检测两位错且能纠正相邻两位错的错误纠正码。虽然目前关于纠相邻两位错(DAEC)的研究慢慢多了起来,但是没有解决误码率问题。为实现高可靠性的存储系统,纠一检二纠相邻码的无误码率问题亟待解决。
[0004]一方面,用无误码率纠一检二纠相邻保护的数据的位数具有多样性(如16位、32位、128位、512位等),另一方面不同设计者的经验和方法不同,目前已有的关于纠一检二纠相邻校验矩阵生成的实现技术还存在多样性,对一些共性的要解决的问题还缺乏统一的、简洁的解决方案。这将会导致如下问题:
[0005]1)增加设计者的工作量,不同的设计者需要先学习存储加固及线性分组码的相关知识,然后进行设计,这会提升总工作量。
[0006]2)不同设计者的设计方法不同,比如初始校验位数以及校验矩阵列都可以有不同的选择方法,这也会提高设计难度。

技术实现思路

[0007]本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种可扩展、无误码率、硬件开销小、编解码延迟低、生成校验矩阵速度快的无误码率纠一检二纠相邻码的校验矩阵生成方法。
[0008]为解决上述技术问题,本专利技术采用以下技术方案:
[0009]一种无误码率纠一检二纠相邻码的校验矩阵生成方法,其包括:
[0010]步骤S1:根据输入的数据位数k计算初始校验位数r;
[0011]步骤S2:临时校验矩阵初始化;用r阶方阵I
r
对临时校验矩阵current_H初始化,设置界定变量confirmed_num_of_col表示临时校验矩阵已找到的满足3个特点的列向量数,初始值为0,值为k时表示校验矩阵构建完成;
[0012]步骤S3:构建奇权向量池odd_vector_pool及进行变量初始化过程;
[0013]步骤S4:从向量池中找出局部最优列添加到临时校验矩阵current_H的尾部,然后
进行变量更新过程;
[0014]步骤S5:判断寻找是否结束。
[0015]作为本专利技术的进一步改进:所述步骤S3中,其中,奇权向量池指向量池中每个列向量所含“1”的个数为奇数;向量池按照列向量权重为3,5
……
r/2来创建建,即向量池的容量为:此外,含两个连续的“1”的列向量不放入权3向量池中,即权重为3的向量池。
[0016]作为本专利技术的进一步改进:所述步骤S4中,在选择局部最优列时,首先要从向量池中选择候选列cur_selected_col;然后判断候选列加入到curremt_H尾部是否能满足前述校验矩阵的3个特点,若满足,说明该候选列为局部最优列,可将其增加到当前临时矩阵current_H的尾部,然后进行confirmed_num_of_col=confirmed_num_of_col+1,同时对相关的变量进行更新;若不满足,则继续寻找局部最优列。
[0017]作为本专利技术的进一步改进:所述步骤S5中,判断confirmed_num_of_col是否等于k,如果不等于k,说明寻找未结束,回到步骤S4继续寻找局部最优列;如果不等于k且在当前的奇权向量池已找不到局部最优列,这说明校验位数r偏小,进行r=r+1,回到步骤S2重新开始;如果等于k,说明校验矩阵构建完成,输出current_H。
[0018]作为本专利技术的进一步改进:在步骤S5中,具体包括:
[0019]步骤S5.1、判断校验矩阵是否构建完成;判断complete是否为1,若是,则结束;若不是,则进行步骤S5.2;
[0020]步骤S5.2、判断新增列数confirmed_num_of_col是否小于k;若是,则进行步骤S5.4;若不是,则进行步骤S5.3;
[0021]步骤S5.3、判断新增列数confirmed_num_of_col是否等于k;若是,则输出校验矩阵current_H,然后进行步骤S5.1;若不是,则将complete置0,然后进行步骤S5.1。
[0022]作为本专利技术的进一步改进:在步骤S4中,具体包括两部分:
[0023]步骤S4.1:边界条件判断;
[0024]步骤S4.2:局部最优列判断。
[0025]作为本专利技术的进一步改进:所述步骤S4.1中边界条件分为三类:

候选列号cur_sel_pool_num;

重叠权重变量overlap_weight;

当前向量池号cur_vec_pool_num。
[0026]作为本专利技术的进一步改进:所述步骤S4.1的具体判断步骤为:
[0027]步骤S 4.1.1、对候选列cur_selected_col与current_H尾列的同一行为1的这一事件进行计数,判断计数结果是否小于等于重叠权重overlap_weight,同时判断候选列号是否没有超过当前权重向量池的边界;若有一个不成立,则进行步骤S 4.1.2;若均成立,则进行步骤S4.2;
[0028]步骤S 4.1.2、判断候选列是否到边界,若到边界,则重叠权重overlap_weight=overlap_weight+1,然后进行步骤S 4.1.3;若没有到边界,则候选列号cur_selected_col_num=cur_selected_col_num+1,然后进行步骤S5;
[0029]步骤S 4.1.3、判断重叠权重是否满足overlap_weight>r,且判断当前向量池是否为空,若均成立,则当前向量池号cur_vec_pool_num=cur_vec_pool_num+2,然后进行4.1.4;若有一个不成立,则候选列号cur_selected_col_num=1;
[0030]步骤S 4.1.4、判断当前池号cur_vec_pool_num是否越界,若是,则进行r++,回到步骤S5.1;若不是,则本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种无误码率纠一检二纠相邻码的校验矩阵生成方法,其特征在于,包括:步骤S1:根据输入的数据位数k计算初始校验位数r;步骤S2:临时校验矩阵初始化;用r阶方阵I
r
对临时校验矩阵current_H初始化,设置界定变量confirmed_num_of_col表示临时校验矩阵已找到的满足3个特点的列向量数,初始值为0,值为k时表示校验矩阵构建完成;步骤S3:构建奇权向量池odd_vector_pool及进行变量初始化过程;步骤S4:从向量池中找出局部最优列添加到临时校验矩阵current_H的尾部,然后进行变量更新过程;步骤S5:判断寻找是否结束。2.根据权利要求1所述无误码率纠一检二纠相邻码的校验矩阵生成方法,其特征在于,所述步骤S3中,其中,奇权向量池指向量池中每个列向量所含“1”的个数为奇数;向量池按照列向量权重为3,5
……
r/2来创建建,即向量池的容量为:此外,含两个连续的“1”的列向量不放入权3向量池中,即权重为3的向量池。3.根据权利要求1所述无误码率纠一检二纠相邻码的校验矩阵生成方法,其特征在于,所述步骤S4中,在选择局部最优列时,首先要从向量池中选择候选列cur_selected_col;然后判断候选列加入到curremt_H尾部是否能满足前述校验矩阵的3个特点,若满足,说明该候选列为局部最优列,可将其增加到当前临时矩阵current_H的尾部,然后进行confirmed_num_of_col=confirmed_num_of_col+1,同时对相关的变量进行更新;若不满足,则继续寻找局部最优列。4.根据权利要求1所述无误码率纠一检二纠相邻码的校验矩阵生成方法,其特征在于,所述步骤S5中,判断confirmed_num_of_col是否等于k,如果不等于k,说明寻找未结束,回到步骤S4继续寻找局部最优列;如果不等于k且在当前的奇权向量池已找不到局部最优列,这说明校验位数r偏小,进行r=r+1,回到步骤S2重新开始;如果等于k,说明校验矩阵构建完成,输出current_H。5.根据权利要求1-4中任意一项所述无误码率纠一检二纠相邻码的校验矩阵生成方法,其特征在于,在步骤S5中,具体包括:步骤S5.1、判断校验矩阵是否构建完成;判断complete是否为1,若是,则结束;若不是,则进行步骤S5.2;步骤S5.2、判断新增列数confirmed_num_of_col是否小于k;若是,则进行步骤S5.4;若不是,则进行步骤S5.3;步骤S5.3、判断新增列数confirmed_num_of_col是否等于k;若是,则输出校验矩阵current_H,然后进行步骤S5.1;若不是,则将complete置0,然后进行步骤S5.1。6.根据权利要求5所述无误码率纠一检二纠相邻码的校验矩阵生成方法,其特征在于,在步骤S4中,具体包括两部分:步骤S4.1:边界条件判断;步骤S4.2:局部最优列判断。7.根据权利要求6所述无误码率纠一检二纠相邻码的校验矩阵生成方法,其特征在于,所述步骤S4.1中边界条件分为三类:

候选列号cur_sel_pool_num;

重叠权重变量
overlap_we...

【专利技术属性】
技术研发人员:刘胜鲁建壮王丹宁张洋刘畅李晨曹壮
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

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

1