JP6592305B2 - メモリ装置及びメモリモジュール - Google Patents
メモリ装置及びメモリモジュール Download PDFInfo
- Publication number
- JP6592305B2 JP6592305B2 JP2015161805A JP2015161805A JP6592305B2 JP 6592305 B2 JP6592305 B2 JP 6592305B2 JP 2015161805 A JP2015161805 A JP 2015161805A JP 2015161805 A JP2015161805 A JP 2015161805A JP 6592305 B2 JP6592305 B2 JP 6592305B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- memory
- data
- interface
- information
- 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
Links
- 230000015654 memory Effects 0.000 title claims description 383
- 238000004891 communication Methods 0.000 claims description 175
- 238000012937 correction Methods 0.000 claims description 99
- 230000004044 response Effects 0.000 claims description 49
- 238000001514 detection method Methods 0.000 claims description 19
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 claims description 8
- 238000000034 method Methods 0.000 description 61
- 238000010586 diagram Methods 0.000 description 51
- 230000005540 biological transmission Effects 0.000 description 20
- 239000000872 buffer Substances 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000008439 repair process Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 238000003745 diagnosis Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 101100510959 Arabidopsis thaliana SSU2 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005201 scrubbing Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Debugging And Monitoring (AREA)
Description
例えば、メモリコントローラは64ビットのデータと8ビットのパリティーとで構成された72ビットのデータをメモリモジュールから読み出す。
また、メモリコントローラは他のエラー訂正技術を遂行する。
このようなエラー訂正技術を使用して、メモリモジュールから読み出されるデータに含まれるエラーを識別するか、或いは訂正することができる。その上に、メモリコントローラはエラーに関連した情報を生成する。
このようなメモリコントローラは、プロセッサに集積されている。
例えば、インテル(登録商標)社のジーオン(Xeon(登録商標))プロセッサはエラー訂正を遂行できるメモリコントローラを内装している。
図1を参照すると、システム100はプロセッサ104に結合されるメモリ102を含む。
例えば、メモリ102は1ビットエラーを訂正する。
メモリ102は2ビットエラーを検出する。
たとえば、例示のために特定ビット数のエラーが訂正されることと説明するが、メモリ102は特定ビット数のエラーを訂正するか、或いは検出することができる。
その上に、たとえ1ビット以上のエラー訂正技術で1ビットエラー訂正及び/又は2ビットエラーが検出されても、メモリ102は少なくとも1つのエラーを訂正することができる任意のエラー訂正技術を遂行する。
特定例において、メモリ102はDRAMモジュールである。
メモリ102は、DDR、DDR2、DDR3、DDR4、又はそのような多様な標準にしたがう二重データ率同期式DRAM(DDR SDRAM)であってもよい。
他の実施形態で、メモリ102はSRAM、不揮発性メモリ、又はこのようなものと類似なものを含んでもよい。
例えば、エラー情報は訂正されたエラー、訂正されないエラー、エラーの不在、又はそのようなエラーの数に対する情報を含む。
エラー情報は、実質的なエラー、エラーのアドレス、エラーが発生した回数、又はメモリ102に関連した他の特定情報を含む。
特定な例で、エラー情報はメモリ102が訂正した1ビットエラーを含む。たとえば、エラー情報が特定な例のみに対して説明するが、エラー情報はエラーと関連した何らかの情報でもさらに含み得る。
例えば、プロセッサ104は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、グラフィックプロセシングユニット(GPU)、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)等であってもよい。
プロセッサ104は、第1通信経路106を通してメモリ102からデータを受信する。
例えば、第1通信経路106は、データ信号、ストローブ信号、クロック信号、イネーブル信号等のような信号を伝達するための信号ラインを有するシステムメモリインターフェイスである。
このように、第1通信経路106はプロセッサ104とメモリ102との間でインターフェイシングを遂行するメーンメモリチャンネルの一部である。
プロセッサ104は、第2通信経路108を通じてメモリ102からエラー情報を受信する。
一実施形態では、プロセッサ104は第1通信経路106ではない他の通信経路を通じて訂正されたエラー情報を受信してもよい。
訂正されたエラー情報は訂正されたエラーと関連した情報である。
先に説明したように、エラー情報は多様な形態のエラーと関連した情報を含む。
訂正されたエラー情報は訂正されたエラーと関連した情報形態と同様に提供される。
例えば、ソフトウェア110は、ドライバ、カーネルモジュール、デーモン(daemon)、アプリケーションプログラム等を含む。
実施形態によっては、ソフトウェア110は以下で説明する特定機能をプロセッサ104で遂行できるようにする。
一実施形態では、各々のメモリ102は他のメモリ102とは分離された専用の第1通信経路106と専用の第2通信経路108とを通してプロセッサ104と結合される。
しかし、他の実施形態では、第1通信経路106は1つ以上のメモリ102と共有され、第2通信経路108も1つ以上のメモリ102と共有されてもよい。
その上に、たとえば、1つの第1通信経路106を説明したが、1つ又はそれ以上のメモリ102の間に複数の第1通信経路106が存在し得る。
同様に、たとえば、1つの第2通信経路108を説明したが、1つ又はそれ以上のメモリ102の間に複数の第2通信経路108が存在し得ることは容易に理解することができる。
第2通信経路108は帯域外通信経路であってもよい。
即ち、プロセッサ104とメモリ102との間のメーン通信は第1通信経路106を通じて遂行され、エラー情報の交換は帯域外の第2通信経路108を通じて遂行される。
この実施形態で、システム200は図1のメモリ102、プロセッサ104、第1、第2通信経路106、108、及びソフトウェア110と類似したメモリ202、プロセッサ204、第1、第2通信経路206、208、及びソフトウェア210を含む。
しかし、第2通信経路208はコントローラ214と結合される第1バス212と、コントローラ214とプロセッサ204との間を結合する第2バス216を含む。
言い換えれば、プロセッサ204とメモリ202とを結合するコントローラ214は第2通信経路208の一部として提供される。
例えば、コントローラ214は、汎用プロセッサ、DSP(Digital signal processor)、ASIC(Application specific integrated circuit)、PLD(Programmable logic device)等を含む。
例えば、第1、第2バス(212、216)は、システム管理バス(System Management Bus:SMBus)、I2Cバス(inter−integrated circuit)、IPMIバス(intelligent platform management interface)、Modbus等を含む。
例えば、メモリ202とプロセッサ204との間の第1通信経路206のデータ率は10GB/s以上の伝送速度を有するように設計するが、第2通信経路208は10Mbit/s、100kbit/sのような低い伝送速度を有するようにする。
したがって、一部の実施形態で、第2通信経路208に対する第1通信経路206の伝送速度比率は約100や1000、又はそれ以上になってもよい。
即ち、第2通信経路208はメモリ202とプロセッサ204との間で情報の通信用のみに使用される。
しかし、他の実施形態ではコントローラ214は他の装置が結合することを許容する。
例えば、非メモリ装置268がバス212によってコントローラ214に結合されてもよい。
また他の実施形態で、他の装置266がコントローラ214に結合されてもよい。
したがって、メモリ202から提供されない情報はプロセッサ204及び/又はメモリ202にバス212及び/又はバス216によって伝達される。
特に、メモリ202から提供されるエラー情報は非メモリの用途を含む他の目的に使用される第2通信経路208を通じてプロセッサ204に伝達される。
したがって、エラー情報は電源が遮断されでもコントローラ214に保存される。
プロセッサ204はコントローラ214にエラー情報を要請する。
したがって、コントローラ214は、不揮発性メモリ254に格納されたエラー情報を提供することによって、そのような要請に応答し、プロセッサ204の要請にしたがってエラー情報を読み出す(retrieve)ためにメモリ202にアクセスする。
他の実施形態では、メモリ202はコントローラ214にエラー情報をプッシュすることもある。
不揮発性メモリ254に格納されたエラー情報は実質的に最新の情報にアップデートされる。
この実施形態では、システム300は、図2のメモリ202、プロセッサ204、第1、第2通信経路206、208、及びソフトウェア210と同様なメモリ302、プロセッサ304、第1、第2通信経路306、308、及びソフトウェア310を含む。
しかし、コントローラは、ベースボード管理コントローラ314(Baseboard Management Controller:以下、BMC)で提供される。
例えば、ベースボード管理コントローラ314は、プロセッサ304、メモリ302、他の装置366等のセンサーを含むシステム300の多様なセンサーと結合される。
ベースボード管理コントローラ314は、温度、クーリング状態、電力状態等の多様なシステムパラメーターを収集し、報告する。
ベースボード管理コントローラ314は、システム300を管理し、標準にしたがって情報へのアクセスを可能にする。
管理情報は、プロセッサ304やソフトウェア310によって生成される。
又は、ベースボード管理コントローラ314は、帯域外通信経路のようなその他の通信経路を通して情報を利用できるようにする。ここで、帯域外通信経路はプロセッサ304を含まない任意の通信経路を含む。
この実施形態で、システム400は、図1のメモリ102、プロセッサ104、第1、第2通信経路106、108、及びソフトウェア110と同様なメモリ402、プロセッサ404、第1、第2通信経路406、408、及びソフトウェア410を含む。
しかし、この実施形態では、プロセッサ404はメモリコントローラ(MC)450とMCA(machine check architecture)レジスター452とを含む。
メモリコントローラ450はプロセッサ404とメモリ402との間のメーンインターフェイスに該当するメーンメモリチャンネルの一部である。
メモリコントローラ450は第1通信経路406を通したメモリ402へのアクセスを制御する。
実施形態よっては、メモリコントローラ450はメモリ402で遂行されるエラー訂正演算によって訂正される機会を有しないエラーを訂正する。
しかし、この実施形態ではメモリコントローラ450はメモリ402から読み出されたデータに対するエラー訂正は遂行しない。
メモリコントローラ450はメモリ402から読み出されたデータに基づいた何らかのエラー情報も報告しない。
例えば、キャッシュエラー、バスエラー、データエラー等のようなエラーが検出され、MCAレジスター452に報告される。
しかし、メモリコントローラ450がメモリ402から読み出されたデータのエラーを訂正しないので、メモリ402から読み出されたデータに基づいた潜在的なエラー情報はMCAレジスター452に記録されない。
上述したことにも関わらず、エラー情報は第2通信経路408を通してプロセッサ404に伝達される。
このようにして、エラー情報はメモリコントローラ450とMCAレジスター452とが訂正しなくとも、ソフトウェア410によってアクセス可能である。
例えば、エラー訂正が使用されないメモリコントローラ450がプロセッサ404に含まれ、エラー情報にアクセス可能に設計されてもよい。
特に、メモリのエラー訂正が要求されても、第2通信経路408を通じてアクセス可能であるエラー情報が存在するので、メモリエラー訂正機能が無いプロセッサ404が使用される。
したがって、エラー情報を使用する任意のソフトウェアを含むソフトウェア410は、プロセッサ404がメモリエラー訂正を遂行するよう動作する。
エラー訂正機能が無いプロセッサ404は低費用、低消費電力で具現することができる。したがって、システム400に所望される諸般消耗電力と費用とを減少させることができる。
第2通信経路408がメモリコントローラ450及びプロセッサ404の他の部分をバイパスするが、他のエラー訂正回路を有する。
このような第2通信経路408を通したエラー情報のバイパス方式は、メモリコントローラ450、MCAレジスター452等の特性に独立的なエラー情報の通信が可能にする。
即ち、類似する情報がメモリコントローラ450及び/又はMCAレジスター452にはアクセスできないが、エラー情報はアクセス可能である。
この実施形態では、システム500は、図1のメモリ102、プロセッサ104、第1、第2通信経路106、108、及びソフトウェア110と同様なメモリ502、プロセッサ504、第1、第2通信経路506、508、及びソフトウェア510を含む。
しかし、この実施形態では、第1通信経路506はデータライン532とデータストローブライン533とを含む。他のラインも第1通信経路506の一部に含まれるが、説明を簡単にするためにこれらのラインは省略する。
上述したように、訂正可能エラー情報は第2通信経路508を通じて伝達される。
反面、訂正不可であるエラー情報は訂正不可であるエラーに基づいた多様な互に異なる形態の情報を含む。
訂正不可エラー情報は第1通信経路506を通じて伝達される。
例えば、メモリ502はデータストローブライン533を通じて伝達される信号によって訂正不可であるエラー情報を伝達する。
特定の実施形態では、メモリ502はデータストローブライン533を通して伝達されるデータストローブ信号を切り替えなくともよい。
このような条件が検出されれば、プロセッサ504はソフトウェア510によって管理されるハードウェア例外条件を生成する。
伝達される方式に拘わらず、プロセッサ504は、システム500の中止や他のアクションを遂行する等によって訂正不能エラーの伝達に応答する。
この実施形態では、システム600は、図1のメモリ102、プロセッサ104、第1、第2通信経路106、108、そしてソフトウェア110と同様の、メモリ602、プロセッサ604、第1、第2通信経路606、608、そしてソフトウェア610を含む。
しかし、この実施形態では、分離された第3通信経路634がメモリ602とプロセッサ604との間を結合する。
この実施形態では、メモリ602は第3通信経路634を通じて訂正不可エラー情報を伝達する。
例えば、第3通信経路634は、第1通信経路606とは分離されてエラー情報のみを伝達する。
したがって、訂正不能エラーに対応するエラー情報は、第1及び第2通信経路606、608ではない通信経路を通じてプロセッサ604に受信される。
この実施形態では、システム700は、図1のメモリ102、プロセッサ104、第1、第2通信経路106、108、そしてソフトウェア110と同様な、メモリ702、プロセッサ704、第1、第2通信経路706、708、そしてソフトウェア710を含む。
しかし、この実施形態では、ソフトウェア710はモジュール718を含む。
例えば、モジュール718は、カーネルモジュール、ドライバ、拡張モジュールを含む。
モジュール718は、第2通信経路708と関連したインターフェイスを駆動するためのドライバを含む。
情報(他の情報)720は、ソフトウェア710によってアクセスされてもよい。
情報(エラー情報)722にはエラー情報722と関連したソフトウェア710の部分が記述されている。
一実施形態では、モジュール718は、プロセッサ704がメモリ702にエラー情報を要請するようにする。
例えば、メモリ702はエラー情報を生成する。
次に、プロセッサ704は第2通信経路708を通してエラー情報の要請を伝送する。
メモリ702は、第2通信経路708を通して伝達されるエラー情報に対する要請に応答する。
この実施形態では、システム800は、図7のメモリ702、プロセッサ704、第1、第2通信経路706、708、及び情報720、722に応答して動作するモジュール718を含むソフトウェア710と同様の構成であるメモリ802、プロセッサ804、第1、第2通信経路806、808、及び情報820、822に応答して動作するモジュール818を含むソフトウェア810を含む。
しかし、この実施形態では、ソフトウェア810はエラー検出及び訂正モジュール(Error Detection and Correction(EDAC)module)824を含む。
特に、エラー検出及び訂正モジュール824は、モジュール818からエラー情報を受信する。
エラー検出及び訂正モジュール824は、エラー情報と他の情報とを組み合わせて、他のモジュール、アプリケーション等がエラー情報にアクセス可能にする。
この実施形態では、システム900は、図7のメモリ702、プロセッサ704、第1、第2通信経路706、708、及び情報720、722に応答して動作するモジュール718を含むソフトウェア710と同様な、メモリ902、プロセッサ904、第1、第2通信経路906、908、及び情報920、922に応答して動作する第1モジュール918を含むソフトウェア910を含む。
しかし、この実施形態では、ソフトウェア910は第2モジュール926を含む。
特に、この情報920はメモリ902と関連がない情報を含む。
情報920の一部の情報921は、第1モジュール918によって受信される。
第1モジュール918は第2モジュール926から提供される情報の一部(921)や全部(920)と情報(エラー情報)922とを組み合わせる。
第1モジュール918は、単一インターフェイスに組み合わされた情報を提供する。
例えば、第1モジュール918は、図8のエラー検出及び訂正モジュール824のようなエラー検出及び訂正モジュールに組み合わされた情報を提供する。
この実施形態では、システム1000は、図9のメモリ902、プロセッサ904、第1、第2通信経路906、908、及び情報920、922に応答して動作する第1、第2モジュール(918、926)を含むソフトウェア910と同様な、メモリ1002、プロセッサ1004、第1、第2通信経路1006、1008、及び情報1020、1022に応答して動作するモジュール(1018、1026)を含むソフトウェア1010を含む。
しかし、この実施形態では、第1モジュールはエラー訂正(EC)モジュール1018であり、第2モジュールはMCAモジュール1026である。
情報1020はMCAレジスター452から提供される情報を示す。
エラー訂正(EC)モジュール1018は、情報1020を読み出すためにMCAモジュール1026にアクセスする。
エラー訂正(EC)モジュール1018は、MCAモジュール1026から提供される情報1020と組み合わせ、組み合わされた情報を単一インターフェイスに提供する。
例えば、プロセッサ1004がメモリ1002から読み出されるデータのエラーを訂正し、そのような情報がアクセス可能である場合、MCAモジュール1026によってもその情報はアクセス可能になる。
しかし、プロセッサ1004がメモリ1002から読み出されるデータのエラーを訂正しないように構成されるか、或いはプロセッサ1004がエラーは訂正するが、メモリ1002でエラーが訂正されることによって、MCAモジュール1026によってモニターリングされる通信経路を通じてエラー情報を受信しない場合、MCAモジュール1026はエラー情報を提供することができない。
ソフトウェア1010は、プロセッサ1004がエラー訂正機能を提供するか否かに関係なく、インターフェイスを使用する。
言い換えれば、エラー訂正機能を有するプロセッサ1004はエラー情報に依存的なソフトウェアの諸般動作のために必須的なことではない。
結果的に、エラー訂正機能が無いプロセッサ1004によって費用節減が可能である。
この実施形態では、システム1100は、図7のメモリ702、プロセッサ704、第1、第2通信経路706、708、及び情報720、722に応答して動作するソフトウェア710と同様な、メモリ1102、プロセッサ1104、第1、第2通信経路1106、1108、及び情報1120、1122に応答して動作するソフトウェア1110を含む。
しかし、この実施形態では、ソフトウェア1110は、第1モジュール1118、第2モジュール1128、そしてインターフェイスモジュール1130を含む。
しかし、第1モジュール1118は、インターフェイスモジュール1130を通してメモリ1102からエラー情報を受信する。
インターフェイスモジュール1130は、第2通信経路1108にインターフェイスを提供するためのモジュールである。
例えば、インターフェイスモジュール1130はIPMIバスを経由してアクセスを許容するモジュールである。
例えば、第2モジュール1128は、IPMIバスに接続されるその他の装置にアクセスするか、或いは熱情報や電力情報のようなメモリ1102の他の部分にアクセスする。
エラー情報や他の情報の両方はインターフェイスモジュール1130によって伝達される情報1122の一部分である。
言い換えれば、エラー情報は、関連又は非関連した情報やソースを共有するモジュール、インターフェイス、バス等のすべての経路専用のソフトウェアを使用して伝送される。
この実施形態では、システム1200は、図11のメモリ1102、プロセッサ1104、第1、第2通信経路1106、1108、及び情報1120、1122に応答して動作するモジュール(1118、1128、1130)を含むソフトウェア1110と同様な、メモリ1202、プロセッサ1204、第1、第2通信経路1206、1208、及び情報1220、1222に応答して動作するモジュール(1218、1228、1230)を含むソフトウェア1110を含む。
しかし、この実施形態では、第1モジュールは訂正されたエラー(CE)モジュール1218であり、第2モジュールは、直列認識検出素子(serial presence detect:SPD)/レジスタークロックドライバ(RCD)モジュール1228である。
SPD/RCDモジュール1228は、1つ又は全てのシステムにアクセスするように構成される。
情報は、第2通信経路1208を通じてアクセスされる。
したがって、一実施形態でメモリ1202から提供されるエラー情報は、SPD/RCDに関連した情報として第2通信経路1208を通じてアクセスされる。
この実施形態では、システム1300は、図10のメモリ1002、プロセッサ1004、及び情報1020、1022に応答して動作するエラー訂正モジュール1018とMCAモジュール1026と同様な、メモリ1302、プロセッサ1304、及び情報1320、1322に応答して動作するエラー訂正モジュール1318とMCAモジュール1326を含むカーネル1310を含む。
しかし、この実施形態では、メモリの各々は、ECC(Error Correction Coding)機能を有するデュアルラインメモリモジュール(以下、ECC DIMM)1302として提供される。
この実施形態では、「ECC DIMM」1302は対応する通信経路1364を通じてプロセッサ1304のメモリコントローラ1350に結合される。
通信経路1364は、図5の第1通信経路506と同様な、データ信号とデータストローブ信号とを伝達するためのラインを含む。
「ECC DIMM」1302は、図3のバス312、BMC314、及びバス316と同様なバス1312、BMC1314、バス1316を含む第2通信経路1308を通してプロセッサ1304に結合される。
エラー訂正技術は、シングルエラー訂正−ダブルエラー検出(SEC−DEC)技術、シングルチップチップキル技術(single−chip chipkill technique)、ダブルチップチップキル技術等である。
何らかのエラー訂正技術であってもよい。
「ECC DIMM」1302を経由するデータは既にエラーが訂正されたもので、メモリコントローラ1350は訂正可能であるエラーを指示する何らかの情報も受けない。
しかし、エラー情報、特に、訂正されたエラー情報は、バス1312、1316、及びBMC1314のような第2通信経路1308を通してプロセッサ1304に伝達される。
しかし、プロセッサ1304がカーネル1310、特に、エラー訂正(EC)モジュール1318によって一度設定されれば、全体のシステム1300はエラー訂正機能を有するプロセッサを含むシステムと同様にエラー訂正演算を遂行する。
例えば、上述したように、エラー訂正(EC)モジュール1318は、MCAモジュール1326から情報を受けるように設定される。
この時、情報はエラー訂正インターフェイスを有する実際のメモリコントローラが提供する一部又はすべてのエラー情報を含まない情報である。
エラー訂正(EC)モジュール1318は、メモリコントローラのECCインターフェイスから期待される情報の完成セットを生成するためのエラー情報をMCAモジュール1326からの情報で補完する。
結果的に、エラー検出及び訂正(以下、EDAC)モジュール1324、メモリECCデーモン1358、他のアプリケーションプログラム1360等は、エラー訂正を遂行するために使用されるプロセッサで変更無しで使用される。
返報として、ECモジュール1318は第2通信経路1308を通じて受信されるエラー情報を返す。
EDACモジュール1324と通信するメモリECCデーモン1358はエラー情報を取得するためにEDACモジュール1324をポーリング(polling)する。
その後に、メモリECCデーモン1358はアプリケーションレベルでエラー情報に対応するアクションを取る。
上述したアクションにはページ満了、システム1300を動作させるための他のエラー管理動作、信頼性レベルを維持するための動作、廃棄推薦等を含む。
訂正不可であるエラー情報は、メモリコントローラ1350、MCAレジスター1352、及びMCAモジュール1326を通してエラー訂正(EC)モジュール1318に伝達される。
例えば、訂正不可であるエラーは、MCAモジュール1326を通してマスク不可インタラプト(non−maskable interrupt)、例外(exception)等によって伝達される。
特定の実施形態では、メモリコントローラ1350は、メモリコントローラ1350にどのようにして伝達されたか否かに関わらず、訂正不可であるエラーに応答してハードウェア例外を生成する。
MCAモジュール1326は、上述した例外情報をインタラプトしてエラー訂正モジュール1318に伝達する。
そうすると、エラー訂正モジュール1318は、例外情報をEDACモジュール1324に伝達する。
上述したように訂正不可であるエラー情報に加えるか、又は伝達する代わりに、訂正不可であるエラー情報は第2通信経路1308を通じて伝達される。
しかし、訂正されたデータは「ECC DIMM」1302とメモリコントローラ1350との間で破損(corrupted)される。
したがって、「ECC DIMM」1302とプロセッサ1304又はメモリコントローラ1350との間で何らかの形のエラー訂正が遂行される。
例えば、「ECC DIMM」1302から伝達されるデータは、通信リンク1364上で発生するエラー検出の代わりにエラー訂正コードによるエンコーディングによって処理される。
このようなエラー訂正によって、「ECC DIMM1302」の格納要素(storage element)からプロセッサ1304に伝達される全体経路がエラーから保護される。
図14Aを参照すると、システム1400は、図13のシステムと同様な構成を含むが、この実施形態では、「ECC DIMM」1402はバッファ1462を含む。
特に、「ECC DIMM」1402のDRAMのような内部メモリ装置から非訂正データが読み出される。
バッファ1462は、非訂正データのエラーを訂正し、他のメモリで説明したのと同様にエラー情報を生成する。
上述したエラー情報は、第2通信経路1408を通じて伝達され、先に説明した方法によって使用される。
即ち、エラー情報は生成された方式に関わらず、上述した多様な方法によって使用される。
しかし、この実施形態では、EDACモジュール1424はMCAモジュール1426と情報を交換する。
例えば、EDACモジュール1424は、ハードウェア関連情報、訂正不能エラー情報、又はMCAモジュール1426によって使用される情報を取得するためにMCAモジュール1426をポーリングする。
EDACモジュール1424は、MCAモジュール1426から提供される情報とエラー訂正(EC)モジュール1418から伝達される情報とを組み合わせる。
しかし、この実施形態では、MCELOGモジュール1425は、エラー訂正モジュール1418から提供される情報を受信する。
MCELOG(Machine Check Events LOG)モジュール1425は、メモリエラー、データ伝送エラー等のような多様なシステムエラーと関連されたマシンチェックイベント(MCEs)を記録する。
MCELOGモジュール1425は、メモリECCデーモン1458にインタラプトを伝達し、メモリECCデーモン1458にエラー情報を引き渡す。
しかし、この実施形態では、図14Aと図14Bとの間の相違点と同様に、MCELOGモジュール1425は、図14BのEDACモジュール1424と同様にMCAモジュール1426から提供される情報を受信する。
図14A〜図14Dでバッファ1462を含む「ECC DIMM」1402に対して説明したけれども、「ECC DIMM」1302を含む図13のシステム1300に対し多様な変更の適用が可能である。
メモリモジュール1500は、1つ又はそれ以上のメモリ装置1501、データインターフェイス1536、エラーインターフェイス1538、及びコントローラ1541を含む。
メモリモジュール1500は、1つ又はそれ以上のメモリ装置1501から読み出されたデータからエラー情報を生成する。
エラーインターフェイス1542は、1つ又はそれ以上のメモリ装置1501から読み出されたデータのエラー訂正に応答して生成されたエラー情報を伝送する。
例えば、データインターフェイス1536は、バッファ、ドライバ回路、終端回路、又はデータライン、ストローブライン、アドレスライン、イネーブルライン等の伝送ラインのための他の回路を含む。
エラーインターフェイス1538は、SMBus、IPMI、又はここで紹介した他のバスのような特定バスを通じて通信するインターフェイスである。
したがって、情報1542はエラー情報のみならず、他の情報も含む。
コントローラ1541は、メモリ装置1501、データインターフェイス1536、及びエラーインターフェイス1538と結合される。
コントローラ1541は、エラー情報を取得するように構成される。一実施形態で、コントローラ1541はメモリ装置1501からエラー情報を取得できるが、他の実施形態ではコントローラ1541はメモリ装置1501から読み出されたデータからエラーを訂正し、エラー情報を生成する。
例えば、先に説明したように、データストローブ信号が訂正不能エラーを示す。
コントローラ1541は、訂正不能エラーの検出に応答してデータインターフェイス1536を通して伝送されるストローブ信号を調整する。
この実施形態では、メモリモジュール1600は、図15で説明した1つ又はそれ以上のメモリ装置1501、データインターフェイス1536、エラーインターフェイス1538、及びコントローラ1541と同様な、1つ又はそれ以上のメモリ装置1601、データインターフェイス1636、SPD/RCDインターフェイス1638、及びコントローラ1641を含む。
しかし、図15のエラーインターフェイス1538は、ここではSPD/RCDインターフェイス1638に入れ替えている。
特定の実施形態では、エラー情報は上述したSPDやRCDシステム内の特定レジスターやメモリ領域を通して提供される。
したがって、エラー情報は、SPDやRCDシステムの情報を取得することと同様に取得される。
エラー情報が既存のハードウェアインターフェイスを通してアクセス可能にするので、追加的なハードウェアは不必要である。
一実施形態では、エラー情報を掲示するためのSPD/RCDシステムの新しいレジスターが定義される。他の実施形態では、エラー情報を交換するための既存のレジスターが再使用されてもよい。
この実施形態では、メモリモジュール1700は、図15で説明した1つ又はそれ以上のメモリ装置1501、データインターフェイス1536、エラーインターフェイス1538、及びコントローラ1541と同様な、1つ又はそれ以上のメモリ装置1701、データインターフェイス1736、エラーインターフェイス1738、及びコントローラ1741を含む。
しかし、メモリモジュール1700はまた訂正不可エラー(UE)インターフェイス1744を含む。
例えば、訂正不能エラーインターフェイス1744は、専用のラインであるか、或いは専用のバスとして提供される。
この実施形態では、メモリ装置1800は、データインターフェイス1836とエラーインターフェイス1838を含む。
データインターフェイス1836とエラーインターフェイス1838は、図15のデータインターフェイス1536とエラーインターフェイス1538と同様である。
しかし、本実施形態では、データインターフェイス1836とエラーインターフェイス1838とは図15のメモリモジュール1500よりはメモリ装置1800とインターフェイス(接続)される。
コントローラ1841は、メモリ1801と(データ&エラー)インターフェイス(1836、1838)と結合する所定の装置である。
例えば、コントローラ1841は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、ASIC、PLD等である。
メモリ1801はデータを格納する。
例えば、メモリ1801は、メモリセルアレイであるが、他の実施形態では、異なる方式でデータが格納され得る。メモリ1801は、電気的、磁気的、化学的、光学的方式、又は他の方式のストレージ要素を含む。
コントローラ1841は、データインターフェイス1836を通してメモリ1801に格納されるデータを受信できる。
このような伝送はデータ1840によって表示される。
コントローラ1841は、エラーインターフェイス1838を通してメモリ1801から読み出されたデータのエラー訂正演算によって生成されるエラー情報を伝送する。
エラー情報は先に説明したエラー情報の中でいずれか1つと同様である。
コントローラ1841は、エラーインターフェイス1838を通して命令語、指示、又は他の情報を受信する。
このようなエラー情報、命令語、指示、又は情報の伝送は、情報1842を通じて表示される。
しかし、他の実施形態では、コントローラ1841によって制御されるメモリ装置1800の構成によってデータ1840と情報1842とはコントローラ1841を経由しなくともよい。
例えば、一部実施形態では、データ及び/又はエラー情報は、コントローラ1841の制御にしたがってコントローラ1841を迂回してデータインターフェイス1836とエラーインターフェイス1838に提供される。
この実施形態では、メモリ装置1900は、メモリセルアレイ1901を含む。
メモリセルアレイ1901はデータが格納されるメモリセルを含む。
特に、メモリセルアレイ1901は符号化されたデータを格納する。
しかし、いずれかの実施形態では、他の読み出し及び書き込み回路がメモリセルアレイ1901に関連してもよい。
共に、たとえば、感知増幅器1902と書き込み回路1904をメモリセルアレイ1901の部分に図示しているが、このような回路はメモリセルアレイ1901と分離してもよい。
また、共に、1つのメモリセルアレイ1901を図示したが、複数のメモリセルアレイ1901が存在し得る。
ECCエンジン1908は、メモリセルアレイ1901に書き込まれるデータに対する符号化とメモリセルアレイ1901から読み出されたデータに対する復号化を通じて読み出しデータの少なくとも1つのエラーを訂正する。
特に、ECCエンジン1908は、書き込みデータ1910を受信する。
ECCエンジン1908は、アドレス1906によって指定されるメモリセルアレイ1901の位置にある書き込み回路1904によって書き込まれる書き込みデータ1910を符号化する。
このような符号化及び復号化は、ここで記述する複数のエラー訂正アルゴリズムによって遂行される。
例として、シングルエラー訂正−ダブルエラー検出(SEC−DED)がECCアルゴリズムとして使用されるが、異なる方式も使用されてもよい。
しかし、メモリ装置1900はメモリセルアレイ1901にデータを書き込むための他の信号の受信とその処理をするが、このようなものは説明を簡単にするために省略した。
さらに、アドレス1906を変更するか、或はアクセスを再調整する等の構成が存在し得るが、説明の明確性をためにこれらに対する説明も省略した。
ECCエンジン1908は、書き込みデータ1910のECCビット値を計算し、書き込み回路1904を使用してECCビットと共に符号化された元のデータ値をメモリセルアレイ1901に伝達する。
そうすると、メモリセルアレイ1901は符号化されたデータを格納する。
読み出し動作の間に、ECCエンジン1908はメモリセルアレイ1901から符号化されたデータを受信する。
即ち、感知増幅器1902と他の回路が以前に格納されたECCビットと元のデータ値を符号化されたデータに読み出すのに使用される。
ECCエンジン1908は、符号化されたデータを復号し、出力データ1924とエラー情報とを生成する。
いずれかの実施形態では、ECCエンジン1908とメモリ装置1900の出力端間に他の構成が位置する。
一実施形態では、バッファ1932が出力データ1924をバッファする。
他の実施形態では、RCDモジュールが出力データ1924を受信し、バッファし、そして出力する。
ここで、選択的な構成は、点線で図示した。
例えば、ECCエンジン1908は、訂正可能エラー(CE)フラグを生成する。
訂正可能エラーフラグは、ECCエンジン1908が“n”ビットエラーを成功裏に訂正した時に設定される。
ここで、“n”はECCエンジン1908が訂正できるビット数と同一であるか、或いは少ない数である。
ECCエンジン1908はまた訂正不可エラー(UE)フラグを生成する。
訂正不可エラーフラグは、ECCエンジン1908が訂正できるビットエラーの数より多い数のビットエラーを検出した時に設定される。
特定の実施形態では、SEC−DEDと共に提供される場合、訂正不可エラー(UE)フラグは2ビットエラーが発生したことを、訂正可能エラー(CE)フラグはシングルビットエラーが訂正されたことを示す。
ECCコントローラ1918は、ECCエンジン1908からエラー情報1914を受信する。
エラー情報1914は、エラーが存在しないか、訂正可能であるエラーであるか、訂正不可であるエラーであるか、エラーの数等に対する情報を含む。
ECCコントローラ1918は、読み出し動作と関連されたアドレス1906を受信する。
したがって、ECCコントローラ1918は、ECCエンジンからのエラー情報1914をアドレス1906と組み合わせて新しいエラー情報に生成する。
以下で具体的に説明するが、ECCコントローラ1918は、ECCエンジン1908によって符号化され、メモリセルアレイ1901に書き込まれる書き込みデータ1910を生成する。
例えば、ECCコントローラ1918は、エラー情報が格納される複数のレジスターを含む。
多様な変更されたエラー情報がECCコントローラ1918に格納される。
以下で詳細に説明するが、エラーに関連した情報を含むエラー記録がECCコントローラ1918に格納される。
例えば、エラー記録は、アドレス情報、エラー形態、メモリセルアレイ1901から読み出されたデータ、エラー修復又は他の動作の実行可否等に対する情報を含む。
例えば、通信1926はエラー情報に対する伝送を含む。
訂正可能であるエラーや訂正不可であるエラーが発生すれば、エラー情報がECCコントローラ1918によって伝送される。
このような伝送は外部装置の要請に応答するか、或はエラーが発生した時点で定期的であるようなスケジュールにしたがって、リフレッシュサイクル等と同時に発生する。
いずれかの実施形態では、メモリ装置1900は、命令語バッファ1928を含む。
命令語バッファ1928は、バスを通じてECCコントローラ1918に提供される命令語をバッファする。
ECCコントローラ1918はSPDモジュール1930と通信する。
SPDモジュール1930は、SPDインターフェイスと関連した動作を遂行する。その上に、SPDモジュール1930はECCコントローラ1918を通じてエラー情報にアクセスすることを許容する。
例えば、SPDモジュール1930を通じて受信される特定命令語がECCコントローラ1918に格納されたエラー情報にアクセスするための適切な命令語及び/又は信号に変換される。
特定の実施形態では、エラー情報1916は、訂正不可エラーが発生したことを指示する信号である。
DQS調整器1920は、もしもエラー情報1916が訂正不可エラーが発生したことを指示すれば、データストローブ信号1922がトグルされ(切り替えられ)ないようにデータストローブ信号1912を調整し、一方、エラー情報1916が訂正不可エラーが発生しないことを指示すれば、データストローブ信号1912をバイパスさせる。
例えば、DQS調整器1920は、ORゲート、ANDゲート、NANDゲート、伝送ゲート等のようなロジック回路を含む。
例えば、訂正不可エラーが発生すれば、そのエラーは現在の読み出し動作と関連したものである。
ECCコントローラ1918によって訂正不可エラーに関連した情報がSMBusのようなデータ1924の通信経路より相対的に遅い通信経路を通して外部装置に伝送される。したがって、訂正不可エラーの発生に対する情報の伝送は読み出し動作に比べると、相対的に遅延される。
一方、DQS調整器1920による訂正不可エラーの発生可否に対する通信は、読み出し動作に対応する伝送と実質的に同時に発生する。即ち、調整されたデータストローブ信号1922の出力は訂正不可であるエラーを含むデータ1924に関連したデータストローブ信号1912に該当する。
メモリ装置1900の説明のために特定の構成を例示的に使用したが、他の構成が存在し得る。例えば、メモリ装置1900は、多様なストローブ信号、選択信号、制御信号、イネーブル信号等を受信及び/又は伝送する。
この実施形態では、メモリモジュール2000は、図15のデータインターフェイス1536とエラーインターフェイス1538と同様のデータインターフェイス2036とエラーインターフェイス2038を含む。
しかし、この実施形態では、メモリモジュール2000は複数のECCメモリ装置((2001−1)〜(2001−N))を含む。ECCメモリ装置は図18又は図19で説明されたメモリ装置1800、1900のようなメモリ装置の中でいずれか1つである。
各々のメモリ装置1800はデータインターフェイス1836とエラーインターフェイス1838とに結合され、データインターフェイス2036に関しては、メモリ装置1800のデータインターフェイス1836は、データインターフェイス2036の一部を構成する。
例えば、データインターフェイス1836のデータ入出力信号(I/Os)、ストローブ信号等はデータインターフェイス2036に集積される。
データインターフェイス2036のアドレス入力信号及び/又は制御信号は、メモリ装置1800のデータインターフェイス1836に分布する。したがって、データインターフェイス2036を通じてECCメモリ装置(メモリ装置1800)とメモリモジュール2000とデータが交換される。
エラーインターフェイス1838は多様な方式で結合される。例えば、エラーインターフェイス1838とエラーインターフェイス2038はメモリモジュール2000の共通バスによって結合される。
他の実施形態では、エラーインターフェイス2038は、ECCメモリ装置((2001−1)〜(2001−N))の各々のエラーインターフェイス1838に直接結合される。
エラーインターフェイス2038は、ECCメモリ装置(メモリ装置1800)から提供されるエラー情報を累積する。したがって、エラー情報はエラーインターフェイス2038によってメモリモジュール2000からECCメモリ装置(メモリ装置1800)に伝達される。
例えば、図19のメモリ装置1900がECCメモリ装置((2001−1)〜(2001−N))として使用され得る。
図19を参照すると、各々のメモリ装置1900のアドレス1906、書き込みデータ1910、出力データ1924、データストローブ信号1922等は、データインターフェイス2036に結合される。同様に、メモリ装置1900の各々のエラーコントローラ1918はエラーインターフェイス2038と結合される。
まず、ステップS2100で、メモリ装置で読み出しエラーが発生する。
ステップS2102で、エラーを診断する。
以下で詳細に説明するが、エラーが識別されるだけでなく、エラーを修復するための訂正演算が取られる。
ステップS2104で、エラー情報を報告する。
上述したように、メモリ装置の間の通信リンク、メモリの他の構成、そしてエラー情報を交換するためのプロセッサが使用される。
ステップS2104でのエラー情報を報告する動作もこのような通信リンクを使用して行う。
この実施形態は例えば、図19のエラーコントローラ1918によってどのようにして訂正可能エラーが管理されるかを示す。
訂正可能エラー記録は、上述したように多様な互いに異なるエラーと関連した情報を含む。
ステップS2202で、データを再読み出しする。
この実施形態では、データの再読み出しに応答してエラーが発生するか否か、訂正可能であるエラーが発生するか否か、又は訂正不可能であるエラーが発生するか否か、の3つの可能性の結果が導出される。
もしも、訂正可能であるエラーが発生した場合、ステップS2208で訂正されたデータを再書き込みする。
もしも、訂正不可エラーが発生する場合、ステップS2206で訂正不可エラー記録としてエラー記録をアップデートする。
もしも、エラーが発生しなければ、エラー記録を、ソフト書き込みエラーとしてタグする。
もしも、訂正不可エラーが発生すれば、エラー記録をステップS2206で訂正不可エラーとしてアップデートする。
特定の実施形態では、この段階での訂正可能エラーは再書き込みによってエラーが修復されないことを指示する。
この時のエラーは、ハードウェア的な問題に起因するためである。
ステップS2212での、メモリセルの修復可能の可否に対する判断結果にしたがって、エラー記録に追加的な注釈が書き込まれ、修復される。
もしも、メモリセルが修復不可である場合、ステップS2216で、エラー記録を修復不可であるハードエラーとしてタグする。
したがって、先に説明した診断によって、エラーは、追加的にカテゴリー化されるか、及び/又は修復される。
例えば、ステップS2208でのデータ再書き込みの以後に、読み出し動作が実施され、同様のエラー情報が生成されてもよい。
この実施形態では、図19のECCコントローラ1918によってどのようにして訂正不可エラーが管理するのかを示す例である。
幾つかの実施形態で、訂正不可エラー(UE)記録は、図22で説明したようにステップS2206での訂正不可エラー(UE)記録のアップデート結果であってもよい。
ステップS2302で、訂正不可エラー(UE)記録と関連したデータを再読み出しする。
再読み出しの結果にしたがって異なる動作が遂行される。
もしも、エラーが発生しない場合、ステップS2304でエラー記録をソフト読み出しエラーとしてタグする。
もしも、訂正可能であるエラーが発生すれば、ステップS2308で訂正されたエラーを再書き込みする。
図22のステップS2208の再書き込み動作と同様に、動作から発生する結果は再書き込みの後にデータを再読み出しのような他のソースから来る。
もしも、訂正不可エラーが結果である場合、ステップS2306で記録を修復不可エラーとしてタグする。
もしも、エラーが発生しなければ、ステップS2310で記録をソフト読み出し及びソフト書き込みエラーとしてタグする。
もしも、結果が訂正可能エラー(CE)である場合、ステップS2312で、メモリセルが修復可能であるか否かを判断する。
もしも、メモリセルが修復不可である場合、ステップS2316で、記録をソフト読み出し及び修復不可能であるハードエラーとしてタグする。
例えば、図22で説明したソフト読み出し及びソフト書き込みエラーのような特定形態のエラーはソフトエラーとして統合される。
メモリ装置から伝送されるエラー情報を生成するための何らかの統合や、併合、又はこのような動作が発生する。その上に、メモリ装置は特定レベルの詳細な動作のために設定される。
メモリ装置によって提供されるエラー情報内にそのような動作に対する情報が含まれるように設定されることはよく理解され得るであろう。
特に、これらの動作は、読み出し動作を遮断しないように設定される。
しかし、補修間隔(maintenance interval)、リフレッシュサイクル等のような適切な動作区間が発生すれば上述したエラー記録は処理、アップデートされ、メモリセルは修復される。
例えば、図22の実施形態を参照すると、ステップS2210のメモリセルが修復可能であるか否かを決定する動作はステップS2202での再読み出しでの訂正可能エラーが発生することと、ステップS2208の再書き込み動作での訂正可能であるエラーの発生に後続して発生する。
しかし、他の実施形態では、ステップS2210のメモリセルが修復可能であるか否かを決定する動作は、ステップS2202で複数の再読み出し動作の試みとその結果が訂正可能エラーとして結論に至るのみである。
即ち、幾つかの実施形態では、エラーをカテゴリー化するための特定基準は上述したように異なり得る。
また、エラー形態を特定して指定する方式が使用したが、何らかの実施形態では、すべてのエラー形態が使用される必要はない。同様に何らかの実施形態では、他のエラー形態が使用されてもよい。
この実施形態では、ステップS2400でメモリからデータを読み出す時、読み出しエラーが発生する。
これに応答して、エラー情報を生成する。例えば、以前に訂正された読み出しエラーは訂正可能であるエラーになる。エラー情報は訂正可能エラーに対する情報である。
他の実施形態では、読み出しエラーは複数ビットのエラーであってもよい。エラー情報はこのようなエラーに対する情報であってもよい。
一実施形態では、エラー読み出し命令語は、メモリモジュールによって受信されてもよい。
もしも、エラーが発生すれば、ステップS2404でメモリはエラー情報を伝送する。
ステップS2402で、エラー読み出し命令語を受信する前に、メモリモジュールは以前に発生したエラーに対するエラー情報を格納する。
そのエラー情報は、以前のエラー読み出し命令語に応答してステップS2404で伝送されたエラー情報である。
しかし、エラーが発生しなかった場合、ステップS2404でのエラー情報の伝送はエラーが発生しなかったことを指示する情報の伝送である。
特に、メモリモジュールのメーンデータ経路ではない帯域外経路のバスであってもよい。
したがって、ステップS2404での伝送は上述したバスを通じたエラー情報の伝送を含む。
図24A及び図24Bを参照すると、図24Bの動作は、コントローラの動作に該当する。
特に、ステップS2406でエラー読み出し命令語をコントローラから提供する。
ステップS2406で伝送したエラー読み出し命令語はステップS2402で受信される。
上述したように、ステップS2404で、エラー情報を伝送する。そのエラー情報は、ステップS2408でコントローラによって受信される。
したがって、コントローラは、ステップS2406でエラー読み出し命令語を伝送し、ステップS2408でエラー情報を受信する。
上述したように、コントローラは、エラー情報を格納するために内部に不揮発性メモリのようなメモリを含む。
以後、エラー情報を、ステップS2410でプロセッサに伝達する。
エラー読み出し命令語は、ステップS2402でメモリモジュールによって受信され、エラー情報は、ステップS2410でプロセッサに伝達される。
即ち、エラー情報は、コントローラによって受信及び/又は処理される必要はない。
図25を参照すると、読み出しエラーがステップS2500で発生する。
ステップS2512でエラー読み出し命令語をコントローラに伝達する。
例えば、コントローラはプロセッサからエラー読み出し命令語を受信する。
ステップS2514で、エラー読み出し命令語をメモリモジュールに伝送する。
例えば、ステップS2514でコントローラはプロセッサで伝送されたエラー読み出し命令語を変更し、メモリモジュールに提供するために新しいエラー読み出し命令語を生成する等の動作の後にメモリモジュールに伝達する。ステップS2514で伝送したエラー読み出し命令語はステップS2502で受信し、図24AのステップS2402とステップS2404と同様にエラー情報をステップS2504で伝送する。エラー情報は上述したようにプロセッサに伝送される。
したがって、プロセッサからエラー読み出し命令語が受信されれば、コントローラはエラー情報を既に有している。
コントローラは、そのエラー情報をプロセッサに伝達する。
コントローラは、プロセッサに格納されたエラー情報を伝達する前にエラー情報のためのメモリモジュールのポーリングをする必要が無い。
この実施形態では、ステップS2600でプロセッサは読み出しエラー命令語を伝送する。
ステップS2002で、プロセッサはエラー情報を受信する。
ステップS2606で、プロセッサはエラー情報と追加的な情報とを組み合わせる。
上述したように、追加的な情報はプロセッサ、周辺回路、バス等の状態情報のようにメモリモジュールと関連しない情報を含む。
特定の実施形態では、プロセッサは、MCAモジュールから提供された情報とエラー情報とを組み合わせる。
特定の実施形態では、ステップS2608で、組み合わされた情報はEDACモジュールに提供する。
上述したように、EDACモジュールは多様なシステムのエラーに対する情報を高レベルアプリケーションプログラムが使用できるようにする。
この実施形態では、システム2700は、図1のプロセッサ104とソフトウェア110と同様にプロセッサ2704、ソフトウェア2710を含む。
しかし、この実施形態では、システム2700は、メモリ2702とエラー訂正回路2768とを含む。
メモリ2702は、エラー訂正回路2768に結合され、通信経路2772を通じてエラー訂正回路2768にデータを伝送する。
エラー訂正回路2768は、メモリ2702から受信したデータのエラーを訂正する。
エラー訂正回路2768は、第2通信経路2770と第3通信経路2708を通じてプロセッサ2704に結合される。
第2通信経路2770は、プロセッサ2704がデータを受信するためのメーン経路に該当する。例えば、第2通信経路2770はプロセッサ2104のシステムバスである。
一方、第3通信経路2708は、第2通信経路108と同様である。
即ち、第3通信経路2708はコントローラ2714を含む分離された帯域外通信経路であるか、或いは先に説明した通信経路の多様な変更であってもよい。
この実施形態では、サーバー2200は、独立型サーバー、ラックに搭載されたサーバー、ブレードサーバー等を含む。
サーバー2800は、メモリ2802、プロセッサ2804、及びBMC(Baseboard Management Controller)2814を含む。
BMC2814は、バス2816を通じてプロセッサ2804と結合され、バス2812を通じてメモリ2802と結合される。
メモリ2802、プロセッサ2804、BMC2814、通信経路2806、及びバス2812、2816各々は先に説明した対応する構成の中でいずれか1つである。
この実施形態では、サーバーシステム2900は複数のサーバー((2902−1)〜(2902−N))を含む。
サーバー((2902−1)〜(2902−N))の各々は、マネージャ2904と結合される。
1つ又はそれ以上のサーバー((2902−1)〜(2902−N))は先に説明したサーバー2900と同様である。
その上に、マネージャ2904は先に説明したメモリシステムアーキテクチャを具備するシステムを含む。
例えば、マネージャ2904は、サーバー((2902−1)〜(2902−N))の設定を管理するように構成される。サーバー((2902−1)〜(2902−N))の各々はマネージャ2904とエラー情報を交換する。
エラー情報は、上述したようにサーバー((2902−1)〜(2902−N))の中でいずれか1つのプロセッサに伝送される訂正可能エラー情報や、訂正可能エラー情報に基づいた他のエラー情報を含む。
マネージャ2904は、管理及び/又は代替のためにサーバー(2902−1)の機能をサーバー(2902−2)に引き渡し、サーバー(2302−1)をシャットダウンさせる。
特定の実施形態を提示したが、マネージャ2904は、エラー情報に基づいてその他のアクションを遂行することはよく理解され得るであろう。
この実施形態では、データセンター3000は、複数のサーバーシステム((3002−1)〜(3002−N))を含む。
サーバーシステム((3002−1)〜(3002−N))は、図28で説明されたサーバーシステム2800と同様である。
したがって、サーバーシステム3002は、多様なノード((3006−1)〜(3006−M))とネットワーク3004を通じて通信できる。
例えば、ノード((3006−1)〜(3006−M))は、クライアントコンピューターや他のサーバー、遠距離データセンター、ストレージシステム等であってもよい。
一実施形態では、エラー情報は、訂正されたエラー情報を含み、プロセッサは、第1通信経路以外の経路を通して訂正されたエラー情報を受信する。
一実施形態では、メモリは、同期式ランダムアクセスメモリモジュールである。
一実施形態では、プロセッサとメモリとに結合され、プロセッサとメモリと通信するコントローラをさらに含む。コントローラは、第2通信経路の一部である。
一実施形態では、コントローラは、ベースボード管理コントローラである。
一実施形態では、コントローラは、IPMIインターフェイスに対応するインターフェイスによってプロセッサと結合される。
一実施形態では、コントローラは、システム管理バス(SMBus)に対応するインターフェイスによってメモリに結合される。
一実施形態では、コントローラは、エラー情報を格納し、エラー情報をプロセッサから提供される要請に応答してプロセッサに提供する。
一実施形態では、プロセッサは、メモリに結合されるメモリコントローラを含み、メモリコントローラは、第1通信経路を通じてメモリに結合される。
一実施形態では、プロセッサは、メモリと結合されたメモリコントローラを含み、メモリコントローラは、メモリから読み出されたデータのエラーを訂正しない。
一実施形態では、システムは、メモリとプロセッサとを結合する第3通信経路をさらに含み、メモリは、第3通信経路を通じて訂正不能エラーを交換する。
一実施形態では、プロセッサは、メモリによって生成されるエラー情報を要請する。
一実施形態では、プロセッサは、エラー情報とメモリに関連した他の情報とを組み合わせる。
一実施形態では、他の情報は、第1通信経路を通じて受信される情報に基づく。
一実施形態では、プロセッサは、第2通信経路と結合されるインターフェイスを含み、プロセッサは、インターフェイスを通じてエラー情報を受信し、インターフェイスを通して他の情報を受信する。
一実施形態では、メモリは、直列認識システム(SPD)又はレジスタークロック駆動システムの少なくとも1つを含み、他の情報は、直列認識システム(SPD)又はレジスタークロック駆動システムの少なくともいずれか1つから受信される。
一実施形態では、メモリモジュールは、第1インターフェイスと結合されるコントローラを含み、訂正不可エラーの検出に応答して第1インターフェイスを通して伝達されるデータストローブ信号を調整する。
一実施形態では、第2インターフェイスは、訂正不可エラーの検出に応答してエラー情報を伝送する。
一実施形態では、エラー情報をコントローラからプロセッサに伝送する段階をさらに含む。
一実施形態では、エラー情報を読み出すための命令語は、第1命令語として提供され、コントローラのプロセッサからエラー情報を読み出すための第2命令語を受信する段階、及びコントローラから第2命令語に応答して第1命令語を伝送する段階をさらに含む。
一実施形態では、メモリから少なくとも1つのストローブ信号を調整して訂正不可エラーを交換する段階をさらに含む。
一実施形態では、プロセッサでメモリモジュールと関連した追加情報を生成する段階、及びプロセッサで追加情報とエラー情報とを組み合わせる段階をさらに含む。
一実施形態では、通信リンクを通じてエラー情報と他の情報とを伝送する段階を含む。
一実施形態では、他の情報は、メモリと無関係である。
一実施形態では、プロセッサは、通信リンクを通じてシステム管理情報を受信する。
一実施形態では、システム管理情報は、温度情報又は電力情報の少なくとも1つを含む。
一実施形態では、メモリは、通信リンクを通じてプロセッサとエラー情報を交換する。
一実施形態では、再読み出しされたデータが訂正不可エラーに対応する場合、エラーを訂正不可として識別する段階をさらに含む。
一実施形態では、再読み出しされたデータが訂正不可エラーに対応し、エラーが以前に訂正不可エラーであった場合、エラーを修復不能として識別する段階をさらに含む。
一実施形態では、再読み出しされたデータにエラーがない場合、エラーは、ソフト−読み出しエラーとして識別する段階をさらに含む。
一実施形態では、エラーが訂正可能エラーである場合、メモリに訂正されたデータを再書き込みする段階をさらに含む。
一実施形態では、再書き込み動作の間に訂正不可エラーが発生する場合、エラーを訂正不可エラーとして識別する段階をさらに含む。
一実施形態では、再書き込み動作の間にエラーが発生しない場合、エラーをソフト−読み出しエラーとして識別する段階をさらに含む。
一実施形態では、再書き込み動作の間に訂正可能エラーが発生する場合、メモリを修復の実行を試みる段階をさらに含む。
一実施形態では、メモリの修復の試みの結果に基づいてエラーを識別する段階をさらに含む。
一実施形態では、各々のメモリ装置において、コントローラは、訂正不可エラーに応答してデータストローブ信号を調整し、データインターフェイスは、メモリ装置からデータストローブ信号に基づいてモジュールデータストローブ信号を伝送する。
一実施形態では、コントローラは、データの再読み出しに応答してエラーを診断する。
一実施形態では、コントローラは、データの再書き込み動作に応答してエラーを診断する。
一実施形態では、コントローラは、データの再書き込みに応答してメモリを修復するか否かを決定する。
ここで、説明される本発明の他の特徴によれば、費用減少、システムの簡易化、及び性能向上の典型的なトレンドを支援することができ、サービスすることができる。
102、202、302、402、502、602、702、802、902、1002、1102、1202 メモリ
104、204、304、404、504、604、704、804、904、1004、1104、1204 プロセッサ
106、206、306、406、506、606、706、806、906、1006、1106、1206 第1通信経路
108、208、308、408、508、608、708、808、908、1008、1108、1208 第2通信経路
110、210、310、410、510、610、710、810、910、1010、1110、1210 ソフトウェア
212、216 (第1、第2)バス
214、1541、1641、1741、1841、2714 コントローラ
266、366 他の装置
254 不揮発性メモリ(NVM)
268 非メモリ装置
314 ベースボード管理コントローラ
450 メモリコントローラ(MC)
452 MCAレジスター
532 データライン
533 データストローブライン
634 第3通信経路
718、818 モジュール
824 エラー検出及び訂正(EDAC)モジュール
918、1118 第1モジュール
926、1128 第2モジュール
1018 エラー訂正(EC)モジュール
1026 MCAモジュール
1130、1230 インターフェイスモジュール
1218 訂正されたエラー(CE)モジュール
1228 SPD/RCDモジュール
1500、1600、1700 メモリモジュール
1501、1601、1701、1800 メモリ装置
1536、1636、1736、1836 データインターフェイス
1538、1738、1838 エラーインターフェイス
1541、1641、1741、1841 コントローラ
1636 SPD/RCDインターフェイス
1744 訂正不可エラー(UE)インターフェイス
Claims (13)
- メモリ装置であって、
メモリと、
前記メモリ装置からメインのメモリ経路である第1通信経路を介して前記メモリ装置の外部へデータを通信するためのデータインターフェイスと、
前記メモリ装置から前記第1通信経路から分離されているシステム制御経路である第2通信経路を介して前記メモリ装置の外部へエラー情報を通信するためのエラーインターフェイスと、
前記メモリ装置の内部にあり、前記データインターフェイス、前記エラーインターフェイス、及び前記メモリに結合されたコントローラと、を有し、
前記コントローラは、前記メモリから読み出されたデータのエラーを訂正して訂正されたデータを生成し、前記エラーを訂正することに応答してエラー情報を生成し、前記データインターフェイスを介して前記訂正されたデータを伝送し、前記エラーインターフェイスを介して前記エラー情報を伝送するエラー訂正コード(ECC)エンジンと、
前記ECCエンジンに応答してエラー情報を記録するように構成されたECCコントローラと、を含み、
前記コントローラは、訂正不可エラーの検出に応答して前記データインターフェイスを通して伝達されるデータストローブ信号を調整し、
前記訂正不可エラーを指示する信号を前記データストローブ信号と組み合わせることを特徴とするメモリ装置。 - 前記コントローラは、前記訂正不可エラーの検出に応答して、前記訂正不可エラーに関するエラー情報を前記エラーインターフェイスを介して伝送することを特徴とする請求項1に記載のメモリ装置。
- 前記第2通信経路は、前記第1通信経路に対する帯域外通信経路を含むことを特徴とする請求項1に記載のメモリ装置。
- 前記第2通信経路は、少なくとも1つ以上の多様な通信リンクであるバス(Bus)を含むことを特徴とする請求項1に記載のメモリ装置。
- 前記バスは、システム管理バス(SMBus)、I2Cバス(Inter−Integrated Circuit Bus)、IPMIバス(Intelligent Platform Management Interface Bus)、又はModbusを含むことを特徴とする請求項4に記載のメモリ装置。
- 前記第2通信経路は、前記第1通信経路よりも実質的に低速であることを特徴とする請求項1に記載のメモリ装置。
- 前記第1通信経路は第1のデータレートを含み、前記第2通信経路は第2のデータレートを含み、
前記第2のデータレートは、前記第1のデータレートの1/10以下であることを特徴とする請求項1に記載のメモリ装置。 - 前記エラーインターフェイスは、エラー情報についてのポーリング(polling)を受信することができることを特徴とする請求項1に記載のメモリ装置。
- 前記コントローラは、前記エラーインターフェイスを介してエラー情報をプッシュ(push)するようにさらに構成されることを特徴とする請求項1に記載のメモリ装置。
- メモリモジュールであって、
前記メモリモジュールからメインのメモリ経路である第1通信経路を介して前記メモリモジュールの外部へデータを通信するためのデータインターフェイスと、
前記メモリモジュールから前記データインターフェイス及び前記第1通信経路とは分離(separate)しているシステム制御経路である第2通信経路を介してメモリモジュールの外部へエラー情報を通信するためのエラーインターフェイスと、
前記メモリモジュールの内部にある複数のメモリ装置と、を有し、
前記複数のメモリ装置は、データインターフェイスとエラーインターフェイスとに各々結合され、
前記複数のメモリ装置の各々は、データを格納するメモリと、
前記データインターフェイス、前記エラーインターフェイス、及び前記メモリ装置の前記メモリと結合されるコントローラと、を含み、
前記コントローラは、メモリから読み出されたデータのエラーを訂正して訂正されたデータを生成し、前記エラーを訂正することに応答してエラー情報を生成し、前記データインターフェイスを介して前記訂正されたデータを伝送し、前記エラーインターフェイスを介して前記エラー情報を伝送するエラー訂正コード(ECC)エンジンと、
前記ECCエンジンに応答してエラー情報を記録するように構成されたECCコントローラと、を含み、
前記各々のメモリ装置の前記コントローラは、訂正不可エラーに応答してデータストローブ信号を調整するよう構成され、
前記データインターフェイスは、前記複数のメモリ装置からの複数の前記データストローブ信号に基づいてモジュールデータストローブ信号を伝送することを特徴とするメモリモジュール。 - 前記第2通信経路は、前記第1通信経路に対する帯域外通信経路を含むことを特徴とする請求項10に記載のメモリモジュール。
- 前記第2通信経路は、少なくとも1つ以上の多様な通信リンクであるバス(Bus)を含むことを特徴とする請求項10に記載のメモリモジュール。
- 前記バスは、システム管理バス(SMBus)、I2Cバス(Inter−Integrated Circuit Bus)、IPMIバス(Intelligent Platform Management Interface Bus)、又はModbusを含むことを特徴とする請求項12に記載のメモリモジュール。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462039396P | 2014-08-19 | 2014-08-19 | |
US62/039,396 | 2014-08-19 | ||
US201462057199P | 2014-09-29 | 2014-09-29 | |
US62/057,199 | 2014-09-29 | ||
US201462075231P | 2014-11-04 | 2014-11-04 | |
US62/075,231 | 2014-11-04 | ||
US14/594,049 | 2015-01-09 | ||
US14/594,049 US20160055058A1 (en) | 2014-08-19 | 2015-01-09 | Memory system architecture |
US14/678,968 | 2015-04-04 | ||
US14/678,968 US10002043B2 (en) | 2014-08-19 | 2015-04-04 | Memory devices and modules |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016045955A JP2016045955A (ja) | 2016-04-04 |
JP2016045955A5 JP2016045955A5 (ja) | 2018-09-20 |
JP6592305B2 true JP6592305B2 (ja) | 2019-10-16 |
Family
ID=55348414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015161805A Active JP6592305B2 (ja) | 2014-08-19 | 2015-08-19 | メモリ装置及びメモリモジュール |
Country Status (5)
Country | Link |
---|---|
US (1) | US10002043B2 (ja) |
JP (1) | JP6592305B2 (ja) |
KR (1) | KR102184581B1 (ja) |
CN (1) | CN105589762B (ja) |
TW (1) | TWI658464B (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126381A (zh) * | 2016-06-28 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | 一种基于linux系统的CPU故障事件收集方法及系统 |
US10725672B2 (en) | 2016-10-12 | 2020-07-28 | Samsung Electronics Co., Ltd. | Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation |
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 |
CN108664350B (zh) * | 2017-03-31 | 2021-06-22 | 群联电子股份有限公司 | 数据保护方法、存储器存储装置及存储器控制电路单元 |
KR102455880B1 (ko) | 2018-01-12 | 2022-10-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11636014B2 (en) * | 2017-10-31 | 2023-04-25 | SK Hynix Inc. | Memory system and data processing system including the same |
KR102538679B1 (ko) * | 2018-04-06 | 2023-06-02 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102623234B1 (ko) * | 2018-08-14 | 2024-01-11 | 삼성전자주식회사 | 스토리지 장치 및 그것의 동작 방법 |
CN109284214B (zh) * | 2018-08-15 | 2021-04-06 | 英业达科技有限公司 | 信息共享电路及共享内存状态的方法 |
CN109408273A (zh) * | 2018-11-13 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种消除故障内存对系统影响的方法及装置 |
US11093393B2 (en) * | 2018-12-27 | 2021-08-17 | Samsung Electronics Co., Ltd. | System and method for early DRAM page-activation |
US11307929B2 (en) | 2019-06-17 | 2022-04-19 | Micron Technology, Inc. | Memory device with status feedback for error correction |
US10789094B1 (en) | 2019-08-22 | 2020-09-29 | Micron Technology, Inc. | Hierarchical memory apparatus |
KR20210026201A (ko) * | 2019-08-29 | 2021-03-10 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 리페어 제어 방법 |
US11232049B2 (en) | 2019-12-13 | 2022-01-25 | Micron Technology, Inc. | Memory module with computation capability |
CN111143125B (zh) * | 2019-12-20 | 2022-04-22 | 浪潮电子信息产业股份有限公司 | 一种mce错误处理方法、装置及电子设备和存储介质 |
CN111459557B (zh) * | 2020-03-12 | 2023-04-07 | 烽火通信科技股份有限公司 | 一种缩短服务器开机时间的方法及系统 |
KR20210157863A (ko) * | 2020-06-22 | 2021-12-29 | 에스케이하이닉스 주식회사 | 메모리, 메모리 시스템 및 메모리의 동작 방법 |
US11630723B2 (en) * | 2021-01-12 | 2023-04-18 | Qualcomm Incorporated | Protected data streaming between memories |
CN115443451A (zh) | 2021-04-01 | 2022-12-06 | 美光科技公司 | 与由微处理器识别的存储器错误相关的信息的记录和解码 |
KR20220139199A (ko) * | 2021-04-07 | 2022-10-14 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
CN112947263A (zh) * | 2021-04-20 | 2021-06-11 | 南京云玑信息科技有限公司 | 一种基于数据采集与编码管理控制系统 |
US11726873B2 (en) | 2021-12-20 | 2023-08-15 | Micron Technology, Inc. | Handling memory errors identified by microprocessors |
TWI816561B (zh) * | 2022-09-28 | 2023-09-21 | 新唐科技股份有限公司 | 檢測裝置、檢測方法及檢測系統 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3178909B2 (ja) * | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
US6081878A (en) * | 1997-03-31 | 2000-06-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6370668B1 (en) | 1999-07-23 | 2002-04-09 | Rambus Inc | High speed memory system capable of selectively operating in non-chip-kill and chip-kill modes |
US7234099B2 (en) | 2003-04-14 | 2007-06-19 | International Business Machines Corporation | High reliability memory module with a fault tolerant address and command bus |
US20040268046A1 (en) | 2003-06-27 | 2004-12-30 | Spencer Andrew M | Nonvolatile buffered memory interface |
KR100546348B1 (ko) * | 2003-07-23 | 2006-01-26 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그 데이터 저장 방법 |
US7587658B1 (en) * | 2005-01-03 | 2009-09-08 | Sun Microsystems, Inc. | ECC encoding for uncorrectable errors |
US7468993B2 (en) * | 2005-01-14 | 2008-12-23 | International Business Machines Corporation | Dynamic reconfiguration of solid state memory device to replicate and time multiplex data over multiple data interfaces |
US8452929B2 (en) | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
US9286198B2 (en) | 2005-04-21 | 2016-03-15 | Violin Memory | Method and system for storage of data in non-volatile media |
US7523381B2 (en) * | 2005-09-01 | 2009-04-21 | Micron Technology, Inc. | Non-volatile memory with error detection |
US7810017B2 (en) * | 2006-03-20 | 2010-10-05 | Micron Technology, Inc. | Variable sector-count ECC |
JP2007287208A (ja) | 2006-04-13 | 2007-11-01 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置及びそのエラー訂正方法 |
US8352805B2 (en) * | 2006-05-18 | 2013-01-08 | Rambus Inc. | Memory error detection |
US7487428B2 (en) | 2006-07-24 | 2009-02-03 | Kingston Technology Corp. | Fully-buffered memory-module with error-correction code (ECC) controller in serializing advanced-memory buffer (AMB) that is transparent to motherboard memory controller |
JP4918824B2 (ja) * | 2006-08-18 | 2012-04-18 | 富士通株式会社 | メモリコントローラおよびメモリ制御方法 |
EP2095234B1 (en) * | 2006-11-21 | 2014-04-09 | Freescale Semiconductor, Inc. | Memory system with ecc-unit and further processing arrangement |
US7949931B2 (en) * | 2007-01-02 | 2011-05-24 | International Business Machines Corporation | Systems and methods for error detection in a memory system |
JP2008198310A (ja) * | 2007-02-15 | 2008-08-28 | Megachips Lsi Solutions Inc | ビットエラーの修復方法および情報処理装置 |
KR20080114208A (ko) * | 2007-06-27 | 2008-12-31 | 주식회사 하이닉스반도체 | 에러 정정 기능을 갖는 불휘발성 메모리 장치의 카피투프로그램방법 |
US8621138B2 (en) | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
EP2297742B1 (en) | 2008-05-16 | 2013-07-24 | Fusion-io, Inc. | Apparatus, system, and method for detecting and replacing failed data storage |
TW201013691A (en) * | 2008-09-25 | 2010-04-01 | Key Technology Corp | Error correcting code circuit |
TWI393146B (zh) * | 2008-10-15 | 2013-04-11 | Genesys Logic Inc | 具有錯誤修正碼容量設定單元之快閃記憶體控制器及其方法 |
KR100955157B1 (ko) | 2008-12-24 | 2010-04-28 | 서울대학교산학협력단 | 메모리 장치 및 메모리 장치의 관리 방법 |
KR101042197B1 (ko) * | 2008-12-30 | 2011-06-20 | (주)인디링스 | 메모리 컨트롤러 및 메모리 관리 방법 |
KR101014040B1 (ko) | 2009-03-19 | 2011-02-14 | (주)인디링스 | 디램 버퍼 관리 장치 및 방법 |
US8239629B2 (en) | 2009-03-31 | 2012-08-07 | Micron Technology, Inc. | Hierarchical memory architecture to connect mass storage devices |
US8301980B2 (en) | 2009-09-28 | 2012-10-30 | Nvidia Corporation | Error detection and correction for external DRAM |
US8443263B2 (en) | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
CA2791931A1 (en) | 2010-03-22 | 2011-09-29 | Mosaid Technologies Incorporated | Composite semiconductor memory device with error correction |
JP2012113466A (ja) * | 2010-11-24 | 2012-06-14 | Fujitsu Ltd | メモリコントローラ及び情報処理システム |
US8977944B2 (en) * | 2010-12-14 | 2015-03-10 | Cavium, Inc. | DRAM address protection |
US9317429B2 (en) | 2011-09-30 | 2016-04-19 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy over common memory channels |
JP2013109637A (ja) * | 2011-11-22 | 2013-06-06 | Renesas Electronics Corp | メモリインターフェース回路、および、そのメモリインターフェース回路の動作方法 |
KR20130086887A (ko) | 2012-01-26 | 2013-08-05 | 삼성전자주식회사 | 메모리 버퍼, 이를 포함하는 장치들 및 이의 데이터 처리 방법 |
US9697147B2 (en) | 2012-08-06 | 2017-07-04 | Advanced Micro Devices, Inc. | Stacked memory device with metadata management |
US8898544B2 (en) | 2012-12-11 | 2014-11-25 | International Business Machines Corporation | DRAM error detection, evaluation, and correction |
US9246516B2 (en) | 2012-12-20 | 2016-01-26 | Intel Corporation | Techniques for error correction of encoded data |
US9047211B2 (en) | 2013-03-15 | 2015-06-02 | SanDisk Technologies, Inc. | Managing data reliability |
US9477550B2 (en) * | 2013-10-24 | 2016-10-25 | Globalfoundries Inc. | ECC bypass using low latency CE correction with retry select signal |
US9645829B2 (en) | 2014-06-30 | 2017-05-09 | Intel Corporation | Techniques to communicate with a controller for a non-volatile dual in-line memory module |
KR102189780B1 (ko) * | 2014-08-11 | 2020-12-11 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
-
2015
- 2015-04-04 US US14/678,968 patent/US10002043B2/en active Active
- 2015-08-03 KR KR1020150109524A patent/KR102184581B1/ko active IP Right Grant
- 2015-08-18 TW TW104126772A patent/TWI658464B/zh active
- 2015-08-19 CN CN201510511311.9A patent/CN105589762B/zh active Active
- 2015-08-19 JP JP2015161805A patent/JP6592305B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN105589762A (zh) | 2016-05-18 |
JP2016045955A (ja) | 2016-04-04 |
TW201611020A (zh) | 2016-03-16 |
US10002043B2 (en) | 2018-06-19 |
KR20160022249A (ko) | 2016-02-29 |
KR102184581B1 (ko) | 2020-11-30 |
TWI658464B (zh) | 2019-05-01 |
US20160055059A1 (en) | 2016-02-25 |
CN105589762B (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6592305B2 (ja) | メモリ装置及びメモリモジュール | |
US10824499B2 (en) | Memory system architectures using a separate system control path or channel for processing error information | |
KR102378466B1 (ko) | 메모리 장치 및 모듈 | |
US7913147B2 (en) | Method and apparatus for scrubbing memory | |
CN105373443B (zh) | 具有存储器系统体系结构的数据系统和数据读取方法 | |
US10606696B2 (en) | Internally-generated data storage in spare memory locations | |
TW202223903A (zh) | 適應性內部記憶體錯誤刷洗及錯誤處置 | |
KR102262575B1 (ko) | 메모리 장치 및 모듈 | |
US10521113B2 (en) | Memory system architecture | |
KR102453866B1 (ko) | 트랜잭션 메타 데이터 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180808 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190514 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190813 |
|
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: 20190903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6592305 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 |