里德-所罗乘积码的错误校正方法

申请号 CN200480019603.0 申请日 2004-07-01 公开(公告)号 CN100530980C 公开(公告)日 2009-08-19
申请人 汤姆森特许公司; 发明人 斯蒂芬·米勒; 马滕·卡巴茨; 泽维尔·莱贝古;
摘要 本 发明 涉及里德-所罗 门 乘积码的软判定解码。根据本发明,一种用于编码数据流的错误校正的方法包括以下步骤:将解调后的数据流保存在输入 缓冲器 2中;在输入缓冲器2中,在传输过程中执行第一校正处理;在校正之后,将数据传送到外部SDRAM 3;将数据 帧 从外部SDRAM 3复制到内置SRAM 11;在内置SRAM 11中开始多通道校正;以及将校正后的数据帧从内置SRAM 11复制回外部SDRAM 3。
权利要求

1.一种用于编码数据流的错误校正的方法,包括以下步骤:
将解调后的数据流保存在输入缓冲器(2)中;
在输入缓冲器(2)中,在传输过程中执行第一校正处理;
在校正之后,将数据传送到外部DRAM(3);
将数据从外部DRAM(3)复制到内置SRAM(11);
在内置SRAM(11)中开始多通道校正;以及
在多通道校正之后,将校正后的数据从内置SRAM(11)复制回外部 DRAM(3)。
2.根据权利要求1所述的方法,其中,当在外部DRAM(3)中校正一行 或多行的流动中断时,在输入缓冲器(2)中立即校正少于一行的流动中断。
3.根据权利要求1或2所述的方法,还包括使用外部DRAM(3)来进行 去交织的步骤。
4.根据权利要求1或2所述的方法,其特征在于,数据流包括由数据行 和列组成的数据,所述数据行和列包括用于校正该数据帧中的错误的平 和垂直奇偶校验数据。
5.根据权利要求1或2所述的方法,其特征在于,输入缓冲器(2)的大 小是数据帧每一行的字节数目的至少两倍。
6.根据权利要求1或2所述的方法,其特征在于,输入缓冲器(2)是 SRAM。
7.根据权利要求1或2所述的方法,还包括将状态比特存储在状态存储 器(12)中的步骤,所述状态比特指示数据帧的行是否正确。
8.一种用于编码数据流的错误校正的设备,包括:
输入缓冲器(2),用于保存解调后的数据流,并在传输过程中执行第一校 正处理;
外部DRAM(3),在校正之后向其传送数据;
内置SRAM(11),用于对校正后的数据执行多通道校正;
用于将数据帧从外部DRAM(3)复制到内置SRAM(11)的部件(9);以及
用于在多通道校正之后将校正后的数据从内置SDRAM(11)复制回外部 DRAM(3)的部件(13)。
9.根据权利要求8所述的设备,还包括去交织器(4),用于去交织和/或 用于校正外部DRAM(3)中的流动中断。
10.一种用于对记录介质进行读取和/或写入的装置,其特征在于,它具 有用来执行根据权利要求1所述的方法的部件、或者包括根据权利要求8所 述的用于编码数据流的错误校正的设备。

说明书全文

发明涉及里德-所罗(Reed-Solomon)乘积码的软判定解码。它还涉 及一种用于校正里德-所罗门乘积码中的错误的系统。

对于诸如数字多用途盘(DVD)的光记录介质,使用里德-所罗门(RS)乘 积码来进行错误校正。存储在记录介质上的数据包括在每行和每列上的、 用于校正帧中的错误的平和垂直奇偶校验数据。所述帧的数据行和列组成 所谓的乘积码。在DVD的情况中,外部码是RS码(208,192,17),而内部码 是RS码(182,172,11)。因此,在这种情况下,数据帧由208*182=37856字 节组成。

多通道(multipass)设备将至少两个数据帧保存在存储器中。一个数据帧被 保存用于输入/输出,并且第二个被保存用于校正。目前的系统将所述数据保 存在外部SDRAM(同步动态随机存取存储器)或内部SRAM(静态随机存取存 储器)中。由于错误校正期间的随机存取,SDRAM方法比使用内部SRAM的 方法慢得多。

US 6032283公开了一种DVD控制器的实现。输入/输出流动(streaming) 和校正是在外部SDRAM中进行的。为了快速处理而使用内部SRAM。当在 外部SDRAM中进行校正时,将校正子(syndrome)保存在内部SRAM中。在 校正期间,利用错误值来更新正交校正子。因此,需要额外的硬件,但是加 速了该处理。所公开的该实现具有这样的缺点:需要对SDRAM的随机存取, 这使得校正变慢。在该实现中,多通道校正的内部SRAM消耗大约是 2*4992=9984字节。

本发明的目的是提出一种改进的用于错误校正的方法。

根据本发明,通过一种用于编码数据流的错误校正的方法来达到此目的, 所述方法包括以下步骤:

-将解调后的数据流保存在输入缓冲器中;

-在输入缓冲器中,在传输过程中(on-the-fly)执行第一校正处理;

-在第一内部校正之后,将数据传送到外部DRAM;

-将数据从外部DRAM复制到内置SRAM;以及

-在多通道校正之后,将校正后的数据从内置SRAM复制回外部 DRAM。    

该方法使用外部DRAM和内部SRAM的混合。输入/输出流动是由比较 慢的外部DRAM执行的,而校正是在快速内部SRAM中执行的。因此,将 来自外部DRAM的数据复制到仅用于校正的快速内部SRAM中。在第一校 正处理、即所谓的“内部1(Inner 1)”之后,使数据流动到外部DRAM。在 DRAM中收集到完整的ECC之后,使数据流动到内置内部SRAM。在内 置SRAM中,通过多通道校正来校正ECC块,并在完成之后使其流动回去。 以这一方式,减少了对外部DRAM的随机存取次数。如果将错误排序,则可 以同时执行“内部1”校正处理和所述数据的传送。此外,还减小了内部SRAM 的大小。内部SRAM校正简化了校正处理期间的硬件复杂度。

根据本发明的另一方面,一种用于编码数据流的错误校正的设备包括:

-输入缓冲器,用于保存解调后的数据流,并在传输过程中执行第一校 正处理;

-外部DRAM,在校正之后向其传送数据;

-内置SRAM,用于对校正后的数据执行多通道校正;

-用于将数据帧从外部DRAM复制到内置SRAM的部件;以及

-用于在多通道校正之后将校正后的数据从内置SRAM复制回外部 DRAM的部件。

因为这种设备是根据本发明的方法的实现,所以它具有减少了所需要的 SRAM和对DRAM的随机存取的优点。此外,由于该内部SRAM方法而使 得能够实现高多通道校正。

有利的是,数据流包括由数据行和列组成的数据帧,所述数据行和列包 括用于校正数据帧中的错误的水平和垂直奇偶校验数据。这种数据流的一个 例子是利用里德-所罗门乘积码编码的数据流。这种类型的错误校正码被广 泛用于对记录介质上的数据流进行编码,这使得本发明适用于各种不同的数 据流。

有利的是,输入缓冲器的大小是数据帧每一行的字节数的至少两倍。这 使得有可能在校正数据帧的当前行的同时保存该数据帧的下一个所接收的 行。

有利的是,输入缓冲器是SRAM。SRAM允许对所存储的数据进行快速 随机存取。这进一步增强了校正处理。

有利的是,在校正处理期间,将状态比特存储在状态存储器中,该状态 比特指示数据帧的行是否正确。然后,控制单元使用这些状态比特来确定和 开始对特定码字的处理。

有利的是,由用于对记录介质进行读取和/或写入的装置使用根据本发明 的方法或设备。

为了更好地理解本发明,在以下描述中参考附图来详细说明示范性实施 例。应当理解,本发明不限于此示范性实施例,并且在不脱离本发明的范围 的情况下,也可以方便地组合和/或修改所详细说明的特征。

图1示出了数据获取和水平通道1的方框图

图2示出了多通道校正的处理流程;以及

图3示出了SRAM2/SDRAM的数据流定时。

下面,参考同步动态随机存取存储器(SDRAM)来说明本发明。然而,本 发明可应用于任何种类的动态随机存取存储器,例如双数据速率RAM (DDR-RAM)、增强同步DRAM(ESDRAM)、同步链接DRAM(SLDRAM)、 Rambus DRAM(RDRAM)等。此外,对用于数字多用途盘的光学系统进行介 绍。当然,本发明还可应用于使用类似编码的数据流的其它类型的盘系统以 及其它应用程序。

在DVD上,输入数据被封装在交织后的ECC块中。错误校正码(ECC) 块包括208行×182列的码元,由此一个码元对应一个字节。

为了将DVD数据帧解码,执行以下过程:

·输入数据,并根据帧号对数据进行排序

·将ECC块去交织

·水平校正ECC块(PI-校正;内部校正)

·垂直校正ECC块(PO-校正;外部校正)

·多通道:如果必要,则再次执行水平和垂直校正

·将数据帧解扰

·对数据帧执行EDC(检错码)检查

在所述数据流期间,执行两种类型的校正:

·水平:利用(182,172,11)RS码校正208行

·垂直:利用(208,192,17)RS码校正182列

根据本发明,使用输入缓冲器2和保存一个ECC块的数据的一个SRAM 存储体11。第一校正通道,即所谓的“内部1”校正是在传输过程中进行的, 而多通道校正是在内置SDRAM存储体11中进行的。下面给出对在这两个校 正处理期间的数据流的简要描述。对于第一校正处理,将解调后的块ECCn 的数据流保存在被称为“输入缓冲器”的较小的内置SRAM1 2中。在内置 SRAM1 2中,在传输过程中执行块ECCn的校正。在内部1的校正之后,将 块ECCn的数据传送到外部SDRAM 3,并且在状态存储器12中设置用于下 一正交通道的状态比特。

对于第二校正处理,在外部SDRAM 3中接收到完整的块ECCn之后,将 前一块ECCn-1的多通道校正后的数据从内置SRAM2 11读回外部SDRAM 3, 同时将块ECCn从SDRAM 3复制回SRAM2 11。在数据复制期间,读取状态 存储器12,并计算擦除位置。在内置SRAM2 11中接收到完整的块ECCn之 后,开始多通道校正。获取处理和多通道处理均彼此独立地工作,

在图1中,示出了获取和水平通道1的方框图。输入控制器1将块ECCn 的一行存储在输入缓冲器2中。输入缓冲器2的大小有利地是每行字节数的 至少两倍,以便允许在校正当前行的同时保存下一个所接收的行。输入控制 器1检测流动中断(streaming discontinuity)。小于一行(字节/帧)的任何中断都 在输入缓冲器2中被立即处理。如果检测到一行或多行的流动中断,则存储 此信息,并通过去交织器4将该行写入到SDRAM 3的正确位置。在完成一 行之后,输入控制器1启动水平校正子单元5。水平校正子单元5从输入缓 冲器2中读取所述行,并计算修正的校正子和擦除多项式。答案求解器和 Chien单元6求解该方程,并将错误值和位置传送给校正单元7。前10个获 取错误的位置被存储在第一擦除存储器8中。校正单元7在逐个字节(bytewise) 的存取中逐行校正输入缓冲器2中的块ECCn的数据。如果一行是不可校正 的,则将该行号标记为不可校正。因此,将状态比特附加到该行,从而指示 所获得的码字是否正确。在校正一行之后,考虑到来自输入控制器1的行号 信息,将这行经由去交织器4传送给外部SDRAM 3。如果有必要,去交织器 4在SDRAM 3中逐行跳跃,以便校正由输入控制器1检测到的流动中断。在 获取完整的块ECCn之后,开始多通道校正的第二处理。然后,使用不可校正 的内容作为下一正交处理的擦除部分。

在SDRAM 3中接收到一个完整的块ECCn之后,将数据复制到SRAM2 11。当使下一个块ECCn+1通过SRAM1 2流动时,在内置SRAM2 11中执行 垂直校正,并随后执行多通道校正。多通道校正的处理流程在图2中示出。 在该图中,如果给出一对数字,则括号中的数字是指水平校正,而没有括号 的数字是指垂直校正。复制单元9将块ECCn的数据复制到内置SRAM2 11。 它还将上述状态比特映射到“内部1”通道的状态存储器12,并计算被写入 到第二擦除存储器10中的不可校正错误的擦除位置。第二擦除存储器10存 储多达16行/10列的位置,所述16行/10列在先前的校正处理中是不可校正 的。在接收到完整的块ECCn之后,启动控制单元14。控制单元14从状态存 储器12读取最后写入的码字的状态。根据此状态,开始对该码字的处理。校 正子产生器5读取最后的正交处理的擦除部分,并计算所述码字的校正子。 在计算校正子之后,它利用该校正子和最后的正交擦除位置来启动答案求解 器和Chien 6搜索算法。校正单元7在逐个字节的存取中校正SRAM2 11中的 ECC块,从而将所述码字的状态保存回状态存储器12中。输出/解扰器13将 该数据流解扰,执行检错码检查,并将该数据复制回DRAM轨道缓冲区。输 出/解扰器13还可以执行扇区过滤。

该处理流程所需的存储器可概括如下:

·擦除存储器1,SRAM1的每行的10字节

·状态存储器,390比特=49字节

·擦除存储器2,16字节

·SRAM1<4k字节

·SRAM2 37856字节

图3示出了SRAM行为的更加详细的定时结构。SRAM和SDRAM之间 的流减少了留给多通道校正的时间。从该图可以看出,在图1和图2中描述 的两个处理被分离开。从输入缓冲器2到SDRAM 3的流关键性地临时链接 到数据输入,而无论到SDRAM 3的总线何时为空,都可以任意传送从 SDRAM 3到SRAM2 11以及从SRAM2 11到SDRAM 3的流。这仅取决于 SDRAM缓冲器的速度。

QQ群二维码
意见反馈