JP2009100369A - 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法 - Google Patents

誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法 Download PDF

Info

Publication number
JP2009100369A
JP2009100369A JP2007271631A JP2007271631A JP2009100369A JP 2009100369 A JP2009100369 A JP 2009100369A JP 2007271631 A JP2007271631 A JP 2007271631A JP 2007271631 A JP2007271631 A JP 2007271631A JP 2009100369 A JP2009100369 A JP 2009100369A
Authority
JP
Japan
Prior art keywords
error
correction
circuit
information
received information
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.)
Pending
Application number
JP2007271631A
Other languages
English (en)
Inventor
Hiroaki Muraoka
寛昭 村岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007271631A priority Critical patent/JP2009100369A/ja
Priority to US12/245,063 priority patent/US20090106634A1/en
Publication of JP2009100369A publication Critical patent/JP2009100369A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1585Determination of error values
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】効率の良い誤り訂正が可能な誤り検出訂正回路、前記誤り検出訂正回路を有する半導体メモリコントローラ、および誤り訂正方法を提供する。
【解決回路】誤り検出訂正回路3は、入力された誤り訂正符号を有する受信情報のシンドロームを算出するシンドローム算出回路7と、誤り位置多項式の導出を行う多項式導出回路8と、受信情報の誤り位置を求めるチェン探索回路9と、受信情報の誤りを訂正する誤り訂正回路10とを備え、誤り訂正回路10は、チェン探索回路9が一の誤り位置を特定する度に、直ちに一の誤り位置の受信情報の誤りを訂正し、出力する。
【選択図】図2

Description

本発明は、受信情報の誤りを訂正し復号する誤り検出訂正回路、前記誤り検出訂正回路を有する半導体メモリコントローラ、および受信情報の誤り検出訂正方法に関し、特に、チェン探索を用いる誤り検出訂正回路等に関する。
誤り検出訂正技術は、ノイズまたは保存媒体の損傷のような様々な理由によって、データを伝送する過程またはデータを保存あるいは再生する過程でエラーが発生する恐れがあるデータ通信またはストレージメディア等の多くの分野で使用されている。
例えば、書き換え可能なであるNAND型フラッシュメモリは、書き換え回数の増加に従ってエラー率が大きくなる傾向がある。特に、NAND型フラッシュメモリは、大容量化すなわち、回路微細化が進むと、エラー率は上昇する傾向がある。このため、特許文献1には、フラッシュメモリチップ内に或いはこれを制御する半導体メモリコントローラに、特定の処理を行う誤り検出訂正回路(ECC回路:Error Correcting Code)を搭載することが記載されている。
誤り符号生成回路により保存前に誤り訂正符号、例えば、BCH(Bose−Chaudhurl−Hocquenghem)符号あるいはBCH符号の線形ブロックコードであるリードソロモン(Reed Solomon;RS)符号が付加された情報の誤りを検出して訂正する回路が誤り検出訂正回路である。そして、誤り検出訂正回路は、保存した情報データを読み出す際に、誤り訂正符号が付加された情報データが入力されると、入力情報データの誤りを検出し訂正する。誤り訂正可能な情報データの誤りの数は、付加されている誤り訂正符号により異なり、t重誤り訂正符号が付加されている情報データでは、t個の誤りが訂正可能である。すなわち、t重誤りBCH符号が付加されている情報データではtビットの、1シンボルが1バイトのt重誤りリードソロモン符号が付加されている情報データではtバイトの、誤りが訂正可能である。
BCH符号およびリードソロモン符号は、いずれも、ガロア体上の原始多項式とその根の性質を使って構成される符号である。しかし、BCH符号が、1ビットを単位として情報を取り扱い、また、誤り訂正符号もビット単位で生成されるのに対して、リードソロモン符号は、たとえば8ビット=1バイトを単位として情報を取り扱い、また、誤り訂正符号もバイト単位で生成される点で異なる。情報と誤り訂正符号がバイト単位で表されるリードソロモン符号では、符号を通信して再生し、これを復号する誤り訂正を行う際にもバイト単位で処理がなされる。そのため、情報の誤りはバイト単位で認識されるため、リードソロモン符号はバイト単位で複数の誤りが生じる可能性の高い場合の誤り訂正に適している。
誤り検出訂正回路は、BCH符号またはリードソロモン符号を有する受信信号を、(1)誤りの有無の確認ステップ、(2)誤りの数の算出ステップ(誤り位置多項式導出ステップ)、(3)誤りの位置の算出ステップ、(4)誤りの訂正ステップの順で処理を行う。
そして、誤りの位置の算出ステップにおいては、チェン探索法が採用されている。チェン探索法では、N次の誤り位置多項式の変数Xに、あり得る全ての値(例えば、0〜M:Mは最終ビット位置または最終バイト位置)を順次、代入して、誤り位置多項式を満たすかどうかを探索していく。そして、N個の解の全てが特定された時点、すなわちN個の誤り全ての位置が特定された時点で、一括して誤っていたデータを訂正し、訂正後の受信情報を出力する。
このため、誤りの位置が受信データの最終部(チェン探索で代入する最後の値)であった場合には、チェン探索で最後の値が代入後において、はじめてデータ訂正および出力が行われる。このため、データが出力されるまでに時間を要していた。さらに、出力インターフェイスの転送バスの容量および速度には制限があるため、大量のデータを一度には出力できない。このため、誤り訂正後の情報出力にも時間を要することがある。
このように、公知の誤り検出訂正回路、前記誤り検出訂正回路を有する半導体メモリコントローラ、および誤り検出訂正方法は効率が悪いことがあった。
特開2007−193910号公報
本発明は、効率の良い誤り訂正が可能な誤り訂正回路、前記誤り訂正回路を有する半導体メモリコントローラ、および誤り検出訂正方法を提供することを目的とする。
本願発明の一態様の誤り検出訂正回路は、入力された誤り訂正符号を有する受信情報のシンドロームを算出するシンドローム算出回路と、前記シンドロームに基づいて生成された誤り位置多項式の導出を行う多項式導出回路と、前記誤り位置多項式から前記受信情報の誤り位置を求めるチェン探索回路と、前記誤り位置の前記受信情報の誤りを訂正する誤り訂正回路とを備えており、前記誤り訂正回路は、前記チェン探索回路が、一の位置の前記受信情報に誤りがないと判断した場合は、直ちに、前記一の位置の前記受信情報を出力し、他の一の位置の前記受信情報に誤りがあると判断した場合は、直ちに、前記他の一の誤り位置の前記受信情報の誤りを訂正し、出力することを特徴とする。
また、本願発明の別の一態様の半導体メモリコントローラは、前記誤り検出訂正回路を有することを特徴とする。
また、本願発明の別の一態様の誤り検出訂正方法は、誤り訂正符号を有する受信情報の誤りを訂正し復号する誤り訂正方法であって、入力された前記受信情報のシンドロームを算出するシンドローム算出ステップと、前記シンドロームに基づいて生成された誤り位置多項式の導出を行う多項式導出ステップと、前記誤り位置多項式から前記受信情報の誤り位置を求めるチェン探索ステップと、前記誤り位置の前記受信情報の誤りを訂正する誤り訂正ステップとを行い、前記誤り訂正ステップは、前記チェン探索ステップが一の前記誤り位置を特定する度に、前記一の誤り位置の前記受信情報の誤りを訂正し、出力することを特徴とする。
本発明は効率の良い誤り訂正が可能な誤り検出訂正回路、前記誤り検出訂正回路を有する半導体メモリコントローラ、および誤り訂正方法(以下、「誤り訂正回路等」という。)を提供するものである。
以下、図面を参照して本発明の実施の形態を説明する。
<第1の実施の形態>
図1は、本願発明の第1の実施の形態にかかる半導体メモリ媒体1の構成を示す構成図である。半導体メモリ媒体1は、パソコンまたはデジタルカメラ等のホスト13から受信したデータを記憶し、記憶したデータをホスト13に送信する記憶媒体であり、例えば、NAND型フラッシュメモリ媒体である。
半導体メモリ媒体1は、メモリアレイ4と半導体メモリコントローラ2とから構成されている。そして、半導体メモリコントローラ2は、CPU6の制御に従い、ホストインターフェイス(I/F)12を介してホスト13とのデータ送受信を、メモリインターフェイス5を介してメモリアレイ4とのデータ送受信を行う。また、誤り符号生成回路11はホストからのデータに誤り訂正符号を生成し、冗長領域に誤り訂正符号を付加する。そして、誤り検出訂正回路3は、メモリアレイからの誤り訂正符号が付加された受信情報の処理に以下の順序で用いられる、シンドロームを算出するシンドローム算出回路7、誤り多項式を導出する多項式導出回路8、誤り位置を探索するチェン探索回路および特定された誤りを訂正する誤り訂正回路10とを有する。
すなわち、ホスト13から、に受信された情報は、誤り訂正符号生成回路11により誤り訂正符号が付加され、メモリインターフェイス(I/F)5を介してメモリアレイ4に記憶される。
メモリアレイ4に記憶された情報は、メモリインターフェイス5を介して半導体メモリコントローラ2に受信され、誤り検出訂正回路3において、誤りの訂正が行われ、ホストインターフェイス12を介してホスト13に出力される。
すなわち、誤り検出訂正回路3においては、最初にシンドローム算出回路7においてシンドロームが算出される。シンドローム算出値がゼロの場合には、誤りの個数Nがゼロであることを意味しており、誤り訂正を行う必要はないため、受信された情報は、図1の(A)の経路に従い、当該位置の情報は、ホストインターフェイス12を介してホスト13に出力される。シンドローム算出値がゼロでない場合、シンドロームを基に、多項式導出回路8において、誤り位置多項式が導出される。ここで、誤り位置多項式の係数がN次の多項式で表された場合には、N個の誤りがあることを意味している。
誤り位置多項式導出により、N個の誤りがあることが発見された場合には、次のステップとして、チェン探索回路9において、順に、誤り位置が特定される。チェン探索回路9においては、情報データのある位置の順に、誤りがあるか無いかが順に特定されていく。本実施の形態の誤り検出訂正回路3においては、誤りがないと判断された位置のデータは、次の位置のデータの誤りの有無を判断する前に、直ちに、図1の(C)の経路に従い、ホストインターフェイス12を介してホスト13に出力される。一方、チェン探索回路9において、誤りがあることが特定された誤り位置の情報は、誤り訂正回路10において誤りが訂正され、図1の(B)の経路に従い、直ちに、ホストインターフェイス12を介してホスト13に出力される。すなわち、本実施の形態の誤り検出訂正回路3においては、チェン検索において、全ての誤り位置が特定されてから一括して訂正および全データの出力が行われていた公知の誤り検出回路と全く異なる処理を行う。
なお、誤り訂正回路における誤り訂正は、具体的には、BCH符号を有するビット信号の場合には、ビット信号のビット反転を行い、リードソロモン符号を有するバイト信号の場合には、さらに連立一次方程式を用いて8ビットのデータとして誤り訂正後の値を算出する。
また、誤り検出訂正回路3または半導体メモリコントローラ2は、図示しないメモリ回路を有していてもよい。メモリ回路は、ホストインターフェイス12へ出力する情報等を一時的に記憶しておくメモリである。メモリ回路を有する誤り検出訂正回路3または半導体メモリコントローラ2では、チェン探索回路9において、誤りが無いと判断された一の情報、あるいは、誤り訂正回路10において誤りが訂正された一の情報または誤りが無かった一の情報を、その一の情報毎に、その一の情報の単位(例えば、1ビットまたは1バイト)で直ちに出力するが、その出力された情報を直ちにホスト13に送信しない場合もある。すなわち、順に出力された一の情報を1ビットまたは1バイト単位でホスト13に送信しないで、ホストインターフェイス12との調整を取りながら、ホストインターフェイス12のバス容量未満の単位であれば、複数まとめて送信することも可能である。例えば、ホストインターフェイス12バスが8ビットであれば、8ビットの誤りが訂正された一の情報(1ビット)または誤りが無かった一の情報情報(1ビット)を出力後に、順にメモリ回路に記憶しておき、8ビット分の情報が記憶された時点で単位で8ビットをまとめてホスト13に送信することもできる。
次に、図2を用いて、第1の実施の形態の誤り検出訂正回路3における処理の流れを、より詳細に説明する。図2は、第1の実施の形態の誤り検出訂正回路における処理の流れを説明するためのフローチャートである。
メモリアレイ4に記憶された情報は、メモリインターフェイス5を介して、受信情報として半導体メモリコントローラ2に入力される(ステップS31)。そして、受信情報から、シンドローム算出回路7においてシンドロームが算出される(ステップS32)。もし、シンドローム算出値がゼロの場合には、誤りの個数Nがゼロであることを意味しており、ステップS33においてYesと判断され、受信信号は図1の(A)の経路により、ホストインターフェイス12を介して直ちにホスト13に送信される。シンドローム算出値がゼロ以外の場合には、ステップS33においてNoと判断され、次に、シンドロームを基に、多項式導出回路8において、誤り位置多項式が導出される(ステップS34)。ここで、誤り位置多項式は、例えば以下の式で示される。
+aN−1N−1+・・・・・・+a+a+a=0
誤り位置多項式の次数Nは、受信信号にN個の誤りが存在していることを示しており、誤り位置多項式を満たすXの値が受信信号内の誤りビットまたはバイトの位置を示している。
そして、以下のステップにおいて、チェン探索回路9においてチェン探索により、誤り位置の特定が行われる。
チェン探索においては、想定される全ての値を誤り位置多項式のXに代入し誤り位置多項式を満たすか否かを検討する。このため、Xに代入していくnの初期値として0を設定する(ステップS36)。そして、nをXに代入し、誤り位置多項式を満たすか否かを判断する(ステップS38)。代入したnが、誤り位置多項式を満たさない場合には、位置nの情報には誤りが無いことを意味する。従って、ステップS38においてNoとなる。
すると、本実施の形態の誤り検出訂正回路においては、M個の全ての情報の誤りの有無の判断結果はもちろん、次の位置n+1の情報の誤りの有無の判断結果を待つことなく、直ちにステップS40において、位置nの情報は図1の(C)に示す経路により、出力される。
反対に、ステップS38において、代入したnが、誤り位置多項式を満たした場合には、位置nの情報に誤りがあることを意味する。すなわち、ステップS38においてYesとなり、その場合にも、全ての位置の情報の誤りの有無の判断結果を待つことなく、直ちにステップS39において、まず誤り訂正回路10により位置nの情報のみの誤りが訂正され、次にステップS40において、誤り訂正後の位置nの情報は図1の(B)に示す経路により、出力される。
そして、ステップS37においてN個の誤り位置の全てが特定されるまで、あるいは、ステップS41においてXに代入していくnの最大値であるMに至るまで、ステップS42においてnを1づつ増加していく。
本実施の形態の誤り検出訂正回路3は、チェン探索回路において、受信情報の中の一の位置に誤りが無いことを確認する度に、誤りの無いことが確認された一の位置の受信情報を直ちに出力する。
また、本実施の形態の誤り検出訂正回路3は、チェン探索回路において、一の誤り位置を特定する度に、特定された一の誤り位置の受信情報の誤りのみを訂正し、直ちに出力する。このため、本実施の形態の誤り検出訂正回路3は、M個の情報の中の全ての誤りが訂正された後に、一括してM個の情報を送信する公知の誤り検出訂正回路と比べて、効率の良い誤り訂正を行うことができる。
すなわち、本実施の形態の誤り検出訂正回路3は、位置Mの受信情報までのチェン探索が終了するのを待たないで、順に処理された情報を出力するため、出力インターフェイスの転送バスの容量および速度の制限の影響を受けにくい。また、ホスト13は全ての誤りが訂正された情報(データ)の出力を待つ必要はなく、順に出力されてきたデータを処理することができる。
言い換えれば、本実施の形態の誤り検出訂正回路3から、出力される情報は、BCH符号処理情報ではビット単位、リードソロモン符号処理情報ではシンボル単位である。従来の誤り検出訂正回路3から出力される情報がMビット、またはMバイトであったのに対して、本実施の形態の誤り検出訂正回路3から、出力される情報の単位は最小では、1ビットまたは1シンボル(例えば1バイト)と極めて小さいため、効率良く、ホストインターフェイス12およびホスト13に出力することができる。
このように、本実施の形態の誤り検出訂正回路3を有する半導体メモリコントローラ2は、上記のように誤り検出訂正回路の効率が良いため、ホストインターフェイス12およびホスト13の待ち時間および負荷が少ない。また、本実施の形態の誤り訂正方法は誤り訂正の効率が良い。
なお、一の誤り訂正符号で処理される情報の数、すなわち、上記のM(厳密にはM+1)、はシステムにより異なるが、250〜16000程度であることが多い。
<第2の実施の形態>
次に、図3および図4を用いて、第2の実施の形態の誤り検出訂正回路における処理の流れを、説明する。図3および図4は、本実施の形態の誤り検出訂正回路における処理の流れを説明するためのフローチャートである。本実施の形態の誤り検出訂正回路等の基本的な構成は、図1に示す第1の実施の形態の構成と同様である。
図3に示す本実施の形態の誤り検出訂正回路のフローチャートは、図2に示した第1の実施の形態の誤り検出訂正回路のフローチャートと類似しており、異なる処理についてのみ説明する。
誤り検出訂正回路3が訂正可能な誤りの個数には限界がある。すなわち、誤り訂正符号付与回路11において付与された誤り訂正符号により、訂正可能な誤りの個数 t は決まっている。このため、ステップS34において発見された誤りの個数Nが、誤り訂正可能な誤りの個数 t に対して同数または(t−1)等のように、多い場合には、誤り訂正を正しく行うことができない場合がある。すなわち、チェン探索において、想定される全ての値をN次の誤り位置多項式のXに代入しても、N個の解が得られないことがある。この場合には、たとえ、チェン探索の途中でN個の未満の解が得られていても、その解を信頼することができない。また、誤り訂正を正しく行うことができない状況であることは、誤り位置多項式のXに最後の値Mを代入するまで解らない。
このため、一の位置の前記受信情報に誤りがない場合には、前記一の位置の前記受信情報を出力し、他の一の位置の前記受信情報に誤りがある場合には、前記他の一の誤り位置の前記受信情報の誤りを訂正し、出力するする第1の実施の形態の訂正回路では、間違った情報を出力してしまう可能性、すなわちシステムの信頼性が低下する可能性があった。
本実施の形態の誤り検出訂正回路3の処理においては、図3に示した最初のステップS30において、誤りの個数の上限許容値 k が入力される。なお、上限許容値 k の入力は毎回行う必要はなく、誤り検出訂正回路3の作成時に入力され固定された値でもよい。
上限許容値 k は、訂正可能な誤りの個数 t を参酌し、システムに要求される信頼性により決定される。上限許容値 k には、1以上の整数が入力され、より高信頼性が要求される場合には小さな値を入力し、逆に、比較的、信頼性の許容範囲が広い場合には、訂正可能な誤りの個数 t と同数でも構わない。なお、経験的にはt重の誤り訂正符号(t個の誤り訂正が可能)が付与された情報の場合、(t―1)個以上の誤りがあると判断された場合、すなわち誤り位置多項式が(t−1)次以上の次数の場合には、誤り訂正を正しく行うことができない場合がありうる。逆に言えば、t重の誤り訂正符号が付与された情報の場合で、誤り位置多項式が(t―1)個未満の次数の場合、すなわち誤りの個数が(t−1)個未満の場合には、誤り訂正を正しく行うことができない場合は極めて希である。
そして、ステップS35において、発見された誤りの個数Nが、上限許容値 k 以下の場合には、図3に示すように、図2に示した第1の実施の形態と同様の処理が行われるが、発見された誤りの個数Nが、上限許容値 k を超える場合には、図4に示すフローチャート(I)からの処理が行われる。
発見された誤りの個数Nが、上限許容値 k 超えた場合には、図3のステップS35から、(I)すなわち、図4のステップS15からの処理が行われる。図4に示す誤り検出訂正回路の処理においては、ステップS17で誤り位置が特定された場合、その誤り位置および全情報を図1に図示しないメモリ回路に一時記憶しておく(ステップS19)。そして、N個の誤り位置の全てが特定された段階(ステップS20)で、N個の誤り位置全てのデータを一括訂正し(ステップS21)、修正後のN個の誤り位置のデータを含めたM個の全データを一括して出力する(、ステップS22)。なお、図4に示したフローチャートの全体(ステップS11〜)は、公知のチェン検索による誤り検出訂正方法である。
一方、図4のステップS16において、想定される全ての値(0からM)をXに代入しても、N個の解が得られなかった場合には、誤り検出訂正回路は訂正不能と判断する(ステップS23)。これは、最大N個の誤り訂正が可能な誤り訂正符号が付与されている情報にN+1個以上の誤りが存在していたためであり、この場合には既に得られていた解も正しいとは保証されないためである。
本実施の形態の誤り検出訂正回路3等は、第1の実施の形態で得られた効果に加えて、多くの誤りが発生しても、正しい誤り訂正が可能となり出力情報の信頼性が高い。かつ、誤り発生が少ない場合には本実施の形態の誤り検出訂正回路3を用いた等は、効率の良い誤り訂正を行うことができるため、ホストインターフェイス12およびホスト13の待ち時間および負荷が少ない。
<第3の実施の形態>
次に、図5を用いて、第3の実施の形態の誤り検出訂正回路3における処理の流れを、説明する。図5は、本実施の形態の誤り検出訂正回路3における処理の流れを説明するためのフローチャートである。本実施の形態の誤り検出訂正回路等の基本的な構成は、図1に示す第1の実施の形態の構成と同様である。
メモリアレイ4に記憶されている情報は、M個の集合体として誤り訂正符号が付与されている。このため、公知の誤り検出訂正回路においては、M個の受信情報の中の一部の情報のみを必要とする場合においても、M個の受信情報の全ての誤り訂正が完了するまで、情報が出力されない。例えば、先頭の位置の1個の情報のみを必要とする場合にもM個の誤り訂正処理が完了するまで、情報は出力されない。このため、公知の誤り検出訂正回路は誤り訂正の効率が悪い場合があった。
これに対して、本実施の形態の誤り検出訂正回路3においては、M個の受信情報の中から予め指定された範囲の受信情報のみの誤り訂正を行い、情報を出力する。すなわち、受信情報内に定義された属性フラグ値等の一部の情報のみを必要とする場合には、その必要な情報のみの誤り訂正を行い、誤り訂正後の情報をすみやかに出力することができる。
図5に示す本実施の形態の誤り検出訂正回路のフローチャートは、図3に示した第2の実施の形態の誤り検出訂正回路のフローチャートと類似しているため、異なる処理についてのみ説明する。
図5に示すように、本実施の形態の誤り検出訂正回路3の処理においては、最初のステップS49において、第2の実施の形態の誤り検出訂正回路と同じく、誤りの個数の上限許容値 k が入力される。
なお、ステップS55において、発見された誤りの個数Nが、上限許容値 k を超える場合には、図4に示すフローチャート(I)からの処理が行われる。発見された誤りの個数N、すなわち、誤り位置多項式の次数が上限許容値 k を超える場合にはチェン探索回路3が、一の位置の前記受信情報に誤りがないと判断しても、全ての位置の誤りが特定されるまでは、チェン探索回路3の判断が正しいか否か確定できないことが経験的にあるからである。
そして、本実施の形態の誤り検出訂正回路3の処理においては、ステップS50において、誤り訂正を行う範囲、すなわち、N1およびN2が入力される。N1およびN2は、0以上で、かつ全情報の個数M以下の整数であり、出力したい所望の情報が存在する位置である。
そして、ステップS56においてチェン探索の誤り位置多項式に代入していくnの初期値としてN1が設定される。そして、チェン探索回路9は、ステップS61においてnがN2になるまでチェン探索を行う。
本実施の形態の誤り検出訂正回路3のチェン探索回路9においては、必要な範囲の情報のみを探索する。このため、本実施の形態の誤り検出訂正回路3等は、第1の実施および第2の実施の形態の誤り検出訂正回路3等で得られた効果に加えて、さらに、効率の良い誤り訂正を行うことができるため、ホストインターフェイス12およびホスト13の待ち時間および負荷が少ない。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
第1の実施の形態にかかる半導体メモリ媒体の構成を説明するための構成図である。 第1の実施の形態の誤り検出訂正回路の処理の流れを説明するためのフローチャートである。 第2の実施の形態の誤り検出訂正回路の処理の流れを説明するためのフローチャートである。 第2の実施の形態の誤り検出訂正回路の処理の流れを説明するためのフローチャートであり、かつ、その全体は公知の誤り検出訂正回路の処理の流れを説明するフローチャートである。 第3の実施の形態の誤り検出訂正回路の処理の流れを説明するためのフローチャートである。
符号の説明
1…半導体メモリ媒体、2…半導体メモリコントローラ、3…誤り検出訂正回路、4…メモリアレイ、6…CPU、7…シンドローム算出回路、8…多項式導出回路、9…チェン探索回路、10…誤り訂正回路、11…訂正符号生成回路、13…ホスト

Claims (5)

  1. 入力された誤り訂正符号を有する受信情報のシンドロームを算出するシンドローム算出回路と、
    前記シンドロームに基づいて生成された誤り位置多項式の導出を行う多項式導出回路と、
    前記誤り位置多項式から前記受信情報の誤り位置を求めるチェン探索回路と、
    前記誤り位置の前記受信情報の誤りを訂正する誤り訂正回路とを備え、
    前記誤り訂正回路は、前記チェン探索回路が、
    一の位置の前記受信情報に誤りがないと判断した場合は、直ちに前記一の位置の前記受信情報を出力し、
    他の一の位置の前記受信情報に誤りがあると判断した場合は、直ちに前記他の一の誤り位置の前記受信情報の誤りを訂正し、出力することを特徴とする誤り検出訂正回路。
  2. 前記チェン探索回路は、前記誤り位置多項式の次数が所定の次数を超える場合には、全ての前記誤り位置の前記受信情報の誤りを訂正した後、前記受信情報を一括して出力することを特徴とする誤り検出訂正回路。
  3. 前記チェン探索回路は、前記受信情報の一部の範囲の前記誤り位置のみを特定することを特徴とする請求項1または請求項2に記載の誤り検出訂正回路。
  4. 請求項1から請求項3の何れか1項に記載の誤り検出訂正回路を有することを特徴とする半導体メモリコントローラ。
  5. 誤り訂正符号を有する受信情報の誤りを訂正し復号する誤り検出訂正方法であって、
    入力された前記受信情報のシンドロームを算出するシンドローム算出ステップと、
    前記シンドロームに基づいて生成された誤り位置多項式の導出を行う多項式導出ステップと、
    前記誤り位置多項式から前記受信情報の誤り位置を求めるチェン探索ステップと、
    前記誤り位置の前記受信情報の誤りを訂正する誤り訂正ステップとを行い、
    前記誤り訂正ステップは、前記チェン探索ステップが一の前記誤り位置を特定する度に、前記一の誤り位置の前記受信情報の誤りを訂正し、出力することを特徴とする誤り検出訂正方法。
JP2007271631A 2007-10-18 2007-10-18 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法 Pending JP2009100369A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007271631A JP2009100369A (ja) 2007-10-18 2007-10-18 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法
US12/245,063 US20090106634A1 (en) 2007-10-18 2008-10-03 Error detecting and correcting circuit using chien search, semiconductor memory controller including error detecting and correcting circuit, semiconductor memory system including error detecting and correcting circuit, and error detecting and correcting method using chien search

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007271631A JP2009100369A (ja) 2007-10-18 2007-10-18 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法

Publications (1)

Publication Number Publication Date
JP2009100369A true JP2009100369A (ja) 2009-05-07

Family

ID=40564722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007271631A Pending JP2009100369A (ja) 2007-10-18 2007-10-18 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法

Country Status (2)

Country Link
US (1) US20090106634A1 (ja)
JP (1) JP2009100369A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990667B2 (en) 2012-08-03 2015-03-24 Samsung Electronics Co., Ltd. Error check and correction circuit, method, and memory device
US9384083B2 (en) 2012-09-24 2016-07-05 Samsung Electronics Co., Ltd. Error location search circuit, and error check and correction circuit and memory device including the same

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678917B1 (ko) 2010-09-16 2016-11-24 삼성전자주식회사 디코더, 이의 동작방법, 및 이를 포함하는 장치들
DE102010041680B9 (de) * 2010-09-29 2014-09-18 Infineon Technologies Ag Vorrichtung und Verfahren zum Bestimmen einer Position eines 1-Bit-Fehlers in einer codierten Bitsequenz, Vorrichtung und Verfahren zur Korrektur eines 1-Bit-Fehlers in einer codierten Bitsequenz und Decodierer und Verfahren zum Decodieren einer fehlerhaften, codierten Bitsequenz
US8640013B2 (en) * 2011-09-22 2014-01-28 Kabushiki Kaisha Toshiba Storage device
JP2014241057A (ja) * 2013-06-12 2014-12-25 ソニー株式会社 インターフェース制御回路、メモリシステム、および、インターフェース制御回路の制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01315834A (ja) * 1988-06-16 1989-12-20 Mitsubishi Electric Corp 誤り訂正符号の復号化回路
JPH03121627A (ja) * 1989-10-04 1991-05-23 Toshiba Corp チエンサーチ回路
JPH06112845A (ja) * 1992-09-30 1994-04-22 Kyocera Corp 誤り信号訂正装置
JP2002164792A (ja) * 2000-10-25 2002-06-07 Samsung Electronics Co Ltd 高速ブロックパイプライン構造のリード−ソロモンデコーダに適用するためのメモリ装置及びメモリアクセス方法並びにそのメモリ装置を備えたリード−ソロモンデコーダ
JP2007193910A (ja) * 2006-01-20 2007-08-02 Toshiba Corp 半導体記憶装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030192007A1 (en) * 2001-04-19 2003-10-09 Miller David H. Code-programmable field-programmable architecturally-systolic Reed-Solomon BCH error correction decoder integrated circuit and error correction decoding method
US20030140302A1 (en) * 2002-01-23 2003-07-24 Litwin, Louis Robert Chien search cell for an error-correcting decoder

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01315834A (ja) * 1988-06-16 1989-12-20 Mitsubishi Electric Corp 誤り訂正符号の復号化回路
JPH03121627A (ja) * 1989-10-04 1991-05-23 Toshiba Corp チエンサーチ回路
JPH06112845A (ja) * 1992-09-30 1994-04-22 Kyocera Corp 誤り信号訂正装置
JP2002164792A (ja) * 2000-10-25 2002-06-07 Samsung Electronics Co Ltd 高速ブロックパイプライン構造のリード−ソロモンデコーダに適用するためのメモリ装置及びメモリアクセス方法並びにそのメモリ装置を備えたリード−ソロモンデコーダ
JP2007193910A (ja) * 2006-01-20 2007-08-02 Toshiba Corp 半導体記憶装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990667B2 (en) 2012-08-03 2015-03-24 Samsung Electronics Co., Ltd. Error check and correction circuit, method, and memory device
US9384083B2 (en) 2012-09-24 2016-07-05 Samsung Electronics Co., Ltd. Error location search circuit, and error check and correction circuit and memory device including the same

Also Published As

Publication number Publication date
US20090106634A1 (en) 2009-04-23

Similar Documents

Publication Publication Date Title
US8468432B2 (en) Coder-decoder and method for encoding and decoding an error correction code
KR102828487B1 (ko) 메모리 모듈, 이를 포함하는 메모리 시스템 및 이의 에러 정정 방법
KR101819152B1 (ko) 오류 정정 코드를 디코딩하기 위한 방법 및 이와 관련된 디코딩 회로
JP2001175542A (ja) 記録再生装置および半導体メモリ
US9432057B1 (en) Forward error correcting code encoder and decoder method and apparatus
US20080320369A1 (en) Data retrieval from a storage device using a combined error correction and detection approach
US9164831B2 (en) Memory controller, semiconductor storage device, and decoding method
US8370727B2 (en) Method and circuit for decoding an error correction code
JP2009100369A (ja) 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法
CN101938280B (zh) 错误修正码的编码及解码方法以及编码解码器
US11824560B2 (en) ECC decoders having low latency
CN100393017C (zh) 处理(m)或(2m)比特数据的里德-索罗门解码器及其解码方法
JP5667408B2 (ja) リードソロモン符号・復号化回路、リードソロモン符号・復号化方法、および、記憶装置
TWI551060B (zh) Bch解碼方法及其解碼器
KR101569637B1 (ko) 테스트 신드롬을 이용한 반복 복호 과정이 없는 연판정 bch 복호 방법 및 장치
KR101154923B1 (ko) 비씨에이치 디코더, 이를 포함하는 메모리 시스템 및 비씨에이치 디코딩 방법
KR20000067136A (ko) 가변 처리가 가능한 파이프라인 구조의 리드 솔로몬 복호기
CN103098378A (zh) 分布式ecc处理的系统和方法
US8209589B2 (en) Reed-solomon decoder with a variable number of correctable errors
JP2005057741A (ja) インラインワイヤ誤り訂正
KR20140074600A (ko) 비씨에이치 디코더, 이를 포함하는 메모리 시스템 및 디코딩 방법
KR20250172270A (ko) 에러 정정 코드 회로, 그의 동작 방법, 및 스토리지 장치
KR19990039252A (ko) 이레이저 정정방법 및 그 장치
JP2013069377A (ja) 復号方法、復号装置および記憶装置
CN101795140A (zh) 纠错码的解码方法及电路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110823