码元数据的ecc译码方法和装置制造方法

文档序号:7540646阅读:103来源:国知局
码元数据的ecc译码方法和装置制造方法
【专利摘要】本发明提供了一种码元数据的ECC译码方法和装置。其中,码元数据的ECC译码方法包括:读取码元数据,得到多个码元片段;分别计算多个码元片段中各个码元片段的伴随式;分别判断计算出的伴随式中的元素是否均为零;对元素不均为零的伴随式对应的码元片段进行纠错;以及对元素均为零的伴随式对应的码元片段不再进行纠错。通过本发明,解决了现有技术中ECC译码方法由于译码工作量大而造成译码时间浪费的问题,进而达到了缩短译码时间,提高译码效率的效果。
【专利说明】码元数据的ECC译码方法和装置
【技术领域】
[0001]本发明涉及数据处理领域,具体而言,涉及一种码元数据的ECC译码方法和装置。【背景技术】
[0002]错误检测纠正算法(Error Correcting Code,简称ECC)的译码过程一般分为三个阶段:第一阶段为计算伴随式;第二阶段为计算错误多项式;第三阶段为搜索错误位置。在这三个阶段中,译码的面积成本和译码的区域容量大小是成正比的,考虑到时间和面积成本,一般情况下会对面积做限制,故译码是按照分组后的码元进行的。现有技术中在对分组后的码元进行ECC译码时,对每一组码元均采用上述三个过程进行译码,发明人发现,此种译码方式在译码过称中不仅对存在错误并且错误个数在ECC纠错能力范围内的码元进行译码,而且还对一些没有错误或者错误个数超出ECC纠错能力的码元进行译码,这样不仅会使得大量的时间被浪费到无意义的译码过程中,还会造成译码过程冗长,影响计算机系统的内部性能。
[0003]针对相关技术中ECC译码方法由于译码工作量大而造成译码时间浪费的问题,目前尚未提出有效的解决方案。

【发明内容】

[0004]本发明的主要目的在于提供一种码元数据的译码方法和装置,以解决现有技术中ECC译码方法由于译码工作量大而造成译码时间浪费的问题。
[0005]为了实现上述目的,根据本发明的一个方面,提供了一种码元数据的ECC译码方法,包括:读取码元数据,得到多个码元片段;分别计算多个码元片段中各个码元片段的伴随式;分别判断计算出的伴随式中的元素是否均为零;对元素不均为零的伴随式对应的码元片段进行纠错;以及对元素均为零的伴随式对应的码元片段不再进行纠错。
[0006]进一步地,分别计算多个码元片段中各个码元片段的伴随式以及分别判断计算出的伴随式中的元素是否均为零包括:计算多个码元片段中第一码元片段的伴随式;判断第一码元片段的伴随式中的元素是否均为零;在判定第一码元片段的伴随式中的元素均为零时,判断是否还存在未计算伴随式的码元片段;在判定存在未计算伴随式的码元片段时,对第二码元片段的伴随式进行计算,其中,第二码元片段为未计算伴随式的码元片段中的任一码元片段;以及判断第二码元片段的伴随式中的元素是否均为零。
[0007]进一步地,对元素不均为零的伴随式对应的码元片段进行纠错包括:在判定第一码元片段的伴随式中的元素不均为零时对第一码元片段进行纠错;以及在判定第二码元片段的伴随式中的元素不均为零时对第二码元片段进行纠错。
[0008]进一步地,在判定第一码元片段的伴随式中的元素不均为零时对第一码元片段进行纠错包括:计算第一码元片段的伴随式的错误位置多项式;确定与计算出的错误位置多项式对应的错误位置;判断确定出的错误位置的个数是否大于预设值;在判定确定出的错误位置的个数大于预设值时,结束对码元数据的纠错;以及在判定确定出的错误位置的个数小于或等于预设值时,判断是否还存在未计算伴随式的码元片段。
[0009]进一步地,在判定确定出的错误位置的个数大于预设值时,译码方法还包括:生成译码中断报告。
[0010]为了实现上述目的,根据本发明的另一方面,提供了一种码元数据的ECC译码装置,该译码装置用于执行本发明上述内容所提供的任一种码元数据的ECC译码方法。
[0011]为了实现上述目的,根据本发明的另一方面,提供了一种码元数据的ECC译码装置,包括:读取单元,用于读取码元数据,得到多个码元片段;第一处理单元,与读取单元相连接,用于分别计算多个码元片段中各个码元片段的伴随式;第二处理单元,与第一处理单元相连接,用于分别判断计算出的伴随式中的元素是否均为零;译码单元,与第二处理单元相连接,用于对元素不均为零的伴随式对应的码元片段进行纠错;以及第三处理单元,与第二处理单元相连接,用于对元素均为零的伴随式对应的码元片段不再进行纠错。
[0012]进一步地,第一处理单元和第二处理单元还用于执行以下步骤:计算多个码元片段中第一码元片段的伴随式;判断第一码元片段的伴随式中的元素是否均为零;在判定第一码元片段的伴随式中的元素均为零时,判断是否还存在未计算伴随式的码元片段;在判定存在未计算伴随式的码元片段时,对第二码元片段的伴随式进行计算,其中,第二码元片段为未计算伴随式的码元片段中的任一码元片段;以及判断第二码元片段的伴随式中的元素是否均为零。
[0013]进一步地,译码单元还用于在判定第一码元片段的伴随式中的元素不均为零时对第一码元片段进行纠错;以及译码单元还用于在判定第二码元片段的伴随式中的元素不均为零时对第二码元片段进行纠错。
[0014]进一步地,译码单元包括:第一处理模块,用于计算第一码元片段的伴随式的错误位置多项式;第二处理模块,与第一处理模块相连接,用于确定与计算出的错误位置多项式对应的错误位置;第三处理模块,与第二处理模块相连接,用于判断确定出的错误位置的个数是否大于预设值;以及第四处理模块,与第三处理模块相连接,用于在判定确定出的错误位置的个数大于预设值时结束对码元数据的纠错,其中,第一处理单元或第二处理单元还用于在判定确定出的错误位置的个数小于或等于预设值时,判断是否还存在未计算伴随式的码元片段。
[0015]进一步地,第四处理模块还用于生成译码中断报告。
[0016]通过本发明,采用读取码元数据,得到多个码元片段;分别计算多个码元片段中各个码元片段的伴随式;分别判断计算出的伴随式中的元素是否均为零;对元素不均为零的伴随式对应的码元片段进行纠错;以及对元素均为零的伴随式对应的码元片段不再进行纠错,通过对每一个码元片段的伴随式中的元素是否均为零进行判断,以确定出元素均为零的伴随式对应的码元片段,即确定出不存在错误的码元片段,进而结束对不存在错误的码元片段的纠错,从而避免对不存在错误的码元进行检查和纠错流程,实现了减少对码元数据进行ECC译码时的工作量,解决了现有技术中ECC译码方法由于译码工作量大而造成译码时间浪费的问题,进而达到了缩短译码时间,提高译码效率的效果。
【专利附图】

【附图说明】
[0017]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0018]图1是根据本发明实施例的译码装置的示意图;
[0019]图2是根据本发明实施例的译码方法的流程图;以及
[0020]图3是根据本发明优选实施例的译码方法的流程图。
【具体实施方式】
[0021]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0022]本发明实施例提供了一种码元数据的ECC译码装置,以下对本发明实施例所提供的译码装置进行具体说明。
[0023]图1是根据本发明实施例的译码装置的示意图,如图1所示,该实施例的译码装置包括:读取单元10、第一处理单元20、第二处理单元30、译码单元40和第三处理单元50。
[0024]读取单元10用于读取需要进行ECC译码的码元数据的多个码元片段,在ECC译码时,由于译码的面积成本和译码的区域容量大小是成正比的,所以考虑到时间和面积成本,一般情况下会对译码的面积做限制,故译码是按照分组后的码元进行的,读取到的是多个码元片段的码元数据。
[0025]第一处理单元20与读取单元10相连接,用于分别计算多个码元片段中各个码元片段的伴随式;具体地,第一处理单元20可以一次性将读取到的所有码元片段的伴随式计算出来,也可以进行一个码元片段的译码流程计算一个码元片段的伴随式。
[0026]第二处理单元30与第一处理单元20相连接,用于分别判断计算出的伴随式中的元素是否均为零;相应地,第二处理单元30可以在第一处理单元20 —次性将所有码元片段的伴随式计算出来后,对每一个伴随式中的元素是否均为零进行判断,也可以在进行一个码元片段的译码流程中对该码元片段的伴随式中的元素是否均为零进行判断。
[0027]译码单元40与第二处理单元30相连接,用于对元素不均为零的伴随式对应的码元片段继续进行ECC译码,即,对元素不均为零的伴随式对应的码元片段进行纠错;以及
[0028]第三处理单元50与第二处理单元30相连接,用于对元素均为零的伴随式对应的码元片段不再进行ECC译码,S卩,停止对元素均为零的伴随式对应的码元片段的纠错。
[0029]由于ECC译码的译码过程一般分为三个阶段:第一阶段为计算伴随式;第二阶段为计算错误多项式;第三阶段为搜索错误位置。在每次译码的过程中第二阶段和第三阶段所需要的时间在译码总时间中占据了一半以上的比例,而当译码过程中出现一些特殊情况例如没有错误时,如果依然按照普通译码算法进行,则必将造成时间上的浪费,本发明实施例的译码装置通过对每一个码元片段的伴随式中的元素是否均为零进行判断,以确定出元素均为零的伴随式对应的码元片段,即确定出不存在错误的码元片段,进而结束对不存在错误的码元片段的ECC译码,从而避免对不存在错误的码元进行检查和纠错流程,实现了减少对码元数据进行ECC译码时的工作量,解决了现有技术中ECC译码方法由于译码工作量大而造成译码时间浪费的问题,进而达到了缩短译码时间,提高译码效率的效果。
[0030]进一步地,第一处理单元20和第二处理单元30还用于执行以下步骤:计算多个码元片段中第一码元片段的伴随式,第一码元片段为码元数据中未被计算伴随式的任意一个码元片段;判断第一码元片段的伴随式中的元素是否均为零;在判定第一码元片段的伴随式中的元素均为零时,判断是否还存在未计算伴随式的码元片段;在判定存在未计算伴随式的码元片段时,对第二码元片段的伴随式进行计算,其中,第二码元片段为未计算伴随式的码元片段中的任一码元片段;以及判断第二码元片段的伴随式中的元素是否均为零。[0031 ] 其中,译码单元40对元素不均为零的伴随式对应的码元片段继续进行ECC译码包括在判定第一码元片段的伴随式中的元素不均为零时对第一码元片段进行纠错;以及在判定第二码元片段的伴随式中的元素不均为零时对第二码元片段进行纠错。
[0032]优选地,以译码单元40对第一码元片段进行ECC译码为例来说明译码单元40的具体结构,译码单元40包括:
[0033]第一处理模块,与第二处理单元30相连接,用于根据第一码元片段的伴随式计算第一码元片段的伴随式的错误位置多项式;
[0034]第二处理模块,与第一处理模块相连接,用于确定与计算出的错误位置多项式对应的错误位置;具体地,可以对第一码元片段的伴随式的错误位置多项式进行求解,错误位置多项式的根即为错误位置多项式对应的错误位置。
[0035]第三处理模块,与第二处理模块相连接,用于判断确定出的错误位置的个数是否大于预设值,其中,该预设值可以设定为ECC译码的纠错能力值;以及
[0036]第四处理模块,与第三处理模块相连接,用于在判定确定出的错误位置的个数大于预设值时结束对码元数据的纠错,
[0037]其中,当第三处理模块判断出错误位置的个数小于或等于预设值时,第一处理单元10或第二处理单元20还用于在判定确定出的错误位置的个数小于或等于预设值时,判断是否还存在未计算伴随式的码元片段。
[0038]本发明优选实施例的译码装置在码元片段没有出现错误时,直接跳过错误位置多项式计算和搜索错误位置,节省了 50%以上的时间;在出现错误溢出情况时直接跳出整个ECC译码,节省了剩下的译码组的译码时间,达到了进一步缩短译码时间,提高译码效率的效果。
[0039]优选地,第四处理模块还用于生成译码中断报告。
[0040]通过生成译码中断报告提醒用户译码过程中断,达到了方便用户进行错误排除等操作的效果。
[0041]本发明实施例还提供了一种码元数据的译码方法,该译码方法可以通过本发明实施例上述内容所提供的译码装置来执行,以下对本发明实施例所提供的译码方法进行具体说明。
[0042]图2是根据本发明实施例的译码方法的流程图,如图2所示,该方法包括如下的步骤S202至步骤S210:
[0043]S202:读取需要进行ECC译码的码元数据的多个码元片段,在ECC译码时,由于译码的面积成本和译码的区域容量大小是成正比的,所以考虑到时间和面积成本,一般情况下会对译码的面积做限制,故译码是按照分组后的码元进行的,读取到的是多个码元片段的码元数据。
[0044]S204:分别计算多个码元片段中各个码元片段的伴随式;具体地,可以一次性将读取到的所有码元片段的伴随式计算出来,也可以进行一个码元片段的译码流程计算一个码元片段的伴随式。[0045]S206:分别判断计算出的伴随式中的元素是否均为零;相应地,可以在步骤S204一次性将所有码元片段的伴随式计算出来后,对每一个伴随式中的元素是否均为零进行判断,也可以在进行一个码元片段的译码流程中对该码元片段的伴随式中的元素是否均为零进行判断。
[0046]S208:对元素不均为零的伴随式对应的码元片段继续进行ECC译码,即,对元素不均为零的伴随式对应的码元片段进行纠错;以及
[0047]S210:对元素均为零的伴随式对应的码元片段不再进行ECC译码,即,停止对元素均为零的伴随式对应的码元片段的纠错。
[0048]由于ECC译码的译码过程一般分为三个阶段:第一阶段为计算伴随式;第二阶段为计算错误多项式;第三阶段为搜索错误位置。在每次译码的过程中第二阶段和第三阶段所需要的时间在译码总时间中占据了一半以上的比例,而当译码过程中出现一些特殊情况例如没有错误时,如果依然按照普通译码算法进行,则必将造成时间上的浪费,本发明实施例的译码装置通过对每一个码元片段的伴随式中的元素是否均为零进行判断,以确定出元素均为零的伴随式对应的码元片段,即确定出不存在错误的码元片段,进而结束对不存在错误的码元片段的纠错,从而避免对不存在错误的码元进行检查和纠错流程,实现了减少对码元数据进行ECC译码时的工作量,解决了现有技术中ECC译码方法由于译码工作量大而造成译码时间浪费的问题,进而达到了缩短译码时间,提高译码效率的效果。
[0049]图3是根据本发明优选实施例的译码方法的流程图,如图3所示,本发明优选实施例的译码方法与图2中示出的译码方法相比,二者区别在于,在本发明优选实施例的译码方法中还包括对伴随式中的元素不均为零(即,码元片段存在需要进行检查和纠错的错误)的位置多项式中错误个数是否超过ECC译码纠错能力的判断。
[0050]具体地,在对各个码元片段进行译码时,各个码元片段不分先后顺序,整个译码过程只要将所有需要进行译码的码元片段译码结束即可。各个码元片段对应的伴随式及伴随式对应的错误位置多项式可以一次性计算,也可以在一个码元片段的译码流程中进行一次计算,如图3所示,假如对从第i α为正整数)组码元片段开始译码,并且各个码元片段的伴随式在各个码元片段的译码流程中进行计算,则译码方法的流程为:首先对第i组码元片段进行伴随式计算;其次是判断第i组码元片段的伴随式中个元素是否全为‘0’,经判断,如果第i组码元片段的伴随式中的各个元素全为‘0’,则跳过第i组的错误位置多项式计算和搜索错误位置多项式,判断是否完成了所有区域的ECC译码,即判断码元数据中是否还存在未计算伴随式的码元片段,如果存在,则进入第i+Ι组码元片段的伴随式计算,以此类推循环;如果第i组码元片段的伴随式中的各个元素不全为‘0’,则根据第i组码元片段的伴随式计算第i组码元片段的错误位置多项式,并对第i组的错误位置多项式进行搜索,确定出错误位置,并对错误位置的个数是否超出ECC纠错能力进行判断,如果第i组错误溢出则证明出现了不可纠正的错误,此时证明第i组码元片段的错误出现了溢出情况,无法完成所有错误的纠正,故此时应该结束ECC译码;当第i组码元片段的错误没有溢出时,则可以顺利完成第i组的译码过程,在完成第i组码元片段的译码之后,判断是否完成了所有区域的ECC译码,即判断码元数据中是否还存在未计算伴随式的码元片段,如果存在,则进入第i+Ι组码元片段的伴随式计算,以此类推循环,直至译码结束。
[0051]本发明优选实施例的译码方法在码元片段没有出现错误时,直接跳过错误位置多项式计算和搜索错误位置,节省了 50%以上的时间;在出现错误溢出情况时直接跳出整个ECC译码,节省了剩下的译码组的译码时间,达到了进一步缩短译码时间,提高译码效率的效果。
[0052]优选地,在判断出错误位置的个数超出ECC译码纠错能力时,译码方法还包括生成译码中断报告,该包括的内容可以为:错误个数超出纠错能力,未完成纠错的信息。通过生成译码中断报告提醒用户译码过程中断,以方便用户进行错误排除等操作。
[0053]从以上的描述中,可以看出,本发明实施例的译码装置和方法均实现了缩短译码时间,提高译码效率的效果。
[0054]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0055]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0056]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种码元数据的ECC译码方法,其特征在于,包括: 读取码元数据,得到多个码元片段; 分别计算所述多个码元片段中各个码元片段的伴随式; 分别判断计算出的伴随式中的元素是否均为零; 对元素不均为零的伴随式对应的码元片段进行纠错;以及 对元素均为零的伴随式对应的码元片段不再进行纠错。
2.根据权利要求1所述的译码方法,其特征在于,分别计算所述多个码元片段中各个码元片段的伴随式以及分别判断计算出的伴随式中的元素是否均为零包括: 计算所述多个码元片段中第一码元片段的伴随式; 判断所述第一码元片段的伴随式中的元素是否均为零; 在判定所述第一码元片段的伴随式中的元素均为零时,判断是否还存在未计算伴随式的码元片段; 在判定存在未计算伴随式的码元片段时,对第二码元片段的伴随式进行计算,其中,所述第二码元片段为所述未计算伴随式的码元片段中的任一码元片段;以及判断所述第二码元片段的伴随式中的元素是否均为零。
3.根据权利要求2所述的译码方法,其特征在于,对元素不均为零的伴随式对应的码元片段进行纠错包括: 在判定所述第一码元片段的伴随式中的元素不均为零时对所述第一码元片段进行纠错;以及 在判定所述第二码元片段的伴随式中的元素不均为零时对所述第二码元片段进行纠错。
4.根据权利要求3所述的译码方法,其特征在于,在判定所述第一码元片段的伴随式中的元素不均为零时对所述第一码元片段进行纠错包括: 计算所述第一码元片段的伴随式的错误位置多项式; 确定与计算出的错误位置多项式对应的错误位置; 判断确定出的错误位置的个数是否大于预设值; 在判定确定出的错误位置的个数大于所述预设值时,结束对所述码元数据的纠错;以及 在判定确定出的错误位置的个数小于或等于所述预设值时,判断是否还存在未计算伴随式的码元片段。
5.根据权利要求4所述的译码方法,其特征在于,在判定确定出的错误位置的个数大于所述预设值时,所述译码方法还包括:生成译码中断报告。
6.一种码元数据的ECC译码装置,其特征在于,包括: 读取单元,用于读取码元数据,得到多个码元片段; 第一处理单元,与所述读取单元相连接,用于分别计算所述多个码元片段中各个码元片段的伴随式; 第二处理单元,与所述第一处理单元相连接,用于分别判断计算出的伴随式中的元素是否均为零; 译码单元,与所述第二处理单元相连接,用于对元素不均为零的伴随式对应的码元片段进行纠错;以及 第三处理单元,与所述第二处理单元相连接,用于对元素均为零的伴随式对应的码元片段不再进行纠错。
7.根据权利要求6所述的译码装置,其特征在于,所述第一处理单元和所述第二处理单元还用于执行以下步骤: 计算所述多个码元片段中第一码元片段的伴随式; 判断所述第一码元片段的伴随式中的元素是否均为零; 在判定所述第一码元片段的伴随式中的元素均为零时,判断是否还存在未计算伴随式的码元片段; 在判定存在未计算伴随式的码元片段时,对第二码元片段的伴随式进行计算,其中,所述第二码元片段为所述未计算伴随式的码元片段中的任一码元片段;以及 判断所述第二码元片段的伴随式中的元素是否均为零。
8.根据权利要求7所述的译码装置,其特征在于, 所述译码单元还用于在判定所述第一码元片段的伴随式中的元素不均为零时对所述第一码元片段进行纠错;以及 所述译码单元还用于在判定所述第二码元片段的伴随式中的元素不均为零时对所述第二码元片段进行纠错。
9.根据权利要求8所述的译码装置,其特征在于,所述译码单元包括:· 第一处理模块,用于计算所述第一码元片段的伴随式的错误位置多项式; 第二处理模块,与所述第一处理模块相连接,用于确定与计算出的错误位置多项式对应的错误位置; 第三处理模块,与所述第二处理模块相连接,用于判断确定出的错误位置的个数是否大于预设值;以及 第四处理模块,与所述第三处理模块相连接,用于在判定确定出的错误位置的个数大于所述预设值时结束对所述码元数据的纠错, 其中,所述第一处理单元或所述第二处理单元还用于在判定确定出的错误位置的个数小于或等于所述预设值时,判断是否还存在未计算伴随式的码元片段。
10.根据权利要求9所述的译码装置,其特征在于,所述第四处理模块还用于生成译码中断报告。
【文档编号】H03M13/09GK103580698SQ201210273802
【公开日】2014年2月12日 申请日期:2012年8月2日 优先权日:2012年8月2日
【发明者】刘会娟, 苏志强 申请人:北京兆易创新科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1