CN1350369A - 存储装置、访问存储装置的方法和里德索罗门解码器 - Google Patents
存储装置、访问存储装置的方法和里德索罗门解码器 Download PDFInfo
- Publication number
- CN1350369A CN1350369A CN01122443A CN01122443A CN1350369A CN 1350369 A CN1350369 A CN 1350369A CN 01122443 A CN01122443 A CN 01122443A CN 01122443 A CN01122443 A CN 01122443A CN 1350369 A CN1350369 A CN 1350369A
- Authority
- CN
- China
- Prior art keywords
- memory bank
- read
- ram
- couple
- write
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1555—Pipelined decoder implementations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6566—Implementations concerning memory access contentions
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Information Transfer Systems (AREA)
- Memory System (AREA)
Abstract
一种存储装置,采用多个双存储体RAM来允许同时写入/读取操作。该存储器可用于高速块流水线式里德索罗门解码器,用于在流水线式处理期间暂时存储输入的码字。存储器控制器允许在每个连续帧周期期间对双存储体RAM进行写入和读取,从而每给定数个帧周期读取双存储体RAM的每个存储体,并且每相同的给定数个帧周期进行写入,并且在每个连续帧周期期间,读取存储体与写入存储体不同地包含在所述多个双存储体RAM的不同的一个中。
Description
技术领域
本发明涉及在数字设备中使用的用于暂时存储数据的存储器。本发明尤其涉及用于采用双存储体(dual-bank)存储器对数据进行缓冲的电路和方法,更具体地涉及用于在高速块流水线式里德索罗门解码器中对数据的缓冲。
背景技术
当发送或存储大量数字数据时,不可避免地在数据信道或发送介质中出现差错。已知有各种技术来识别这些差错并且当可行时恢复数据。在这些技术中,已广泛采用了里德索罗门编码。里德索罗门代码是基于块的差错校正码,其表现出优异的纠错性能和有效的编码及解码特性,从而在数字通信和存储领域得到了广泛的应用。
一般,通过将2t个奇偶校验码元与具有k个码元的数据的数据块相加,里德索罗门编码器形成包含n个码元(如8比特字节)的码字,从而2t=n-k。通常里德索罗门码字由字符RS(n,k)来指定。例如,在代码RS(255,223)情况下,每个码字包含255个码字字节,其中的223个字节为数据,32个字节为奇偶校验位。
另一方面,里德索罗门解码器处理每个码字,以试图对在发送或存储期间出现的差错进行校正并恢复原始数据。该解码器能够校正每个码字中的多至t个差错码元。例如,在代码RS(255,223)情况下,n-k=2t=32,因此,能够校正每个码字中的多至16个码元。
一般,当执行差错和擦除校正时,里德索罗门解码处理可被分成8个主要的计算步骤。当码元值不正确时出现“擦除”,但码元位置是未知的。当不知道不正确码元的信息时,出现“差错”。差错和擦除解码的计算步骤包括:(1)从所接收到的/检索到的输入码字计算并发位(syndrome),以检测是否存在差错;(2)对与输入的码字同步地提供的擦除标记进行缓冲;(3)采用擦除标记对并发位进行修改;(4)产生擦除定位器多项式;(5)采用修改的并发位值和擦除定位器多项式,来计算差错定位器多项式和差错估计器多项式的系数;(6)求出差错定位器多项式的根;(7)计算差错值的幅值;和(8)采用在步骤(4)得到的值和在步骤(3)得到的位置来对差错进行校正。仅对于差错校正(即,无擦除校正),省略步骤(2)、(3)和(4)。
上述步骤(1)和(8)需要存储器访问。亦即,在步骤(1),所接收到的码字被暂时存储于存储器中,而以后在步骤(8)中被从存储器中检索出以被校正。
里德索罗门解码器的解码计算(和相关的硬件和/或软件)比编码处理的更复杂,经常难以实现具有足够高的处理速度的解码器。对于当前的高速数字数据处理系统的需求而言,这尤其是个问题。
为了增大速度,里德索罗门解码器的计算的流水线技术是个可能的解决方案。但是,这种计算随差错数目和码字长度的不同而有所不同,因此,流水线技术受到具有最长等待时间(latency)的单元或块的限制。此外,即使处理块的等待时间被减小到n个周期的单个帧(即,一个码字),用于在校正之前暂时存储输入码字的存储器仍引起瓶颈效应,即,至少需要2n个周期来首先存储码字,然后检索码字用于其校正。
发明内容
本发明的目的是提供一种存储装置、和访问存储装置的方法,其高速执行读取/写入操作,从而可有益地与高速块流水线式里德索罗门解码器结合使用,并且提供一种具有最小存储器访问时间的高速块流水线式里德索罗门解码器。
根据本发明的一个方面,允许在每个连续帧周期期间对多个双存储体RAM进行写入和读取,从而在每个给定数个帧周期时读取双存储体RAM的每个存储体,并且在相同的给定数个帧周期时写入,并且在每个连续帧周期期间,读取存储体与写入存储体不同地包含在多个双存储体RAM的不同的一个中。
根据本发明的另一方面,存储器包括:第一双存储体RAM,具有第一存储体和第二存储体;第二双存储体RAM,具有第三存储体和第四存储体;和第三双存储体RAM,具有第五存储体和第六存储体。在连续的帧周期期间允许从第一至第六数据存储体中按顺序读取,从而每六个帧周期读取第一至第六数据存储体中的每个,并且允许在连续的帧周期期间按顺序对第一至第六数据存储体进行写入,从而每六个帧周期对第一至第六数据存储体中的每个进行写入。另外,在每个帧周期期间,被允许读取的第一至第六数据存储体中的一个包含在所述第一至第三双存储体RAM中与被允许写入的第一至第六数据存储体中的一个不同的第一至第三双存储体RAM的一个中。
根据本发明的又一方面,在每个帧周期期间,从被允许读取的数据存储体到被允许写入的数据存储体的偏移为4(或3)个数据存储体,从而在帧周期a中写入的所述第一至第六数据存储体中的每个随后在帧周期a+4(或a+3)中读取,其中a为整数。
根据本发明的再一方面,上述双存储体存储器与多个流水线式处理单元结合使用,该处理单元接收输入的里德索罗门码字并且执行计算以识别包含在输入码字中的差错值和差错位置。最好,多个流水线式处理单元和存储器响应于相同的时钟信号速率进行操作。
根据本发明的再一方面,每个码字包含n个字节,并且每个存储器存储体具有n个字节的容量,其中n为正整数。最好,多个流水线式处理单元中的每个的最大等待时间为n个循环,并且每个存储器访问帧周期为n个循环。
附图说明
通过参照附图的如下详细描述,本发明的上述和其他目的及优点将变得更加清楚,附图中:
图1是本发明高速块流水线式里德索罗门解码器的方框图;
图2的示意图描述的是图1的里德索罗门解码器的处理块的等待时间;
图3的方框图表示的是本发明双存储体3-RAM装置的优选实施例;
图4的流程图表示的是本发明访问双存储体3-RAM装置的方法的优选实施例;
图5和6的示意图描述的是在图3的双存储体3-RAM装置的写入/读取操作期间的存储体的选择;和
图7的时序图表示的是图1的里德索罗门解码器的流水线操作。
具体实施方式
图1表示本发明高速流水线式里德索罗门解码器。该实施例的里德索罗门解码器能够进行差错和擦除校正。如所示,里德索罗门解码器的计算被以流水线方式分成5个级S1至S5。
仅对于差错校正,图1的配置将去除虚线110中所包含的部件,在这种情况下仅需要流水线式的四(4)个级。
图1的实施例的里德索罗门解码器上设有双存储体3-RAM装置180,用于暂时存储输入数据DIN,即,码字R(x)。该装置由3个存储器构成,例如由3个RAM构成,其每个具有两个存储体。响应于数据输入时钟信号CLK,采用循环控制机制来执行写入/读取操作。简言之,双存储体3-RAM装置180将输入数据DIN写入从3个RAM中选出的一RAM的一存储体中,并且从其他RAM之一的一存储体中读取数据。双存储体3-RAM装置180的结构和操作将在后面参照图3进行更详细的描述。
仍参照图1,里德索罗门解码器(用于差错和擦除校正)还包括并发位产生器100、标记计数器和标记缓冲器120、擦除定位器多项式产生器130、并发位改变器140、多项式系数产生器150、差错值估计器160、差错位置搜索器170、和差错校正器190。如前所述,由这些部件执行的计算被以流水线方式分成级S1至S5。
在级S1,并发位产生器100根据输入数据DIN计算并发位S(x)。另外,标记计数器和标记缓冲器120对与输入数据DIN同步地提供的擦除标记Era_Flag的数目进行计数,并且对擦除标记Era_Flag进行缓冲。对此,如果没有擦除标记Era_Flag,或者如果输入的擦除标记Era_Flag的数目超过可允许校正范围,则专门执行差错校正。亦即,可允许校正范围被限定为:如果输入的擦除标记Era_Flag的数目比可允许校正范围的擦除标记的数目多,则单独执行差错校正。另外,标记计数器和标记缓冲器120不包括在单独为差错校正配置的里德索罗门解码器中。
在级S2,并发位改变器140采用缓冲的擦除标记对由并发位产生器100产生的并发位S(x)进行改变。(仅对于差错校正,不改变并发位S(x),并且省略并发位改变器140。)擦除定位器多项式产生器130采用缓冲的擦除标记来产生擦除定位器多项式。如前所述,当输入的擦除标记Era_Flag的数目等于零或者超出可允许校正范围时,单独执行差错校正。在这种情况下,擦除定位器多项式130产生一常数(如1值)来替代擦除定位器多项式。
在级S3,多项式系数产生器150采用改变的并发位T(x)和擦除定位器多项式(或常数1)来产生用于差错位置搜索的差错定位器多项式σ(x)和用于差错估计的差错估计器多项式e(x)的系数。在该实施例中,多项式系数产生器150采用欧几里德(Euclidean)算法。但是,可理解的是,也可采用其他已知的算法。另外,仅对于差错校正,排除包含在块110中的部件,因此,采用(未改变的)并发位S(x)和常数1来产生差错定位器多项式σ(x)和差错估计器多项式e(x)的系数。
在级S4,差错值估计器160计算差错值,而差错位置搜索器170根据差错定位器多项式σ(x)和差错估计器多项式e(x)的系数来计算差错位置。例如,可采用陈氏(Chien)搜索算法来计算差错定位器多项式σ(x)的解,并将所得到的解转换成多项式形式。表示为Ω(x)的所转换的差错定位器多项式被用来计算差错位置。类似地,差错值估计器160根据由多项式系数产生器150提供的系数来计算差错估计器多项式E(x)。这里,差错位置搜索器170和差错值估计器160可以统一地称作“差错位置和差错值估计器”。
在级S5。图1的差错校正器190访问双存储体3-RAM装置180,以读取事先写入其中的数据DIN,然后参照由差错位置搜索器170标识出的差错位置并参照由差错值估计器160计算出的差错值来对读取数据的差错进行校正。具体地讲,通过求出输入数据DIN与计算出的差错值之和,差错校正器190对包含在从双存储体3-RAM装置180检索出的输入数据DIN中的差错进行校正,从而获得输出数据DOUT(校正过的数据R′(x))。
尽管未示出,图1的里德索罗门解码器的每个流水线式处理块响应于系统时钟信号来执行相应的S1至S5的计算。
图2表示的是图1的里德索罗门解码器的级S1至S5的等待时间。如所示,级S1、S2、S4和S5的每个处理块的最大等待时间为n个循环(1帧),其中n是每个码字中的字节数。类似地,级S3的处理块的最大等待时间也是n个周期。对此,要注意的是,2000年3月20日提出的、序列号为09/528,676的美国同时待审专利申请提出了一种将第三级S3(多项式系数产生)的最大等待时间降低到n个周期的技术,该专利申请引用与此以资参考。
因此,如图2所示,里德索罗门计算块的最大等待时间为n个周期。通常,流水线方式受到具有最长等待时间的单元或块的限制。但是,即使在处理块的最大等待时间为n个周期或1帧时,在校正之前采用传统的里德索罗门解码器存储器来暂时存储输入的码字将引起瓶颈效应。这是因为,传统的存储器至少需要2n个周期或2个帧来首先在级S1存储码字,然后在级S5检索该解码用于校正。对比之下,并且如下所述,本发明的双存储体3-RAM装置通过将存储器写入/读取操作的等待时间降低到n个周期或1帧而克服了该缺点。
图3是图1所示双存储体3-RAM装置180的优选实施例的方框图。如图3所示,双存储体3-RAM装置180包括循环缓冲器控制器300、第一双存储体RAM310、第二双存储体RAM320、和第三双存储体RAM330。第一双存储体RAM310被分成BANK0和BANK1,第二双存储体RAM320被分成BANK2和BANK3,第一双存储体RAM330被分成BANK4和BANK5。由8比特地址总线340提供地址信号ADDR[7∶0],由8比特数据总线提供输入数据DIN[7∶0]。双存储体3-RAM装置180的输出是8比特并行信号MOUT[7∶0],并且被提供给图1所示的差错校正器190。
循环缓冲器控制器300向每个RAM310、320和330提供读取/写入命令RE/WR、使能信号EANBLE、和存储体选择信号BK_SEL。读取/写入命令RE/WR规定了每个RAM310、320和330的读取或写入操作,使能信号EANBLE有选择地使能每个RAM310、320和330。另外,存储体选择信号BK_SEL被加到地址信号ADDR[7∶0],以便选择每个RAM310、320和330的两个存储体中的一个。例如,如果存储体选择信号BK_SEL为0,则选择相应RAM的两个存储体中的第一存储体,如果存储体选择信号BK_SEL为1,则选择相应RAM的两个存储体中的第二存储体。以这种方式,读取/写入命令RE/WR、使能信号EANBLE、和存储体选择信号BK_SEL一起作为写入存储体指针和/或读取存储体指针,其规定所选单独的RAM310、320和330的写入和/或读取。
在操作时,循环缓冲器控制器300在每个存储器周期有效地设定写入存储体指针和读取存储体指针。这些写入和读取存储体指针被这样设定,使得写入存储体和读取存储体为RAM310、320和330中不同的,并且逐存储器周期地在写入存储体和读取存储体之间保持预定的偏移。以这种方式,在每个连续的存储器周期中,可以同时执行一帧数据(即,一个码字)的写入和另一帧数据的读取。
更具体地讲,在每个存储器周期中,并且与时钟信号CLK同步,循环缓冲器控制器300将使能信号ENABLE施加到RAM310、320和330中的两个中,从而使能这两个相应的RAM。另外,循环缓冲器控制器300将读取命令RE施加到两个使能的RAM中的一个,并且将写入命令施加到两个使能的RAM中的另一个。再者,循环缓冲器控制器300将1比特选择信号BK_SEL加到提供给每个使能的RAM的地址信号ADDR[7∶0]上。从而选择每个使能RAM中的两个存储体之一。(9比特地址信号被有效地施加到每个RAM310、320和330。)因此,对于每个存储器周期,一个RAM的一存储体被写入使能,而不同RAM的一存储体被读取使能。
每个RAM310、320和330可被实现为静态随机存取存储器(即,SRAM0、SRAM1和SRAM2)。最好,每个存储体的存储容量足以存储一个帧或码字的数据。通常,每个存储体应因此对RS(n,k)码具有n个码元(字节)的容量,并且每个RAM应具有2n个码元的容量。在图3的示例中,每个双存储体RAM的存储体能够存储在有限(Galois)域GF(28)上最大长度为256个字节的数据。
下面的表1表示了当在有限(Galois)域GF(2m)上出现里德索罗门(RS)码(n,k)时每个RAM和每个存储体的尺寸,其中,n为码字的长度(码元或字节数),k为在编码之前输入的数据的长度(码元或字节数),而m为每个字节的比特数。
表1
存储体尺寸 | RAM尺寸 | 数据宽度 | 地址宽度 | |
RS(n,k)码GF(2m) | n | 2n | m | P+1,其中,P为满足1og2n≤P的最小整数 |
如果n=256,并且m=8 | 256 | 512 | 8 | 8+1=9 |
这里,存储器地址宽度被定义为通过将1加到满足log2n≤P条件的最小整数P而得到的值。如前所述,添加1是采用RAM地址的MSB来选择存储体的结果。如表1所示,当n=256并且m=8时,存储体尺寸为256字节,RAM尺寸为512字节。这里,数据宽度为8比特,地址宽度为9比特。
下面将参照图3和4来描述双存储体3-RAM装置180的操作,其中,图4的流程图表示的是访问上述参照图3讨论过的双存储体3-RAM装置180的方法。
当访问双存储体3-RAM装置180时,对里德索罗门解码器的操作模式进行识别,即,是要执行差错和擦除校正两者,还是单独执行差错校正。参照图4,写入存储体指针和读取存储体指针的设定对于差错和擦除校正(步骤400)以及对于单独的差错校正(步骤410)是不同的。
具体地讲,在步骤402,进行是否执行差错和擦除校正两者的确定。如前所述,这是通过检查与输入数据DIN同步地输入的擦除标记Era_Flag的数目来进行的。如果有一个或多个擦除标记Era_Flag直至可允许最大值,则执行差错和擦除校正两者。
如果在步骤402确定将要执行差错和擦除校正两者,则执行步骤404,此时,循环缓冲器控制器300将写入存储体指针与读取存储体指针之间的偏移设定为4个存储体。写入存储体指针与读取存储体指针之间的该偏移将参照图5进行更详细的描述。在图5示例的第一帧T50中,读取指针被设定为第一RAM的BANK0,而写入指针被设定为第三RAM的BANK4。因此从读取存储体指针到写入存储体指针的偏移为4个存储体。然后,在如图5所示的每个连续帧中增大读取和写入指针,并且在每个帧中保持从读取存储体指针到写入存储体指针的4个存储体的偏移。如果读取存储体指针被表示为BANK#,则写入存储体指针被表示为BANK(#+4)MOD6,其中数字6表示的是存储体总数。
如果随机地认为在“第一”帧中出现任意特定存储体的写入,则偏移4将导致“第五”帧中相同特定存储体的读取。例如,考虑到图5中第三RAM的BANK4。该存储体被写入第一帧T50,然后在第五帧中读取。该时序对应于里德索罗门解码器中用于差错和擦除校正两者的流水线式计算的级数(5)。因此,如果输入数据DIN在第一计算级被写入BANK4,则可在流水线式解码器的第五计算级从BANK4读取相同的数据DIN。
回过来参照图4,如果在步骤402相反地确定为仅将执行差错校正,则执行步骤414,此时,循环缓冲器控制器300将写入存储体指针与读取存储体指针之间的偏移设定为3个存储体。当没有擦除标记Era_Flag输入时,或者当擦除标记Era_Flag的输入数目超出可允许校正范围时,仅出现差错校正。下面将参照图6来描述写入存储体指针与读取存储体指针之间的3个存储体的偏移。在图6示例的第一帧T60中,读取指针被设定为第一RAM的BANK0,而写入指针被设定为第二RAM的BANK3。因此从读取存储体指针到写入存储体指针的偏移为3个存储体。然后,在如图6所示的每个连续帧中递增读取和写入指针,并且在每个帧中保持从读取存储体指针到写入存储体指针的3个存储体的偏移。如果写入存储体指针被表示为BANK#,则写入存储体指针被表示为BANK(#+3)MOD6。
如果随机地认为在“第一”帧中出现任意特定存储体的写入,则偏移3将导致“第四”帧中相同特定存储体的读取。例如,考虑到图6中第二RAM的BANK3。该存储体被写入第一帧T60,然后在第四帧中读取。该时序对应于里德索罗门解码器中仅用于差错校正的流水线式计算的级数(4)。因此,如果输入数据DIN在第一计算级被写入BANK3,则可在流水线式解码器的第四计算级从BANK3读取相同的数据DIN。
回过来参照图4,当已在步骤S420施加写入命令时,在步骤430,输入数据DIN被写入由写入存储体指针指定的存储体。类似地,当已在步骤S440施加读取入命令时,在步骤450,从由读取存储体指针指定的存储体读取先前写入的输入数据DIN。然后,在步骤460,由此读取的数据DIN被如上所述地用于差错和/或擦除的校正中。
如图4所示,同时执行数据的写入和读取。如果在步骤470尚未完成编码,则通过返回到步骤420和440对下一个存储器帧进行操作,继续解码处理。
如图5和6所示,写入存储体指针和读取存储体指针之间的偏移被设定,以防止相同RAM内的冲突(同时访问),并且允许进行与流水线式解码器的计算级时序相一致的写入和读取操作。由此,存储器访问时序可以被预定,并且与系统时钟相一致,从而可快速地实现里德索罗门解码器的解码而无存储器瓶颈。
表2以比较方式示出了具有单个循环RAM的解码器和采用3个循环RAM的本发明里德索罗门解码器所需的存储器访问周期数目。
表2
RS(n,k)码 | 写入周期 | 读取周期 | 总读取和写入周期 | 所需存储器访问周期 | 相对于数据输入时钟所需的系统时钟 |
1 RAM | n | n | 2n | >2n | >2x |
3 RAM | n | n | 2n | n | 1x |
如表2所示,假设向RAM写入数据和从RAM读取数据的每个周期为“n”,则在采用单个RAM时,每帧数据访问存储器所需的周期数目为“2n”,而在3个RAM情况下仅为“n”。另外,当采用一个RAM时,系统时钟速率必须增大到数据输入时钟速率的2或3倍。另一方面,当如本发明采用3个RAM时,系统时钟速率可以与数据输入时钟速率相同。其结果是,可以以较低的系统时钟信号来实现数据的写入和读取。
表3表示的是在对于256字节码字采用SRAM情况下,单个RAM存储器和本发明双存储体3-RAM装置之间的尺寸和操作速度比较。
表3
存储器 | 尺寸 | 相对速度 | |
绝对 | 相对 | ||
1 RAM(1536字节) | 10996 | 0.66x | <0.5x |
3 RAM(512*3字节) | 5573*3 | 1 | 1 |
如表3所示,当码字长度为256字节时,单个1536字节SRAM的尺寸比本发明3个512字节SRAM配置的小0.66倍。但是,3个SRAM的操作速度是单个SRAM的两倍。另外,当整体考虑里德索罗门解码器时,由采用3个SRAM导致的其尺寸增大的百分比与增大的操作速度相比被忽略掉。
图7表示的是本发明实施例块流水线式里德索罗门解码器的解码处理的时序图。如图7所示,起始等待时间延迟T70为4*n个周期,并且在起始等待时间延迟T70之后,每n个周期输出差错校正的数据DOUT(即,R′(x))。此后,一旦在第五和第六帧中实现全部流水线操作,则可以执行采用S(x)计算的数据写入和采用R`(x)计算的数据读取两者而无瓶颈效应,因为写入/读取操作的等待时间为n个周期。在图7中,T75表示在实际处理过程中的吞吐量延迟间隔,而不是等待时间延迟间隔。
本发明的双存储体3-RAM装置和本发明采用双存储体3-RAM装置的里德索罗门解码器具有宽的应用范围,例如包括高清晰度数字通用盘(HD=DVD)等光盘系统、HDTV、卫星通信、IMT等无线通信设备、千兆以太网等网络系统、和超高速系统。
在本发明的双存储体3-RAM装置中,用于访问存储器的数据输入时钟可用作系统时钟,从而简化了半导体装置的制造,降低了功耗,并且提高了操作速度。另外,可以使访问存储器所需的时间最小,以使得系统时钟受存储器访问时间的影响小,从而确实提高了在系统设计时各块之间时序边界的自由度。另外,双存储体3-RAM装置允许高速传输,而这尤其适用于高速流水线式里德索罗门解码器和采用里德索罗门解码器的超高速系统。
在附图和说明书中,尽管采用了特定术语,对本发明的典型优选实施例进行了公开,它们是在通用和示范意义上进行使用的,而非用于限定的目的。本领域内的普通技术人员将理解的是,可在不背离由所附权利要求限定的宗旨和范围情况下,对上述实施例进行形式和细节上的各种改变。
Claims (32)
1、一种缓冲器电路,用于在每个连续帧周期期间同时写入和读取数据;包括:
多个双存储体RAM;和
存储器控制电路,连接到所述多个双存储体RAM,其允许在每个连续帧周期期间对所述多个双存储体RAM进行写入和读取,从而每给定数个帧周期读取双存储体RAM的每个存储体,并且每给定数个帧周期进行写入,并且在每个连续帧周期期间,读取存储体与写入存储体不同地包含在所述多个双存储体RAM的不同的一个中。
2、一种缓冲器电路,用于在每个连续帧周期期间同时写入和读取数据;包括:
第一双存储体RAM,具有第一存储体和第二存储体;
第二双存储体RAM,具有第三存储体和第四存储体;
第三双存储体RAM,具有第五存储体和第六存储体;和
存储器控制电路,连接到所述第一、第二和第三双存储体RAM,其允许在连续的帧周期期间从所述第一至第六数据存储体中按顺序读取,从而每六个帧周期读取所述第一至第六数据存储体中的每个,并且其允许在连续的帧周期期间按顺序对所述第一至第六数据存储体进行写入,从而每六个帧周期对所述第一至第六数据存储体中的每个进行写入;
其中,在每个所述帧周期期间,由所述存储器控制电路允许读取的所述第一至第六数据存储体中的一个包含在所述第一至第三双存储体RAM中与由所述存储器控制电路允许写入的所述第一至第六数据存储体中的一个不同的一个中。
3、如权利要求2所述的缓冲器电路,其中,在每个帧周期期间,从被允许读取的数据存储体到被允许写入的数据存储体的偏移为4个数据存储体,从而在帧周期a中写入的所述第一至第六数据存储体中的每个随后在帧周期a+4中读取,其中a为整数。
4、如权利要求2所述的缓冲器电路,其中,在每个帧周期期间,从被允许读取的数据存储体到被允许写入的数据存储体的偏移为3个数据存储体,从而在帧周期a中写入的所述第一至第六数据存储体中的每个随后在帧周期a+3中读取,其中a为整数。
5、如权利要求2所述的缓冲器电路,其中,
在第a帧周期期间,其中a为整数,存储器控制电路允许从第一双存储体RAM的第一存储体读取,并且向第三双存储体RAM的第五存储体写入,
在第a+1帧周期期间,存储器控制电路允许从第一双存储体RAM的第二存储体读取,并且向第三双存储体RAM的第六存储体写入,
在第a+2帧周期期间,存储器控制电路允许从第二双存储体RAM的第三存储体读取,并且向第一双存储体RAM的第一存储体写入,
在第a+3帧周期期间,存储器控制电路允许从第二双存储体RAM的第四存储体读取,并且向第一双存储体RAM的第二存储体写入,
在第a+4帧周期期间,存储器控制电路允许从第三双存储体RAM的第五存储体读取,并且向第二双存储体RAM的第三存储体写入,并且,
在第a+5帧周期期间,存储器控制电路允许从第三双存储体RAM的第六存储体读取,并且向第二双存储体RAM的第四存储体写入。
6、如权利要求2所述的缓冲器电路,其中,
在第a帧周期期间,其中a为整数,存储器控制电路允许从第一双存储体RAM的第一存储体读取,并且向第二双存储体RAM的第二存储体写入,
在第a+1帧周期期间,存储器控制电路允许从第一双存储体RAM的第二存储体读取,并且向第三双存储体RAM的第五存储体写入,
在第a+2帧周期期间,存储器控制电路允许从第二双存储体RAM的第三存储体读取,并且向第三双存储体RAM的第六存储体写入,
在第a+3帧周期期间,存储器控制电路允许从第二双存储体RAM的第四存储体读取,并且向第一双存储体RAM的第一存储体写入,
在第a+4帧周期期间,存储器控制电路允许从第三双存储体RAM的第五存储体读取,并且向第一双存储体RAM的第二存储体写入,以及,
在第a+5帧周期期间,存储器控制电路允许从第三双存储体RAM的第六存储体读取,并且向第二双存储体RAM的第三存储体写入。
7、一种访问多个双存储体存储器的方法,所述方法包括允许在每个连续帧周期期间对所述多个双存储体存储器进行写入和读取,从而每给定数个帧周期读取双存储体RAM的每个存储体,并且在每个给定数个帧周期时写入,并且在每个连续帧周期期间,读取存储体与写入存储体不同地包含在所述多个双存储体RAM的不同的一个中。
8、一种访问多个存储装置的方法,所述存储装置包括具有第一存储体和第二存储体的第一双存储体RAM、具有第三存储体和第四存储体的第二双存储体RAM、及具有第五存储体和第六存储体的第三双存储体RAM,所述方法包括:
允许在连续的帧周期期间从所述第一至第六数据存储体中按顺序读取,从而每六个帧周期读取所述第一至第六数据存储体中的每个;和
允许在连续的帧周期期间按顺序对所述第一至第六数据存储体进行写入,从而每六个帧周期对所述第一至第六数据存储体中的每个进行写入;
其中,在每个所述帧周期期间,被允许读取的所述第一至第六数据存储体中的一个包含在所述第一至第三双存储体RAM中与被允许写入的所述第一至第六数据存储体中的一个不同的一个中。
9、如权利要求8所述的方法,其中,在每个帧周期期间,从被允许读取的数据存储体到被允许写入的数据存储体的偏移为4个数据存储体,从而在帧周期a中写入的所述第一至第六数据存储体中的每个随后在帧周期a+4中读取,其中a为整数。
10、如权利要求8所述的方法,其中,在每个帧周期期间,从被允许读取的数据存储体到被允许写入的数据存储体的偏移为3个数据存储体,从而在帧周期a中写入的所述第一至第六数据存储体中的每个随后在帧周期a+3中读取,其中a为整数。
11、如权利要求8所述的方法,还包括:
在第a帧周期期间,其中a为整数,从第一双存储体RAM的第一存储体读取,并且向第三双存储体RAM的第五存储体写入,
在第a+1帧周期期间,从第一双存储体RAM的第二存储体读取,并且向第三双存储体RAM的第六存储体写入,
在第a+2帧周期期间,从第二双存储体RAM的第三存储体读取,并且向第一双存储体RAM的第一存储体写入,
在第a+3帧周期期间,从第二双存储体RAM的第四存储体读取,并且向第一双存储体RAM的第二存储体写入,
在第a+4帧周期期间,从第三双存储体RAM的第五存储体读取,并且向第二双存储体RAM的第三存储体写入,并且,
在第a+5帧周期期间,从第三双存储体RAM的第六存储体读取,并且向第二双存储体RAM的第四存储体写入。
12、如权利要求8所述的方法,还包括:
在第a帧周期期间,其中a为整数,从第一双存储体RAM的第一存储体读取,并且向第二双存储体RAM的第二存储体写入,
在第a+1帧周期期间,从第一双存储体RAM的第二存储体读取,并且向第三双存储体RAM的第五存储体写入,
在第a+2帧周期期间,从第二双存储体RAM的第三存储体读取,并且向第三双存储体RAM的第六存储体写入,
在第a+3帧周期期间,从第二双存储体RAM的第四存储体读取,并且向第一双存储体RAM的第一存储体写入,
在第a+4帧周期期间,从第三双存储体RAM的第五存储体读取,并且向第一双存储体RAM的第二存储体写入,并且,
在第a+5帧周期期间,从第三双存储体RAM的第六存储体读取,并且向第二双存储体RAM的第三存储体写入。
13、一种流水线式里德索罗门解码器,包括:
多个流水线式处理单元,其接收输入的里德索罗门码字,并且执行计算,以识别包含在输入码字中的差错位置和差错值;和
缓冲器电路,其在由所述多个流水线式处理单元执行计算期间暂时存储输入的码字;
其中,所述缓冲器电路包括:
多个双存储体RAM;和
存储器控制电路,连接到所述多个双存储体RAM,其允许在每个连续帧周期期间对所述多个双存储体RAM进行写入和读取,从而每给定数个帧周期读取双存储体RAM的每个存储体,并且每给定数个帧周期写入,并且在每个连续帧周期期间,读取存储体与写入存储体不同地包含在所述多个双存储体RAM的不同的一个中。
14、一种流水线式里德索罗门解码器,包括:
多个流水线式处理单元,其接收输入的里德索罗门码字,并且执行计算,以识别包含在输入码字中的差错位置和差错值;和
缓冲器电路,其在由所述多个流水线式处理单元执行计算期间暂时存储输入的码字;
其中,所述缓冲器电路包括:
第一双存储体RAM,具有第一存储体和第二存储体;
第二双存储体RAM,具有第三存储体和第四存储体;
第三双存储体RAM,具有第五存储体和第六存储体;和
存储器控制电路,连接到所述第一、第二和第三双存储体RAM,其能够在连续的帧周期期间从所述第一至第六数据存储体中按顺序读取,从而每六个帧读取所述第一至第六数据存储体中的每个,并且其能够在连续的帧周期期间按顺序对所述第一至第六数据存储体进行写入,从而每六个帧对所述第一至第六数据存储体中的每个进行写入;
其中,在每个所述帧周期期间,由所述存储器控制电路允许读取的所述第一至第六数据存储体中的一个包含在所述第一至第三双存储体RAM中与由所述存储器控制电路允许写入的所述第一至第六数据存储体中的一个不同的一个中。
15、如权利要求14所述的流水线式里德索罗门解码器,其中,所述多个流水线式处理单元包括5个流水线式处理级,并且其中,在每个帧周期期间,从被允许读取的数据存储体到被允许写入的数据存储体的偏移为4个数据存储体,从而在帧周期a中写入的所述第一至第六数据存储体中的每个随后在帧周期a+4中读取,其中a为整数。
16、如权利要求14所述的流水线式里德索罗门解码器,其中,所述多个流水线式处理单元包括5个流水线式处理级,并且其中,在每个帧周期期间,从被允许读取的数据存储体到被允许写入的数据存储体的偏移为3个数据存储体,从而在帧周期a中写入的所述第一至第六数据存储体中的每个随后在帧周期a+3中读取,其中a为整数。
17、如权利要求14所述的流水线式里德索罗门解码器,其中,所述多个流水线式处理单元在第一模式和第二模式中操作,在第一模式中,执行差错和擦除校正,并且其中操作5个流水线式处理级,而在第二模式中,仅执行差错校正,并且其中操作4个流水线式处理级,
其中,在第一模式的每个帧周期期间,从被允许读取的数据存储体到被允许写入的数据存储体的偏移为4个数据存储体,从而在帧周期a中写入的所述第一至第六数据存储体中的每个随后在帧周期a+4中读取,其中a为整数,和
其中,在第二模式的每个帧周期期间,从被允许读取的数据存储体到被允许写入的数据存储体的偏移为3个数据存储体,从而在帧周期a中写入的所述第一至第六数据存储体中的每个随后在帧周期a+3中读取。
18、如权利要求14所述的流水线式里德索罗门解码器,其中,所述多个流水线式处理单元和缓冲器电路响应于相同的时钟信号速率进行操作。
19、如权利要求14所述的流水线式里德索罗门解码器,其中,每个码字包含n个字节,并且其中所述第一至第六存储体中的每个具有n个字节的容量,其中n为正整数。
20、如权利要求14所述的流水线式里德索罗门解码器,所述多个流水线式处理单元中的每个的最大等待时间为n个周期,并且每个帧周期为n个循环。
21、一种用于高速块流水线式里德索罗门解码器的存储装置,所述解码器用于通过对从外部接收到的数据进行解码来进行差错校正,被写入接收数据和从其读取数据的所述存储装置包括:
多个存储器,其每个均具有双存储体,所述存储器由写入/读取命令和使能信号启动;和
循环缓冲器控制器,用于向所述多个存储器施加用于选择对应的存储器的使能信号和写入/读取命令,并且设定写入存储体指针和读取存储体指针,从而以预定的偏移从不同地存储器中选择每帧数据的写入和读取。
22、如权利要求21所述的存储装置,其中,所述多个存储器包括3个随机存取存储器(RAM),其每个均具有双存储体,并且每个存储体存储帧数据。
23、如权利要求21所述的存储装置,其中,当里德索罗门解码器执行差错和擦除校正时,所述循环缓冲器控制器以写入存储体指针和读取存储体指针之间的4个存储体的偏移来设定写入存储体指针和读取存储体指针。
24、如权利要求21所述的存储装置,其中,当里德索罗门解码器仅执行差错校正时,所述循环缓冲器控制器以写入存储体指针和读取存储体指针之间的3个存储体的偏移来设定写入存储体指针和读取存储体指针。
25、一种访问均具有双存储体的多个存储器的方法,所述多个存储器用于对从外部接收到的数据解码并且校正差错的高速块流水线式里德索罗门解码器,所述方法包括下列步骤:
(a)根据差错校正模式以写入存储体指针和读取存储体指针之间的预定偏移来对每帧数据设定写入存储体指针和读取存储体指针,其中,写入存储体指针和读取存储体指针中的每个的数目对每帧数据递增;
(b)确定数据写入命令或数据读取命令是否施加到所述多个存储器中的一个;
(c)从由步骤(b)的数据写入命令应用而被允许的一个存储器中选择由写入存储体指针指示的存储体,并且将数据写入所选存储体;
(d)从由步骤(b)的数据读取命令应用而被允许的一个存储器中选择由读取存储体指针指示的存储体,并且从所选存储体读取数据;和
(e)重复步骤(b)至(d),直至完成数据解码,其中步骤(c)和(d)同时执行。
26、如权利要求25所述的方法,其中步骤(a)包括:
(a1)确定是否执行差错和擦除校正两者;
(a2)如果确定将要执行差错和擦除校正两者,则以4个存储体的偏移设定写入存储体指针和读取存储体指针;
(a3)如果确定将不执行差错和擦除校正两者,则确定是否将仅执行差错校正;和
(a4)如果确定将仅执行差错校正,则以3个存储体的偏移设定写入存储体指针和读取存储体指针;
27、一种高速块流水线式里德索罗门解码器,具有用于对从外部接收到的数据进行解码并且校正差错的多个块,所述里德索罗门解码器包括:
并发位产生器,用于从接收数据中产生并发位;
存储装置,包括多个均具有双存储体的存储器,其中接收数据被写入所述多个存储器中一个存储器的一存储体中,并且读取被写入其他存储器中的一个的一存储体中的数据;
多项式系数产生器,采用所产生的并发位产生差错定位器多项式和差错估计器多项式的系数;
差错位置搜索和差错值计算部分,用于采用具有所产生系数的差错定位器多项式和差错估计器多项式,来搜索差错位置并计算差错值;和
差错校正器,用于根据从差错位置搜索和差错值计算部分输出的差错位置和差错值,对从所述存储装置输出的数据的差错进行校正。
28、如权利要求27所述的里德索罗门解码器,其中,所述存储装置包括均具有双存储体的3个随机存取存储器(RAM),不同RAM的存储体被允许对接收数据的每帧进行写入和读取。
29、如权利要求28所述的里德索罗门解码器,其中,在所述存储装置中,以写入存储体指针和读取存储体指针之间的第一偏移来设定写入存储体指针和读取存储体指针,以选择用于对接收数据的每帧进行写入和读取的存储体。
30、如权利要求27所述的里德索罗门解码器,还包括:
标记计数器和标记缓冲器,用于对与接收数据同步输入的擦除标记进行计数,并对擦除标记进行缓冲;
擦除定位器多项式产生器,用于采用缓冲的擦除标记来产生擦除定位器多项式;和
并发位改变器,用于采用缓冲的擦除标记改变由所述并发位产生器产生的并发位,并且将改变的并发位施加到多项式系数产生器,其中,所述多项式系数产生器采用擦除定位器多项式和改变的并发位来计算差错定位器多项式和差错估计器多项式的系数。
31、如权利要求30所述的里德索罗门解码器,其中,在所述存储装置中,以写入存储体指针和读取存储体指针之间的第二偏移来设定写入存储体指针和读取存储体指针,以选择用于对接收数据的每帧进行写入和读取的存储体。
32、如权利要求27所述的里德索罗门解码器,其中,用于向所述存储装置写入数据的数据输入时钟信号、和用于对所述里德索罗门解码器的每个块进行操作的系统时钟信号是相同的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR62904/00 | 2000-10-25 | ||
KR10-2000-0062904A KR100370239B1 (ko) | 2000-10-25 | 2000-10-25 | 고속 블럭 파이프라인 구조의 리드-솔로몬 디코더에적용하기 위한 메모리 장치와 메모리 액세스 방법 및 그메모리 장치를 구비한 리드-솔로몬 디코더 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1350369A true CN1350369A (zh) | 2002-05-22 |
CN1317643C CN1317643C (zh) | 2007-05-23 |
Family
ID=19695352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011224436A Expired - Fee Related CN1317643C (zh) | 2000-10-25 | 2001-07-09 | 存储装置、访问存储装置的方法和里德索罗门解码器 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6639865B2 (zh) |
JP (1) | JP3862062B2 (zh) |
KR (1) | KR100370239B1 (zh) |
CN (1) | CN1317643C (zh) |
DE (1) | DE10133595B4 (zh) |
GB (1) | GB2369215B (zh) |
NL (1) | NL1018416C2 (zh) |
TW (1) | TW514933B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101120508B (zh) * | 2005-02-14 | 2012-10-10 | 皇家飞利浦电子股份有限公司 | 用于进行交织或去交织的方法和设备 |
CN106023346A (zh) * | 2016-07-06 | 2016-10-12 | 福州瑞芯微电子股份有限公司 | 动态帧率行车记录系统及车辆速度判断装置 |
CN107766284A (zh) * | 2017-09-11 | 2018-03-06 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于片外缓存的流水统计方法和统计芯片 |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282128A1 (en) * | 1999-08-04 | 2008-11-13 | Super Talent Electronics, Inc. | Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance |
KR100403634B1 (ko) * | 2001-10-17 | 2003-10-30 | 삼성전자주식회사 | 고속 파이프라인 리드-솔로몬 디코더에 적용하기 위한메모리 장치와 메모리 액세스 방법 및 그 메모리 장치를구비한 리드-솔로몬 디코더 |
GB2391769B (en) * | 2002-07-31 | 2005-07-06 | Hewlett Packard Co | Reed-Solomon decoder and decoding method for errors and erasures decoding |
US7206992B2 (en) * | 2003-03-04 | 2007-04-17 | Broadcom Corporation | Decoding a received BCH encoded signal |
US7237183B2 (en) * | 2003-03-04 | 2007-06-26 | Broadcom Corporation | Parallel decoding of a BCH encoded signal |
KR100553691B1 (ko) * | 2003-06-17 | 2006-02-24 | 윈텍 주식회사 | 영상처리장치 및 그 방법 |
JP2008141276A (ja) * | 2006-11-30 | 2008-06-19 | Sanyo Electric Co Ltd | Tv信号処理回路 |
US8732558B1 (en) * | 2007-04-25 | 2014-05-20 | Samsung Electronics Co., Ltd. | MPE-FEC system capable of selecting an FEC mode, a forward error correcting method performed in the MPE-FEC system, and an FEC mode selecting method performed in the MPE-FEC system |
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
WO2009037697A2 (en) | 2007-09-20 | 2009-03-26 | Densbits Technologies Ltd. | Improved systems and methods for determining logical values of coupled flash memory cells |
JP2009100369A (ja) * | 2007-10-18 | 2009-05-07 | Toshiba Corp | 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法 |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
WO2009053961A2 (en) | 2007-10-25 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
WO2009072105A2 (en) * | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications |
US8453022B2 (en) | 2007-12-05 | 2013-05-28 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
WO2009072103A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
US20090157946A1 (en) * | 2007-12-12 | 2009-06-18 | Siamak Arya | Memory having improved read capability |
WO2009074979A2 (en) * | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
WO2009078006A2 (en) | 2007-12-18 | 2009-06-25 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
US8972472B2 (en) | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
US8332725B2 (en) | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
KR101008945B1 (ko) * | 2008-10-10 | 2011-01-17 | 김영운 | 상판 접이식 테이블 |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8305812B2 (en) | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8868821B2 (en) | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US8626988B2 (en) | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
TWI425519B (zh) * | 2009-12-09 | 2014-02-01 | Nat Chip Implementation Ct Nat Applied Res Lab | 低複雜度低密度同位元檢查碼解碼器之記憶體配置方法及其解碼器結構 |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8607124B2 (en) | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
US8700970B2 (en) | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US9104610B2 (en) | 2010-04-06 | 2015-08-11 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US8510639B2 (en) | 2010-07-01 | 2013-08-13 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US20120008414A1 (en) | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
JP5622990B2 (ja) * | 2011-01-25 | 2014-11-12 | 富士通テン株式会社 | 画像処理装置、画像表示システム及び画像処理方法 |
JP2012175260A (ja) * | 2011-02-18 | 2012-09-10 | Alpine Electronics Inc | 多重放送受信機 |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
US8732433B2 (en) * | 2011-08-26 | 2014-05-20 | Micron Technology, Inc. | Apparatuses and methods for providing data from multiple memories |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
JP2014082574A (ja) * | 2012-10-15 | 2014-05-08 | Samsung Electronics Co Ltd | 誤り検出訂正回路、及びメモリ装置 |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
US10965929B1 (en) * | 2019-01-04 | 2021-03-30 | Rockwell Collins, Inc. | Depth mapping and parallel distortion correction for mixed reality |
US20230223961A1 (en) * | 2022-01-13 | 2023-07-13 | Micron Technology, Inc. | Iterative decoder for correcting dram device failures |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6172327A (ja) | 1984-09-17 | 1986-04-14 | Casio Comput Co Ltd | 画像メモリのアドレス分配方式 |
US4725987A (en) | 1985-10-23 | 1988-02-16 | Eastman Kodak Company | Architecture for a fast frame store using dynamic RAMS |
EP0224691B1 (en) * | 1985-12-02 | 1993-02-10 | International Business Machines Corporation | A multiple read/write access memory system |
CN1009047B (zh) * | 1985-12-27 | 1990-08-01 | 复旦大学 | 交叉穿插的里德-所罗门码的高速纠错译码系统 |
EP0261751A3 (en) * | 1986-09-25 | 1990-07-18 | Tektronix, Inc. | Concurrent memory access system |
DE3715885A1 (de) | 1987-05-13 | 1988-11-24 | Philips Patentverwaltung | Vorfeldeinrichtung, insbesondere fuer ein b-isdn-vermittlungssystem |
US4845713A (en) | 1987-06-08 | 1989-07-04 | Exabyte Corporation | Method and apparatus for determining the coefficients of a locator polynomial |
US5226134A (en) * | 1990-10-01 | 1993-07-06 | International Business Machines Corp. | Data processing system including a memory controller for direct or interleave memory accessing |
KR940001590B1 (ko) * | 1991-07-05 | 1994-02-25 | 한국전기통신공사 | 블럭읽기 및 쓰기에서의 메모리 엑세스 시간 단축장치 및 방법 |
US5307314A (en) * | 1991-07-15 | 1994-04-26 | Micron Technology, Inc. | Split read/write dynamic random access memory |
US5459742A (en) * | 1992-06-11 | 1995-10-17 | Quantum Corporation | Solid state disk memory using storage devices with defects |
US5615355A (en) * | 1992-10-22 | 1997-03-25 | Ampex Corporation | Method and apparatus for buffering a user application from the timing requirements of a DRAM |
EP0729611B1 (en) | 1993-11-04 | 2000-06-07 | Cirrus Logic, Inc. | Reed-solomon decoder |
DE69430982T2 (de) | 1993-12-09 | 2003-03-13 | Sun Microsystems, Inc. | Verschachtelung von Bildelementdaten für eine Darstellungspeicherschnittstelle |
US5506810A (en) * | 1994-08-16 | 1996-04-09 | Cirrus Logic, Inc. | Dual bank memory and systems using the same |
US6094703A (en) * | 1995-02-21 | 2000-07-25 | Micron Technology, Inc. | Synchronous SRAM having pipelined memory access enable for a burst of addresses |
KR0170723B1 (ko) | 1995-12-29 | 1999-03-30 | 김광호 | 단일 ras 신호에 의해 동시 동작이 가능한 이중 뱅크를 갖는 반도체 메모리 장치 |
US6023745A (en) * | 1996-08-08 | 2000-02-08 | Neomagic Corporation | Scoreboarding for DRAM access within a multi-array DRAM device using simultaneous activate and read/write accesses |
US6031783A (en) * | 1996-08-09 | 2000-02-29 | Townsend And Townsend And Crew Llp | High speed video frame buffer |
US5774648A (en) | 1996-10-02 | 1998-06-30 | Mitsubishi Semiconductor Of America, Inc. | Address generator for error control system |
JP3233860B2 (ja) * | 1996-10-25 | 2001-12-04 | 松下電器産業株式会社 | リードソロモン復号器 |
US5961660A (en) | 1997-03-03 | 1999-10-05 | International Business Machines Corporation | Method and apparatus for optimizing ECC memory performance |
JP3250032B2 (ja) | 1997-04-09 | 2002-01-28 | 日本アイ・ビー・エム株式会社 | 動的バンド幅変更データ転送方法及びシステム |
US6044206A (en) * | 1997-10-14 | 2000-03-28 | C-Cube Microsystems | Out of order instruction processing using dual memory banks |
US6137807A (en) * | 1997-12-05 | 2000-10-24 | Whittaker Corporation | Dual bank queue memory and queue control system |
US6081920A (en) | 1998-01-08 | 2000-06-27 | Lsi Logic Corporation | Method and apparatus for fast decoding of a Reed-Solomon code |
US5969986A (en) | 1998-06-23 | 1999-10-19 | Invox Technology | High-bandwidth read and write architectures for non-volatile memories |
KR100313503B1 (ko) * | 1999-02-12 | 2001-11-07 | 김영환 | 멀티-뱅크 메모리 어레이를 갖는 반도체 메모리 장치 |
US6347389B1 (en) * | 1999-03-23 | 2002-02-12 | Storage Technology Corporation | Pipelined high speed reed-solomon error/erasure decoder |
-
2000
- 2000-10-25 KR KR10-2000-0062904A patent/KR100370239B1/ko not_active IP Right Cessation
-
2001
- 2001-04-12 US US09/832,943 patent/US6639865B2/en not_active Expired - Fee Related
- 2001-06-12 TW TW090114114A patent/TW514933B/zh not_active IP Right Cessation
- 2001-06-29 NL NL1018416A patent/NL1018416C2/nl not_active IP Right Cessation
- 2001-07-02 DE DE10133595A patent/DE10133595B4/de not_active Expired - Fee Related
- 2001-07-03 GB GB0116275A patent/GB2369215B/en not_active Expired - Fee Related
- 2001-07-09 CN CNB011224436A patent/CN1317643C/zh not_active Expired - Fee Related
- 2001-07-18 JP JP2001218754A patent/JP3862062B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101120508B (zh) * | 2005-02-14 | 2012-10-10 | 皇家飞利浦电子股份有限公司 | 用于进行交织或去交织的方法和设备 |
CN106023346A (zh) * | 2016-07-06 | 2016-10-12 | 福州瑞芯微电子股份有限公司 | 动态帧率行车记录系统及车辆速度判断装置 |
CN107766284A (zh) * | 2017-09-11 | 2018-03-06 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于片外缓存的流水统计方法和统计芯片 |
Also Published As
Publication number | Publication date |
---|---|
JP3862062B2 (ja) | 2006-12-27 |
TW514933B (en) | 2002-12-21 |
US20020075715A1 (en) | 2002-06-20 |
US6639865B2 (en) | 2003-10-28 |
DE10133595A1 (de) | 2002-05-29 |
KR20020032038A (ko) | 2002-05-03 |
NL1018416A1 (nl) | 2002-05-01 |
NL1018416C2 (nl) | 2005-11-15 |
JP2002164792A (ja) | 2002-06-07 |
GB2369215B (en) | 2003-04-16 |
GB0116275D0 (en) | 2001-08-29 |
GB2369215A (en) | 2002-05-22 |
CN1317643C (zh) | 2007-05-23 |
KR100370239B1 (ko) | 2003-01-29 |
DE10133595B4 (de) | 2009-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1317643C (zh) | 存储装置、访问存储装置的方法和里德索罗门解码器 | |
US7631241B2 (en) | Apparatus and method for decoding low density parity check codes | |
US7840859B2 (en) | Block interleaving with memory table of reduced size | |
EP1253729B1 (en) | Reducing scintillation effects for optical free-space transmission | |
JP4551445B2 (ja) | サブ・ブロック・インターリーバおよびデインターリーバを有する多次元ブロック符号器 | |
JP3745709B2 (ja) | 符号化装置、復号化装置、符号化方法、復号化方法、プログラム、プログラム記録媒体、及びデータ記録媒体 | |
EP1490976A2 (en) | Method for iterative hard-input forward error correction | |
CN111294059A (zh) | 编码方法、译码方法、纠错方法及相关装置 | |
JP2000165259A (ja) | データ復号処理装置および方法 | |
CN1656696A (zh) | 线性分组码的软解码 | |
US20110179337A1 (en) | Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof | |
US9639421B2 (en) | Operating method of flash memory system | |
EP0608848B1 (en) | Cyclic coding and cyclic redundancy code check processor | |
KR101320684B1 (ko) | 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치 | |
KR101543081B1 (ko) | 고착 고장을 갖는 메모리 셀을 수용하기 위한 리던던트 비트의 인코딩 및 디코딩 | |
WO2006067628A1 (en) | A decoding method for algebraic geometric codes and associated device | |
US10951238B1 (en) | Memory system and method for controlling non-volatile memory | |
JP3992443B2 (ja) | 符号化方法、復号方法、符号化回路、復号回路、記憶装置、記憶媒体、通信装置 | |
JP2002544622A (ja) | 記憶装置のための誤り訂正回路および方法 | |
KR101355986B1 (ko) | 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치 | |
KR0183171B1 (ko) | 인터리버 및 디인터리버와 그 방법 | |
GB2379768A (en) | Memory device | |
KR101355982B1 (ko) | 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치 | |
KR20210143581A (ko) | 컨트롤러 및 이를 포함하는 메모리 시스템 | |
CN111143108A (zh) | 一种降低阵列码Xcode修复的编译码方法及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070523 Termination date: 20140709 |
|
EXPY | Termination of patent right or utility model |