数据存储器系统的利记博彩app

文档序号:6414772阅读:213来源:国知局
专利名称:数据存储器系统的利记博彩app
技术领域
本发明涉及数据存储器系统,及用于根据乘积码方案校正记录在数据记录盘或DVD(数字视盘)中的数据的错误的纠错系统。
己将DVD用作ROM(只读存储器)或RAM(随机存取存储器)。在DVD-ROM/RAM中,当从DVD读取数据时,执行根据乘积码方案的纠错,而在DVD-RAM中,当将数据新写入DVD中时,执行纠错码生成,乘积码方案的使用是由DVD标准规定的。参照

图1简要地描述乘积码方案,数据是布置在k1×k2的阵列中的,在垂直方向上的每列中的k1数据上加上纠错码,即PO(奇偶性外码)并在水平方向上的各行中的k2个数据上加上纠错码,即PI(奇偶性内码)。包含数据与纠错码PO或PI的组称作ECC编码数据。取出k1数据与PO来执行各列中的k1数据的纠错,及取出k2数据与PI来执行各行中的k2数据的纠错。按照DVD标准,行方向上的一行中ECC编码数据的长度Y规定为182个字节,其中包含172个数据字节与10个PI字节。Y×Z个编码数据称作一个ECC块1。长度Z的值是由DVD上的扇区的数目确定的。ECG块1的示范性例子包含16个扇区S01至S16,而各扇区包含12个编码数据行。各编码数据行L01至L12包含172个数据字节与10个PI字节。
图2示出记录在DVD的数据记录道中的ECC编码数据。16个PO行分别分布在16个扇区中。例如扇区S10包含编码数据行L01至L12及一个PO行(P01)的10个PO字节。顺序地从DVD中读出扇区S01至S16的ECC编码数据并将其存储在工作存储器2,即DRAM(动态随机存取存储器)中,以便组成图1中所示的ECC块1。为了执行纠错,读出存储在DVD中的ECC块1并将其缓冲存储在工作存储器2中。当将k1×k2个新数据写入DVD中时,将数据映射或缓冲存储到工作存储器2中并生成与加上新的纠错码PO和PI以完成图1中所示的ECC块。这时指出本说明书中的说明指向从DVD读取的编码数据的纠错,并将用于存储或缓冲存储从DVD读取的编码数据的存储器称作工作存储器。
纠错电路存取工作存储器2以读取布置在列方向上的数据及PO以便执行列方向上的数据的纠错,并读取布置在行方向上的数据及PI以便执行行方向上的数据的纠错。假定工作存储器2中行方向上的地址是连续赋值的,而列方向上的地址是不连续赋值的。在这一情况中,可以以相对高速进行行方向上的读操作,但以低速进行列方向上的读操作,这是由于列方向上地址的不连续性,从而降低了工作存储器2,即DRAM的存取速度。为了解决这一问题,采用了图3中所示的称作存储体交错的方案。为了简化描述,图3示出了只用于存储图1中所示的扇区S01的编码数据行L01至L12中的编码数据的存储区空间。将构成存储体0与存储体1的两个DRAM芯片用作工作存储器,将从DVD的数据记录道读取的ECC编码数据存储在其中。奇数编号的编码数据行的编码数据存储在存储体0中,偶数编码的编码数据行的编码数据存储在存储体1中,而以本技术中著名的交错方案进行对存储体0与1的存储操作,从而在外观上隐蔽了RAS-CAS延迟时间及DRAM,即体0与1的预充电时间,而使列方向上的存储时间似乎是高的。
只在不连续地址的方向上,即列方向上进行存储体交错的上述先有技术交换方案己导致了下述问题。这便是,由于为了简化寻址电路而将行方向上的编码数据的长度选择为用2n表示的长度,而DVD标准则将行方向上的编码数据的长度规定为182字节,但通常采用在行方向上具有256字节的存储体0与1。在这一情况中,行方向上的256个字节只使用了182个字节,而不使用其余74个字节,从而行方向上的使用效率成为低值,即71%=182字节/256字节。
本发明的目的为提供使用改进的存储体交错方案将编码数据映射到工作存储器中的数据存储系统及纠错系统,它改进了工作存储器的使用效率而不降低工作存储器的存取速度且不需要增加外围电路。
按照本发明的用于读取存储在数据记录盘中的多个编码数据行的方法,各行具有字节长度Y,及将多个编码数据行存储在存储器体中,该方法包括下述步骤(ⅰ)建立两个各具有用表达式Y≤2n×(2m+1)的[2n×(2m+1)]表示的总计字节长度的存储体,其中n与m各为正整数,并将两个存储体的各个分成(2m+1)块,(2m+1)块中各块具有用(2n)表示的字节长度,(ⅱ)将从数据记录盘中串行读出的多个编码数据行的各行分成各个具有(2n)字节长度的(2m+1)块,以及(ⅲ)交替地逐个将多个编码数据行的接连的块存储到两个存储体中,其中分别将分配给一个存储体的多个编码数据行的接连的块存储进一个存储体的接连的块中,并分别将分配给另一存储体的多个编码数据行的接连的块存储进另一存储体的接连的块中。
该方法还包括下述步骤(ⅳ)交替的访问两个存储体的块以组成该多个编码数据行,其中存储在一个存储体中的多个编码数据行的接连的块是顺序地访问的,且存储在另一存储体中的多个编码数据行的接连的块是顺序地访问的。
一个存储体的实际地址与另一存储体的实际地址相同。
按照本发明的纠错方法,用于读取串行地存储在数据记录盘中的多个编码数据行,各行具有字节长度Y并包含数据与纠错码,并将该多个编码数据行存储进存储体中,从存储体中读取多个编码数据行的各个及校正编码数据行的数据的错误,该方法包括下述步骤(ⅰ)建立两个各具有用表达式Y≤2n×(2m+1)的[2n×(2m+1)]表示的总计字节长度的存储体,其中n与m各为正整数,并将两个存储体的各个分成(2m+1)块,(2m+1)块中各块具有用(2n)表示的字节长度,(ⅱ)将从数据记录盘中串行读出的多个编码数据行的各行分成各个具有(2n)字节长度的(2m+1)块,以及(ⅲ)交替地逐个将多个编码数据行的接连的块存储到两个存储体中,其中分别将分配给一个存储体的多个编码数据行的接连的块存储进一个存储体的接连的块中,并分别将分配给另一存储体的多个编码数据行的接连的块存储进另一存储体的接连的块中。
(ⅳ)交替地访问两个存储体的块以读取一个编码数据行的(2m+1)块,以及(ⅴ)校正这一个编码数据行的数据的错误。
按照本发明的基于其中的数据是布置成k1×k2阵列的乘积码方案的纠错方法,其中k1为列方向上的数据数而k2为行方向上的字节数,将纠错码PO加在列方向上的k1个数据上,将纠错码PI加在行方向上的k2个数据上,将包含k2个数据及纠错码PI的行方向上的一个编码数据行的总长度规定为Y字节长,该方法包括下述步骤(ⅰ)建立两个各具有用表达式Y≤2n×(2m+1)的[2n×(2m+1)]表示的总计字节长度的存储体,其中n与m各为正整数,及将两个存储体的各个分成(2m+1)块,(2m+1)块中各块具有用(2n)表示的字节长度,(ⅱ)串行地将多个编码数据行存储在数据记录盘中,(ⅲ)将串行地从数据记录盘中读取的多个编码数据行的各个分成各具有(2n)个字节长度的(2m+1)块,以及(ⅳ)交替地逐个将多个编码数据行的接连的块存储进两个存储体中,其中分别将分配给一个存储体的多个编码数据行的块存储进一个存储体的接连的块中,并分别将分配给另一存储体的多个编码数据行的块存储进另一存储体的接连的块中,(ⅴ)交替的访问两个存储体以读取k1个数据及纠错码PO,其中存取一个存储体的各(2m+1)块及存取另一存储体的各(2m+1)块,以及(ⅵ)根据纠错码PO校正k1个数据的错误。重复步骤(ⅴ)与(ⅵ)。
该方法还包括下述步骤(ⅶ)交替地访问两个存储体的块以读取一个编码数据行的(2m+1)块,以及(ⅷ)校正这一编码数据行的数据的错误。重复步骤(ⅶ)与(ⅷ)。
按照本发明的用于读取存储在数据记录盘中的各具有字节长度Y的多个编码数据行及将该多个编码数据行存储在存储体中的数据存储器系统,包括两个各具有用表达Y≤2n×(2m+1)的[2n×(2m+1]表示的总计字节长度的存储体,其中n与m各为正整数,两个存储体的各个分成(2m+1)块,(2m+1)块中各块具有用(2n)表示的字节长度,以及用于将从数据记录盘中串行读取的多个编码数据行的各个分成各具有(2n)个字节长度的(2m+1)块及交替地逐个将多个编码数据行的接连的块存储进两个存储体中的装置,其中分别将分配给一个存储体的多个编码数据行的接连的块存储进一个存储体的接连的块中,并分别将分配给另一存储体的多个编码数据行的接连的块存储进另一存储体的接连的块中。
该数据存储器系统还包括用于交替地访问两个存储体的块以组成多个编码数据行的装置,其中存储在一个存储体中的多个编码数据行的接连的块是顺序地访问的,及存储在另一存储体中的多个编码数据行的接连的块是顺序访问的。
按照本发明的纠错系统,用于读取串行地存储在数据记录盘中的各具有字节长度Y的多个编码数据行及将多个编码数据行存储进存储体,从存储体中读取多个编码数据行的各个及校正编码数据行的数据的错误,该系统包括两个各具有用表达Y≤2n×(2m+1)的[2n×(2m+1)]表示的总计字节长度的存储体,其中n与m各为正整数,两个存储体的各个分成(2m+1)块,(2m+1)块中各块具有用(2n)表示的字节长度,用于将从数据记录盘中串行读取的多个编码数据行的各个分成各具有(2n)字节长度的(2m+1)块及交替地逐个将多个编码数据行的接连的块存储进两个存储体中的装置,其中分别将分配给一个存储体的多个编码数据行的接连的块存储进一个存储体的接连的块中,并分别将分配给另一存储体的多个编码数据行的接连的块存储进另一存储体的接连的块中,用于交替地访问两个存储体的块以读取一个编码数据行的(2m+1)个块的装置,以及用于校正一个编码数据行的数据的错误的装置。
按照本发明的基于其中的数据是布置在k1×k2的阵列中的乘积码方案的纠错系统,其中k1为列方向上的数据数而k2为行方向上的字节数,将纠错码PO加在列方向上的k1个数据上,将纠错码PI加在行方向上的k2个数据上,将包含k2个数据及纠错码PI的行方向上的一个编码数据行的总长度规定为Y字节长,该系统包括两个各具有用表达式Y≤2n×(2m+1)的[2n×(2m+1)]表示的总计字节长度的存储体,其中n与m各为正整数,并将两个存储体的各个分成(2m+1)块,(2m+1)块中各块具有用(2n)表示的字节长度,用于将多个编码数据行串行存储在数据记录盘上的装置,用于将从数据记录盘中串行读取的多个编码数据行的各个分成各具有(2n)字节长度的(2m+1)块及交替地逐个将多个编码数据行的接连的块存储进两个存储体中的装置,其中分别将分配给一个存储体的多个编码数据行的块存储进一个存储体的接连的块中,并分别将分配给另一存储体的多个编码数据行的块存储进另一存储体的接连的块中,用于交替地访问两个存储体以读取k1个数据及纠错码PO的装置,其中一个存储体的各(2m+1)块是顺序访问的,及另一存储体的每个(2m+1)块是顺序地访问的,以及用于根据纠错码PO校正k1个数据的错误的装置。
该纠错系统还包括用于交替地访问两个存储体的块以读取一个编码数据行的(2m+1)块的装置,以及用于校正一个编码数据行的数据的错误的装置。
图1示出乘积码方案的概念。
图2示出记录在数据记录盘中的ECG编码数据。
图3示出用于将ECC编码数据存储在存储体中的先有数据映射方法的问题。
图4示出装有本发明的DVD系统。
图5示出按照本发明的图1中所示的ECC块1的逻辑映射及用于将读自DVD的ECC编码数据映射到两个存储体中的物理映射方案。
图6示出按照本发明的图5中所示的ECC编码数据的逻辑映射的细节。
图7示出控制本发明的用于将读自DVD的ECC编码数据映射到两个存储体中的物理映射方案的细节。
图4示出装有本发明的DVD系统。包含数据与纠错码的ECC编码数据是存储在DVD或数据记录盘11中的。注意此后将ECC编码数据称作编码数据并将ECC编码数据的数据纠错称作编码数据的纠错。转轴电机12转动DVD11。读取头13在导杆上移动读取DVD11上的编码数据与伺服信息并将它们提供给读取电路15。读取电路15将编码数据与伺服信息提供给光盘控制器17中的格式化器21。DVD上的16个坑表示一个字节数据,格式化器21根据称作EFM加解码的转换方案将16个坑的数据转换成一个字节数据,该方案是本技术中众所周知。格式化器21通过检测表示数据顶部的32位同步模式将编码数据分割成182个字节长度一行并将该182个字节发送给缓冲器管理器23。此后描述光盘控制器17的细节。数字伺服处理器16根据来自光盘控制器17的控制信息控制转轴电机12与读取头13。将512K字节的SDRAM(同步DRAM)连接在光盘控制器17上并用作存储从DVD11读出的编码数据的工作存储器。将MPU19连接在MPU接口22上用于控制DVD存储器系统的读操作。将光盘处理器17根据乘积码方案校正过的数据通过主机接口24发送给个人计算机20。
本发明通过使用PO(奇偶性外码)与PI(奇偶性内码)根据乘积码方案校正布置在行方向与列方向上的数据的错误,其中PO用于校正列方向上的数据的错误,而PI用于校正行方向上的数据的错误,如参照图1所述。本发明采用两个存储体0与1作为用于存储读自DVD11的编码数据的工作存储器。图4中所示的SDRAM18用作存储体0与1。体0与1是以体交错的方式存取的。本发明采用图5中所示的映射方案用于改进工作存储器的使用效率而不降低工作存储器的存取速度并且无须额外的外围电路。图5示出图1中所示的ECC块1的逻辑映射及用于将读自DVD11的编码数据映射到SDRAM18的两个存储体0与1中的物理映射方案。图5中所示的182个字节长度对应于图1与2中所示的182个字节长度,及图5中所示的编码数据行L01至L04对应于图1与2中所示的扇区S01的编码数据行L01至L04。为了简化说明,图5中只示出编码数据行L01至L04。
本发明采用两个存储体0与1,并将各存储体0与1分成各在行方向上具有相同长度的奇数块。存储体0与1在行方向上的总长度及各块的长度是由下述表示式决定的。
Y≤2n×(2m+1)其中Y为一个编码数据行中的编码数据的长度,即字节数(182字节),且n与m分别为正整数。存储体0与1的行方向上的总长度,即字节总数,用[2n×(2m+1)]表示,而一块的行方向上的长度,即字节总数,用(2n)表示,而块数则用(2m+1)表示。由于为了利用参照图6与图7描述的同步DRAM的存储体交换方案的优点,而将块的最小长度选定为8个字节,并使用了等于或大于数字“3”的数字“n”。可以选择数字“n”与数字“m”的各种组合来改进图3中所示的先有配置的71%的使用效率。最好采用数字“n”与数字“m”的下面组合来提供高于80%的使用效率。n与m之值使用效率例1182≤8×23=184(n=3,m=11) 182/184=98.9%例2182≤8×25=200(n=3,m=12) 182/200=91.0%例3182≤16×13=208(n=4,m=6) 182/208=87.5%例4128≤32×7=224(n=5,m=3) 182/224=81.25%例5182≤64×3=192(n=6,m=1) 182/192=94.79%图5、6与7示出采用例5的实施例,其中各存储体0与1的行方向上的总的长度为192字节,各存储体0与1中块数为“3”,而三块中各块的长度为64个字节。图5中所示的逻辑映射的细节示出在图6中,而图5中所示的存储体0与1中的物理映射的细节则示出在图7中。光盘控制器17的缓冲器管理器23控制编码数据到SDRAM18,即存储体0与1中的写操作及从SDRAM 18的编码数据的读操作。
图5中的逻辑映射表示将编码数据行L01至L04分成各包含64个字节的三块,并在光盘控制器17的缓冲器管理器23的控制下,将编码数据行L01的第一块存储在存储体0的块A0中,将编码数据行L01的第二块存储在存储体1的块B0中,将编码数据行L01的第三块存储在存储体0的块A1中,将编码数据行L02的第一块存储在存储体1的块B1中,将编码数据行L02的第二块存储在存储体0的块A2中,及将编码数据行L02的第三块存储在存储体1的块B2中,等等。编码数据行L01的纠错是通过交替地取出存储体0的块A0,存储体1的B0及存储体0的块A1进行的。列方向上的纠错是通过交替地取出块A0、块B1、块A3、块B4等等进行的。更具体地,将64字节块分成各具有8字节长度的8个数据存取单元,如图6与7中所示。数据存取单元的8个字节长度是根据下述理由选择。在列方向上的纠错中,图1中所示的各扇区S01至S16与PO部分是由缓冲器管理器23以存储体交错方案顺序地取出地。扇区S01至S16的编码数据行的这些部分,即数据存取单元1A、2A、3A、4A…及PO是由缓冲器管理器23顺序地取出的。应指出图5与6中示出了数据存取单元1A至4A,及取出其余扇区的这种数据存取单元及PO以便执行列方向上的编码数据的纠错。为了使存储体0与1用于取出数据存取单元1A、2A、3A、4A…的存取时间为短的,要求用4次存取操作来读取一个数据存取单元,因此用2个字节×4=8个字节表示的长度,如图6中所示,作为一个数据存取单元的长度。
A编码数据的存储操作如上所述,存储在DVD11中各扇区S01至S16的编码数据及PO是在光盘控制器17的缓冲器管理器23的控制下顺序地由读取头13读取并存储在存储体0与1,即工作存储器中的。将包含编码数据行L01的数据存取单元1A至1H的第一块存储在存储体0的块A0的实际地址0至28中,将包含编码数据行L01的数据存取单元1I至1P的第二块存储在存储体1的块B0的实际地址0到28中,及将包含数据存取单元1Q至1W的第三块存储在存储体0的块A1的实际地址32至60中,及以此类推,如图6与7及下面的表1中所示。表1存储体 存储体中的实际地址行L01 #1块 0 0-28#2块 1 0-28#3块 0 32-60行L02 #1块 1 32-60#2块 0 64-92#3块 1 64-92行L03 #1块 0 96-124#2块 1 96-124#3块 0 128-156行L04 #1块 1 128-156#2块 0 160-188#3块 1 160-188以这一方式,两个存储体0与1分配有相同的实际地址,如图7中所示,将被分别分成奇数块,例如三块,并且两个存储体中各个的块,例如块A0、A1、A2、…及块B0、B1、B2、…,是串行布置在各存储体中的。因此,将读自DVD11的各编码数据行的编码数据分成三块,并将多个编码数据行的编码数据的这些接连的块逐个交替存储在两个存储体0与1中,其中,将分配给存储体0的编码数据行的编码数据接连的块,诸如编码数据行L01的#1块、编码数据行L01的#3块,编码数据行L02的#2块、…,分别存储进存储体0中按实际地址次序布置的接连的块中,即存储体0的块A0,A1、A2、…,并将分配给存储体1的编码数据的接连的块,诸如行L01的#2块、编码数据行L02的#1块、编码数据行L02的#3块、…,分别存储进存储体1的按实际地址的次序布置的接连的块中,即存储体1的块B0、B1、B2、…。
下面的表2分别示出光盘控制器17的缓冲器管理器23处理的逻辑地址及构成存储体0与1的SDRAM18的实际地址。由于采用了各具有512K字节容量的存储体0与1,利用地址线A1至A18来访问存储体0与1。
表2逻辑 0...31...32...63...64...95...96...192...288地址A18=262144 000000000A8=256 000000001A7=128 000000010A6=64 000011110存储体 001100101选择=32A5=16 010101000A4=8 010101000A3=4 010101000A2=2 010101000A1=1 010101000*****************************************实际地 0...31...0...31...32...63...32...96...128存储体 001100101A18=262144 000000000A8=128 000000001A7=64 000000010A6=32 000011110A5=16 010101000A4=8 010101000A3=4 010101000A2=2 010101000A1=1 010101000描述缓冲器管理器23所处理的逻辑地址与存储体0与1的实际地址之间的关系,逻辑地址0对应于存储体0的实际地址0,逻辑地址31对应于存储体0的实际地址31,逻辑地址32对应于存储体1的实际地址0,逻辑地址63对应于存储体1的实际地址31,逻辑地址64对应于存储体0的实际地址32,逻辑地址95对应于存储体0的实际地址63,逻辑地址96对应于存储体1的实际地址32,逻辑地址192对应于存储体0的实际地址96及逻辑地址288对应于存储体1的实际地址128。从实际地址到逻辑地址的转换是通过在位A5与A6之间摇入作为存储体选择(BANK SEL)位的指示存储体的位而执行的,从表2中很清楚。
B编码数据的读与纠错操作在光盘控制器17的缓冲器管理器23的控制下,用存储体交错方案交替地读取存储在存储体0与1中的编码数据来校正列方向与行方向上的编码数据的错误。
B-1列方向上的编码数据的读与纠错操作在列方向上的纠错中,如上所述,缓冲器管理器23以存储体交错方案顺序地取出布置在列方向上的图1中所示的各扇区S01至S16及PO的数据存取单元。假定光盘控制器17的纠错电路29执行包含扇区S01至S16的编码数据行的数据存取单元1A、2A、3A、4A、…及PO的第一列的编码数据的纠错。数据存取单元1A、2A、3A、4A、…的逻辑地址与存储体的实际地址之间的关系如下表3数据存储单元逻辑地址实际地址存储体1A 0 0 02A96 32 13A 192 96 04A 288 128 1显而易见,这些逻辑地址是通过在第一数据存储单元1A上接连地加上值“96”而获得的,因此存储体0与1在列方向上的寻址操作可以简化,并且从逻辑地址到实际地址的地址转换可在缓冲器管理器23中进行而无须额外的外围电路。缓冲器管理器23通过以表3中所示的序列以存储体交错方案交替地存取存储体0和1执行第一列的编码数据的数据存取单元的读操作。以这一方式,从存储体0与1中交替地读取包含扇区S01至S16的编码数据行的数据存取单元1A、2A、3A、4A、…及PO的第一列的编码数据,并通过SRAM控制器25将它们存储在第一SRAM26中。三个SRAM26、27与28以流水线方式操作如下。在第一周期中,从存储体0与1中取出包含数据存取单元1A、2A、3A、4A、…的第一列编码数据,并将它们存储与组合到第一SRAM26中。在第二周期中,通过SRAM控制器25将SRAM26中的第一列编码数据送至纠错电路29并纠正第一列数据的错误,以及从存储体0与1中取出包含数据存取单元1B、2B、3B、4B,…的第二列中的编码数据并将它们存储与组合到第二SRAM27中。在第三周期中,将纠正后的第一列编码数据从纠错电路29反馈给第一SRAM控制器26以更新SRAM26中的原始数据,将SRAM27中的第二列编码数据通过SRAM控制器25发送到纠错电路29并纠正第二列数据的错误,以及从存储体0与1中取出包含数据存取单元1C、2C、3C、4C,…的第三列编码数据并将它们组合进第三SRAM28中。在第四周期中,通过SRAM控制器25与缓冲器管理器23将第一SRAM26中的经过校正的第一列编码数据再写到存储体0与1中,从而纠正了第一列编码数据的错误,将第二列校正过的编码数据从纠错电路29反馈到第二SRAM27以更新SRAM27中的原始数据,以及通过SRAM控制器25将SRAM28中的第三列编码数据发送到纠错电路29并纠正第三列数据的错误。在第五周期中,从存储体0与1中取出包含数据存取单元1D、2D、3D、4D,…的第4列编码数据并将它们存储与组合到第一SRAM26中,通过SRAM控制器25与缓冲器管理器23将第二SRAM27中的经过校正后的第二列编码数据再写到存储体0与1中,从而校正了第二列数据的错误,以及将校正过的第三列编码数据从纠错电路29反馈给第三SRAM28以更新原始数据,从而校正了第三列数据的错误。以这一方式连续地执行列方向上的纠错,直到完成了包含数据存取单元1W、2W、3W、4W、…的最后一列编码数据的纠错为止。注意最后一列的各数据存取单元1W、2W、3W、4W、…只包含6个字节,而只有6个字节在缓冲器管理器23的控制下发送到SRAM26。更具体地,缓冲器管理器23包含计数从存储体0与1读取的编码数据的字节数的计数器,从而最后一列的数据存取单元只有6个字节发送给第一SRAM26。
B-2行方向上的编码数据的读与纠错操作在校正各编码数据行L01、L02、L03、L04,…的编码数据的错误的行方向上的纠错中,缓冲器管理器23利用表1中所示的实际地址从存储体0与1中顺序地读取各编码数据行,并且各编码数据行的纠错是以流水线方式进行的。更具体地,在第一周期中,从存储体0与1中取出第一编码数据行L01的编码数据,并将它们存储与组合进第一SRAM26中。在第二周期中,通过SRAM控制器25将SRAM26中的第一编码数据L01的编码数据发送给纠错电路29并校正第一编码数据行L01的数据的错误,以及从存储体0与1中取出第二编码数据行L02中的编码数据并将它们存储与组合进第二SRAM27中。在第三周期中,将经过校正的第一编码数据行L01的编码数据从纠错电路29反馈给第一SRAM26以更新SRAM26中的原始数据,通过SRAM控制器25将SRAM27中的第二编码数据行L02的编码数据发送到纠错电路29并校正第二编码数据行L02的数据的错误,以及从存储体0与1中取出第三编码数据行L03的编码数据,并将它们组合进第三SRAM28中。在第四周期中,通过SRAM控制器25与缓冲器管理器23将第一SRAM26中的经过校正的第一编码数据行L01的编码数据再写到存储体0与1中,从而校正了第一编码数据行L01的数据的错误,从纠错电路29将经过校正的第二编码数据行L02的编码数据反馈给第二SRAM27以更新SRAM27中的原始数据,以及通过SRAM控制器25将SRAM28中的第三编码数据行L03的编码数据发送给纠错电路29,并校正第三编码数据行的数据的错误。在第五周期中,从存储体0与1中取出第四编码数据行L04的编码数据并将它们存储与组合进第一SRAM26中,通过SRAM控制器25与缓冲器管理器23将第二SRAM27中的经过校正的第二编码数据行L02的编码数据再写到存储体0与1中,从而校正了第二编码数据行L02的数据的错误,以及从纠错电路29将经过校正的第三编码数据行L03的编码数据反馈给第三SRAM28以更新原始数据,从而校正了第三编码数据行的数据的错误。以这一方式连续地执行行方向上的纠错直到完成了图1中所示的最后一行P016的编码数据的纠错为止。
上述列方向与行方向上的纠错操作至少重复一次以改进纠错精度。如果时间允许,最好重复列与行方向上的纠错操作任何数目的次数。纠错之后,缓冲器管理器23利用表1中所示的实际地址读取存储器0与1的经过校正的数据,并通过主机接口24将它们发送给个人计算机20。
本发明的效果本发明能改进工作存储器的使用效率而不降低工作存储器的存取速度及无须额外的外围电路。11...DVD12...转轴电机13...读取头14...导杆15...读取电路16...数字伺服处理器17...光盘控制器18...SDRAM19...MPU20...个人计算机21...格式化器
22...MPU接口23...缓冲器管理器24...主机接口25...SRAM控制器26、27、28...SRAM29...纠错电路
权利要求
1.一种用于读取存储在数据记录盘中的各具有字节长度Y的多个编码数据行并将所述多个编码数据行存储在存储体中的方法,所述方法的特征在于包括下述步骤(ⅰ)建立两个各具有用表达式Y≤2n×(2m+1)的[2n×(2m+1)]表示的总计字节长度的存储体,其中n与m各为正整数,并将两个存储体的各个分成(2m+1)块,(2m+1)块中各块具有用(2n)表示的字节长度,(ⅱ)将从所述数据记录盘中串行读取的多个编码数据行的各行分成各具有所述(2n)字节长度的(2m+1)块,以及(ⅲ)交替地逐个将多个编码数据行的接连的块存储到两个存储体中,其中分别将分配给一个存储体的多个编码数据行的所述接连的块存储进所述一个存储体的接连的块中,并分别将分配给另一存储体的多个编码数据行的所述接连的块存储进所述另一存储体的接连的块中。
2.按照权利要求1的方法,其特征在于所述方法还包括下述步骤(ⅳ)交替地访问所述两个存储体的所述块以组合所述多个编码数据行,其中存储在所述一个存储体中的所述多个编码数据行的所述接连的块是顺序访问的,及存储在所述另一存储体中的所述多个编码数据行的所述接连的块是顺序访问的。
3.按照权利要求2的方法,其特征在于所述一个存储体的实际地址与所述另一存储体的实际地址相同。
4.一种纠错方法,读取串行存储在数据记录盘中的各具有字节长度Y及包含数据与纠错码的多个编码数据行,及将所述多个编码数据行存储进存储体中,从所述存储体中读取各所述多个编码数据行及纠正所述编码数据行的所述数据的错误,所述方法的特征在于包括下述步骤(ⅰ)建立两个各具有用表达式Y≤2n×(2m+1)的[2n×(2m+1)]表示的总计字节长度的存储体,其中n与m各为正整数,并将两个存储体的各个分成(2m+1)块,(2m+1)块中各块具有用(2n)表示的字节长度,(ⅱ)将从所述数据记录盘中串行读取的多个编码数据行的各行分成各具有所述(2n)字节长度的(2m+1)块,以及(ⅲ)交替地逐个将所述多个编码数据行的接连的块存储进所述两个存储体中,其中分别将分配给一个存储体的所述多个编码数据行的所述接连的块存储进所述一个存储体的接连的块中,并分别将分配给另一存储体的所述多个编码数据行的所述接连的块存储进所述另一存储体的接连的块中,(ⅳ)交替的访问所述两个存储体的所述块以读取一个编码数据行的所述(2m+1)块,以及(ⅴ)纠正所述一个编码数据行的数据的错误。
5.按照权利要求4的纠错方法,其特征在于所述一个存储体的实际地址与所述另一存储体的实际地址相同。
6.一种基于将其中的数据布置在k1×k2阵列中的乘积码方案的纠错方法,其中所述k1为列方向上的数据个数而所述k2为行方向上的字节数,将纠错码P0加在所述列方向上的所述k1个数据上,将纠错码PI加在所述行方向上的所述k2个数据上,包含所述k2个数据及所述纠错码PI在内的行方向上的一个编码数据行的总长度规定为Y个字节长,所述方法的特征在于包括下述步骤(ⅰ)建立两个各具有用表达式Y≤2n×(2m+1)的[2n×(2m+1)]表示的总计字节长度的存储体,其中n与m各为正整数,并将两个存储体的各个分成(2m+1)块,(2m+1)块中各块具有用(2n)表示的字节长度,(ⅱ)将多个所述编码数据行串行存储在数据记录盘中,(ⅲ)将从所述数据记录盘中串行读取的各所述多个编码数据行分成各具有所述(2n)字节长度的(2m+1)块,以及(ⅳ)交替地逐个将所述多个编码数据行的接连的块存储进所述两个存储体中,其中分别将分配给一个存储体的所述多个编码数据行的所述接连的块存储进所述一个存储体的接连的块中,并分别将分配给另一存储体的所述多个编码数据行的所述接连的块存储进所述另一存储体的接连的块中,(ⅴ)交替地访问所述两个存储体以读取所述k1个数据及所述纠错码P0,其中访问所述一个存储体的各(2m+1)块及访问所述另一存储体的各(2m+1)块,以及(ⅵ)根据所述纠错码P0纠正所述k1个数据的错误。
7.按照权利要求6的纠错方法,其特征在于重复所述步骤(ⅴ)与(ⅵ)。
8.按照权利要求6或7的纠错方法,其特征在于所述方法还包括下述步骤(ⅶ)交替地访问所述两个存储体的所述块以读取一个编码数据行的所述(2m+1)块,以及(ⅷ)纠正所述一个编码数据行的所述数据的错误。
9.按照权利要求8的纠错方法,其特征在于重复所述步骤(ⅶ)与(ⅷ)。
10.按照权利要求6的纠错方法,其特征在于所述一个存储体的实际地址与所述另一存储体的实际地址相同。
11.一种数据存储器系统,用于读取存储在数据记录盘中的各具有字节长度Y的多个编码数据行,及将所述多个编码数据行存储在存储体中,所述数据存储器系统的特征在于包括两个各具有用表达式Y≤2n×(2m+1)的[2n×(2m+1)]表示的总计字节长度的存储体,其中n与m各为正整数,并将两个存储体的各个分成(2m+1)块,及所述(2m+1)块的每块具有用(2n)表示的字节长度,以及用于将从所述数据记录盘中串行读取的各所述多个编码数据行分成各具有所述(2n)字节长度的(2m+1)块及交替地逐个将所述多个编码数据行的接连的块存储进所述两个存储体的装置,其中分别将分配给一个存储体的所述多个编码数据行的所述接连的块存储进所述一个存储体的接连的块中,及分别将分配给另一存储体的所述多个编码数据行的所述接连的块存储进所述另一存储体的接连的块中。
12.按照权利要求11的数据存储器系统,其特征在于所述数据存储系统还包括用于交替地访问所述两个存储体的所述块以组合所述多个编码数据行的装置,其中存储在所述一个存储体中的所述多个编码数据行的所述接连的块是顺序访问的,及存储在所述另一存储体中的所述多个编码数据行的所述接连的块是顺序访问的。
13.按照权利要求12的数据存储器系统,其特征在于所述一个存储体的实际地址与所述另一存储体的实际地址相同。
14.一种纠错系统,其用于读取串行地存储在数据记录盘中的各具有字节长度Y及包含数据与纠错码的多个编码数据行,及将所述多个编码数据行存储进存储体中,从所述存储体读取各所述多个编码数据行及纠正所述编码数据行的所述数据的错误,所述纠错系统的特征在于包括两个各具有用表达式Y≤2n×(2m+1)的[2n×(2m+1)]表示的总计字节长度的存储体,其中n与m各为正整数,并将两个存储体的各个分成(2m+1)块,及所述(2m+1)块的每块具有用(2n)表示的字节长度,用于将串行地读自所述数据记录盘的各所述多个编码数据行分成各具有所述(2n)字节长度的(2m+1)块,及用于交替地逐个将所述多个编码数据行的接连的块存储进所述两个存储体中的装置,其中分别将分配给一个存储体的所述多个编码数据行的所述接连的块存储进所述一个存储体的接连的块中,及分别将分配给另一存储体的所述多个编码数据行的所述接连的块存储进所述另一存储体的接连的块中,用于交替地访问所述两个存储体的所述块以读取一个编码数据行的所述(2m+1)块的装置,及用于纠正所述一个编码数据行的所述数据的错误的装置。
15.按照权利要求14的纠错系统,其特征在于所述一个存储体的实际地址与所述另一存储体的实际地址相同。
16.一个基于将其中的数据布置在k1×k2的阵列中的乘积码方案的纠错系统,其中所述k1为列方向上的数据数目而所述k2为行方向上的字节数,将纠错码P0加在所述列方向上的所述k1个数据上,将纠错码PI加在所述行方向上的所述k2个数据上,包含所述k2个数据与所述纠错码PI在内的行方向上的一个编码数据行的总长度规定为Y个字节长,两个各具有用表达式Y≤2n×(2m+1)的[2n×(2m+1)]表示的总计字节长度的存储体,其中n与m各为正整数,所述两个存储体的每一个分成(2m+1)块,及所述(2m+1)块的每块具有用(2n)表示的字节长度,用于将多个所述编码数据行串行存储在数据记录盘中的装置,用于将从所述数据记录盘中串行读取的各所述多个编码数据行分成各具有所述(2n)字节长度的(2m+1)块,及用于交替地逐个将所述多个编码数据行的接连的块存储进所述两个存储体中的装置,其中分别将分配给一个存储体的所述多个编码数据行的所述块存储进所述一个存储体的接连的块中,及分别将分配给另一存储体的所述多个编码数据行的所述块存储进所述另一存储体的接连的块中,用于交替地访问所述两个存储体以读取所述k1个数据及所述纠错码P0的装置,其中所述一个存储体的各(2m+1)块是顺序访问的,及所述另一存储体的各(2m+1)块是顺序访问的,以及用于根据所述纠错码P0纠正所述k1个数据的错误的装置。
17.按照权利要求16的纠错系统,其特征在于所述系统还包括用于交替地访问所述两个存储体的所述块以读取一个编码数据行的所述(2m+1)块的装置,及用于纠正所述一个编码数据行的所述数据的错误的装置。
18.按照权利要求16的纠错系统,其特征在于所述一个存储体的实际地址与所述另一存储体的实际地址相同。
全文摘要
本发明的方法,用于读取存储在数据记录盘中的各具有字节长度Y的多个编码数据行,及将该多个编码数据行存储在存储体中,包括下述步骤:(i)建立两个各具有用表达式Y≥文档编号G06F3/06GK1224895SQ9812627
公开日1999年8月4日 申请日期1998年12月25日 优先权日1998年1月28日
发明者田中启介, 道上彻 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1