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

文档序号:6477325阅读:129来源:国知局
专利名称:纠错编码设备和方法及纠错解码设备和方法
技术领域
本发明涉及纠错编码和纠错解码技术,更具体地说,涉及一种纠错编码方法和设备和一种纠错解码方法和设备,所述纠错解码方法和设备能够更精确地探测发生在纠错编码的数据中的错误。
背景技术
已有多种类型的数据存储装置,包括磁盘,例如软盘和硬盘;磁带;半导体存储芯片,例如ROM和RAM;光盘,例如CD和DVD等。
近年来光盘被广泛的采用,这是因为由于半导体和信号处理技术的发展,光盘的存储能力迅速增加。另外,光盘相对便宜。数据逐块地记录在光盘上。例如,每一块是纠错码(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号美国专利中。
然而,如果ECC数据被两个连续的错误的BIS数据围绕,那么常规的纠错编码和解码方法可能会错误地将该ECC数据确定为是错误的。
发明公开技术解决方案本发明的一方面提供了一种纠错编码方法和设备,所述方法和设备能够更精确地探测错误的数据。
本发明的一方面还提供了一种纠错解码方法和设备,所述方法和设备能够更精确地探测错误的数据。
有益的效果根据本发明,可更精确地在纠错解码过程中探测发生错误的数据的位置。另外,本发明可以通过稍微修改常规的理德-所罗门和BIS码的结构而容易地被实现。


通过结合附图对其示例性实施例进行的详细描述,本发明的以上和/或其他特性和优点将会变得更加清楚,其中图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数据是错误的。
因此,通过探测错误的子BIS数据和把被两个连续的错误的子BIS数据围绕的子ECC数据确定为是错误的,可逐个子ECC数据地探测哪一部分的纠错编码的数据是错误的。
图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数据是错误的。
在操作步骤790中,错误确定器650确定被两个连续的错误的子BIS数据围绕的子ECC数据是错误的。
如上所述,根据本发明,可更精确地在纠错解码过程中探测发生错误的数据的位置。另外,本发明可以通过稍微修改常规的理德-所罗门和BIS码的结构容易地被实现。
虽然已表示和描述了本发明的一些实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改。
权利要求
1.一种纠错编码方法,包括通过以预定的方式将用户数据进行纠错编码来产生预定数量的字节长的纠错码数据;产生突发指示子码数据,该突发指示子码数据为N字节长并且用于探测在用户数据中发生的错误;将该纠错码数据划分为多个子纠错码数据,每一子纠错码数据具有小于该纠错码数据的长度;将该突发指示子码数据划分为多个具有小于可纠错编码的最小数据单元的长度的子突发指示子码数据;和交替排列该多个子纠错码数据与该多个子突发指示子码数据。
2.如权利要求1所述的纠错编码方法,其中,可纠错编码的最小数据单元为1字节长,且突发指示子码数据被划分为多个子突发指示子码数据,每一突发指示子码数据具有小于1字节的长度。
3.如权利要求2所述的纠错编码方法,其中,突发指示子码数据被划分为多个子突发指示子码数据,每一子突发指示子码数据具有4位长度。
4.如权利要求1所述的纠错编码方法,其中,通过使用理德-所罗门编码方法将用户数据进行纠错编码来产生纠错码数据。
5.一种纠错编码设备,包括纠错编码器,用于通过以预定的方式将用户数据进行纠错编码来产生预定数量的字节长的纠错码数据,并且用于产生突发指示子码数据,所述突发指示子码数据是预定数量的字节长并且用于探测在用户数据中发生的错误;子数据发生器,用于将该纠错码数据划分为多个子纠错码数据,每一子纠错码数据具有小于该纠错码数据的长度,并且该子数据发生器用于将该突发指示子码数据划分为多个具有小于可纠错编码的最小数据单元的长度的子突发指示子码数据;和数据合成器,用于交替排列该多个子纠错码数据和该多个子突发指示子码数据。
6.如权利要求5所述的纠错编码设备,其中,可纠错编码的最小数据单元为1字节长,且纠错编码器划分突发指示子码数据,从而该多个子突发指示子码数据的每一个具有小于1字节的长度。
7.如权利要求6所述的纠错编码设备,其中,子数据发生器划分突发指示子码数据,从而该多个子突发指示子码数据的每一个具有4位长度。
8.如权利要求5所述的纠错编码设备,其中,纠错编码器通过使用理德-所罗门编码方法将用户数据进行纠错编码来产生该纠错码数据。
9.一种纠错解码方法,包括接收数字数据,在该数字数据中多个子纠错码数据和多个子突发指示子码数据被交替排列;通过将每预定数量的子突发指示子码数据结合在一起来产生具有与可纠错解码的最小数据单元相同的长度的突发指示子码数据;以预定的方式将该突发指示子码数据进行纠错解码;通过比较纠错解码的突发指示子码数据和将被纠错解码的突发指示子码数据来确定突发指示子码数据中的哪个子突发指示子码数据是错误的;和把被两个连续的错误的子突发指示子码数据围绕的子纠错码数据确定为是错误的。
10.如权利要求9所述的纠错解码方法,其中,可纠错解码的最小数据单元为1字节长。
11.如权利要求10所述的纠错解码方法,其中,该多个子突发指示子码数据中的每一个为4位长,且具有1字节长度的突发指示子码数据通过将两个子突发指示子码数据结合在一起来被产生。
12.如权利要求9所述的纠错解码方法,其中,使用理德-所罗门解码方法将突发指示子码数据进行纠错解码。
13.一种纠错解码设备,包括突发指示子码数据发生器,用于接收数字数据,在该数字数据中多个子纠错码数据和多个子突发指示子码数据被交替排列,并且该突发指示子码数据发生器用于通过将每预定数量的子突发指示子码数据结合在一起来产生具有与可纠错解码的最小数据单元相同的长度的突发指示子码数据;纠错解码器,用于以预定的方式将该突发指示子码数据进行纠错解码;和错误确定器,用于通过比较纠错解码的突发指示子码数据和将被纠错解码的突发指示子码数据来确定突发指示子码数据中的哪个子突发指示子码数据是错误的,并且把被两个连续的错误的子突发指示子码数据围绕的子纠错码数据确定为是错误的。
14.如权利要求13所述的纠错解码设备,其中,可纠错解码的最小数据单元为1字节长。
15.如权利要求14所述的纠错解码设备,其中,该多个子突发指示子码数据中的每一个为4位长,且具有1字节长度的突发指示子码数据通过将两个子突发指示子码数据结合在一起来被产生。
16.如权利要求13所述的纠错解码设备,其中,纠错解码器使用理德-所罗门解码方法将突发指示子码数据进行纠错解码。
17.一种用于探测记录介质上的用户数据中的错误的纠错编码和/或解码方法,该方法包括产生预定大小的错误定位数据以用于探测用户数据中的错误;将该错误定位数据划分为多个子错误定位数据,每一子错误定位数据具有小于可纠错编码的最小数据单元的长度;和将该多个子错误定位数据以规则的间隔排列在每一个纠错码块中以定位错误的用户数据,其中该记录介质包括在逐块的基础上记录的用户数据从而每一块是纠错码块。
18.如权利要求17所述的纠错编码和/或解码方法,其中,错误定位数据是使用理德-所罗门解码/编码技术进行纠错编码/解码的突发指示子码数据。
19.如权利要求18所述的纠错编码和/或解码方法,其中,通过以预定的用户数据的间隔排列每一子错误定位数据将每一纠错码块在预定的位置划分。
20.如权利要求19所述的纠错编码和/或解码方法,还包括通过将每一子错误定位数据一起结合为各划分前的将被纠错解码的错误定位数据状态并且比较每一纠错解码的错误定位数据和各自的划分前的未纠错解码的错误定位数据,确定任何一个子错误定位数据是否是错误的。
21.如权利要求20所述的纠错编码和/或解码方法,还包括通过确定被划分的纠错码块的任何一个是否相继地定位于两个探测到的错误的子错误定位数据之间来探测哪一部分的纠错编码的数据是错误的,其中被确定为相继地定位于两个错误的子错误定位数据之间的每一被划分的纠错码块是错误的。
22.如权利要求17所述的纠错编码和/或解码方法,其中,可纠错编码和/或解码的最小数据单元为1字节长,且错误定位数据被划分为多个子错误定位数据,每一子错误定位数据具有小于1字节的长度。
23.如权利要求22所述的纠错编码和/或解码方法,其中,每一子错误定位数据具有4位长度。
24.如权利要求23所述的纠错编码和/或解码方法,其中,通过使用理德-所罗门技术将用户数据进行纠错编码来产生错误定位数据。
25.如权利要求24所述的纠错编码和/或解码方法,其中,理德-所罗门技术用来逐字节地将数据进行纠错编码和/或将数据进行纠错解码。
26.如权利要求24所述的纠错编码和/或解码方法,还包括将纠错编码的数据记录在记录介质上。
27.如权利要求17所述的纠错编码和/或解码方法,其中,所述记录介质是光盘。
28.一种用于探测记录介质上的用户数据中的错误的纠错编码和/或解码设备,所述记录介质具有在逐块的基础上记录的用户数据从而每一块是纠错码块,该设备包括纠错编码器,用于产生预定大小的错误定位数据以用于探测用户数据中出现的错误;子数据产生器,用于将错误定位数据划分为多个子错误定位数据,每一子错误定位数据具有小于可纠错编码的最小数据单元的长度;和数据合成器,用于将每一子错误定位数据在预定的位置排列在每一纠错码块中以定位错误的用户数据,其中每一纠错码块具有分别定位在每一侧的子错误定位数据之一。
29.如权利要求28所述的纠错编码和/或解码设备,其中,错误定位数据是使用理德-所罗门解码/编码技术纠错编码/解码的突发指示子码数据。
30.如权利要求29所述的纠错编码和/或解码设备,其中,通过在预定的用户数据的位置排列每一子错误定位数据将每一纠错码块在预定的位置划分。
31.如权利要求30所述的纠错编码和/或解码设备,还包括控制器,用来探测哪部分的纠错编码的数据是错误的,其中每一子错误定位数据被结合为各划分前的错误定位数据状态,被纠错解码,并且被与各划分前的未纠错解码的错误定位数据比较,从而被两个连续的错误的子错误定位数据围绕的子纠错编码的数据是错误的。
32.如权利要求28所述的纠错编码和/或解码设备,其中,可纠错编码和/或解码的最小数据单元为1字节长,且每一子错误定位数据具有小于1字节的长度。
33.如权利要求32所述的纠错编码和/或解码设备,其中,每一子错误定位数据具有4位长度。
34.如权利要求33所述的纠错编码和/或解码设备,其中,通过使用理德-所罗门技术将用户数据进行纠错编码来产生错误定位数据。
35.如权利要求34所述的纠错编码和/或解码设备,其中,理德-所罗门技术用来逐字节地将数据进行纠错编码和/或将数据进行纠错解码。
36.如权利要求34所述的纠错编码和/或解码设备,还包括将纠错编码的数据记录在所述记录介质上。
37.如权利要求36所述的纠错编码和/或解码设备,其中,所述记录介质是光盘。
全文摘要
一种纠错编码方法,包括通过以预定的方式将用户数据进行纠错编码来产生预定数量字节长的纠错码数据;产生突发指示子码数据,该突发指示子码数据为预定数量的字节长并且被用于探测在用户数据中发生的错误;将该纠错码数据划分为多个子纠错码数据,每一子纠错码数据具有小于该纠错码数据的长度;将该突发指示子码数据划分为多个具有小于可纠错编码的最小数据单元的长度的子突发指示子码数据;和交替排列该多个子纠错码数据与该多个子突发指示子码数据。
文档编号G06FGK1751443SQ200480004129
公开日2006年3月22日 申请日期2004年6月18日 优先权日2003年6月21日
发明者金基铉, 李胤雨, 黄盛凞 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1