JP2008165808A - 誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置 - Google Patents

誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置 Download PDF

Info

Publication number
JP2008165808A
JP2008165808A JP2007340739A JP2007340739A JP2008165808A JP 2008165808 A JP2008165808 A JP 2008165808A JP 2007340739 A JP2007340739 A JP 2007340739A JP 2007340739 A JP2007340739 A JP 2007340739A JP 2008165808 A JP2008165808 A JP 2008165808A
Authority
JP
Japan
Prior art keywords
data
error
code data
error position
ecc
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
JP2007340739A
Other languages
English (en)
Inventor
Young-Tae Yim
容 兌 任
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2008165808A publication Critical patent/JP2008165808A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/267Reconfiguring circuits for testing, e.g. LSSD, partitioning
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

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

Abstract

【課題】誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置を提供する。
【解決手段】本発明によるエラー訂正回路は、ECCエンコーダ及びECCデコーダを備える。ECCエンコーダは、情報データ及び生成多項式に基づいて、h(2以上の整数)ビットエラー訂正が可能なシンドロームデータを発生させる。ECCデコーダは、情報データとシンドロームデータを含む符号データとに基づいて、情報データから最大(h−j)ビットのエラー位置を算出する単一モードで動作できる。ECCデコーダは、情報データとシンドロームデータを含む符号データとに基づいて、情報データから最大hビットのエラー位置を算出する第1動作モードまたは情報データから最大(h−j)ビットのエラー位置を算出する第2動作モードで動作できる。
【選択図】図7

Description

本発明は、半導体メモリ装置に係り、より詳細には、エラー訂正回路(ECC:Error Check/Correction Circuit)、エラー訂正方法及び前記エラー訂正回路を備える半導体メモリ装置に関する。
半導体メモリ装置のメモリ容量の増加につれて、欠陥メモリセルのエラーを復旧できるエラー訂正回路を使うことが必要となる。通常のエラー訂正回路は、大きくリダンダンシメモリセル方式のエラー訂正回路とECC方式のエラー訂正回路とに分けることができる。
リダンダンシメモリセル方式のエラー訂正回路を有する半導体メモリ装置は、ノーマル(正常)メモリセル及びリダンダンシ(予備)メモリセルを有する。この方式を使う半導体メモリ装置は、欠陷(エラー)が存在するメモリセルをリダンダンシメモリセルに取り替えてデータを書込み/読出す。この方式は、DRAM(Dynamic Random Access Memory)によく使われる。
一方、ECC方式のエラー訂正回路を有する半導体メモリ装置は、データビット以外にリダンダンシデータ(パリティデータあるいはシンドロームデータと称する)を生成して保存し、この次パリティビットを用いてエラー発生有無を判断してエラーを訂正する。
ECC方式のエラー訂正回路は、読み取り専用メモリ(ROM)方式の半導体メモリ装置によく使われる。特に、電気的に消去及びプログラムが可能なメモリセル(EEPROM cells)を有するフラッシュメモリ装置に多く使われる。
しかし、ECC方式のエラー訂正回路は、その特性上、訂正可能な範囲を外れるエラーが発生した時、エラーを誤って訂正する場合(誤り訂正、miscorrectionと称する)が発生することがある。528バイト情報データに対する5−ビットエラー検出及び4−ビットエラー訂正ECC(以下、5−bit EDC/4−bit ECC)の場合を例を挙げれば、6−ビット以上のエラーが発生する確率をPとした時、誤り訂正(miscorrection)確率は、約P×0.0015程度になる。大部分の場合、この程度のエラー訂正能力であれば、システムの動作に問題がない。
しかし、半導体メモリ装置の急激な劣化による大量のエラー発生、電源不良(power failure)による多重バーストエラー(multiple burst error)の発生などの特定の状況では、約P×0.0015程度の誤り訂正確率もシステムの安定性を劣化させる非常に重要な要因になりうる。したがって、誤り訂正可能性を減少させる方策が要求される。
従来の技術では、誤り訂正確率を減少させるために、一般的にCRCデータをさらに添加してECCの誤り訂正をCRCデータに検出する方法を採用する。
図1は、通常のエンコーダの機能ブロック図である。図1を参照すれば、従来技術によるエンコーダは、情報データのエンコーディングのためにCRCエンコーダ12及びECCエンコーダ14を備える。
CRCエンコーダ12は、本来のECCの対象となるデータ、すなわち、メモリ(図示せず)に保存するためにホストから受信されるデータ(host write data)のCRCデータ(CRC parity)を求めて、これを情報データに追加する。CRCデータ(CRC parity)は、図2に図示されたように、16ビットデータであり得る。
ECCエンコーダ14は、CRCデータが追加されたデータ、すなわち、‘host write data+CRC parity’に対してECCのためのECCパリティデータ(ECC parity、あるいはシンドロームデータと称する)を求める。ECCエンコーダ14が4−ビットECCエンコーダである場合、ECCパリティデータ(ECC parity)は52ビットデータであり、もし、1ビットの偶数パリティビット(even parity bit)あるいは奇数パリティビット(odd parity bit)が追加されれば、ECCパリティデータ(ECC parity)は、図2に図示されたように、53ビットデータであり得る。
図2は、通常の符号データ(encoded data)の構造を表わす図である。これを参照すれば、CRCエンコーダ12を経た後のデータは、‘ホストから受信されたデータ(host write data)+CRCデータ(CRC parity)’である。ECCエンコーダ14まで経た後のデータは、‘ホストから受信されたデータ(host write data)+CRCデータ(CRC parity)+ECCパリティデータ(ECC parity)’であり、このデータがメモリ(図示せず)に保存される。
図3は、通常のデコーダの機能ブロック図である。
これを参照すれば、従来技術による半導体メモリ装置は、データのデコーディングのためにECCデコーダ22、CRCデコーダ24及び選択器26を備える。
従来技術による半導体メモリ装置は、エンコーディング過程の逆順、すなわち、メモリから読出されたデータに対してECCデコーディングをした後、CRCデコーディングを実行する。
ECCデコーダ22は、メモリから読出されたデータに対してECCデコーディングを実行してエラー位置を検出し、検出されたエラー位置によってエラーが発生したビットを訂正する。CRCデコーダ24は、ECCデコーダ22によってエラー訂正されたデータ(corrected data)を受信してCRCエンコーダ12と同一な方法でCRCデータを生成させ、生成されたCRCデータとメモリから読出されたCRCデータとが同一であるか否かを比べてエラー発生有無を判断する。CRCデコーダ24は、前記判断結果によってパス/フェイル(pass/fail)信号を出力する。
選択器26は、パス/フェイル信号に応答して、ECCデコーダ22から出力されるエラー訂正されたデータ(corrected data)と既定の訂正不可エラーデータ(uncorrectable error data)のうち何れか一つを選択して、読出データ(host read data)としてホストに出力する。
前述した従来技術によるCRCとECCとを結合したエラー訂正方式の場合、5−bit EDC/4−bit ECCの誤り訂正確率は、CRC回路を使わない場合に比べてP×0.0015×2−16レベルに減少する。しかし、余分のCRC回路の追加によってCRCコーデック(エンコーダ+デコーダ)の追加だけではなく、これを制御するための制御ロジックの追加が必然的に伴う。また、エンコーディングとデコーディング過程でCRCを実行しなければならないので、これによる余分の時間(すなわち、クロックサイクル)をさらに必要とする。
したがって、ハードウェアの追加及びエラー訂正時間の増加を最小化しながら、効果的にECCの誤り訂正確率を減少させうる方策が要求される。
本発明の技術的課題は、前記ハードウェア追加及びエラー訂正時間の増加を減らし、エラーを誤って訂正する誤り訂正(miscorrection)確率を減らすことによって、データの信頼性を向上させうるエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置を提供することである。
本発明の実施形態による半導体装置は、誤り訂正確率を減少させるために、デコーディング過程でエンコーディング過程よりさらに少ないECCビットを使うエラー訂正回路を提供する。本発明の実施形態は、また、マルチビットエラーの確率に基づいて二つの代替モードのうち、一つのモードで選択的に動作できるように構成された回路を提供する。本発明の実施形態は、CRCエンコーダ、CRCデコーダ、及び関連した制御ロジックを要しない長所がある。
したがって、本発明の実施形態によるエラー訂正回路は、従来のCRCコーデックを利用したエラー訂正回路に比べてハードウェアを減少させることができ、エラー訂正時間を短縮させうる。
本発明の一実施形態によれば、情報データ及び生成多項式に基づいて、h(2以上の整数)ビットエラー訂正が可能なシンドロームデータを発生させ、前記情報データと前記シンドロームデータを含む符号データとを出力するECC(Error Check and Correction)エンコーダと、前記符号データを受信するように接続され、第1動作モードで前記符号データに基づいて前記情報データから最大(h−j)ビットのエラー位置を算出するECCデコーダと、を備え、前記jは、1以上の整数であるメモリ装置が提供される。
本発明の他の実施形態によれば、情報データ及び生成多項式に基づいて、h(2以上の整数)ビットエラー訂正が可能なシンドロームデータを発生させる段階と、前記情報データと前記シンドロームデータを含む符号データとをメモリに保存する段階と、前記符号データを前記メモリから読出す段階と、前記符号データに基づいて、前記情報データから最大(h−j)ビットのエラー位置を検出する段階と、前記検出されたエラー位置に基づいて前記符号データを訂正する段階と、を備え、前記jは、1以上の整数であるエラー訂正方法が提供される。
本発明の他の実施形態によれば、情報データ及び生成多項式に基づいて、h(2以上の整数)ビットエラー訂正が可能なシンドロームデータを発生させる段階と、前記情報データと前記シンドロームデータを含む符号データとをメモリに保存する段階と、前記符号データを前記メモリから読出す段階と、第1動作モードまたは第2動作モードで進行するか否かを決定する段階と、前記第1動作モードでは、前記符号データを用いて前記情報データから最大(h−j)ビットの第1エラー位置を算出する段階と、前記第2動作モードでは、前記符号データを用いて前記情報データから最大hビットの第2エラー位置を算出するエラー位置算出段階と、該算出された前記第1エラー位置または前記第2エラー位置に基づいて前記符号データを訂正する段階と、を備え、前記jは、1以上の整数であるエラー訂正方法が提供される。
本発明によれば、ハードウェア追加及びエラー訂正時間の増加を最小化しながら、エラーを誤って訂正する誤り訂正(miscorrection)確率を減らしうる。したがって、データの信頼性が向上する。
本発明と本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び添付図面に記載された内容を参照しなければならない。
以下、添付した図面を参照して、本発明の望ましい実施形態を説明することによって、本発明を詳しく説明する。各図面に付された同一の参照符号は、同一の部材を表わす。
図4は、本発明の一実施形態による半導体メモリ装置の機能ブロック図である。
これを参照すれば、本発明の一実施形態による半導体メモリ装置300は、ECC回路420、430及びECC回路420、430に接続されたメモリコア310を備える。ECC回路420、430は、ECCエンコーダ420及びECCデコーダ430を含む。
ECCエンコーダ420は、ホスト(図示せず)から受信される情報データWR_DATA及び生成多項式に基づいて、h(2以上の整数)ビットエラー訂正が可能なシンドロームデータを発生させる。すなわち、ECCエンコーダ420は、h−ビットECC生成多項式を使って情報データWR_DATAをエンコーディングする。生成多項式については、後述する。
したがって、情報データ及びシンドロームデータを含むエンコーディングされたデータがメモリコア310に保存される。
図6は、本発明の実施形態によるエンコーディング前のデータとエンコーディングされたデータとの一例を表わす図である。これを参照すれば、エンコーディング前のデータ(a)は、情報データを意味し、エンコーディングされたデータ(すなわち、エンコーディング後のデータ、(b))は、情報データにシンドロームデータが追加されたデータであって、これを符号データあるいはECCワードと称する。
メモリコア310は、データを保存するためのメモリセルアレイを備えるブロックである。メモリセルアレイは、フローティングゲート(floating gate)を有する電気的に消去及びプログラムが可能なメモリセル(EEPROM cells)で構成することができるが、これに限定されるものではない。
ECCデコーダ430は、メモリコア310から読出された符号データを用いてエラー位置を算出する。エラー位置とは、エラーが発生したビットの位置を言う。ECCデコーダ430は、また算出されたエラー位置によって、エラーが発生したビットを訂正することもできる。このとき、ECCデコーダ430は、最大(h−j)ビットまでエラー訂正を実行する(h−j)ビットECCデコーダである。ECCデコーダ430は、(h−j+1)ビットのエラーを検出(detection)できるデコーダとすることができる。すなわち、ECCデコーダ430は、(h−j)ビットECC/(h−j+1)ビットEDC(error detection code)デコーダとすることができる。ここで、jは、1以上の整数である。ECCデコーダ430によってエラー訂正されたデータRD_DATAがホスト(図示せず)に出力される。
前述したように、本発明の一実施形態によるエラー訂正回路420、430は、エンコーディング時はh−ビット(例えば、5−ビット)ECC生成多項式を使ってエンコーディングを実行するので、コード間の距離、すなわち、ハミング距離(hamming distance)が大きくなった一方、デコーディングを通じるエラー訂正は、hビットより少ないビット(例えば、4−ビット)までのみ実行するので、エラー訂正半径は減る。したがって、誤り訂正が発生する確率も減るようになり、この確率を求めて見れば、5−ビットECCエンコーディングと4−ビットECCデコーディングとを使った場合、約P×0.0015×2−13レベルになる。ここで、Pは、6−ビット以上のエラーが発生する確率である。
図5は、本発明の他の一実施形態による半導体メモリ装置の機能ブロック図である。
これを参照すれば、本発明の他の一実施形態による半導体メモリ装置500は、ECC回路420、530及びECC回路420、530に接続されたメモリコア310を備える。ECC回路420、530は、ECCエンコーダ420及びECCデコーダ530を含む。
メモリコア310及びECCエンコーダ420は、図4を参照して前述したところと同一なので、これについての詳細な説明は省略する。
ECCデコーダ530は、ホストから受信される動作モード信号MODEに応答して、第1動作モードまたは第2動作モードで動作する。第1動作モードでは、ECCデコーダ530は、メモリコア310から読出された符号データを用いて最大hビットまでのエラー位置を算出し、算出されたエラー位置によってエラーが発生したビットを訂正する。第2動作モードでは、ECCデコーダ530は、メモリコア310から読出された符号データを用いて最大(h−j)ビットまでのエラー位置を算出し、算出されたエラー位置によってエラーが発生したビットを訂正する。ここで、jは、1以上の整数である。すなわち、ECCデコーダ530は、動作モード信号MODEに基づいて、h−ビットECCデコーダまたは(h−j)ビットECCデコーダとして動作する。ECCデコーダ530が(h−j)ビットECCデコーダとして動作する場合、ECCデコーダ530の機能は、前述したECCデコーダ430と同一である。ECCデコーダ530がh−ビットECCデコーダとして動作する場合、ECCデコーダ530は、(h+1)ビットのエラーを検出できるデコーダであり得る。すなわち、h−ビットECC/(h+1)−ビットEDCデコーダであり得る。
表1は、動作モードによるECCビット数とEDCビット数とを表わすものであって、h−ビットECCエンコーダ420に対するECCデコーダ530の選択的構成を要約する。
Figure 2008165808
ECCデコーダ530によってエラー訂正されたデータRD_DATAが、ホスト(図示せず)に出力される。下記に記述するように、第1動作モードは、マルチビットエラー確率が相対的に低い正常動作状態に最も適切であり、第2動作モードは、マルチビットエラー確率が相対的に高い非正常動作状態に最も適切である。
図7は、図5に図示された半導体メモリ装置の詳細ブロック図である。
半導体メモリ装置500は、直列に接続されたメモリコア310、ECC回路520、ホストインターフェース及びロジック部330とを備える。
ホストインターフェース及びロジック部330は、ホスト200(例えば、モバイル機器のコントローラ、コンピュータ装置のコントローラなど)とメモリコア310との間のインターフェースのための制御及びバッファリング役割を実行する。
ホストインターフェース及びロジック部330は、SRAM(Static Random Access Memory、図示せず)のようなメモリを備えることができる。ホスト200が、半導体メモリ装置500にデータを書込めば、そのデータはECC回路520によって符号化されてメモリコア310(例えば、フラッシュメモリコア)に記録される。メモリコア310から読出されたデータは、ECC回路520によってエラーが検出されて訂正されてSRAM(図示せず)に保存され、ホスト200はSRAM(図示せず)に保存されたエラー訂正されたデータを読出す。
ホストインターフェース及びロジック部330は、ホスト200とd(2以上の整数)ビットの並列データを送受信できる。
ECC回路520は、ECCラッパ410、ECCエンコーダ420及びECCデコーダ530とを備える。
ECCラッパ(ECC wrapper)410は、ホストインターフェース及びロジック部330を介して受信されるk(2以上の整数、例えば、4096)ビット情報データに各ビットが所定ロジック値(例えば、“0”を有するn−k(1以上の整数、例えば、66)ビットのダミーデータを追加して、合計n(例えば、4096+66=4162)ビットデータを直列または並列に出力する。
nビットデータは、ECCエンコーダ420に入力される。
ECCエンコーダ420の一具現例が図9に図示される。
図9を参照すれば、ECCエンコーダ420は、シンドローム生成器421及びXOR(exclusive−OR)演算器423を含む。シンドローム生成器421の入力端はXOR演算器423の第1入力端と連結され、シンドローム生成器421の出力端はXOR演算器423の第2入力端と連結される。
シンドローム生成器421は、ECCラッパ410からnビットデータ(すなわち、kビット+(n−k)ビットのダミー(dummy)データ)を受信し、受信されたデータを特定データに分けてn−kビットの残りデータ(すなわち、n−kビットで構成されるシンドロームデータ)を生成させる。特定データを生成多項式(generator polynomial、G(x))と称する。(n−k)は、訂正可能な最大エラービット数及び/または検出可能な最大エラービット数によって決定される。
XOR(exclusive−OR)演算器423は、ECCラッパ410から受信されるnビットデータとシンドロームデータとを排他的論理和(XOR)する。すなわち、XOR(exclusive−OR)演算器423によって(n−k)ビットのダミーデータが残りデータに取り替えられる。
結局、ECCエンコーダ420は、kビットの情報データと(n−k)ビットの残りデータ(シンドロームデータ)とを加えることで、nビットの符号データを生成させる。情報データ、シンドロームデータ及び符号データをそれぞれI(x)、S(x)、C(x)とすれば、これらデータ間の関係は、次の数式1のようである。
[数式1]
S(x)=xn−kI(x)% G(x)、
C(x)=xn−kI(x)+S(x)=Q(x)G(x)
ここで、xn−kI(x)は、kビットの情報データI(x)を(n−k)ビットだけMSB(most significant bit)方向にシフトさせた値であり、% G(x)は、モジュロ(modulo)−G(x)演算を意味し、Q(x)は、C(x)をG(x)で割った商である。
本実施形態では、ECCエンコーダ420が5−ビットECCエンコーダであり、ECCデコーダ530は、5−ビットECC/4−ビットECCデコーダであると仮定する。すなわち、hは5であり、jは1である場合を仮定する。この場合、(n−k)は66であり、G(x)は66次多項式、S(x)は65次多項式である。
nビット符号データは、メモリコア310に入力される。メモリコア310のセルアレイ領域は、情報データを保存するための領域と、シンドロームデータを保存するための領域に区分されることもある。または、情報データ領域とシンドロームデータ領域とを区分せず、nビット符号データがメモリセルアレイに保存されることもある。
メモリコア310に保存された符号データが外部に出力される場合には、メモリコア310からkビット情報データ及び(n−k)ビットパリティデータを含むnビット符号データが読出されてECCラッパ410に入力される。このとき、ECCラッパ410は、nビット符号データをバッファリングする役割を果す。
ECCデコーダ530は、ECCラッパ410に連結される第1ないし第5部分シンドローム生成器(partial syndrome generator)431、433、435、437、439、第1ないし第5部分シンドローム生成器431、433、435、437、439に連結される係数計算器541、係数計算器541に連結されるモード設定部551、係数計算器541に連結されるエラー位置検出器552、モード設定部551とエラー位置検出器552に連結されるエラー訂正器443とを備える。
ECCデコーダ530は、また図7に図示されたように、ECCラッパ410とエラー訂正器443に連結されるパリティチェッカ444とをさらに備えることができる。パリティチェッカ444は、偶数パリティチェッカ(even parity checker)であり、奇数パリティチェッカ(odd parity checker)であり得る。ECCデコーダ530がパリティチェッカ444を備える場合には、ECCエンコーダ420は、符号データに対する偶数パリティビット(even parity bit)あるいは奇数パリティビット(odd parity bit)(以下、第1パリティビットと称する)を生成させるパリティビット生成器(図示せず)をさらに備える。パリティチェッカ444は、メモリコア310から読出される符号データに対して偶数パリティビットあるいは奇数パリティビット(以下、第2パリティビットと称する)を生成させて第1パリティビットと比べることによって、符号データにエラーが発生したか否かを判断できる。
第1ないし第5部分シンドローム生成器431、433、435、437、439は、メモリコア310から出力されたnビット符号データをそれぞれ自身の特定データに分けて部分シンドロームS、S、S、S、Sを生成させる。
メモリコア310から出力されたnビット符号データをR(x)とし、各部分シンドローム生成器431、433、435、437、439の特定データ、すなわち、部分生成多項式をそれぞれm(x)、m(x)、m(x)、m(x)、m(x)とすれば、これらデータ間の関係は、次の数式2の通りである。
[数式2]
(x)= R(x)% m(x)、
(x)= f{R(x)% m(x)}、
(x)= f{R(x)% m(x)}、
(x)= f{R(x)% m(x)}、
(x)= f{R(x)% m(x)}、
ここで、S(x)、S(x)、S(x)、S(x)及びS(x)は、それぞれ第1ないし第5部分シンドローム生成器431、433、435、437、439から生成される部分シンドローム S、S、S、S、Sであり、%は、モジュロ演算を意味する。数式2から分かるように、S(x)は、R(x)% m(x)から直接的に算出されうるが、 S(x)、S(x), S(x)及び S(x)は、それぞれR(x)% m(x)、R(x)% m(x), R(x)% m(x)及びR(x)% m9(x)を用いて算出される。
生成多項式G(x)と第1ないし第5部分シンドローム生成器431、433、435、437、439の部分生成多項式 m(x)、m(x)、m(x)、m(x)、m(x)の関係は、次の数式3のように決定されうる。
[数式3]
G(x)=m(x)* m(x)* m(x)* m(x)* m(x)
ここで、*は、ガロア体乗算を意味する。
第1ないし第5部分シンドローム S、S、S、S、Sがすべて0であれば、符号データにエラーがないことである。そうではない場合、すなわち、第1ないし第5部分シンドローム S、S、S、S、Sのうち何れか一つでも0ではなければ、符号データのうち少なくとも一つのビットにエラーが発生したことを意味する。
エラーが発生した場合には、係数計算器(coefficient calculator)541は、モード設定部551の制御信号CONに応答して第1ないし第5部分シンドローム S、S、S、S、Sの全部あるいは一部を用いてエラー位置方程式の係数を算出する。
モード設定部551は、ホストから受信される動作モード信号MODEに応答して動作モードを設定して制御信号CONを発生させる。例えば、設定された動作モードが第1動作モードである場合、係数計算器541は、第1ないし第5部分シンドローム S、S、S、S、Sを用いて第1エラー位置方程式の係数を算出する。
設定された動作モードが第2動作モードである場合、係数計算器541は、第1ないし第4部分シンドローム S、S、S、Sを用いて第2エラー位置方程式の係数を算出する。
エラー位置方程式は、エラービットの逆数を根とする方程式である。
エラー位置方程式の係数σ、σ、σ、σ 、σと部分シンドローム S、S、S、S、Sとの関係は、多様なアルゴリズムを通じて求めることができ、次の数式4ないし数式5は、その求められた関係式の一例を表わしたものである。
先ず、1ビットエラー訂正のためのエラー位置方程式の一例は、次の数式4の通りである。
[数式4]
σx+1=0
ここで、σ=Sであり、数式4の1次方程式を満足する根の逆数が1ビットエラー位置を表わす。
2ビットエラー訂正のためのエラー位置方程式の一例は、次の数式5の通りである。
[数式5]
σ+σx+1=0
ここで、σ=S、σ=(S +S)/Sであり、数式5の2次方程式を満足する根の逆数が2ビットエラー位置を表わす。
3ビット以上のエラー訂正の場合にも、前述したところと同様にエラー位置方程式の係数を算出することができる。
本実施形態では、係数計算器541は、第1動作モードでは、最大5ビットエラーを訂正できる第1エラー位置方程式による係数σ、σ、σ、σ、σを算出し、第2動作モードでは、最大4ビットエラーを訂正できる第2エラー位置方程式による係数σ、σ、σ、σを算出する。
エラー位置検出器552は、係数計算器541から算出された係数σ、σ、σ、σまたはσ、σ、σ、σ、σを用いて、エラービットの位置を検出する。エラー位置はエラー位置方程式の根を求めれば分かるので、各エラーの個数によってi(例えば、i=1、2、3、4、または5)次エラー位置方程式を解かなければならない。4次あるいは5次エラー位置方程式の一般解を求めることは難しいので、チェンサーチ(Chien Search)アルゴリズムが多項式の根(root)を求めるために使われうる。チェンサーチアルゴリズムは、その根が原始元素の冪(power of primitive element)であるという事実を利用する。テスト根は、j=0ないしj=(n−1)の範囲に対してα−jと表現される。すなわち、α−0,α−1,α−2,α−3,…,α−(n−1)と表現される。α−jがエラー位置方程式を満足すれば、0であればj番目のビットにエラーがあると判断される。この過程は、nの大きさの各コードに対してなされうる。すなわち、各コードに対してjを0からn−1までn回変更して反復的にエラー位置方程式に代入して方程式を満足するか否かを検査する。
エラー訂正器443は、エラー位置検出器552の検出結果(エラー位置)に基づいてエラービットを訂正する。エラー訂正器443は、エラー位置検出器552から出力されたエラー位置情報に基づいて符号データ(あるいは、情報データ)のうちエラーが発生したビットのロジック値を反転させてエラーを訂正できる。このとき、エラー訂正器443は、エラー有無及びエラー位置のより正確な判断のために、パリティチェッカ444の出力信号及びモード設定部551の出力信号を参照できる。
エラー訂正器443によってエラー訂正されたデータは、ホストインターフェース及びロジック部330を介してホスト200に提供される。
半導体メモリ装置500の一般的な動作環境では、90%以上のエラーが1ビットエラーであり、残りが2ビット以上のエラーであることが実験的に分かっている。したがって、正常動作状態では、複数のビット(例えば、6−ビット)以上のエラーが発生する確率が極めて低いので、5−ビットエラー訂正回路による誤り訂正は、ほとんど発生しない。したがって、このような正常動作状態では、ホスト200は、半導体メモリ装置500を第1動作モードで動作させるための動作モード信号MODEを発生しうる、第1動作モードでは、図1ないし図3に図示された従来の‘5−bit EDC/4−bit ECC+CRC(Cyclic Redundancy Check)−16’のエラー訂正回路より少ないハードウェアの使用でも5−ビットエラー訂正が可能であるのでより効率的である。
一方、半導体メモリ装置500の劣化や電源不良(power failure)のような非正常的な終了による大量のエラーの発生する確率が意味あるレベルに大きくなる場合、5−ビットエラー訂正能力による誤り訂正確率も大きくなる。このように非正常的な動作環境では、ホスト200は、半導体メモリ装置500を第2動作モードで動作させるための動作モード信号MODEを発生しうる。第2動作モードでは、5−ビットエラー訂正はディセーブルされて4−ビットエラー訂正のみ実行される。
したがって、第2動作モードでは、前述した本発明の一実施形態と同様に、本発明の他の一実施形態によるエラー訂正回路420、530もエンコーディング時は、h−ビット(例えば、5−ビット)ECC生成多項式を使ってエンコーディングを実行するので、コード間の距離、すなわち、ハミング距離が大きくなった一方、デコーディングを通じるエラー訂正は、hビットより少ないビット(例えば、4−ビット)までのみ実行するので、エラー訂正半径は減る。したがって、誤り訂正が発生する確率も減る。
したがって、本発明を利用すれば、従来の‘5−bit EDC/4−bit ECC+CRC−16’エラー訂正回路に比べて少ないハードウェアを使ってでも同じエラー訂正能力と同様のレベルの誤り訂正確率を有するので、より効率的なECCが可能である。その上に、図1ないし図3に図示された従来の‘5−bit EDC/4−bitECC+CRC−16’のエラー訂正回路は、リダンダンシデータ(CRC parity+ECC parity)が69ビット(CRCパリティ16ビット+ECCパリティ53ビット)であるのに比べて、本発明の実施形態によるエラー訂正回路は、類似している条件でリダンダンシデータが66ビットであって、従来より少ない。
図8は、本発明の他の一実施形態による半導体メモリ装置の詳細ブロック図である。
半導体メモリ装置300は、メモリコア310、メモリコア310に接続されたECC回路320、ホストインターフェース及びロジック部330とを備える。
ECC回路320は、ECCラッパ410、ECCエンコーダ420及びECCデコーダ430とを備える。メモリコア310、ホストインターフェース及びロジック部330、ECCラッパ410及びECCエンコーダ420は、図7を参照して前述したところと同一なので、これについての詳細な説明は省略する。
ECCデコーダ430は、第1ないし第4部分シンドローム生成器431、433、435、437、第1ないし第4部分シンドローム生成器431、433、435、437に連結される係数計算器441、係数計算器441に連結されるエラー位置検出器452及びエラー位置検出器452に連結されるエラー訂正器443を備える。図7に図示されたECCデコーダ530と比べると、ECCデコーダ430は、4ビットECCデコーダとして動作するので、第5部分シンドローム生成器439及びモード設定部551を備える必要がない。
第2動作モードでのECCデコーダ430の動作は、ECCデコーダ530の動作と類似しているので、これについての詳細な説明は省略する。
前述した実施形態では、エラー訂正器443がECCデコーダ430または530内に備えられると記述したが、ホストインターフェース及びロジック部330がECCデコーダ430または530から提供されたエラー位置情報に基づいて符号データのうちエラーが発生したビットのロジック値を反転させてエラーを訂正できる。または、ホストインターフェース及びロジック部330は、ECCデコーダ430または530から提供されたエラー位置情報をメモリコア310から読出されたnビット符号データ(あるいは、kビット情報データのみ)とともにホスト200に伝送できる。この場合、エラー訂正は、ホスト200でなされうる。すなわち、ホスト200が、ECCデコーダ430または530から提供されたエラー位置情報に基づいて符号データ(あるいは、情報データ)のうちエラーが発生したビットのロジック値を反転させてエラーを訂正できる。
本発明は、図面に図示された実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の保護範囲は、特許請求の範囲によって決まるべきである。
本発明は、誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置関連の技術分野に適用可能である。
通常のエンコーダの機能ブロック図である。 通常の符号データの構造を表わす図である。 通常のデコーダの機能ブロック図である。 本発明の一実施形態による半導体メモリ装置の概略的な構成ブロック図である。 本発明の他の一実施形態による半導体メモリ装置の概略的な構成ブロック図である。 本発明の実施形態によるエンコーディング前のデータとエンコーディングされたデータとの一例を表わす図である。 図5に図示された半導体メモリ装置の詳細なブロック図である。 図4に図示された半導体メモリ装置の詳細なブロック図である。 本発明の実施形態によるECCエンコーダの一具現例を表わす機能ブロック図である。
符号の説明
200:ホスト
300、500:半導体メモリ装置
310:メモリコア
320、420、430、520:ECC回路
330:ホストインターフェース及びロジック部
410:ECCラッパ
420:ECCエンコーダ
421:シンドローム生成器
423:XOR演算器
430、530:ECCデコーダ
431、433、435、437、439:第1ないし第5部分シンドローム生成器
441、541:係数計算器
443:エラー訂正器
444:パリティチェッカ
452、552:エラー位置検出器
452:マルチビットエラー位置検出器
551:モード設定部

Claims (20)

  1. 情報データ及び生成多項式に基づいて、h(2以上の整数)ビットエラー訂正が可能なシンドロームデータを発生させ、前記情報データと前記シンドロームデータを含む符号データとを出力するECC(Error Check and Correction)エンコーダと、
    前記符号データを受信するように接続され、第1動作モードで前記符号データに基づいて前記情報データから最大(h−j)ビットのエラー位置を算出するECCデコーダと、を備え、
    前記jは、1以上の整数であることを特徴とするメモリ装置。
  2. 前記jは、1であることを特徴とする請求項1に記載のメモリ装置。
  3. 前記ECCデコーダは、
    前記符号データを用いて二つ以上の部分シンドローム(partial syndroms)を算出する部分シンドローム生成器と、
    前記二つ以上の部分シンドロームを用いてエラー位置方程式の係数を算出する係数算出器と、
    前記係数に基づいて前記エラー位置を検出するエラー位置検出器と、を備えることを特徴とする請求項1に記載のメモリ装置。
  4. 前記ECCデコーダは、
    前記検出されたエラー位置に基づいて、前記符号データを訂正するエラー訂正器をさらに備えることを特徴とする請求項3に記載のメモリ装置。
  5. 前記ECCエンコーダは、
    前記符号データに対する第1パリティビットを生成させるパリティビット生成器をさらに備え、
    前記ECCデコーダは、
    前記符号データを用いて第2パリティビットを生成させ、前記第1パリティビットと比べるパリティチェッカをさらに備え、
    前記第1及び第2パリティビットは、それぞれ偶数パリティビットまたは奇数パリティビットであることを特徴とする請求項3に記載のメモリ装置。
  6. 前記メモリ装置は、
    前記ECCエンコーダと前記ECCデコーダとに連結され、前記符号データを保存するメモリコアをさらに備えることを特徴とする請求項2に記載のメモリ装置。
  7. 前記メモリコアは、
    電気的に消去及びプログラムが可能なメモリセル(EEPROM cells)を含むことを特徴とする請求項6に記載のメモリ装置。
  8. 前記メモリ装置は、
    前記ECCデコーダに連結され、前記メモリコアから読出された前記符号データ及び前記エラー位置に対するデータをホストに伝送するホストインターフェース及びロジック部をさらに備え、
    前記ホストは、前記算出されたエラー位置に基づいて前記符号データを訂正することを特徴とする請求項7に記載のメモリ装置。
  9. 前記ECCデコーダは、
    第2動作モードで前記符号データに基づいて、前記情報データから最大hビットのエラー位置を算出し、ホストからの動作モード信号に応答して前記第1動作モードまたは前記第2動作モードで動作することを特徴とする請求項1に記載のメモリ装置。
  10. 前記ECCデコーダは、
    前記動作モード信号に応答して動作モードを設定して制御信号を発生させるモード設定部と、
    前記符号データを用いて二つ以上の部分シンドロームを算出する部分シンドローム生成器と、
    前記制御信号に基づいて、前記二つ以上の部分シンドロームを用いて第1エラー位置方程式の係数を算出するかまたは第2エラー位置方程式の係数を算出する係数算出器と、
    前記係数算出器から出力される係数に基づいて前記エラー位置を検出するエラー位置検出器と、を備えることを特徴とする請求項9に記載のメモリ装置。
  11. 前記ECCデコーダは、
    前記検出されたエラー位置に基づいて、前記符号データを訂正するエラー訂正器をさらに備えることを特徴とする請求項10に記載のメモリ装置。
  12. 前記メモリ装置は、
    前記ECCエンコーダと前記ECCデコーダとに連結され、前記符号データを保存するメモリコアをさらに備えることを特徴とする請求項9に記載のメモリ装置。
  13. 前記メモリコアは、
    電気的に消去及びプログラムが可能なメモリセル(EEPROM cells)を含むことを特徴とする請求項12に記載のメモリ装置。
  14. 情報データ及び生成多項式に基づいて、h(2以上の整数)ビットエラー訂正が可能なシンドロームデータを発生させる段階と、
    前記情報データと前記シンドロームデータを含む符号データとをメモリに保存する段階と、
    前記符号データを前記メモリから読出す段階と、
    前記符号データに基づいて、前記情報データから最大(h−j)ビットのエラー位置を検出する段階と、
    前記検出されたエラー位置に基づいて前記符号データを訂正する段階と、を備え、
    前記jは、1以上の整数であることを特徴とするエラー訂正方法。
  15. 前記エラー位置を算出する段階は、
    前記符号データを用いて二つ以上の部分シンドロームを算出する段階と、
    前記二つ以上の部分シンドロームを用いてエラー位置方程式の係数を算出する段階と、
    前記係数に基づいて前記エラー位置を検出する段階と、を備えることを特徴とする請求項14に記載のエラー訂正方法。
  16. 前記エラー訂正方法は、
    前記符号データを前記メモリに保存する前に、少なくとも一つの前記情報データと前記符号データとに基づいて第1パリティビットを発生させる段階と、
    前記符号データを前記メモリから読出した後に、前記少なくとも一つの情報データと符号データとに基づいて第2パリティビットを発生させる段階と、をさらに備え、
    前記エラー位置を検出する段階は、
    前記第1パリティビットと前記第2パリティビットとを比べる段階を備えることを特徴とする請求項15に記載のエラー訂正方法。
  17. 情報データ及び生成多項式に基づいて、h(2以上の整数)ビットエラー訂正が可能なシンドロームデータを発生させる段階と、
    前記情報データと前記シンドロームデータを含む符号データとをメモリに保存する段階と、
    前記符号データを前記メモリから読出す段階と、
    第1動作モードまたは第2動作モードで進行するか否かを決定する段階と、
    前記第1動作モードでは、前記符号データを用いて前記情報データから最大(h−j)ビットの第1エラー位置を算出する段階と、
    前記第2動作モードでは、前記符号データを用いて前記情報データから最大hビットの第2エラー位置を算出するエラー位置算出段階と、
    算出された前記第1エラー位置または前記第2エラー位置に基づいて前記符号データを訂正する段階と、を備え、
    前記jは、1以上の整数であることを特徴とするエラー訂正方法。
  18. 前記第1エラー位置算出段階は、
    前記符号データを用いて二つ以上の部分シンドロームを算出する段階と、
    制御信号に基づいて、前記二つ以上の部分シンドロームを用いて第1エラー位置方程式の係数を算出する段階と、
    前記第1エラー位置方程式の係数を用いて前記第1エラー位置を算出する段階と、を備えることを特徴とする請求項17に記載のエラー訂正方法。
  19. 前記第1動作モードまたは前記第2動作モードで進行するか否かを決定する段階は、
    ホストから受信される動作モード信号に基づいて決定されることを特徴とする請求項17に記載のエラー訂正方法。
  20. 前記第1動作モードは、
    正常動作状態に比べて前記情報データでマルチビットエラーが増加することができるモードであることを特徴とする請求項17に記載のエラー訂正方法。
JP2007340739A 2006-12-29 2007-12-28 誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置 Pending JP2008165808A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060137919A KR100856129B1 (ko) 2006-12-29 2006-12-29 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치

Publications (1)

Publication Number Publication Date
JP2008165808A true JP2008165808A (ja) 2008-07-17

Family

ID=39465957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007340739A Pending JP2008165808A (ja) 2006-12-29 2007-12-28 誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置

Country Status (5)

Country Link
US (1) US8091010B2 (ja)
JP (1) JP2008165808A (ja)
KR (1) KR100856129B1 (ja)
CN (1) CN101211667A (ja)
DE (1) DE102007058828A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010218447A (ja) * 2009-03-18 2010-09-30 Renesas Electronics Corp データ処理装置
JP2011176825A (ja) * 2010-02-25 2011-09-08 Samsung Electronics Co Ltd メモリシステム及びそのデータ処理方法
JP2012518224A (ja) * 2009-02-18 2012-08-09 マイクロン テクノロジー, インク. メモリコントローラ及び方法におけるデータ完全性
KR20140093248A (ko) * 2011-11-18 2014-07-25 쌘디스크 엔터프라이즈 아이피 엘엘씨 복수의 패리티 세그먼트를 갖는 코드워드를 디코딩하기 위한 시스템, 방법 및 장치들
US8996966B2 (en) 2013-02-27 2015-03-31 Kabushiki Kaisha Toshiba Error correction device and error correction method
KR20170039804A (ko) * 2015-10-01 2017-04-12 에스케이하이닉스 주식회사 플래시 메모리 시스템 동작 방법
US9966125B2 (en) 2016-09-15 2018-05-08 Toshiba Memory Corporation Memory device
JP2022153654A (ja) * 2019-08-12 2022-10-12 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド パーシステントメモリシステム等のデータ完全性
JP7543348B2 (ja) 2019-08-12 2024-09-02 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド パーシステントメモリシステム等のデータ完全性

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005012069A1 (de) * 2005-03-16 2006-09-21 Robert Bosch Gmbh Verfahren zur Fehlerbehandlung
KR101437396B1 (ko) * 2008-02-27 2014-09-05 삼성전자주식회사 레이턴시를 줄일 수 있는 에러 정정 블록을 포함하는메모리 시스템 및 그것의 에러 정정 방법
JP4672743B2 (ja) * 2008-03-01 2011-04-20 株式会社東芝 誤り訂正装置および誤り訂正方法
US8458536B2 (en) * 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
TWI396202B (zh) * 2008-11-14 2013-05-11 Phison Electronics Corp 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法
KR20100104623A (ko) * 2009-03-18 2010-09-29 삼성전자주식회사 데이터 처리 시스템 및 그것의 부호율 제어 스킴
CN101794623B (zh) * 2009-06-01 2013-11-06 深圳市朗科科技股份有限公司 存储设备的纠错装置及方法
KR101062755B1 (ko) * 2009-07-29 2011-09-06 주식회사 하이닉스반도체 Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법
US8413015B2 (en) * 2009-09-21 2013-04-02 Sandisk Technologies Inc. Nonvolatile memory controller with scalable pipelined error correction
CN102682826A (zh) * 2011-03-10 2012-09-19 中国科学院微电子研究所 复用编码器的编译码存储装置及方法
JP2013029882A (ja) * 2011-07-26 2013-02-07 Toshiba Corp メモリコントローラ、半導体記憶装置および復号方法
US20140136931A1 (en) * 2011-08-24 2014-05-15 Mitsubishi Electric Corporation Error-correcting decoder
KR101307792B1 (ko) * 2011-12-27 2013-09-12 한국과학기술원 다중-쓰레드 비씨에이치 인코더, 비씨에이치 디코더, 이를 포함하는 스토리지 디바이스 및 스토리지 시스템
US8996960B1 (en) * 2012-06-26 2015-03-31 Inphi Corporation Vertical error correction code for DRAM memory
JP2014082574A (ja) * 2012-10-15 2014-05-08 Samsung Electronics Co Ltd 誤り検出訂正回路、及びメモリ装置
US9300329B2 (en) 2012-11-08 2016-03-29 Sk Hynix Memory Solutions Inc. Turbo-product codes (TPC) with interleaving
EP2979271B1 (en) * 2013-03-25 2019-06-19 Hewlett-Packard Enterprise Development LP Memory device having error correction logic
US9559727B1 (en) 2014-07-17 2017-01-31 Sk Hynix Memory Solutions Inc. Stopping rules for turbo product codes
CN104616698A (zh) * 2015-01-28 2015-05-13 山东华翼微电子技术股份有限公司 一种充分利用存储器冗余单元的方法
US9690517B2 (en) 2015-05-22 2017-06-27 Texas Instruments Incorporated Dual-mode error-correction code/write-once memory codec
KR102296738B1 (ko) * 2015-06-01 2021-09-01 삼성전자 주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법
US10522237B2 (en) 2015-08-07 2019-12-31 Mentor Graphics Corporation Low power VLSI designs using circuit failure in sequential cells as low voltage check for limit of operation
CN105161137B (zh) * 2015-08-27 2019-04-19 大唐微电子技术有限公司 一种MLC架构中Nand Flash控制器电路实现装置
CN109417438A (zh) * 2016-08-01 2019-03-01 索尼半导体解决方案公司 通信单元和通信系统
US10169126B2 (en) * 2016-10-12 2019-01-01 Samsung Electronics Co., Ltd. Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation
US10372531B2 (en) * 2017-01-05 2019-08-06 Texas Instruments Incorporated Error-correcting code memory
US10312944B2 (en) * 2017-03-17 2019-06-04 Micron Technology, Inc. Error correction code (ECC) operations in memory for providing redundant error correction
US10236913B2 (en) * 2017-05-11 2019-03-19 Winbond Electronics Corp. Error checking and correcting decoder
TWI625620B (zh) * 2017-05-12 2018-06-01 威盛電子股份有限公司 非揮發性記憶體裝置及其讀取方法
KR102258140B1 (ko) 2017-07-06 2021-05-28 삼성전자주식회사 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템
US10417086B2 (en) * 2017-08-11 2019-09-17 Winbond Electronics Corp. Data write method and memory storage device using the same
DE102018122826A1 (de) * 2017-09-21 2019-03-21 Samsung Electronics Co., Ltd. Vorrichtung zum Unterstützen eines Fehlerkorrekturcodes und Testverfahren dafür
US10908995B2 (en) 2017-09-29 2021-02-02 Nvidia Corporation Securing against errors in an error correcting code (ECC) implemented in an automotive system
DE102018123761A1 (de) * 2017-09-29 2019-04-04 Nvidia Corporation Sicherung gegen fehler in einem fehlerkorrekturcode (ecc), der in einem kraftfahrzeugsystem implementiert ist
JP6861611B2 (ja) * 2017-11-07 2021-04-21 ルネサスエレクトロニクス株式会社 半導体装置及びそれを備えた半導体システム
US11379155B2 (en) 2018-05-24 2022-07-05 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US11315654B2 (en) * 2018-10-03 2022-04-26 Arm Limited Memory testing techniques
US11016843B2 (en) * 2018-12-06 2021-05-25 Micron Technology, Inc. Direct-input redundancy scheme with adaptive syndrome decoder
US10942809B2 (en) * 2018-12-20 2021-03-09 Micron Technology, Inc. Changing of error correction codes based on the wear of a memory sub-system
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US10839935B2 (en) 2019-02-05 2020-11-17 International Business Machines Corporation Dynamic redundancy for memory
JP2020150515A (ja) 2019-03-15 2020-09-17 キオクシア株式会社 誤り訂正回路及びメモリシステム
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
EP3835960A3 (en) * 2019-12-11 2021-09-01 Samsung Electronics Co., Ltd. Storage controller for correcting error, storage device including the same, and operating method thereof
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11379447B2 (en) 2020-02-06 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller
US11200114B2 (en) * 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11449386B2 (en) 2020-03-20 2022-09-20 Alibaba Group Holding Limited Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory
CN111510158B (zh) * 2020-04-15 2021-10-15 腾讯科技(深圳)有限公司 量子电路的容错纠错解码方法、装置及芯片
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11301173B2 (en) 2020-04-20 2022-04-12 Alibaba Group Holding Limited Method and system for facilitating evaluation of data access frequency and allocation of storage device resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
CN117079686A (zh) * 2020-09-18 2023-11-17 长鑫存储技术有限公司 存储器
US11327836B1 (en) 2020-09-29 2022-05-10 Xilinx, Inc. Protection of data on a data path in a memory system
CN112564858B (zh) * 2020-11-05 2022-08-09 山东中科泰岳电子科技有限公司 卫星导航用crc纠错方法及系统
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62194745A (ja) * 1986-02-20 1987-08-27 Nec Corp 誤り訂正回路
JPH02112032A (ja) * 1988-10-21 1990-04-24 Alpine Electron Inc Cd−romのエラー訂正方法
JPH10117148A (ja) * 1996-07-23 1998-05-06 Sgs Thomson Microelectron Sa 縦及び横のパリティコードを有するデータフレームにおけるエラーを修正するシステム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2721099B2 (ja) * 1991-12-18 1998-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法
JP3999822B2 (ja) * 1993-12-28 2007-10-31 株式会社東芝 記憶システム
KR100202654B1 (ko) 1996-03-29 1999-06-15 구본준 플레쉬 셀 메모리 디바이스 장치
JP3199021B2 (ja) * 1998-03-19 2001-08-13 日本電気株式会社 半導体メモリ装置、該半導体メモリ装置の検査方法及び使用方法
US6216247B1 (en) * 1998-05-29 2001-04-10 Intel Corporation 32-bit mode for a 64-bit ECC capable memory subsystem
JP2000261326A (ja) 1999-03-11 2000-09-22 Mitsubishi Electric Corp 符号誤り訂正方法
JP3975245B2 (ja) * 1999-12-16 2007-09-12 株式会社ルネサステクノロジ 記録再生装置および半導体メモリ
KR100913965B1 (ko) * 2001-05-16 2009-08-25 코닌클리케 필립스 일렉트로닉스 엔.브이. 일부가 사전에 알려진 정보의 코딩 및 디코딩
JP2005242797A (ja) * 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd エラー訂正回路
KR100842680B1 (ko) * 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62194745A (ja) * 1986-02-20 1987-08-27 Nec Corp 誤り訂正回路
JPH02112032A (ja) * 1988-10-21 1990-04-24 Alpine Electron Inc Cd−romのエラー訂正方法
JPH10117148A (ja) * 1996-07-23 1998-05-06 Sgs Thomson Microelectron Sa 縦及び横のパリティコードを有するデータフレームにおけるエラーを修正するシステム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012518224A (ja) * 2009-02-18 2012-08-09 マイクロン テクノロジー, インク. メモリコントローラ及び方法におけるデータ完全性
US9015553B2 (en) 2009-02-18 2015-04-21 Round Rock Research, Llc Data integrity in memory controllers and methods
JP2010218447A (ja) * 2009-03-18 2010-09-30 Renesas Electronics Corp データ処理装置
JP2011176825A (ja) * 2010-02-25 2011-09-08 Samsung Electronics Co Ltd メモリシステム及びそのデータ処理方法
KR20140093248A (ko) * 2011-11-18 2014-07-25 쌘디스크 엔터프라이즈 아이피 엘엘씨 복수의 패리티 세그먼트를 갖는 코드워드를 디코딩하기 위한 시스템, 방법 및 장치들
KR101995609B1 (ko) 2011-11-18 2019-07-02 샌디스크 테크놀로지스 엘엘씨 복수의 패리티 세그먼트를 갖는 코드워드를 디코딩하기 위한 시스템, 방법 및 장치들
US8996966B2 (en) 2013-02-27 2015-03-31 Kabushiki Kaisha Toshiba Error correction device and error correction method
KR20170039804A (ko) * 2015-10-01 2017-04-12 에스케이하이닉스 주식회사 플래시 메모리 시스템 동작 방법
KR102281751B1 (ko) * 2015-10-01 2021-07-27 에스케이하이닉스 주식회사 플래시 메모리 시스템 동작 방법
US9966125B2 (en) 2016-09-15 2018-05-08 Toshiba Memory Corporation Memory device
JP2022153654A (ja) * 2019-08-12 2022-10-12 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド パーシステントメモリシステム等のデータ完全性
JP7543348B2 (ja) 2019-08-12 2024-09-02 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド パーシステントメモリシステム等のデータ完全性

Also Published As

Publication number Publication date
CN101211667A (zh) 2008-07-02
DE102007058828A1 (de) 2008-07-03
KR20080062306A (ko) 2008-07-03
KR100856129B1 (ko) 2008-09-03
US8091010B2 (en) 2012-01-03
US20080163033A1 (en) 2008-07-03

Similar Documents

Publication Publication Date Title
US8091010B2 (en) Error correction circuit and method for reducing miscorrection probability and semiconductor memory device including the circuit
JP5043562B2 (ja) エラー訂正回路、その方法及び前記回路を備える半導体メモリ装置
US11740960B2 (en) Detection and correction of data bit errors using error correction codes
US8713411B2 (en) Encoding and/or decoding memory devices and methods thereof
US7278085B1 (en) Simple error-correction codes for data buffers
US8122328B2 (en) Bose-Chaudhuri-Hocquenghem error correction method and circuit for checking error using error correction encoder
US8812935B2 (en) Using a data ECC to detect address corruption
KR100921263B1 (ko) 반도체 기억 장치 및 디코드 방법
US8806295B2 (en) Mis-correction and no-correction rates for error control
US8117526B2 (en) Apparatus and method for generating a transmit signal and apparatus and method for extracting an original message from a received signal
US10498364B2 (en) Error correction circuits and memory controllers including the same
JP4790790B2 (ja) 誤り検出訂正回路及び半導体メモリ
US20180198468A1 (en) Error correction code (ecc) decoders sharing logic operations, memory controllers including the error correction code decoders, and methods of decoding error correction codes
US10567007B2 (en) Device and method of processing a data word using checkbits
CN110908827A (zh) 用于NAND Flash闪存纠错的并行BCH解码方法
US20230274787A1 (en) Method to increase the usable word width of a memory providing an error correction scheme
TWI698881B (zh) 編碼方法及使用所述編碼方法的記憶體儲存裝置
CN115408198A (zh) 数据纠错方法、装置、设备及存储介质
US9160370B2 (en) Single component correcting ECC using a reducible polynomial with GF(2) coefficients
CN116054842A (zh) 数据编、解码方法、纠错方法、内存控制器、芯片及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130326