JP5529751B2 - メモリアレイにおけるエラー訂正 - Google Patents

メモリアレイにおけるエラー訂正 Download PDF

Info

Publication number
JP5529751B2
JP5529751B2 JP2010536553A JP2010536553A JP5529751B2 JP 5529751 B2 JP5529751 B2 JP 5529751B2 JP 2010536553 A JP2010536553 A JP 2010536553A JP 2010536553 A JP2010536553 A JP 2010536553A JP 5529751 B2 JP5529751 B2 JP 5529751B2
Authority
JP
Japan
Prior art keywords
memory cell
cell group
ecc
error correction
group
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.)
Active
Application number
JP2010536553A
Other languages
English (en)
Other versions
JP2011507066A (ja
Inventor
エレス,エラン
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.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL 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 SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of JP2011507066A publication Critical patent/JP2011507066A/ja
Application granted granted Critical
Publication of JP5529751B2 publication Critical patent/JP5529751B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)

Description

本発明は、メモリでエラーを訂正するエラー訂正符号(ECC)に関する。
不揮発性メモリ装置、特にソリッドステートメモリ装置は、時間の経過にともない劣化する傾向がある。かかる劣化の主たる結果として、格納データにエラーが生じる。業界で一般に許容されている装置の信頼性は装置の種類によって異なり、例えば使用する技術や達成し得る製造工程公差に左右される。フラッシュコントローラには、標準サイズ(例えば、256バイト)の訂正可能なメモリセルグループで第1の(「ウィーク」)ビット誤り率まで(例えば、512バイト当たり6ビットまで)エラーを訂正できるように設計されるものや、より強固な保護を得るために第1のビット誤り率より高い第2のビット誤り率(例えば、512バイト当たり8ビットまで)を要するものもある。
当該技術分野においてはこれまでウィークエラー処理方式を用いて強固なビット誤り率保護を提供するエラー処理方式がいくつか考案されてきた。一つの解決策では、メモリセルからなるグループをサブグループ(訂正可能なグループ)に分割し、既存のウィークエラー訂正方式をそれぞれのサブグループに別々に適用する。この場合は、それぞれのサブグループがウィークビット誤り率により個別に保護される。しかし、そのようなエラー訂正方式ではサブグループごとにエラー訂正操作が必要となるため、全体的な性能が落ちてしまう。
これとは別に所望のビット誤り率までエラーを訂正することが可能な、強固なエラー訂正方式を新たに設計する取り組みも広くなされている。新たに設計されたシステムには高いコスト効果と設計に時間がかかるという難点がある。
先行技術のエラー処理方式は欠陥メモリ位置に対してある程度の保護を提供するが、いずれも完璧ではない。エラー処理方式には過大な資源と開発時間を要するものもあれば、システム全体の読み取り性能を低下させるものもある。また、保護が不十分なものもある。
本発明は、メモリアレイでエラーを訂正するエラー訂正アルゴリズムを有するコンピュータシステムとその方法として具現化される。メモリセルは対応するECCビットに関連してメモリアレイに格納される。ECCビットは次のとおりに生成される。1セットのECCビットは第1のメモリセルグループに対応する情報を含み(第1のグループは、例えば256バイトの標準サイズ以上の第1のサイズを有する)、第2のECCビットセットは第2のメモリセルグループに対応する情報を含み(第2のグループは第1のグループ内に含まれる)、第3のECCビットセットは第3のメモリセルグループに対応する情報を含み(第3のグループは第2のグループ内に含まれる)、以下同様である。このようにECCビットを生成することでメモリアレイにエラー訂正を施しながら、最良の全体性能を達成する。
前述したアプローチの一実施形態において、メモリアレイでエラーを訂正する方法は、訂正可能なメモリセルグループで第1のビット誤り率までエラーを訂正することが可能なエラー訂正アルゴリズムを提供するステップを含むことができる。訂正可能なグループは標準サイズを有する。方法はまた、第1のメモリセルグループに対応する情報を有する第1のECCビットセットを生成するステップと、第2のメモリセルグループに対応する情報を有する第2のECCビットセットを生成するステップと、第1のECCビットセットに基づき第1のグループでエラーを訂正するためにエラー訂正アルゴリズムを適用するステップと、を含む。第1のグループは標準サイズより大きい第1のサイズを有する。第2のグループは第1のサイズより小さい第2のサイズを有し、かつ第1のグループの一部分をなす。方法はまた、第1のECCビットセットに基づきエラー訂正アルゴリズムが失敗した場合に、第2のECCビットセットに基づき第2のグループでエラーを訂正するためにエラー訂正アルゴリズムを適用することを含む。方法はまた、第1のECCビットセットに基づき第1のグループを訂正することを含む。方法はまた、第2のECCビットセットに基づき第2のグループを訂正することを含む。
方法はまた、さらなるメモリセルグループに対応する情報を有するさらなるECCビットセットを生成することを含む。さらなるECCビットセットは、エラー訂正アルゴリズムの適用に先立ち生成できる。さらなるグループは第2のサイズより小さい第3のサイズを有し、かつ第2のグループの一部分をなす。方法はまた、第2のECCビットセットに基づきエラー訂正アルゴリズムが失敗した場合に、さらなるECCビットセットに基づきさらなるグループでエラーを訂正するためにエラー訂正アルゴリズムを適用することを含む。方法は、さらなるECCビットセットに基づきさらなるグループを訂正することを含む。第1のグループで第2のビット誤り率までエラーを訂正するためにエラー訂正アルゴリズムが適用され、ここで第2のビット誤り率は第1のビット誤り率より大きい。
前述したアプローチの別の実施形態において、メモリアレイでエラーを訂正するコンピュータシステムは、訂正可能なメモリセルグループで第1のビット誤り率までエラーを訂正できるエラー訂正アルゴリズムを含む。訂正可能なグループは標準サイズを有する。メモリは、第1のメモリセルグループに対応する情報を有する第1のECCビットセットを格納し、かつ第2のメモリセルグループに対応する情報を有する第2のECCビットセットを格納するべく機能する。第1のグループは標準サイズより大きい第1のサイズを有し、第2のグループは第1のサイズより小さい第2のサイズを有し、かつ第1のグループの一部分をなす。第1のECCビットセットに基づき第1のグループに適用されたエラー訂正アルゴリズムが失敗した場合に、エラー訂正アルゴリズムは第2のECCビットセットに基づき第2のグループでエラーを訂正するべく機能する。
メモリはフラッシュメモリであってよい。エラー訂正アルゴリズムはまた、第1のECCビットセットに基づき第1のグループを訂正するべく機能し得る。エラー訂正アルゴリズムはまた、第2のECCビットセットに基づき第2のグループを訂正するべく機能し得る。
メモリは、さらなるメモリセルグループに対応する情報を有するさらなるECCビットセットを格納するべく機能し得る。さらなるグループは第2のサイズより小さい第3のサイズを有し、かつ第2のグループの一部分をなす。エラー訂正アルゴリズムはさらに、第2のECCビットグループに基づき第2のグループに適用され失敗した場合に、さらなるECCビットセットに基づきさらなるグループに適用されるように機能し得る。エラー訂正アルゴリズムは、さらなるECCビットセットに基づきさらなるグループを訂正するべく機能し得る。第1のグループで第2のビット誤り率までエラーを訂正するためにエラー訂正アルゴリズムを適用することができ、ここで第2のビット誤り率は第1のビット誤り率より大きい。
以下の図面と説明から前述した実施形態のさらなる特徴、利点、変形例が明らかとなる。
これらの実施形態に関して本発明をより良く理解するため、添付の図面を参照する。添付の図面で同様の数字は一致する部分または要素を指す。
メモリアレイでエラーを訂正するコンピュータシステムの一実施形態のブロック図である。 図1Aのメモリアレイのブロック図であり、この図において各データ単位につき3セットのECCビットを生成するようにエラー訂正アルゴリズムが実施される。 典型的な実施形態に従いメモリアレイにデータを書き込むフローチャートである。 典型的な実施形態に従いメモリアレイからデータを読み取るフローチャートである。
添付の特許請求の範囲によって規定される本発明は、典型的かつ好適な実施形態の詳細な説明を参照することにより、より良く理解される。この説明は特許請求の範囲を制限することを意図するものではなく、かかる実施形態の例を提供するものである。したがって、以下の論述で提示される典型的な実施形態は、メモリアレイでエラーを訂正するコンピュータシステムとその方法を含む。
コンピュータシステムの一実施形態では、エラー訂正アルゴリズムを用いてメモリアレイのエラーを訂正する。このメモリアレイは2つ以上のメモリセルグループを含み、小さいメモリセルグループの中には最も小さいメモリセルグループが含まれ、大きいグループの中には小さいメモリセルグループが含まれ、以下同様である。それぞれのメモリセルグループは、当該グループの幅と長さに相当する1セットのECCビットに関連してメモリアレイに格納される。1セットのECCビットは第1のメモリセルグループに対応する情報を含み、別セットのECCビットは第2のメモリセルグループに対応する情報を含み、以下同様である。このようにECCビットを生成することでメモリアレイにエラー訂正を施しながら、最良の全体性能を達成する。
このエラー訂正アルゴリズムは、標準サイズ(例えば、256バイト)の訂正可能なメモリセルグループで第1のビット誤り率まで(例えば、512バイト当たり6ビットまで)エラーを訂正できる。まずは大きいメモリセルグループを訂正するためにこのグループの対応するECCビットを用いてエラー訂正アルゴリズムが適用され、この訂正措置が失敗すると、小さいメモリセルグループを訂正するためにエラー訂正アルゴリズムが適用される。この小さいグループに失敗すると、このグループ内に含まれるさらに小さいメモリセルグループを訂正するためにエラー訂正アルゴリズムをさらに適用できる。この訂正措置は、訂正に成功するまで対応するECCビットに基づきより小さいメモリセルグループに対して繰り返し適用できる。成功すると、この過程で相互に関係する全メモリセルグループのデータが訂正される。
図1Aは、メモリアレイ14でエラーを訂正するエラー訂正アルゴリズム12を有するコンピュータシステム10の典型的な実施形態である。メモリアレイ14はフラッシュメモリであってよい。エラー訂正アルゴリズム12は標準サイズ(例えば、256バイト)の訂正可能なメモリセルグループ(例えば、MC1)で第1のビット誤り率まで(例えば、512バイト当たり6ビットまで)エラーを訂正できる。メモリアレイ14にデータを書き込み、かつメモリアレイ14からデータを読み取るため、コントローラ18が設けてある。
メモリアレイ14は複数のデータ単位16を含む。データ単位のバイト数はいくらでもよく、256バイトや512バイト等を含むが、これらに限定されない。この例では各データ単位16につき2セットのECCビットを生成するようにエラー訂正アルゴリズム12を実施する。第1のECCビットセットECC1−2は、第1のメモリセルグループMC1およびMC2に対応する情報を有し、第2のECCビットセットECC1は、第2のメモリセルグループMC1に対応する情報を有する(代替的に、第2のECCビットセットはメモリセルグループMC2に対応する情報を有することもある)。第1のメモリセルグループMC1およびMC2は、標準サイズより大きい第1のサイズ(例えば、512バイト)を有する。第2のメモリセルグループMC1は、第1のサイズより小さい第2のサイズ(例えば、256バイト)を有する。第2のメモリセルグループMC1は第1のグループMC1およびMC2の一部分をなす。第1のECCビットセットECC1−2と第2のECCビットセットECC1は、それぞれのデータ単位16に関連してメモリアレイ14に格納される。
エラー訂正アルゴリズム12は、第1のECCビットセットECC1−2に基づき第1のグループMC1およびMC2でエラーを訂正するべく機能する。このプロセスに失敗すると(例えば、第1のグループMC1およびMC2にエラーが7つ以上あると)、エラー訂正アルゴリズム12は第2のECCビットセットECC1に基づき第2のグループMC1でエラーを訂正するべく機能する。換言すると、第1のECCビットセットECC1−2に基づき第1のグループMC1およびMC2に適用されたエラー訂正アルゴリズム12が失敗した場合に、エラー訂正アルゴリズム12は第2のECCビットセットECC1に基づき第2のグループMC1でエラーを訂正するべく機能する。したがって、第1のグループMC1およびMC2で、第1のビット誤り率より大きい第2のビット誤り率、例えば512バイト当たり8ビットまでエラーを訂正するため、エラー訂正アルゴリズム12(当初6ビット誤り率まで訂正するために実施される)を使用する。
種々の実施例には様々なメモリ構成を使用でき、図に示された特定の実施例は、この実施例に限定するものとして解釈すべきではないことを理解するべきである。例えば、ECCビットセットはメモリセルに隣接してよく、その配置はデータ単位以外でもよく、および/または様々なタイプのエラー訂正アルゴリズムを提供できる。エラー訂正アルゴリズムはさらに2セットのECCビット、3セットのECCビット(図1B参照)、あるいは4セット以上のECCビットを生成するように適用でき、メモリアレイは、2セットのECCビット、3セットのECCビット、あるいは4セット以上のECCビットを格納するように実装できる。
エラー訂正アルゴリズム12はまた、第1のECCビットセットECC1−2に基づき第1のグループMC1およびMC2を訂正するべく機能し得る。前述したものの代わりに、そうでなければ前述したものに加えて、エラー訂正アルゴリズム12は、第2のECCビットセットECC1に基づき第2のグループMC1を訂正するべく機能し得る。メモリアレイ14は、さらなるメモリセルグループに対応する情報を有するさらなるECCビットセットを格納するべく機能でき、このさらなるメモリセルグループは第2のサイズより小さい第3のサイズを有し、第2のグループMC1の一部分をなす。この場合、第2のECCビットグループECC1に基づき第2のグループMC1に適用されたエラー訂正アルゴリズム12が失敗した場合に、エラー訂正アルゴリズム12はさらなるECCビットセットに基づきさらなるメモリセルグループに適用される(図1B参照)。エラー訂正アルゴリズム12はまた、さらなるECCビットセットに基づきさらなるメモリセルグループを訂正するべく機能する。
図1Bは図1Aのメモリアレイ14の典型的な実施形態であり、この図において各データ単位16につき3セットのECCビットを生成するようにエラー訂正アルゴリズム12を実施する。この例では、各データ単位16につき3セットのECCビットを生成するようにエラー訂正アルゴリズム12を実施する。第1のECCビットセットECC’1−3は第1のメモリセルグループMC’1、MC’2、およびMC’3に対応する情報を有し、第2のECCビットセットECC’1−2は第2のメモリセルグループMC’1およびMC’2に対応する情報を有し、第3のECCビットセットECC’1は第3のメモリセルグループMC’1に対応する情報を有する。第1のメモリセルグループMC’1、MC’2、およびMC’3は標準サイズより大きい第1のサイズ(例えば、640バイト)を有する。第2のメモリセルグループMC’1およびMC’2は第1のサイズより小さい第2のサイズを有する。第2のメモリセルグループMC’1およびMC’2は第1のグループMC’1、MC’2、およびMC’3の一部分をなす。第3のメモリセルグループMC’1は第2のサイズより小さい第3のサイズを有する。第3のメモリセルグループMC’1は第2のグループMC’1およびMC’2の一部分をなす。第1のECCビットセットECC’1−3と、第2のECCビットセットECC’1−2と、第3のECCビットセットECC’1は、それぞれのデータ単位16に関連してメモリアレイ14に格納される。
エラー訂正アルゴリズム12は、第1のECCビットセットECC’1−3に基づき第1のグループMC’1、MC’2、およびMC’3でエラーを訂正するべく機能する。このプロセスに失敗すると(例えば、第1のグループMC’1、MC’2、およびMC’3にエラーが7つ以上あると)、エラー訂正アルゴリズム12は第2のECCビットセットECC’1−2に基づき第2のグループMC’1およびMC’2でエラーを訂正するべく機能する。この第2のプロセスに失敗した場合に限り(例えば、第2のグループMC’1およびMC’2にエラーが7つ以上あると)、エラー訂正アルゴリズム12は第3のECCビットセットECC’1に基づき第3のグループMC’1でエラーを訂正するべく機能する。
図2は、典型的な実施形態に従い、エラー訂正アルゴリズム12を有するコンピュータシステム10のメモリアレイにデータを書き込む方法のフローチャート30である。32ではメモリアレイにデータを書き込む。エラー訂正アルゴリズムは、標準サイズ(例えば、256バイト)の訂正可能なメモリセルグループで第1のビット誤り率までエラーを訂正できる。この例では、各データ単位16につき3セットのECCビットを生成するようにエラー訂正アルゴリズム12を実施する。
34では、書き込まれたデータのため、第1のECCビットセットECC’1−3を生成する。第1のECCビットセットは第1のメモリセルグループMC’1、MC’2、およびMC’3に対応する情報を有する。第1のグループは標準サイズより大きい第1のサイズ(例えば、512バイト)を有する。
36では、書き込まれたデータのため、第2のECCビットセットECC’1−2を生成する。第2のECCビットセットは第2のメモリセルグループMC’1およびMC’2に対応する情報を有する。第2のグループは第1のサイズより小さい第2のサイズを有し、第1のメモリセルグループの一部分をなす。
38では、書き込まれたデータのため、さらなるECCビットセット(この例では、第3のセットECC’1)を生成する。さらなるECCビットセットはさらなるメモリセルグループ(この例では、第3のグループMC’1)に対応する情報を有する。第3のメモリセルグループは第2のサイズより小さい第3のサイズを有し、第2のメモリセルグループの一部分をなす。39では全てのECCビットセットがメモリアレイに書き込まれる。
一部の実施形態および/または一部の符号では、第1、第2、および第3のECCビットセットの生成が単一のステップとして適用される。別の実施形態では、第1のECCビットセットと、第2のECCビットセットと、第3のECCビットセットとを生成する別個のステップが少なくとも2つあってよい。
図3は、典型的な実施形態に従い、メモリアレイからデータを読み取る方法のフローチャート50である。52ではデータとこれに対応するECCビットをメモリアレイから読み取り、第1のECCビットセットに基づき第1のメモリセルグループでエラーを訂正するべくエラー訂正アルゴリズム(図2のもの)を適用する。
第1のECCビットセットに基づきエラー訂正アルゴリズムが成功した場合に(54)、第1のECCビットセットECC’1−3に基づき第1のメモリセルグループMC’1、MC’2、およびMC’3が訂正され、成功信号がアサートされる(ステップ56)。 第1のECCビットセットに基づきエラー訂正アルゴリズムが失敗した場合に(54)、第2のECCビットセットECC’1−2に基づき第2のメモリセルグループMC’1およびMC’2が訂正される。第2のECCビットセットに基づきエラー訂正アルゴリズムが成功した場合に(60)、第2のECCビットセットECC’1−2に基づき第2のメモリセルグループMC’1およびMC’2が訂正され、次に第1のECCビットセットECC’1−3に基づき第1のメモリセルグループMC’1、MC’2、およびMC’3が訂正される。そして、成功信号がアサートされる(ステップ56)。第2のECCビットセットに基づきエラー訂正アルゴリズムが失敗した場合に(60)、さらなるECCビットセットECC’1に基づきさらなるメモリセルグループMC’1が訂正される(62)。このステップ(62)では、さらなるECCビットセットECC’1に基づきさらなるメモリセルグループMC’1が訂正され、次に第2のECCビットセットECC’1−2に基づき第2のメモリセルグループMC’1およびMC’2が訂正され、次に第1のECCビットセットECC’1−3に基づき第1のメモリセルグループMC’1、MC’2、およびMC’3が訂正される。そして、成功信号がアサートされる(ステップ56)。
ここでは、2つまたは3つのECCビットセットを生成するために適用されるエラー訂正アルゴリズムと、これらのECCビットセットを格納するように実施されるメモリアレイとでコンピュータシステムが構成されているが、4セット以上のECCビットを生成し、4セット以上のECCビットを格納するようにコンピュータシステムおよび方法を適用することもできることを理解するべきである。また、大容量記憶装置への接続ポートとなるハブはどんなタイプのものでもよい。
これまでシステムおよび方法の様々な実施形態を説明してきたが、当業者であれば今後さらなる修正を思い付き、かかる修正は添付の特許請求の範囲内にあるものとして扱われるため、この説明が制限を意図するものではないことを理解するべきである。

Claims (15)

  1. メモリアレイでエラーを訂正する方法であって、
    (a)標準サイズを有する訂正可能なメモリセルグループで第1のビット誤り率までエラーを訂正するエラー訂正アルゴリズムを提供するステップと、
    (b)標準サイズより大きい第1のサイズを有する第1のメモリセルグループに対応する情報を有する第1のECCビットセットを生成するステップと、
    (c)第2のメモリセルグループに対応する情報を有する第2のECCビットセットを生成するステップであって、前記第2のメモリセルグループは前記第1のメモリセルグループから規定され、かつ前記第1のサイズより小さい第2のサイズを有するので、前記第2のメモリセルグループが前記第1のメモリセルグループの一部分をなすステップと、
    (d)前記第1のECCビットセットに基づき前記第1のメモリセルグループでエラーを訂正するために前記エラー訂正アルゴリズムを適用するステップと、
    (e)前記第1のECCビットセットに基づき前記第1のメモリセルグループでエラーを訂正するための前記エラー訂正アルゴリズムがステップ(d)で失敗するか否かを判断するステップと、
    (f)前記エラー訂正アルゴリズムがステップ(d)で失敗した場合に、前記第2のECCビットセットに基づき前記第2のメモリセルグループでエラーを訂正するために前記エラー訂正アルゴリズムを適用するステップと、
    を含む方法。
  2. 請求項1記載の方法において、
    )前記第1のECCビットセットに基づき前記第1のメモリセルグループを訂正するステップをさらに含む方法。
  3. 請求項1記載の方法において、
    )前記第2のECCビットセットに基づき前記第2のメモリセルグループを訂正するステップをさらに含む方法。
  4. 請求項1記載の方法において、
    )ステップ(d)に先立ち、さらなるメモリセルグループに対応する情報を有するさらなるECCビットセットを生成するステップをさらに含み、前記さらなるメモリセルグループは前記第2のサイズより小さい第3のサイズを有し、かつ前記第2のメモリセルグループの一部分をなす方法。
  5. 請求項4記載の方法において、
    )前記第2のECCビットセットに基づき前記第2のメモリセルグループでエラーを訂正するために前記エラー訂正アルゴリズムがステップ()で失敗した場合に、前記さらなるECCビットセットに基づき前記さらなるメモリセルグループでエラーを訂正するために前記エラー訂正アルゴリズムを適用するステップをさらに含む方法。
  6. 請求項5記載の方法において、
    )前記さらなるECCビットセットに基づき前記さらなるメモリセルグループを訂正するステップをさらに含む方法。
  7. 請求項1記載の方法において、
    前記第1のメモリセルグループで第2のビット誤り率までエラーを訂正するためにステップ(e)が適用され、前記第2のビット誤り率は第1のビット誤り率より大きい方法。
  8. メモリアレイでエラーを訂正するコンピュータシステムであって、
    標準サイズを有する訂正可能なメモリセルグループで第1のビット誤り率までエラーを訂正できるエラー訂正アルゴリズムと、
    第1のメモリセルグループに対応する情報を有する第1のECCビットセットを格納し、かつ第2のメモリセルグループに対応する情報を有する第2のECCビットセットを格納するべく機能するメモリであって、前記第1のメモリセルグループは標準サイズより大きい第1のサイズを有し、前記第2のメモリセルグループは前記第1のメモリセルグループから規定され、かつ前記第1のサイズより小さい第2のサイズを有するので、前記第2のメモリセルグループが前記第1のメモリセルグループの一部分をなす、メモリと、を備え、
    前記第1のECCビットセットに基づき前記第1のメモリセルグループに適用された前記エラー訂正アルゴリズムが失敗した場合に、前記エラー訂正アルゴリズムは前記第2のECCビットセットに基づき前記第2のメモリセルグループでエラーを訂正するべく機能するコンピュータシステム。
  9. 請求項8記載のコンピュータシステムにおいて、
    前記メモリは、フラッシュメモリであるコンピュータシステム。
  10. 請求項8記載のコンピュータシステムにおいて、
    前記エラー訂正アルゴリズムはまた、前記第1のECCビットセットに基づき前記第1のメモリセルグループを訂正するべく機能するコンピュータシステム。
  11. 請求項8記載のコンピュータシステムにおいて、
    前記エラー訂正アルゴリズムはまた、前記第2のECCビットセットに基づき前記第2のメモリセルグループを訂正するべく機能するコンピュータシステム。
  12. 請求項8記載のコンピュータシステムにおいて、
    前記メモリは、さらなるメモリセルグループに対応する情報を有するさらなるECCビットセットを格納するべく機能し、前記さらなるメモリセルグループは前記第2のサイズより小さい第3のサイズを有し、かつ前記第2のメモリセルグループの一部分をなすコンピュータシステム。
  13. 請求項12記載のコンピュータシステムにおいて、
    前記第2のECCビットセットに基づき前記第2のメモリセルグループに適用された前記エラー訂正アルゴリズムが失敗した場合に、前記エラー訂正アルゴリズムは、前記さらなるECCビットセットに基づき前記さらなるメモリセルグループに適用されるようにさらに機能するコンピュータシステム。
  14. 請求項13記載のコンピュータシステムにおいて、
    前記エラー訂正アルゴリズムはまた、前記さらなるECCビットセットに基づき前記さらなるメモリセルグループを訂正するべく機能するコンピュータシステム。
  15. 請求項8記載のコンピュータシステムにおいて、
    前記第1のメモリセルグループで第2のビット誤り率までエラーを訂正するために前記エラー訂正アルゴリズムが適用され、前記第2のビット誤り率は第1のビット誤り率より大きいコンピュータシステム。
JP2010536553A 2007-12-06 2008-10-07 メモリアレイにおけるエラー訂正 Active JP5529751B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/951,455 2007-12-06
US11/951,455 US8234539B2 (en) 2007-12-06 2007-12-06 Correction of errors in a memory array
PCT/IB2008/054108 WO2009072014A1 (en) 2007-12-06 2008-10-07 Correction of errors in a memory array

Publications (2)

Publication Number Publication Date
JP2011507066A JP2011507066A (ja) 2011-03-03
JP5529751B2 true JP5529751B2 (ja) 2014-06-25

Family

ID=40365377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010536553A Active JP5529751B2 (ja) 2007-12-06 2008-10-07 メモリアレイにおけるエラー訂正

Country Status (8)

Country Link
US (1) US8234539B2 (ja)
EP (1) EP2218003B1 (ja)
JP (1) JP5529751B2 (ja)
KR (1) KR101572038B1 (ja)
CN (1) CN101889267B (ja)
AT (1) ATE506649T1 (ja)
DE (1) DE602008006455D1 (ja)
WO (1) WO2009072014A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8626723B2 (en) * 2008-10-14 2014-01-07 Vmware, Inc. Storage-network de-duplication
US8276039B2 (en) * 2009-02-27 2012-09-25 Globalfoundries Inc. Error detection device and methods thereof
US8484536B1 (en) * 2010-03-26 2013-07-09 Google Inc. Techniques for data storage, access, and maintenance
US8719675B1 (en) 2010-06-16 2014-05-06 Google Inc. Orthogonal coding for data storage, access, and maintenance
JP2012094132A (ja) * 2010-10-01 2012-05-17 Siglead Inc 不揮発性半導体メモリ装置とデータ誤り訂正方法
US8589761B2 (en) 2011-05-31 2013-11-19 Micron Technology, Inc. Apparatus and methods for providing data integrity
US8621317B1 (en) 2011-07-25 2013-12-31 Google Inc. Modified orthogonal coding techniques for storing data
US8615698B1 (en) 2011-09-28 2013-12-24 Google Inc. Skewed orthogonal coding techniques
JP5768654B2 (ja) * 2011-10-25 2015-08-26 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法
US8856619B1 (en) 2012-03-09 2014-10-07 Google Inc. Storing data across groups of storage nodes
US20140169102A1 (en) * 2012-12-19 2014-06-19 Western Digital Technologies, Inc. Log-likelihood ratio and lumped log-likelihood ratio generation for data storage systems
US9213595B2 (en) * 2013-10-15 2015-12-15 International Business Machines Corporation Handling errors in ternary content addressable memories
US9520901B2 (en) * 2014-03-06 2016-12-13 Kabushiki Kaisha Toshiba Memory controller, memory system, and memory control method

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4712215A (en) * 1985-12-02 1987-12-08 Advanced Micro Devices, Inc. CRC calculation machine for separate calculation of checkbits for the header packet and data packet
US5233614A (en) * 1991-01-07 1993-08-03 International Business Machines Corporation Fault mapping apparatus for memory
KR950008789B1 (ko) * 1992-07-30 1995-08-08 삼성전자주식회사 멀티-이씨씨(ecc)회로를 내장하는 반도체 메모리 장치
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
US5847577A (en) * 1995-02-24 1998-12-08 Xilinx, Inc. DRAM memory cell for programmable logic devices
US5905858A (en) * 1996-11-01 1999-05-18 Micron Electronics, Inc. System for method memory error handling
JPH10207726A (ja) * 1997-01-23 1998-08-07 Oki Electric Ind Co Ltd 半導体ディスク装置
JP3184129B2 (ja) * 1997-09-29 2001-07-09 甲府日本電気株式会社 記憶装置
US7099997B2 (en) * 2003-02-27 2006-08-29 International Business Machines Corporation Read-modify-write avoidance using a boundary word storage mechanism
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
US7350044B2 (en) * 2004-01-30 2008-03-25 Micron Technology, Inc. Data move method and apparatus
US7308638B2 (en) 2004-06-29 2007-12-11 Hewlett-Packard Development Company, L.P. System and method for controlling application of an error correction code (ECC) algorithm in a memory subsystem
US8055979B2 (en) * 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
US7810017B2 (en) * 2006-03-20 2010-10-05 Micron Technology, Inc. Variable sector-count ECC
WO2007119485A1 (ja) * 2006-04-06 2007-10-25 Advantest Corporation 試験装置および試験方法
US7840875B2 (en) * 2006-05-15 2010-11-23 Sandisk Corporation Convolutional coding methods for nonvolatile memory
CN100458718C (zh) * 2006-12-29 2009-02-04 福昭科技(深圳)有限公司 一种闪存存储装置及其数据读取和写入方法

Also Published As

Publication number Publication date
US20090150747A1 (en) 2009-06-11
DE602008006455D1 (de) 2011-06-01
KR101572038B1 (ko) 2015-11-26
WO2009072014A1 (en) 2009-06-11
JP2011507066A (ja) 2011-03-03
CN101889267B (zh) 2013-07-31
ATE506649T1 (de) 2011-05-15
KR20100111680A (ko) 2010-10-15
EP2218003A1 (en) 2010-08-18
US8234539B2 (en) 2012-07-31
CN101889267A (zh) 2010-11-17
EP2218003B1 (en) 2011-04-20

Similar Documents

Publication Publication Date Title
JP5529751B2 (ja) メモリアレイにおけるエラー訂正
US8438457B2 (en) Nonvolatile memory apparatus, memory controller, and memory system
KR100681429B1 (ko) 반도체 메모리 장치 및 그것의 비트 에러 검출 방법
JP5132687B2 (ja) メモリにおけるキャッシュを利用した誤り検出及び訂正方法及び装置
US8869007B2 (en) Three dimensional (3D) memory device sparing
US8266495B2 (en) Systems and methods for performing concatenated error correction
JP2006134310A (ja) データ信頼性を向上させることができるメモリ管理方法
JP2005202957A (ja) エラー訂正のためのデータの分割
US10795763B2 (en) Memory system and error correcting method thereof
US11030040B2 (en) Memory device detecting an error in write data during a write operation, memory system including the same, and operating method of memory system
US9189327B2 (en) Error-correcting code distribution for memory systems
US11265022B2 (en) Memory system and operating method thereof
US9959166B2 (en) Error correction for non-volatile memory
US10901842B2 (en) Memory system and operating method thereof
US10915398B2 (en) Memory system and operating method thereof
CN105575439B (zh) 一种存储单元失效纠错的方法及存储器
US10810080B2 (en) Memory device selectively correcting an error in data during a read operation, memory system including the same, and operating method of memory system
US10922025B2 (en) Nonvolatile memory bad row management
JPWO2009139115A1 (ja) 半導体記録装置
US20240022263A1 (en) Memory, memory module, memory system, and operation method of memory system
JP2023037877A (ja) メモリシステム
CN117608487A (zh) 独立磁盘冗余阵列的构建及纠错方法、设备及介质
JP2013218525A (ja) 半導体記憶システム、メモリコントローラおよびメモリ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130723

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130730

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130822

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130829

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130920

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131010

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140417

R150 Certificate of patent or registration of utility model

Ref document number: 5529751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250