CN1881455A - 产生错误更正码的方法与系统 - Google Patents

产生错误更正码的方法与系统 Download PDF

Info

Publication number
CN1881455A
CN1881455A CNA2006100922758A CN200610092275A CN1881455A CN 1881455 A CN1881455 A CN 1881455A CN A2006100922758 A CNA2006100922758 A CN A2006100922758A CN 200610092275 A CN200610092275 A CN 200610092275A CN 1881455 A CN1881455 A CN 1881455A
Authority
CN
China
Prior art keywords
data
impact damper
block
sementation
coordination
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.)
Granted
Application number
CNA2006100922758A
Other languages
English (en)
Other versions
CN100489996C (zh
Inventor
陈宏庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN1881455A publication Critical patent/CN1881455A/zh
Application granted granted Critical
Publication of CN100489996C publication Critical patent/CN100489996C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

一种产生错误更正码的方法与系统,包括:一第一缓冲器,用来循序储存数据区块一第一数据分段以及一第二数据分段,其中第一数据分段以及第二数据分段由X个数据列以及Y个数据行组成,其中Y大于或等于2;一第二缓冲器,用来储存Y个局部同位行;一编码器,用来对自第一缓冲器读取的第一数据分段进行编码以产生局部同位行,并将局部同位行储存至第二缓冲器,以及对自第一缓冲器读取的第二数据分段以及自第二缓冲器的局部同位行进行编码,以产生新的局部同位行,并将新的局部同位行储存至第二缓冲器。本发明不仅提高了页模式数据存取的效率,还可利用较小的存储器缓冲器来计算错误更正码。

Description

产生错误更正码的方法与系统
技术领域
本发明提供一种产生错误更正码(EECs,Error Correction Codes)的方法与其相关系统,尤指一种应用于光驱,可于错误更正编码时,有效率地减少数据存取时间的方法与其相关系统。
背景技术
一般来说,于执行编码操作时,产生错误更正码的流程需要将来源数据储存至动态随机存取存储器(dynamic random access memory,DRAM)中。如业界所知,动态随机存取存储器为多个存储单元组成的存储单元阵列(memory cellarray),而数据便是储存在存储单元阵列的各存储单元中,这些数据通常通过列地址(row address)以及行地址(column address)进行寻址;在读取数据时,通过列地址与行地址从对应的存储单元中读取数据。
为了减少封装时的接脚(pin),列地址与行地址会设计成共享相同的接脚;如前所述,动态随机存取存储器由存储单元组成,而每个存储单元都包含有一电容,根据电容内储存的电荷表示一个位的数据对应的逻辑值1或0。当列地址指示信号(row address strobe signal,RAS signal)的边缘触发时,列地址会由地址接脚中取样出来,并且闩锁(latch)进入列地址译码器(row address decoder);在列地址已经完成闩锁动作后,地址接脚便会切换至行地址,并且在行地址指示信号(column address strobe signal,CAS signal)下缘触发时,进行行地址取样以及闩锁动作。如此,当行地址指示信号进入稳态时,在动态随机存取存储器中对应闩锁的地址的数据便可以读出。
现在已经有一种名为”页模式”(page mode)的存储器存取技术,该技术容许高速地连续存取动态随机存取存储器(static random access memory,SRAM)内的数据,换言之,只要存储器不发生换列操作(也就是仅仅只闩锁特定的列地址时),存储器便可以连续地存取数据。举例来说,在页模式的存取操作中,当新的行地址随着行地址指示信号的每一个下缘触发而撷取出来,此时的列地址指示信号会持续维持于一特定状态,以存取动态随机存取存储器的相对应存储单元。前述的页模式存取操作可以降低列数据的存取时间并且降低能量消耗;也就是说,对同一列的数据进行存取比不同列的数据的存取要快的多。举例来说,对于一个具有32Kb储存容量,具有7位的列地址以及7位的行地址的DRAM来说,对应相同行地址但是不同列地址的数据存取操作比起对应相同列地址但是不同行地址的数据存取操作,足足需要五倍的存取时间。
产生错误更正码的方法,譬如:产生DVD盘片上Reed-Solomon乘积码(Reed-Solomon product code,RSPC)的外部同位码需要存取不同列的数据。而如前所述,为了存取数据所执行的换列操作需要耗废大量的时间。
图1为DVD盘片的错误更正码区块(ECC block)10的示意图。如图1所示,错误更正码区块包含有三个区域,其中每个区域都由多个一字节的元素Bi,j(i=0-207,j=0-181)构成。区域11由元素Bi,j(i=0-191,j=0-171)组成,其包含来源数据;区域12由元素Bi,j(i=192~207,j=0~171)组成,其储存有外部同位码(POcodes);区域13由元素Bi,j(i=0-207,j=172-181)组成,其储存有内部同位码(PIcodes)。而外部同位码Bi,j(i=192-207,j=0-171)的产生方式由下列的余数多项式Rj(X)表示,其中Gpo(x)是外部同位码产生多项式。
R j ( x ) = Σ i = 192 207 B i , j x 207 - i = ( Σ i = 0 191 B i , j x 191 - i ) x 16 mod G po ( x ) 方程式(1)
图2为说明错误更正码区块数据在DRAM中的排列方式。如图2所示,在进行编码操作之前,从主机接收的一连串来源数据,在加上扰乱排列(scramble)后,根据存储器字符的列/行地址与ECC区块的字节索引Bi,j之间的映射(mapping)对应关系,暂存于DRAM中。
DRAM的储存单元为一包含有两字节的字符(word),并且前述拼凑储存于DRAM的来源数据的储存序列为(B0,0,B0,1,...B0,171,B1,0,...)。
通过前述的储存序列可以得知,每一个PO行中,每个元素所对应的存储器列地址并不会完全相同,因此于产生PO同位码时,必须频繁切换来源数据对应的列地址。如此一来,由于频繁的换列操作所需要的频宽以及时间,使得PO方向编码操作的效率很低。
请参阅图3,图3为错误更正码产生器30的示意图。错误更正码产生器30包含有一第一存储器(DRAM)31,一多路复用器(Multiplexer)32,以及一编码器33。来源数据由主机所提供并储存于错误更正码产生器30中的第一存储器31。来源数据的每一行(Bi,j,i=0-191)会连续地从第一存储器31中读取出来,以产生对应的PO同位码(Bi,j,i=192-207),其中从第一存储器31中每一个字符里面所读取出来的数据,仅仅只有一个字节的数据被使用到。而多路复用器32用于选择每个字符的两个字节中所需要使用到的字节,并且将其所储存的数据传递至编码器33中以进行编码。
举例来说,如果要从图2所示的DRAM中读取一个PO行,必须要经过147次的换列操作(即读取数据时从一列跳至另外一列的操作)并且45次的非换列操作(亦即从同一列上读取数据),总共加起来与来源数据一个PO行上192列的数据对应。以前面的例子来说,换列操作需要五个时钟脉冲周期,而非换列操作仅需要一个时钟脉冲周期;因此,读取一个PO行所需要的总时钟脉冲周期为147×5+45=780个时钟脉冲周期;而一个错误更正码区块总共有172个PO行(i=0-171),所以若要产生完整的PO码,便需要172×780=134,160个时钟脉冲周期。页模式数据存取对总数据存取的比例仅仅只有45/(45+147)=23.4%,很明显地,这样的效率并不是相当理想。
发明内容
为解决现有技术中的问题,本发明的主要目的之一在于,提供一种产生错误更正码的系统与方法,减少编码时所须存取存储器的时间。
在本发明的一实施例中,揭露一种对一数据区块进行编码以产生相对应错误更正码(error correction code,ECC)的系统,该数据区块包含有多个数据行与多个数据列,以产生错误更正码同位行(error correction code paiity column),该系统包含有:一第一缓冲器,用来循序储存该数据区块一第一数据分段(section)以及一第二数据分段,其中该第一数据分段以及该第二数据分段由X个数据列(Xdata rows)以及Y个数据行(Y data rows)组成,其中Y大于或等于2;一第二缓冲器,用来储存Y个局部同位行(partial-parity column);以及一编码器(encoder),用来对自该第一缓中器读取的该第一数据分段进行编码,以产生该局部同位行,并将该局部同位行储存至第二缓冲器,以及对自该第一缓冲器读取的该第二数据分段以及自该第二缓冲器的该局部同位行进行编码,以产生新局部同位行,并将该新局部同位行储存至该第二缓冲器。
在本发明的另一实施例中,还揭露一种对一数据区块进行编码以产生相对应错误更正码(error correction code,ECC)的系统,该数据区块包含有多个数据行与多个数据列,以产生错误更正码同位行(error correction code parity column),该系统包含有:一缓冲器,用来循序储存该数据区块的一第一数据分段以及一第二数据分段;一编码器,用来自该缓冲器读取该第一数据分段,以编码该第一数据分段,以及自该自该缓冲器读取该第二数据分段,以编码该第二数据分段;以及一地址模式切换电路,用来根据一第一存取方式(strategy,策略)控制欲储存至该缓冲器的该第一数据分段,以及根据一第二存取方式控制欲储存至该缓冲器的该第二数据分段,其中该第一存取方式以及第二存取方式不同。
本发明的另一实施例中还揭露一种对一数据区块进行编码以产生相对应错误更正码(error correction code,ECC)的方法,该数据区块包含有多个数据行与多个数据列,以产生错误更正码同位行(error correction code parity column),该方法包含有:循序储存该数据区块的一第一数据分段以及一第二数据分段于一第一缓冲器,其中该第一数据分段以及该第二数据分段由X个数据列以及Y个数据行组成,其中Y大于或等于2;储存Y个局部同位行(partial-parity column)至一第二缓冲器;以及对自该第一缓冲器读取的该第一数据分段进行编码,以产生该局部同位行;储存该局部同位行至该第二缓冲器;对自该第一缓冲器读取的该第二数据分段以及自该第二缓冲器读取的该局部同位行进行编码,以产生新局部同位行以及储存该新局部同位行至该第二缓冲器。
于本发明的另一实施例中,另揭露一种对一数据区块进行编码以产生相对应错误更正码(error correction code,ECC)的方法,其中该数据区块包含有多个数据行与多个据数列,用来产生错误更正码同位行(error correction code paritycolumn),该方法包含有:根据一第一存取方式以及一第二存取方式,分别循序储存该数据区块的一第一数据分段以及一第二数据分段至一缓冲器;以及对自该缓冲器读取的该第一数据分段进行编码,以及对自该缓冲器读取的该第二数据分段进行编码;其中该第一存取方式以及第二存取方式不同。
本发明提供各种各样不同的电路以及相关方法,由于本发明可控制存储器存取的方式,以利用更有效率的页模式数据存取操作,此外,本发明另可从数据缓冲器中读取来源数据,并同时将来源数据写入存储器,因此,本发明可利用较小的存储器缓冲器来计算错误更正码。
附图说明
图1为DVD盘片的错误更正码区块(ECC block)的示意图;
图2为错误更正码区块数据再DRAM中的排列方式;
图3为错误更正码产生器的示意图;
图4为本发明错误更正码产生器的一实施例的示意图;
图5为本发明数据写入以及数据读出操作的一实施例的示意图;
图6~图10说明了本发明存取数据操作的一实施例;
图11为图4中所示的数据缓冲器中一行一行地读取数据时,产生对应PO同位数据;
图12说明了当一列一列地读取存储器时,如何产生对应的PO同位码;
图13~15为本发明错误更正码产生器的一些实施例的功能方块图;
图16A~16B为本发明错误更正码产生器的另一实施例的功能方块图;
图17为本发明另一实施例的错误更正码产生器的功能方块图;
图18为图17所示的错误更正码产生器的操作步骤时序图;
图19为本发明另一实施例的错误更正码产生器的功能方块图;
图20为本发明另一实施例的错误更正码产生器的功能方块图;
图21为本发明另一实施例的错误更正码产生器的功能方块图。
主要组件符号说明:
错误更正码区块10             区域11、12、13        第一存储器31
同位缓冲器108、122、124      数据缓冲器104、114、116
解多路复用器112、120         多路复用器118、126
错误更正码产生器30、40、60、70、80、100、110、180、190、200
多路复用器32                  PO编码器33、46、106
数据缓冲器44                  地址模式切换控制电路42、182
动态随机存取存储器62、102     主机72、192           加法电路105
具体实施方式
在此请参阅图4,图4为本发明错误更正码产生器40的一实施例的示意图。其中,数据缓冲器44依序地储存了包含来源数据的多个数据分段,而来源数据即为图1所示的数据区块11;此外,在本实施例中,为了较快的存取速度,数据缓冲器44较佳为一静态随机存取存储器(static random access memory,SRAM),但是在实际应用上,数据缓冲器44也可以应用其它种类的存储器。地址模式切换控制电路(address mode switching control circuit)42用来控制来源数据储存至数据缓冲器44的形式。PO编码器46接着对储存于数据缓冲器44的来源数据进行编码,以产生PO同位数据(PO parity data)。此外,地址模式切换控制电路42选择存取数据缓冲器44的形式,以使得PO编码过程中,存储器存取的速度得以提升;地址模式切换控制电路42切换存储器存取的模式,使得存储器能够一列一列(row-by-row),或是一行一行(column-by-column)的存取,而这些操作,将于以下的揭露中详细叙述,因而此处不再重复叙述。
请参阅图5,图5为本发明数据写入以及数据读出操作的一实施例的示意图。在本实施例中,图1所示的数据区块11被区分为多个数据分段(section),这些数据分段包含有第一数据分段,第二数据分段,第三数据分段,以及第四数据分段等等。其中每一个数据分段都由多个列(row)或是多个字元(word column)组成,譬如192列(row)以及4个字元(8个字节)组成。首先,在步骤51中,将第一数据分段在时间点T0一列一列地写入数据缓冲区44;当第一数据分段全部写入数据缓冲区44后,在步骤52中,存入数据缓冲区44的数据在时间点T1一行一行地从数据缓冲区44输出,以产生PO更正码。当储存于数据缓冲区44中第一数据分段的第一行输出之后,第二数据分段的第一行便可覆写储存于数据缓冲区44的第一数据分段的第一行;换句话说,第二数据分段的第一行会储存于原本用来储存第一数据分段的第一行的相同存储器位置。此外,第二数据分段的其它行也会依照相同的形式,储存于数据缓冲器44中。由于第二数据区块可以几乎在读取第一数据区块的同一时间写入数据缓冲器44中,第二数据区块便可以很有效地储存于数据缓冲器44中。当第二数据区块写入数据缓冲器44之后,在步骤54,第二数据区块便再一次地一列一列地从数据缓冲器44中读取出来,以产生PO更正码。相同地,在步骤55,第三数据区块的每一列可以覆写至数据缓冲器44中原本用来储存第二数据区块的对应列的储存位置。在步骤56之中,第三数据区块的每一行在第三数据区块尚未全部一列一列地储存至数据缓冲区44之前,是不会被读取的。而前述的操作流程会一再的重复,直至步骤57,当第三数据区块一行一行地从数据缓冲器44读取出来,第四数据区块便会对应地一行一行的写入数据缓冲器44中。在此请注意,在前述的操作流程之中,在第N+1数据区块正在写入时,同时允许从数据缓冲器44中读取第N数据区块;此外,前述的写入以及读取操作对应相同的方向,换句话说,写入与读取操作是可以被允许同时以一列一列的或是一行一行的读取/写入方式进行。如此一来,由于本发明以相同的方向存取数据缓冲器44,本发明无须额外的P0编码器或是额外的存储器空间,便可以同时进行PO缓冲的写入操作以及PO编码的读取操作。此外,本发明以同一方向存取数据缓冲器44的特性,也可以使得存储器在同时进行储存和写入操作时,不会影响存储器的存取速度。
图6~10说明了本发明存取数据操作的一实施例。图6~10分别对应前述的步骤51~55。两个水平邻近的字节(byte)可视为一字符Wx,y i,其中i系为数据分段的设定号码,而x为列号码,其数字可为0~191,并且y为行号码,其数字可为0~3。在本实施例之中,每一数据分段由192列以及4字元组成。首先,如图6所示,将第一数据分段一列一列地写入数据缓冲器44之中,数据的写入次序如图6中的箭头所示,从最上面的数据开始,一列一列地储存至数据缓冲器44中。另一方面,数据读取的序列也如图7所示的箭头,由位置最左的数据开始,一行一行地从数据缓冲器44中读取出来。此外,在第一数据分段的第一行(位置最左)完全从数据缓冲器44读取出来之后,第二数据分段的第1~48列便可以开始覆写至数据缓冲器44中用于储存前述第一数据分段的第一行的相同存储器位置。如图8所示,字符W0,0 2-W1,3 2以图中箭头指示的方式依序储存,第二数据分段的第一字元储存于数据缓冲器44的前48列中,而第二字元储存于数据缓冲器44的下一个48列中,以此类推。
如图9所示,第二数据分段写入数据缓冲器44之后,储存于数据缓冲器44的数据会以图中所示的箭头的方式,从数据缓冲器44中读取出来,以产生PO同位数据。如图所示,由于数据缓冲器44中每48列储存有第二数据分段中一字元的数据,因此数据缓冲器44中每48列所储存的数据,以一行一行的方式进行存取。读取完数据缓冲器44中任何一48列,第三数据分段以图10所示的方式,一列一列地储存于数据缓冲器44中。
此外,从数据缓冲器44读取出数据分段之后,计算对应的PO同位数据并且将其储存于至少具有16列*4字元的一PO同位缓冲器。举例来说,图11说明了从数据缓冲器44一行一行地读取数据时,如何产生对应一个字元的PO同位数据。当读取出一个字元数据之后,其对应的PO同位数据便会被写入PO同位缓冲器的一个字元中。而在最后一个字元被读取出来并且经过编码,以及其对应的PO同位数据被储存于PO同位缓冲器之后,PO同位数据便会一列一列地被读出并且储存于存储器(譬如DRAM)中,用于产生PI同位码。从PO同位缓冲器中一列一列地将PO同位数据读取出来,可以顺利执行页模式的数据存取,允许快速的存取存储器。
图12所示为一列一列地读取存储器时如何产生对应48列存储器的PO同位码。在48列的数据都读取出来之后,对应的PO同位数据便会储存至PO同位缓冲器;而当最后48列的数据也已读取出来,且对应的PO同位数据也已储存至PO同位缓冲器后,PO同位数据便会一列一列的读取出来,并且储存于DRAM中。
图13~15为本发明错误更正码产生器的一些实施例的功能方块图。与图4所示的错误更正码产生器40不同的地方在于:图13所示的错误更正码产生器60包含有一DRAM62,DRAM62用于提供来源数据至数据缓冲器44。此外,图14所示的错误更正码产生器70,主机72用来提供来源数据至DRAM62,因此DRAM62储存了来源数据,以供数据缓冲器44读取,进而编码出PO同位数据。然而,图15所示的错误更正码产生器80,除了利用上述的方式(主机72提供来源数据至DRAM62,再由DRAM62提供来源数据至数据缓冲器44)之外,也可以通过主机72直接提供来源数据至数据缓冲器44。而来源数据也可另存于DRAM62中,以于编码PI同位码时使用;由于PO编码器46所执行的编码操作往往比主机72的传输速率来的快,因此主机72可直接提供来源数据至数据缓冲器44,而不会有数据溢出缓冲器容量(buffer overflow)的问题。
图16A为本发明错误更正码产生器100的另一实施例的功能方块图。错误更正码产生器100利用递归PO编码计算操作来减少编码PO同位数据时所须的缓冲器大小。DRAM102用来提供来源数据至数据缓冲器104;而相较于DRAM102的存储器大小,数据缓冲器104可具有较小的容量(譬如16字元*16列)。当来源数据的第一群组(前16列*16字元的数据)储存于数据缓冲器104后,数据缓冲器104输出来源数据至PO编码器106。在此请注意,在本实施例中,来源数据分为群组(groups),其中每一群组具有16字元*16列的数据;然而,通过递归PO编码计算操作,不同的群组数据大小都可用来产生PO同位数据。PO编码器106产生对应来源数据的第一群组的PO局部同位数据(partial PO data),并且将其储存于同位缓冲器108。接着,数据缓冲器104读取来源数据的第二群组(于本实施例中,来源数据的第二群组指下一个16列*16字元)。来源数据的第二群组从数据缓冲器104输出至一加法电路105,并且储存于同位缓冲器108的PO局部同位数据也同步输出至加法电路105;加法运算后的结果传送至PO编码器106,因此PO编码器106产生一更新后PO局部同位数据,并将其储存于同位缓冲器108中。此时,来源数据的第三群组也已储存于数据缓冲器104中;加法电路105将来源数据的第三群组与储存于同位缓冲器108的更新后PO局部同位数据进行加法运算,并将加法运算后的结果输出至PO编码器106,以产生新的更新后局部同位数据。前述的递归PO编码操作会一直进行,直到来源数据中对应相同16字元的所有群组都已用来编码对应的PO同位数据。如图1所示,若来源数据的192列中,有16列必须同时编码时,前述的操作流程必须重复12次以编码出相对应的PO同位数据。之后,编码后的PO同位数据会储存至DRAM中,以供后续计算PI码之用。在前面的实施例中,来源数据的群组大小为16字元*16列,并且前述的递归PO编码运算可以依下面的递归余数多项式Rk j(X)表示,其中Rk j(X)对应不同行j(j=0~171),而Gpo(x)为PO产生多项式:
R k j ( x ) = Σ i = 0 15 R k i , j x 15 - i = ( R k - 1 j ( x ) + Σ i = 0 15 B ( 16 * k + i ) , j x 15 - i ) x 16 mod G po ( x ) = ( Σ i = 0 16 * k + 15 B i , j x 16 * k - i ) x 16 mon G po ( x )
= ( Σ i = 0 15 ( R k - 1 i , j + B ( 16 * k + i ) , j ) x 15 - i ) x 16 mod G po ( x ) 方程式(2)
其中R-1 j(x)=0以及 R 11 j ( x ) = ( Σ i = 0 191 B i , j x 191 - i ) x 16 mod G po ( x ) = R j ( x )
图16B图与图16A大致上相同,唯一不同之处在于图16B中各信号以方程式(2)中的符号标示,以说明方程式(2)在图16A所示的装置的实施状况。通过错误更正码产生器100进行前述的递归PO编码操作,本发明仅须使用两个小储存容量的缓冲器。在本实施例之中,数据缓冲器104与同位缓冲器108各仅须256字符(512字节)的容量,换言之,本发明无须大容量的SRAM;此外,PO局部同位数据从同位缓冲器108读取出来的同时,来源数据也从数据缓冲器104中读取出来,因此本发明无须等待PO局部同位数据的读取。由于数据缓冲器104储存了来源数据中相同列的多个字符,这些相邻的字符可以通过页模式的数据存取方式读取出来。此外,当编码后的PO数据重新写入至DRAM102时,也可以通过页模式的数据存取方式写入存储器中相同列的相邻PO数据字符。并且,除了对PO局部同位数据与欲编码的来源数据施行加法运算之外,本发明也可于编码来源数据的下一群组之前,将PO局部同位数据重载(reload)至PO编码器106。
请同时参阅图2与图16A,图16B。为了读取32行的来源数据(对应16字元的来源数据),必须进行147次的换列存取操作以及(192×16-147)次的非换列存取操作。根据前述的DRAM规格可知,为了读取32行的来源数据,需要花费147×5+(192×16-147)=3660个时钟脉冲周期。由于整个错误更正码区块具有(172/32)组的32PO行,因此便必须花费(172/32)×3660=19,672个时钟脉冲周期,只占了图3所示的错误更正码产生器30所须134160个时钟脉冲周期的14.7%。此外,页模式数据存取对整体数据存取的比例为(192×16-147)/(192×16)=95%,这也是一个相当大的进步。因此,递归地执行PO同位数据的编码操作仅需要较小的缓冲器,并且同时读取于相同列上一个以上的字符(譬如前述的16字符)也允许本发明能更频繁使用页模式的存取操作,进而减少了DRAM的存取时间。
图17为本发明另一实施例的错误更正码产生器110的功能方块图。错误更正码产生器110为图16A,图16B所示的错误更正码产生器100的变化型;错误更正码产生器110使用了两个数据缓冲器114、116以及两个同位缓冲器122、124,以允许写入数据至缓冲器的操作与从缓冲器中读取数据的操作可以同时进行,并且更增加了PO编码流程的效能。第一解多路复用器(de-multiplexer)112用于将来源数据从DRAM102轮流引导至第一数据缓冲器114或是第二数据缓冲器116;第一多路复用器118将来源数据从数据缓冲器114、116中读取出来,并且将其传递至加法电路105。加法电路105将来源数据与PO局部同位数据加以混合,并将混合后的数据送至PO编码器106。第二解多路复用器120将PO局部同位数据传递至第一同位缓冲器122或是第二同位缓冲器124加以储存。当对来源数据另一群组进行编码时,第二多路复用器126将储存于同位缓冲器122、124之一的PO局部同位数据读取出来,并且将其传递至加法电路105。
如同图16A、图16B所示的错误更正码产生器100,以及错误更正码产生器110利用前述的递归算法来计算编码后的PO同位数据。只要PO同位数据已经完全地经过编码之后,编码后的PO同位数据从第二同位缓冲器124输出至DRAM102;第一解多路复用器112与第二解多路复用器120以及第一多路复用器118与第二多路复用器126具有相反的逻辑组态;缓冲器选择信号BUF_SEL用来选择第一解多路复用器112与第二解多路复用器120其中之一,并且用来选择第一多路复用器118与第二多路复用器126其中之一。由于编码后PO同位数据的递归运算可以利用较小的缓冲器,错误更正码产生器110便可以利用上述的特性以使用四个缓冲器来替代前述实施例中的两个缓冲器。其中,每一个缓冲器114、116、122、124都可储存16字符*16列的数据。为了使得PO编码的速度更高,当来源数据从第二数据缓冲器116读取出来时,来源数据可以写入第一数据缓冲器114,反之亦然。
图18为图17所示的错误更正码产生器110的操作步骤时序图。如图18所示,时序图说明了PO同位数据编码时经历的12个阶段,其中k代表阶段号码。在阶段k=0时,步骤140,缓冲器数据的第一群组B0 j(x)储存于第一数据缓冲器114中;接着,步骤144,当缓冲器数据的第二群组B1 j(x)储存于第二数据缓冲器116时,步骤142,缓冲器数据的第一群组B0 j(x)从第一数据缓冲器114读取出来;PO编码器106对缓冲器数据的第一群组B0 j(x)进行编码,并且于步骤146以PO局部同位数据的第一群组R0 j(x)的形式储存于第一同位缓冲器122中。
于阶段k=1时,步骤150,缓冲器数据的第三群组B2 j(x)储存于第一数据缓冲器114中;步骤152,PO局部同位数据的第一群组R0 j(x)从第一同位缓冲器122读取出来以进行编码;步骤154,缓冲器数据的第二群组B1 j(x)从第二数据缓冲器116读取出来以进行编码;步骤156,PO编码器106于进行编码,产生PO局部同位数据的第二群组R1 j(x),并将其储存于第二同位缓冲器124中。
于阶段k=2时:步骤160中,将缓冲器数据的第三群组B2 j(x)从第一数据缓冲器114中读取出来以进行编码;同时,步骤162,缓冲器数据的第四群组B3 j(x)储存于第二数据缓冲器116中;步骤164,PO局部同位数据的第二群组R1 j(x)从第二同位缓冲器124读取出来以进行编码。因此,步骤166;PO编码器106进行编码,以产生出PO局部同位数据的第三群组R2 j(x),并将其储存于第一同位缓冲器122中。
最后,于阶段k=11时,步骤172,缓冲器数据的第十二群组B11 j(x)从第二数据缓冲器116读取出来以进行编码,步骤170,并且PO局部同位数据的第十一群组R10 j(x)从第一同位缓冲器122读取出来以进行编码。因此,步骤174,PO编码器106进行编码,以产生出PO局部同位数据的第十二群组R11 j(x),并将其储存于第二同位缓冲器124中。由于PO局部同位数据R11 j(x)代表完整的编码后PO同位数据,因此完整的编码后PO同位数据便从第二同位缓冲器124读取出来,并且储存于DRAM102中。在此请注意,在上述流程中,一群组对应16字符*16列,然而,其它种类的群组也可以前述的流程实施。
图19为本发明另一实施例的错误更正码产生器180的功能方块图。相较于图16所示的错误更正码产生器100,错误更正码产生器180还具有地址模式切换控制电路(address mode switching control circuit)182,用来控制从数据缓冲器104中读取来源数据以及将来源数据写入数据缓冲器104中的方式。错误更正码产生器180结合了图16中错误更正码产生器100采用的递归算法以及图4中错误更正码产生器40交替地以一列一列的与一行一行的存取存储器的方式。这样的结合可以允许PO同位数据能够以更有效率的方式完成编码操作。
图20为本发明另一实施例的错误更正码产生器190的功能方块图。相较于图16所示的错误更正码产生器100,错误更正码产生器190利用一主机192以提供来源数据至DRAM102。DRAM102储存有来源数据,以供数据缓冲器104读取,进而编码出PO同位数据。
然而,除了利用主机192来提供来源数据至DRAM102,以及利用DRAM102来提供来源数据至数据缓冲器104之外,也可以利用主机192来直接提供来源数据至数据缓冲器104;如图21所示的错误更正码产生器200,而来源数据可另存于DRAM102中,在编码PI同位码时使用;由于PO编码器106执行的编码操作往往比主机192的传输速率来的快,因此主机192可直接提供来源数据至数据缓冲器104,而不会有数据溢出缓冲器容量(buffer overflow)的问题。
总而言之,本发明提供各种各样不同的电路以及相关方法,由于本发明可控制存储器存取的方式,以利用更有效率的页模式数据存取操作,此外,本发明还可从数据缓冲器中读取来源数据,并同时将来源数据写入存储器,因此,本发明可利用较小的存储器缓冲器来计算错误更正码。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的实施过程,并非用于限定本发明的保护范围。

Claims (43)

1.一种对一数据区块进行编码以产生对应的的错误更正码系统,其特征在于,数据区块包含有多个数据行与多个数据列,以产生错误更正码同位行,该系统包含有:
一第一缓冲器,用来循序储存数据区块一第一数据分段以及一第二数据分段,其中第一数据分段以及第二数据分段由X个数据列以及Y个数据行组成,其中Y大于或等于2;
一第二缓冲器,用来储存Y个局部同位行;以及
一编码器,用来对自第一缓冲器读取的第一数据分段进行编码以产生局部同位行,并将局部同位行储存至第二缓冲器,以及对自第一缓冲器读取的第二数据分段以及自第二缓冲器的局部同位行进行编码,以产生新的局部同位行,并将新的局部同位行储存至第二缓冲器。
2.如权利要求1所述的系统,其特征在于,第一缓冲器与第二缓冲器包含有一静态随机存取存储器
3.如权利要求1所述的系统,其特征在于,错误更正码同位行是Reed-Solomon乘积码的外部同位码。
4.如权利要求1所述的系统,其特征在于,当编码器编码Y个数据行的所有数据分段后,第二缓冲器输出最后储存的局部同位行,以作为对应Y个数据行的错误更正码同位行。
5.如权利要求1所述的系统,其特征在于,还包含有:
一加法电路,用来结合第一缓冲器的输出以及第二缓冲器输出的局部同位行,以作为编码器的输入。
6.如权利要求1所述的系统,其特征在于,还包含有:
一地址模式切换电路,根据一第一存取方式控制储存于第一缓冲器的第一数据分段,以及根据一第二存取方式控制储存于第一缓冲器的第二数据分段,其中第一存取方式与第二存取方式不同。
7.如权利要求6所述的系统,其特征在于,数据区块的连续数据分段通过第一存取方式以及第二存取方式,以一交替方式储存于第一缓冲器。
8.如权利要求6所述的系统,其特征在于,地址模式切换电路根据第二存取方式,控制自第一缓冲器读取的第一数据分段,以及根据第一存取方式,控制自第一缓冲器读取的第二数据分段。
9.如权利要求1所述的系统,其特征在于,还包含有:
一动态随机存取存储器,用来储存数据区块;由第一缓冲器从动态随机存取存储器存取数据区块。
10.如权利要求9所述的系统,其特征在于,已编码的错误更正同位行从第二缓冲器读取出来,并且储存于动态随机存取存储器。
11.如权利要求1所述的系统,其特征在于,还包含有:
一动态随机存取存储器;以及
一主机,将数据区块以数据列方向写入动态随机存取存储器,其中第一缓冲器自动态随机存取存储器读取数据区块的数据分段。
12.如权利要求1所述的系统,其特征在于,还包含有:
一动态随机存取存储器;以及
一主机,用来同时将数据区块以数据列方向写入动态随机存取存储器以及第一缓冲器。
13.如权利要求1所述的系统,其特征在于,第一缓冲器还包含有一第一存储器,用来储存数据区块的Y个数据行的第一数据分段;以及一第二存储器,用来储存数据区块的Y个数据行的第二数据分段;
以及所述的系统还包含有一控制电路,用来控制第一存储器以及第二存储器的存取,以允许编码器当第二存储器接收以及储存第二数据分段时,自第一存储器读取第一数据分段。
14.一种对一数据区块进行编码以产生相对应错误更正码的系统,其特征在于,数据区块包含有多个数据行与多个数据列,以产生错误更正码同位行,该系统包含有:
一缓冲器,用来循序储存数据区块的一第一数据分段以及一第二数据分段;
一编码器,用于从缓冲器读取第一数据分段,以编码第一数据分段,以及从缓冲器读取第二数据分段,以编码第二数据分段;以及
一地址模式切换电路,用于根据一第一存取方式控制欲储存至缓冲器的第一数据分段,以及根据一第二存取方式控制欲储存至缓冲器的第二数据分段,其中第一存取方式与第二存取方式不同。
15.如权利要求14所述的系统,其特征在于,缓冲器为一静态随机存取存储器。
16.如权利要求14所述的系统,其特征在于,错误更正同位行是Reed-Solomon乘积码的外部同位码。
17.如权利要求14所述的系统,其特征在于,数据区块的连续数据分段通过第一存取方式以及第二存取方式,以一交替方式储存于第一缓冲器。
18.如权利要求14所述的系统,其特征在于,还包含有:一动态随机存取存储器,用来储存数据区块;由缓冲器从动态随机存取存储器存取数据区块。
19.如权利要求14所述的系统,其特征在于,还包含有:
一动态随机存取存储器;以及
一主机,用来将数据区块以数据列方向写入动态随机存取存储器,其中缓冲器自动态随机存取存储器读取数据区块的数据分段。
20.如权利要求14所述的系统,其特征在于,还包含有:
一动态随机存取存储器;以及
一主机,用来同时将数据区块以数据列方向写入动态随机存取存储器以及缓冲器。
21.一种对一数据区块进行编码以产生相对应错误更正码的方法,其特征在于,数据区块包含有多个数据行与多个数据列,以产生错误更正码同位行,所述的方法包含有:
循序储存数据区块的一第一数据分段以及一第二数据分段于一第一缓冲器,其中第一数据分段以及第二数据分段由X个数据列以及Y个数据行组成,其中Y大于或等于2;
储存Y个局部同位行至一第二缓冲器;以及
对自第一缓冲器读取的第一数据分段进行编码,以产生局部同位行;
储存局部同位行至第二缓冲器;
对自第一缓冲器读取的第二数据分段以及自第二缓冲器读取的局部同位行进行编码,以产生新局部同位行;以及
储存新局部同位行至第二缓冲器。
22.如权利要求21所述的方法,其特征在于,第一缓冲器与第二缓冲器包含有一静态随机存取存储器。
23.如权利要求21所述的方法,其特征在于,错误更正码同步行是Reed-Solomon乘积码的外部同位码。
24.如权利要求21所述的方法,其特征在于,Y个数据行的所有数据分段已经完全编码完成时,第二缓冲器输出新的局部同位行,以作为对应Y数据行的错误更正码同位行。
25.如权利要求21所述的方法,其特征在于,还包含有:
根据一第一存取方式控制欲储存至第一缓冲器的第一数据分段;以及
根据一第二存取方式控制欲储存至第一缓冲器的第二数据分段;其中第一存取方式以及第二存取方式不同。
26.如权利要求25所述的方法,其特征在于,数据区块的连续数据分段通过第一存取方式以及第二存取方式,以一交替方式储存于第一缓冲器。
27.如权利要求25所述的方法,其特征在于,第一数据分段根据第二存取方式,从第一缓冲器读取出来,以进行编码操作,以及第二数据分段根据第一存取方式,从第二缓冲器读取出来,以进行编码操作。
28.如权利要求21所述的方法,其特征在于,还包含有:
储存数据区块至一动态随机存取存储器;由第一缓冲器自动态随机存取存储器存取数据区块。
29.如权利要求28所述的方法,其特征在于,已编码的错误更正同位行从第二缓冲器读取出来,并且储存于动态随机存取存储器。
30.如权利要求28所述的方法,其特征在于,还包含有
将自一主机读取的数据区块以一数据列方向储存于一动态随机存取存储器,其中第一缓冲器自动态随机存取存储器读取数据区块的数据分段。
31.如权利要求21所述的方法,其特征在于,还包含有:
将自一主机读取的数据区块同时以一数据列方向储存于一动态随机存取存储器以及第一缓冲器。
32.如权利要求21所述的方法,其特征在于,还包含有:
储存数据区块的Y个数据行的第一数据分段于第一缓冲器的一第一存储器;
储存数据区块的Y个数据行的第二数据分段于第一缓冲器的一第二存储器;以及
控制第一存储器以及第二存储器的存取,使得当第二存储器接收并且储存第二数据分段时,第一数据分段从第一存储器中读取出来以作为编码。
33.一种对一数据区块进行编码以产生相对应错误更正码的方法,其特征在于,数据区块包含有多个数据行与多个数据列,用来产生错误更正码同位行,所述的方法包含有:
根据一第一存取方式以及一第二存取方式,分别循序储存数据区块的一第一数据分段以及一第二数据分段至一缓冲器;以及
对自缓冲器读取的第一数据分段进行编码,以及对自缓冲器读取的第二数据分段进行编码;
其中第一存取方式与第二存取方式不同。
34.如权利要求33所述的方法,其特征在于,缓冲器为一静态随机存取存储器。
35.如权利要求33所述的方法,其特征在于,错误更正同位行是Reed-Solomon乘积码的外部同位码。
36.如权利要求33所述的方法,其特征在于,数据区块的连续数据分段通过第一存取方式以及第二存取方式,以一交替方式储存于第一缓冲器。
37.如权利要求33所述的方法,其特征在于,还包含有:
储存数据区块至一动态随机存取存储器;由缓冲器从动态随机存取存储器存取数据区块。
38.如权利要求33所述的方法,其特征在于,还包含有:
将自一主机读取的数据区块以数据列方向写入一动态随机存取存储器,由缓冲器自动态随机存取存储器读取数据区块的数据分段。
39.如权利要求33所述的方法,其特征在于,还包含有:
将自一主机读取的数据区块同时以数据列方向写入动态随机存取存储器以及缓冲器。
40.一种对一数据区块进行编码以产生相对应错误更正码的系统,其特征在于,数据区块包含有多个数据行与数据列,用来产生错误更正码同位行,所述的系统包含有:
一同位缓冲器,用来储存局部同位行;以及
一编码器,用来编码数据区块的一第一数据分段,以产生局部同位行,用来储存局部同位行至同位缓冲器,以及对数据区块的一第二数据分段与从同位缓冲器读取的局部同位行进行编码,以产生新的局部同位行;
其中每一个第一数据分段以及第二数据分段都由数据区块的X个数据列以及Y个数据行组成,并且Y大于或等于2,以及X小于数据区块的全部数据列数目。
41.如权利要求40所述的系统,其特征在于,错误更正同步行是Reed-Solomon乘积码的外部同位码。
42.一种对一数据区块进行编码以产生相对应错误更正码的方法,其特征在于,数据区块包含有多个数据行与数据列,用来产生错误更正码同位行,所述的方法包含有:
对数据区块的一第一数据分段进行编码,以产生局部同位行;
储存局部同位行至一同位缓冲器;以及
对数据区块的一第二数据分段以及自同位缓冲器读取的局部同位行进行编码,以产生新的局部同位行;
其中每一个第一数据分段以及第二数据分段都由数据区块的X个数据列以及Y个数据行组成,并且Y大于或等于2,以及X小于数据区块的全部数据列数目。
43.如权利要求42所述的方法,其特征在于,错误更正同步行为Reed-Solomon乘积码的外部同位码。
CNB2006100922758A 2005-06-16 2006-06-16 产生错误更正码的方法与系统 Active CN100489996C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/160,263 2005-06-16
US11/160,263 US7430701B2 (en) 2005-06-16 2005-06-16 Methods and systems for generating error correction codes

Publications (2)

Publication Number Publication Date
CN1881455A true CN1881455A (zh) 2006-12-20
CN100489996C CN100489996C (zh) 2009-05-20

Family

ID=37519610

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100922758A Active CN100489996C (zh) 2005-06-16 2006-06-16 产生错误更正码的方法与系统

Country Status (3)

Country Link
US (2) US7430701B2 (zh)
CN (1) CN100489996C (zh)
TW (1) TWI333651B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104025193A (zh) * 2011-07-27 2014-09-03 惠普发展公司,有限责任合伙企业 用于在基于忆阻器的数据存储设备内减少写缓冲器容量的方法和系统
CN112133362A (zh) * 2019-06-25 2020-12-25 华邦电子股份有限公司 存储器存储装置及其存储器测试方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101433620B1 (ko) * 2007-08-17 2014-08-25 삼성전자주식회사 처리량을 높이기 위하여 더블 버퍼링 구조와 파이프라이닝기법을 이용하는 디코더 및 그 디코딩 방법
KR101466694B1 (ko) * 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
JP4978576B2 (ja) * 2008-07-03 2012-07-18 株式会社Jvcケンウッド 符号化方法および符号化装置ならびに復号方法および復号装置
GB2463078B (en) * 2008-09-02 2013-04-17 Extas Global Ltd Distributed storage
US8560898B2 (en) * 2009-05-14 2013-10-15 Mediatek Inc. Error correction method and error correction apparatus utilizing the method
JP5544773B2 (ja) * 2009-07-22 2014-07-09 ソニー株式会社 エラー訂正装置、エラー訂正装置のメモリの制御方法および光ディスク記録再生装置
JP2013029882A (ja) * 2011-07-26 2013-02-07 Toshiba Corp メモリコントローラ、半導体記憶装置および復号方法
US8924814B2 (en) 2012-08-28 2014-12-30 Seagate Technology Llc Write management using partial parity codes
US20140108716A1 (en) * 2012-10-16 2014-04-17 Samsung Electronics Co., Ltd. Dynamic random access memory for storing randomized data and method of operating the same
JP6367704B2 (ja) * 2014-12-25 2018-08-01 株式会社バイオス 記憶制御システム及び記憶制御装置

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3678469A (en) * 1970-12-01 1972-07-18 Ibm Universal cyclic division circuit
US4547882A (en) * 1983-03-01 1985-10-15 The Board Of Trustees Of The Leland Stanford Jr. University Error detecting and correcting memories
US4723243A (en) * 1985-12-02 1988-02-02 Advanced Micro Devices, Inc. CRC calculation machine with variable bit boundary
US4829471A (en) * 1986-02-07 1989-05-09 Advanced Micro Devices, Inc. Data load sequencer for multiple data line serializer
US4866717A (en) * 1986-07-29 1989-09-12 Matsushita Electric Industrial Co., Ltd. Code error detecting and correcting apparatus
NL8901631A (nl) * 1989-06-28 1991-01-16 Philips Nv Inrichting voor het bufferen van data voor de duur van cyclisch repeterende buffertijden.
US5040179A (en) * 1989-08-18 1991-08-13 Loral Aerospace Corp. High data rate BCH encoder
JP2811802B2 (ja) * 1989-09-20 1998-10-15 ソニー株式会社 情報伝送装置
US5335234A (en) * 1990-06-19 1994-08-02 Dell Usa, L.P. Error correction code pipeline for interleaved memory system
EP0470451A3 (en) * 1990-08-07 1993-01-20 National Semiconductor Corporation Implementation of the high-level data link control cyclic redundancy check (hdlc crc) calculation
KR100200801B1 (ko) * 1991-08-31 1999-06-15 윤종용 오류정정장치
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
JP3318841B2 (ja) * 1992-08-20 2002-08-26 ソニー株式会社 再生装置および再生方法
JPH06216882A (ja) * 1993-01-19 1994-08-05 Matsushita Electric Ind Co Ltd 誤り訂正送信装置及び受信装置
US5383204A (en) * 1993-06-29 1995-01-17 Mitsubishi Semiconductor America, Inc. Parallel encoding apparatus and method implementing cyclic redundancy check and Reed-Solomon codes
KR100258921B1 (ko) * 1994-03-31 2000-06-15 윤종용 광디스크 기록/재생장치
DE69636823T2 (de) * 1995-06-30 2007-10-18 Sony Corp. Datenaufzeichnungsverfahren, Datenwiedergabeverfahren, und Datenaufzeichnungs-/wiedergabeeinrichtung und Aufzeichnungsmedium
JP3951317B2 (ja) * 1995-09-28 2007-08-01 ソニー株式会社 データ記録/再生のための装置および方法
US5878057A (en) * 1995-10-06 1999-03-02 Tektronix, Inc. Highly parallel cyclic redundancy code generator
US6112324A (en) * 1996-02-02 2000-08-29 The Arizona Board Of Regents Acting On Behalf Of The University Of Arizona Direct access compact disc, writing and reading method and device for same
US5737337A (en) * 1996-09-30 1998-04-07 Motorola, Inc. Method and apparatus for interleaving data in an asymmetric digital subscriber line (ADSL) transmitter
JPH113573A (ja) * 1997-04-15 1999-01-06 Mitsubishi Electric Corp 拡大リードソロモン符号の誤り訂正復号方法と誤り訂正復号装置、1次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置、および2次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置
US5974580A (en) * 1997-07-23 1999-10-26 Cirrus Logic, Inc. Concurrent row/column syndrome generator for a product code
WO1999025069A1 (fr) * 1997-11-10 1999-05-20 Ntt Mobile Communications Network, Inc. Procede et dispositif d'entrelacement, et support d'enregistrement dans lequel on a enregistre un programme de production de motifs d'entrelacement
US6195780B1 (en) * 1997-12-10 2001-02-27 Lucent Technologies Inc. Method and apparatus for generating cyclical redundancy code
EP1517327A3 (en) * 1998-02-25 2005-03-30 Matsushita Electric Industrial Co., Ltd. High-speed error correcting apparatus with efficient data transfer
US6260169B1 (en) * 1998-03-31 2001-07-10 Stmicroelectronics N.V. Device and method for real time correction of row data from DVD media
US6272659B1 (en) * 1998-05-18 2001-08-07 Cirrus Logic, Inc. Error correction code processor employing adjustable correction power for miscorrection minimization
US6615387B1 (en) * 1998-09-22 2003-09-02 Seagate Technology Llc Method and apparatus for error detection
US6530057B1 (en) * 1999-05-27 2003-03-04 3Com Corporation High speed generation and checking of cyclic redundancy check values
US6351832B1 (en) * 1999-05-28 2002-02-26 Lucent Technologies Inc. Turbo code symbol interleaver
JP2001057022A (ja) * 1999-08-18 2001-02-27 Sony Corp データ記録媒体、データ記録装置、データ記録方法、データ再生装置およびデータ再生方法
US7458007B2 (en) * 2000-02-18 2008-11-25 Texas Instruments Incorporated Error correction structures and methods
US6651208B1 (en) * 2000-04-04 2003-11-18 Mosel Vitelic Corporation Method and system for multiple column syndrome generation
US6718506B1 (en) * 2000-10-02 2004-04-06 Zoran Corporation High speed DVD error correction engine
US6983413B2 (en) * 2000-12-12 2006-01-03 Kabushiki Kaisha Toshiba Data processing method using error-correcting code and an apparatus using the same method
US6701482B2 (en) * 2001-09-20 2004-03-02 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
KR100584426B1 (ko) * 2001-12-21 2006-05-26 삼성전자주식회사 고속 패킷 이동통신시스템에서 심벌 매핑을 위한 인터리빙장치 및 방법
JP2004206798A (ja) * 2002-12-25 2004-07-22 Ricoh Co Ltd 光ディスク装置のエンコードデータ符号回路
US7103832B2 (en) * 2003-12-04 2006-09-05 International Business Machines Corporation Scalable cyclic redundancy check circuit
TWI235911B (en) * 2004-02-20 2005-07-11 Mediatek Inc Error correction code generator
US7328396B2 (en) * 2004-05-28 2008-02-05 International Business Machines Corporation Cyclic redundancy check generating circuit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104025193A (zh) * 2011-07-27 2014-09-03 惠普发展公司,有限责任合伙企业 用于在基于忆阻器的数据存储设备内减少写缓冲器容量的方法和系统
US9405614B2 (en) 2011-07-27 2016-08-02 Hewlett Packard Enterprise Development Lp Method and system for reducing write-buffer capacities within memristor-based data-storage devices
CN112133362A (zh) * 2019-06-25 2020-12-25 华邦电子股份有限公司 存储器存储装置及其存储器测试方法
CN112133362B (zh) * 2019-06-25 2023-05-16 华邦电子股份有限公司 存储器存储装置及其存储器测试方法

Also Published As

Publication number Publication date
TW200703257A (en) 2007-01-16
US7430701B2 (en) 2008-09-30
US20070011590A1 (en) 2007-01-11
CN100489996C (zh) 2009-05-20
TWI333651B (en) 2010-11-21
US20080209119A1 (en) 2008-08-28

Similar Documents

Publication Publication Date Title
CN1881455A (zh) 产生错误更正码的方法与系统
CN1317643C (zh) 存储装置、访问存储装置的方法和里德索罗门解码器
TWI533304B (zh) 用於儲存資料於具有跨頁區段、多頁編碼及每頁編碼之多位準單元快閃記憶體器件中之方法及裝置
RU2004121027A (ru) Устройство и способ перемежения для системы связи
CN1235691A (zh) 应用交叉存取法校正多级单元存储器的方法和装置
CN101079641A (zh) 二维交织设备及方法
CN101489135B (zh) 一种方便ldpc长码在fpga实现的编码器及编码方法
JP3515036B2 (ja) インターリービング方法、インターリービング装置、ターボ符号化方法及びターボ符号化装置
CN1758543A (zh) 提高Turbo码译码速度的并行译码方法及译码装置
CN1280366A (zh) 随机数据发生器及利用该发生器的扰码器
KR101320684B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
CN1265362C (zh) 错误检测码产生方法和对多个区段产生错误检测码的方法
KR100499467B1 (ko) 블록 인터리빙 방법 및 그를 위한 장치
US6346896B1 (en) Decoding apparatus and method for deinterleaving data
CN1110809C (zh) 解码设备中的错误检验和校正的存储器读方法和读电路
KR101355988B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
JP6818667B2 (ja) メモリシステム
CN102318249B (zh) 一种交织和解交织的方法、交织器和解交织器
CN111900999B (zh) 一种面向卫星非连续通信的高性能极化编码方法及编码器
CN1200423C (zh) 扰频器和扰频方法
US6718505B1 (en) Method and apparatus for error correction in a process of decoding cross-interleaved Reed-Solomon code (CIRC)
JP2007328894A (ja) 半導体記憶装置、および半導体記憶装置の検査方法
CN105577196A (zh) 基于宽带OFDM电力线通信系统的Turbo码数据交织方法和交织器
CN1591658A (zh) 纠错码产生电路及其方法
CN1176541C (zh) 用于提高乘积码译码速度的方法及译码装置

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