US6378105B1 - Reed-Solomon multiplication method - Google Patents
Reed-Solomon multiplication method Download PDFInfo
- Publication number
- US6378105B1 US6378105B1 US09/317,810 US31781099A US6378105B1 US 6378105 B1 US6378105 B1 US 6378105B1 US 31781099 A US31781099 A US 31781099A US 6378105 B1 US6378105 B1 US 6378105B1
- Authority
- US
- United States
- Prior art keywords
- sequence
- computing
- error control
- checkbytes
- primitive
- 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 - Lifetime
Links
Images
Classifications
-
- 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/6502—Reduction of hardware complexity or efficient processing
-
- 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
Definitions
- a Reed-Solomon error control procedure typically requires matrix multiplication, or its equivalent, of large row and/or column matrices as part of the syndrome processing. These multiplications require a relatively large gate count in an HDL (hardware description language) formulation and add substantially to the time required for such processing.
- HDL hardware description language
- the system should work with any reasonable coding block dimensions and with any primitive polynomial used for Reed-Solomon encoding.
- the invention provides a method and system for reducing the number of gates required and for decreasing the time required to form sums of products of pairs of elements, by using a parallel process to calculate the checkbyte(s) in an ECC processing phase for digital signals.
- the coefficients needed to form the sums of products are built into and provided within the syndrome generator and checkbyte generator modules so that these coefficients need not be computed each time.
- FIG. 1 illustrates data flow within an ECC module.
- FIG. 2 illustrates generation, storage and use of the syndrome components to form checkbyte components according to the invention.
- FIG. 3 shows conventional apparatus for implementing certain sums and products.
- FIGS. 4, 5 and 6 show apparatus for implementing Reed-Solomon multiplier action according to the invention.
- FIG. 7 is a flow chart illustrating practice according to the invention.
- FIG. 1 illustrates apparatus that can be used to form and apply two multipliers that are used in Reed-Solomon error control for certain digital signals, such as the ECC phase of error control.
- Syndrome coefficients, s 0 and s 1 are received by a multiplexer 25 , which selectively interleaves the s 0 and s 1 signals and passes the interleaved stream on one or more lines 27 to a Reed-Solomon multiplier module 29 that also receives three known eight-bit multiplier coefficients 8 ′hf 4 , 8 ′hf 5 and 8 ′hf 7 from a lookup table or generator 31 .
- the MUX 29 forms eight-bit Reed-Solomon error control XOR sums:
- the MUX 29 issues the error control sums c 0 and c 1 on a line 33 that is received and processed by a checkbyte error examination module 35 and is issued on an output line 37 .
- the error control sums c 0 and c 1 are also fed to a second group of temporary registers 39 that feed these sums back to the MUX 29 . Formation of the sums c 0 and c 1 requires use of many logic gates and consumes several gate cycles in time, because of the sequential processing required.
- k 0, 1, . . .
- y[ 7 : 0 ] ⁇ y[k]
- k 0, 1, . . . , 7 ⁇ .
- the primitive polynomial relation may be selected to be
- ⁇ 3 ⁇ 0,0,0,0,1,0,0,0 ⁇
- ⁇ 4 ⁇ 0,0,0,1,0,0,0,0 ⁇
- ⁇ 5 ⁇ 0,0,1,0,0,0,0,0 ⁇
- ⁇ 6 ⁇ 0,1,0,0,0,0,0 ⁇
- ⁇ 7 ⁇ 1,0,0,0,0,0,0 ⁇
- ⁇ 230 ⁇ 1,1,1,1,0,1,0,0 ⁇
- ⁇ 231 ⁇ 1,1,1,1,0,1,0,1 ⁇
- ⁇ 232 ⁇ 1,1,1,1,0,1,1,1 ⁇ , (5)
- zk[ 7 : 0 ] also has eight entries, obtained by multiplying each of the eight entries in y[ 7 : 0 ] by the scalar x[k], and c[ 7 : 0 ] is a portion of a checkbyte c 0 or c 1 .
- the variables x[ 7 : 0 ] and y[ 7 : 0 ] may be taken to be any of the pairs ⁇ s 0 , 8 ′hf 4 ⁇ , ⁇ s 0 , 8 ′hf 5 ⁇ and ⁇ s 1 , 8 ′hf 7 ⁇ that appear in the relations(1) and (2).
- the checkbytes c 0 and c 1 are formed as follows.
- I(n) is one of a column of data elements.
- x x 7 ⁇ 7 +x 6 ⁇ 6 +x 5 ⁇ 5 +x 4 ⁇ 4 +x 3 ⁇ x 3 +x 2 ⁇ 2 +x 1 ⁇ 1 x 0 ⁇ 0 ,
- y y 7 ⁇ 7 +y 6 ⁇ 6 +y 5 ⁇ 5 +y 4 ⁇ 4 +y 3 ⁇ 3 +y 2 ⁇ 2 +y 1 ⁇ 1 +y 0 ⁇ 0 ,
- x*y x 7 y ⁇ 7 +x 6 y ⁇ 6 +x 5 y ⁇ 5 +x 4 y ⁇ 4 +x 3 y ⁇ 3 +x 2 y ⁇ 2 +x 1 y ⁇ 1 +x 0 y. (16)
- the coefficients 8 ′hf 4 , 8 ′hf 5 , 8 ′hf 7 and others are part of an array of coefficients defined as follows.
- the input quantities s 0 and s 1 are characterized as sums of powers of ⁇ , as in (8) and (9).
- the gate count can be reduced substantially (to N) by forming the usual logical product (AND) of a sequence of coefficients ⁇ k ⁇ 8 ′hf 7 with each a sequence of coefficients s 1 [k] in the k-tuple S 1 .
- the coefficients in (17) would include N+1 pre-computed input signals 8 ′hf 4 , ⁇ 8 ′hf 4 , ⁇ 2 ⁇ 8 ′hf 4 , . . .
- each directed to a separate two-input AND gate, with the input signals to the other terminal of each AND gate being the scalar quantities s 1 [n] (n 0, 1, 2, . . . . , N).
- each of the input signals for the first terminal of the AND gates have the same value, such as 8 ′hf 5 .
- control bytes c 0 and c 1 are formed as indicated in (14) and (15) and are appended to the binary representation ⁇ I( 0 ), I( 1 ), . . . , I(N) ⁇ to implement a Reed-Solomon error control procedure.
- FIG. 7 is a flow chart illustrating one method of practicing the invention.
- an eight-bit primitive a satisfying a selected primitive polynomial relation p( ⁇ ) 0, is provided.
- the quantities c 0 and c 1 may be interpreted as error control checkbytes for the code word sequence ⁇ I n ⁇ .
- at least one of the error control checkbytes, c 0 and c 1 is appended to the code word sequence ⁇ I n ⁇ .
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/317,810 US6378105B1 (en) | 1999-05-24 | 1999-05-24 | Reed-Solomon multiplication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/317,810 US6378105B1 (en) | 1999-05-24 | 1999-05-24 | Reed-Solomon multiplication method |
Publications (1)
Publication Number | Publication Date |
---|---|
US6378105B1 true US6378105B1 (en) | 2002-04-23 |
Family
ID=23235364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/317,810 Expired - Lifetime US6378105B1 (en) | 1999-05-24 | 1999-05-24 | Reed-Solomon multiplication method |
Country Status (1)
Country | Link |
---|---|
US (1) | US6378105B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606727B1 (en) * | 1999-10-29 | 2003-08-12 | Stmicroelectronics, Inc. | System and method for providing error correction coding with selectively variable redundancy |
US10164660B1 (en) | 2016-12-23 | 2018-12-25 | Intel Corporation | Syndrome-based Reed-Solomon erasure decoding circuitry |
US10218386B1 (en) | 2016-11-22 | 2019-02-26 | Intel Corporation | Methods and apparatus for performing variable and breakout Reed Solomon encoding |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3697948A (en) * | 1970-12-18 | 1972-10-10 | Ibm | Apparatus for correcting two groups of multiple errors |
US4404674A (en) * | 1981-07-10 | 1983-09-13 | Communications Satellite Corporation | Method and apparatus for weighted majority decoding of FEC codes using soft detection |
US4703485A (en) * | 1986-02-10 | 1987-10-27 | International Business Machines Corporation | Method and apparatus for computing and implementing error detection check bytes |
US4706250A (en) * | 1985-09-27 | 1987-11-10 | International Business Machines Corporation | Method and apparatus for correcting multibyte errors having improved two-level code structure |
US4833679A (en) * | 1987-08-31 | 1989-05-23 | International Business Machines Corporation | Method and apparatus with improved error correction and error information availability |
US4849975A (en) * | 1987-11-10 | 1989-07-18 | International Business Machines Corporation | Error correction method and apparatus |
US4928280A (en) * | 1988-04-29 | 1990-05-22 | International Business Machines Corporation | Fast processor for multi-bit error correction codes |
US5040179A (en) | 1989-08-18 | 1991-08-13 | Loral Aerospace Corp. | High data rate BCH encoder |
US5422895A (en) * | 1992-01-09 | 1995-06-06 | Quantum Corporation | Cross-checking for on-the-fly Reed Solomon error correction code |
US5640286A (en) | 1995-05-08 | 1997-06-17 | Western Digital Corporation | Disk drive with error code embedded sector identification |
US5689727A (en) | 1994-09-08 | 1997-11-18 | Western Digital Corporation | Disk drive with pipelined embedded ECC/EDC controller which provides parallel operand fetching and instruction execution |
US5812564A (en) | 1995-05-08 | 1998-09-22 | Western Digital Corporation | Disk drive with embedded finite field processor for error correction |
US5818855A (en) | 1996-10-30 | 1998-10-06 | Discovision Associates | Galois field multiplier for Reed-Solomon decoder |
-
1999
- 1999-05-24 US US09/317,810 patent/US6378105B1/en not_active Expired - Lifetime
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3697948A (en) * | 1970-12-18 | 1972-10-10 | Ibm | Apparatus for correcting two groups of multiple errors |
US4404674A (en) * | 1981-07-10 | 1983-09-13 | Communications Satellite Corporation | Method and apparatus for weighted majority decoding of FEC codes using soft detection |
US4706250A (en) * | 1985-09-27 | 1987-11-10 | International Business Machines Corporation | Method and apparatus for correcting multibyte errors having improved two-level code structure |
US4703485A (en) * | 1986-02-10 | 1987-10-27 | International Business Machines Corporation | Method and apparatus for computing and implementing error detection check bytes |
US4833679A (en) * | 1987-08-31 | 1989-05-23 | International Business Machines Corporation | Method and apparatus with improved error correction and error information availability |
US4849975A (en) * | 1987-11-10 | 1989-07-18 | International Business Machines Corporation | Error correction method and apparatus |
US4928280A (en) * | 1988-04-29 | 1990-05-22 | International Business Machines Corporation | Fast processor for multi-bit error correction codes |
US5040179A (en) | 1989-08-18 | 1991-08-13 | Loral Aerospace Corp. | High data rate BCH encoder |
US5422895A (en) * | 1992-01-09 | 1995-06-06 | Quantum Corporation | Cross-checking for on-the-fly Reed Solomon error correction code |
US5689727A (en) | 1994-09-08 | 1997-11-18 | Western Digital Corporation | Disk drive with pipelined embedded ECC/EDC controller which provides parallel operand fetching and instruction execution |
US5640286A (en) | 1995-05-08 | 1997-06-17 | Western Digital Corporation | Disk drive with error code embedded sector identification |
US5812564A (en) | 1995-05-08 | 1998-09-22 | Western Digital Corporation | Disk drive with embedded finite field processor for error correction |
US5818855A (en) | 1996-10-30 | 1998-10-06 | Discovision Associates | Galois field multiplier for Reed-Solomon decoder |
Non-Patent Citations (1)
Title |
---|
Stephen B. Wicker, "Error Control Systems for Digital Communication and Storage", Prentice Hall, 1995. * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606727B1 (en) * | 1999-10-29 | 2003-08-12 | Stmicroelectronics, Inc. | System and method for providing error correction coding with selectively variable redundancy |
US10218386B1 (en) | 2016-11-22 | 2019-02-26 | Intel Corporation | Methods and apparatus for performing variable and breakout Reed Solomon encoding |
US10164660B1 (en) | 2016-12-23 | 2018-12-25 | Intel Corporation | Syndrome-based Reed-Solomon erasure decoding circuitry |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0147041B1 (en) | Error protection apparatus | |
US6594796B1 (en) | Simultaneous processing for error detection and P-parity and Q-parity ECC encoding | |
US6615387B1 (en) | Method and apparatus for error detection | |
US6637002B1 (en) | Decoder for error correcting block codes | |
US4504948A (en) | Syndrome processing unit for multibyte error correcting systems | |
EP0114938B1 (en) | On-the-fly multibyte error correction | |
US4555784A (en) | Parity and syndrome generation for error detection and correction in digital communication systems | |
US6374383B1 (en) | Determining error locations using error correction codes | |
US8510626B2 (en) | Data coding apparatus and methods | |
US6393065B1 (en) | Coding and decoding methods and devices and equipment using them | |
KR930008683B1 (en) | Reed solomon error correction code encoder | |
US5818855A (en) | Galois field multiplier for Reed-Solomon decoder | |
US10812109B2 (en) | Determination and use of byte error position signals | |
EP0233075B1 (en) | Method and apparatus for generating error detection check bytes for a data record | |
US5805617A (en) | Apparatus for computing error correction syndromes | |
EP0793174B1 (en) | Error detection and correction method and apparatus for computer memory | |
US6701336B1 (en) | Shared galois field multiplier | |
EP0753942A2 (en) | Word-wise processing for reed-solomon codes | |
EP0393080B1 (en) | Hypersystolic reed-solomon encoder | |
US6366941B1 (en) | Multi-dimensional Galois field multiplier | |
US20040078747A1 (en) | Generalized forney algorithm circuit | |
US6378105B1 (en) | Reed-Solomon multiplication method | |
US20020002693A1 (en) | Error correction structures and methods | |
US6532566B1 (en) | Modified Reed-Solomon multiplication | |
US6219816B1 (en) | Device and method for carrying out Reed-Solomon encoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: OAK TECHNOLOGY, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHIANG, KEVIN;REEL/FRAME:009997/0200 Effective date: 19990519 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: OAK TECHNOLOGY, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:ZINC ACQUISITION CORPORATION;REEL/FRAME:014734/0498 Effective date: 20030811 Owner name: ZINC ACQUISITION CORPORATION, CALIFORNIA Free format text: MERGER;ASSIGNOR:OAK TECHNOLOGY, INC.;REEL/FRAME:014734/0491 Effective date: 20030811 |
|
AS | Assignment |
Owner name: ZORAN CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OAK TECHNOLOGY, INC.;REEL/FRAME:015279/0870 Effective date: 20041013 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: CSR TECHNOLOGY INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZORAN CORPORATION;REEL/FRAME:027550/0695 Effective date: 20120101 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: CSR TECHNOLOGY INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZORAN CORPORATION;REEL/FRAME:036642/0395 Effective date: 20150915 |
|
FEPP | Fee payment procedure |
Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: ZORAN CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OAK TECHNOLOGY, INC.;REEL/FRAME:039469/0815 Effective date: 20160419 |