CN1167222C - 光学海量存储装置与电脑主机间数据传输纠错及检错方法 - Google Patents
光学海量存储装置与电脑主机间数据传输纠错及检错方法 Download PDFInfo
- Publication number
- CN1167222C CN1167222C CNB981062962A CN98106296A CN1167222C CN 1167222 C CN1167222 C CN 1167222C CN B981062962 A CNB981062962 A CN B981062962A CN 98106296 A CN98106296 A CN 98106296A CN 1167222 C CN1167222 C CN 1167222C
- Authority
- CN
- China
- Prior art keywords
- data
- error detection
- error
- computing
- serial data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
一种适用于光学海量存储装置与电脑主机间数据传输的纠错及检错运算方法,其可简化数据传输的处理过程,并增加数据传输的速度,以适应发展高密度光学海量存储装置的需求。
Description
技术领域
本发明涉及一种从海量存储装置传输数据至电脑主机的纠错及检错方法,该方法可改善海量存储装置(如光盘只读存储器)的纠错及检错效率,进而增进与个人电脑的数据总线间的数据传输速度。
背景技术
光学海量存储装置,如熟知的光盘只读存储器(CD-ROM),已被广泛地使用于程序与数据的存储及流通上,特别是当该程序或数据太大,无法方便地传送给个人电脑或其他小型电脑系统的使用者时。相对于集成电路存储器及磁性存储装置,CD-ROM及类似的海量存储装置的数据存取速度较慢。因此,传统上小型电脑系统对于光学海量存储装置的使用时机有限。举例来说,在安装及设定程序时,程序数据会先从CD-ROM传输至电脑系统的磁性存储装置。当此程序数据被存储于磁性存储装置后,未来使用此程序时将不会再对原CD-ROM进行存取的动作。
有些程序整合了音频、图像等不需永久存储于硬盘的数据。这些数据必须在程序执行期间,由CD-ROM逐一读取。这一类的程序,和其他需要使用海量存储装置的应用程序,对CD-ROM读取数据和传送数据到电脑系统的速度要求日益升高。以往,从CD-ROM存储区传送数据的主要瓶颈,在于从CD-ROM盘读取数据的速度。为了克服此瓶颈,现今CD-ROM的转速,已由其标准转速增加了许多倍,使数据从CD-ROM盘读出的速率,得到相同倍数的增加。在此趋势下,负责执行CD-ROM数据的格式化、纠错与检错、及数据传送作业的控制器,可能形成限制数据传送速率的瓶颈。尤其结合高密度数据存储技术的新型海量存储装置,正逐渐普及。这些高密度海量存储装置的数据读取速率,较CD-ROM更高,因此需要具有更高处理能力的控制器。
从CD-ROM所读取的数据,在传送至电脑系统的数据总线之前,必须经由一系列的处理过程。这些过程大致上是此领域内习用的一般技术,包括数据的解码(Descrambling)、重组(Reorganization)、缓冲存储(Bufferstorage)、纠错(Error correction)及检错(Error detection)等技术。从光学海量存储装置传输数据至电脑主机数据总线的传统方法,可以从Suzuki等人的美国专利第4,680,764号、Markvoort等人的美国专利第4,802,152号及Verinsky等人的美国专利第5,581,715号的相关资料内找到。
图1为Verinsky等人专利所举例的习知的光学海量存储装置的控制器硬件方块图,其可用于控制从CD-ROM盘至一电脑主机的IDE(Integrateddevice electronics,集成设备电子线路)总线的数据传输。数据读取是经由转动中的CD-ROM盘表面所反射的激光的差异,检测盘表面的调制(Modulation)记录。然后以一数字转换器转换此调制为一数字信号数据流,如输入至CD-ROM控制器的一扇区数据信号10。CD-ROM盘所存储的数据通常是不规则的,为防止该数据呈现与同步信号或其他控制信号相同的式样,数据存储在CD-ROM前,会先被编码(scramble)。因此,从盘的反射光所解得的数据,需要一数据的解码装置12,以对盘的数据信号进行解码(Descrambling)。数据重组装置14重组该解码后的串行位流(Serial bitstream)为字节形式,并且存储在存储装置16中。
一般数据以大约2KB大小的扇区(sector)为单位存储在CD-ROM盘中,此种扇区也是数据进行纠错与检错、和传输至电脑主机时所使用的单位。每当来自CD-ROM盘的一2KB扇区数据被存储至存储装置16后,纠错及检错运算将针对此扇区数据开始执行。关于CD-ROM这种海量存储装置所使用的数据纠错及检错运算,由规范CD-ROM数据存储格式的ISO/IEC-10149标准所制定。
用于CD-ROM等海量存储装置的错误编码、纠错及检错的传统算法,披露在Odaka等人的美国专利第4,413,340号及Suzuki等人的美国专利第4,680,764号中。欲确保由CD-ROM传送至电脑主机的数据完整无误,可通过在一扇区数据中对于使用者数据所附加的三组纠错数据而达成。而此三组纠错数据为172个P-奇偶校验码(P-parity)字节、104个Q-奇偶校验码(Q-parity)字节及4个检错码(Error detection code,EDC)字节。
P-奇偶校验码及Q-奇偶校验码的数据组合可提供对CD-ROM扇区数据的双交错(Double interleaved)Reed-Solomon码形式编码。每一批扇区数据可被分为两个数据平面(plane),一为最低有效字节(Least significant byte,LSB)平面,一为最高有效字节(Most significant byte,MSB)平面。任一数据平面皆具有一交错的纠错矩阵(Error correction matrix),如在图2所示。在图2中的矩阵有43个P-向量(P-vector),每个P-向量由24字节使用者数据结合2个P-奇偶校验码字节,形成定义于GF(28)有限场(finite field)的(26,24)Reed-Solomon码。而26个Q-向量(Q-vector)是由延伸于该阵列对角线的43个字节使用者数据及2个Q-奇偶校验码字节,所组成的定义于GF(28)有限场的(45,43)Reed-Solomon码。
纠错装置18从存储装置16中读取一扇区的P-向量及Q-向量数据,经过纠错运算,可辨识出此扇区数据内的错误。当找到错误时,通过一组纠错方程式可决定如何去纠错。一旦错误在P-向量或Q-向量中被发现,更正后的字节数据会被覆盖写入存储装置16,以取代错误的字节数据。
经过所有纠错运算后,传统上会接着对此扇区数据进行检错,以判断是否仍有错误存在,或是否存在因纠错运算而产生的错误。检错的运算由一循环冗余码CRC(Cyclic Redundancy Code,CRC)校验器实施,此循环冗余码(约为2000字节×8位)被当成一串的二进制数字,并以一检验多项式(Check polynomial)除之。根据ISO/IEC-10149标准,此检验多项式为P(x)=(x16+x15+x2+1)·(x16+x2+x+1)。存储于CD-ROM盘的各扇区数据皆附加了4个检错码(EDC)字节,以使得附加此检错码后的扇区数据可被检验多项式除尽。因此,若从CD-ROM盘传出的扇区数据所构成的二进制数字能被检验多项式除尽,就可假定该数据内没有错误。若错误检测除法中有一非零余式,则表示有错误存在,因此进一步的纠错是必要的。通常解决的方法是从CD-ROM盘中重读此扇区数据,再重新施以纠错及检错流程的运算。
传统的错误检测除法硬件构造相当简单,包括具有反馈连接(Feedbackconnections)的移位寄存器(Shift registers)及具有“异或”门(Exclusive OR)()的阵列。通过检错装置20所实施的检错运算,须将存储在存储装置16内的扇区数据都读出,并将其每个位依序移(shift)入循环冗余码校验装置22(以下称为CRC校验装置22)。当所有位皆已输入CRC校验装置22,即可得错误检测除法的余式。经过纠错及检错运算后,若产生的余式为零,此扇区数据将可经由存储装置16传输至电脑系统数据总线中,如图1所示的已校验的扇区数据信号输出24。
在数据从CD-ROM存储装置传输到电脑数据总线中的过程中,纠错及检错运算是一个相当耗费时间的部分。然而,由于对电脑数据正确性的要求,对光学海量存储装置读取的数据施以纠错运算是必要的。此外,实施纠错运算是为了符合CD-ROM及其他光学存储系统的标准。
发明内容
有鉴于此,本发明的主要目的就是提供一种用以从光学海量存储装置读取数据,并施以一纠错及一检错运算的方法,其可以达到较高的数据输出速率。
为了达到上述目的,本发明提供一种介于一光学磁盘海量存储系统与一电脑主机间数据传输的方法,该方法至少包括下列步骤:从所述光学磁盘海量存储装置获得一数据串,并将所述数据串转换为一种可存储在数字存储器的形式;当提供转换后的所述数据串至一第一检错装置时,存储所述转换后的数据串到一存储装置内;对所述数据串执行一第一检错运算,以决定是否有至少一错误存在所述数据串内,当所述数据串正存储至所述存储装置时,至少已执行了一部分的所述第一检错运算;当所述第一检错运算确定无错误存在于所述数据串中时,传输所述数据串至所述电脑主机;而当所述第一检错运算确定至少有一错误存在于所述数据串中时,在传输所述数据串至所述电脑主机之前,先对所述数据串施以一纠错运算,更正所述数据串内的一错误;执行一第二检错运算,以确定是否另有错误存在于所述数据串内,当所述第二检错运算指出没有未更正的错误存在于所述数据串时,则所述第二个检错运算产生一无错误信号;以及通过所述第二检错运算所产生的所述无错误信号,将所述更正后的数据串传送至所述电脑主机。
为让本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并配合附图,作详细说明如下:
附图的简单说明:
图1是说明习知的光学海量存储装置的数据传输控制器硬件方块图;
图2是说明CD-ROM盘的扇区数据所具有的Reed-Solomon码组成的标准纠错矩阵;
图3是根据本发明较佳实施例的光学海量存储装置的硬件配置图;
图4是存储于CD-ROM盘的模式1(mode-1)扇区数据结构图;
图5是可在图6内使用的循环冗余码检测电路(Cyclic Redundancy checkcircuit)方块图;
图6是根据本发明较佳实施例的CD-ROM控制器电路方块图;
图7是根据本发明较佳实施例的错误检测处理装置电路方块图;
图8是可使用于本发明的一计数器实施例图;以及
图9是本发明检错处理装置的另一实施例电路方块图。
具体实施例
本发明的一较佳实施例,对于从光学海量存储装置(如CD-ROM)所读取、并将传送到电脑主机的数据,提供高速的纠错及检错运算。而本发明的实施例可依照一般对于光学读取的海量存储装置的工业标准完成,例如依照CD-ROM存储装置的工业标准。根据本发明的一个目的,数据从一海量存储装置读出,且此数据的串行数据流可并行地提供给一存储装置与一检错电路。
此检错电路——可能是一个传统的循环冗余码(CRC)校验装置——可对由海量存储装置读取的数据执行检错运算,且在较佳的情况下,此运算可在数据流正存储至存储装置的同时进行。举例来说,此检错运算包括以错误检验多项式(Error check polynomial)除串行数据流,以决定该除法运算的余式。假如此数据流经检测未发现任何错误,则存储于存储装置内该串行数据所构成的扇区数据,即可被传输至电脑主机的数据总线,而不须对该批数据执行纠错运算。
相较于传统上海量存储装置(如CD-ROM)所使用的纠错、检错、及与电脑主机数据总线的数据传输方式,本发明的系统仅在确信数据有误时,才会执行纠错运算。由于减少了不必要的数据纠错运算,数据传输的速度将可加快。
本发明的上述优点,对于从低错误率(error rate)的海量存储装置读取数据至电脑主机的系统,其传输效率可获极大提升。然而实际系统可能会有较高的数据错误率,特别是当新技术使用于光学存储系统上时。目前正在发展的高密度光盘存储系统(Optical disk storage system),例如数字多用途磁盘(Digital Versatile Disc,DVD)系统,即可能有更高的错误比率。另外,单写多读(Write once/read many,WORM)及可读写光学存储装置其信息调制(Information modulation)品质不若CD-ROM系统优良,故可能会有较高的错误率。
因此,本发明的另一特点,为其可应用于实际的系统中,即当从海量存储装置读取的数据含有错误时。依照本发明的实施例,从一海量存储装置中读出的串行位流,被同时提供该给一存储装置及一检错电路。在该串行数据流被整合为字节而存储在一缓冲存储器的同时,检错电路亦对由该串行数据流执行一检错运算。该检错运算可以错误检验多项式除该串行数据流,而得到一余式。此经由最初的错误除法运算(Error division operation)所得的余式将被存储起来,与传统的EDC系统抛弃此余式的做法不同。一旦一批扇区数据被存入存储装置内,即可对该存储于存储装置内的扇区数据施以纠错运算。在此可使用如传统的Reed-Solomon积型(Reed-Solomon product-like)码来进行。
当纠错电路发现错误的字节时,经由求解错误方程式(Error equations),可得出该错误字节所在的地址及其错误码型(Error pattern)。然后此错误字节被覆盖写回存储装置,以取代发生错误的字节。同时,根据该错误字节对应于串行数据流中的位置及其错误码型,对前述的EDC除法运算余式做一修正运算,而得新的EDC余式。简言之,每当纠错电路对存储装置中的扇区数据进行勘误动作,即同时修正EDC余式。接着测试此EDC余式是否为零,若不为零,则此EDC余式会被保存,并继续执行纠错运算。此种运作方式与传统的纠错运算架构完全不相同——传统的纠错方式在更正了存储装置中的错误字节后,即舍弃其错误码型及错误位置信息。
纠错运算将持续进行至EDC余式被修正成零为止。此时,可假设所有错误已被更正,故存储在存储装置中的扇区数据可被传输到主电脑的数据总线。若纠错运算已处理完所有的Reed-Solomon码,而EDC余式仍不为零,则可对存储装置内已更正过的数据,重复进行纠错过程。另一种做法是从海量存储装置重新读取该扇区的数据,并重复本发明所述的检错(EDC)及纠错(ECC)程序。
依照之前所提的实施例,本发明亦可提供一更高的数据传送率,因为它不需如传统的架构那样,将数据从存储装置中逐一读出再送至检错电路。此外,当EDC余式变成零时,通过停止纠错运算并传输该数据,可节省掉一些不必要的纠错运算,进而改善数据传输效率。为让本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并配合附图,作详细说明。
图3是根据本发明较佳实施例的光学海量存储装置的硬件配置图。该数据传输系统在微控制器40的控制下运作。微控制器40可用如8051式的微控制器,并根据只读存储器42内所存储的控制程序而运作。光盘50是以其反射面的凹凸或光学性质变化的形式存储信息。从盘中读取信号的方法,是利用光学读取头52发出一激光至光盘50表面并收集其反射光。位于光学读取头52内的检测器接收该反射光后,产生一含有光盘50表面存储的信息的模拟电子信号。模拟信号处理器54从光学读写头52接收信号,并从转动光盘50的主轴马达(spindle motor)取得伺服(servo)控制信息,然后以适当格式提供信号至数字信号处理器56。接着该数字信号处理器56提供一数字输出信号至CD-ROM控制器58或一数字/模拟转换器60。数字/模拟转换器60将来自数字信号处理器56的数字信号转换成模拟信号,然后传送至音频插座(audiojack)62,成为CD-ROM装置的音乐输出端。数字/模拟转换器60及音频插座62组成一子系统(subsystem),使音乐光盘得以播放,而不须经过CD-ROM控制器的数字数据传输电路系统。通过CD-ROM控制器58,数字数据可被传输至电脑系统的数据总线,如一IDE总线64。在数据送至IDE总线64之前,CD-ROM控制器58借助缓冲存储器66,执行数据的组合及纠错与检错运算。
一般CD-ROM扇区(sector)的数据结构,定义在国际标准ISO/IEC-1049:″Information Technology-Data Interchange on Read-Only 120mm OpticalData Disks(信息技术-120mm只读光数据盘上的数据交换)”之中。此标准规定了大部分CD-ROM盘的数据存储结构,但此结构允许若干变化。该标准规定了3种不同的扇区模式(mode),所以存储于图3的光盘50的数据,可以下列3种模式存在:模式0(mode 0)、模式1(mode 1)、模式2(mode 2)。因此,图3的电路必须根据CD-ROM数据内的模式设定,采取适当的方式处理其数据。关于不同模式CD-ROM数据的差异,在标准中有详细说明。以下的讨论,将以模式1的CD-ROM数据为例。
图4是CD-ROM盘的模式1扇区数据结构图。此扇区数据可细分成几个栏位,其中包含一12字节的同步(Synchronization pattern)栏位,用以标示一扇区数据的起点,并起始若干扇区数据处理电路。一4字节首标(Header)栏位,记录了该扇区数据的绝对地址(Absolute address),以分、秒、及帧(frame,1秒=75帧)组成;及一模式(Mode)字节,以标示此扇区数据的模式。模式1的数据扇区含有2048个使用者数据(User data)字节,位于模式1扇区数据的第16至2068字节,其后紧接着有4字节的检错码(EDC)、8字节的中间(Intermediate)栏位、172字节的P-奇偶校验码及104字节的Q-奇偶校验码栏位。共计2352个字节。
上述P-奇偶校验码及Q-奇偶校验码组成纠错码(ECC)。对任一CD-ROM的扇区数据,其检错码(EDC)及纠错码(ECC)形成两个互补的错误保护架构。此EDC栏位为一32位循环冗余码(CRC)的一部分,它与被保护的数据栏位结合使用,可检测扇区数据中是否有错误存在。由172字节的P-奇偶校验码及104字节的Q-奇偶校验码所组成的ECC栏位、及其所保护的数据栏位,组成Reed-Solomon积型码(RSPC),用以检测并更正扇区数据内出现的错误。
因此,检错码EDC用以对扇区数据做一校验,以判断是否有任何错误存在,而纠错码ECC则用于更正数据中的错误。如图1所示,传统的做法假设从CD-ROM盘所读出的数据有错误存在,故在执行检错运算之前,会先执行所有可能的纠错运算,也就是将所有的RSPC先处理一遍。然后,再运用EDC校验经纠错运算处理后的扇区数据是否仍有错误。此种无条件的纠错方式所需的控制电路较为单纯,因其不须评估特定纠错运算的执行与否。另一方面,数据传输会变慢,因为无论扇区数据是否含有错误,或其错误是否已被更正完毕,所有纠错运算都必须执行。而值得注意的是,工业标准要求对CD-ROM盘存储的数据施以纠错及检错两种运算,但如图1所示的结构并非标准所必要。
对于CD-ROM模式1的数据扇区而言,其EDC码字(EDC codeword)包含了扇区数据内的第0至2067字节。而CD-ROM XA模式2形式1(mode 2form 1)的扇区数据,其EDC码字则包含扇区数据内的第16至2075字节。在EDC计算中,优先计算数据字节的最低有效位(LSB)。因此,若将一扇区的数据字节标记为Bi,i=0至2351,且该字节的每一位为Bi,j,j=7(MSB)至0(LSB),则CD-ROM模式1扇区数据的EDC码字为16544位的二进制数字。
B0,0 B0,1 B0,2 B0,3 B0,4 B0,5 B0,6 B0,7 B1,0 B1,1...B2066,6 B2066,7 B2067,1
B2067,2 B2067,3 B2067 4 B2067,5 B2067,6 B2067,7或以多项式法表示为
B0,0x16543+B0,1x16542+B0,2x16541+B0,3x16540+...+B2067,4x3+
B2067,5x2+B2067,6x+B2067,7对一CD-ROM XA模式2形式1的扇区数据,其EDC码字是16480位的二进制数字
B16,0 B16,1 B16,2 B16,3 B16,4 B16,5 B16,6 B16,7 B17,0...B2074,7 B2075,0 B2075,1
B2075,2 B2075,3 B2075,4 B2075,5 B2075,6 B2075,7或以多项式表示为
B16,0x16479+B16,1x16478+B16,2x16477+B16,3x16476+...+B2075,4x3+
B2075,5x2+B2075,6x+B2075,7
对模式1的扇区数据而言,EDC码字涵盖了同步、首标、使用者数据及EDC等栏位,因此它可用来检测这此栏位内是否有任何错误。
根据ISO/IEC-10149,存储在CD-ROM模式1扇区内的EDC码字,其编码方式是选择四个适当的EDC字节,使其与同步、首标、使用者数据等栏位结合后,能被以下的检验多项式(check polynomial)除尽:
P(x)=(x16+x15+x2+1)×(x16+x2+x+1) (1)
或P(x)=x32+x31+x16+x15+x4+x3+x+1
将从CD-ROM读出的扇区数据内的EDC码字,除以上述检验多项式,可得一余式。通过校验此余式是否为零,可验证该EDC码字内是否含有错误。易言之,对于由CD-ROM读出的模式1扇区数据,此检错规则能校验其同步、首标、使用者数据及EDC等栏位内——也就是EDC码字所涵盖的栏位内——是否含有错误。
上述检错规则所需的除法,可通过一循环码解码器(Cyclic code decoder)执行,如图5所示。通常这种电路,可由一些串联的D型触发器、及若干与这些触发器相连的“异或”门(exclusive-OR gate)组成,且此种电路已为一般所熟知。
EDC码字的各个位,必须逐一依序输入循环解码器,当其最终位输入循环解码器之后,该循环解码器各触发器的输出——在此称之为CRC寄存器(CRC register),即为EDC除法的余式。假如CRC寄存器的所有位皆为零,则输入的EDC码字应是正确的,因为它符合EDC检错规则。反之若CRC寄存器的值不为零,则可断定EDC码字所涵盖的数据栏位中必有错误。但是,此检错规则并不能指出在EDC码字中到底哪些位是错的。
通过纠错码(ECC),可更正从CD-ROM读出的扇区数据。在此使用的纠错码为Reed-Solomon积型码(RSPC),其运用方式可见Odaka等人的美国专利第4,413,340号及Suzuki等人的美国专利第4,680,764号。在CD-ROM模式1的扇区数据中,第12至2075字节,与P-Parity和Q-Parity栏位构成双交错(interleaved)的RSPC码矩阵,如同图2所示。此矩阵的行(column)称为P-向量,为定义于有限场GF(28)的(26,24)Reed-Solomon码字。而此矩阵的对角线称为Q-向量,为定义于有限场GF(28)的(45,43)Reed-Solomon码字。
一个扇区包含了86个P-向量及52个Q-向量,这些向量又被均分于两个平面,一个是较小有效字节(LSB)平面,由位于偶数地址的扇区数据字节构成,另一个是较大有效字节(MSB)平面,由位于奇数地址的扇区数据字节构成。
P-向量及Q-向量是实施纠错运算的基本单位。每一个P-向量包含26个字节,包括2个P奇偶校验字节(P-Parity bytes)。根据P-向量的内容,可导出一组错误方程式(error equations)。若一P-向量中有某个字节是错的,该错误的位置(Error location)(即该向量的那个字节是错的)及错误码型(Errorpattern)(即该有误的字节中那些位是错的),可依Reed-Solomon码的规则求解该错误方程式而得。若P-向量没有错误存在,则其错误方程式会有一错误码型等于零的解,否则,由其错误方程式将可解出一组错误位置及错误码型,用以更正位于错误位置处的数据字节。
Q-向量的长度是45个字节,其中包含2个Q-奇偶校验码字节(Q-paritybytes)。对Q-向量所实施的纠错运算,与P-向量类似。因此,每一Q-向量亦可导出一组错误方程式,用来决定一Q-向量中是否有错。若有,则解出其错误字节的位置及型式,并据以更正该项错误。
欲确保从CD-ROM盘读取的数据正确无误,单靠纠错码是不够的。因为纠错逻辑(ECC logic,以下称为ECC逻辑)电路纠错的能力有限,所以使用EDC码做进一步的检错有其必要。对于每一个P-向量或Q-向量而言,其所导出的错误方程式仅能解出一个错误的信息。因此,若一P-向量或Q-向量内含有两个(含)以上错误,则ECC逻辑就无法正确解出错误位置及错误码型。其结果是ECC逻辑由错误方程式解得的错误位置是无效的(illegal),或ECC逻辑误将一实际上是正确的字节进行“更正”,而造成另一个错误。所以,经由ECC逻辑处理过的数据,并不能保证其正确无误。
某些ECC逻辑电路的设计,可借助于数字信号处理器所提供的错误位置信息,更正一P-向量或Q-向量内的两个错误。但是这种ECC逻辑电路较为复杂,且亦不能处理三个错误以上的情况。
综上所述,使用CD-ROM扇区内的EDC码,可检测其数据是否错误;而使用ECC码,则可发现并更正数据中的错误。运用EDC码进行检错的检错逻辑(EDC logic,以下称为EDC逻辑)电路,是利用循环冗余校验码(CyclicRedundancy Code)的原理。运用ECC码进行纠错的ECC逻辑,则是利用Reed-Solomon码的原理。由于两者使用的原理不同,故可相互搭配使用,以弥补其不足之处。在传统的CD-ROM读取系统中,EDC逻辑的应用在ECC逻辑之后,以确定经纠错后的扇区数据中没有错误。
依照本发明的CD-ROM控制器功能方块图在第6图中描述,该图还对图3中的CD-ROM控制器58及存储装置66作更详细的说明。由图6得知,CD-ROM控制器从数字信号处理器56(如在图3中)输入一串行位流70。解码装置(Descrambler)72接收串行位流70,并在发现同步(Synchronizationpattern)栏位后,开始对该串行位流进行解码(descramble),以取得紧接着于同步栏位后的CD-ROM扇区数据栏位,即首标、使用者数据、EDC及ECC等。此解码后的数据(descrambled data)同时被传送至数据重组装置(Data organizer)74、及循环冗余码产生装置(CRC generator)78。其中,数据重组装置74将解码后的串行数据转换成字节形式,并将这些数据字节存储至存储装置76中的适当位置,以利后续的纠错运算,及最终被传输至主电脑。
通常存储装置76的容量相当大,可存储多个扇区数据以利提升与主电脑间进行持续传输时的效率。此存储装置76可为动态随机存取存储器(DRAM),或更快速的静态随机存取存储器(SRAM)。本发明的优点之一,即其在高速运作之下,仍容许使用较低速而便宜的缓冲存储器,故可在不降低系统运作效能的情况下,降低其成本。
从数据解码装置72输出的串行位流,除了输入数据重组装置74以存储数据至存储装置内,同时也输入循环冗余码产生装置78。循环冗余码产生装置78的较佳实施例是一32位循环冗余检测器(Cyclic redundancy checker),如图5所示,以提供方程式(1)的错误检验多项式除法。
当输入的数据被解码(descramble)并存储至存储器时,循环冗余码产生装置78同时对其输入的串行位流执行一初步的检错运算,也就是将其输入的位流除以错误检验多项式。当串行位流内的EDC码字完全输入循环冗余码产生装置78后,即得一32位的初始余式(initial remainder)。以CRC0表示。由于输入循环冗余码产生装置78的数据是尚未经ECC逻辑处理过的,故CRC0值可视为从CD-ROM读取的原始数据的检错结果,用以设定检错处理装置(Error Detection Processor)82内,余式寄存器R的初始值。
若检错处理装置82检测到余式CRC0为零,则检错处理装置82可推断输入的扇区数据中没有错误。在此情形下,存储于存储装置76内的该扇区数据,可立即被输出至主电脑的数据总线。传统的检错方法,须等到纠错过程完成后,再将存储装置内的扇区数据逐一读出并输入一循环冗余码校验器(如图1),因此其花费时间较长,且对存储器的读取次数较多。
在图6中的纠错逻辑装置80,根据RSPC方式对存储装置内存储的扇区数据施以纠错运算,而此纠错运算可以传统的纠错方法进行。每当数据重组装置74将一完整的扇区数据存储入存储装置后,纠错运算即开始进行。纠错逻辑装置80依据RSPC的编码规则,逐一从存储装置76中取得各个P-向量及Q-向量的内容,以决定各向量中是否有错误存在。若有,则解其错误方程式以取得错误的字节的错误位置及错误码型。错误位置为12位的二进制数字,以指出该扇区数据中的哪一字节是错误的。而错误码型是一个8位的二进制数字,以指出错误的字节中的哪些位必须更正。在图6的实施例中,错误位置其实就是错误字节在扇区中的地址(address)。
错误码型是与错误位置一起搭配使用的。举例来说,如果错误码型为010010102且错误位置是123410,那么该扇区数据的字节123410是错误的。此外,假如第123410字节的原始数据是110101012,那么该第123410字节的值将被更正为110101012010010102=100111112(表示“异或”运算),亦即该字节的正确值等于其原始值错误码型。纠错逻辑装置80对各个P-向量及Q-向量执行纠错运算时,先计算其错误位置与错误码型,再计算出该错误字节的正确值(正确值=错误值错误码型),然后将正确的数据字节写回存储装置76,以取代原先的错误字节。
本发明的实施例与传统的纠错系统的不同之处,在于错误字节被更正后,其错误位置及错误码型不会被丢弃,而会被暂存在纠错逻辑装置80或检错处理装置82中,用来对初始检错余式CRC0或原先的检错余式Ri进行更新运算。该检错余式的更新运算方法,将在后文中详述。
每当纠错逻辑装置80更正存储装置76内的扇区数据时,检错处理装置82会更新其检错余式Ri,然后检查其值是否为零。如果更新后的Ri值变成零,则检错处理装置82可推断该扇区数据内的所有错误皆已更正,故该扇区数据可从存储装置76传输给IDE或其他的主电脑总线。当图6的CD-ROM控制器在此模式下运作时,一旦检错余式Ri为零,纠错逻辑装置80就会停止动作,因为该扇区内已无错误需要更正。
本发明检错处理装置82不需读取存储装置76,来决定存储在存储装置76内的扇区数据是否有误。相反,检错处理装置82利用纠错运算所产生的错误位置及错误码型信息,以对最初或随后的CRC余式值(CRC0或Ri)施以本发明的检错余式更新运算,而产生一新的CRC余式值(Ri+1)。
对于每个被纠错装置80所更正的字节,纠错装置80将传送错误位置及错误码型信号给检错处理装置82。检错处理装置82据以更新原CRC余式,也就是EDC码字除以检验多项式(check polynomial)的余式,而得一新的余式Ri。如此,检错处理装置82就不须如传统的做法那样,对冗长的EDC码字施以除法以取得CRC余式。检错处理装置82对余式Ri作一更新后,其新值Ri+1将被检查。若Ri+1不为零,则该扇区数据内仍有错误待更正,故纠错运算将会继续进行。反之,若Ri+1为零,检错处理装置可认定该扇区内所有的错误均已被更正,而令纠错过程停止,并将数据传输给主电脑。此后从CD-ROM盘读取的新的扇区数据,亦将按此方式处理。若在一扇区内的所有P-向量及Q-向量皆已被处理过后,所得的CRC余数R仍不为零,则需重复纠错过程,以期能更正扇区内剩余的错误,或者也可自盘中重读该扇区数据,然后重新实施上述的错误处理步骤。
本发明的检错处理装置82的运作方式,可用一15位码字为例加以说明。假设c(x)为一批15位的数据,其内容为
c(x)=x14+x11+x8+x6+x5+x4+x3+x,或
c(x)=(100100101111010),
今欲以一检验多项式
p(x)=x4+x+1
校验c(x)是否正确无误,故以c(x)除以p(x),得商式
q(x)=(10001011001),
及余式
r(x)=(0001),
如下所示:
上例表示一传统的检错方法,即利用错误检验多项式p(x),可确认码字c(x)的正确性。如图6中的循环冗余码产生装置78,即利用此原理查验输入的EDC码字是否正确。不过,循环冗余码产生装置78的EDC码字其长度为16000位以上,且其错误检验多项式列于方程式(1)中,故其除法过程还较本例子冗长。从上例中亦可看出传统的CRC除法是相当简单的,因其运算皆为模数2(modulo 2)的算术,所以可通过“异或”门(XOR)与移位寄存器所组成的电路予以实行。
上述例子中的余式不为零,也就是该EDC运算发现码字c(x)含有错误。此时假设以某种纠错运算,找出码字c(x)的错误位为x10及x5,亦即c(x)的错误码型为e(x)=(000010000100000),则更正后的码字c’(x)=c(x)e(x)=(1001101010011010)。
再次以传统检错方法校验c’(x)如下:
此除法的余式为零,故可判定更正后的码字c’(x)是正确的。
上述的传统纠错与检错程序(在纠错后再以除法做CRC校验)具有硬件简化的优点,但当应用于CD-ROM盘的扇区数据中,16000位以上的EDC码字时,其处理过程将会相当耗时。
在本发明的较佳实施例中,利用错误码型e(x)修正原先的检错余式,再校验修正后的余式是否为零。如下列的计算所示,经纠错后的码字c’(x),其除以错误检验多项式的余式,可由p(x)除r(x)+e(x)(纠错前的余式与错误码型的和)而得,其结果与传统方法相似:
本发明的检错处理装置,是采取渐进(incremental)的方式,修正并检查检错余式。也就是每当纠错运算发现扇区数据内的错误并予以更正时,检错处理装置会运用该错误的型式与位置信息,加上原先的检错余式,再除以错误检验多项式而得一新的余式。此新的余式可反映该错误被更正后的错误检查结果。若新的余式(即修正后的余式)为零,依据检错的规则,即表示EDC码字是正确的。
因此,若一从CD-ROM盘取得的扇区数据中含有错误,则其由检错除法所产生的初始余式(initial remainder)应不为零,且该初始余式可由如图5的传统循环冗余码电路产生。此后每当该扇区内有错误被更正,即可根据其错误信息(error information)修正检错余式值。此程序将持续至余式为零为止,因为就数学上而言,初始余式与所有错误的型式合并之后,其结果应可被错误检验多项式整除。本发明的纠错与检错方法,虽然遵循与传统CRC方法相同的数学原理,但其实施的方法为渐进式的,与传统的检错装置有极大差异。
前述的例子中,错误码型(error pattern)即为码字内需被置换的位。然而,在本发明的检错处理装置中,错误码型是8位的字节,且需配合一12位的错误位置,以将该错误码型对应于一2000余字节的扇区数据中的特定位置。就数学运算来看,在图6实施例中的检错处理装置82,可以下列计算式去计算新的检错余式:
Ri+1=Ri{(e·x8λ)modulo P(x)}, (2)
此处R表检错结果(余式),e表示错误码型,λ是从错误位置L导出的一数值,而P(x)是前述方程式(1)的错误检验多项式。实际上,该数值Ri(e·x8λ)可能很长,使方程式(2)的运算相当费时。然而,这种运算仍比对整个EDC码字执行传统的CRC计算为快。另一方面,上述检错运算会与纠错运算同时进行,所以整个纠错及检错运算的执行时间,会比在图1中的传统电路短得多。
图7为可在图6的CD-ROM控制器内,执行方程式(2)运算的检错处理装置82的一实施例。此检错处理装置82包括一检错处理装置控制单元100,其为一有限状态机(finite state machine),用以控制检错余式的修正运算动作。错误位置转换器102,或图7的ELC(Error location converter,错误位置转换器),用以将错误位置L转换成一12位的λ,供R值的修正运算所用。修正计算电路(Correction calculation circuit)104计算(e·x8λ)mod P(x)的值,并输出其结果,余式R寄存器106存储检错余式,其初始值为CRC0,随后为修正后的余式值Ri。
错误码型e(8位)及错误位置1通过纠错装置80,解一RSPC向量的错误方程式而得。纠错装置80经由线路108及线路110分别输出一错误码型e及错误位置L至检错处理装置82。同时,该纠错装置80由线路112输出一启动脉冲(Start pulse),以启动检错处理装置82的运算,也就令检错处理装置控制单元100,开始执行检错余式修正运算程序。
检错处理装置82的另一个输入,是图6中的循环冗余码产生装置78所计算的初值CRC0。在纠错运算起动之前或同时,由循环冗余码产生装置78产生的CRC0会被存储于余式R寄存器中。若该最初的检错余式CRC0为零时,依本发明的较佳实施例,可不需执行进一步的纠错运算。反之若循环冗余码产生装置78的最初EDC运算,指出在读取的扇区数据中有一个或多个错误时,该CRC0将不为零且其值将存在余式R寄存器内,直到纠错装置80启动检错处理装置82。亦即在启动脉冲出现时,错误位置转换器102将错误位置L转换成12位数λ,以供给修正计算装置104。同时,错误码型e亦输入修正计算装置104。运用这些信息,修正计算装置104即对原先的余式值施以一修正运算。然后“异或”门(XOR gates)114将一修正值(Correction value)与原有的32位余式值相加,并存储其结果于余式R寄存器。
经修正的余式产生后,其值可通过如“或非”运算(NOR operation)检验其是否为零。若该余式为零,则可认定扇区数据内的错误均已被更正,而依主电脑的请求(request)将存储在存储装置中的该扇区数据传送给主电脑。在纠错运算成功地更正一扇区数据后,从盘中读取的下一批扇区数据,亦将依前述的纠错及检错方式处理。反之,若该修正后余式仍不为零,则应继续纠错运算,也就是继续处理余下的RSPC向量。如果所有RSPC向量皆已被处理过,而余式R仍不为零,则可对已处理过的P-向量及Q-向量再次实施纠错运算。或者,较佳的作法可能是重新自盘中读取该扇区数据,并再次执行整个纠错及检错过程。
在纠错运算开始之前,循环冗余码产生装置78将一扇区数据的EDC码字除以P(x),而得出初始CRC值CRC0。以模式1的CD-ROM扇区数据为例,假设其各数据字节为Bi,i=0至2351,则
(B0,0x16543+B0,1X16542+...+B2067,6x+B2067,7)÷P(x)
=Q0(x)...CRC0(x),此处P(x)为检验多项式,Q0(x)为商式。当纠错装置解出一错误字节的错误码型e及错误位置L,而更正该字节时,更正后的EDC码字变成
B0,0x16543+B0,1x16542+...
+(BL,0x7+BL,1x6+BL,2x5+BL,3x4+BL,4x3+BL,5x2+BL,6x+BL,7)x8(2067-L)
+...+B2067,6x+B2067,7
+(e0x7+e1x6+e2x5+e3x4+e4x3+e5x2+e6x+e7)x8(2067-L),此处,ei,i=7(最高有效位,Most Significant Bit,MSB)至0(最低有效位,Least Significant Bit,LSB),为错误码型e的位。将上述EDC码字除以P(x)可得余式
R(x)=CRC0(x)+r(x)其中
r(x)=(e0x7+e1x6+e2x5+e3x4+e4x3+e5x2+e6x+e7)x8(2067-L)modulo P(x)
图7的修正计算装置104即执行上述r(x)的计算。由于在纠错过程中,可能更正扇区内的多个错误字节,故上述修正计算亦需执行同样次数,直到纠错装置80更正完所有错误为止。除了第一次修正计算是针对CRC0值进行外,其后检错处理装置对R(x)反复其修正计算,如下式:
R(x)(新值)=R(x)(旧值)+r(x)
上述方程式仅需稍微修改,即可运用于CD-ROM XA模式2形式1的扇区数据上。所以,错误检错处理装置82实际上是根据下列公式计算新的R值:
R(x)新=R(x)旧+{(e·x8(Lm-L))modulo P(x)},
此处e为错误码型,L为错误位置,而Lm值则依CD-ROM扇区数据的模式而定。模式1扇区数据的Lm等于2067,而模式2形式1扇区数据的Lm则等于2075。
因为L是一12位数字,直接计算(e·x8(Lm-L))modulo P(x)通常是不适宜的,因为需要庞大的硬件及晶片面积。所以,最好将此计算分割为若干较小的乘法运算中。首先,将运算式重写为:
R(x)新=R(x)旧+{(e·x8λ)modulo P(x)},
此处λ=(Lm-L)。然后将此12位数字λ被分解为3个4位部分,即如图8所示的λ=λ8·28+λ4·24+λ0。此转换使得错误码型的计算变成如下:
e·x8λ=e·x8(256λ8+16λ4+λ0)
=e·x2048λ8+128λ4+8λ0
=e·{x2048λ8×x128λ4×x8λ0}因此,
(e·x8λ)modulo P(x)=e·{ x2048λ8×x128λ4×x8λo}modulo P(x)此方程式可以下列规则
(A×B)modulo N={(A modulo N)×B}modulo N进一步展开。也就是e·x8λmodulo P(x)的计算可经由执行×x2048moduloP(x)(乘以x2048,再除以P(x)以得到余式)运算λ8次、×x128modulo P(x)运算λ4次,和×x8modulo P(x)运算λ0次达成。
图9是本发明检错处理装置的一较佳实施例。余式的修正计算要以一3阶的多项式乘法器104完成,其中包括第一阶多项式乘法器150、第二阶多项式乘法器152、第三阶多项式乘法器154,以及λ寄存器136。
此检错电路大体上与图7实施例相同,故在此不再赘述。根据图7的实施例,图9的检错处理电路会从循环冗余码产生装置78接收并存储一32位的初始检错余式CRC0,做为余式R寄存器106的初始值。在该阶段中,多路选择器140会选择循环冗余码产生装置的输出。每当纠错装置80发现一错误时,会产生一8位的错误码型e及一12位的错误位置L,并发出一启动脉冲至检错处理装置控制单元100。在接收到启动脉冲后,错误码型输入值e会通过多路选择器140而锁存在临时寄存器142内,以供后续的计算。
同样在接收到启动脉冲后,图9中对应于图7的错误位置转换器(ELC)102电路,会将输入的12位错误字节地址信号130转换成一λ值,并存储该值至λ寄存器136中。该λ值的转换依据CD-ROM扇区数据的模式与错误字节在EDC码字内的位置两者而定。根据CD-ROM扇区数据的模式,多路选择器132会输出2067或2075两者之一,是为EDC码字的长度。若扇区数据为CD-ROM模式1的格式,则多路选择器132会选择被减数为2067。否则,选择被减数2075以符合CD-ROM XA模式2形式1的规格。12位减法器134将12位的EDC码字长度减去12位的错误地址,并存储其结果至λ寄存器136。
λ寄存器136由3个4位的寄存器λ8、λ4及λ0所组成。如图8所示,λ寄存器输出3个信号γ、β及α:
α=(λ0≠0),β=(λ4≠0),及γ=(λ8≠0)α,β及γ分别控制“×x8modulo P(x)”,“×x128modulo P(x)”及“×x2048moduloP(x)”三阶多项式乘法运算。
该3阶多项式乘法器104用于计算e×x8λmodulo P(x)的值。其演算法如下:
当(λ0≠0)
{
temp={{{temp×x8αmodulo P(x)}×x2048γmodulo P(x)}
×x128βmodulo P(x)};
若(λ8>0)则λ8=λ8-1;
若(λ4>0)则λ4=λ4-1;
若(λ0>0)则λ0=λ0-1;
}
上述循环的反覆次数为(λ8,λ4,λ0)的最大值,且运算期间结果值temp会经多路选择器140存储至临时寄存器142。另外值得注意的是,在3阶乘法电路104中,150、152及154等3阶乘法/modulo运算的排列次序,并不会影响该计算电路所产生及存储至临时寄存器142的最后结果。本实施例中的排列方式,考虑硬件效能及晶片面积的最佳化结果。当上述演算法执行完毕后,临时寄存器142内即为e·x8λmodulo P(x)的值。此值接着由“异或”门114加入余式R寄存器106的值(CRC0或Ri),其结果再经多路选择器120存储回余式R寄存器。
修正后的余式R的状态,可由R=0输出信号得知。根据该信号的状态,即可依前述图7实施例的说明,而决定存储存储装置内的数据可被传输至主电脑,或是需做进一步的纠错运算。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,任何本领域的技术人员,在不脱离本发明的精神和范围内,可作各种的更动与润饰,因此本发明的保护范围仅由所附权利要求限定。
Claims (8)
1.一种介于一光学磁盘海量存储装置与一电脑主机间的数据传输方法,所述方法至少包括下列步骤:
从所述光学磁盘海量存储装置获得一数据串,并将所述数据串转换为一种可存储在数字存储器的形式;
当提供转换后的所述数据串至一第一检错装置时,存储所述转换后的数据串到一存储装置内;
对所述数据串执行一第一检错运算,以决定是否有至少一错误存在所述数据串内,当所述数据串正存储至所述存储装置时,至少已执行了一部分的所述第一检错运算;
当所述第一检错运算确定无错误存在于所述数据串中时,传输所述数据串至所述电脑主机;
而当所述第一检错运算确定至少有一错误存在于所述数据串中时,在传输所述数据串至所述电脑主机之前,先对所述数据串施以一纠错运算,并更正所述数据串内的一错误;
执行一第二检错运算,以确定是否另有错误存在于所述数据串内,当所述第二检错运算指出没有未更正的错误存在于所述数据串时,则所述第二个检错运算产生一无错误信号;以及
通过所述第二检错运算所产生的所述无错误信号,将所述更正后的数据串传送至所述电脑主机。
2.如权利要求1所述的数据传输方法,其中执行所述第一检错运算的步骤还包括产生一第一检错值及存储所述第一检错值,所述第一检错值表示所述数据串中的错误特性。
3.如权利要求2所述的数据传输方法,其中执行所述第二个检错运算的步骤还包括计算所述第一检错值的修正值和修正所述第一检错值,以及检查修正后的所述第一检错值是否为非零值。
4.如权利要求3所述的数据传输方法,其中所述第一检错运算包括对所述数据串除以一错误检验多项式,且其中所述第一检错值为通过所述数据串除以所述错误检验多项式所得的余式。
5.如权利要求4所述的数据传输方法,其中所述第二检错运算为引用所述纠错运算所产生的一错误码型及一错误位置。
6.如权利要求1所述的数据传输方法,其中转换所述数据串的步骤包括一数字信号处理器的运算及一数据解码装置的运算。
7.如权利要求6所述的数据传输方法,其中所述解码器提供一数据给所述第一检错装置及提供所述数据给一数据重组装置,其中所述数据重组器用以存储所述数据串至所述存储装置。
8.如权利要求7所述的数据传输方法,其中所述数据串以一双交错Reed-Solomon码形式编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB981062962A CN1167222C (zh) | 1998-04-13 | 1998-04-13 | 光学海量存储装置与电脑主机间数据传输纠错及检错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB981062962A CN1167222C (zh) | 1998-04-13 | 1998-04-13 | 光学海量存储装置与电脑主机间数据传输纠错及检错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1232331A CN1232331A (zh) | 1999-10-20 |
CN1167222C true CN1167222C (zh) | 2004-09-15 |
Family
ID=5218913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB981062962A Expired - Fee Related CN1167222C (zh) | 1998-04-13 | 1998-04-13 | 光学海量存储装置与电脑主机间数据传输纠错及检错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1167222C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979671B (zh) * | 2005-11-30 | 2010-09-29 | 鸿富锦精密工业(深圳)有限公司 | 光存储设备除错装置及方法 |
US9690517B2 (en) * | 2015-05-22 | 2017-06-27 | Texas Instruments Incorporated | Dual-mode error-correction code/write-once memory codec |
CN108281160B (zh) * | 2018-01-12 | 2020-06-19 | 南阳师范学院 | Dvd纠错码的设计方法 |
-
1998
- 1998-04-13 CN CNB981062962A patent/CN1167222C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1232331A (zh) | 1999-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1084966C (zh) | 纠错编码译码方法和利用这种方法的电路 | |
US6003151A (en) | Error correction and detection system for mass storage controller | |
TWI251212B (en) | Decoding method and apparatus therefor | |
CN1199178C (zh) | 采用纠错码的数据处理方法和数据处理设备 | |
US6363511B1 (en) | Device and method for decoding data streams from storage media | |
CN1288542A (zh) | 用于循环纠错码的物理块地址恢复设备、系统和方法 | |
JPH11249920A (ja) | 符号語データを記憶するデータバッファを用いるeccシステムおよび誤りシンドロームを記憶するシンドロームバッファ | |
CN1756089A (zh) | 多重字符信息的译码方法与装置 | |
JP4300462B2 (ja) | 情報記録再生方法及び装置 | |
CN1167222C (zh) | 光学海量存储装置与电脑主机间数据传输纠错及检错方法 | |
CN1275255C (zh) | 在记录介质上形成数据的方法 | |
US6457156B1 (en) | Error correction method | |
JP2005522138A (ja) | エラー訂正コードに追加のエラー訂正レイヤを埋め込む方法及び装置 | |
CN1725354A (zh) | 数据处理设备和方法 | |
CN114078560B (zh) | Nand闪存芯片的纠错译码方法、存储介质及ssd设备 | |
CN1482744A (zh) | 交叉交织理德-所罗门码的校正 | |
CN1670853A (zh) | 编码装置 | |
CN1311640C (zh) | 在解码交错rs码过程中使用的纠错方法与纠错装置 | |
CN1476013A (zh) | 具有错误处理的光盘数据读取方法 | |
CN1806247A (zh) | 对复制保护光盘的复制 | |
CN1290113C (zh) | 数据再现方法和装置 | |
CN1293562C (zh) | 数据读取装置与方法 | |
CN1797585A (zh) | 检测由磁记录介质再现的码字中的错误事件的方法及设备 | |
CN1152379C (zh) | 光盘驱动装置的编码/解码系统 | |
US20080175137A1 (en) | Method for encoding data written to optical storage media |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040915 Termination date: 20140413 |