【技术实现步骤摘要】
数据编、解码方法、纠错方法、内存控制器、芯片及设备
[0001]本申请实施例涉及内存
,具体涉及一种数据编、解码方法、纠错方法、内存控制器、芯片及设备。
技术介绍
[0002]内存在工作过程中由于电磁等环境干扰以及内存自身的结构特性,可能会出现数据错误的情况;例如,在向内存写入数据和从内存读取数据时,内存可能会出现数据错误。
[0003]内存的数据错误可能会导致计算机系统产生不稳定或宕机等问题,对稳定性要求较高的用户而言,内存的数据错误可能会引起更加严重的问题;因此计算机系统需要利用纠错算法对从内存读取的数据进行纠错。
[0004]对从内存读取的数据进行纠错的前提是,数据在写入内存时需要附带用于纠错的校验码元。在此背景下,如何提供技术方案,以为提升纠错算法的纠错能力提供支持,成为了本领域技术人员亟需解决的技术问题。
[0005]明内容
[0006]有鉴于此,本申请实施例提供一种数据编、解码方法、纠错方法、内存控制器、芯片及设备,提升校验码元对于数据码元的覆盖度,为提升纠错算法所能纠错的s ...
【技术保护点】
【技术特征摘要】
1.一种数据编码方法,其特征在于,包括:确定待写入内存的数据,并将所述数据映射为对应的多个数据码元;根据扩展编码矩阵,对所述多个数据码元进行编码,得到多个校验码元;其中,所述扩展编码矩阵基于标准编码矩阵变形得到,所述标准编码矩阵在目标数据大小的码元下,存在相同列向量;所述扩展编码矩阵在目标数据大小的码元下,不存在相同列向量,并且所述扩展编码矩阵中的列向量与校验码元对应的单位矩阵中的单位列向量不同;将所述多个数据码元和所述多个校验码元作为编码结果,写入内存;其中,所述多个校验码元用于在从内存读取所述编码结果时,对所述编码结果进行纠错。2.根据权利要求1所述的方法,其特征在于,还包括:对所述标准编码矩阵进行横向扩展,以在标准编码矩阵中引入预设列向量,得到中间编码矩阵,所述中间编码矩阵在目标数据大小的码元下,不存在相同的列向量;其中,所述预设列向量与校验码元对应的单位矩阵中的单位列向量相关;对所述中间编码矩阵进行行变换,以消除所述中间编码矩阵中的预设列向量,得到扩展编码矩阵。3.根据权利要求2所述的方法,其特征在于,所述对所述标准编码矩阵进行横向扩展,以在标准编码矩阵中引入预设列向量,得到中间编码矩阵包括:基于所述预设列向量,对所述标准编码矩阵中的列向量进行处理,得到包含预设列向量的中间编码矩阵;所述对所述中间编码矩阵进行行变换,以消除所述中间编码矩阵中的预设列向量,得到扩展编码矩阵包括:对所述中间编码矩阵中的行向量进行处理,得到不存在预设列向量的扩展编码矩阵。4.根据权利要求3所述的方法,其特征在于,所述基于所述预设列向量,对所述标准编码矩阵中的列向量进行处理,得到包含预设列向量的中间编码矩阵包括:确定所述标准编码矩阵在目标数据大小的码元下,相同的两个列向量,将相同两个的列向量中的一个列向量,调整为所述预设列向量;或者,对所述标准编码矩阵进行矩阵转置,得到包含所述预设列向量的中间编码矩阵;其中,所述标准编码矩阵中同一列的指数相同且底数为等比数,并且列之间的指数为顺序递增;所述标准编码矩阵进行矩阵转置之后,同一列的指数为等差数且底数相同,并且列之间的底数为顺序递增。5.根据权利要求3所述的方法,其特征在于,所述对所述中间编码矩阵中的行向量进行处理,得到不存在预设列向量的扩展编码矩阵包括:使用以下行变换方式中的至少一种,对所述中间编码矩阵中的行向量进行处理,以得到不存在预设列向量的扩展编码矩阵:将所述中间编码矩阵中第一行的行向量乘以第一值,相乘结果加到第二行的行向量;将所述中间编码矩阵中第一行的行向量乘以第二值,相乘结果加到中间编码矩阵中第三行的行向量;将所述中间编码矩阵中第一行的行向量乘以第三值,相乘结果加到中间编码矩阵中第四行的行向量。6.根据权利要求1
‑
5任一项所述的方法,其特征在于,所述标准编码矩阵为标准范德蒙
矩阵,所述标准范德蒙矩阵在4bit的码元下,第1个列向量与第16个列向量相等;所述扩展编码矩阵为基于标准范德蒙矩阵变形得到的扩展范德蒙矩阵,所述扩展范德蒙矩阵在4bit的码元下,第1个列向量与第16个列向量不同,并且所述扩展范德蒙矩阵中的列向量与首个校验码元对应的单位列向量不同。7.一种数据解码方法,其特征在于,包括:从内存读取编码结果,所述编码结果包括多个数据码元和多个校验码元;所述编码结果基于权利要求1
‑
6任一项所述的数据编码方法得到;根据扩展编码矩阵,以及读取的多个数据码元和多个校验码元,确定第一伴随式;根据所述第一伴随式以及所述扩展编码矩阵的得到方式,确定第二伴随式;其中,所述第一伴随式和所述第二伴随式作为解码结果,所述解码结果作为纠错算法的输入,用于对所述编码结果进行纠错。8.根据权利要求7所述的方法,其特征在于,所述根据所述第一伴随式以及所述扩展编码矩阵的得到方式,确定第二伴随式包括:根据所述扩展编码矩阵的得到方式,确定用于得到所述第二伴随式的运算方式;利用所确定的运算方式,对所述第一伴随式进行运算,以得到所述第二伴随式。9.根据权利要求8所述的方法,其特征在于,所述根据所述扩展编码矩阵的得到方式,确定用于得到所述第二伴随式的运算方式包括:基于得到所述扩展编码矩阵所使用的行变换方式,确定用于得到所述第二伴随式的运算方式。10.根据权利9所述的方法,其特征在于,所述基于得到所述扩展编码矩阵所使用的行变换方式,确定用于得到所述第二伴随式的运算方式包括:基于得到所述扩展编码矩阵所使用的行变换方式,确定以下运算方式中的至少一种,为用于得到所述第二伴随式的运算方式:将第一伴随式中的第一伴随参数、第三伴随参数和第四伴随参数维持不变,将第一伴随式中的第一伴随参数与第一值相乘,相乘结果与第一伴随式中的第二伴随参数相加,以对第二伴随式中的第二伴随参数进行调整;将第一伴随式中的第一伴随参数、第二伴随参数和第四伴随参数维持不变,将第一伴随式中的第一伴随参数与第二值相乘,相乘结果与第一伴随式中的第三伴随参数相加,以对第二伴随式中的第三伴随参数进行调整;将第一伴随式中的第一伴随参数、第二伴随参数和第三伴随参数维持不变,将第一伴随式中的第一伴随参数与第三值相乘,相乘结果与第一伴随式中的第四伴随参数相加,以对第二伴随式中的第四伴随参数进行调整。11.一种数据纠错方法,其特征在于,包括:获取解码结果,所述解码结果包括第一伴随式和第二伴随式;所述解码结果基于权利要求7
‑
10任一项所述的数据解码方法得到;根据所述第一伴随式和所述第二伴随式,运行纠错算法,以确定从内存读取的编码结果所对应的纠错结果。12.根据权利要求11所述的方法,其特征在于,所述根据所述第一伴随式和所述第二伴随式,运行纠错算法,以确定从内存读取的编码结果所对应的纠错结果包括:
判断所述第一伴随式中的伴随参数是否均为目标值;若所述第一伴随式中的伴随参数均为目标值,确定所述编码结果不存在数据错误,输出所述编码结果中的数据码元;若所述第一伴随式中的伴随参数不均为目标值,并且所述第一伴随式中值为目标值的伴随参数的数量,达到预设数量,则确定所述编码结果中的一个校验码元发生数据错误,输出所述编码结果中的数据码元。13.根据权利要求12所述的方法,其特征在于,所述根据所述第一伴随式和所述第二伴随式,运行纠错算法,以确定从内存读取的编码结果所对应的纠错结果还包括:若所述第一伴随式中的伴随参数不均为目标值,并且所述第一伴随式中值为目标值的伴随参数的数量,未达到预设数量,利用多种纠错运算,对第二伴随式进行纠错处理,得到各种纠错运算的纠错输出;结合各种纠错运算的纠错输出,确定从内存读取的编码结果中出现数据错误的码元位置和错误值;根据出现数据错误的码元位置和错误值,对所述编码结果中出现数据错误的码元进行数据错误纠正,得到纠正数据错误的编码结果,并输出纠正数据错...
【专利技术属性】
技术研发人员:王宇轩,周鹏,谢飞,
申请(专利权)人:成都海光集成电路设计有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。