TW201102807A - Method for encoding and decoding an error correction code and coder-decoder - Google Patents

Method for encoding and decoding an error correction code and coder-decoder Download PDF

Info

Publication number
TW201102807A
TW201102807A TW098126686A TW98126686A TW201102807A TW 201102807 A TW201102807 A TW 201102807A TW 098126686 A TW098126686 A TW 098126686A TW 98126686 A TW98126686 A TW 98126686A TW 201102807 A TW201102807 A TW 201102807A
Authority
TW
Taiwan
Prior art keywords
code
short
long
symptom
zero
Prior art date
Application number
TW098126686A
Other languages
Chinese (zh)
Other versions
TWI397811B (en
Inventor
Tsung-Chieh Yang
Original Assignee
Silicon Motion 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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to US12/785,778 priority Critical patent/US8468432B2/en
Publication of TW201102807A publication Critical patent/TW201102807A/en
Application granted granted Critical
Publication of TWI397811B publication Critical patent/TWI397811B/en

Links

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/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
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

The invention provides a method for encoding an error correction code. First, a raw data is received. The raw data is then sliced into a plurality of data segments. A plurality of short parities respectively corresponding to the data segments are then generated according to a first generator polynomial. The short parities are then respectively appended to the tails of the data segments to obtain a plurality of short codewords. The short codewords are then concatenated to obtain encoded data. A long parity corresponding to the encoded data is then generated according to a second generator polynomial, wherein the first generator polynomial is a function of at least one minumun polynomial of the second generator polynomial. Finally, the long parity is appended to the tail of the encoded data to obtain a long codeword of the error correction code.

Description

201102807 六、發明說明: 【發明所屬之技術領域】 特別是有關於錯誤修正 本發明係有關於錯誤修正石馬 碼之編鳴及解碼。 【先前技術】 錯誤修正碼(error correctlon c〇de)係用於修正 =、。通仏系統所傳輸的資料於傳輸 亩y 、·曰 寸别以傳足則經常事先被編 碼為錯誤修正瑪(包含資料訊息及檢 到錯誤修正碼資料時,即使資料 …:接收‘收 ^生隨機錯誤’亦可藉解賴誤修正碼㈣復正確 的’㈣赫“亦經常在料㈣前將所儲存 為錯誤修正碼。#資料於儲存過程中遭受損毀 隨機錯誤時,亦可藉解碼錯誤修正碼而回復正確的 '料。常見的錯誤修正碼如BCH碼(BGse,Ray_chaudhuri, ai^H〇CqUenghem c〇de)及 Rs,(Reed s〇i〇m〇n ⑺和)201102807 VI. Description of the Invention: [Technical Field to Which the Invention Is Applicable] In particular, the present invention relates to the erroneous correction of the voicing and decoding of the stone horse code. [Prior Art] Error correcting code (error correctlon c〇de) is used to correct =,. The data transmitted by the overnight system is transmitted in the acres y, 曰 以 以 则 经常 经常 经常 经常 经常 经常 经常 经常 经常 经常 经常 经常 经常 经常 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( The random error 'can also be used to solve the error correction code (4). The correct '(four) Hz' is also often stored as the error correction code before the material (4). #Data can be borrowed when the random error is damaged during storage. Correct the code and reply to the correct 'material. Common error correction codes such as BCH code (BGse, Ray_chaudhuri, ai^H〇CqUenghem c〇de) and Rs, (Reed s〇i〇m〇n (7) and)

°BCH 石馬吊用於快閃記憶體資料的儲存,而Rs碼常用於光碟資 料的儲存。 菖為料儲存系統欲取.出其所儲存的資料時,所取出的 為編碼後的錯誤修正碼,因此在資料使用前必須先解碼錯 誤修正碼,以還原為原始資料。第丨圖為錯誤修正碼之習 知解碼方法ι〇0的流程圖。首先,解碼器接收一錯誤修正 碼(步驟102)。接著,解碼器依據該錯誤修正碼的檢查碼 (parity)计异多個症狀碼(syndr〇me)(步驟1〇4)。接著,解 碼器檢查是否,該等症狀碼皆為零(步騾1〇〇。若該等症狀碼 為零,表示錯誤修正碼沒有發生錯誤,因此不需進一步的 SMI-09-032/9031-A42115-TW/Finai 4 201102807 修正。反之,若該等症狀碼有其中之一不為零,表示錯誤 修正碼有錯誤發生’因此必須對錯誤修正碼進行修正、曰首 先’解碼器依據該等症狀碼計算一极a ^ . ’曰疾多項式 (error-location polynomial)的多個係數(步驟 mg)接— 解碼器執行一秦氏搜尋(Chien search)以找出該^1^誤夕項式 之根(步驟1·由於該錯誤多項式之根指示錯; = ㊁ 發生錯誤的位元之位置,因此解碼器便可 =修=誤修正碼(步驟112),而得到無錯誤的錯誤 修正碼,亦即得到正確之資料。 然而’當解碼器於步驟⑽計算錯誤多 會耗費許多時間。同樣的,讀碼器於步^^數^ 搜尋以㈣職多項相㈣,亦會耗/進订秦式 知的解碼方法100中,只要供誤像 从夕時間。於習 之-不為零便表示有錯誤發生s,y此必須狀瑪其中 步驟110以便修正錯誤,也因而造成系统的二步驟108與 遲。於錯誤修正碼的多個症狀碼不為零時,、ϋ時間的延 況中以其他方式敍錯誤修正碼,進=在部分情 計算錯誤多項式的倾錢歸驟u 2步驟⑽中 找出錯誤多項式的根,則 進仃秦式搜尋以 而增進解碼器的效能1此大=少:斤需的解瑪時間, 之解碼時間的編碼及解碼方法。 種可減少錯誤修正碼 【發明内容】 有鐘於此,本發明之 編瑪及解:方法,.以解決習知技術c修正碼之 收原始貝枓。接者將該原始#料分割為多二接 SMI-09-032/9031-A42115-TW/Final 、寸 201102807 接著,依據一第一產生多項式(generatorpolynomial)分別產 生該等區段資料之短檢查碼(short parity)。接著,附加該等 短檢查碼於該等區段資料之後,以分別產生多個短碼字 (short codeword)。接著,結合該等短碼字以得到一編碼資 料。接著’依據一第二產生多項式(generator polynomial) 以產生該編碼資料之長檢查碼(long parity),其中該第一產 生多項式為該第二產生多項式之至少一個最小多項式 (minimum polynomial)的函式。最後,附加該長檢查碼於該 編碼資料之後,以產生該錯誤修正碼之一長碼字(long codeword) ° 本發明提供一種錯誤修正碼之編碼解碼器。於一實施 例中’該編碼解碼器包括一錯誤修正碼編碼器以及一錯誤 修正碼解碼器。該錯誤修正碼編碼器接收一原始資料,將 該原始資料分割為乡個區段:歸,產生料區段資料之短 檢查碼(short parity),附加該等短檢查碼於該等區段資料之 後以^產生多個短码字(sWt eQdew。•結合該等短碼 字以得到-編碼資料產生該編碼㈣之長檢查瑪㈣ panty) ’以及附加該長檢查碼於該編碼資料之後以產生一 3=。叩cx>dew〇rd),以供儲存於—儲存媒體。該錯誤 修正碼解碼ϋ自該料雜㈣該長碼字,自該 出=包含㈣^轉字,依制等_字㈣等短檢杳 短碼字的多個短症狀碼⑽⑽咖職),㈣ 疋否該#症狀碼皆為零,以及#料 一 至數個非零短症狀媽不為零時,利 :症= 正對應之該等短碼字。 妞压狀碼更The °BCH stone horse crane is used for the storage of flash memory data, and the Rs code is often used for the storage of optical disc materials. When the data storage system wants to take out the stored data, the extracted error correction code is taken. Therefore, the error correction code must be decoded before the data is used to restore the original data. The first diagram is a flow chart of the conventional decoding method ι〇0. First, the decoder receives an error correction code (step 102). Next, the decoder discriminates a plurality of symptom codes (syndr〇me) according to the parity of the error correction code (step 1〇4). Next, the decoder checks if the symptom codes are all zero (step 1〇〇. If the symptom code is zero, it indicates that the error correction code has not occurred, so no further SMI-09-032/9031- A42115-TW/Finai 4 201102807 Correction. Conversely, if one of the symptom codes is not zero, it indicates that the error correction code has an error. Therefore, the error correction code must be corrected. First, the decoder depends on the symptoms. The code calculates a pole a ^ . 'error-location polynomial multiple coefficients (step mg) - the decoder performs a Chien search to find the ^1^ Root (Step 1) Since the root of the error polynomial indicates an error; = 2 The position of the bit in which the error occurred, so the decoder can = repair the error correction code (step 112), and obtain the error-free error correction code. That is, the correct information is obtained. However, it is a lot of time to calculate the error in the step (10). Similarly, the reader reads the (four) job multiple phase (4) in the step ^^^, and also consumes/subscribes the Qin style. Knowing the decoding method 100, as long as the error is provided From the eve time. Yu Xizhi - not zero means that there is an error s, y this must be in step 110 in order to correct the error, thus causing the system's two steps 108 and late. Multiple symptom codes of the error correction code When it is not zero, the error correction code is described in other ways in the delay time of the time, and the root of the error polynomial is found in the step of calculating the error polynomial in the partial situation, and then the root of the error polynomial is found. Search to improve the performance of the decoder 1 this big = less: the required decoding time, the decoding time encoding and decoding method. Can reduce the error correction code [invention content] There are clocks, the code of the present invention Reconciliation: method, to solve the conventional technology c correction code to receive the original shell. The receiver divides the original # material into multiple two SMI-09-032/9031-A42115-TW/Final, inch 201102807 Next, Generating a short parity of the segment data according to a first generator polynomial. Then, adding the short check codes to the segment data to generate a plurality of short code words respectively ( Short codeword). Next, the knot Combining the short codewords to obtain an encoded data. Then 'based on a second generator polynomial to generate a long parity of the encoded data, wherein the first generating polynomial is the second generating polynomial At least one minimum polynomial function. Finally, the long check code is appended to the encoded data to generate a long codeword of the error correction code. The present invention provides an error correction code. Codec. In one embodiment, the codec includes an error correction code encoder and an error correction code decoder. The error correction code encoder receives an original data, and divides the original data into a rural sector: a short parity code of the material segment data, and the short parity code is attached to the segment data. Then generating a plurality of short code words (sWt eQdew. • combining the short code words to obtain the -encoded data to generate the length of the code (4) checksum (4) panty) 'and appending the long check code to the coded data to generate One 3=.叩cx>dew〇rd) for storage in the storage medium. The error correction code is decoded from the material (4) of the long code word, and the short symptom code (10) (10) is used for the short code word according to the _ word (four), etc. (4) 疋No the # symptom code is zero, and #料一至数非零短症Mom is not zero, profit: symptom = the corresponding short code word. Girl pressure code more

SMI-09-032/9031-Α42115-TW/FinaI 6 201102807 本發明更提供一種錯誤修正碼之解碼方法。首先,接 收該錯誤修正喝之一長碼字(l〇ng c〇deword),其中該長碼 子包括多個短石馬字(sh〇rt codeword)及一長檢查碼(l〇ng parity) ’母該荨短碼字均包括一短檢查碼(Α〇Γ( ρ&Γ#)。 接著’自該長碼字取出其所包含的該等短碼字。接著,依 據該等短碼字的該等短檢查碼計算該等短碼字的多個短症 狀碼(short Syndr〇me)。接著,檢查是否該等短症狀碼皆為 零。當該等短症狀碼其中之一至數個非零短症狀碼不為零 時,利用該等非零短症狀碼更正對應之該等短碼字。當該 等短症狀碼片算完畢後,依據該長碼字的該長檢查碼計算 該長碼字的一長症狀碼(long syndrome)。接著,檢查是否 該長症狀碼為零。當該長症狀碼不 非零短症狀碼均可正確更正對應之該等短碼字 該等非零域狀碼均可正確更正對應之該等短瑪字時,利 =等轉短錄碼更㈣長絲碼,轉―更正後長症 明顯讓:發明之上述和其他目的、特徵、和優點能更 詳細說明如下文特舉數較佳實施例,並配合所附圖示,作 【實施方式】 於-發明之資料儲存系統2〇。的區塊圖。 資料儲儲存系統綱包括—主機202以及- 及-儲存嫖趙214。2G41括-㈣器犯 誤修正码編瑪器222以#制® 212包括-錯 及—錯誤修正碼解碼器224。當主 SMI-09-032/9031-A42115-TW/Final 201102807 機2 02欲錯存資料d .】λ :欠+丨 之錯誤修正碼編喝哭2貝;' 儲存裝置204時’控制器」2 〇,控制器2】2再先將資科°】編碼為錯誤修正碼 當主機:自二=碼⑽ 犯先自館存媒體2]4 /敢置勺2入〇1讀取資料D2時,控制器 再由控制器212之#誤:貪料〇2的錯誤修正碼C2’ 解病A〜 修正媽解码器224將錯誤修正巧C2 :於實=T_2再將_送: 心 中,資料錯存裝置204為-吃伊卡,沒/· 媒體214為-快閃記憶體, =卡,錯存 :。於另-實施例中,_存裝置:二舆二=« :=:4為一光碟片,而錯誤修正碼 二二=與錯誤修正碼之類型並非本發二 制晃、心此項技藝者在本發明夕奢β Α丨¥ 應用至任何類型之儲存裝置與錯料下當可將其 圖為依據本發明之錯誤修正碼編碼器卿的區塊 石ηΓ實施例中,錯誤修正碼編碼器300包括短竭字編 = 302、添附器3〇4、長碼字編碼器襄、以及添附器遍。^ =3Β圖為依據本發明之錯誤修正碼之編碼方法游 圖。第3Α圖的錯誤修正碼編碼器綱辑 碼方法350將原始資料D編碼為錯誤修正碼之一長碼字 首先’錯誤修正碼編碼器3〇〇接收一原始資❹(步驟 52)。接者’錯誤修正碼編竭器3〇〇將該原始資料心 為多個區段資料(步驟354)。當短碼字編碼器搬收到該^ 區段資料後,短碼字編碼器3〇2接著依據一第一產生^項 式(gene她r P〇lynomial)依序產生該等區段資料之短檢查 SMI-09-032/9031-A42115-TW/Final 乇 201102807 石馬(shortparity)Ps(步驟 356)。 接著,添附器304附加該等短檢查喝ps於該等區段資 料之後,以为別產生多個短碼字(sh〇rt c〇dew〇rd)Cs(步驟 358)。長碼字編碼器306接著結合該等短碼字ps以得到一 編碼資料(步驟360),並依據一第二產生多項式(generat〇r polynomial)以產生該編碼資料之長檢查碼(1〇邱 parity)I>L(步驟362)。最後,添附器308附加該長檢查碼Pl 於該編碼資料之後,以產生該錯誤修正碼之一長碼字(1〇叩 C〇deW〇rd)CL(步驟364)。其中,短碼字編碼器3〇2之第一 產生多項式為長碼字編碼器306之第二產生多項式的至少 一個最小多項式(minimum polynomial)的函式。於一實施例 中,該第一產生多項式為該第二產生多項式之至少一個最 小多項式的最小公倍式(least common multiple,LCM)。舉例SMI-09-032/9031-Α42115-TW/FinaI 6 201102807 The present invention further provides a decoding method for error correction code. First, receiving the error correction drink one long codeword (l〇ng c〇deword), wherein the long code includes a plurality of short stone words (sh〇rt codeword) and a long check code (l〇ng parity) 'Mother's short codewords each include a short check code (Α〇Γ(ρ&Γ#). Then 'take the short codewords contained in the long codeword. Then, according to the short codewords The short check codes calculate a plurality of short symptom codes (short syndr〇me) of the short code words. Then, it is checked whether the short symptom codes are all zero. When one of the short symptom codes is one to several When the zero-short symptom code is not zero, the short code words corresponding to the non-zero short symptom code are corrected. When the short symptom chips are calculated, the length is calculated according to the long check code of the long code word. A long symptom of the codeword. Next, check if the long symptom code is zero. When the long symptom code is not a zero-short symptom code, the non-zero field corresponding to the short code word can be correctly corrected. When the code can correctly correct the corresponding short-maze characters, the profit = equal-turn short code is more (four) filament code, after the correction The above and other objects, features, and advantages of the invention will be apparent from the following detailed description of the preferred embodiments of the invention. The block diagram of the data storage and storage system includes - host 202 and - and - storage 嫖 Zhao 214. 2G41 included - (four) device error correction code coder 222 to # system ® 212 including - wrong and - error correction code Decoder 224. When the main SMI-09-032/9031-A42115-TW/Final 201102807 machine 2 02 wants to store the data d.] λ: owe + 丨 error correction code 编 喝 哭 2 ;; 'Storage device 204 'Controller' 2 〇, controller 2] 2 first encode the undergraduate °] as the error correction code when the host: since the two = code (10) committed first from the library media 2] 4 / dare to spoon 2 into 〇 1 read When taking the data D2, the controller is again caused by the #212 error of the controller 212: the error correction code C2' of the cockroach 〇2 is solved. A~ Correcting the mother decoder 224 will correct the error C2: in the real = T_2 and then send _: In the heart, the data storage device 204 is - eat Ica, no / · media 214 is - flash memory, = card, wrong memory: In another embodiment, _ storage device: two舆二=« :=:4 is a disc, and the error correction code 22 = and the type of error correction code is not the second sway, the heart of this artist in the present invention 奢 extra β Α丨 ¥ apply to any In the embodiment of the type of storage device and the wrong material, which can be illustrated as the error correction code encoder according to the present invention, the error correction code encoder 300 includes a short word code = 302, applicator 3 〇4, long codeword encoder 襄, and appendator pass. ^=3Β is a code method tour diagram of the error correction code according to the present invention. The error correction code encoder code method 350 of Fig. 3 encodes the original data D into one of the error correction codes. The first code error is received by the 'error correction code encoder 3' (step 52). The subscriber's error correction code compiler 3 centers the original data into a plurality of sector data (step 354). After the short codeword encoder receives the data of the segment, the short codeword encoder 3〇2 then sequentially generates the segment data according to a first generating formula (gene she r P〇lynomial). Short check SMI-09-032/9031-A42115-TW/Final 乇201102807 short horse Ps (step 356). Next, the appender 304 appends the short check drinks ps to the segment data to assume that a plurality of short code words (sh〇rt c〇dew〇rd) Cs are generated (step 358). The long codeword encoder 306 then combines the short codewords ps to obtain an encoded data (step 360), and generates a long check code of the encoded data according to a second generator polynomial (generat〇r polynomial) (1〇 Qiu Parity) I > L (step 362). Finally, the appender 308 appends the long check code P1 to the encoded data to generate a long codeword (1〇叩 C〇deW〇rd) CL of the error correction code (step 364). The first polynomial of the short codeword encoder 3〇2 is a function of at least one minimum polynomial of the second generator polynomial of the long codeword encoder 306. In one embodiment, the first generator polynomial is a least common multiple (LCM) of at least one of the smallest polynomials of the second generator polynomial. Example

來說,假設長碼字編碼器306對應的第二產生多項式g(x) 為多個最小多項式〜(x)、b(x)、…、“(X)的最小公H {b(x)x〜(x) X…XA(X)}。於一實施例中,短碼字編碼器 對應的第一產生多項式g,(x)為最小多項式〜(χ)。於另一 實施例中,短碼字編碼器3〇2對應的第一產生多項式g,(x) 為最小多項式b(x)與b(x)的最小公倍式。X 第4圖為依據本發明所產生的一長碼字&的示音圖。 長碼字CL由N個短碼字Csi、Cs2、…、CsN及—個:檢查 碼:一斤組成。每一個短碼字Csi、CM、…、Csn包括一區 段資料及一短檢查碼。舉例來說,短碼字Csi由檢查螞 接續於相對應的區段資料Di之後而形成,短碼字Gw由二 查碼PS2接續於相對應的區段資料D2之後而形成,:短: SMI-09-032/9031-A42115-TW/Final 9 201102807 字cSN由檢查碼PsN接續於相對應的區段資料〜之後而形 成。原始資料係被切割為多個區段資料^、^、…、d , 3A 300 ^ 後形成第4圖之長碼字cL。 ”第5圖為依據本發明之編碼器谓的電路圖該編碼 益500可為第3A圖之短碼字編碍器3〇2或長碼字編碼器 306。假設編♦器,係依據—產生多項式§ (X)將資料心 職為檢=P ’喊生多私g(翁—切係數為以、 二二人項係數為g2、…、N次項係數為如。、編碼器500包括 加法器540、乘法器521〜52N、加法器5〇ι〜篇、以及緩 衝器511〜51N及.530。首先,資料Da的位元依次被送至加 法器540。加法器540依次將資料〜的位元與緩衝器迎 儲存的資料位元ddn相加而得到資料Db。乘法器52i Γ、…、52N接著分別將資料以與產生多項式g(X)的係 數gl、g2、…、gN相乘而分別得到資料Dci、Dc2、…、D 〇 資料DB在經過緩衝器530的儲存後,依次由加法器^N、 5〇2、…、應分別與資料DC1、DC2、…、Dcn相加,而得 到資料Ddn。最後,緩衝器51N儲存資料〕⑽後 Ddn輸出為檢查碼P。 第6圖為依據本發明之錯誤修正碼解碼器_的區塊 圖。於-實施例中,錯誤修正碼解碼器6⑻ 算模組繼、錯誤多碩式計算模組_、秦式搜尋模^^ 以及控制電路608。當錯誤修正碼解媽器_收到錯誤修 正碼之一長碼字時,錯誤修正碼解碼器_自該長^字取 出其所包含的多個短碼字。首先,症狀碼計算模組6⑽依 SMI-09-〇32/9031-A42115-TW/Final 1Λ 201102807 據該等短碼字的短檢查碼計算該等短碼字的多個短症狀碼 (short Syndr〇me)SIa,Slb,·..,SlN,並依據該長碼字的該長檢 查碼计鼻該長碼子的多個長症狀碼(i〇ng S2,…,SK。錯誤多項式計算模組604用以依據長碼字之長 症狀碼sl5 S2,…,sK計算該長碼字之錯誤多項式(error location polynomial)的係數。秦式搜尋模組6〇6用以找出該 錯誤多項式之?個根’以供修正錯祕正碼之長碼字。此In other words, it is assumed that the second generator polynomial g(x) corresponding to the long codeword encoder 306 is a plurality of minimum polynomials ~(x), b(x), ..., "(X) of the least common H {b(x) x~(x) X...XA(X)}. In one embodiment, the first generator polynomial g corresponding to the short codeword encoder, (x) is the minimum polynomial ~(χ). In another embodiment, The first generator polynomial g corresponding to the short codeword encoder 3〇2, (x) is the least common multiple of the minimum polynomial b(x) and b(x). X Fig. 4 is a length generated according to the present invention. The codeword of the codeword & The long codeword CL consists of N short codewords Csi, Cs2, ..., CsN and one: check code: one kilogram. Each short codeword Csi, CM, ..., Csn includes a segment data and a short check code. For example, the short code word Csi is formed by checking the continuation of the corresponding segment data Di, and the short code word Gw is connected to the corresponding segment by the second code PS2. After the data D2 is formed, it is short: SMI-09-032/9031-A42115-TW/Final 9 201102807 The word cSN is formed by the check code PsN following the corresponding segment data~ After the original data is cut into many Section information ^, ^, , d, 3A 300 ^ to form the long code word cL of Fig. 4. "Fig. 5 is a circuit diagram of the encoder according to the present invention. The code benefit 500 can be the short code word obstruction of Fig. 3A. Or long codeword encoder 306. Assume that the coder is based on the generator polynomial § (X). The data is 心 = = P ' 喊 多 多 多 多 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( For example, the encoder 500 includes an adder 540, multipliers 521 to 52N, adders 5 to 51, and buffers 511 to 51N and .530. First, the bits of the material Da are sequentially sent to the adder 540. The adder 540 sequentially adds the bit of the data to the data bit ddn stored in the buffer to obtain the data Db. The multipliers 52i ..., ..., 52N then respectively use the data to obtain the coefficient gl of the polynomial g(X). , g2, ..., gN are multiplied to obtain the data Dci, Dc2, ..., D respectively. After the data DB is stored in the buffer 530, the adders ^N, 5〇2, ..., respectively, should be respectively associated with the data DC1. DC2, ..., Dcn are added to obtain the data Ddn. Finally, the buffer 51N stores the data] (10) and the Ddn output is the check code P. Fig. 6 is a block diagram of the error correction code decoder_ according to the present invention. - In the embodiment, the error correction code decoder 6 (8) is calculated by the module, the error multi-story calculation module _, Qin search ^^ and the control circuit 608. When the error correction code solver_receives one long codeword of the error correction code, the error correction code decoder_ takes out a plurality of short codewords contained therein from the long word. The symptom code calculation module 6(10) calculates a plurality of short symptom codes of the short code words according to the short check code of the short code words according to SMI-09-〇32/9031-A42115-TW/Final 1Λ 201102807 (short Syndr〇) Me) SIa, Slb, ·..,SlN, and according to the long check code of the long code word, the long symptom code of the long code (i〇ng S2,..., SK. error polynomial calculation module 604 is configured to calculate a coefficient of the error location polynomial of the long codeword according to the long symptom code sl5 S2,...,sK of the long codeword. The Qin search module 6〇6 is used to find the error polynomial? Root 'for long code words for correcting the wrong code. This

外,當短,字的短症狀喝Su,k &不為Q時,錯誤 多項式#算模組604亦會依據不為零雜症狀碼計算短碼 子之錯誤多項式’並由秦式搜尋模組進行秦式搜尋找 出短碼予之錯誤多項(的根,以立即更正短碼字發生之錯 誤與第1圖的驾知方法1〇〇類似,控制電路觀檢查長 症狀碼Sl5 S2, ".,SK7^否為零.,並於該等長症狀碼I S2,…, SK皆為科停止職乡項式計算她對錯誤多項式之 係數的4算’胁均秦式搜尋模组_對錯誤多項式之 根的搜尋。然而,控制電路_尚有其他功能,可減少解 I長I子所*之時間’而提升錯誤修正碼解碼器帽的效 能。此部分功能將以第8圓說明。 於 貝她例中,由於用以編碼短碼字的第一產生多項 編碼長碼字的第二產生多項式的最小多項式的函 式’因此可 H錢碼計算触計算長碼字的 字的症狀瑪。第7圖為依據本發明之症狀碼 狀:產二00的電路圖。症狀碼計算模組700包括多個症 70; ' 702、·..、狐,該等症狀褐產生器70i、 、…、7〇κ分別產生長症狀碼之長症狀碼Sl、S2、…、 SMI-09-032/9031-A42115-TW/Final * 11 201102807 SK°症狀碼產生器701亦產生多個短碼字的短症狀碼Sla, Sib,…,S1N。於一實施例中,長碼字的資料位元d被依次 遞送至症狀碼產生器702 ..... 70K,當長碼字的資料位元 D被處理完畢,症狀碼產生器7〇2.....70K便產生長碼字 之長症狀碼S2、…、SK。同時,短碼字的資料位元D亦依 序被遞送至症狀碼產生器7〇1。每當一短碼字的資料位元D 被處理完畢’症狀碼產生器701便產生該短碼字相應之一 短症狀碼。例如,當區段資料Di與短檢查碼psi被輸入至 症狀碼產生器701時’症狀碼產生器701便產生短碼字CS1 之短症狀碼;當區段資料D2與短檢查碼pS2被輸入至症狀 碼產生盗701時’症狀碼產生器701便產生短碼字cS2之 短症狀碼。由於長碼字係由多個短碼字所組成,當症狀碼 產生器701將長碼字所包括的多個短碼字的資料位元〇均 處理完畢’症狀碼產生器701便產生長碼字之長症狀碼心。 第7圖之每一症狀碼產生器701、702、...、70K包括 一加法器、一乘法器、以及一緩衝器。舉例來說,於第一 症狀碼產生器701中,緩衝器711儲存資料:^並將其輸 出。加法器731將長碼字的資料位元d與緩衝器711輸出 的資料Di相加後得到一第一症狀碼Si。乘法器721將係數 α與症狀碼Si相乘後得到資料Di,而新得到的資料&再 被送至緩衝器711中儲存。症狀碼產生器7〇1之係數^係 長碼字編碼器之產生多項式與短碼字編碼器之產生多項式 的共同2根’而其他症狀碼產生器702、‘.·、70Κ的係數分 別為^、···、而"2、…、為長碼字編碼器之產 生多項式的根。 SMI-09-032/9031-Α42115-TW/Final 12 201102807 p «為崎本翻之錯雜正碼之料 · 修Γ圖之錯誤修正騎碼器_依據方法_進 一長瑪字(步接^先^誤修正碼料11600接收 該長碼字令一短 者’症狀碼計算模組_循序計算 m f,nn 2 丑症狀碼(步驟804),例如,錯誤修 計算ΓΓ 縣料Cl #第—健财csl進行In addition, when the short, short symptoms of the word drink Su, k & not Q, the error polynomial # calculus module 604 will also calculate the short polynomial error polynomial according to the non-zero symptom code and use the Qin search model The group performs a Qin-style search to find out the short code to the error multiple (the root, to immediately correct the short code word error is similar to the first figure of the driving method 1〇〇, the control circuit view check the long symptom code Sl5 S2, &quot ;.,SK7^No zero., and in the same length symptom code I S2,..., SK are all calculated for the section of the section of the section to calculate the coefficient of the error polynomial. The search for the root of the error polynomial. However, the control circuit _ has other functions, which can reduce the time of solving the I long I sub-* and improve the performance of the error correction code decoder cap. This part of the function will be explained by the 8th circle. In the case of Yu Bei, the first polynomial function of the second polynomial that generates a plurality of coded long codewords for encoding a short codeword is used to calculate the symptoms of the word of the long codeword. Fig. 7 is a circuit diagram of the symptom code according to the present invention: production of 2000. The code calculation module 700 includes a plurality of syndromes 70; '702, ·.., foxes, and the symptom brown generators 70i, ..., 7〇κ respectively generate long symptom codes S1, S2, ..., SMI-09-032/9031-A42115-TW/Final * 11 201102807 The SK° symptom code generator 701 also generates short symptom codes Sla, Sib, ..., S1N of a plurality of short code words. In one embodiment, the long code The data bit d of the word is sequentially delivered to the symptom code generator 702 ..... 70K, and when the data bit D of the long code word is processed, the symptom code generator 7〇2.....70K is generated. The long code word has the long symptom code S2, ..., SK. At the same time, the data bit D of the short code word is also sequentially delivered to the symptom code generator 7〇1. Whenever a short code word data bit D is processed The 'symptom code generator 701 generates a short symptom code corresponding to the short code word. For example, when the segment data Di and the short check code psi are input to the symptom code generator 701, the symptom code generator 701 generates a short. The short symptom code of the code word CS1; when the segment data D2 and the short check code pS2 are input to the symptom code generating thief 701, the symptom code generator 701 generates the short code word cS2. Short symptom code. Since the long code word is composed of a plurality of short code words, when the symptom code generator 701 processes the data bits of the plurality of short code words included in the long code word, the symptom code generator 701 The long symptom code center of the long code word is generated. Each of the symptom code generators 701, 702, ..., 70K of Fig. 7 includes an adder, a multiplier, and a buffer. For example, In a symptom code generator 701, the buffer 711 stores the data: ^ and outputs it. The adder 731 adds the data bit d of the long code word to the data Di outputted from the buffer 711 to obtain a first symptom code Si. . The multiplier 721 multiplies the coefficient α by the symptom code Si to obtain the data Di, and the newly obtained data & is sent to the buffer 711 for storage. The coefficient of the symptom code generator 7〇1 is the common two of the generator polynomial of the long codeword encoder and the generator polynomial of the short codeword encoder, and the coefficients of the other symptom code generators 702, '.·, 70Κ are respectively ^ , ···, and "2,..., is the root of the polynomial of the long codeword encoder. SMI-09-032/9031-Α42115-TW/Final 12 201102807 p «Materials for the miscellaneous code of the smashing of the original · Correction of the repair code _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ Error correction code 11600 receives the long code word to make a short 'symptom code calculation module _ sequential calculation mf, nn 2 ugly symptom code (step 804), for example, error repair calculation 县 county material Cl #第-健财Csl

零(牛驟^路_檢查是否計算得到的短症狀碼為 因錢碼為料,絲料字正確無誤, —,”、计斤挺組602繼續計算該長碼字尹苴他的短碼 ΓΤ-Γ-(^ 804) 5 5 處短碼子Cs3...·.·直到該長碼字中所有短碼字均 為止(步驟812)。當短症狀碼不為零時,表示短碼 馬:並、讀更正結果(步驟叫,再由症 2計算該長碼字中的短喝字之短症狀碼(步驟謝)’直到 該長碼:中所有短碼字均處理完畢為止(步驟810)。 接著’症狀碼計算模組術計算長碼字之長症狀碼(步 驟咖)。若長症狀媽為零(步驟816)’表示長碼字正媒益 誤’則該長碼字之解碼結束。若長絲糾為零(步驟 816) ’表不長碼字有錯誤。此時控制電路_繼續檢查是 否所有非零短症狀碼均可正確更正短碼字(步驟818)。若所 有非零短症狀碼均可正確更正短碼字(步驟818),則控制電 $ _利用非零短症狀碼更正長症狀碼(㈣820),例如, 若第四短碼字之CS4之短症狀碼並非全為零,則利用該非 零短症狀碼去更正非零長症狀碼中相對應的位置。若更正 SMI-09-032/9031-A42115-TW/Final 13 201102807 後長症狀竭為零(步 更正成功,.則可脸# 22)’表示該些錯誤已藉由短症狀碼 主機,無需再利用用短碼字更正的更正結果回覆予 節省時間。若更'正碼進行更正整個長碼字,可大幅 零短症狀碼無法正^長宙症狀碼不為零(步驟822),或部分非 6〇8利用溽正紐碼字(步驟818),則控制電路 結束。 于正確的長碼子,而該長碼字之解碼 可能症::為零時即認為該長碼字正確無誤, / /因為紐症狀碼的更正能力較低,可能僅 超過該I'r*11位70的更正能力,而當該短碼字發生的錯誤 ^,D:;正狀媽的更正能力時,例如出現8個位元的錯 力舍狀碼亦可能被計算為零。因此需要利用更正能 ★ &症狀石馬再度進行檢驗。長症狀碼的更正能力較 二可月匕有24個位70的更正能力。故若某短碼字中出現8 個位70的錯誤’仍可藉由長症狀碼魏,並騎後續更正。 發生誤判低機率就可降低。 a雖然本發明已以較佳實施例揭露如上,然其並非用以 、疋本發月任何熟習此項技術者,在不脫離本發明之精 :中^範圍内’虽可作些許之更動與潤飾,因此本發明之保 濩範圍當視後附之申請專利範圍所界定者為準。 I圖式簡單說明】 第1圖為錯誤修正碼之習知解碼方法的流程圖; 第2圖為依據本發明之資料儲存系統的區塊圖; 第3A圖為依據本發明之錯誤修正碼編碼器的區塊圖; sMI-〇9_〇32/9〇3 1-A42115-TW/Final 201102807 第3B圖為依據本發明之錯誤修正瑪之編碼方法的流 程圖; 第4圖為依據本發明所產生的-長碼字的示意圖; 第5圖為依據本發明之編碼器的電路周,該編碼器可 為第3A圖之短碼字編碼器或長碼字編碼器; =圖為依據本發明之錯誤修正碼解^的區塊圖; 反為依據本發明之症狀碼計算模組的電路圖;以 s。第8 _域树W紅碼之㈣方法的流輕 【主要元件符號説明】 (第2圖) 2〇2〜主機; 204〜資料儲存裝置; 212〜控制器; 214〜儲存媒體; .222〜錯誤修正碼編碼器,· 224〜錯誤修正碼解碼器; (第3A圖) 300〜錯誤修正碼編碼器,· 302〜短碼字編碼器; 304〜添附器; 306〜長碼字編碼器; 3 09〜添附器; (第4圖) SMI-09-032/9031-A42115-TW/Final 15 201102807Zero (bovine step ^ road _ check whether the calculated short symptom code is due to the money code, the silk word is correct, -,", Ji Jin Ting group 602 continues to calculate the long code word Yin Yin his short code ΓΤ -Γ-(^ 804) 5 5 short code sub-Cs3...·.· until all short code words in the long code word are all (step 812). When the short symptom code is not zero, it means short code horse : and read the correction result (step call, then calculate the short symptom code of the short drink word in the long code word (step thank you)' until all the short code words in the long code: are processed (step 810) Then, the 'symptom code calculation module calculates the long symptom code of the long code word (step coffee). If the long symptom mother is zero (step 816) 'represents the long code word positive media error', then the long code word is decoded. End. If the filament is corrected to zero (step 816) 'The table does not have a long codeword error. At this point the control circuit_ continues to check if all non-zero short symptom codes correctly correct the short codeword (step 818). The zero-short symptom code can correctly correct the short codeword (step 818), then control the electricity $_ to correct the long symptom code ((4) 820) with a non-zero short symptom code, for example If the short symptom code of CS4 of the fourth short codeword is not all zero, the non-zero short symptom code is used to correct the corresponding position in the non-zero long symptom code. If the correction is made SMI-09-032/9031-A42115-TW /Final 13 201102807 After the symptoms are zero (step correction is successful, then face # 22) ' indicates that the errors have been passed by the short symptom code host, no need to reply with correction results corrected with short code words to save time If the more positive code corrects the entire long codeword, the symptom code can be substantially zero and the symptom code cannot be positive (the step 822), or the partial non-6〇8 can be used (step 818). , the control circuit ends. The correct long code, and the decoding of the long code word is possible: When the zero code is considered, the long code word is correct, / / because the correction effect of the New symptom code is low, it may only be Exceeding the corrective ability of the I'r*11 bit 70, and when the short code word has an error ^, D:; correcting the mother's correcting ability, for example, a wrong bit pattern of 8 bits may also be The calculation is zero. Therefore, it is necessary to use the correction to correct the symptoms and the horses are tested again. Long symptom code Positive ability has 24 corrective ability of 24 digits. Therefore, if there is 8 errors of 70 in a short codeword, you can still use the long symptom code Wei and ride the follow-up correction. Although the present invention has been disclosed in the above preferred embodiments, it is not intended to be used by anyone skilled in the art, without departing from the scope of the invention: The scope of protection of the present invention is subject to the definition of the patent application scope as set forth in the appended claims. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a flow chart of a conventional decoding method for error correction codes; Figure 3 is a block diagram of a data storage system in accordance with the present invention; Figure 3A is a block diagram of an error correction code encoder in accordance with the present invention; sMI-〇9_〇32/9〇3 1-A42115-TW/Final 201102807 FIG. 3B is a flow chart of the error correction method according to the present invention; FIG. 4 is a schematic diagram of a long code word generated according to the present invention; FIG. 5 is a circuit circuit of the encoder according to the present invention, The encoder can be a short codeword encoder or a long codeword of FIG. 3A ; A = The picture shows a block diagram of an error correction code according to the present invention Solutions ^ basis; reverse symptoms of the calculation module according to the present invention a circuit diagram of the code; with s. 8th _ domain tree W red code (four) method of stream light [main component symbol description] (Fig. 2) 2〇2~ host; 204~ data storage device; 212~ controller; 214~ storage medium; .222~ Error correction code encoder, · 224~ error correction code decoder; (Fig. 3A) 300~ error correction code encoder, · 302~ short code word encoder; 304~ adder; 306~ long code word encoder; 3 09~Adder; (Fig. 4) SMI-09-032/9031-A42115-TW/Final 15 201102807

Cl〜長碼字;Cl~ long code word;

Csi、Cs2、…、Csn〜短碼字;Csi, Cs2, ..., Csn~ short code words;

Di、D2、…、Dn〜區段貢料, PSi ' PS2.....PSN〜短檢查碼;Di, D2, ..., Dn ~ section tribute, PSi 'PS2.....PSN ~ short check code;

Pl〜長檢查碼; (第5圖) _500〜短碼字編碼或長碼字編碼器, 530, 511-51N〜緩衝器; 501-5 0N〜加法器; 籲 521-52N〜乘法器; (第6圖) 600〜錯誤修正碼解碼器; 602〜症狀碼計算模組; 604〜錯誤多項式計算模組; 606〜秦式搜尋模組; 608〜·^制電路, (第7圖) · 700〜症狀碼計算模組; 701、702 ..... 70K〜症狀碼產生器; 731-73K〜加法器; 721-72K〜乘法器;以及 711-71K〜諼衝器。 SMI-09-032/9031-A42115-TW/Final 16Pl~long check code; (Fig. 5) _500~short codeword code or long codeword encoder, 530, 511-51N~buffer; 501-5 0N~adder; 521-52N~multiplier; Figure 6) 600~ error correction code decoder; 602~ symptom code calculation module; 604~ error polynomial calculation module; 606~Qin search module; 608~^^ circuit, (Fig. 7) · 700 ~ Symptom code calculation module; 701, 702 ..... 70K ~ symptom code generator; 731-73K ~ adder; 721-72K ~ multiplier; and 711-71K ~ buffer. SMI-09-032/9031-A42115-TW/Final 16

Claims (1)

201102807 七、申請專利範園.: i.:_一種錯誤修正碼之編碼及解碼方法,包括: 接收一原始資料; 將該原始資料分割為多個區段資料; 依據一第一產生多項式(generator polynomial)分別產 生該等區段資料之短檢查瑪(short parity); 附加該等短檢查碼於該等區段資料之後,以分別產生 多個短碼字(short codeword); φ 結合該等短碼字以得到一編碼資料; 依據一第二產生多項式(generator polynomial)以產生 該編碼資料之長檢查碼(long parity),其中該第一產生多項 式為該第二產生多項式之至少一個最小多項式(minimum polynomial)的函式; 附加該長檢查碼於該編碼資料之後,.以產生該錯誤修 正碼之一長碼字(long codeword)。 2. 如申請專利範圍第1項所述之錯誤修正碼之編碼及 • 解碼方法,其中該第一產生多項式為該第二產生多項式之 至少一個最小多項式的最小公倍式(least common multiple LCM)。 ’ 3. 如申請專利範圍第1項所述之錯誤修正碼之編喝及 解碼方法,更包括儲存該長碼字於一儲存媒體中。 •4.如申請專利範圍第1項所述之錯誤修正碼之編碼及 解碼方法,更包括: 自一儲存媒體讀出該長碼字; 自該長碼字取出其所包含的該等短碼字; SMI-09-032/9031-Α42115-TW/Final 17 201102807 個短症狀碼(short syndrome;); 以及 檢查是否該等短症狀碼皆為零 當該等短症狀碼其巾H數個非零短症狀碼不為零 時’利用該轉零短錄碼更正對狀轉短碼字。 5.如申明專利範圍第4項所述之錯誤修正碼之編碼及 解碼方法,更包括:201102807 VII. Application for Patent Fanyuan.: i.:_A method for encoding and decoding an error correction code, comprising: receiving a raw data; dividing the original data into a plurality of sector data; according to a first generating polynomial (generator) Polynomial) respectively generating short parity of the segment data; adding the short check codes to the segment data to respectively generate a plurality of short codewords; φ combining the short codes Codeword to obtain a coded data; generating a long parity of the coded data according to a second generator polynomial, wherein the first generator polynomial is at least one minimum polynomial of the second generator polynomial ( The function of the minimum polynomial); the long check code is appended to the encoded data to generate a long codeword of the error correction code. 2. The encoding and decoding method of the error correction code according to claim 1, wherein the first generating polynomial is a least common multiple LCM of at least one minimum polynomial of the second generating polynomial (least common multiple LCM) . 3. The method of compiling and decoding the error correction code described in claim 1 of the patent application further includes storing the long code word in a storage medium. 4. The method for encoding and decoding the error correction code according to claim 1, further comprising: reading the long codeword from a storage medium; and extracting the short code included in the long codeword SMI-09-032/9031-Α42115-TW/Final 17 201102807 short syndromes; and check whether these short symptom codes are zero When the zero-short symptom code is not zero, 'correct the tangential to short codeword by using the zero-changing short-recording code. 5. The method for encoding and decoding the error correction code described in claim 4 of the patent scope further includes: 當,等短絲料算完畢後,依據該長碼字的該長檢 查碼。十开該長碼子的一長症狀瑪(1。叫syndT〇me); 檢查是否該長症狀碼、為零; 當該長症狀喝不為零時,檢查是否該等非零短症狀碼 均可正確更正對應之該等短碼字 ;以及 當該等非零短症狀碼均可正確更正對應之該等短碼字 時’利用該等非零短症狀媽更正該長症狀碼,以得一更正 後長症狀碼。 6.如申兩專利範圍第$項所述之錯誤修正碼之編碼及 解碼方法,更包括·: 當該長症狀碼不為零,且該等非零短症狀碼之部分無 法正確更正對應之該等短碼字時,利用該長症狀碼對無法 正確更正的該等短碼字造行修立。 7·如申請專利範園第1項戶斤述之錯誤修正碼之編碼及 解碼方法,其中該長碼字及該等短碼字為BCH碼或RS碼。 8· 一種錯誤修正碼之編碼解瑪器,包括: 一錯誤修正碼編碼器,接收一原始資料,將該原始資 料分割為多個區段資料,產生該等區段資料之短檢查碼 SMI-09-032/9031-A42115-TW/Final 18- 201102807 (short parity),附加該等短檢查碼於該等區段資料之後以分 別產生多個短碼字(short codeword),結合該等短碼字以得 到一編碼資料’產生該編碼資料之長檢查碼(k>ngparity), 以及附加該長檢查碼於該編碼資料之後以產生一長碼字 (long codeword)以供儲存於一儲存媒體;以及 -錯誤修正碼解碼器,自賴存健讀出該長碼字, 自該長碼字取出其所包含的轉短碼字,依據該等短碼字 的該等短檢查碼計算該等短碼字的多個短症狀碼 syndrome),檢查疋否該等短症狀碼皆為零’以及當該等短 症狀碼其中之至數個非零短症狀碼不為零時,利用該等 非零短症狀碼更正對應之該等短碼字。 9·如申切專利範圍第8項所述之錯誤修正碼之編碼解 碼器,其+該錯誤修正碼編碼器係依據一第一產生多項式 (generator p〇lynomial)以產生該等區段資料之該等短檢查 碼,並依據一第二產生多項式(genemt〇r p〇lyn〇iniai)以產生 該編碼資料之該長檢查碼,其中該第一產生多項式為該第 一產生多項式之至少一個最小多項式(minimum __ 的函式。 10.如申請專利範㈣9項所述之錯誤修正碼之編碼 解碼器’其中該第一產生多項式為該第二產生多項式之至 ^個最小多項式的最小公倍式(least c〇m咖η皿^ LCM)。 ^如申請專利範圍第9項所述之錯誤修正碼之編碼 ,.解碼器,其中該錯誤修正碼編碼器包括: 一短碼字編碼器’依據該第一產生多項式以產生該等 SMI-09-Q32/9031-A42115-TW/Final 10 Γ 201102807 區#又 > 料之該等短檢查石馬; 一第一添附器,附加該等短檢查鳴於該等區段資料之 後以分別產生該等短碼字; 一長碼字編碼器,結合該等短碼字以得到該編碼資 料並依據該第一產生多項式以產生該編碼資料之該長檢 查碼;以及 双 一第二添附器,附加該長檢查碼於該編碼資料之後以 產生該長碼字。 12.如申請專利範圍第8項所述之錯誤修正碼之編碼 解I器纟中g該尋短症狀碼計算完畢後,該錯誤修正喝 解碼器依據該長碼字的該長檢查碼計算該長碼字的一長症 狀碼(long syndrome),檢查是否該長症狀碼為零,當 症狀碼不為料檢4是㈣料零短症狀碼射正^更正 對應之該等短碼字,t該等轉短症狀碼射正確更正 ^之^短碼字時,利用該等非零短症狀碼更正該長症狀 碼以得.一更正後長症狀碼。 解碼二m專利範圍第8項所述之錯誤修正碼之編石馬 蝎器,八中虽該長症狀碼不為零,且該等 之部分無法正確更正對應之該物碼字時,該錯誤=正= =器利⑽長絲碼對無駐確更正的轉短碼钱行 14.如申請專利範圍f 12項所述之錯 解碼器,其中該錯誤修正碼解碼器包括:…1之編碼 V 一症狀碼計算模組,依據該等鱗字㈣ 计鼻該等短碼字的該等短症狀碼,並依據 «SMI-09.Q32/9031-A42115-TW/Final 20 201102807 檢查碼計算該長碼字的該等長症狀碼; 一控制電路’檢查是否該等短症狀碼皆為零,當 短症f碼其巾之該⑽零短絲碼不為零_賴等^ •短症狀碼更正對狀料短碼m是料長症二 零’當該長症狀碼不為科檢查是否該轉零短症狀t 可正確更頌應之該植料,以及#料轉短症狀^ 均可正確更正制之料短碼料彻鮮轉短症狀碼 更正該長症狀碼。When the short wire material is calculated, the long check code of the long code word is used. Ten long symptoms of the long code (1. called syndT〇me); check whether the long symptom code is zero; when the long symptom is not zero, check whether the non-zero short symptom code is Correctly correcting the corresponding short code words; and when the non-zero short symptom codes can correctly correct the corresponding short code words, 'correct the long symptom code by using the non-zero short symptom mothers to obtain one Correct the long symptom code. 6. The method for encoding and decoding the error correction code described in item # of the two patent scopes further includes: when the long symptom code is not zero, and the part of the non-zero short symptom code cannot be correctly corrected. In the case of the short code words, the long symptom code is used to repair the short code words that cannot be correctly corrected. 7. For example, the encoding and decoding method of the error correction code described in the first item of the patent application garden, wherein the long code word and the short code words are BCH codes or RS codes. 8. A code numerator for error correction code, comprising: an error correction code encoder, receiving an original data, dividing the original data into a plurality of segment data, and generating a short check code SMI of the segment data. 09-032/9031-A42115-TW/Final 18-201102807 (short parity), the short check codes are appended to the segment data to respectively generate a plurality of short codewords, combined with the short codes Word for obtaining a coded data 'generating a long check code (k>ngparity) of the coded data, and appending the long check code to the coded data to generate a long codeword for storage in a storage medium; And an error correction code decoder, reading the long codeword from the memory, extracting the short codewords included in the long codeword, and calculating the short codewords according to the short check codes of the short codewords Multiple short symptom codes (sydrome), check if the short symptom code is zero 'and use these non-zero short symptoms when the short symptom code is not zero The code corrects the short code words corresponding to them. 9. The codec of the error correction code described in claim 8 of the patent scope, wherein the error correction code encoder is based on a first generator polynomial (generator p〇lynomial) to generate the segment data. The short check code, and according to a second generating polynomial (genemt〇rp〇lyn〇iniai) to generate the long check code of the encoded data, wherein the first generating polynomial is at least one minimum polynomial of the first generating polynomial (The function of minimum __. 10. The codec of the error correction code described in claim 9 (4), wherein the first generator polynomial is the least common multiple of the minimum polynomial of the second generator polynomial ( The encoding of the error correction code described in claim 9 of the patent scope, the decoder, wherein the error correction code encoder comprises: a short codeword encoder 'according to the The first generating polynomial to generate the SMI-09-Q32/9031-A42115-TW/Final 10 Γ 201102807 area #又> the short check stone horse; a first adder, attaching the short check In these Segment data is followed by respectively generating the short codewords; a long codeword encoder combining the short codewords to obtain the encoded data and generating the long check code of the encoded data according to the first generating polynomial; a second appender, the long check code is appended to the coded data to generate the long code word. 12. The code of the error correction code according to claim 8 of the patent application scope After the code is calculated, the error correction drink decoder calculates a long symptom code of the long code word according to the long check code of the long code word, and checks whether the long symptom code is zero, when the symptom code is not The material inspection 4 is (four) material zero short symptom code shot positive ^ correction corresponding to the short code word, t such short-term symptom code shot correct correction ^ ^ short code word, use the non-zero short symptom code to correct the The long symptom code is obtained. After correcting the long symptom code, the error correction code described in item 8 of the second patent range is decoded, although the long symptom code is not zero, and the parts are When the corresponding codeword cannot be corrected correctly, Error = positive = = device profit (10) filament code for the non-resident correcting short code money line 14. The error decoder as described in claim 12, wherein the error correction code decoder includes: The code V is a symptom code calculation module, and the short symptom codes of the short code words are counted according to the scale words (4), and are calculated according to the check code of «SMI-09.Q32/9031-A42115-TW/Final 20 201102807 The long code word of the long code word; a control circuit 'check whether the short symptom code is zero, when the short f code its towel (10) zero short wire code is not zero _ Lai et al ^ short symptoms The code correction is short for the short code m. It is the long-term symptom of the disease. When the long-term symptom code is not for the examination, it should be turned to zero. The symptom t can be correct and the plant should be correct, and the material can be shortened. Correct correction system material short code material is fresh and short symptoms code to correct the long symptom code. 15. 如申請專利範圍帛8項所述之錯誤修正碼之編碼 解碼器’其中該長碼字及該等短碼字為BCH碼或RS碼= 16. —種錯誤修正碼之解碼方法,包括: 接收該錯誤修正碼之一長碼字(1〇ng c〇dew〇rd),其中該 長碼字包括多個短碼字(short codeword)及一長檢查碼(long parity),每一該等短碼字均包括一短檢查碼(sh〇rtparity); 自該長碼字取出其所包含的該等短碼字; 依據該等短碼字的該等短檢查碼計算該等短碼字的多 個短症狀碼(short syndrome); 檢查是否該等短症狀碼皆為零; 當該等短症狀碼其中之一至數個非零短症狀碼不為零 %’利用該等非零短症狀碼更正對應之該等短碼字,· 當該等短症狀碼計算完畢後,依據該長碼字的該長檢 查碼計异該長碼字的一長症狀碼(long syndrome); 檢查是否該長症狀碼為零; ^ 當該長症狀碼不為零時,檢查是否該等非零短症狀碼 均可正確更正對應之該等短碼字;以及 SMI-09-032/9031-A42115-TW/Final 21= 201102807 當該等非零短症狀碼均可正確更正對狀該等短碼字 時,利用該等非零短症狀碼更正該長症狀碼,以得一更正 後長症狀碼。 π.如申請專利範圍第16項所述之錯誤修正碼之 方法,更包括: @ 當該長症狀碼不為零,且該等非零短症狀碼之部分益 法正確更正對應之該等短碼字時,彻該長症狀碼對無法 正確更正的該等短碼字進行修正。 18. 如申請專利範圍第16項所述之錯誤修正碼之解石馬 方法,其中該等短碼字之該等短檢查碼係依據一第一產生 多項式(generator polynomial)所產生,該長碼字之該長檢省 碼係依據一第二產生多項式(generator polyn〇mial)所產 生’其令該第一產生多項式為該第二產生多項式之至少— 個最小多項式(minimum polynomial)的函式。 19. 如申請專利範圍第16項所述之錯誤修正碼之解碼 方法,其中該第一產生多項式為該第二產生多碩式之至少 一個最小多項式的最小公倍式(least conunan .multiple, LCM)。 20. 如申請專利範圍第16項所述之錯誤修正碼之解碼 方法,其中該長碼字及該等短碼字為BCH碼或RS碼。 SMI-09-032/9031-A42115-TW/Final 2215. The codec of the error correction code described in claim 8 of the patent application, wherein the long codeword and the short codeword are BCH code or RS code = 16. The decoding method of the error correction code includes : receiving a long codeword (1〇ng c〇dew〇rd) of the error correction code, wherein the long codeword includes a plurality of short codewords and a long parity code, each of which The short code words each include a short check code (sh〇rtparity); the short code words contained therein are taken out from the long code words; and the short code words are calculated according to the short check codes of the short code words Multiple short syndromes; check if these short symptom codes are zero; when one of these short symptom codes to several non-zero short symptom codes are not zero%' use of these non-zero short symptoms The code corrects the short codewords corresponding to the codewords, and when the short symptom codes are calculated, the long syndrome code of the long codewords is different according to the long check code of the long codewords; The long symptom code is zero; ^ When the long symptom code is not zero, check if the non-zero short symptom code is Correctly correcting the corresponding short code words; and SMI-09-032/9031-A42115-TW/Final 21= 201102807 When these non-zero short symptom codes can correctly correct the short code words, use The non-zero short symptom code corrects the long symptom code to obtain a corrected long symptom code. π. The method of applying the error correction code described in claim 16 of the patent scope further includes: @ When the long symptom code is not zero, and the part of the non-zero short symptom code corrects the correction correctly When the code word is used, the long symptom code is corrected for the short code words that cannot be correctly corrected. 18. The method of solving the error correction code according to claim 16 wherein the short check codes of the short code words are generated according to a first generator polynomial, the long code The long code of the word is generated according to a second generator polynial (the generator polynomial) which makes the first generating polynomial a minimum polynomial of the second generating polynomial. 19. The decoding method of the error correction code according to claim 16, wherein the first generation polynomial is a least common multiple of at least one minimum polynomial of the second generation multi-study (least conunan .multiple, LCM ). 20. The decoding method of the error correction code according to claim 16, wherein the long codeword and the short codeword are BCH codes or RS codes. SMI-09-032/9031-A42115-TW/Final 22
TW098126686A 2009-07-01 2009-08-10 Method for encoding and decoding an error correction code and coder-decoder TWI397811B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/785,778 US8468432B2 (en) 2009-07-01 2010-05-24 Coder-decoder and method for encoding and decoding an error correction code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US22246809P 2009-07-01 2009-07-01

Publications (2)

Publication Number Publication Date
TW201102807A true TW201102807A (en) 2011-01-16
TWI397811B TWI397811B (en) 2013-06-01

Family

ID=43391438

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098126686A TWI397811B (en) 2009-07-01 2009-08-10 Method for encoding and decoding an error correction code and coder-decoder

Country Status (4)

Country Link
KR (1) KR101314232B1 (en)
CN (1) CN101938280B (en)
TW (1) TWI397811B (en)
WO (1) WO2011000176A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI566091B (en) * 2015-09-10 2017-01-11 慧榮科技股份有限公司 Method for decoding an error correction code, and associated decoding circuit

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8806309B2 (en) * 2011-06-13 2014-08-12 Silicon Motion Inc. Method for controlling message-passing algorithm based decoding operation by referring to statistics data of syndromes of executed iterations and related control apparatus thereof
KR101636406B1 (en) * 2015-01-30 2016-07-05 고려대학교 산학협력단 Preprocessing apparatus and method for low latency of syndrome calculation in bch decoder
EP4123937A1 (en) * 2016-06-19 2023-01-25 LG Electronics, Inc. Data transmission method and transmitter
US20180358989A1 (en) * 2017-06-09 2018-12-13 Western Digital Technologies, Inc. Non-volatile Storage Systems With Application-Aware Error-Correcting Codes
CN115278769A (en) * 2021-04-30 2022-11-01 华为技术有限公司 Data transmission method, device and system and readable storage medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4630271A (en) * 1983-01-20 1986-12-16 Nippon Hoso Kyokai Error correction method and apparatus for data broadcasting system
US5642366A (en) * 1994-07-05 1997-06-24 Adaptec, Inc. Global parity symbol for interleaved reed-solomon coded data
US5782799A (en) * 1997-02-07 1998-07-21 Sarcos, Inc. Method for automatic dosing of drugs
JP2003323751A (en) * 2002-04-30 2003-11-14 Sony Corp Magneto-optical disk
CN100557715C (en) * 2006-08-11 2009-11-04 福昭科技(深圳)有限公司 Utilize one group of ECC circuit parallel to handle the method for multi-group data
US7949927B2 (en) * 2006-11-14 2011-05-24 Samsung Electronics Co., Ltd. Error correction method and apparatus for predetermined error patterns
TWI332611B (en) * 2007-05-24 2010-11-01 Realtek Semiconductor Corp Method for writing data in flash memory and error correction coding/decoding method thereof
US7853857B2 (en) * 2007-09-14 2010-12-14 Motorola Mobility, Inc. Multi-layer cyclic redundancy check code in wireless communication system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI566091B (en) * 2015-09-10 2017-01-11 慧榮科技股份有限公司 Method for decoding an error correction code, and associated decoding circuit
US10404283B2 (en) 2015-09-10 2019-09-03 Silicon Motion Inc. Method and associated decoding circuit for decoding an error correction code
US10848184B2 (en) 2015-09-10 2020-11-24 Silicon Motion, Inc. Method for controlling storage device with aid of error correction and associated apparatus

Also Published As

Publication number Publication date
WO2011000176A8 (en) 2012-12-13
KR101314232B1 (en) 2013-10-02
WO2011000176A1 (en) 2011-01-06
TWI397811B (en) 2013-06-01
KR20130014484A (en) 2013-02-07
CN101938280A (en) 2011-01-05
CN101938280B (en) 2013-09-25

Similar Documents

Publication Publication Date Title
US8468432B2 (en) Coder-decoder and method for encoding and decoding an error correction code
KR101451338B1 (en) Methods and apparatus employing fec codes with permanent inactivation of symbols for encoding and decoding processes
KR100896244B1 (en) Encoding device, decoding device, encoding method, decoding method, and storage apparatus
US8190963B1 (en) Error correction using error detection codes
TW201102807A (en) Method for encoding and decoding an error correction code and coder-decoder
US7721185B1 (en) Optimized reed-solomon decoder
US8429489B2 (en) Data retrieval from a storage device using a combined error correction and detection approach
US9037953B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
US20060085726A1 (en) Apparatus and method for decoding Reed-Solomon code
US8806295B2 (en) Mis-correction and no-correction rates for error control
CN102024501A (en) Memory system and control method for the same
JP2001036417A (en) Device, method and medium for correcting and encoding error, and device, method and medium for decoding error correction code
TW200402620A (en) A method for iterative hard-decision forward error correction decoding
TWI566091B (en) Method for decoding an error correction code, and associated decoding circuit
US9252815B2 (en) Extension of product codes with applications to tape and parallel channels
US8352837B1 (en) System and methods for storing data encoded with error information in a storage medium
TWI334279B (en) Efficient chien search method for reed-solomon decoding and machine readable recording medium comprising instructions for performing the method
US20130198582A1 (en) Supercharged codes
US8181096B2 (en) Configurable Reed-Solomon decoder based on modified Forney syndromes
US9236890B1 (en) Decoding a super-code using joint decoding of underlying component codes
JPH1173797A (en) Storage device
TWI385931B (en) Gray code decoding method and decoder
TW201611527A (en) Fast decoding method for BCH codes
CN117116329A (en) Self-adaptive error correction method, device and system suitable for optical storage
JP2005285205A (en) Information recording and reproducing device