译码方法及相关装置、电子设备和存储介质制造方法及图纸

技术编号:30317839 阅读:66 留言:0更新日期:2021-10-09 23:20
本公开提供了译码方法及相关装置、电子设备和存储介质。译码方法包括:读取里德所罗门RS编码数据;组织读取的RS编码数据;基于第一校验矩阵对组织后的RS编码数据执行第一RS译码,得到第一RS译码数据,第一RS译码数据包括第一译码的信息码数据和第一译码的虚拟比特码数据;基于读取的虚拟比特码数据对应的虚拟比特码数据被编码时的关系,对第一译码的虚拟比特码数据执行纠正,以得到正确的虚拟比特码数据;对正确的虚拟比特码数据以及读取的信息码数据和读取的校验码数据执行RS算法后处理;以及基于第二校验矩阵对读取的信息码数据和RS运算后校验码数据执行第二RS译码。根据本公开的实施例,可以实现虚拟比特码数据的解析与ECC纠错同时有效。ECC纠错同时有效。ECC纠错同时有效。

【技术实现步骤摘要】
译码方法及相关装置、电子设备和存储介质


[0001]本公开的实施例涉及译码方法及相关装置、电子设备和存储介质。

技术介绍

[0002]数据在传输、通信和存储过程中容易受到环境等因素干扰,从而导致数 据错误。例如,DDR内存在工作过程中难免会受到诸如电磁等环境因素的干 扰,从而导致内存出现错误。对于稳定性要求高的用户来说,内存错误可能 会引起致命性的问题。尤其对于服务器而言,其对DDR数据可靠性要求比 较高,DDR内存纠错技术就能提高服务器内存的稳定性和纠错能力。目前主 流DDR使用的chipkill等ECC(Error Correcting Code,错误检查和纠正)技 术,使用了RS算法来进行编码、译码、纠错。
[0003]对于DDR内存中的一些地址、页面或是高速缓存块(cacheline),存在对 一些额外信息标记的写入需求。然而,这些额外信息标记(例如,内存的错误 标记)又不能真实写入至内存中,导致无法满足此类额外存储的需求。

技术实现思路

[0004]本公开提供了一种编码方法、译码方法及相关装置、电子设备和存储介 质,以用于实现虚拟比特码数据的解析与ECC纠错同时有效。
[0005]本公开的至少一实施例提供了一种编码方法,包括:接收多个输入数据, 多个输入数据中的每个输入数据包括信息码数据和虚拟比特码数据,所述多 个输入数据相应的虚拟比特码数据之间相关联,所述信息码数据的码字长度 为k,所述虚拟比特码数据的码字长度为p;基于第一校验矩阵对所述输入 数据执行里德所罗门RS编码,得到RS编码数据,其中,所述RS编码数据 包括所述信息码数据和校验码数据,所述校验码数据的码字长度为2t并且 包括所述虚拟比特码数据的信息,t为一个符号的长度,k、p和t为正整数。
[0006]本公开的另一实施例提供了一种译码方法,包括:读取里德所罗门RS 编码数据,其中读取的RS编码数据包括多个ECC字,所述多个ECC字中 的每个ECC字包括码字长度为k的读取的信息码数据和码字长度为2t的读 取的校验码数据,t为一个符号的长度,所述读取的校验码数据包括码字长 度为p的读取的虚拟比特码数据的信息;组织所述读取的RS编码数据,使 得组织后的RS编码数据的码字长度为k+2t+p;基于第一校验矩阵对所述组 织后的RS编码数据执行第一RS译码,得到第一RS译码数据,所述第一 RS译码数据包括第一译码的信息码数据和第一译码的虚拟比特码数据;基 于所述读取的虚拟比特码数据对应的虚拟比特码数据被编码时的关系,对所 述第一译码的虚拟比特码数据执行纠正,以得到正确的虚拟比特码数据;对 所述正确的虚拟比特码数据以及所述读取的信息码数据和所述读取的校验 码数据执行RS算法后处理,得到RS算法后校验码数据,其中所述RS算法 后校验码数据不包括所述正确的虚拟比特码数据和所述读取的虚拟比特码 数据;以及基于第二校验矩阵对所述读取的信息码数据和所述RS运算后校 验码数据执行第二RS译码,以得到正确的信息码数据,其中,所述第一校 验矩阵包括用于所述读取的虚拟比特码数据的数
值,并且所述第二矩阵不包 括用于所述读取的虚拟比特码数据的数值。
[0007]例如,根据本公开的实施例提供的译码方法,其中,所述第一校验矩阵 包括第一区间、第二区间和第三区间,所述第二校验矩阵包括第四区间、第 五区间,其中,所述第一区间和所述第四区间分别为2t行k列的矩阵,所述 第二区间为2t行p列的矩阵,并且所述第三区间和所述第五区间分别为2t 行2t列的单位矩阵。
[0008]例如,根据本公开的实施例提供的译码方法,其中,所述第一区间和所 述第四区间分别包括k/t个连续的t行t列的单位矩阵,所述第一区间包括的 t行t列的单位矩阵分布在所述第一区间的第1行至第2t行中的任意t行, 并且所述第四区间包括的t行t列的单位矩阵分布在所述第四区间的第1行 至第2t行中的任意t行;所述第二区间包括p/t个连续的t行t列的单位矩 阵,并且所述第二区间包括的t行t列的单位矩阵分布在所述第二区间的第 1行至第2t行中的任意t行;所述第三区间的2t行2t列的单位矩阵分布在 所述第一校验矩阵的任意2t列,所述第五区间的2t行2t列的单位矩阵分布 在所述第二校验矩阵的任意2t列;并且所述第一区间、所述第二区间和所述 第三区间的位置无交集,并且所述第四区间和所述第五区间无交集。
[0009]例如,根据本公开的实施例提供的译码方法,其中,所述第一校验矩阵 的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩阵; 所述第一校验矩阵的第1行至第t行的第k+1列至第k+p列的形成p/t个连 续的t行t列的单位矩阵;并且所述第一校验矩阵的第1行至第t行的第 k+p+1列至第k+p+2t列的形成2t行2t列的单位矩阵;并且所述第二校验矩 阵的第1行至第t行的第1列至第k列形成k/t个连续的t行t列的单位矩 阵,并且所述第二校验矩阵的第1行至第t行的第k+1列至第k+2t列的形 成2t行2t列的单位矩阵。
[0010]例如,根据本公开的实施例提供的译码方法,其中,组织所述读取的RS 编码数据,使得组织后的RS编码数据的码字长度为k+2t+p,包括:在所述 读取的RS编码数据中添加p个0数据。
[0011]例如,根据本公开的实施例提供的译码方法,其中,基于第一校验矩阵 对所述组织后的RS编码数据执行第一RS译码,得到第一RS译码数据,包 括:将所述组织后的RS编码数据与所述第一校验矩阵进行组合异或,得到 第一伴随式数据;判断所述第一伴随式数据是否全为0;当所述第一伴随式 数据全为0时,提取所述第一伴随式数据对应的读取的信息码数据以及所述 第一伴随式数据对应的读取的虚拟比特码数据作为所述第一RS译码数据; 当所述第一伴随式数据不全为0时,基于所述第一校验矩阵确定错误符号的 位置,并且基于错误符号的位置确定所述第一RS译码数据。
[0012]例如,根据本公开的实施例提供的译码方法,其中,基于所述第一校验 矩阵确定错误符号的位置,并且基于错误符号的位置确定所述第一RS译码 数据,包括:基于符号的位置对应的第一校验矩阵的数值之间的对应关系, 将对应的第一伴随式数据进行组合异或并相与,分别得到符号位置B[i],i∈ [1,(k+2t+p)/t];当仅有第i个符号位置B[i]等于1时,确定第i个符号存在错 误;以及当第i个符号对应于所述读取的信息码数据时,执行所述读取的信 息码数据的纠错,包括:将所述读取的信息码数据分别与对应的第一伴随式 数据进行组合异或,得到所述译码的信息码数据以作为所述第一RS译码数 据;当第i个符号对应于所述读取的虚拟比特码数据时,执行所述读取的虚 拟比特码数据的解析,包括:提取所述第一伴随式数据中对应的位置的数据, 得到所述译码的虚拟比特码数据以作为
所述第一RS译码数据。
[0013]例如,根据本公开的实施例提供的译码方法,其中,所述读取的虚拟比 特码数据对应的虚拟比特码数据被编码时的关系为彼此相同,并且对所述第 一译码的虚拟比特本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种译码方法,包括:读取里德所罗门RS编码数据,其中读取的RS编码数据包括多个ECC字,所述多个ECC字中的每个ECC字包括码字长度为k的读取的信息码数据和码字长度为2t的读取的校验码数据,t为一个符号的长度,所述读取的校验码数据包括码字长度为p的读取的虚拟比特码数据的信息;组织所述读取的RS编码数据,使得组织后的RS编码数据的码字长度为k+2t+p;基于第一校验矩阵对所述组织后的RS编码数据执行第一RS译码,得到第一RS译码数据,所述第一RS译码数据包括第一译码的信息码数据和第一译码的虚拟比特码数据;基于所述读取的虚拟比特码数据对应的虚拟比特码数据被编码时的关系,对所述第一译码的虚拟比特码数据执行纠正,以得到正确的虚拟比特码数据;对所述正确的虚拟比特码数据以及所述读取的信息码数据和所述读取的校验码数据执行RS算法后处理,得到RS算法后校验码数据,其中所述RS算法后校验码数据不包括所述正确的虚拟比特码数据和所述读取的虚拟比特码数据;以及基于第二校验矩阵对所述读取的信息码数据和所述RS运算后校验码数据执行第二RS译码,以得到正确的信息码数据,其中,所述第一校验矩阵包括用于所述读取的虚拟比特码数据的数值,并且所述第二矩阵不包括用于所述读取的虚拟比特码数据的数值。2.根据权利要求1所述的译码方法,其中,所述第一校验矩阵包括第一区间、第二区间和第三区间,所述第二校验矩阵包括第四区间、第五区间,其中,所述第一区间和所述第四区间分别为2t行k列的矩阵,所述第二区间为2t行p列的矩阵,并且所述第三区间和所述第五区间分别为2t行2t列的单位矩阵。3.根据权利要求1所述的译码方法,其中,组织所述读取的RS编码数据,使得组织后的RS编码数据的码字长度为k+2t+p,包括:在所述读取的RS编码数据中添加p个0数据。4.根据权利要求1所述的译码方法,其中,基于第一校验矩阵对所述组织后的RS编码数据执行第一RS译码,得到第一RS译码数据,包括:将所述组织后的RS编码数据与所述第一校验矩阵进行组合异或,得到第一伴随式数据;判断所述第一伴随式数据是否全为0;当所述第一伴随式数据全为0时,提取所述第一伴随式数据对应的读取的信息码数据以及所述第一伴随式数据对应的读取的虚拟比特码数据作为所述第一RS译码数据;当所述第一伴随式数据不全为0时,基于所述第一校验矩阵确定错误符号的位置,并且基于错误符号的位置确定所述第一RS译码数据。5.根据权利要求4所述的译码方法,其中,基于所述第一校验矩阵确定错误符号的位置,并且基于错误符号的位置确定所述第一RS译码数据,包括:基于符号的位置对应的第一校验矩阵的数值之间的对应关系,将对应的第一伴随式数据进行组合异或并相与,分别得到符号位置B[i],i∈[1,(k+2t+p)/t];当仅有第i个符号位置B[i]等于1时,确定第i个符号存在错误;以及当第i个符号对应于所述读取的信息码数据时,执行所述读取的信息码数据的纠错,包
括:将所述读取的信息码数据分别与对应的第一伴随式数据进行组合异或,得到所述译码的信息码数据以作为所述第一RS译码数据;当第i个符号对应于所述读取的虚拟比特码数据时,执行所述读取的虚拟比特码数据的解析,包括:提取所述第一伴随式数据中对应的位...

【专利技术属性】
技术研发人员:周鹏
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1