大游中国股份有限公司-BG大游官方网站-DNA存储纠错编码技术专家

纠错编码设备和方法及纠错解码设备和方法

作者:小编 日期:Jul.07.2025 点击数:  

  近年来光盘被广泛的采用,这是因为由于半导体和信号处理技术的发展,光盘的存储能力迅速增加。另外,光盘相对便宜。数据逐块地记录在光盘上。例如,每一块是纠错码(ECC)块,该纠错码块是最小的可纠错的数据单元。因为光盘可能会被灰尘擦伤或损坏,所以数据在被记录到光盘上之前以预定的方式被纠错编码。

  理德-所罗门码经常用于对数据进行纠错编码。例如,理德-所罗门码(248,216,32)通过向216字节的用户数据添加32字节奇偶校验(parity)来产生248字节码字,以在216字节的用户数据中纠错。

  在对纠错编码的数据进行纠错解码的情况下,附加的信息,例如突发指示子码(BIS)数据被插入到相邻的理德-所罗门码之间来更容易地探测该纠错编码的数据中错误的部分。该BIS数据具有如此高的数据率以致其能够纠正发生在纠错编码的数据中的大多数的错误。

  图1示出了常规的纠错编码的数据的格式,所述常规的纠错编码的数据包括ECC数据C0至C3的和BIS数据B0至B2。参照图1,ECC数据C0至C3的每一个是38字节长,每一BIS数据是1字节长。BIS数据B0至B2分别被插入到C0和C1、C1和C2、以及C2和C3之间。

  首先将BIS数据B0至B2进行纠错解码。如果ECC数据C0至C3之一被确定为被两个连续的错误的BIS数据围绕,那么相应的ECC数据被认为是错误的并且该ECC数据被进行纠错解码,从而增加ECC数据的可纠错性。这些类型的使用常规的BIS数据结构和常规的理德-所罗门编码方法的纠错编码和解码方法公开于第6,367,049号美国专利中。

  通过结合附图对其示例性实施例进行的详细描述,本发明的以上和/或其他特性和优点将会变得更加清楚,其中图1是表示常规的纠错编码的数据的格式的示图,所述常规的纠错编码的数据包括纠错码(ECC)数据和突发指示子码(BIS)数据;图2是表示根据本发明一方面的纠错编码的数据的格式的示图,所述根据本发明一方面的纠错编码的数据包括子ECC数据和子BIS数据;图3是根据本发明一方面的执行纠错编码和解码方法的数据记录/再现设备的方框图;图4是根据本发明一方面的纠错编码设备的方框图;图5是根据本发明一方面的纠错编码方法的流程图;图6是根据本发明一方面的纠错解码设备的方框图;和图7是根据本发明一方面的纠错解码方法的流程图。

  最佳方式根据本发明的一方面,提供了一种纠错编码方法。该纠错编码方法包括通过以预定的方式将用户数据进行纠错编码来产生M字节长的纠错码(ECC)数据;产生突发指示子码(BIS)数据,该数据为N字节长并且用于探测在用户数据中发生的错误;将该ECC数据划分为多个子ECC数据,每一子ECC数据具有小于该ECC数据的长度;将该BIS数据划分为多个具有小于可纠错编码的最小数据单元的长度的子BIS数据;和(e)交替排列该多个子ECC数据与该多个子BIS数据。

  根据本发明的另一方面,提供了一种纠错编码设备。该纠错编码设备包括纠错编码器,通过以预定的方式将用户数据进行纠错编码来产生M字节长的纠错码(ECC)数据,和产生突发指示子码(BIS)数据,该突发指示子码数据为N字节长并且用于探测在用户数据中发生的错误;子数据发生器,将该ECC数据划分为多个子ECC数据,每一子ECC数据具有小于该ECC数据的长度,并且该子数据发生器将该BIS数据划分为多个具有小于可纠错编码的最小数据单元的长度的子BIS数据;和数据合成器,交替排列该多个子ECC数据和该多个子BIS数据。

  根据本发明的另一方面,提供了一种纠错解码方法。该纠错解码方法包大游中国股份有限公司括接收数字数据,在该数字数据中多个子ECC数据和多个子BIS数据被交替排列;通过将每预定数量的子BIS数据结合在一起来产生具有与可纠错解码的最小数据单元相同的长度的BIS数据;以预定的方式将该BIS数据进行纠错解码;通过比较纠错解码的BIS数据和将被纠错解码的BIS数据来确定BIS数据中的哪个子BIS数据是错误的;和把被两个连续的错误的子BIS数据围绕的子ECC数据确定为是错误的。

  根据本发明的另一方面,提供了一种纠错解码设备。该纠错解码设备包括BIS数据发生器,接收数字数据,在该数字数据中多个子ECC数据和多个子BIS数据被交替排列,并且该BIS数据发生器通过将每预定数量的子BIS数据结合在一起来产生具有与可纠错解码的最小数据单元相同的长度的BIS数据;纠错解码器,以预定的方式将该BIS数据进行纠错解码;和错误确定器,通过比较纠错解码的BIS数据和将被纠错解码的BIS数据来确定BIS数据中的哪个子BIS数据是错误的,并且把被两个连续的错误的子BIS数据围绕的子ECC数据确定为是错误的。

  参照图1,其示出了常规的纠错编码的数据的格式,突发指示子码(BIS)数据B0被插入到纠错码(ECC)数据C0和ECC数据C1之间,BIS数据B1被插入到ECC数据C1和ECC数据C2之间,BIS数据B2被插入到ECC数据C2和ECC数据C3之间。BIS数据B0至B2的每一个是1字节长。应该理解,BIS数据没有不限于为1字节长。在本发明中,BIS数据B0至B2的每一个被划分为多个子BIS数据,每一子BIS数据具有小于BIS数据B0至B2的每一个的长度,并且该多个子BIS数据以规则的间隔排列在ECC数据C1至C3的每一个中,从而在纠错解码过程中更精确地定位发生错误的ECC数据。由于该子BIS数据,38字节长的ECC数据C1至C3的每一个被划分为多个子ECC数据。

  图2是显示根据本发明一方面的纠错编码的数据的格式的示图,其包括子ECC数据C′0至C′6和子BIS数据B′0至B′5。参照图2,子ECC数据C′0至C′5的每一个是22字节长,且子ECC数据C′6是20字节长。每一子BIS数据是4位长。应该理解,C′0至C′5、C′6和B0至B′5的每一个可以是与以上讨论的长度不同的长度。

  图1中的ECC数据C0至C3的每一个被划分为图2中的子ECC数据C′0至C′6。另外,图1中的BIS数据B0被划分为图2中的子BIS数据B′0和B′1,BIS数据B1被划分为子BIS数据B′2和B′3,BIS数据B2被划分为子BIS数据B′4和B′5。

  子BIS数据B′0和B′1结合在一起成为1字节的BIS数据,子BIS数据B′2和B′3结合在一起成为1字节的BIS数据,子BIS数据B′4和B′5结合在一起成为1字节的BIS数据,然后每一1字节的BIS数据被进行纠错解码。其后,通过比较纠错解码的BIS数据和它们各自的将被纠错解码的对应物,确定哪个子BIS数据是错误的。

  图3是根据本发明一方面的执行纠错编码和解码方法的数据记录/再现设备200的方框图。参照图3,数据记录/再现设备200包括光学头210、纠错编码和解码设备230和控制器250。光学头210在控制器250的控制下,将数据记录在光盘100上或从光盘100上读取数据。纠错编码和解码设备230在控制器250的控制下对将被记录在光盘100上的数据执行纠错编码方法,和/或在控制器250的控制下对从光盘100上读取的数据执行纠错解码方法。该纠错编码和解码方法是相互兼容的。控制器250控制纠错编码和解码设备230和光学头210,以便数据可记录在光盘100上和/或数据可从光盘100上被读取。

  图4是根据本发明一方面的纠错编码设备300的方框图。纠错编码设备300包含在纠错编码和解码设备230中,并且执行纠错编码方法。参照图4,纠错编码设备300包括纠错编码器310、子数据发生器330和数据合成器350。

  现在参照图5更全面地描述纠错编码设备300的操作。图5是根据本发明一方面的纠错编码方法的流程图。在操作步骤410中,纠错编码器310接收用户数据,并将接收的用户数据以预定的方式进行纠错编码,从而产生M字节长的ECC数据。在操作步骤430中,纠错编码器310接收指定将记录用户数据的光盘地址的地址数据,并且将接收的地址数据进行纠错编码,从而产生N字节长的BIS数据。这里,BIS数据用来探测在ECC数据中哪里发生错误。如图2所示,M和N可以分别设定为(但未限制为)152字节和3字节。

  纠错编码器310可以使用理德-所罗门编码方法将用户数据和地址数据进行纠错编码,从而产生ECC数据和BIS数据。理德-所罗门编码方法详细地公开于第6,367,049号美国专利中。纠错编码器310不限于使用理德-所罗门编码方法。

  子数据发生器330从纠错编码器310接收ECC数据和BIS数据,在操作步骤450中,将ECC数据划分为多个子ECC数据,每一子ECC数据具有小于该ECC数据的长度,并且在操作步骤470中,该子数据发生器330将BIS数据划分为多个子BIS数据,每一子BIS数据具有小于该BIS数据的长度。应该理解,BIS可以在ECC数据之前被划分。

  参照图2,152字节长的ECC数据被划分为子ECC数据C′0至C′6。子ECC数据C′0至C′5的每一个是22字节长,且子ECC数据C′6是20字节长。3字节长的BIS数据被划分为子BIS数据B′0至B′5的。子BIS数据B′0至B′5的每一个是4位长。然而,ECC数据的长度、构成ECC数据的每一子ECC数据的长度、BIS数据的长度和构成BIS数据的每一子BIS数据的长度不限于在这里阐述的值。

  在理德-所罗门技术中,数据逐字节地被进行纠错编码或纠错解码。因此,小于1字节的数据不能使用理德-所罗门技术被纠错编码或纠错解码。在本发明中,BIS数据被分解为多个小于1字节的子BIS数据,且该多个子BIS数据分别排列在多个具有小于ECC数据的长度的子ECC数据之中。

  在操作步骤490中,数据合成器350从子数据发生器330接收该多个子ECC和该多个子BIS数据,并且交替地排列该多个子ECC数据和该多个子BIS数据,从而完成整个纠错编码过程并获得纠错编码的数据。其后纠错编码的数据被记录在光盘上。

  图6是根据本发明一方面的纠错解码设备600的方框图。纠错解码设备600被提供在纠错编码和解码设备230中,并且执行纠错解码方法。参照图6,纠错解码设备600包括BIS数据发生器610、纠错解码器630和错误确定器650。现在参照图7更全面地描述纠错解码设备600的操作。图7是根据本发明一方面的纠错解码方法的流程图。

  在操作步骤710中,BIS数据发生器610从数据存储介质例如光盘接收数字数据,如图2显示,在所述数字数据中多个子ECC数据和多个子BIS数据交替排列。在操作步骤730中,将连续组的子BIS数据结合为具有纠错解码方法需要的预定长度的BIS数据,所述组是以长度确定的预定数量的子BIS数据。

  这里,数字数据以其被纠错编码的相同的方式进行纠错解码;然而,并不限于这样的过程。理德-所罗门技术通常被用于纠错编码或纠错解码数据。在理德-所罗门技术中,可纠错编码和/或可纠错解码的最小数据单元具有1字节长度。例如,如果每一子BIS数据是4位长,则每两个子BIS数据被一起结合以产生1字节的BIS数据。

  在操作步骤750中,纠错解码器630从BIS数据发生器610接收根据本发明一方面在具有纠错解码方法中需要的预定长度的BIS数据,并以预定的方式将接收的BIS数据进行纠错解码。纠错解码器630可以使用理德-所罗门解码方法将BIS数据进行纠错解码。

  在操作步骤770中,错误确定器650从纠错解码器630接收纠错解码的BIS数据,从BIS数据发生器610接收将被纠错解码的BIS数据,比较该纠错解码的BIS数据和该将被纠错解码的BIS数据,从而确定哪个子BIS数据是大游中国股份有限公司错误的。

  1.一种纠错编码方法,包括通过以预定的方式将用户数据进行纠错编码来产生预定数量的字节长的纠错码数据;产生突发指示子码数据,该突发指示子码数据为N字节长并且用于探测在用户数据中发生的错误;将该纠错码数据划分为多个子纠错码数据,每一子纠错码数据具有小于该纠错码数据的长度;将该突发指示子码数据划分为多个具有小于可纠错编码的最小数据单元的长度的子突发指示子码数据;和交替排列该多个子纠错码数据与该多个子突发指示子码数据。

  5.一种纠错编码设备,包括纠错编码器,用于通过以预定的方式将用户数据进行纠错编码来产生预定数量的字节长的纠错码数据,并且用于产生突发指示子码数据,所述突发指示子码数据是预定数量的字节长并且用于探测在用户数据中发生的错误;子数据发生器,用于将该纠错码数据划分为多个子纠错码数据,每一子纠错码数据具有小于该纠错码数据的长度,并且该子数据发生器用于将该突发指示子码数据划分为多个具有小于可纠错编码的最小数据单元的长度的子突发指示子码数据;和数据合成器,用于交替排列该多个子纠错码数据和该多个子突发指示子码数据。

  9.一种纠错解码方法,包括接收数字数据,在该数字数据中多个子纠错码数据和多个子突发指示子码数据被交替排列;通过将每预定数量的子突发指示子码数据结合在一起来产生具有与可纠错解码的最小数据单元相同的长度的突发指示子码数据;以预定的方式将该突发指示子码数据进行纠错解码;通过比较纠错解码的突发指示子码数据和将被纠错解码的突发指示子码数据来确定突发指示子码数据中的哪个子突发指示子码数据是错误的;和把被两个连续的错误的子突发指示子码数据围绕的子纠错码数据确定为是错误的。

  13.一种纠错解码设备,包括突发指示子码数据发生器,用于接收数字数据,在该数字数据中多个子纠错码数据和多个子突发指示子码数据被交替排列,并且该突发指示子码数据发生器用于通过将每预定数量的子突发指示子码数据结合在一起来产生具有与可纠错解码的最小数据单元相同的长度的突发指示子码数据;纠错解码器,用于以预定的方式将该突发指示子码数据进行纠错解码;和错误确定器,用于通过比较纠错解码的突发指示子码数据和将被纠错解码的突发指示子码数据来确定突发指示子码数据中的哪个子突发指示子码数据是错误的,并且把被两个连续的错误的子突发指示子码数据围绕的子纠错码数据确定为是错误的。

  17.一种用于探测记录介质上的用户数据中的错误的纠错编码和/或解码方法,该方法包括产生预定大小的错误定位数据以用于探测用户数据中的错误;将该错误定位数据划分为多个子错误定位数据,每一子错误定位数据具有小于可纠错编码的最小数据单元的长度;和将该多个子错误定位数据以规则的间隔排列在每一个纠错码块中以定位错误的用户数据,其中该记录介质包括在逐块的基础上记录的用户数据从而每一块是纠错码块。

  20.如权利要求19所述的纠错编码和/或解码方法,还包括通过将每一子错误定位数据一起结合为各划分前的将被纠错解码的错误定位数据状态并且比较每一纠错解码的错误定位数据和各自的划分前的未纠错解码的错误定位数据,确定任何一个子错误定位数据是否是错误的。

  21.如权利要求20所述的纠错编码和/或解码方法,还包括通过确定被划分的纠错码块的任何一个是否相继地定位于两个探测到的错误的子错误定位数据之间来探测哪一部分的纠错编码的数据是错误的,其中被确定为相继地定位于两个错误的子错误定位数据之间的每一被划分的纠错码块是错误的。

  28.一种用于探测记录介质上的用户数据中的错误的纠错编码和/或解码设备,所述记录介质具有在逐块的基础上记录的用户数据从而每一块是纠错码块,该设备包括纠错编码器,用于产生预定大小的错误定位数据以用于探测用户数据中出现的错误;子数据产生器,用于将错误定位数据划分为多个子错误定位数据,每一子错误定位数据具有小于可纠错编码的最小数据单元的长度;和数据合成器,用于将每一子错误定位数据在预定的位置排列在每一纠错码块中以定位错误的用户数据,其中每一纠错码块具有分别定位在每一侧的子错误定位数据之一。

  31.如权利要求30所述的纠错编码和/或解码设备,还包括控制器,用来探测哪部分的纠错编码的数据是错误的,其中每一子错误定位数据被结合为各划分前的错误定位数据状态,被纠错解码,并且被与各划分前的未纠错解码的错误定位数据比较,从而被两个连续的错误的子错误定位数据围绕的子纠错编码的数据是错误的。

  一种纠错编码方法,包括通过以预定的方式将用户数据进行纠错编码来产生预定数量字节长的纠错码数据;产生突发指示子码数据,该突发指示子码数据为预定数量的字节长并且被用于探测在用户数据中发生的错误;将该纠错码数据划分为多个子纠错码数据,每一子纠错码数据具有小于该纠错码数据的长度;将该突发指示子码数据划分为多个具有小于可纠错编码的最小数据单元的长度的子突发指示子码数据;和交替排列该多个子纠错码数据与该多个子突发指示子码数据。

  1.计算机视觉 2.无线.计算机仿线.网络安全;物联网安全 、大数据安全 2.安全态势感知、舆情分析和控制 3.区块链及应用