JP2014120195A - 組合せ数体系を用いて符号化および復号するための方法 - Google Patents

組合せ数体系を用いて符号化および復号するための方法 Download PDF

Info

Publication number
JP2014120195A
JP2014120195A JP2013255986A JP2013255986A JP2014120195A JP 2014120195 A JP2014120195 A JP 2014120195A JP 2013255986 A JP2013255986 A JP 2013255986A JP 2013255986 A JP2013255986 A JP 2013255986A JP 2014120195 A JP2014120195 A JP 2014120195A
Authority
JP
Japan
Prior art keywords
stuck
memory cell
bits
control circuit
faults
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.)
Granted
Application number
JP2013255986A
Other languages
English (en)
Other versions
JP5646723B2 (ja
Inventor
Cyril Guyot
ギュヨット シリル
Luiz Franca-Neto
フランカ−ネト ルイーズ
Eugeniu Mateescu Robert
ユージニウ マティースキュー ロバート
Mahdavifar Hessam
マフダヴィファール ヘッサム
Bandic Zvonimir
バンディック ズヴォニミール
Wang Qingbo
ワン キンボ
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.)
HGST Netherlands BV
Original Assignee
HGST Netherlands BV
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 HGST Netherlands BV filed Critical HGST Netherlands BV
Publication of JP2014120195A publication Critical patent/JP2014120195A/ja
Application granted granted Critical
Publication of JP5646723B2 publication Critical patent/JP5646723B2/ja
Expired - Fee Related 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/02Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using elements whose operation depends upon chemical change
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/1072Adding 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 multilevel memories
    • 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/14Error detection or correction of the data by redundancy in operation
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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

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)

Abstract

【課題】 組合せ数体系を用いて符号化および復号するための方法を提供する。
【解決手段】 データ記憶システムは、メモリセルを有するメモリ回路および制御回路を含む。制御回路は、メモリセル内に記憶するために与えられるデータビットを受け取るように動作する。メモリセルのサブセットは所定の縮退故障を有する。制御回路は、メモリセル内の所定の縮退故障の対応するもののビット位置に基づき、所定の縮退故障のそれぞれについて二項係数を計算するように動作する。制御回路はそれらの二項係数を合計し、組合せ数体系を用いて符号化された数を生成するように動作する。制御回路は、符号化された数を示す1組の第1の冗長ビットを生成するように動作する。1組の第1の冗長ビットは、データビットを再生成するためにメモリセルから読み取られるビットを復号するために使用される。
【選択図】 図2

Description

本開示は、データ記憶システムに関し、より詳細には、組合せ数体系(combinatorial number system)を用いて符号化および復号するための方法に関する。
多くのデータ通信システムは、データ内の誤りを検出し訂正するために、誤り訂正符号器および復号器を使用する。データ通信システムは、例えば約1×10−4の率で生成されるランダム誤りを訂正することができる。約1×10−4の誤り率を防ぐために、誤り訂正符号器は、その入力ビットよりも約10%多いビットを有する符号化ビットを生成する。
相変化メモリ(PCM:phase change memory)は、不揮発性メモリの類である。PCMデバイスには、従来の不揮発性フラッシュメモリに勝る多くの利点がある。しかしPCMデバイスは、劣化によって引き起こされる多数の誤りを発生させることがある。例えば、PCMデバイスは、1×10−2以上の率で誤りを発生させることがある。
耐久性の限度において、不揮発性メモリデバイスの誤り率は劣化によって左右される。劣化によって引き起こされる誤りは、データ通信システム内で一般的なランダム誤りとは異なる特性および統計を有する縮退故障を含む。
一部の実施形態によれば、データ記憶システムが、メモリセルを有するメモリ回路および制御回路を含む。制御回路は、メモリセル内に記憶するために与えられるデータビットを受け取るように動作する。メモリセルのサブセットが所定の縮退故障を有する。制御回路は、メモリセル内の所定の縮退故障の対応するもののビット位置に基づき、所定の縮退故障のそれぞれについて二項係数を計算するように動作する。制御回路はそれらの二項係数を合計し、組合せ数体系を用いて符号化された数を生成するように動作する。制御回路は、符号化された数を示す1組の第1の冗長ビットを生成するように動作する。1組の第1の冗長ビットは、データビットを再生成するためにメモリセルから読み取られるビットを復号するために使用される。
以下の詳細な説明および添付図面を検討することにより、本発明の様々な目的、特徴、および利点が明らかになる。
本発明の一実施形態によるデータ記憶システムの一例を示す。 本発明の一実施形態による、縮退故障を有するメモリ回路内のメモリセルによって引き起こされる誤りを訂正するための冗長ビットを生成する操作の例を示す流れ図である。 本発明の一実施形態による、冗長ビットを使用してメモリ回路のメモリセル内の縮退故障によって引き起こされるデータビット内の誤りを訂正するための操作の例を示す流れ図である。 本発明の一実施形態による、冗長ビットのサブセットによって示される符号化された数を用いて、メモリセル内の所定の縮退故障のビット位置を求めるために復号器によって使用される操作の例を示す流れ図である。 本発明の一実施形態による、本明細書に記載の符号化および復号方法とともに使用可能なデータビットおよびメモリセルの例を示す。
本明細書に記載の一部の実施形態によれば、書込み操作中、メモリ回路のメモリセル内に記憶するためにデータビットが与えられる。符号器が、メモリセル内の所定の縮退故障に基づいてデータビットのための冗長ビットを生成する。次いで、データビットがメモリセル内に記憶される。読取操作中にデータビットがメモリセルから読み取られた後、復号器が冗長ビットを使用して所定の縮退故障によって引き起こされるデータビット内の誤りを訂正する。メモリ回路は、例えば縮退故障を有する(例えばカルコゲナイドガラスを用いた)相変化メモリ回路や別の種類のメモリ回路とすることができる。本明細書に記載のデータビットは、例えばユーザ生成ビット、ソフトウェアコードを表すビット、および他の任意のデジタル値を含むことができる。
縮退故障を有するメモリセルとは、単一のデジタル値しか記憶できないメモリセルである。1の縮退故障値を有するメモリセルは論理ハイのデジタル値しか記憶できず、0の縮退故障値を有するメモリセルは論理ローのデジタル値しか記憶できない。したがって、1の縮退故障値を有するメモリセルからは論理ハイのデジタル値しか読み取ることができず(すなわち1の状態が続き)、0の縮退故障値を有するメモリセルからは論理ローのデジタル値しか読み取ることができない(すなわち0の状態が続く)。縮退故障を有するメモリセルは、経時的に変わらない縮退故障値を概して有する。
メモリ回路内のメモリセルの一部が縮退故障を有する場合、縮退故障のデジタル値および縮退故障を有するメモリセルのアドレスが符号化プロセスの前に求められ、符号器に与えられる。符号器は、これらの所定の縮退故障のデジタル値およびアドレスを用いて冗長ビットを生成する。データビットはメモリ回路のメモリセル内に記憶される。冗長ビットは、データビットと同じメモリ回路内に記憶されても、別のメモリ回路内に記憶されてもよい。
その後、データビットおよび冗長ビットがメモリから読み取られ、復号器に与えられる。復号器は、冗長ビットを用いて所定の縮退故障によって引き起こされるデータビット内の誤りを訂正する。復号器は、メモリセル内の所定の縮退故障によって引き起こされる誤りをデータビットに含まなくさせる。
本明細書に記載する方法は、マルチレベルメモリセルに直接適用することができる。マルチレベルメモリセルは、1メモリセル当たり複数のビットを記憶することができる。例えば、メモリセルが2ビット保持して動けなくなる場合、それらの2ビットの値は固定され、それらを2つの別個の縮退故障位置として扱うことができる。縮退故障の一方の位置が分かっているので、他方の縮退故障の位置も分かる。その結果、同じ縮退故障誤り率について、マルチレベルメモリセルでは、単一レベルメモリセルで生成される冗長ビットよりも少ない冗長ビットが生成され得る。単一レベルメモリセルは、1メモリセル当たり1ビットしか記憶しない。冗長ビットの数は、例えば1メモリセル当たりのビット数に等しいだけ少ないものとすることができる。
図1は、本発明の一実施形態によるデータ記憶システム100の一例を示す。データ記憶システム100は、制御回路101、メモリ回路102、およびメモリ回路103を含む。制御回路101は、例えばメモリコントローラ回路、プロセッサ回路、またはメモリ回路102〜103内に記憶するための冗長ビットを生成する他の任意の種類の制御回路とすることができる。制御回路101は、メモリ回路102〜103との間でデータビットをやり取りすることができる。データビットは、メモリ回路102〜103の一方または両方の中に記憶される。冗長ビットは、メモリ回路102〜103の一方または両方の中に記憶されてもよい。データビットおよび冗長ビットは、1つまたは複数のオンチップもしくは外部バスにより、または他の種類の信号線により、制御回路101とメモリ回路102〜103との間で伝送される。制御回路101、メモリ回路102、およびメモリ回路103は、同じ集積回路内にあっても、別の集積回路内にあってもよい。したがってシステム100は、回路101〜103を含む単一集積回路デバイスとすることができる。あるいはシステム100は、3つの別個の集積回路デバイス101〜103を含んでもよい。
図2は、本発明の一実施形態による、縮退故障を有するメモリ回路内のメモリセルによって引き起こされる誤りを訂正するための冗長ビットを生成する操作の例を示す流れ図である。メモリ回路内のメモリセルのそれぞれは、少なくとも1つのデジタル値を記憶する。メモリセルの1つまたは複数が縮退故障を有する。縮退故障を有するメモリセルのアドレスおよび縮退故障のデジタル値が図2の操作を行う前に求められ、符号器に与えられる。例えば、どのメモリセルが1組の所定の縮退故障を発生させる縮退故障の挙動に一致する誤りを示すのかを判定するために、再三の読取操作および書込み操作を実行することができる。図2の操作は、例えば制御回路101内の符号器(例えばファームウェア)によって実行されてもよい。
操作201で、符号器が、メモリ回路内に記憶するために与えられるkの数のデータビットを受け取る。kは正の整数である。データビットを記憶するために、メモリ回路内の1組のメモリセルが識別される。データビットを記憶するために識別されるメモリセルは、典型的にはメモリ回路内のメモリセルの総数のサブセットである。例えば、データビットを記憶するために識別されるメモリセルは、メモリ回路内のメモリセルの1ページに対応してもよい。データビットのそれぞれは、メモリ回路の対応するメモリセル内に記憶するために与えられる。データビットの1つまたは複数が、所定の縮退故障を有する対応するメモリセル内に記憶するために与えられる。
操作202で、符号器が、データビットを記憶するために識別されるメモリセル内の所定の縮退故障のそれぞれについて二項係数を計算する。データビットを記憶するために識別されるメモリセル内の所定の縮退故障のビット位置は、c,c,...cで表現され、sはデータビットを記憶するために識別されるメモリセル内の所定の縮退故障の数である。ビット位置c,c,...cは、0≦c<c<...<cが成立するような狭義単調増加する正の整数である。
多数のメモリセル内に記憶するためにデータビットが与えられる一実施形態では、数sが、データビット数kにメモリセル内の縮退故障のビット誤り率αを乗じた値に等しい(またはほぼ等しい)(すなわちs=α×k=αk)。この実施形態では、所定の縮退故障の数がs=αkを下回る場合、符号器は、縮退故障を有さないメモリセルの一部を、任意の縮退故障値を伴う所定の縮退故障を有するものとして扱い、これにより所定の縮退故障を有するものとして符号器によって扱われるメモリセルの総数がsに等しくなる。単一レベルメモリセルでは、数kは、データビットを記憶するために識別されるメモリセルの数にも等しい。
操作202内で符号器が所定の縮退故障ごとに計算する二項係数は、
Figure 2014120195
に等しく、nはメモリセル内の対応する所定の縮退故障のビット位置c,c,...cに等しい整数であり、jは、対応する所定の縮退故障を一意に識別する指数である。指数jは、所定の縮退故障のそれぞれを一意に識別するために1からsまで連続的に変化する正の整数であり、j≦nが成立する。二項係数
Figure 2014120195
は、1組のn要素から選択可能なj要素の組合せの数に等しい。二項係数
Figure 2014120195
は、nの要素を有する組の中のjの組合せの数に等しく、jの組合せのそれぞれの中のjの要素の順序は関係なく、jの組合せのそれぞれにおいてjの要素の複数の繰返しはない。したがって、各組合せは、順序を無視して1組のnの要素からjの要素を選択することができる方法である。メモリセル内の所定の縮退故障ごとに二項係数を計算するための手法を、以下の等式(1)に示す公式によって与え、ただしj≦nが成立する。
Figure 2014120195
符号器は、対応する所定の縮退故障のビット位置nを用いて1からsまでの正の整数jごとに二項係数を計算し、s数の二項係数を生成する。データビットを記憶するために識別されるメモリ回路のメモリセル内のs数の所定の縮退故障のs数の二項係数は、等式(2)に示すように書くことができる。
Figure 2014120195
ある正の整数sのコンビナデッィックスとも呼ばれる組合せ数体系は、狭義単調増加する数列0≦c<c<...<cとして表される、1組の数とその1組の数のsの組合せとの間の対応である。一実施形態によれば、組合せ数体系は、データビットを記憶するために識別されるメモリセル内の所定の縮退故障のビット位置を示すために使用される。この実施形態では、組合せ数体系は、数列
Figure 2014120195
に対する
Figure 2014120195
数の組合せの全単射であり、ただしkはデータビットの数であり、sはデータビットを記憶するために識別されるメモリセル内の所定の縮退故障の数である。この全単射を使い、データビットを記憶するために識別されるメモリセル内の所定の縮退故障の可能なビット位置の全てを正確にマップすることができる。
組Sのsの組合せは、sの個別要素を有するSのサブセットである。組合せ数体系は、それぞれ1つの数により、k要素からなる組Sの可能な全てのsの組合せの表現を与える。任意のkについて、{0,1,...,k−1}をかかる組として選び、所与のsの組合せCの表現は、(kが十分大きくなければならないが)kの値とは無関係であることを定めることができる。kを増加させることによりCをより大きい組のサブセットとみなすことは、Cを表す数を変えない。
sの組合せCに対し、s次の組合せ数体系内で関連する数Nは、所与のオーダリング内でCより真に小さいsの組合せの数である。この数Nは、以下のようにc>...c>cの状態で、C={c,...,c,c}から計算することができる。オーダリングの定義から、Cより真に小さいsの組合せSごとに一意の指数iがあることになり、cはSにないのに対し、c,...,ci+1はS内にあり、cを上回る他のいかなる値もS内にない。したがって、それらのsの組合せSは、iの可能な値1,2,...,sに応じてグループ分けすることができ、各グループは別々にカウントされる。所与のiの値について、c,...,ci+1はS内に含まれ、Sの残りのi要素はcより真に小さい自然数から選択される。そのような任意の選択は、Cより真に小さいsの組合せSをもたらす。可能な選択の数は
Figure 2014120195
であり、これはグループi内の組合せの数である。Cより真に小さいsの組合せの総数Nは、
Figure 2014120195
に等しくなる。これは、sの組合せの順序付きリスト内のCの(0から始まる)指数である。
操作203で、符号器が、等式(3)に示す組合せ数体系を用いて等式(2)内のs数の二項係数を合計することにより、符号化された数Nを計算する。等式(3)では、c,c,c,...cは、データビットを記憶するために識別されるメモリセル内のs数の所定の縮退故障のビット位置である。
Figure 2014120195
したがって、符号化された数Nは、データビットを記憶するために識別されるメモリセル内の所定の縮退故障のs数の二項係数の和に等しい。操作203では、符号器が、メモリセル内に記憶されるデータビットのための1組の第1の冗長ビットとして符号化された数Nの2進表現を生成する。
操作204で、符号器は、所定の縮退故障を有するメモリセル内に記憶されるデータビットのどれが、その対応する所定の縮退故障と同じデジタル値を有するのか、および所定の縮退故障を有するメモリセル内に記憶されるデータビットのどれが、その対応する所定の縮退故障と異なるデジタル値を有するのかを示すs数の冗長ビットを生成する。一例として、操作204で生成されるs数の冗長ビットは、そのメモリセル内に記憶されるデータビットのデジタル値にi番目の縮退故障が一致する場合、そのi番目のビット位置内に0を有することができ、そのメモリセル内に記憶されるデータビットのデジタル値にi番目の縮退故障が一致しない場合、そのi番目のビット位置内に1を有することができる。
図2の実施形態では、符号器が、等式(3)から計算される符号化された数Nを示す1組の冗長ビットと、所定の縮退故障を有するメモリセル内に記憶されるデータビットのどれが、それらの縮退故障の対応するもののデジタル値に一致するのかを示す別の組の冗長ビットとを生成する。以下の等式(4)は、符号器が操作203〜204内で生成する冗長ビットの数Rを示し、ただしs=αkが成立する。以下の等式(5)および(6)は、符号器が操作203〜204内で生成する冗長ビットの最大数Rを示す。
Figure 2014120195
データビットは、データビットを記憶するために識別されるメモリセル内に記憶される。データビットは、図2の操作前の、その操作中の、またはその操作後の書込み操作中にメモリセル内に記憶される。冗長ビットはメモリ内に記憶され、データビットに関連付けられる。冗長ビットは、データビットと同じメモリ回路内に記憶されても、別のメモリ回路内に記憶されてもよい。メモリセルのデータビットにアクセスする読取操作中、冗長ビットがメモリから読み出され、メモリセル内の所定の縮退故障によって引き起こされるデータビット内の誤りを訂正するために使用される。
図3は、本発明の一実施形態による、冗長ビットを使用してメモリ回路のメモリセル内の縮退故障によって引き起こされるデータビット内の誤りを訂正するための操作の例を示す流れ図である。読取操作中にデータビットがメモリ回路のメモリセルから読み取られ、復号器に与えられる。データビットに関連する冗長ビットがメモリから読み取られ、復号器に与えられる。冗長ビットは図2の操作を用いて符号器によって生成され、データビットに関連付けられる。復号器は、データビットに関連する冗長ビットを用いてメモリセル内の所定の縮退故障によって引き起こされるデータビット内の誤りを訂正する。
操作301で、復号器は、読取操作中にメモリセルから読み取られたkの数のデータビットを受け取る。復号器は、この読取操作中に冗長ビットも受け取る。冗長ビットは、データビットと同じメモリ回路から、または別のメモリ回路から読み取られる。
操作302で、復号器は、符号化された数Nとして冗長ビットの1つのサブセットを識別し、所定の縮退故障を有するメモリセル内に記憶されていた元のデータビットのどれが、それらの縮退故障の対応するもののデジタル値に一致したかを示す冗長ビットの別のサブセットを識別する。一例として、符号器は、所定の縮退故障を有するメモリセル内に記憶されていた元のデータビットのどれが、それらの縮退故障の対応するもののデジタル値に一致したかを最初のs数の冗長ビットに示させ、符号化された数Nを残りの冗長ビットに示させることができる。この例では、復号器は、所定の縮退故障を有するメモリセル内に記憶されていた元のデータビットのどれが、それらの縮退故障の対応するもののデジタル値に一致したかを示すために最初のs数の冗長ビットを使用し、符号化された数Nの2進値として残りの冗長ビットを使用する。この例では、復号器がビット誤り率αを受け取りまたは記憶し、等式s=αkを使ってsを計算する。
操作303で、復号器は、冗長ビットのサブセットによって示される符号化された数Nを用いて、メモリセル内の所定の縮退故障のそれぞれのビット位置を求める。上記で説明し等式(3)に示したように、Nは、データビットを記憶したメモリセル内の所定の縮退故障のs数の二項係数の和に等しい。図4に関して以下に記載するように、復号器は、例えば符号化された数Nを使い、所定の縮退故障のビット位置を求めることができる。
操作304で、復号器は、操作303で生成された所定の縮退故障のビット位置および残りの冗長ビットを使用し、メモリセルから読み取られるデータビットのデジタル値を調節して、訂正されたデータビットを生成する。残りの冗長ビットは、所定の縮退故障を有するメモリセル内に記憶されていた元のデータビットのどれが、それらの縮退故障の対応するもののデジタル値に一致したかを示す。復号器は、残りの冗長ビットのデジタル値に基づいて、所定の縮退故障を有するメモリセルから読み取られたデータビットの1つまたは複数のデジタル値を調節することができる。
一例として、残りの冗長ビットは、そのメモリセル内に記憶されていた元のデータビットのデジタル値にi番目の所定の縮退故障が一致する場合、そのi番目のビット位置内に0を有し、そのメモリセル内に記憶されていた元のデータビットのデジタル値にi番目の所定の縮退故障が一致しない場合、そのi番目のビット位置内に1を有する。復号器は操作303の結果に基づき、データビットのどれが所定の縮退故障を有するメモリセルから読み取られたかを判定する。復号器は、所定の縮退故障を有するメモリセルから読み取られたデータビットのそれぞれを、そのメモリセル内に記憶される元のデータビットがそのメモリセルの縮退故障のデジタル値に一致しなかったことを残りの冗長ビットの対応するものが示す場合に反転させ、訂正されたデータビットの対応するものを生成する。復号器は、訂正されたデータビットの対応するものを生成するために、メモリセルから読み取られる残りのデータビットを反転させない。
図4は、本発明の一実施形態による、冗長ビットのサブセットによって示される符号化された数Nを用いて、メモリセル内の所定の縮退故障のビット位置を求めるために復号器によって使用される操作の例を示す流れ図である。図4の実施形態では、jは正の整数に等しい可変指数であり、Mは正の整数に等しい可変パラメータである。操作401において、指数jは縮退故障の数sに等しく、パラメータMは、操作302で明らかにされた冗長ビットのサブセットによって示される符号化された数Nに等しい。復号器は、符号化された数Nに対応するjの組合せを検出する。cがその最大の要素である、最も小さい組合せは
Figure 2014120195
である。したがってcは、
Figure 2014120195
が成立する最も大きい正の整数である。操作401では、整数
Figure 2014120195
を所与として、復号器は
Figure 2014120195
が成立するようにcが最大だと見出し、ただしMは組合せ数体系内の符号化された数Nに等しい。復号器は、メモリセル内の第1の所定の縮退故障のビット位置として値cを選択する。
j>1が成立する場合、jの組合せの残りの要素が、j−1次の組合せ数体系内の数
Figure 2014120195
に対応するj−1の組合せを形成する。復号器は、Mとjの代わりに、
Figure 2014120195
およびj−1のそれぞれを用いて同じ操作を繰り返すことにより、jの組合せの残りの要素を見つける。とりわけ操作402では、復号器は
Figure 2014120195
が成立するようにcj−1が最大だと見出す。操作402の最初の反復では、指数jはsに等しく、パラメータMは符号化された数Nに等しい。復号器は、メモリセル内の第2の所定の縮退故障のビット位置として値cj−1を選択する。
次いで復号器は、決定操作403で、j>2が成立するかどうかを判定する。操作403でj=2が成立する場合、その復号プロセスは終了する。操作403でj>2が成立する場合、操作404で復号器がjから1を引き(すなわちj=j−1)、操作402〜404の次の反復のための指数jの新たな値を生成する。復号器は、操作404の各反復内でjの値を1ずつ減少させる。さらに操作404では、復号器は、Mから
Figure 2014120195
を引き
Figure 2014120195
操作402〜404の次の反復のためのパラメータMの新たな値を生成する。次いで復号器は、操作404で計算したjおよびMの新たな値を用いて操作402〜403を繰り返し、メモリセル内の次の所定の縮退故障のビット位置を求める。復号器は、データビットがそこから読み取られたメモリセル内のs数の所定の縮退故障のビット位置c,c,...,cs−1,cのそれぞれを求めるために、操作402〜404の反復を実行し続ける。
図5は、本発明の一実施形態による、本明細書に記載の符号化および復号方法とともに使用可能なデータビットおよびメモリセルの例を示す。図5内に示し、図5に関して説明する値は解説目的で与える例に過ぎず、限定的であることを意図しない。
図5は、ビット位置0〜24にあるメモリ回路内の25個の単一レベルメモリセルを示す。図を簡単にするために、図5ではこの25個のメモリセルを四角形として示す。図5は、ビット位置0〜24内にある1組の例示的な25個のデータビットも示す。図5内に示す25個のデータビットは、25個のメモリセル内に記憶するために与えられる。データビットのそれぞれは、そのデータビットと同じビット位置を有する対応するメモリセル内に記憶するために与えられる。例えば、図5に示すビット位置0にある最も左のデータビットは、図5に示すビット位置0にある対応する最も左のメモリセル内に記憶するために与えられる。
図5に示すメモリセルの一部は縮退故障を有する。0の縮退故障を有するメモリセルは、図5内でS0によって識別される。ビット位置3、6、および17にあるメモリセルは0の縮退故障を有する。1の縮退故障を有するメモリセルは、図5内でS1によって識別される。ビット位置8および13にあるメモリセルは1の縮退故障を有する。
操作202で、符号器が、図5に示すメモリセル内のビット位置3、6、8、13、および17にある縮退故障のそれぞれの二項係数を計算する。図5のメモリセル内の5つの縮退故障の5つの二項係数は、3、15、56、715、および6188の数にそれぞれ等しい
Figure 2014120195
である。
操作203で、符号器が、操作202で計算された5つの二項係数を合計することにより、メモリセル内の5つの縮退故障のビット位置3、6、8、13、および17に対応する符号化された数Nを計算する。この例では、符号化された数Nは6977に等しい。次いで符号器は、6977の2進値を示す1組の冗長ビットを生成する。
操作204で、符号器は、縮退故障を有するメモリセル内に記憶されるデータビットのどれが、その対応する縮退故障と同じデジタル値を有するのか、および縮退故障を有するメモリセル内に記憶されるデータビットのどれが、その対応する縮退故障と異なるデジタル値を有するのかを示す1組の5つの冗長ビットを生成する。操作204で、符号器は、ビット位置3および13にあるデータビットがその対応する縮退故障と同じデジタル値を有し、ビット位置6、8、および17にあるデータビットがその対応する縮退故障とは異なるデジタル値を有すると判定する。
符号器は、01101に等しい1組の5つの冗長ビットを生成する。この冗長ビットの組のi番目のビット位置内の各0は、そのメモリセル内に記憶されるデータビットのデジタル値にi番目の縮退故障が一致することを示す。この冗長ビットの組のi番目のビット位置内の各1は、そのメモリセル内に記憶されるデータビットのデジタル値にi番目の縮退故障が一致しないことを示す。冗長ビット01101は、図5に示すビット位置3、6、8、13、および17それぞれのメモリセルの縮退故障に対応する。
読取操作中にデータビットがメモリセルから読み取られた後、データビットおよび冗長ビットが復号器に与えられる。操作302で、復号器は、符号化された数Nとして冗長ビットの1つのサブセットを識別する。復号器はさらに、縮退故障の対応するもののデジタル値に一致した縮退故障を有するメモリセル内に元のデータビットのどれが記憶されていたかを示す、冗長ビットの別のサブセットを識別する。
操作303で、復号器は、図4の操作を用いて符号化された数Nを復号する。まず、この例では指数jは5に等しい。操作401で、復号器は
Figure 2014120195
が成立するようにcの最大値を求める。こうして、復号器はcが17に等しいと決定する。操作402で、復号器は、
Figure 2014120195
が成立するようにcの最大値を求める。こうして、復号器はcが13に等しいと決定する。
操作404の最初の反復でjの値を1減らし、jを4に等しくさせた後、復号器は、操作402の2回目の反復で
Figure 2014120195
が成立するようにcの最大値を求める。こうして、復号器はcが8に等しいと決定する。操作404の2回目の反復でjの値を1減らし、jを3に等しくさせた後、復号器は、操作402の3回目の反復で
Figure 2014120195
が成立するようにcの最大値を求める。こうして、復号器はcが6に等しいと決定する。操作404の3回目の反復でjの値を1減らし、jを2に等しくさせた後、復号器は、操作402の4回目の反復で
Figure 2014120195
が成立するようにcの最大値を求める。こうして、復号器はcが3に等しいと決定する。操作403の次の反復では指数jは2に等しく、その後復号プロセスは終了する。復号器は、縮退故障のビット位置c、c、c、c、およびcのビット位置がそれぞれ17、13、8、6、および3であると決定する。
本発明の実施形態は、例えばハードウェア、ソフトウェア、およびプログラム命令を含むコンピュータ可読媒体の1つまたは組合せを用いて実施することができる。本発明の実施形態は、コンピュータ上で実行可能な非一時的コンピュータ可読媒体上に記憶されるプログラムコードとして実施することができる。本発明の実施形態によって実施されるソフトウェアおよび本発明の結果は、半導体メモリ、相変化メモリ、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)や他の媒体などのコンピュータ可読媒体上に記憶することができる。本発明の結果は、プロセッサによって実行されまたは処理されること、利用者に表示されること、ネットワークを介して信号内で伝送されることなど、様々な目的で使用することができる。本発明の実施形態は、ネットワークを介して接続されるいくつかのコンピュータシステムに分散処理に影響を及ぼさせる、非一時的コンピュータ可読媒体上に記憶されるコンピュータ可読プログラムコードユニットとして実施することもできる。
本発明の例示的実施形態についての上記の説明は、解説および説明目的で提示した。上記の説明は網羅的であることも、本明細書で開示した例に本発明を限定することも意図しない。一部の例では、記載した他の特徴を対応して使用することなしに、本発明の特徴を使用することができる。上記の教示に照らし、本発明の範囲から逸脱することなく多くの修正形態、代替形態、および改変形態が可能である。
100 データ記憶システム
101 制御回路
102 メモリ回路
103 メモリ回路

Claims (20)

  1. メモリセルを含むメモリ回路と、
    前記メモリセル内に記憶するために与えられるデータビットを受け取るように動作する制御回路であって、前記メモリセルのサブセットは所定の縮退故障を有する、制御回路と、
    を含む、データ記憶システムであって、
    前記制御回路は、前記メモリセル内の前記所定の縮退故障の対応するもののビット位置に基づき、前記所定の縮退故障のそれぞれについて二項係数を計算するように動作し、前記制御回路は前記二項係数を合計し、組合せ数体系を用いて符号化された数を生成するように動作し、
    前記制御回路は、前記符号化された数を示す1組の第1の冗長ビットを生成するように動作し、前記1組の第1の冗長ビットは、前記データビットを再生成するために前記メモリセルから読み取られるビットを復号するために使用される、
    データ記憶システム。
  2. 前記制御回路は、前記データビットのどれがその対応する所定の縮退故障のデジタル値に一致するのか、および前記データビットのどれがその対応する所定の縮退故障と異なるデジタル値を有するのかを示す、1組の第2の冗長ビットを生成するように動作する、
    請求項1に記載のデータ記憶システム。
  3. 前記1組の第1の冗長ビットおよび前記1組の第2の冗長ビットを前記データビットに関連させるように動作し、前記1組の第1の冗長ビットおよび前記1組の第2の冗長ビットを用いて前記メモリセルから読み取られる前記ビットを復号し、前記データビットを再生成するように動作する、
    請求項2に記載のデータ記憶システム。
  4. 前記メモリ回路が相変化メモリ回路である、
    請求項1に記載のデータ記憶システム。
  5. 前記制御回路が、前記二項係数のそれぞれを、1組のn要素から選択可能なj要素の組合せの数と等しくさせるように動作し、nは前記メモリセル内の前記所定の縮退故障の前記対応するものの前記ビット位置に等しい整数であり、jは、前記所定の縮退故障の前記対応するものを一意に識別する指数である、
    請求項1に記載のデータ記憶システム。
  6. メモリセルを含むメモリ回路と、
    前記メモリセルから読み取られるデータビットを受け取るように動作する制御回路であって、前記データビットに関連する冗長ビットを受け取るように動作する、制御回路と、
    を含む、データ記憶システムであって、
    前記制御回路は、前記冗長ビットの第1のサブセットによって示される符号化された数を識別するように動作し、前記制御回路は、組合せ数体系内の前記符号化された数を用いて計算される組合せに基づき、前記メモリセル内の1組の縮退故障のビット位置を求めるように動作し、前記制御回路は、前記1組の縮退故障の前記ビット位置および前記冗長ビットの第2のサブセットを用いて前記データビットのデジタル値を調節し、訂正されたデータビットを生成するように動作する、
    データ記憶システム。
  7. 前記冗長ビットの前記第2のサブセットは、前記1組の縮退故障を有する前記メモリセル内に記憶するために与えられた1組のビットのどれが、前記縮退故障の対応するもののデジタル値に一致したかを示す、
    請求項6に記載のデータ記憶システム。
  8. 前記制御回路が、1組のc要素から選択可能なj要素の第1の組合せに基づき、前記縮退故障の最初のもののビット位置を求めるように動作し、前記第1の組合せが前記符号化された数以下であるようにcは最大値を有し、jは前記データビットの数に前記メモリセル内の前記縮退故障のビット誤り率を掛けた値に等しく、cは前記縮退故障の前記最初のものの前記ビット位置に等しい、
    請求項7に記載のデータ記憶システム。
  9. 前記制御回路が、1組のcj−1要素から選択可能なj−1要素の第2の組合せに基づき、前記縮退故障の第2のもののビット位置を求めるように動作し、前記第2の組合せが前記符号化された数から前記第1の組合せを引いた値以下であるようにcj−1は最大値を有し、cj−1は前記縮退故障の前記第2のものの前記ビット位置に等しい、
    請求項8に記載のデータ記憶システム。
  10. 前記制御回路が、1組のcj−2要素から選択可能なj−2要素の第3の組合せに基づき、前記縮退故障の第3のもののビット位置を求めるように動作し、前記第3の組合せが前記符号化された数から前記第1の組合せおよび前記第2の組合せを引いた値以下であるようにcj−2は最大値を有し、cj−2は前記縮退故障の前記第3のものの前記ビット位置に等しい、
    請求項9に記載のデータ記憶システム。
  11. メモリ回路のメモリセル内に記憶するために与えられるデータビットを制御回路で受け取るステップであって、前記メモリセルのサブセットは所定の縮退故障を有するステップと、
    前記制御回路を使い、前記メモリセル内の前記所定の縮退故障の対応するもののビット位置に基づき、前記所定の縮退故障のそれぞれについて二項係数を計算するステップと、
    前記制御回路を使い、前記所定の縮退故障について計算された前記二項係数を合計し、組合せ数体系内の符号化された数を生成するステップと、
    前記制御回路を使い、前記符号化された数を示す1組の第1の冗長ビットを生成するステップであって、前記1組の第1の冗長ビットは、前記データビットを再生成するために前記メモリセルから読み取られるビットを復号するために使用されるステップと、
    を含む、方法。
  12. 前記データビットのどれがその対応する所定の縮退故障のデジタル値に一致するのか、および前記データビットのどれがその対応する所定の縮退故障と異なるデジタル値を有するのかを示す、1組の第2の冗長ビットを生成するステップ、
    をさらに含む、請求項11に記載の方法。
  13. 前記1組の第1の冗長ビットおよび前記1組の第2の冗長ビットを前記データビットに関連させるステップと、
    前記1組の第1の冗長ビットおよび前記1組の第2の冗長ビットを用いて前記メモリセルから読み取られる前記ビットを復号し、前記データビットを再生成するステップと、
    をさらに含む、請求項12に記載の方法。
  14. 前記メモリ回路が相変化メモリ回路である、
    請求項11に記載の方法。
  15. 前記制御回路を使い、前記メモリセル内の前記所定の縮退故障の対応するもののビット位置に基づき、前記所定の縮退故障のそれぞれについて二項係数を計算するステップが、前記二項係数のそれぞれを、1組のn要素から選択可能なj要素の組合せの数と等しくさせるステップをさらに含み、nは前記メモリセル内の前記所定の縮退故障の前記対応するものの前記ビット位置に等しい整数であり、jは、前記所定の縮退故障の前記対応するものを一意に識別する指数である、
    請求項11に記載の方法。
  16. メモリ回路のメモリセルから読み取られるデータビットを制御回路で受け取るステップと、
    前記データビットに関連する冗長ビットを前記制御回路で受け取るステップと、
    前記制御回路を使い、前記冗長ビットの第1のサブセットによって示される符号化された数を識別するステップと、
    組合せ数体系内の前記符号化された数に基づき前記制御回路によって計算される組合せを使い、前記メモリセル内の1組の縮退故障のビット位置を求めるステップと、
    前記1組の縮退故障の前記ビット位置および前記冗長ビットの第2のサブセットを用いて前記データビットのデジタル値を調節し、訂正されたデータビットを生成するステップと、
    を含む、方法。
  17. 前記冗長ビットの前記第2のサブセットは、前記1組の縮退故障を有する前記メモリセル内に記憶するために与えられた1組のビットのどれが、前記縮退故障の対応するもののデジタル値に一致したかを示す、
    請求項16に記載の方法。
  18. 組合せ数体系内の前記符号化された数に基づき前記制御回路によって計算される組合せを使い、前記メモリセル内の1組の縮退故障のビット位置を求めるステップが、
    1組のc要素から選択可能なj要素の第1の組合せに基づき、前記縮退故障の最初のもののビット位置を求めるステップをさらに含み、前記第1の組合せが前記符号化された数以下であるようにcは最大値を有し、jは前記データビットの数に前記メモリセル内の前記縮退故障のビット誤り率を掛けた値に等しく、cは前記縮退故障の前記最初のものの前記ビット位置に等しい、
    請求項17に記載の方法。
  19. 組合せ数体系内の前記符号化された数に基づき前記制御回路によって計算される組合せを使い、前記メモリセル内の1組の縮退故障のビット位置を求めるステップが、
    1組のcj−1要素から選択可能なj−1要素の第2の組合せに基づき、前記縮退故障の第2のもののビット位置を求めるステップをさらに含み、前記第2の組合せが前記符号化された数から前記第1の組合せを引いた値以下であるようにcj−1は最大値を有し、cj−1は前記縮退故障の前記第2のものの前記ビット位置に等しい、
    請求項18に記載の方法。
  20. 組合せ数体系内の前記符号化された数に基づき前記制御回路によって計算される組合せを使い、前記メモリセル内の1組の縮退故障のビット位置を求めるステップが、
    1組のcj−2要素から選択可能なj−2要素の第3の組合せに基づき、前記縮退故障の第3のもののビット位置を求めるステップをさらに含み、前記第3の組合せが前記符号化された数から前記第1の組合せおよび前記第2の組合せを引いた値以下であるようにcj−2は最大値を有し、cj−2は前記縮退故障の前記第3のものの前記ビット位置に等しい、
    請求項19に記載の方法。
JP2013255986A 2012-12-12 2013-12-11 組合せ数体系を用いて符号化および復号するための方法 Expired - Fee Related JP5646723B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/712,929 US8943388B2 (en) 2012-12-12 2012-12-12 Techniques for encoding and decoding using a combinatorial number system
US13/712,929 2012-12-12

Publications (2)

Publication Number Publication Date
JP2014120195A true JP2014120195A (ja) 2014-06-30
JP5646723B2 JP5646723B2 (ja) 2014-12-24

Family

ID=50000188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013255986A Expired - Fee Related JP5646723B2 (ja) 2012-12-12 2013-12-11 組合せ数体系を用いて符号化および復号するための方法

Country Status (5)

Country Link
US (1) US8943388B2 (ja)
JP (1) JP5646723B2 (ja)
KR (1) KR101566088B1 (ja)
DE (1) DE102013020713A1 (ja)
GB (1) GB2508995B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014120196A (ja) * 2012-12-12 2014-06-30 Hgst Netherlands B V 縮退故障を有するメモリセル内にビットを記憶するための技術

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101545512B1 (ko) * 2012-12-26 2015-08-24 성균관대학교산학협력단 반도체 메모리 장치, 검증 독출 방법 및 시스템
CN109644200A (zh) * 2016-03-03 2019-04-16 卡达米有限公司 在网络中分配数据的特征编码及解码装置及有该装置的网络元素

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55142496A (en) * 1979-04-20 1980-11-07 Nippon Telegr & Teleph Corp <Ntt> Memory error detection and correction circuit
JPS5680899A (en) * 1979-12-05 1981-07-02 Fujitsu Ltd Error amending processing system of memory device
JPS63141153A (ja) * 1986-12-03 1988-06-13 Nec Corp 半導体外部記憶装置
JPH09212429A (ja) * 1996-01-30 1997-08-15 Oki Electric Ind Co Ltd 不揮発性半導体ディスク装置
JPH1116393A (ja) * 1997-06-20 1999-01-22 Nec Corp テスト回路
US20100321218A1 (en) * 2008-10-15 2010-12-23 Veeresh Rudrappa Koratagere Lossless content encoding
US20110181448A1 (en) * 2008-10-15 2011-07-28 Veeresh Rudrapa Koratagere Lossless compression

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3949208A (en) 1974-12-31 1976-04-06 International Business Machines Corporation Apparatus for detecting and correcting errors in an encoded memory word
US6327680B1 (en) * 1999-05-20 2001-12-04 International Business Machines Corporation Method and apparatus for array redundancy repair detection
FR2815199B1 (fr) * 2000-10-10 2003-01-17 Canon Kk Procedes de turbocodage circulaire de grande distance minimale, et systemes pour leur mise en oeuvre
US20030009721A1 (en) * 2001-07-06 2003-01-09 International Business Machines Corporation Method and system for background ECC scrubbing for a memory array
JP4268367B2 (ja) 2002-03-18 2009-05-27 博幸 荻野 半導体メモリの検査および欠陥救済方法、並びに半導体メモリの検査および欠陥救済回路
US6868022B2 (en) 2003-03-28 2005-03-15 Matrix Semiconductor, Inc. Redundant memory structure using bad bit pointers
US6839275B2 (en) 2003-06-04 2005-01-04 Hewlett-Packard Development Company, L.P. Memory system having control circuit configured to receive data, provide encoded received data to match a fault pattern in the array of memory cells
US7533321B2 (en) * 2005-09-13 2009-05-12 International Business Machines Corporation Fault tolerant encoding of directory states for stuck bits
KR100713206B1 (ko) 2006-07-21 2007-05-02 연세대학교 산학협력단 다중고착 고장 진단을 위한 매칭 방법
US8144037B2 (en) 2007-07-12 2012-03-27 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
EP2291846A1 (en) 2008-06-11 2011-03-09 Nxp B.V. Phase change memory device and control method
US8331168B2 (en) 2009-04-30 2012-12-11 International Business Machines Corporation Increased capacity heterogeneous storage elements
US8412987B2 (en) 2009-06-30 2013-04-02 Micron Technology, Inc. Non-volatile memory to store memory remap information
US8255742B2 (en) 2009-11-18 2012-08-28 Microsoft Corporation Dynamically replicated memory
US8543863B2 (en) * 2009-11-18 2013-09-24 Microsoft Corporation Efficiency of hardware memory access using dynamically replicated memory
US8839053B2 (en) 2010-05-27 2014-09-16 Microsoft Corporation Error correcting pointers for non-volatile storage
US8352839B2 (en) 2010-06-11 2013-01-08 International Business Machines Corporation Encoding data into constrained memory
US8634235B2 (en) 2010-06-25 2014-01-21 Macronix International Co., Ltd. Phase change memory coding
US9009574B2 (en) * 2011-06-07 2015-04-14 Marvell World Trade Ltd. Identification and mitigation of hard errors in memory systems
US8589762B2 (en) * 2011-07-05 2013-11-19 International Business Machines Corporation Adaptive multi-bit error correction in endurance limited memories

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55142496A (en) * 1979-04-20 1980-11-07 Nippon Telegr & Teleph Corp <Ntt> Memory error detection and correction circuit
JPS5680899A (en) * 1979-12-05 1981-07-02 Fujitsu Ltd Error amending processing system of memory device
JPS63141153A (ja) * 1986-12-03 1988-06-13 Nec Corp 半導体外部記憶装置
JPH09212429A (ja) * 1996-01-30 1997-08-15 Oki Electric Ind Co Ltd 不揮発性半導体ディスク装置
JPH1116393A (ja) * 1997-06-20 1999-01-22 Nec Corp テスト回路
US20100321218A1 (en) * 2008-10-15 2010-12-23 Veeresh Rudrappa Koratagere Lossless content encoding
US20110181448A1 (en) * 2008-10-15 2011-07-28 Veeresh Rudrapa Koratagere Lossless compression

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014120196A (ja) * 2012-12-12 2014-06-30 Hgst Netherlands B V 縮退故障を有するメモリセル内にビットを記憶するための技術

Also Published As

Publication number Publication date
JP5646723B2 (ja) 2014-12-24
KR101566088B1 (ko) 2015-11-04
US20140164821A1 (en) 2014-06-12
US8943388B2 (en) 2015-01-27
KR20140076503A (ko) 2014-06-20
DE102013020713A1 (de) 2014-06-12
GB2508995A (en) 2014-06-18
GB201321451D0 (en) 2014-01-22
GB2508995B (en) 2015-09-30

Similar Documents

Publication Publication Date Title
JP5722420B2 (ja) 縮退故障を有するメモリセル内にビットを記憶するための技術
JP5805727B2 (ja) 縮退故障を有するメモリセルに対応するためのデータ符号化及び復号化
US10333558B2 (en) Decoding device and decoding method
US8635508B2 (en) Systems and methods for performing concatenated error correction
US8145983B1 (en) Methods and apparatus for identification of likely errors in data blocks
KR20180089104A (ko) 메모리 모듈, 이를 포함하는 메모리 시스템 및 이의 에러 정정 방법
JP6540703B2 (ja) メモリコントローラおよびメモリコントローラの制御方法
JP5646723B2 (ja) 組合せ数体系を用いて符号化および復号するための方法
US10514980B2 (en) Encoding method and memory storage apparatus using the same
US9164831B2 (en) Memory controller, semiconductor storage device, and decoding method
JP2017022651A (ja) 誤り訂正装置、半導体記憶装置、および誤り訂正方法
CN112951313B (zh) 用于纠错的存储控制器、包括其的存储设备及其操作方法
WO2014123649A1 (en) Read commands specifying error performance
CN110716824B (zh) 编码方法及使用所述编码方法的存储器存储装置
KR101543081B1 (ko) 고착 고장을 갖는 메모리 셀을 수용하기 위한 리던던트 비트의 인코딩 및 디코딩
US20200264951A1 (en) Memory system and method of controlling non-volatile memory
US12081237B2 (en) Processing-in-memory (PIM) devices
US20210019227A1 (en) Memory systems and methods of correctng errors in the memory systems
KR102705065B1 (ko) 낮은 레이턴시를 갖는 에러정정코드 디코더
JP2012185689A (ja) メモリシステム及びメモリコントローラ
TWI381391B (zh) 可自我檢測使用狀態的儲存裝置及其檢測方法
JP2012038226A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2011029857A (ja) フラッシュファイルシステムの誤り検出訂正機能

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140925

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: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141105

R150 Certificate of patent or registration of utility model

Ref document number: 5646723

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees