JP6377751B2 - メモリ中のエラーを処理するためのエラー訂正ポインタの使用 - Google Patents

メモリ中のエラーを処理するためのエラー訂正ポインタの使用 Download PDF

Info

Publication number
JP6377751B2
JP6377751B2 JP2016541945A JP2016541945A JP6377751B2 JP 6377751 B2 JP6377751 B2 JP 6377751B2 JP 2016541945 A JP2016541945 A JP 2016541945A JP 2016541945 A JP2016541945 A JP 2016541945A JP 6377751 B2 JP6377751 B2 JP 6377751B2
Authority
JP
Japan
Prior art keywords
codeword
memory
ecp
threshold
bits
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
JP2016541945A
Other languages
English (en)
Other versions
JP2016530655A (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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2016530655A publication Critical patent/JP2016530655A/ja
Application granted granted Critical
Publication of JP6377751B2 publication Critical patent/JP6377751B2/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/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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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

Description

本発明の複数の実施形態は、概してメモリの技術分野に関する。特定の複数の実施形態はメモリコントローラに関する。
メモリエラーは、読み出す度に起こるハードエラー(例えば、固定されたビット)、又はランダムに生じるソフトエラーに分類され得る。例えば、複数のクロスポイントメモリにおいて、メモリセルの閾値電圧又は抵抗が選択電圧より高い場合、当該セルは論理値(例えば、0又は1)に固定され得る。ハードエラーは、複数のクロスポイントメモリにおいてはエラーのかなりの部分であるといえる。
複数の実施形態が、複数の添付の図面と併せて以下の発明を実施するための形態を読むことにより容易に理解されるだろう。この説明を容易にするために、同様の参照番号は同様の構造要素を指す。複数の実施形態は、添付の図面の複数の図において例として示されるのであり、限定するために示されるのではない。
様々な実施形態に係る、例示的なメモリシステムを示す。 様々な実施形態に係る、メモリからデータを読み出すための読み出し処理を示す。 様々な実施形態に係る、本明細書において説明される複数の装置及び複数の方法を用いるべく構成される例示的なシステムを示す。
以下の発明を実施するための形態においては、本明細書の一部を形成する添付の図面を参照する。明細書全体を通して、同様の数字は同様の部分を指し、明細書中、実施され得る複数の実施形態が例示として示される。本開示の範囲を逸脱することなく、複数の他の実施形態が用いられ得て、構造的又は論理的な複数の変更が成されるということが理解されるべきである。故に、以下の発明を実施するための形態は限定的な意味で解釈されるべきでなく、複数の実施形態の範囲は、添付の特許請求の範囲及びその均等物によって定義される。
特許請求の範囲の主題を理解する上で最も役立つような形で、様々な動作が複数の別個のアクション又は動作として順に記載され得る。しかしながら、記載の順序は、これらの動作が必ず順序に依存すると示唆するものと解釈されるべきではない。特に、これらの動作は提示の順序で実行されなくてもよい。記載される複数の動作は、記載された実施形態とは異なる順序で実行されてよい。様々な追加の動作が実行されてよく、及び/又は、記載された複数の動作は複数の追加の実施形態においては省略されてよい。
本開示の目的のために、「A及び/又はB」及び「A又はB」という表現は、(A)、(B)、又は(A及びB)を意味する。本開示の目的のために、「A,B、及び/又はC」という表現は、(A)、(B)、(C)、(A及びB)、(A及びC)、(B及びC)、又は(A、B及びC)を意味する。
本記載は、「一実施形態において」又は「複数の実施形態において」という表現を使用し、それらは各々、同じ又は異なる実施形態のうちの1又は複数を指す。更に、「備える」、「含む」、「有する」等の用語は、本開示の複数の実施形態に関して用いられるときは同義である。
本明細書において用いられるとき、「モジュール」という用語は、特定用途向け集積回路(ASIC)、電子回路、1又は複数のソフトウェア又はファームウェアのプログラムを実行するプロセッサ(共有、専用、又はグループの)及び/又はメモリ(共有、専用、又はグループの)、組み合わせ論理回路、及び/又は記載される機能を提供する他の好適な複数のコンポーネントを指すか、それらの一部であるか、又はそれらを含み得る。本明細書において用いられるとき、「コンピュータによって実施される方法」とは、1又は複数のプロセッサ、1又は複数のプロセッサを有するコンピュータシステム、(1又は複数のプロセッサを含み得る)スマートフォンなどのモバイルデバイス、タブレット、ラップトップコンピュータ、セットトップボックス、ゲーム機などによって実行される任意の方法を指し得る。
図1は、様々な実施形態に係るメモリシステム100を示す。メモリシステム100は、メモリコントローラ102、メモリ104、及びエラー訂正ポインタ(ECP)ブロック106を含み得る。メモリ104は、限定はされないが、NAND(フラッシュ)メモリ、強誘電体ランダムアクセスメモリ(FeTRAM)、ナノワイヤベースの不揮発性メモリ、相変化メモリ(PCM)などの三次元(3D)クロスポイントメモリ、メモリスタ技術を組み込むメモリ、磁気抵抗ランダムアクセスメモリ(MRAM)、スピン転送トルク(STT)−MRAM等を含む様々な形態の揮発性又は不揮発性メモリを実装し得る。ECPブロック106は、エラー訂正コード(ECC)と共に用いられて、メモリ104に格納されるデータにおいて検出されるハードエラー及びソフトエラーの両方を訂正し得る。ECPブロック106は複数のECP108を含み得る。複数の他の実施形態においては、ECPブロック106はメモリ104に含まれ得る。更に複数の他の実施形態において、ECPブロック106はメモリコントローラ102に含まれ得る。
メモリコントローラ102は、メモリ104へのデータの書き込み、及び/又はメモリ104からのデータの読み出しを制御し得る。例えば、メモリコントローラ102はメモリ104へデータを書き込むための書き込みモジュール110と、メモリ104からデータを読み出すための読み出しモジュール112とを含み得る。メモリコントローラ102は、1又は複数の他のコンポーネント(例えば、プロセッサ)とインタフェースで接続して、当該1又は複数の他のコンポーネントがメモリ104にデータを書き込むこと、及び/又は、メモリ104からデータを読み出すことを可能にし得る。複数の実施形態においては、メモリコントローラ102はメモリ104と共に同じパッケージ内に含まれ得る。
様々な実施形態において、メモリ104に格納されるデータは、複数のコードワードで配列され得る。読み出しモジュール112は、複数のバスラインを有するバス114を介してメモリ104に連結され得る。読み出しモジュール112は更にECCモジュール116を含み、メモリ104から読み出されるデータに対してECC処理を実行し得る。
複数の実施形態において、メモリコントローラ102は本開示の教示が組み込まれ、ECP106を用いて、メモリ104からデータを読み出す際に発生する複数のハードエラーを処理しうる。このことは、以下により完全に記載される。
図2は、様々な実施形態に係る、メモリコントローラ102によって実行され得る読み出し処理200を示す。
処理200のブロック202において、メモリコントローラ102の読み出しモジュール112は、メモリ104に格納されるコードワードを読み出すことを試み得る(例えばバス114を介して)。コードワードは、一連のデータビット、例えば、8、16、32、又は64ビット、を含み得て、各ビットは論理0又は論理1のいずれかである。処理200のブロック204において、メモリコントローラ102のECCモジュール116は、コードワードに対してECC処理を実行してデータをデコードかつ復元し得る。メモリコントローラ102は、メモリ104にコードワードを書き込むとき、コードワードに関連付けられるECCを生成し得る。いくつかの実施形態において、ECCはメモリ104に格納され得る。ECCモジュール116によって実行されるECC処理において、ECCモジュール116は、メモリコントローラ102によって生成されるECCを用いて、メモリ104から読み出されるコードワードがメモリ104に書き込まれたコードワードと同じかどうかを決定し得る。メモリ104から読み出されるコードワードが1又は複数のエラー(例えば、ハードエラー及び/又はソフトエラー)を含む場合、ECCモジュール116は、コードワードに関連付けられるECCを用いて、コードワードを復元すべく複数のエラーを特定し、かつ訂正し得る。
ブロック204におけるECC処理が成功する(例えば、ECCによって検証されたようにコードワードが正確に復元される)場合、処理200のブロック206において、読み出しモジュール112は、コードワード中のハードエラーの数を決定し得る。例えば、読み出しモジュール112はメモリ104のメモリセルに関連付けられるエラーの履歴を記録し得る。同じメモリセルが、連続k回(ここでkは正の整数)、エラー(例えば、論理0ではなく論理1を格納するなどの同じタイプのエラー)を有する場合、そのメモリセルはハードエラーを有するとしてフラグが立てられる。
様々な実施形態において、読み出しモジュール112はハードエラーの数を閾値と比較し得る。コードワード中のハードエラーの数が閾値を超えるという決定に応答して、読み出しモジュール108はそれらのハードエラーに関連付けられるECP情報を作成及び/又はアップデートし得る。読み出しモジュール108は、各ECP108においてECP情報を格納し得る。ECP情報は、例えばコードワードの識別子(例えば、メモリ104中のどこにコードワードが格納されるかを特定する論理ブロックアドレス(LBA))を含み得て、ハードエラーを含むコードワードの複数のビットを示し、かつそれらのビットの正しい値を示し得る。いくつかの実施形態において、ECP108はECPブロック106において2分木で配列され得る。2分木であることによって、読み出しモジュール112がECPブロック106をスキャンし、かつ所望のコードワードについてのECP情報を(例えば、LBAに基づいて)迅速に見つけることを可能にし得る。
いくつかの実施形態において、閾値は、ECC処理によって訂正可能なハードエラーの数より小さくてよい。例えば、いくつかの実施形態において、閾値はt−mであり得る。ここで、tはECC処理によって訂正可能なハードエラーの数であり、mは正の整数(例えば2)である。いくつかの実施形態において、mの値は、(例えばファームウェアによって)プログラム可能であり得る。
いくつかの実施形態において、閾値は1より大きくてよい。つまり、ECP情報は、メモリ104中の全てのハードエラーについて格納されなくてよく、それにより、ECPのオーバヘッドを低減し得る。いくつかの実施形態においては、ECP108は、必要に応じて、メモリ104に格納される複数のコードワードに動的に割り当てられ得る。
しかしながら、ブロック204においてECC処理に失敗する場合、処理200のブロック208において読み出しモジュール112は、(例えば、ブロック206の前の動作の間に作成されたような)コードワードについてのECP情報が存在するかどうかを決定し得る。ECP情報が存在する場合、読み出しモジュール112はECP情報を用いてコードワードをデコードかつ復元し得る。例えば、複数のハードエラーを有するコードワードの複数のビットは、ECP情報によって提供されるような複数の正しいビットで置換され得る。ECP情報は、複数のハードエラーを含むコードワードの複数のビットを示し、かつ、それらのビットの正しい値を示し得る。
上述したように、読み出しモジュール112は、ブロック204におけるECC処理に失敗したという決定に応答して、ECP情報を用いてコードワードをデコードかつ復元し得る。ブロック204におけるECC処理に成功する場合、ECP情報は用いられなくてよい。従って、メモリから読み出される全てのデータ及び/又はコードワードについて複数のECPを用いる読み出し処理と比べて、処理200はレイテンシの低減をもたらし得る。
追加的又は代替的に、ECP108はより低い強度のECCコード(例えば、BCHコード)の使用を可能にし得る。より低い強度のECCコードは、ECC用に指定されるメモリのオーバヘッドを低減し得る。ECP情報は、コードワード中のハードエラーの数が閾値を超える場合にのみ格納され得るので、ECPブロック106に対して必要とされるオーバヘッドは、同じ量のエラーを訂正するためにECCに対して必要とされるオーバヘッドより小さいであろう。
処理200のブロック210において、ECCモジュール116は、(例えば、ブロック208において)ECP情報を用いてデコードされるコードワードに対してECC処理を実行し得る。ブロック210におけるECC処理は、上述された、ブロック204において実行されるECC処理と同様であり得る。ブロック210におけるECC処理が成功する(例えば、コードワードがECCによって検証されるように正確に復元される)場合、ブロック206において、上述されたように、読み出しモジュール112は、コードワード中のハードエラーの数を決定し、当該コードワードについてのECP情報をアップデート及び/又は作成し得る。
いくつかの実施形態において、ブロック210におけるECC処理に失敗する場合、処理200は更にブロック212を含み得る。ブロック212において、読み出しモジュール112は独立シリコンエレメントの冗長アレイ(RAISE)を用いてコードワードをデコードし得る。RAISEが使用される場合、コードワードはメモリ104の複数の独立したダイにわたって格納され得る。処理200のブロック214において、ECCモジュール116は、RAISEを用いてデコードされるデータに対してECC処理を実行し得る。
ブロック214におけるECC処理に成功する場合、上述されたように処理200はブロック206の動作を実行し得る。しかしながら、ブロック214におけるECC処理に失敗する場合、ブロック216において読み出しモジュール112はコードワードの読み出しの失敗(例えば、訂正不可能ビットエラーレート(UBER)イベント)を宣言し得る。
上述したように、読み出しモジュール112はコードワード中のハードエラーの数を第1の閾値と比較し、ハードエラーの数が第1の閾値を超える場合、コードワードについてのECP情報を作成及び/又はアップデートし得る。いくつかの実施形態において、読み出しモジュール112は更に、コードワード中のハードエラーの数を、第1の閾値より高い第2の閾値と比較し得る。コードワード中のハードエラーの数が第2の閾値を超える場合、読み出しモジュール112は、当該コードワードに関連付けられるメモリ104の複数のメモリセルを更に使用することをやめてもよい。いくつかの実施形態において、第2の閾値は、ECC処理を用いて訂正可能であるエラーの数に等しいか、又はそれより大きいこともあり、コードワードに関連付けられるメモリセルからの全てのデータの読み出しは、ECC処理に失敗する可能性が高い。
いくつかの実施形態において、読み出しモジュール112は、メモリ104が、メモリ104の複数のコードワードに関連付けられるECP情報に基づいて、バス障害、又はより高レベルの障害を有すると決定することもある。例えば、読み出しモジュール112は、複数のコードワードについてのECP情報を分析し得て、かつ、バスラインに関連付けられる複数のビット上に複数のハードエラーを有するコードワードの数が閾値を超える場合、バス114のバスラインが障害を有していると決定し得る。
いくつかの実施形態において、メモリコントローラ102は、メモリ104のためのバックグラウンドデータリフレッシュ(BDR)処理中、ECP情報を作成、アップデート、及び/又は使用し得る。BDR処理において、コードワードはメモリ104から読み出され、メモリ104に再書き込みされて、コードワードを維持し得る。
BDR処理中にECP情報を作成し、アップデートし、及び/又は使用することで、メモリコントローラに、ホストデバイスのための読み出し動作中に複数のエラーの処理のための準備をさせ得る。
図3は、様々な実施形態に係る、本明細書において説明される複数の装置及び/又は複数の方法(例えば、メモリコントローラ102、メモリ104、ECPブロック106、及び/又は読み出し処理200)を用い得る例示的なコンピューティングデバイス300を示す。示されるように、コンピューティングデバイス300は、1又は複数のプロセッサ304(1つが示される)及び少なくとも1つの通信チップ306などのいくつかのコンポーネントを含み得る。様々な実施形態において、1又は複数のプロセッサ304の各々は1又は複数のプロセッサコアを含み得る。様々な実施形態において、少なくとも1つの通信チップ306は、1又は複数のプロセッサ304に物理的かつ電気的に連結され得る。更なる実装において、通信チップ306は1又は複数のプロセッサ304の一部であり得る。様々な実施形態において、コンピューティングデバイス300はプリント回路基板(PCB)302を含み得る。これらの実施形態については、1又は複数のプロセッサ304及び通信チップ306はPCB上に配置され得る。代替的な複数の実施形態において、様々なコンポーネントはPCB302を使用することなく連結される。
用途に応じて、コンピューティングデバイス300は、PCB302に物理的かつ電気的に連結されてもされなくてもよい複数の他のコンポーネントを含み得る。これらの他のコンポーネントは、限定はされないが、メモリコントローラ305、揮発性メモリ(例えば、DRAM308)、リードオンリメモリ310(ROM)及びストレージデバイス311(例えば、ハードディスクドライブ(HDD))などの不揮発性メモリ、I/Oコントローラ314、デジタル信号プロセッサ(不図示)、暗号プロセッサ(不図示)、グラフィックスプロセッサ316、1又は複数のアンテナ318、ディスプレイ(不図示)、タッチスクリーンディスプレイ320、タッチスクリーンコントローラ322、バッテリ324、オーディオコーデック(不図示)、ビデオコーデック(不図示)、全地球測位システム(GPS)デバイス328、コンパス330、加速度計(不図示)、ジャイロスコープ(不図示)、スピーカ332、カメラ334、(ハードディスクドライブ、ソリッドステートドライブ、コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)などの)大容量ストレージデバイス(不図示)などを含む。様々な実施形態において、プロセッサ304は複数の他のコンポーネントと共に同じダイ上に集積されて、システムオンチップ(SoC)を形成し得る。
様々な実施形態において、ストレージデバイス312ではなく、又はそれに加えて、コンピューティングデバイス300は、常駐する不揮発性メモリ、例えばフラッシュメモリ312、を含み得る。いくつかの実施形態において、1又は複数のプロセッサ304及び/又はフラッシュ312は、メモリコントローラ305による複数のプログラミング命令の実行に応答して、メモリコントローラ305が、本明細書において説明される複数の方法(例えば、方法200)のうちの全て又は選択された複数の態様を実施することを可能にすべく構成される複数のプログラミング命令を格納する、関連付けられたファームウェア(不図示)を含み得る。換言すると、メモリコントローラ305は本明細書において説明されるメモリコントローラ102であってよい。様々な実施形態において、これらの態様は、複数のプログラム可能論理デバイスなどの複数のハードウェアコンポーネントを用いて、追加的又は代替的に実施され得る。
DRAM308、フラッシュメモリ312、及び/又はストレージデバイス311は、本明細書において説明されるメモリ104を含み得る。メモリコントローラ305はまた、DRAM308、フラッシュメモリ312、及び/又はストレージデバイス311からデータを読み出す、又はそれらにデータを書き込むために用いられ得る。
いくつかの実施形態において、メモリコントローラ305はコンピューティングデバイス300のメモリコントローラハブ(MCH)に含まれ得る。メモリコントローラ305は、コンピューティングデバイス300の1又は複数の他のコンポーネント、例えば、プロセッサ304、DRAM308、フラッシュメモリ312、及び/又はストレージデバイス311のうちの1又は複数、に追加的又は代替的に含まれ得る。いくつかの実施形態において、メモリコントローラ305はプロセッサ304のうちの1又は複数と共にパッケージングされて、システムオンチップ(SoC)を形成し得る。
通信チップ306は、コンピューティングデバイス300への、及びコンピューティングデバイス300からのデータの転送用の有線及び/又は無線通信を可能にし得る。「無線」という用語及びその複数の派生語は、非固体の媒体を通して、変調された電磁放射線を使用することによってデータを通信し得る回路、デバイス、システム、方法、技術、通信チャネル等を説明すべく用いられ得る。当該用語は、関連付けられた複数のデバイスがいずれの有線も含まないことを暗示するものではないが、いくつかの実施形態においては全く含まないであろう。
通信チップ306は、限定はされないが、IEEE702.20、汎用パケット無線サービス(GPRS)、エボリューションデータオプティマイズド(Ev−DO)、次世代高速パケットアクセス(HSPA+)、次世代高速ダウンリンクパケットアクセス(HSDPA+)、次世代高速アップリンクパケットアクセス(HSUPA+)、汎欧州デジタル移動電話方式(GSM(登録商標))、GSM(登録商標)進化型高速データレート(EDGE)、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、デジタル携帯電話方式(DECT)、Bluetooth(登録商標)、これらの派生を含むいくつかの無線規格または無線プロトコルのうちの何れか、および3G、4G、5Gおよび以降の世代として指定されるあらゆる他の無線プロトコルも実装し得る。コンピューティングデバイス300は複数の通信チップ306を含み得る。例えば、第1の通信チップ306は、Wi−Fi(登録商標)及びBluetooth(登録商標)などの短距離無線通信専用であってよく、第2の通信チップ306はGPS、EDGE、GPRS、CDMA、WiMAX(登録商標)、LTE、Ev−DO、及びその他のものなどの長距離無線通信専用であってよい。
様々な実装において、コンピューティングデバイス300は、ラップトップ、ネットブック、ノートブック、ウルトラブック、スマートフォン、コンピューティングタブレット、パーソナルデジタルアシスタント(PDA)、ウルトラモバイルPC、携帯電話、デスクトップコンピュータ、サーバ、プリンタ、スキャナ、モニタ、セットトップボックス、エンターテイメント制御ユニット(例えば、ゲーム機又は自動車用エンターテイメントユニット)、デジタルカメラ、電気機器、携帯音楽プレーヤ、又はデジタルビデオレコーダであってよい。複数の更なる実装において、コンピューティングデバイス300はデータを処理する任意の他の電子デバイスであってよい。以下にいくつかの非限定的な例が提供される。
例1は、メモリからデータを読み出すための装置であって、メモリから読み出されるコードワード中のハードエラーの数が閾値を超えるかどうかを決定し、コードワード中のハードエラーの数が閾値を超えるとの決定に応答して、コードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を1又は複数のECPに格納すべく構成される読み出しモジュールを備える装置である。
例2は例1の装置であり、読み出しモジュールは、コードワードに対してECC処理を実行するためのエラー訂正コード(ECC)モジュールを含み、読み出しモジュールは、ECC処理に失敗したとの決定に応答して、ECP情報を用いてコードワードをデコードすべく更に構成される。
例3は例2の装置であり、閾値は、ECC処理によって訂正可能なハードエラーの数より小さい。
例4は例2の装置であり、ECC処理は第1のECC処理であり、ECCモジュールは、ECP情報を用いて、コードワードに対して第2のECC処理を実行すべく更に構成される。
例5は例4の装置であり、読み出しモジュールは、第2のECC処理に失敗する場合、独立シリコンエレメントの冗長アレイ(RAISE)を用いてコードワードをデコードすべく構成される。
例6は例1から例5のうちの何れか1つの装置であり、閾値は第1の閾値であり、読み出しモジュールは、コードワード中のハードエラーの数が、第1の閾値より高い第2の閾値を超えると決定し、ハードエラーの数が第2の閾値を超えるという決定に応答して、コードワードに関連付けられるメモリの複数のメモリセルを更に使用することをやめるべく更に構成される。
例7は例1から例5のうちの何れか1つの装置であり、読み出しモジュールは、メモリに格納される複数のコードワードに関連付けられるECP情報に基づいて、メモリがバス障害を有すると決定すべく更に構成される。例8は例1の装置であり、メモリは相変化メモリである。 例9は例1の装置であり、メモリはクロスポイントメモリである。
例10は例1の装置であり、読み出しモジュールは装置のメモリコントローラに含まれる。
例11はメモリからデータを読み出すための方法であって、当該方法は、メモリに格納されるコードワードからデータを読み出す段階と、コードワードに対してエラー訂正コード(ECC)処理を実行する段階と、ECC処理が、データを復元すべくコードワードを成功裏にデコードすることに失敗したと決定する段階と、ECC処理に失敗したという決定に応答して、コードワードに関連付けられるエラー訂正ポインタ(ECP)情報を1又は複数のECPから読み出す段階と、ECP情報に基づいて、データを復元すべくコードワードをデコードする段階とを備える。
例12は例11の方法であり、当該方法は、コードワード中のハードエラーの数を決定する段階と、コードワード中のハードエラーの数が閾値を超えると決定する段階と、コードワード中のハードエラーの数が閾値を超えるという決定に応答して、コードワードに関連付けられるECP情報をアップデートする段階とを更に備える。
例13は例12の方法であり、閾値は、ECC処理によって訂正可能なハードエラーの数より小さい。
例14は例12の方法であり、閾値は第1の閾値であり、当該方法は、コードワード中のハードエラーの数が、第1の閾値より高い第2の閾値を超えると決定する段階と、ハードエラーの数が第2の閾値を超えるという決定に応答して、コードワードに関連付けられるメモリの複数のメモリセルを更に使用することをやめる段階とを更に備える。
例15は例11の方法であり、メモリの複数のコードワードに関連付けられるECP情報を分析して、メモリがバス障害を有すると決定する段階を更に備える。
例16は例11から例15のうちの何れか1つの方法であり、ECC処理は第1のECC処理であり、当該方法は、ECP情報に基づいて、コードワードに対して第2のECC処理を実行する段階と、第2のECC処理に失敗したと決定する段階と、第2のECC処理に失敗したという決定に応答して、コードワードをデコードしてデータを復元すべく、独立シリコンエレメントの冗長アレイ(RAISE)を実行する段階とを更に備える。
例17はメモリからデータを読み出すためのシステムであって、当該システムは、第1のコードワードを含む複数のコードワードを格納するためのメモリと、当該メモリに連結される読み出しモジュールとを備える。読み出しモジュールは、メモリから第1のコードワードを読み出し、第1のコードワードが成功裏にデコードされたと決定し、第1のコードワードが成功裏にデコードされたという決定に応答して、第1のコードワード中のハードエラーの数を決定し、第1のコードワード中のハードエラーの数が閾値を超えると決定し、第1のコードワード中のハードエラーの数が閾値を超えるという決定に応答して、第1のコードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を1又は複数のECPに格納すべく構成される。
例18は例17のシステムであり、読み出しモジュールは、第1のコードワードに対してECC処理を実行するためのエラー訂正コード(ECC)モジュールを含み、読み出しモジュールは、ECC処理に失敗したという決定に応答して、ECP情報を用いて、第1のコードワードをデコードしてデータを復元すべく更に構成される。
例19は例18のシステムであり、閾値は、ECC処理によって訂正可能なハードエラーの数より小さい。
例20は例18のシステムであり、ECC処理は第1のECC処理であり、ECCモジュールは、ECP情報を用いてデコードされる第1のコードワードに対して第2のECC処理を実行すべく更に構成され、読み出しモジュールは、第2のECC処理に失敗したという決定に応答して、独立シリコンエレメントの冗長アレイ(RAISE)を用いて第1のコードワードをデコードすべく更に構成される。
例21は例17のシステムであり、閾値は第1の閾値であり、読み出しモジュールは、第1のコードワード中のハードエラーの数が、第1の閾値より高い第2の閾値を超えると決定し、ハードエラーの数が第2の閾値を超えるという決定に応答して、第1のコードワードに関連付けられるメモリの複数のメモリセルを更に使用することをやめるべく更に構成される。
例22は例17のシステムであり、読み出しモジュールは、メモリの複数のコードワードに関連付けられるECP情報に基づいて、メモリがバス障害を有すると決定すべく更に構成される。
例23は例17から例22のうちの何れか1つのシステムであり、メモリは相変化メモリである。
説明の目的のために、複数の特定の実施形態が本明細書において示され説明されてきたが、本出願は、本明細書において述べられた複数の実施形態に対するあらゆる改造形態又は変形形態を網羅することが意図される。故に、本明細書において記載された複数の実施形態は特許請求の範囲によってのみ限定されることが明白に意図される。
本開示が「1つ」若しくは「第1」の要素、又はそれらの均等物を列挙する場合、そのような開示は、1又は複数のそのような要素を含み、2つ又はそれより多くのそのような要素を必要とすることも、それらを除外することもない。更に、識別された複数の要素に対する序数標識(例えば、第1、第2、又は第3)は、それらの要素を区別すべく用いられ、そのような要素の必要な数又は限定された数を示しも暗示もしておらず、別途具体的に記載されない限り、そのような要素の特定の位置又は順序を示しもしない。

Claims (30)

  1. メモリからデータを読み出すための装置であって、
    メモリに格納されるデータに関連付けられる1又は複数のコードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を含む複数のECPを格納するECPブロックと、
    前記ECPブロックに連結されて前記メモリに格納されるデータを読み出す読み出しモジュールを含むメモリコントローラと、
    を備え、
    前記メモリに格納されるデータを読み出すことは、
    前記メモリから読み出されるコードワード中のハードエラーのビット数が閾値を超えるかどうかを決定することと、
    前記コードワード中の前記ハードエラーのビット数が前記閾値を超えるという決定に応答して、前記複数のECPの1又は複数の中の前記コードワードの前記複数のハードエラーに関連付けられる前記ECP情報を作成又はアップデートすることと、を含み、
    前記閾値は1より大きい
    置。
  2. 前記閾値はt−mであり、
    tは、前記コードワードに対するエラー訂正コード(ECC)処理によって訂正可能な前記ハードエラーのビット数であり、
    mは、正の整数であり、
    前記mの値は、プログラム可能である
    請求項1に記載の装置。
  3. メモリからデータを読み出すための装置であって、
    メモリに格納されるデータに関連付けられる1又は複数のコードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を含む複数のECPを格納するECPブロックと、
    前記ECPブロックに連結されて前記メモリに格納されるデータを読み出す読み出しモジュールを含むメモリコントローラと、
    を備え、
    前記メモリに格納されるデータを読み出すことは、
    前記メモリから読み出されるコードワード中のハードエラーのビット数が閾値を超えるかどうかを決定することと、
    前記コードワード中の前記ハードエラーのビット数が前記閾値を超えるという決定に応答して、前記複数のECPの1又は複数の中の前記コードワードの前記複数のハードエラーに関連付けられる前記ECP情報を作成又はアップデートすることと、を含み、
    前記閾値は第1の閾値であり、前記読み出しモジュールは更に、
    前記コードワード中の前記ハードエラーのビット数が、前記第1の閾値より高い第2の閾値を超えると決定し、
    前記ハードエラーのビット数が前記第2の閾値を超えるという前記決定に応答して、前記コードワードに関連付けられる前記メモリの複数のメモリセルを更に使用することをやめる
    装置。
  4. メモリからデータを読み出すための装置であって、
    メモリに格納されるデータに関連付けられる1又は複数のコードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を含む複数のECPを格納するECPブロックと、
    前記ECPブロックに連結されて前記メモリに格納されるデータを読み出す読み出しモジュールを含むメモリコントローラと、
    を備え、
    前記メモリに格納されるデータを読み出すことは、
    前記メモリから読み出されるコードワード中のハードエラーのビット数が閾値を超えるかどうかを決定することと、
    前記コードワード中の前記ハードエラーのビット数が前記閾値を超えるという決定に応答して、前記複数のECPの1又は複数の中の前記コードワードの前記複数のハードエラーに関連付けられる前記ECP情報を作成又はアップデートすることと、を含み、
    前記読み出しモジュールは更に、前記メモリに格納される複数のコードワードに関連付けられるECP情報に基づいて、前記メモリがバス障害を有すると決定する
    装置。
  5. メモリからデータを読み出すための装置であって、
    メモリに格納されるデータに関連付けられる1又は複数のコードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を含む複数のECPを格納するECPブロックと、
    前記ECPブロックに連結されて前記メモリに格納されるデータを読み出す読み出しモジュールを含むメモリコントローラと、
    を備え、
    前記メモリに格納されるデータを読み出すことは、
    前記メモリから読み出されるコードワード中のハードエラーのビット数が閾値を超えるかどうかを決定することと、
    前記コードワード中の前記ハードエラーのビット数が前記閾値を超えるという決定に応答して、前記複数のECPの1又は複数の中の前記コードワードの前記複数のハードエラーに関連付けられる前記ECP情報を作成又はアップデートすることと、を含み、
    前記ECP情報は、前記メモリ中のどこに前記コードワードが格納されるかを特定する前記コードワードの識別子を含み、又はハードエラーを含む前記コードワードの複数のビット及びそれらのビットの正しい値を示し、
    前記複数のECPは、前記ECPブロックにおいて2分木で配列される
    装置。
  6. メモリからデータを読み出すための装置であって、
    メモリに格納されるデータに関連付けられる1又は複数のコードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を含む複数のECPを格納するECPブロックと、
    前記ECPブロックに連結されて前記メモリに格納されるデータを読み出す読み出しモジュールを含むメモリコントローラと、
    を備え、
    前記メモリに格納されるデータを読み出すことは、
    前記メモリから読み出されるコードワード中のハードエラーのビット数が閾値を超えるかどうかを決定することと、
    前記コードワード中の前記ハードエラーのビット数が前記閾値を超えるという決定に応答して、前記複数のECPの1又は複数の中の前記コードワードの前記複数のハードエラーに関連付けられる前記ECP情報を作成又はアップデートすることと、を含み、
    前記読み出しモジュールは、前記コードワードに対してエラー訂正コード(ECC)処理を実行するECCモジュールを含み、前記読み出しモジュールは更に、前記ECC処理に失敗したという決定に応答して、前記コードワードの複数のハードエラーに関連付けられる前記ECP情報を用いて前記コードワードをデコードする
    装置。
  7. 前記読み出しモジュールは、前記コードワードに対してエラー訂正コード(ECC)処理を実行するECCモジュールを含み、前記読み出しモジュールは更に、前記ECC処理に失敗したという決定に応答して、前記コードワードの複数のハードエラーに関連付けられる前記ECP情報を用いて前記コードワードをデコードする
    請求項1から5のいずれか一項に記載の装置。
  8. 前記閾値は、前記ECC処理によって訂正可能なハードエラーのビット数より小さい
    請求項6又は7に記載の装置。
  9. 前記ECC処理は第1のECC処理であり、前記ECCモジュールは更に、前記ECP情報を用いて前記コードワードに対して第2のECC処理を実行する
    請求項6から8のいずれか一項に記載の装置。
  10. 前記読み出しモジュールは、前記第2のECC処理に失敗した場合、独立シリコンエレメントの冗長アレイ(RAISE)を用いて前記コードワードをデコードする
    請求項9に記載の装置。
  11. 前記メモリは相変化メモリ又はクロスポイントメモリである
    請求項1から10のいずれか一項に記載の装置。
  12. 前記ECPブロックは前記メモリコントローラに含まれる
    請求項1から11のいずれか一項に記載の装置。
  13. メモリからデータを読み出すための装置であって、
    メモリに格納されるコードワードからデータを読み出し、
    前記コードワードに対してエラー訂正コード(ECC)処理を実行し、
    前記ECC処理が、前記データを復元すべく前記コードワードを成功裏にデコードすることに失敗したと決定し、
    前記ECC処理に失敗したという前記決定に応答して、1又は複数のエラー訂正ポインタ(ECP)から前記コードワードに関連付けられるECP情報を読み出し、
    前記ECP情報に基づいて、前記データを復元すべく前記コードワードをデコードする
    読み出しモジュールを含むメモリコントローラを備える
    装置。
  14. メモリからデータを読み出すための方法であって、
    メモリに格納されるコードワードからデータを読み出す段階と、
    前記コードワードに対してエラー訂正コード(ECC)処理を実行する段階と、
    前記ECC処理が、前記データを復元すべく前記コードワードを成功裏にデコードすることに失敗したと決定する段階と、
    前記ECC処理に失敗したという前記決定に応答して、1又は複数のエラー訂正ポインタ(ECP)から前記コードワードに関連付けられるECP情報を読み出す段階と、
    前記ECP情報に基づいて、前記データを復元すべく前記コードワードをデコードする段階と、を備える
    方法。
  15. 前記コードワード中のハードエラーのビット数を決定する段階と、
    前記コードワード中の前記ハードエラーのビット数が閾値を超えると決定する段階と、
    前記コードワード中の前記ハードエラーのビット数が前記閾値を超えるという前記決定に応答して、前記コードワードに関連付けられる前記ECP情報を作成又はアップデートする段階と、を更に備える
    請求項14に記載の方法。
  16. 前記閾値は、前記ECC処理によって訂正可能なハードエラーのビット数より小さい
    請求項15に記載の方法。
  17. 前記閾値は第1の閾値であり、前記方法は、
    前記コードワード中の前記ハードエラーのビット数が、前記第1の閾値より高い第2の閾値を超えると決定する段階と、
    前記ハードエラーのビット数が前記第2の閾値を超えるという前記決定に応答して、前記コードワードに関連付けられる複数のメモリセルを更に使用することをやめる段階と、を更に備える
    請求項15に記載の方法。
  18. 前記メモリの複数のコードワードに関連付けられるECP情報を分析して、前記メモリがバス障害を有すると決定する段階を更に備える
    請求項14に記載の方法。
  19. 前記ECC処理は第1のECC処理であり、前記方法は、
    前記ECP情報に基づいて、前記コードワードに対して第2のECC処理を実行する段階と、
    前記第2のECC処理に失敗したと決定する段階と、
    前記第2のECC処理に失敗したという前記決定に応答して、前記コードワードをデコードして前記データを復元すべく、独立シリコンエレメントの冗長アレイ(RAISE)を実行する段階と、を更に備える
    請求項14から18の何れか一項に記載の方法。
  20. コンピューティングのためのシステムであって、
    第1のコードワードを含む複数のコードワードを格納するメモリと、
    前記メモリに格納されるデータに関連付けられる1又は複数のコードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を含む複数のECPを格納するECPブロックと、
    前記メモリに連結される読み出しモジュールを含むメモリコントローラと、を備え、
    前記読み出しモジュールは、
    前記メモリから前記第1のコードワードを読み出し、
    前記第1のコードワードが成功裏にデコードされたと決定し、
    前記第1のコードワードが成功裏にデコードされたという前記決定に応答して、前記第1のコードワード中のハードエラーのビット数を決定し、
    前記第1のコードワード中の前記ハードエラーのビット数が閾値を超えると決定し、
    前記第1のコードワード中の前記ハードエラーのビット数が前記閾値を超えるという前記決定に応答して、前記第1のコードワードの複数のハードエラーに関連付けられる前記ECP情報を前記ECPブロックに格納し、
    前記閾値は1より大きい
    ステム。
  21. 前記閾値はt−mであり、
    tは、前記第1のコードワードに対するエラー訂正コード(ECC)処理によって訂正可能な前記ハードエラーのビット数であり、
    mは、正の整数であり、
    前記mの値は、プログラム可能である
    請求項20に記載のシステム。
  22. コンピューティングのためのシステムであって、
    第1のコードワードを含む複数のコードワードを格納するメモリと、
    前記メモリに格納されるデータに関連付けられる1又は複数のコードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を含む複数のECPを格納するECPブロックと、
    前記メモリに連結される読み出しモジュールを含むメモリコントローラと、を備え、
    前記読み出しモジュールは、
    前記メモリから前記第1のコードワードを読み出し、
    前記第1のコードワードが成功裏にデコードされたと決定し、
    前記第1のコードワードが成功裏にデコードされたという前記決定に応答して、前記第1のコードワード中のハードエラーのビット数を決定し、
    前記第1のコードワード中の前記ハードエラーのビット数が閾値を超えると決定し、
    前記第1のコードワード中の前記ハードエラーのビット数が前記閾値を超えるという前記決定に応答して、前記第1のコードワードの複数のハードエラーに関連付けられる前記ECP情報を前記ECPブロックに格納し、
    前記閾値は第1の閾値であり、前記読み出しモジュールは更に、
    前記第1のコードワード中の前記ハードエラーのビット数が、前記第1の閾値より高い第2の閾値を超えると決定し、
    前記ハードエラーのビット数が前記第2の閾値を超えるという前記決定に応答して、前記第1のコードワードに関連付けられる前記メモリの複数のメモリセルを更に使用することをやめる
    システム。
  23. コンピューティングのためのシステムであって、
    第1のコードワードを含む複数のコードワードを格納するメモリと、
    前記メモリに格納されるデータに関連付けられる1又は複数のコードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を含む複数のECPを格納するECPブロックと、
    前記メモリに連結される読み出しモジュールを含むメモリコントローラと、を備え、
    前記読み出しモジュールは、
    前記メモリから前記第1のコードワードを読み出し、
    前記第1のコードワードが成功裏にデコードされたと決定し、
    前記第1のコードワードが成功裏にデコードされたという前記決定に応答して、前記第1のコードワード中のハードエラーのビット数を決定し、
    前記第1のコードワード中の前記ハードエラーのビット数が閾値を超えると決定し、
    前記第1のコードワード中の前記ハードエラーのビット数が前記閾値を超えるという前記決定に応答して、前記第1のコードワードの複数のハードエラーに関連付けられる前記ECP情報を前記ECPブロックに格納し、
    前記読み出しモジュールは更に、前記メモリの前記複数のコードワードに関連付けられるECP情報に基づいて、前記メモリがバス障害を有すると決定する
    システム。
  24. コンピューティングのためのシステムであって、
    第1のコードワードを含む複数のコードワードを格納するメモリと、
    前記メモリに格納されるデータに関連付けられる1又は複数のコードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を含む複数のECPを格納するECPブロックと、
    前記メモリに連結される読み出しモジュールを含むメモリコントローラと、を備え、
    前記読み出しモジュールは、
    前記メモリから前記第1のコードワードを読み出し、
    前記第1のコードワードが成功裏にデコードされたと決定し、
    前記第1のコードワードが成功裏にデコードされたという前記決定に応答して、前記第1のコードワード中のハードエラーのビット数を決定し、
    前記第1のコードワード中の前記ハードエラーのビット数が閾値を超えると決定し、
    前記第1のコードワード中の前記ハードエラーのビット数が前記閾値を超えるという前記決定に応答して、前記第1のコードワードの複数のハードエラーに関連付けられる前記ECP情報を前記ECPブロックに格納し、
    前記ECP情報は、前記メモリ中のどこに前記第1のコードワードが格納されるかを特定する前記第1のコードワードの識別子を含み、又はハードエラーを含む前記第1のコードワードの複数のビット及びそれらのビットの正しい値を示し、
    前記複数のECPは、前記ECPブロックにおいて2分木で配列される
    システム。
  25. コンピューティングのためのシステムであって、
    第1のコードワードを含む複数のコードワードを格納するメモリと、
    前記メモリに格納されるデータに関連付けられる1又は複数のコードワードの複数のハードエラーに関連付けられるエラー訂正ポインタ(ECP)情報を含む複数のECPを格納するECPブロックと、
    前記メモリに連結される読み出しモジュールを含むメモリコントローラと、を備え、
    前記読み出しモジュールは、
    前記メモリから前記第1のコードワードを読み出し、
    前記第1のコードワードが成功裏にデコードされたと決定し、
    前記第1のコードワードが成功裏にデコードされたという前記決定に応答して、前記第1のコードワード中のハードエラーのビット数を決定し、
    前記第1のコードワード中の前記ハードエラーのビット数が閾値を超えると決定し、
    前記第1のコードワード中の前記ハードエラーのビット数が前記閾値を超えるという前記決定に応答して、前記第1のコードワードの複数のハードエラーに関連付けられる前記ECP情報を前記ECPブロックに格納し、
    前記読み出しモジュールは、前記第1のコードワードに対してエラー訂正コード(ECC)処理を実行するECCモジュールを含み、前記読み出しモジュールは更に、前記ECC処理に失敗したという決定に応答して、前記ECP情報を用いて前記第1のコードワードをデコードする
    システム。
  26. 前記読み出しモジュールは、前記第1のコードワードに対してエラー訂正コード(ECC)処理を実行するECCモジュールを含み、前記読み出しモジュールは更に、前記ECC処理に失敗したという決定に応答して、前記ECP情報を用いて前記第1のコードワードをデコードする
    請求項20から24のいずれか一項に記載のシステム。
  27. 前記閾値は、前記ECC処理によって訂正可能なハードエラーのビット数より小さい
    請求項25又は26に記載のシステム。
  28. 前記ECC処理は第1のECC処理であり、前記ECCモジュールは更に、前記ECP情報を用いてデコードされた前記第1のコードワードに対して第2のECC処理を実行し、前記読み出しモジュールは更に、前記第2のECC処理に失敗したという決定に応答して、独立シリコンエレメントの冗長アレイ(RAISE)を用いて前記第1のコードワードをデコードする
    請求項25から27のいずれか一項に記載のシステム。
  29. 前記メモリは相変化メモリ又はクロスポイントメモリである
    請求項20から28の何れか一項に記載のシステム。
  30. メモリからデータを読み出すためのシステムであって、
    メモリに格納されるコードワードからデータを読み出し、
    前記コードワードに対してエラー訂正コード(ECC)処理を実行し、
    前記ECC処理が、前記データを復元すべく前記コードワードを成功裏にデコードすることに失敗したと決定し、
    前記ECC処理に失敗したという前記決定に応答して、1又は複数のエラー訂正ポインタ(ECP)から前記コードワードに関連付けられるECP情報を読み出し、
    前記ECP情報に基づいて、前記データを復元すべく前記コードワードをデコードする
    読み出しモジュールを含むメモリコントローラを備える
    システム。
JP2016541945A 2013-09-24 2013-09-24 メモリ中のエラーを処理するためのエラー訂正ポインタの使用 Active JP6377751B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/061455 WO2015047228A1 (en) 2013-09-24 2013-09-24 Use of error correction pointers to handle errors in memory

Publications (2)

Publication Number Publication Date
JP2016530655A JP2016530655A (ja) 2016-09-29
JP6377751B2 true JP6377751B2 (ja) 2018-08-22

Family

ID=52692134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016541945A Active JP6377751B2 (ja) 2013-09-24 2013-09-24 メモリ中のエラーを処理するためのエラー訂正ポインタの使用

Country Status (6)

Country Link
US (1) US9250990B2 (ja)
JP (1) JP6377751B2 (ja)
KR (1) KR101697052B1 (ja)
CN (1) CN105453049B (ja)
DE (1) DE112013007454T5 (ja)
WO (1) WO2015047228A1 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569302B1 (en) * 2013-06-07 2017-02-14 Sk Hynix Inc Decoding of turbo product codes using miscorrection detection
JP6341795B2 (ja) * 2014-08-05 2018-06-13 ルネサスエレクトロニクス株式会社 マイクロコンピュータ及びマイクロコンピュータシステム
US10115446B1 (en) 2015-04-21 2018-10-30 Spin Transfer Technologies, Inc. Spin transfer torque MRAM device with error buffer
US10163479B2 (en) 2015-08-14 2018-12-25 Spin Transfer Technologies, Inc. Method and apparatus for bipolar memory write-verify
US10049007B2 (en) * 2015-10-28 2018-08-14 Via Technologies, Inc. Non-volatile memory device and read method thereof
US10033411B2 (en) 2015-11-20 2018-07-24 Intel Corporation Adjustable error protection for stored data
CN107516547A (zh) * 2016-06-16 2017-12-26 中兴通讯股份有限公司 内存硬错误的处理方法及装置
US10366774B2 (en) 2016-09-27 2019-07-30 Spin Memory, Inc. Device with dynamic redundancy registers
US10437723B2 (en) 2016-09-27 2019-10-08 Spin Memory, Inc. Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device
US10437491B2 (en) 2016-09-27 2019-10-08 Spin Memory, Inc. Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register
US10192602B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Smart cache design to prevent overflow for a memory device with a dynamic redundancy register
US10818331B2 (en) 2016-09-27 2020-10-27 Spin Memory, Inc. Multi-chip module for MRAM devices with levels of dynamic redundancy registers
US10628316B2 (en) 2016-09-27 2020-04-21 Spin Memory, Inc. Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register
US10192601B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers
US10446210B2 (en) 2016-09-27 2019-10-15 Spin Memory, Inc. Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers
US10546625B2 (en) 2016-09-27 2020-01-28 Spin Memory, Inc. Method of optimizing write voltage based on error buffer occupancy
US10460781B2 (en) 2016-09-27 2019-10-29 Spin Memory, Inc. Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank
US10360964B2 (en) 2016-09-27 2019-07-23 Spin Memory, Inc. Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device
US10430264B2 (en) 2017-06-02 2019-10-01 International Business Machines Corporation Monitoring correctable errors on a bus interface to determine whether to redirect input/output (I/O) traffic from a first processing unit to a second processing unit
US10528437B2 (en) 2017-06-02 2020-01-07 International Business Machines Corporation Monitoring correctable errors on a bus interface to determine whether to redirect input/output request (I/O) traffic to another bus interface
US10216521B2 (en) * 2017-06-20 2019-02-26 Nvidia Corporation Error mitigation for resilient algorithms
CN109428721B (zh) 2017-08-28 2023-06-30 恩智浦有限公司 用于确定物理不可克隆功能电路的健康状况的方法或装置
US10481976B2 (en) 2017-10-24 2019-11-19 Spin Memory, Inc. Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers
US10656994B2 (en) 2017-10-24 2020-05-19 Spin Memory, Inc. Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques
US10529439B2 (en) 2017-10-24 2020-01-07 Spin Memory, Inc. On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects
US10489245B2 (en) 2017-10-24 2019-11-26 Spin Memory, Inc. Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them
US10636504B2 (en) * 2017-10-31 2020-04-28 Sandisk Technologies Llc Read verify for improved soft bit information for non-volatile memories with residual resistance
US10395712B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Memory array with horizontal source line and sacrificial bitline per virtual source
US10891997B2 (en) 2017-12-28 2021-01-12 Spin Memory, Inc. Memory array with horizontal source line and a virtual source line
US10424726B2 (en) 2017-12-28 2019-09-24 Spin Memory, Inc. Process for improving photoresist pillar adhesion during MRAM fabrication
US10395711B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Perpendicular source and bit lines for an MRAM array
US10360962B1 (en) 2017-12-28 2019-07-23 Spin Memory, Inc. Memory array with individually trimmable sense amplifiers
US10811594B2 (en) 2017-12-28 2020-10-20 Spin Memory, Inc. Process for hard mask development for MRAM pillar formation using photolithography
US10840439B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Magnetic tunnel junction (MTJ) fabrication methods and systems
US10546624B2 (en) 2017-12-29 2020-01-28 Spin Memory, Inc. Multi-port random access memory
US10886330B2 (en) 2017-12-29 2021-01-05 Spin Memory, Inc. Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch
US10784439B2 (en) 2017-12-29 2020-09-22 Spin Memory, Inc. Precessional spin current magnetic tunnel junction devices and methods of manufacture
US10367139B2 (en) 2017-12-29 2019-07-30 Spin Memory, Inc. Methods of manufacturing magnetic tunnel junction devices
US10840436B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture
US10424723B2 (en) 2017-12-29 2019-09-24 Spin Memory, Inc. Magnetic tunnel junction devices including an optimization layer
US10438995B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Devices including magnetic tunnel junctions integrated with selectors
US10438996B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Methods of fabricating magnetic tunnel junctions integrated with selectors
US10446744B2 (en) 2018-03-08 2019-10-15 Spin Memory, Inc. Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same
US11107974B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer
US11107978B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US10734573B2 (en) 2018-03-23 2020-08-04 Spin Memory, Inc. Three-dimensional arrays with magnetic tunnel junction devices including an annular discontinued free magnetic layer and a planar reference magnetic layer
US10784437B2 (en) 2018-03-23 2020-09-22 Spin Memory, Inc. Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US10411185B1 (en) 2018-05-30 2019-09-10 Spin Memory, Inc. Process for creating a high density magnetic tunnel junction array test platform
US10600478B2 (en) 2018-07-06 2020-03-24 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10692569B2 (en) 2018-07-06 2020-06-23 Spin Memory, Inc. Read-out techniques for multi-bit cells
US10559338B2 (en) 2018-07-06 2020-02-11 Spin Memory, Inc. Multi-bit cell read-out techniques
US10593396B2 (en) 2018-07-06 2020-03-17 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10650875B2 (en) 2018-08-21 2020-05-12 Spin Memory, Inc. System for a wide temperature range nonvolatile memory
US10699761B2 (en) 2018-09-18 2020-06-30 Spin Memory, Inc. Word line decoder memory architecture
US10971680B2 (en) 2018-10-01 2021-04-06 Spin Memory, Inc. Multi terminal device stack formation methods
US11621293B2 (en) 2018-10-01 2023-04-04 Integrated Silicon Solution, (Cayman) Inc. Multi terminal device stack systems and methods
KR20200058027A (ko) 2018-11-19 2020-05-27 삼성전자주식회사 Ecc 회로를 포함하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 에러 정정 방법
US11107979B2 (en) 2018-12-28 2021-08-31 Spin Memory, Inc. Patterned silicide structures and methods of manufacture
US11146289B2 (en) 2019-03-29 2021-10-12 Intel Corporation Techniques to use intrinsic information for a bit-flipping error correction control decoder
US11063607B2 (en) * 2019-05-24 2021-07-13 Intel Corporation Compressing error vectors for decoding logic to store compressed in a decoder memory used by the decoding logic
CN110781027B (zh) * 2019-10-29 2023-01-10 苏州浪潮智能科技有限公司 内存ecc报错阈值的确定方法、确定装置及确定设备
CN111522684A (zh) * 2019-12-31 2020-08-11 北京航空航天大学 一种同时纠正相变存储器软硬错误的方法及装置
US11537292B2 (en) * 2020-06-24 2022-12-27 Western Digital Technologies, Inc. Methods and apparatus for enhancing uber rate for storage devices
JP2022181670A (ja) 2021-05-26 2022-12-08 富士通株式会社 記憶装置及び記憶装置の制御方法
US11886293B2 (en) 2021-11-15 2024-01-30 Samsung Electronics Co., Ltd. Memory controller managing strong error information and operating method thereof

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5267242A (en) * 1991-09-05 1993-11-30 International Business Machines Corporation Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
US5588010A (en) * 1994-07-29 1996-12-24 International Business Machines Corporation Parallel architecture error correction and conversion system
US5751733A (en) * 1996-09-16 1998-05-12 Cirrus Logic, Inc. Interleaved redundancy sector for correcting an unrecoverable sector in a disc storage device
US6560725B1 (en) * 1999-06-18 2003-05-06 Madrone Solutions, Inc. Method for apparatus for tracking errors in a memory system
US6701480B1 (en) * 2000-03-08 2004-03-02 Rockwell Automation Technologies, Inc. System and method for providing error check and correction in memory systems
US7392440B2 (en) * 2003-06-30 2008-06-24 Mitsubishi Denki Kabushiki Kaisha Optical reception device and optical reception method
US7386771B2 (en) * 2006-01-06 2008-06-10 International Business Machines Corporation Repair of memory hard failures during normal operation, using ECC and a hard fail identifier circuit
US7783955B2 (en) * 2006-01-18 2010-08-24 Sandisk Il Ltd. Method for implementing error-correction codes in flash memory
US8612797B2 (en) * 2006-03-31 2013-12-17 Hewlett-Packard Development Company, L.P. Systems and methods of selectively managing errors in memory modules
US7702989B2 (en) * 2006-09-27 2010-04-20 Agere Systems Inc. Systems and methods for generating erasure flags
JP2008123595A (ja) * 2006-11-10 2008-05-29 Matsushita Electric Ind Co Ltd 半導体記憶装置
US8140945B2 (en) * 2008-05-23 2012-03-20 Oracle America, Inc. Hard component failure detection and correction
US8839053B2 (en) * 2010-05-27 2014-09-16 Microsoft Corporation Error correcting pointers for non-volatile storage
US8560925B2 (en) * 2011-04-05 2013-10-15 Denso International America, Inc. System and method for handling bad bit errors
US8589762B2 (en) * 2011-07-05 2013-11-19 International Business Machines Corporation Adaptive multi-bit error correction in endurance limited memories
US9071281B2 (en) * 2013-03-10 2015-06-30 Intel Corporation Selective provision of error correction for memory

Also Published As

Publication number Publication date
CN105453049A (zh) 2016-03-30
US20150089310A1 (en) 2015-03-26
US9250990B2 (en) 2016-02-02
KR101697052B1 (ko) 2017-01-16
DE112013007454T5 (de) 2016-06-16
KR20160027059A (ko) 2016-03-09
CN105453049B (zh) 2019-05-28
JP2016530655A (ja) 2016-09-29
WO2015047228A1 (en) 2015-04-02

Similar Documents

Publication Publication Date Title
JP6377751B2 (ja) メモリ中のエラーを処理するためのエラー訂正ポインタの使用
US9171605B1 (en) Concentrated address detecting method of semiconductor device and concentrated address detecting circuit using the same
US8966345B2 (en) Selective error correction in memory to reduce power consumption
US9037943B2 (en) Identification of non-volatile memory die for use in remedial action
TWI606447B (zh) 用以偵測並減緩快閃記憶體中的位元線開路之設備及方法
US20170177259A1 (en) Techniques to Use Open Bit Line Information for a Memory System
KR102002925B1 (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
JP6106903B2 (ja) クロスポイント不揮発性メモリに格納されたデータのリフレッシュ
US8959407B2 (en) Scaling factors for hard decision reads of codewords distributed across die
KR101668934B1 (ko) 분배된 코드워드 부분들
KR101669379B1 (ko) 추정된 확률 밀도 함수에 기초한 중앙 판독 기준 전압 결정
US9384144B1 (en) Error detection using a logical address key
KR20180019791A (ko) 반도체장치 및 반도체시스템
US10621035B2 (en) Techniques for correcting data errors in memory devices
US10552257B2 (en) Adaptive error correction in memory devices
US9911509B2 (en) Counter to locate faulty die in a distributed codeword storage system
US10067829B2 (en) Managing redundancy information in a non-volatile memory
US10804935B2 (en) Techniques for reducing latency in the detection of uncorrectable codewords
US20170186500A1 (en) Memory circuit defect correction
US11372720B2 (en) Systems and methods for encoding metadata
US20140198593A1 (en) Redundancy circuit and semiconductor memory device including the same
US20130246847A1 (en) Method of detecting error in write data and data processing system to perform the method
JP2021520555A (ja) 階層デコーダを使用したエラー訂正
KR20210023317A (ko) 반도체장치
KR20170096079A (ko) 반도체장치 및 반도체시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180725

R150 Certificate of patent or registration of utility model

Ref document number: 6377751

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