JP5135348B2 - メモリ装置の信頼性、可用性、およびサービス性の改善 - Google Patents

メモリ装置の信頼性、可用性、およびサービス性の改善 Download PDF

Info

Publication number
JP5135348B2
JP5135348B2 JP2009530716A JP2009530716A JP5135348B2 JP 5135348 B2 JP5135348 B2 JP 5135348B2 JP 2009530716 A JP2009530716 A JP 2009530716A JP 2009530716 A JP2009530716 A JP 2009530716A JP 5135348 B2 JP5135348 B2 JP 5135348B2
Authority
JP
Japan
Prior art keywords
bits
ecc
memory
data
logic
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.)
Expired - Fee Related
Application number
JP2009530716A
Other languages
English (en)
Other versions
JP2009540477A (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 JP2009540477A publication Critical patent/JP2009540477A/ja
Application granted granted Critical
Publication of JP5135348B2 publication Critical patent/JP5135348B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

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)
  • Debugging And Monitoring (AREA)

Description

本発明の実施例は、一般に集積回路の分野に関し、より詳しくは、メモリ装置の信頼性、可用性、およびサービス性を改善するためのシステム、方法、および装置に関する。
メモリ装置は、一時エラー(またはソフトエラー)のようなエラーに対して脆弱である。これらのエラーが適切に処理されない場合、コンピューティング・システムに不具合が生じる。エラー訂正コード(ECC:Error Correcting Code)の形式の冗長情報は、全体的なシステムの信頼性を改善するために使用することができる。しかしながら、冗長情報は、メモリ・システムの必要記憶量を増加させ、それによって、メモリ・システムのコストが増加する。したがって、ECCは、典型的には、高額または重要なシステムについてのみ使用される。低コスト(またはそれほど重要でない)システムはECCを使用せず、それらの用途に応じたレベルの信頼性を提供する。
ある場合には、格納装置の追加ビットは、追加の記憶装置(例えば、ダイナミック・ランダム・アクセス・メモリ (DRAM)装置)を追加することによってシステムに加えられる。例えば、データを格納するために8個のDRAMを使用するシステムは、検出コードを格納するためにさらに追加のDRAMを使用する。他の場合には、追加ビットは、特にECCシステムで使用するために設計されたバリアント(variant)DRAMに格納される。例えば、ECCの無い(non-ECC)DRAMは、256Mbitsの容量および16個の出力を有する。ECCバリアントDRAMは、288Mbitsの容量および18個の出力を有する。これらの両方の例では、ECCシステムは、ECCの無いものよりも12.5%大きい格納容量を有する。
ECCシステム内で異なるDRAM装置を使用することは、いくつかの不利な点を有する。例えば、2つ(またはそれ以上)の異なるDRAM装置を設計し、生産し、在庫するための関連コストが増加する。さらに、ECCバリアントDRAM装置は、ECCの無いものよりも大きく、したがって製造がより難しい。ECCバリアントDRAMに追加のビットを加えることによって、装置の生産性が低下し、したがって、装置のコストが増加する。2つ(またはそれ以上)の異なるDRAM装置を使用することによる他の不利な点は、追加のピン(例えばECCピン)をサポートするために、DRAM装置と接続されるメモリ・コントローラが必要になることである。さらに、ECCバリアントDRAMモジュールのコネクタは、ECCの無いものよりも大きいので、マザーボード上でより大きいスペースを使用する。
本発明の実施例は、制限目的ではなく例示目的であり、添付図面の図中において同様の参照番号は同様の要素を引用する。
本発明の実施例は、一般に、メモリ装置の信頼性(Reliability)、可用性(Availability)、サービス性(Serviceability)(RAS)の改善を目指すものである。いくつかの実施例では、メモリ装置は、第1メモリ・バンクおよび第2メモリ・バンクを有する、少なくとも1つの分割バンク対(split bank pair)を含む。エラー検出モードにおいて、データ・ビットはメモリ・バンクの1つに格納され、対応するエラー検出ビットは別のメモリ・バンクに格納される。メモリ装置は、レジスタ・ビット(例えば、モード・レジスタ・セット(MRS)レジスタ・ビット)を使用して、いずれかのモードをサポートするために形成される。メモリ装置はさらに、エラー訂正ロジックを含む。以下で述べるように、エラー訂正ロジックは、メモリ装置上にECC生成ロジックおよび比較ロジックを集積することにより、読取りリターン・データ(read return data)で巡回冗長コード(CRC:Cyclic Redundancy Code)ビットの使用を可能にする。
図1は、本発明の実施例に従って実行されるコンピューティング・システムの選択された状態を示す上位レベルのブロック図である。コンピューティング・システム100は、リクエスタ102、メモリ・コントローラ(またはホスト)110、メモリ装置130、および相互接続120を含む。メモリ・コントローラ110は、少なくとも一部分において、リクエスタ102とメモリ装置130との間の情報の転送を制御する。リクエスタ102は、プロセッサ(例えば、中央処理装置および/またはコア)、サービス・プロセッサ、入力/出力装置(例えば、PCIエクスプレス(Peripheral Component Interconnect Express)装置)、メモリ自体、またはその他のメモリへのアクセスを要求するようなシステム100の要素である。いくつかの実施例では、メモリ・コントローラ110は、リクエスタ102と同じダイ上にある。
図示された実施例では、メモリ・コントローラ110は、エラー検出ロジック112、モード・インディケータ114、およびメモリ装置アドレシング・ロジック116を含む。エラー検出ロジック112は、指定された障害からデータを保護するために冗長情報を使用する。いくつかの実施例では、エラー検出ロジック112は、エラー訂正コード(ECC)である。
さらに以下で述べるように、いくつかの実施例では、メモリ装置130は、エラー検出モードあるいは非エラー検出モードのいずれかで動作することができる。エラー検出モードで動作するとき、メモリ装置130は、データ・ビットおよび対応するエラー検出ビット(例えばECCビット)の両方を格納する。非エラー検出モードで動作するとき、メモリ装置130の(ほぼ)全容量は、データ・ビットを格納するために使用される。モード・インディケータ114は、メモリ装置130が、エラー検出モードで動作しているのか、または非エラー検出モードで動作しているのかについての表示を提供する。いくつかの実施例では、モード・インディケータ114は、1またはそれ以上のレジスタ・ビットを含む。
いくつかの実施例では、メモリ装置130は、それが、エラー検出モードであるか、または非エラー検出モードであるかによって、読取り/書込みデータのために異なるアドレス・マッピングを適用する。例えば、エラー検出モードで使用されるアドレス・マッピングは、エラー検出ビット(例えばECCビット)のマッピングを用いてもよい。アドレス・マッピング・ロジック116は、メモリ・コントローラ110が、メモリ装置130によって使用されるアドレス・マッピングを見つけることを可能にする。アドレス・マッピング・ロジック116は、複数の記憶位置にアドレス・マッピングの指示を提供することができる任意のロジックである。
メモリ装置130は、DRAM装置(あるいは単にDRAM)を含む広範囲にわたる任意の装置である。メモリ・コア141は、1またはそれ以上の分割バンク対140によって組織される。分割バンク対とは、単一のバンクまたは2つの分離したバンクのいずれかとして形成することができるメモリ・バンクの対を意味する。いくつかの実施例では、分割バンク対のそれぞれは、それ自体が行(row)デコーダおよび列(column)デコーダを有する。
いくつかの実施例では、分割バンク対のそれぞれは、メモリのページを提供することができる。例えば、バンク0Aはページ142を提供し、また、バンク0Bはページ144を提供する。「バンク」とは、メモリ装置によって提供される記憶位置のアレイを意味する。バンク142,144は、集合的に、論理ページ146を提供する。用語「論理ページ」とは、2またはそれ以上の物理的なバンクの論理的な組み合わせを意味する。いくつかの実施例では、ページ142およびページ144のそれぞれは、1キロバイト(Kバイト)のメモリを提供し、また、論理ページ146は、2Kバイトの正味有効ページ・サイズを提供する。
図示された実施例では、メモリ装置130は、モード・インディケータ132、ポスト書込みバッファ134、部分書込みマスク136、および列アドレス生成ロジック138を含む。モード・インディケータ132は、メモリ装置130が、エラー検出モードまたは非エラー検出モードのいずれのモードで動作しているかという表示を提供する。いくつかの実施例では、モード・インディケータ132は、モード・レジスタ・セット(MRS)のような、1またはそれ以上のビットのレジスタを含む。ポスト書込みバッファ134とは、データがメモリ装置130のメモリ・コアに書き込まれる前にデータを記入するためのバッファである。部分書込みマスク136は、メモリ・コアに書き込まれたデータのために書込みマスクを提供する。いくつかの実施例では、部分書込みマスク136は、メモリ装置130に格納されたデータに関連するエラー検出ビットにアクセスするために使用される。いくつかの実施例では、列アドレス生成ロジック138は、メモリ装置130に格納されたデータに関連するエラー検出ビットのための列アドレス情報を生成する。
メモリ装置130は、さらにオン−ダイ(on-die)エラー訂正ロジック160を含む。いくつかの実施例では、エラー訂正ロジック160は、エラー検出モードで動作しているときに、メモリ装置130の信頼性、可用性、およびサービス性(RAS)を増強させる。より詳しくは、いくつかの実施例では、エラー訂正ロジック160によって、メモリ装置130は、エラー検出モードで動作しているときでさえ、読取りリターン・データを伴うCRCビットを使用することができる。いくつかの実施例では、エラー訂正ロジック160は、ECC計算ロジックおよび比較ロジックを含む。この計算および比較ロジックによって、装置は、読取りデータのためのECCビットをローカルに計算し、ローカルに計算されたECCビットを格納されたECCビットと比較することができる。ローカルに計算されたECCビットが格納されたECCビットと一致する場合は、次に、読取りリターン・データ内でCRCビットがECCビットに代わる。ECC訂正ロジックについては、図6から図8に関して以下でさらに述べられる。
図2は、本発明の実施例によって実行されるDRAMの選択された状態を示すブロック図である。DRAM200は、16個のメモリ・バンク(0Aから7B)または8個の分割バンク対(例えば分割バンク対0A,0B)を含む。いくつかの実施例では、DRAM200は、x4またはx8DRAMのいずれかとして形成することができる。x4モードでは、DRAM200は、16個のバンク(0Aから7B)を提供し、それぞれのバンクは、64ビットのデータを4個のデータ(DQ)ピンに提供する。x8モードでは、DRAM200は、8個の分割バンク対を提供し、それが128ビットのデータを8個のDQピンに提供する。
いくつかの実施例では、DRAM200は、エラー検出モード(例えばECCモード)または非エラー検出モードのいずれかで動作するために形成することができる。エラー検出モードで動作するときは、DRAM200は、一方の分割バンク(例えばバンク0A)にデータを、かつ、他方の分割バンク(例えばバンク0B)に対応するエラー検出ビット(例えばECCビット)を格納することによって、分割バンク・アーキテクチャに影響を及ぼす。いくつかの実施例では、エラー検出モードで動作しているとき、DRAM200はx8DRAMとして形成される。
図3は、本発明の実施例に従って、データ・ビットおよびエラー検出ビットを分割バンク対に格納する、選択された状態を示すブロック図である。分割バンク対300は、バンク0Aおよびバンク0Bを含む。いくつかの実施例では、データは、各バンク内のN/M(例えば7/8)までの位置に格納され、また、対応するエラー検出ビットは、他方の分割バンク対300の最後の1/M(例えば1/8)に格納される。例えば、バンク0Aに格納されたデータをカバーするエラー検出ビットは、バンク0Bの記憶位置の先頭の1/8に格納される(302)。同様に、バンク0Bに格納されたデータをカバーするエラー検出ビットは、バンク0Aの記憶位置の先頭のl/8に格納される(304)。いくつかの実施例では、エラー検出ビットは、エラー検出・コード(ECC)ビットである。
いくつかの実施例では、ホスト(例えば、図1に示されるメモリ・コントローラ110)は、データ・ビットを受け取っている、または提供しているバンクを識別するために、分割バンク対内の特定のバンクをアドレス指定する。メモリ装置がエラー検出モードである場合、それは、内部ロジック(例えば、図1に示された、部分書込みマスク136、列アドレス生成ロジック138など)を使用して、データ・ビットに対応するエラー検出ビットにアクセスする。データ・ビットおよび対応するエラー検出ビットへのアクセスについては、図4から図8に関して以下でさらに述べられる。
図4は、本発明の実施例に従って、データ・ビットとエラー検出ビットとの間のアドレス・マッピングの例を示すブロック図である。図示された実施例では、データ・ビットは、410で示されるようなバンクの分割対内のバンクによって提供されるページの7/8に格納される。対応するエラー検出ビットは、分割バンク対内の別のバンクの上位l/8に格納される(430)。例えば、バイト0−7をカバーするECCビットは、参照番号432によって示されるような記憶位置896に格納される。同様に、バイト128−135をカバーするECCビットは、参照番号434によって示されるような記憶位置897に格納され、このようなパターンは、図4に示されるように、ページ410内のデータ・バイトに対して継続される。いくつかの実施例では、参照番号436によって示されるように、バンク430の上位l/8の最後のバイト(例えば位置903)は使用されない。いくつかの実施例では、バイト8−15をカバーするエラー検出ビットは、位置905に格納され、シーケンスが繰り返される。
図5Aおよび図5Bは、本発明の実施例に従って、書込みデータ・フレームのシーケンスの選択された状態を示す。図5Aおよび図5Bに示された書込みシーケンスは、2つのメモリ装置を備えた並列のメモリ・チャネルを有するシステム内で使用される。各装置は、4つのフレームのすべてを見て、D0からD63、あるいはD64からD127のいずれかに割り当てられる。メモリ装置の割当てについては、さらに以下で述べられる。
いくつかの実施例では、書込みシーケンスは以下のフレームを含む。すなわち、書込みヘッダ(Wh)502、ECC書込みフレーム(We)504、書込みデータ1(Wd1)506、および書込みデータ2(Wd2)508である。いくつかの実施例では、各フレームは、6ビット・フレーム(0から5のラベルが付される)であり、9ビット・ディープ(例えば、ユニット・インターバル(UI)0から8、または9から17)である。Wh502は、いくつかのデータ・ビットと同様に、書込みシーケンスのためのヘッダ情報を含む。
We504は、関連するデータ・ビットをカバーするためにエラー検出ビット(例えば、UI12−15で示されるECCビット510)を転送する。いくつかの実施例では、エラー検出ビット(例えばECCビット)は、部分書込みマスク・エンコーディングを用いて、メモリ装置130に転送される。すなわち、We504は、マスク・ビットがエラー検出ビット(例えば、ユニット・インターバル12−15で示されるECCビット510)と置換されるという点を除いて、部分書込みマスク・フレーム(Wm)と同一のコマンド・エンコーディングを有する。ECCビット(ECC0−ECC7)は、データ・ビット(D0−D63)をカバーし、また、ECCビット(ECC8−ECC15)は、データ・ビット(D64−D127)をカバーする。いくつかの実施例において、システムがエラー検出モードで動作しているとき、Weフレーム504は、すべての書込みデータの転送に必要である。
Wd1(506)およびWd2(508)は、書込み動作のために残りのデータ・ビットを転送する。データ・ビット(D0−D63)は、1つのメモリ装置によって使用され、また、データ・ビット(D64−D127)は、別のメモリ装置によって使用される。いくつかの実施例では、メモリ装置内のレジスタ・ビットは、メモリ装置がどのデータ・ビットをピックアップすべきかを決定する。例えば、MRSレジスタは、メモリ装置にデータ・ビットを割り当てるために使用される。
いくつかの実施例では、アドレス・ビットgl(512)は、分割PWBインプリメンテーションのロードを可能にするために、We504で提供される。いくつかの実施例では、メモリ装置は、PWBのロードに関してglを使用するかどうかを選択することができる。アドレス・ビットglは、書込みCASで提供され、分割バンクの1つがデータ格納装置およびECCビット用の他の格納装置に使用されることを示す。
図6は、本発明の実施例に従って、オン−ダイ・エラー訂正ロジックの選択された状態を示すブロック図である。いくつかの実施例では、メモリ装置600(例えばDRAM)は、とりわけ、メモリ・コア601およびエラー訂正ロジック607を含む。メモリ・コア601およびエラー訂正ロジック607は、共通チップ上に集積される。いくつかの実施例では、メモリ・コア601は、第1部分602および第2部分604のような複数の部分を含む。例えば、第1部分602および第2部分604は、それぞれが、分割バンク対における分割バンクである。データ・ビット603は第1の部分602に格納される。また、対応するECCビット605は第2の部分604に格納される。いくつかの実施例では、ECCビット605は、ホスト(例えば、図1に示されるメモリ・コントローラ110)によって計算され、書込みデータ・フレーム(例えば、図5に示されるECC書込みフレーム504)内のメモリ装置600に提供される。
エラー訂正ロジック607は、メモリ装置600のRASを改善するためのロジックを含む。いくつかの実施例では、エラー訂正ロジック607は、ECCエラーを検出し訂正するロジックを含む。ECCビットを転送するために使用されたであろう読取りデータ・フレームの部分は、その後、CRCビットを転送するために使用される。このように、データ・ビット603は、読取りデータ・フレーム内のECCビットを転送することなく、ソフトエラーおよびリンク・エラーの両方のためにカバーされるであろう。
図示された実施例では、エラー訂正ロジック607は、ECC訂正ロジック606、ECC計算ロジック608、CRC計算ロジック610、コンパレータ612、およびフレーム・ロジック・ユニット(FLU)614を含む。他の実施例では、エラー訂正ロジック607は、より多くの要素、より少ない要素、および/または異なる要素を含む。さらに、いくつかの実施例では、エラー訂正ロジック607の一部として示された1またはそれ以上の要素は、メモリ装置600の異なる部分で実行される。
ECC計算ロジック608は、データ603をカバーするためにECCビットを計算する。いくつかの実施例では、ロジック608は、ECCビットを計算するために、ECCビット605を計算するために使用されたものと同じ多項式を使用する。例えば、ロジック608は、図1に示されたエラー検出ロジック112と同じ多項式を使用する。ロジック608は、ほとんど、あらゆるエラー訂正コード多項式を使用する。いくつかの実施例では、多項式はECCとCRCの組み合わせである。図示された実施例では、ロジック608は、64個のデータ・ビットをカバーするために8個のECCビットを計算する。他の実施例では、ECCビットおよび/またはデータ・ビットの数が異なる。
コンパレータ612は、計算されたECCビットを、格納されたECCビット(例えば、ECCビット605)と比較する。ECCビットの2つのセットが一致する場合は、コンパレータ612はMATCH信号を表明する。計算されたECCビットが格納されたECCビットと一致しない場合は、データ・ビット603はエラーを含む。いくつかの実施例では、エラー訂正ロジック607は、あるエラーを訂正するためにECC訂正ロジック606を含む。このような実施例において、ECCビットの2つのセットが一致しない場合は、コンパレータ612がECC訂正ロジック606にデータ(例えば、ECCビットが一致しないという指示)を提供し、その問題を訂正可能にする。いくつかの実施例では、ロジック606は、シングル・ビット訂正ロジックを含み、SBCが、例えば64ビット中から訂正する必要があるシングル・ビットを表示する。コンパレータ612が、ロジック606が訂正することができないようなウエイト(weight)を有するエラーを検出した場合、コンパレータ612は、ALERT信号を表明する。コンパレータ612は、ビットの1つのセットを別のセットと比較し、比較した結果に応じて1またはそれ以上の信号を表明する主張するのに適切な、任意のロジックである。
上述したように、ECC訂正ロジック606は、ある種のエラー(例えば、シングル・ビット・エラー)を訂正するためのロジックを含む。いくつかの実施例では、ロジック606は、訂正された入力および出力データとして、データ・ビット603およびSBCデータを受け取る。エラーが検出されない場合、データ・ビット603は、ECC訂正ロジック606を単に通過する。
CRC計算ロジック610は、ロジック606(例えば、訂正されたデータ・ビットまたはオリジナル・データのいずれか)によって提供されるデータ・ビットをカバーするために、CRCビットを計算する。いくつかの実施例では、CRC計算ロジック610は、64個のデータ・ビットをカバーするために8個のCRCビットを計算する。他の実施例では、CRCビットの数、および/またはデータ・ビットの数が異なる。CRC計算ロジック610は、広範囲にわたるCRC多項式のいずれでも実行するためのロジックを含む。他の実施例では、異なるスキームは、リンク・エラー・プロテクション・ビットを生成するために使用される。例えば、いくつかの実施例では、ロジック610は、リンク・エラー・プロテクションを提供するために、パリティ・スキームまたは他のスキームを実行するする。
フレーム・ロジック・ユニット(FLU)614は、リクエスタへの送信のために、データ・ビットおよび/またはCRCビットをフレームするためのロジックを含む。いくつかの実施例では、FLU614は、データ・ビットにCRCビットをアペンドする。他の実施例では、FLU614は、データ・ビットとは別個にCRCビットをフレームする。いくつかの他の実施例では、例えば、2倍のビット・エラーが検出された場合、FLU614は故障したECCビットを送信する。
図7は、本発明の実施例に従って、メモリ装置からデータを読取るための、選択された状態を示すフロー・チャートである。工程ブロック702において、オン−ダイ・エラー訂正ロジックは、データ・ビットおよび対応するECCビットを、メモリ・コア(例えば、図6に示されるメモリ・コア601)の部分から読取る。説明を容易にするために、用語「格納されたECCビット」とは、データ・ビットがメモリ装置に書き込まれる前に生成され、かつ、それらがカバーするデータ・ビットと共にメモリ装置に格納されるECCビットを意味する。用語「計算されたECCビット」とは、対照的に、メモリ・コアと同じダイ上にあるECC計算ロジックによって計算されるECCビットを意味する。
工程ブロック704に関し、オン−ダイECC計算ロジック(例えば、図6に示されたロジック608)は、格納されたECCビットを計算するために使用されたのと同じ多項式を使用して、データ・ビットのためにECCビットを計算する。計算されたECCビットは、706において格納されたECCビットと比較される。計算されたECCビットが格納されたECCビットと一致した場合、オン−ダイCRC計算ロジックは、708に示されるようなビットをカバーするためにCRCを計算する。工程ブロック710に関し、CRCビットおよびデータ・ビットは、(例えば、図6に示されるFLU614使用して)リクエスタに送られる。
計算されたECCビットが格納されたECCビットと一致しない場合、オン−ダイ・エラー訂正ロジックは、検出されたエラーがオン−ダイECC訂正ロジックによって訂正することができるウエイトを有するかどうかを決定する。例えば、工程ブロック714は、シングル・ビット・エラーを検出するエラー訂正ロジックを示す。データ・ビットがシングル・ビット・エラーを含む場合、それは716において訂正される。その後、CRCビットは計算され(708)、さらに、CRCビットおよび訂正されたデータ・ビットは、リクエスタに送られる(710)。いくつかの実施例では、訂正されたデータは、メモリ・コアにライト・バックされ、および/または、後でホストが消去することができるようなレジスタ位置に、エラーとして記録(log)される。
検出されたエラーが、訂正することができないことを示すウエイトを有する場合、エラー訂正ロジックは、例えばALERT信号を使用してエラーを報告する(718)。いくつかの実施例では、故障しているECCビットは、例えばレジスタ位置に格納される。いくつかの実施例では、シングル・ビット・エラーあるいはダブル・ビット・エラーのいずれかが検出された場合、エラー訂正ロジックは、リクエスタにECCビット(例えばCRCビットの代わりに)を送る。このような実施例では、さらにALERT信号も表明される。その後、ホストは、壊れたデータをどのように処理するかを決定する。
図8は、本発明の実施例に従って、読取りデータ・フレームの選択された状態を示す。システム(例えば、図1に示されるシステム100)がエラー検出モードである場合、いくつかの実施例では、64個ビットのデータは、2つの背中合わせのフレーム上で転送される。例えば、フレーム802,804は、ユニット・インターバル(UI)0−7および9−16の64個のデータ・ビットを転送する。さらに、フレーム802,804は、8個のCRCビットを転送する。例えば、UI8内の4個のCRCビット、およびUI17内の4個のCRCビットである。
いくつかの実施例では、2つの読取りが並行して実行され、128個のデータ・ビットが4個のフレームで転送される。例えば、示された実施例では、フレーム802,804は、最初の64個のデータ・ビット(例えばd0―d63)を転送し、フレーム806,808は、別の64個のデータ・ビット(例えばd64−dl27)を転送する。データ・ビットd0―d63(例えばCRC_A)をカバーするCRCビットは、フレーム802,804のUI8,17でそれぞれ転送される。同様に、データ・ビットd64−dl27(例えばCRC_B)をカバーするCRCビットは、フレーム806,808のUI8,17でそれぞれ転送される。他の実施例では、読取りフレームは異なる構造を有し、および/または異なる数のフレームが転送される。データ・ビットは、ソフトエラーおよびリンク・エラーの両方のためのカバレッジを有するが、CRCビットだけが読取りデータ・フレームで戻されるので、メモリ装置のRASが改善される。
図9は、本発明の実施例に従った、電子システムの選択された状態を示すブロック図である。電子システム900は、プロセッサ910、メモリ・コントローラ920、メモリ930、入力/出力(I/O)コントローラ940、無線周波数(RF)回路950、およびアンテナ960を含む。動作において、システム900は、アンテナ960を使用して信号を送信および受信する。また、これらの信号は、図9に示されるような様々な要素によって処理される。アンテナ960は、指向性アンテナまたは全方向性アンテナである。ここで用いられるように、用語「全方向性アンテナ」は、少なくとも1つの平面内にほぼ一定のパターンを有する任意のアンテナを意味する。いくつかの実施例では、例えばアンテナ960は、ダイポール・アンテナまたは4分の1波長アンテナのような全方向性アンテナである。さらに、いくつかの実施例では、例えばアンテナ960は、パラボラ・アンテナ、パッチ・アンテナ、または八木アンテナのような指向性アンテナである。いくつかの実施例では、アンテナ960は、複数の物理的なアンテナを含む。
無線周波数回路950は、アンテナ960およびI/Oコントローラ940と通信する。いくつかの実施例では、RF回路950は、通信プロトコルに対応する物理インターフェイス(PHY)を含む。例えば、RF回路950は、変調器、復調器、ミキサ、周波数シンセサイザ、低雑音増幅器、電力増幅器、およびその他同種のものを含む。いくつかの実施例では、RF回路950は、ヘテロダイン受信機、および他の実施例を含み、また他の実施例では、RF回路950は、直接変換受信機を含む。例えば、複数のアンテナ960を備える実施例では、各アンテナは対応する受信機に結合される。動作において、RF回路950は、アンテナ960から通信信号を受信し、I/Oコントローラ940にアナログまたはデジタル信号を提供する。さらに、I/Oコントローラ940は、RF回路950に信号を提供するが、それは信号上で動作し、次に、それらをアンテナ960に送信する。
プロセッサ910は任意のタイプの処理装置である。例えば、プロセッサ910は、マイクロプロセッサ、マイクロコントローラ、または同種のものである。さらに、プロセッサ910は、任意の数のプロセッシング・コアを含み、あるいは任意の数の個別のプロセッサを含む。
メモリ・コントローラ920は、図9に示されるプロセッサ910と他の要素との間に通信パスを提供する。いくつかの実施例では、メモリ・コントローラ920は、同様に他の機能を提供するハブ装置の一部である。図9に示されるように、メモリ・コントローラ920は、プロセッサ910、I/Oコントローラ940、およびメモリ930に結合される。
メモリ930は、複数のメモリ装置を含む。これらのメモリ装置は、任意のタイプのメモリ技術に基づく。例えば、メモリ930は、ランダム・アクセス・メモリ(RAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、スタティック・ランダム・アクセス・メモリ(SRAM)、フラッシュ・メモリのような不揮発性メモリまたは他の任意のタイプのメモリである。メモリ930は、エラー検出モードおよび非エラー検出モードをサポートする。いくつかの実施例では、メモリ930は、オン−ダイ・エラー訂正ロジック932を含む。エラー訂正ロジック932は、メモリ装置上にECC生成ロジックおよび比較ロジックを集積することにより、読取りリターン・データを具備する巡回冗長コード(CRC)ビットの使用を可能にする。
メモリ930は、1またはそれ以上のモジュール上の単一のメモリ装置あるいは複数のメモリ装置を表わす。メモリ・コントローラ920は、相互接続922を通ってメモリ930にデータを提供し、読込み要求に応じてメモリ930からデータを受け取る。コマンドおよび/またはアドレスは、相互接続922を通って、あるいは異なる相互接続(図示せず)を通ってメモリ930に提供される。メモリ・コントローラ920は、メモリ930に格納されるべきデータを、プロセッサ910から、または別のソースから受け取る。メモリ・コントローラ920は、メモリ930から受け取るデータを、プロセッサ910または他の転送先に提供する。相互接続922は、双方向相互接続または一方向相互接続である。相互接続922は、複数の並列の導体を含む。その信号は、差動またはシングルエンドである。いくつかの実施例では、相互接続922は、順方向マルチフェーズ・クロック・スキームを用いて動作する。
メモリ・コントローラ920は、さらにI/Oコントローラ940に結合され、プロセッサ910とI/Oコントローラ940との間に通信パスを提供する。I/Oコントローラ940は、シリアル・ポート、パラレル・ポート、ユニバーサル・シリアル・バス(USB)ポート、および同種のもののような、I/O回路と通信するための回路を含む。図9に示されるように、I/Oコントローラ940は、RF回路950への通信パスを供給する。
図10は、本発明の他の実施例に従って、電子システムの選択された状態を示すブロック図である。電子システム1000は、メモリ930、I/Oコントローラ940、RF回路950、およびアンテナ960を含み、それらのすべてについては図9に関して上述された。電子システム1000は、さらに、プロセッサ1010およびメモリ・コントローラ1020を含む。図10に示されるように、メモリ・コントローラ1020は、プロセッサ1010と同じダイ上にある。プロセッサ1010は、プロセッサ910(図5)に関して上述されたような、任意のタイプのプロセッサである。図9および図10によって表わされるシステムの例は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、サーバ、携帯電話、携帯情報端末、デジタル・ホーム・システム、および同種のものを含む。
本発明の実施例の要素は、さらに、機械読取り可能な命令を格納するための機械読取り可能な媒体として提供される。機械読取り可能な媒体は、フラッシュ・メモリ、光ディスク、コンパクト・ディスク・リード・オンリ・メモリ(CD−ROM)、デジタル汎用/ビデオ・ディスク(DVD)ROM、ランダム・アクセス・メモリ(RAM)、消去可能なプログラマブル・リード・オンリ・メモリ(EEPROM)、磁気あるいは光カード、伝播媒体、またはあるいは電子命令を格納するために適切な他のタイプの機械読取り可能な媒体を含むが、それらに制限されることはない。例えば、本発明の実施例は、通信リンク(モデムまたはネットワーク接続)を介して搬送波あるいは他の伝播媒体に乗せられたデータ信号の方法よって、遠隔コンピュータ(例えばサーバ)から要求コンピュータ(例えばクライアント)に転送される、例えば、コンピュータ・プログラムとしてダウンロードされてもよい。
本明細書全体を通して「一実施例」または「ある実施例」と称する場合は、その実施例に関して記述された特定の形状、構造または特性が、本発明の少なくとも1つの実施例に含まれることを意味すると理解されるべきである。したがって、それは強調され、また、本明細書の様々な箇所において、2またはそれ以上の箇所で「ある実施例」または「一実施例」と称する場合は、必ずしも同一の実施例について言及しているとは限らないと理解すべきである。さらに、特定の形状、構造あるいは特性は、本発明の1またはそれ以上の実施例において、適切に組み合わされてもよい。
同様に、本発明の実施例についての以上の記述において、1またはそれ以上の創造的な側面についての理解を助けるための開示を簡素化する目的のために、様々な特徴が単一の実施例、図面、またはそれらの記述にまとめられていることを理解すべきである。しかしながら、このような開示の方法は、各請求項において、請求された主題が明示的に列挙しているよりも多くの特徴を要求する意図を反映していると解釈すべきではない。むしろ、添付の請求項が反映するように、発明の態様は、上記開示された単一の実施例の全特徴よりも少ない。したがって、詳細な説明に続く請求項は、ここに、この詳細な説明に明らかに編入されるものである。
本発明の実施例に従って実行されるコンピューティング・システムの選択された状態を示す高レベルのブロック図である。 本発明の実施例に従って実行されるダイナミック・ランダム・アクセス・メモリ(DRAM)の選択された状態を示すブロック図である。 本発明の実施例に従って実行されるダイナミック・ランダム・アクセス・メモリ(DRAM)の選択された状態を示すブロック図である。 本発明の実施例に従って、データ・ビットとエラー検出ビットとの間のアドレス・マッピングの一例を示すブロック図である。 本発明の実施例に従って、書込みデータ・フレームのシーケンスの選択された状態を示す。 本発明の実施例に従って、書込みデータ・フレームのシーケンスの選択された状態を示す。 本発明の実施例に従って、オン−ダイ・エラー訂正ロジックの選択された状態を示すブロック図である。 本発明の実施例に従って、メモリ装置からデータを読み取るための選択された状態を示するフロー・チャートである。 本発明の実施例に従って、読取りデータ・フレームのシーケンスの選択された状態を示す。 本発明の実施例に従って、電子システムの選択された状態を示すブロック図である。 本発明の他の実施例に従って、電子システムの選択された状態を示すブロック図である。

Claims (15)

  1. エラー検出モードおよび非エラー検出モードで動作することのできるメモリ装置において、前記メモリ装置は、
    前記エラー検出モードである場合には、データ・ビットを格納する第1部分、および、前記データ・ビットに対応するエラー訂正コード(ECC)ビット(格納されたECCビット)を格納する第2部分を有するメモリ・コアであって、前記非エラー検出モード中では、前記第1部分および第2部分は、データ・ビットを格納する、メモリ・コアと、
    前記メモリ・コアと同じダイ上のエラー訂正ロジックであって、前記エラー訂正ロジックは、前記データ・ビットに対応するECCビット(計算されたECCビット)を計算するためのECC計算ロジックを含む、エラー訂正ロジックと、
    から構成され
    前記エラー訂正ロジックは、前記データ・ビット内のエラーを訂正するためのECC訂正ロジック、前記格納されたECCビットを前記計算されたECCビットと比較するためのコンパレータ、前記データ・ビットに対応するCRCビットを生成するための巡回冗長コード(CRC)生成ロジック、および、前記CRCビットおよび前記データ・ビットをリクエスタに送るためのフレーミング・ロジックをさらに含む、
    ことを特徴とするメモリ装置。
  2. 前記メモリ・コアは、前記第1部分に対応する第1メモリ・バンクおよび前記第2部分に対応する第2メモリ・バンクを有するメモリ・バンクの分割バンク対を含むことを特徴とする請求項1記載のメモリ装置。
  3. 前記メモリ装置は、ダイナミック・ランダム・アクセス・メモリ(DRAM)装置を含むことを特徴とする請求項1記載のメモリ装置。
  4. 前記メモリ装置は、エラー検出モードおよび非エラー検出モードで動作可能であることを特徴とする請求項1記載のメモリ装置。
  5. 前記メモリ装置は、前記格納されたECCビットを前記メモリ・コアの前記第2部分にマッピングするためのマッピング・ロジックをさらに含むことを特徴とする請求項記載のメモリ装置。
  6. メモリ装置の信頼性を改善する方法において、前記方法は、
    メモリ・コアの第1部分からデータ・ビットを読取る段階と、
    前記メモリ・コアの第2部分から、格納されたエラー訂正コード(ECC)ビットを読取る段階と、
    ECC計算ロジックを使用して計算されたECCビットを生成する段階であって、前記メモリ・コアおよび前記ECC計算ロジックは、共通の集積回路上にある、段階と、
    前記格納されたECCビットが前記計算されたECCビットと一致するかどうかを決定するために、前記格納されたECCビットを前記計算されたECCビットと比較する段階と、
    前記シングル・ビット・エラーの訂正に続き、前記データ・ビットに対応する巡回冗長コード(CRCビットおよび前記データ・ビットをリクエスタに送る段階と、
    から構成されることを特徴とする方法。
  7. 前記メモリ・コアは、前記第1部分に対応する第1メモリ・バンクおよび前記第2部分に対応する第2メモリ・バンクを有する、メモリ・バンクの分割バンク対を含むことを特徴とする請求項記載の方法。
  8. 前記格納されたECCビットが前記計算されたECCビットと一致する場合は、前記データ・ビットに対応する巡回冗長コード(CRC)ビットを計算する段階と、
    前記CRCビットおよび前記データ・ビットをリクエスタに送る段階と、
    をさらに含むことを特徴とする請求項記載の方法。
  9. 前記格納されたECCビットが前記計算されたECCビットと一致しない場合は、前記データ・ビットがシングル・ビット・エラーを含むかどうかを決定する段階と、
    前記データ・ビットがシングル・ビット・エラーを含む場合は、その後、ECC訂正ロジックを使用して前記シングル・ビット・エラーを訂正する段階であって、前記ECC訂正ロジックおよび前記メモリ・コアは共通の集積回路上にある、段階と、
    をさらに含むことを特徴とする請求項記載の方法。
  10. 前記CRCビットおよび前記データ・ビットを前記リクエスタに送る段階は、
    読取りデータ・フレーム内の前記データ・ビットをフレーミングする段階、
    前記CRCビットを前記読取りデータ・フレームに追加する段階、および、
    前記読取りデータ・フレームを前記リクエスタに送る段階、
    を含むことを特徴とする請求項記載の方法。
  11. 前記データ・ビットがシングル・ビット・エラーを含まない場合は、エラーをリクエスタに報告する段階をさらに含むことを特徴とする請求項記載の方法。
  12. メモリ装置の信頼性を改善するシステムにおいて、前記システムは、
    ダイナミック・ランダム・アクセス・メモリ(DRAM)装置と、
    前記DRAM装置に結合されたリクエスタと、
    から構成され、
    前記DRAM装置は、
    第1メモリ・バンクおよび第2メモリ・バンクを含むメモリ・バンクの分割バンク対であって、前記DRAM装置がエラー検出モードである場合は、データ・ビットは前記第1メモリ・バンクに格納され、対応するエラー訂正コード(ECC)ビット(格納されたECCビット)は前記第2メモリ・バンクに格納される、メモリ・バンクの分割バンク対、および、
    前記分割バンク対と同じダイ上のエラー訂正ロジックであって、前記データ・ビット内のエラーを訂正するためのECC訂正ロジック、前記格納されたECCビットを前記計算されたECCビットと比較するためのコンパレータ、前記データ・ビットに対応するCRCビットを生成するための巡回冗長コード(CRC)生成ロジック、および、前記CRCビットおよび前記データ・ビットをリクエスタに送るためのフレーミング・ロジックを含むエラー訂正ロジック
    を含むことを特徴とするシステム。
  13. 前記エラー訂正ロジックは、前記データ・ビット内のエラーを訂正するためのECC訂正ロジックを含むことを特徴とする請求項12記載のシステム。
  14. 前記エラー訂正ロジックは、前記格納されたECCビットを前記計算されたECCビットと比較するためのコンパレータをさらに含むことを特徴とする請求項13記載のシステム。
  15. 前記エラー訂正ロジックは、前記データ・ビットに対応するCRCビットを生成するための巡回冗長コード(CRC)生成ロジックをさらに含むことを特徴とする請求項12記載のシステム。
JP2009530716A 2006-06-30 2007-06-27 メモリ装置の信頼性、可用性、およびサービス性の改善 Expired - Fee Related JP5135348B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/479,067 2006-06-30
US11/479,067 US7774684B2 (en) 2006-06-30 2006-06-30 Reliability, availability, and serviceability in a memory device
PCT/US2007/072295 WO2008005781A2 (en) 2006-06-30 2007-06-27 Improving reliability, availability, and serviceability in a memory device

Publications (2)

Publication Number Publication Date
JP2009540477A JP2009540477A (ja) 2009-11-19
JP5135348B2 true JP5135348B2 (ja) 2013-02-06

Family

ID=38878338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009530716A Expired - Fee Related JP5135348B2 (ja) 2006-06-30 2007-06-27 メモリ装置の信頼性、可用性、およびサービス性の改善

Country Status (8)

Country Link
US (2) US7774684B2 (ja)
EP (1) EP2035938B1 (ja)
JP (1) JP5135348B2 (ja)
KR (1) KR101047241B1 (ja)
CN (2) CN102394112B (ja)
AT (1) ATE545910T1 (ja)
TW (1) TWI343581B (ja)
WO (1) WO2008005781A2 (ja)

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100681429B1 (ko) * 2005-10-24 2007-02-15 삼성전자주식회사 반도체 메모리 장치 및 그것의 비트 에러 검출 방법
US7774684B2 (en) * 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
JP2008090451A (ja) 2006-09-29 2008-04-17 Toshiba Corp 記憶装置
JP2008090433A (ja) * 2006-09-29 2008-04-17 Toshiba Corp メモリコントローラ、メモリシステム及びデータ転送方法
US7856588B2 (en) * 2006-10-19 2010-12-21 Hewlett-Packard Development Company, L.P. Data allocation in memory chips
JP4564520B2 (ja) * 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
US7934052B2 (en) 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
WO2009091958A1 (en) * 2008-01-17 2009-07-23 Amphenol Corporation Interposer assembly and method
US8161356B2 (en) * 2008-03-28 2012-04-17 Intel Corporation Systems, methods, and apparatuses to save memory self-refresh power
US8255783B2 (en) * 2008-04-23 2012-08-28 International Business Machines Corporation Apparatus, system and method for providing error protection for data-masking bits
US8321778B2 (en) * 2008-06-16 2012-11-27 Intel Corporation Efficient in-band reliability with separate cyclic redundancy code frames
US8196009B2 (en) 2008-06-18 2012-06-05 Intel Corporation Systems, methods, and apparatuses to transfer data and data mask bits in a common frame with a shared error bit code
US8103928B2 (en) * 2008-08-04 2012-01-24 Micron Technology, Inc. Multiple device apparatus, systems, and methods
KR20100096616A (ko) * 2009-02-25 2010-09-02 삼성전자주식회사 저항성 메모리 장치 및 저항성 메모리 장치에서의 입출력 제어 방법
US8307258B2 (en) * 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
WO2011031260A1 (en) * 2009-09-10 2011-03-17 Hewlett-Packard Development Company, L.P. Memory subsystem having a first portion to store data with error correction code information and a second portion to store data without error correction code information
US8612828B2 (en) * 2009-12-22 2013-12-17 Intel Corporation Error correction mechanisms for 8-bit memory devices
US8589766B2 (en) * 2010-02-24 2013-11-19 Apple Inc. Codeword remapping schemes for non-volatile memories
US8639964B2 (en) * 2010-03-17 2014-01-28 Dell Products L.P. Systems and methods for improving reliability and availability of an information handling system
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
US8874958B2 (en) * 2010-11-09 2014-10-28 International Business Machines Corporation Error detection in a mirrored data storage system
CN102203740B (zh) 2011-05-27 2013-06-05 华为技术有限公司 数据处理方法、装置及系统
US8732557B2 (en) * 2011-05-31 2014-05-20 Micron Technology, Inc. Data protection across multiple memory blocks
US8909982B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
US8527836B2 (en) * 2011-07-01 2013-09-03 Intel Corporation Rank-specific cyclic redundancy check
US9058289B2 (en) 2011-11-07 2015-06-16 Sandisk Enterprise Ip Llc Soft information generation for memory systems
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US8954822B2 (en) 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US8707133B2 (en) 2011-12-05 2014-04-22 Lsi Corporation Method and apparatus to reduce a quantity of error detection/correction bits in memory coupled to a data-protected processor port
EP2672387B1 (en) * 2012-06-04 2018-08-01 Amplidata NV A distributed object storage system
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9299400B2 (en) 2012-09-28 2016-03-29 Intel Corporation Distributed row hammer tracking
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
US9183082B2 (en) * 2013-01-29 2015-11-10 Qualcomm Incorporated Error detection and correction of one-time programmable elements
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9009576B1 (en) 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9021334B2 (en) * 2013-05-01 2015-04-28 Apple Inc. Calculation of analog memory cell readout parameters using code words stored over multiple memory dies
CN104184543B (zh) * 2013-05-24 2018-10-30 华为技术有限公司 一种数据传输的方法、装置和系统
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US10031802B2 (en) * 2013-06-28 2018-07-24 Intel Corporation Embedded ECC address mapping
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9934143B2 (en) 2013-09-26 2018-04-03 Intel Corporation Mapping a physical address differently to different memory devices in a group
US9158349B2 (en) 2013-10-04 2015-10-13 Sandisk Enterprise Ip Llc System and method for heat dissipation
US9323637B2 (en) 2013-10-07 2016-04-26 Sandisk Enterprise Ip Llc Power sequencing and data hardening architecture
US9213595B2 (en) * 2013-10-15 2015-12-15 International Business Machines Corporation Handling errors in ternary content addressable memories
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9122636B2 (en) 2013-11-27 2015-09-01 Sandisk Enterprise Ip Llc Hard power fail architecture
US9280429B2 (en) 2013-11-27 2016-03-08 Sandisk Enterprise Ip Llc Power fail latching based on monitoring multiple power supply voltages in a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US10073731B2 (en) * 2013-11-27 2018-09-11 Intel Corporation Error correction in memory
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9092370B2 (en) 2013-12-03 2015-07-28 Sandisk Enterprise Ip Llc Power failure tolerant cryptographic erase
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
US9798620B2 (en) 2014-02-06 2017-10-24 Sandisk Technologies Llc Systems and methods for non-blocking solid-state memory
US9549457B2 (en) 2014-02-12 2017-01-17 Sandisk Technologies Llc System and method for redirecting airflow across an electronic assembly
US9497889B2 (en) 2014-02-27 2016-11-15 Sandisk Technologies Llc Heat dissipation for substrate assemblies
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9348377B2 (en) 2014-03-14 2016-05-24 Sandisk Enterprise Ip Llc Thermal isolation techniques
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
US9519319B2 (en) 2014-03-14 2016-12-13 Sandisk Technologies Llc Self-supporting thermal tube structure for electronic assemblies
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
KR102204391B1 (ko) 2014-08-18 2021-01-18 삼성전자주식회사 공유 가능한 ecc 셀 어레이를 갖는 메모리 장치
US10002044B2 (en) * 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9558066B2 (en) * 2014-09-26 2017-01-31 Intel Corporation Exchanging ECC metadata between memory and host system
US9811420B2 (en) * 2015-03-27 2017-11-07 Intel Corporation Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC)
US10061645B2 (en) * 2015-06-30 2018-08-28 Qualcomm Incorporated Memory array and link error correction in a low power memory sub-system
ITUB20153367A1 (it) * 2015-09-03 2017-03-03 St Microelectronics Srl Procedimento per la gestione di memorie, dispositivo ed apparecchiatura corrispondenti
US9692455B2 (en) * 2015-09-11 2017-06-27 Micron Technology, Inc. Multi channel memory with flexible code-length ECC
US9965352B2 (en) * 2015-11-20 2018-05-08 Qualcomm Incorporated Separate link and array error correction in a memory system
US10140175B2 (en) * 2015-11-20 2018-11-27 Qualcomm Incorporated Protecting an ECC location when transmitting correction data across a memory link
US9952925B2 (en) * 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
EP3453022B1 (en) * 2016-05-02 2022-07-06 INTEL Corporation Internal error checking and correction (ecc) with extra system bits
KR102498208B1 (ko) 2016-06-07 2023-02-10 삼성전자주식회사 여분의 용량을 포함하는 메모리 장치 및 이를 포함하는 적층 메모리 장치
US10169126B2 (en) * 2016-10-12 2019-01-01 Samsung Electronics Co., Ltd. Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation
KR20180055148A (ko) * 2016-11-16 2018-05-25 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10705912B2 (en) 2017-06-07 2020-07-07 Rambus Inc. Energy efficient storage of error-correction-detection information
US10387242B2 (en) 2017-08-21 2019-08-20 Qualcomm Incorporated Dynamic link error protection in memory systems
JP7182373B2 (ja) * 2018-04-24 2022-12-02 ラピスセミコンダクタ株式会社 半導体集積回路、記憶装置及びエラー訂正方法
KR20190132238A (ko) 2018-05-18 2019-11-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20190132237A (ko) * 2018-05-18 2019-11-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11265022B2 (en) 2018-05-18 2022-03-01 SK Hynix Inc. Memory system and operating method thereof
US10957413B2 (en) * 2018-10-31 2021-03-23 Micron Technology, Inc. Shared error check and correct logic for multiple data banks
US11514174B2 (en) 2019-01-23 2022-11-29 Micron Technology, Inc. Memory devices with cryptographic components
US11023320B2 (en) * 2019-04-04 2021-06-01 Intel Corporation Technologies for providing multiple levels of error correction
TWI703572B (zh) * 2019-06-06 2020-09-01 華邦電子股份有限公司 記憶體儲存裝置及其記憶體測試方法
US11237903B2 (en) * 2019-06-25 2022-02-01 Intel Corporation Technologies for providing ECC pre-provisioning and handling for cross-point memory and compute operations
US10762977B1 (en) 2019-07-22 2020-09-01 Winbond Electronics Corp. Memory storage device and memory testing method thereof
US11294766B2 (en) 2019-08-13 2022-04-05 Micron Technology, Inc. Coordinated error correction
US11099929B2 (en) * 2019-12-17 2021-08-24 Micron Technology, Inc. Separating parity data from host data in a memory sub-system
KR20210147132A (ko) 2020-05-27 2021-12-07 삼성전자주식회사 메모리 장치 및 메모리 장치를 포함하는 메모리 모듈
EP4200702B1 (en) * 2020-09-14 2024-05-29 Huawei Technologies Co., Ltd. Fault resistant verification
US20220318603A1 (en) * 2021-03-31 2022-10-06 International Business Machines Corporation Nvm-based high-capacity neural network inference engine

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US692900A (en) * 1901-08-28 1902-02-11 Elihu Thomson Mechanism for operating motion-checking devices.
US4319356A (en) * 1979-12-19 1982-03-09 Ncr Corporation Self-correcting memory system
JPS61192100A (ja) * 1985-02-20 1986-08-26 Mitsubishi Electric Corp 半導体記憶装置
JPS61217999A (ja) * 1985-03-25 1986-09-27 Toshiba Corp 半導体メモリ
JPH03162800A (ja) * 1989-08-29 1991-07-12 Mitsubishi Electric Corp 半導体メモリ装置
US5134616A (en) * 1990-02-13 1992-07-28 International Business Machines Corporation Dynamic ram with on-chip ecc and optimized bit and word redundancy
JPH04282736A (ja) * 1991-03-12 1992-10-07 Hitachi Ltd 半導体記憶装置のロード及びアンロード方式
JPH06250935A (ja) * 1993-02-24 1994-09-09 Fujitsu Ltd 半導体メモリ装置
US5896404A (en) * 1997-04-04 1999-04-20 International Business Machines Corporation Programmable burst length DRAM
KR100266748B1 (ko) 1997-12-31 2000-10-02 윤종용 반도체 메모리 장치 및 그 장치의 에러 정정 방법
KR100287018B1 (ko) * 1998-08-07 2001-04-16 윤종용 에러 정정 회로를 구비한 반도체 메모리 장치
US6038693A (en) * 1998-09-23 2000-03-14 Intel Corporation Error correction scheme for an integrated L2 cache
JP2002023966A (ja) * 2000-06-30 2002-01-25 Toshiba Corp 転送データを冗長化したディスクシステム
JP4373615B2 (ja) * 2001-01-25 2009-11-25 富士通マイクロエレクトロニクス株式会社 初期不良ブロックのマーキング方法
US7117420B1 (en) * 2001-05-17 2006-10-03 Lsi Logic Corporation Construction of an optimized SEC-DED code and logic for soft errors in semiconductor memories
JP4437519B2 (ja) * 2001-08-23 2010-03-24 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
US7117421B1 (en) * 2002-05-31 2006-10-03 Nvidia Corporation Transparent error correction code memory system and method
US7043679B1 (en) * 2002-06-27 2006-05-09 Advanced Micro Devices, Inc. Piggybacking of ECC corrections behind loads
US7043579B2 (en) * 2002-12-05 2006-05-09 International Business Machines Corporation Ring-topology based multiprocessor data access bus
US7219294B2 (en) 2003-11-14 2007-05-15 Intel Corporation Early CRC delivery for partial frame
JP2005203064A (ja) * 2004-01-19 2005-07-28 Toshiba Corp 半導体記憶装置
JP4102313B2 (ja) * 2004-02-05 2008-06-18 株式会社東芝 半導体集積回路装置
JP2005327437A (ja) * 2004-04-12 2005-11-24 Nec Electronics Corp 半導体記憶装置
JP2005310313A (ja) * 2004-04-23 2005-11-04 Toshiba Corp 半導体記憶装置
JP2006004560A (ja) * 2004-06-18 2006-01-05 Elpida Memory Inc 半導体記憶装置及びその誤り訂正方法
KR100634414B1 (ko) * 2004-09-06 2006-10-16 삼성전자주식회사 에러 검출용 패러티 발생기를 구비한 낸드 플래시 메모리 장치 및 그것의 에러 검출 방법
US7409623B2 (en) * 2004-11-04 2008-08-05 Sigmatel, Inc. System and method of reading non-volatile computer memory
KR100643288B1 (ko) * 2004-11-16 2006-11-10 삼성전자주식회사 플래시 메모리의 데이터 처리 장치 및 방법
JP4802515B2 (ja) * 2005-03-01 2011-10-26 株式会社日立製作所 半導体装置
ITMI20050780A1 (it) * 2005-04-29 2006-10-30 St Microelectronics Srl Metodo di memorizzazione di un array di celle di memoria non-volatile con codice di correzione di errore e relativo dispositivo
US7650558B2 (en) * 2005-08-16 2010-01-19 Intel Corporation Systems, methods, and apparatuses for using the same memory type for both error check and non-error check memory systems
US7328384B1 (en) * 2005-09-29 2008-02-05 Xilinx, Inc. Method and apparatus using device defects as an identifier
US7221615B2 (en) * 2005-10-04 2007-05-22 Infineon Technologies Ag Semiconductor memory chip
KR100681429B1 (ko) * 2005-10-24 2007-02-15 삼성전자주식회사 반도체 메모리 장치 및 그것의 비트 에러 검출 방법
US7447948B2 (en) * 2005-11-21 2008-11-04 Intel Corporation ECC coding for high speed implementation
US7734985B2 (en) * 2006-02-27 2010-06-08 Intel Corporation Systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode
US7774684B2 (en) * 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
US8136016B1 (en) * 2007-11-08 2012-03-13 Marvell International Ltd. Split sector recovery method

Also Published As

Publication number Publication date
WO2008005781A2 (en) 2008-01-10
EP2035938A4 (en) 2010-08-04
WO2008005781A3 (en) 2008-03-06
CN102394112B (zh) 2014-11-12
KR101047241B1 (ko) 2011-07-06
CN101097784B (zh) 2011-11-09
CN102394112A (zh) 2012-03-28
US7774684B2 (en) 2010-08-10
EP2035938B1 (en) 2012-02-15
TWI343581B (en) 2011-06-11
EP2035938A2 (en) 2009-03-18
US20100262889A1 (en) 2010-10-14
US8806298B2 (en) 2014-08-12
JP2009540477A (ja) 2009-11-19
US20080005646A1 (en) 2008-01-03
KR20090016604A (ko) 2009-02-16
TW200809867A (en) 2008-02-16
ATE545910T1 (de) 2012-03-15
CN101097784A (zh) 2008-01-02

Similar Documents

Publication Publication Date Title
JP5135348B2 (ja) メモリ装置の信頼性、可用性、およびサービス性の改善
KR100992256B1 (ko) 동일한 메모리 타입을 사용하여 에러 체크 모드 및 비에러 체크 모드를 지원하기 위한 시스템, 방법 및 장치
CN107430538B (zh) 基于错误类型的ecc的动态应用
CN111327331B (zh) 纠错码电路、半导体存储器装置以及存储器系统
KR101203764B1 (ko) 메모리 셀프-리프레시 전력을 절약하기 위한 시스템들, 방법들 및 장치들
US10846171B2 (en) Error correction code decoders, semiconductor memory devices and memory systems
US20180143873A1 (en) Memory repair method and apparatus based on error code tracking
EP1984822B1 (en) Memory transaction replay mechanism
EP2136295B1 (en) Systems, methods, and apparatuses to transfer data and data mask bits in a common frame with a shared error bit code
US8132074B2 (en) Reliability, availability, and serviceability solutions for memory technology
US20040225944A1 (en) Systems and methods for processing an error correction code word for storage in memory components
US7836380B2 (en) Destination indication to aid in posted write buffer loading
TW202329147A (zh) 記憶體裝置、錯誤校正碼電路及其操作方法
WO2023202592A1 (zh) 数据写入方法以及处理系统

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111212

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120312

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120625

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120925

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121005

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121112

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5135348

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees