JP6592305B2 - メモリ装置及びメモリモジュール - Google Patents

メモリ装置及びメモリモジュール Download PDF

Info

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
Application number
JP2015161805A
Other languages
English (en)
Other versions
JP2016045955A (ja
JP2016045955A5 (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/594,049 external-priority patent/US20160055058A1/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2016045955A publication Critical patent/JP2016045955A/ja
Publication of JP2016045955A5 publication Critical patent/JP2016045955A5/ja
Application granted granted Critical
Publication of JP6592305B2 publication Critical patent/JP6592305B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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
    • 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/1076Parity 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通信経路を介して前記メモリ装置の外部へデータを通信するためのデータインターフェイスと、前記メモリ装置から前記第1通信経路から分離されているシステム制御経路である第2通信経路を介して前記メモリ装置の外部へエラー情報を通信するためのエラーインターフェイスと、前記メモリ装置の内部にあり、前記データインターフェイス、前記エラーインターフェイス、及び前記メモリに結合されたコントローラと、を有し、前記コントローラは、前記メモリから読み出されたデータのエラーを訂正して訂正されたデータを生成し、前記エラーを訂正することに応答してエラー情報を生成し、前記データインターフェイスを介して前記訂正されたデータを伝送し、前記エラーインターフェイスを介して前記エラー情報を伝送するエラー訂正コード(ECC)エンジンと、前記ECCエンジンに応答してエラー情報を記録するように構成されたECCコントローラと、を含み、前記コントローラは、訂正不可エラーの検出に応答して前記データインターフェイスを通して伝達されるデータストローブ信号を調整し、前記訂正不可エラーを指示する信号を前記データストローブ信号と組み合わせることを特徴とする。
上記目的を達成するためになされた本発明によるメモリモジュールは、前記メモリモジュールからメインのメモリ経路である第1通信経路を介して前記メモリモジュールの外部へデータを通信するためのデータインターフェイスと、前記メモリモジュールから前記データインターフェイス及び前記第1通信経路とは分離(separate)しているシステム制御経路である第2通信経路を介してメモリモジュールの外部へエラー情報を通信するためのエラーインターフェイスと、前記メモリモジュールの内部にある複数のメモリ装置と、を有し、前記複数のメモリ装置は、データインターフェイスとエラーインターフェイスとに各々結合され、前記複数のメモリ装置の各々は、データを格納するメモリと、前記データインターフェイス、前記エラーインターフェイス、及び前記メモリ装置の前記メモリと結合されるコントローラと、を含み、前記コントローラは、メモリから読み出されたデータのエラーを訂正して訂正されたデータを生成し、前記エラーを訂正することに応答してエラー情報を生成し、前記データインターフェイスを介して前記訂正されたデータを伝送し、前記エラーインターフェイスを介して前記エラー情報を伝送するエラー訂正コード(ECC)エンジンと、前記ECCエンジンに応答してエラー情報を記録するように構成されたECCコントローラと、を含み、前記各々のメモリ装置の前記コントローラは、訂正不可エラーに応答してデータストローブ信号を調整するよう構成され、前記データインターフェイスは、前記複数のメモリ装置からの複数の前記データストローブ信号に基づいてモジュールデータストローブ信号を伝送することを特徴とする。

本発明に係るメモリ装置及びメモリモジュールによれば、エラー訂正を遂行することを具現するのに必要である費用が低く、消費電力も減らすことができるメモリシステムを構成することができる。
本発明の一実施形態に係るメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。 本発明の一実施形態に係るコントローラを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の一実施形態に係るベースボード管理コントローラを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の一実施形態に係るプロセッサベースのエラー訂正を遂行しないメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の一実施形態に係る汚染(poisoned)されたデータストローブ信号を含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の一実施形態に係る分離された訂正不能エラー信号を有するメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。 本発明の一実施形態に係るソフトウェアモジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の一実施形態に係るエラー検出及び訂正モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の一実施形態に係る集計モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の一実施形態に係るメモリコントロールアーキテクチャモジュールから提供される情報を集計するエラー訂正モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の一実施形態に係る1つのインターフェイスを共有する複数のモジュールを有するメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。 本発明の一実施形態に係るインターフェイスを共有する訂正可能なエラーモジュール及び直列認識素子(PSD)/レジスタークロックドライバ(RCD)モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の一実施形態に係るDRAM内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の実施形態に係るモジュール内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の実施形態に係るモジュール内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の実施形態に係るモジュール内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の実施形態に係るモジュール内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の一実施形態に係るメモリモジュールを示す概略ブロック図である。 本発明の一実施形態に係るSPD又はRCDインターフェイスを有するメモリモジュールを示す概略ブロック図である。 本発明の一実施形態に係る分離された訂正不可エラーインターフェイスを有するメモリモジュールを示す概略ブロック図である。 本発明の一実施形態に係るメモリ装置を示す概略ブロック図である。 本発明の他の実施形態に係るメモリ装置を示す概略ブロック図である。 本発明の実施形態に係るメモリ装置を含むメモリモジュールを示す概略ブロック図である。 本発明によるエラー情報を伝達する技術を説明するためのフローチャートである。 本発明によるエラー管理技術を説明するためのフローチャートである。 本発明の他の実施形態に係るエラー管理技術を説明するためのフローチャートである。 本発明の一実施形態に係るエラー情報を伝達するための技術を説明するためのフローチャートである。 本発明の他の実施形態に係るエラー情報を伝達するための技術を説明するためのフローチャートである。 本発明のさらに他の実施形態に係るエラー情報を伝達する技術を説明するためのフローチャートである。 本発明のその他の実施形態に係るエラー情報を交換する方法を説明するためのフローチャートである。 本発明の一実施形態に係るメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。 本発明の一実施形態に係るサーバーを示す概略ブロック図である。 本発明の一実施形態に係るサーバーシステムを示す概略ブロック図である。 本発明の一実施形態に係るデータセンターを示す概略ブロック図である。
次に、本発明に係るメモリ装置及びメモリモジュールを実施するための形態の具体例を図面を参照しながら説明する。
本発明はメモリシステムアーキテクチャに関する。以下の説明はこの分野で熟練された者によって製作され、使用される程度に開示する。したがって、本発明は多様な変更を加えることができ、様々な形態を有することができるので、特定実施形態を図面に例示し、本文で詳細に説明する。例示される実施形態は特定な実施を提供するための方法とシステムとについて説明される。
しかし、このような方法とシステムとは他の実施形態でも効果的に動作する。“例示的な実施形態”や“一実施形態”、及び“他の実施形態”が同一又は他の実施形態のみならず、多様な実施形態を参照する。この実施形態は特定構成を含むシステム及び/又は装置として表現することができる。しかし、本発明の実施形態に係るシステム及び/又は装置はさらに少ない構成を図示した構成よりさらに少ない数の構成を含んでもよく、配列の変更や構成の種類の変更が本発明の範囲を逸脱しない限度内で行われる。本発明の例示的な実施形態は特定段階を含む方法として説明する。しかし、そのような方法とシステム動作とは本発明の実施形態と矛盾されない及び/又は他の順序を有する追加的なステップを有する方法でも効果的に動作することができる。したがって、本発明の概念を適用した実施形態は図示した例のみに制限されないものとして理解しなければならない。
図1は、本発明の一実施形態に係るメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。
図1を参照すると、システム100はプロセッサ104に結合されるメモリ102を含む。
メモリ102はデータを格納する。メモリ102からデータが読み出されれば、メモリ102はデータにエラーが存在する場合、エラーを訂正する。
例えば、メモリ102は1ビットエラーを訂正する。
メモリ102は2ビットエラーを検出する。
たとえば、例示のために特定ビット数のエラーが訂正されることと説明するが、メモリ102は特定ビット数のエラーを訂正するか、或いは検出することができる。
その上に、たとえ1ビット以上のエラー訂正技術で1ビットエラー訂正及び/又は2ビットエラーが検出されても、メモリ102は少なくとも1つのエラーを訂正することができる任意のエラー訂正技術を遂行する。
メモリ102はデータを格納するための装置を含む。
特定例において、メモリ102はDRAMモジュールである。
メモリ102は、DDR、DDR2、DDR3、DDR4、又はそのような多様な標準にしたがう二重データ率同期式DRAM(DDR SDRAM)であってもよい。
他の実施形態で、メモリ102はSRAM、不揮発性メモリ、又はこのようなものと類似なものを含んでもよい。
メモリ102は、格納データのエラーを訂正するか、或いは訂正の試みに応答してエラー情報を生成する。
例えば、エラー情報は訂正されたエラー、訂正されないエラー、エラーの不在、又はそのようなエラーの数に対する情報を含む。
エラー情報は、実質的なエラー、エラーのアドレス、エラーが発生した回数、又はメモリ102に関連した他の特定情報を含む。
特定な例で、エラー情報はメモリ102が訂正した1ビットエラーを含む。たとえば、エラー情報が特定な例のみに対して説明するが、エラー情報はエラーと関連した何らかの情報でもさらに含み得る。
プロセッサ104は、メモリ102に結合される装置に提供され、命令語を実行する。
例えば、プロセッサ104は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、グラフィックプロセシングユニット(GPU)、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)等であってもよい。
プロセッサ104は、第1通信経路106と第2通信経路108とを通してメモリ102に結合される。
プロセッサ104は、第1通信経路106を通してメモリ102からデータを受信する。
例えば、第1通信経路106は、データ信号、ストローブ信号、クロック信号、イネーブル信号等のような信号を伝達するための信号ラインを有するシステムメモリインターフェイスである。
このように、第1通信経路106はプロセッサ104とメモリ102との間でインターフェイシングを遂行するメーンメモリチャンネルの一部である。
プロセッサ104は、メモリ102と異なる通信経路、即ち、第2通信経路108を通しても結合される。
プロセッサ104は、第2通信経路108を通じてメモリ102からエラー情報を受信する。
一実施形態では、プロセッサ104は第1通信経路106ではない他の通信経路を通じて訂正されたエラー情報を受信してもよい。
訂正されたエラー情報は訂正されたエラーと関連した情報である。
先に説明したように、エラー情報は多様な形態のエラーと関連した情報を含む。
訂正されたエラー情報は訂正されたエラーと関連した情報形態と同様に提供される。
ソフトウェア110は、プロセッサ104に結合されることと説明したが、ソフトウェア110はプロセッサ104で実行される多様なプログラム、ドライバ、モジュール、ルーチンを示す。
例えば、ソフトウェア110は、ドライバ、カーネルモジュール、デーモン(daemon)、アプリケーションプログラム等を含む。
実施形態によっては、ソフトウェア110は以下で説明する特定機能をプロセッサ104で遂行できるようにする。
たとえば、1つのメモリ102を例示的に説明したが、第1、第2通信経路106、108と類似した2つの通信経路を通して任意の数のメモリ102がプロセッサ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を通じて遂行される。
図2は、本発明の一実施形態に係るコントローラを含むメモリシステムアーキテクチャのシステムを示す概略ブロック図である。
この実施形態で、システム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は、メモリ202とプロセッサ204とを結合する任意の装置である。
例えば、コントローラ214は、汎用プロセッサ、DSP(Digital signal processor)、ASIC(Application specific integrated circuit)、PLD(Programmable logic device)等を含む。
第1、第2バス(212、216)は多様な通信リンクである。
例えば、第1、第2バス(212、216)は、システム管理バス(System Management Bus:SMBus)、ICバス(inter−integrated circuit)、IPMIバス(intelligent platform management interface)、Modbus等を含む。
特定の実施形態で、第2通信経路208の一部は第1通信経路206より実質的に低速に動作する。
例えば、メモリ202とプロセッサ204との間の第1通信経路206のデータ率は10GB/s以上の伝送速度を有するように設計するが、第2通信経路208は10Mbit/s、100kbit/sのような低い伝送速度を有するようにする。
したがって、一部の実施形態で、第2通信経路208に対する第1通信経路206の伝送速度比率は約100や1000、又はそれ以上になってもよい。
一実施形態では、第2通信経路208は通信専用として使用される。
即ち、第2通信経路208はメモリ202とプロセッサ204との間で情報の通信用のみに使用される。
しかし、他の実施形態ではコントローラ214は他の装置が結合することを許容する。
例えば、非メモリ装置268がバス212によってコントローラ214に結合されてもよい。
また他の実施形態で、他の装置266がコントローラ214に結合されてもよい。
したがって、メモリ202から提供されない情報はプロセッサ204及び/又はメモリ202にバス212及び/又はバス216によって伝達される。
特に、メモリ202から提供されるエラー情報は非メモリの用途を含む他の目的に使用される第2通信経路208を通じてプロセッサ204に伝達される。
一実施形態では、コントローラ214は不揮発性メモリ(NVM)254を含む。不揮発性メモリ254はメモリ202から提供されるエラー情報を格納する。
したがって、エラー情報は電源が遮断されでもコントローラ214に保存される。
プロセッサ204はコントローラ214にエラー情報を要請する。
したがって、コントローラ214は、不揮発性メモリ254に格納されたエラー情報を提供することによって、そのような要請に応答し、プロセッサ204の要請にしたがってエラー情報を読み出す(retrieve)ためにメモリ202にアクセスする。
一実施形態では、コントローラ214はエラー情報を取得するためにメモリ202に対するポーリング(polling)を遂行する。
他の実施形態では、メモリ202はコントローラ214にエラー情報をプッシュすることもある。
不揮発性メモリ254に格納されたエラー情報は実質的に最新の情報にアップデートされる。
図3は、本発明の一実施形態に係るベースボード管理コントローラ(BMC)を含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム300は、図2のメモリ202、プロセッサ204、第1、第2通信経路206、208、及びソフトウェア210と同様なメモリ302、プロセッサ304、第1、第2通信経路306、308、及びソフトウェア310を含む。
しかし、コントローラは、ベースボード管理コントローラ314(Baseboard Management Controller:以下、BMC)で提供される。
ベースボード管理コントローラ314はシステム300を管理する。
例えば、ベースボード管理コントローラ314は、プロセッサ304、メモリ302、他の装置366等のセンサーを含むシステム300の多様なセンサーと結合される。
ベースボード管理コントローラ314は、温度、クーリング状態、電力状態等の多様なシステムパラメーターを収集し、報告する。
ベースボード管理コントローラ314は、システム300を管理し、標準にしたがって情報へのアクセスを可能にする。
管理情報は、プロセッサ304やソフトウェア310によって生成される。
又は、ベースボード管理コントローラ314は、帯域外通信経路のようなその他の通信経路を通して情報を利用できるようにする。ここで、帯域外通信経路はプロセッサ304を含まない任意の通信経路を含む。
図4は、本発明の一実施形態に係るプロセッサベースのエラー訂正を遂行しないメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態で、システム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に集積される。
メモリコントローラ450はプロセッサ404とメモリ402との間のメーンインターフェイスに該当するメーンメモリチャンネルの一部である。
メモリコントローラ450は第1通信経路406を通したメモリ402へのアクセスを制御する。
実施形態よっては、メモリコントローラ450はメモリ402で遂行されるエラー訂正演算によって訂正される機会を有しないエラーを訂正する。
しかし、この実施形態ではメモリコントローラ450はメモリ402から読み出されたデータに対するエラー訂正は遂行しない。
メモリコントローラ450はメモリ402から読み出されたデータに基づいた何らかのエラー情報も報告しない。
MCAレジスター452は、ハードウェアエラーが報告されるレジスターである。
例えば、キャッシュエラー、バスエラー、データエラー等のようなエラーが検出され、MCAレジスター452に報告される。
しかし、メモリコントローラ450がメモリ402から読み出されたデータのエラーを訂正しないので、メモリ402から読み出されたデータに基づいた潜在的なエラー情報はMCAレジスター452に記録されない。
上述したことにも関わらず、エラー情報は第2通信経路408を通してプロセッサ404に伝達される。
このようにして、エラー情報はメモリコントローラ450とMCAレジスター452とが訂正しなくとも、ソフトウェア410によってアクセス可能である。
一実施形態では、低費用のシステム400の設計のためにエラー情報の伝送は第2通信経路408を通して遂行されてもよい。
例えば、エラー訂正が使用されないメモリコントローラ450がプロセッサ404に含まれ、エラー情報にアクセス可能に設計されてもよい。
特に、メモリのエラー訂正が要求されても、第2通信経路408を通じてアクセス可能であるエラー情報が存在するので、メモリエラー訂正機能が無いプロセッサ404が使用される。
したがって、エラー情報を使用する任意のソフトウェアを含むソフトウェア410は、プロセッサ404がメモリエラー訂正を遂行するよう動作する。
エラー訂正機能が無いプロセッサ404は低費用、低消費電力で具現することができる。したがって、システム400に所望される諸般消耗電力と費用とを減少させることができる。
たとえば、メモリコントローラ450がプロセッサ404に集積されることとして説明したが、メモリコントローラ450はプロセッサ404と分離してもよい。
第2通信経路408がメモリコントローラ450及びプロセッサ404の他の部分をバイパスするが、他のエラー訂正回路を有する。
このような第2通信経路408を通したエラー情報のバイパス方式は、メモリコントローラ450、MCAレジスター452等の特性に独立的なエラー情報の通信が可能にする。
即ち、類似する情報がメモリコントローラ450及び/又はMCAレジスター452にはアクセスできないが、エラー情報はアクセス可能である。
図5は、本発明の一実施形態に係る汚染(poisoned)されたデータストローブ信号を含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム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を通じて伝達される信号によって訂正不可であるエラー情報を伝達する。
即ち、正常的なデータ伝送の時、データが伝送されることによって、データストローブライン533を通して伝達されるデータストローブ信号が切り替えられる(toggle)。しかし、メモリ502が訂正不能エラーを検出した場合、メモリ502は正常的なデータ伝送の時のデータストローブ信号とは異なるデータストローブ信号を生成してデータストローブライン533を通して伝送する。
特定の実施形態では、メモリ502はデータストローブライン533を通して伝達されるデータストローブ信号を切り替えなくともよい。
このような条件が検出されれば、プロセッサ504はソフトウェア510によって管理されるハードウェア例外条件を生成する。
たとえば、訂正不可であるエラーを伝達するための技術の例として第1通信経路506の内部に信号及びラインが使用したが、他の信号やラインがプロセッサ504に訂正不可であるエラーを伝達するために使用されることは良く理解できる。
伝達される方式に拘わらず、プロセッサ504は、システム500の中止や他のアクションを遂行する等によって訂正不能エラーの伝達に応答する。
図6は、本発明の一実施形態に係る分離された訂正不能エラー信号を有するメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。
この実施形態では、システム600は、図1のメモリ102、プロセッサ104、第1、第2通信経路106、108、そしてソフトウェア110と同様の、メモリ602、プロセッサ604、第1、第2通信経路606、608、そしてソフトウェア610を含む。
しかし、この実施形態では、分離された第3通信経路634がメモリ602とプロセッサ604との間を結合する。
図5のシステム500と同様に、訂正不可エラー情報がプロセッサ604に伝達される。
この実施形態では、メモリ602は第3通信経路634を通じて訂正不可エラー情報を伝達する。
例えば、第3通信経路634は、第1通信経路606とは分離されてエラー情報のみを伝達する。
したがって、訂正不能エラーに対応するエラー情報は、第1及び第2通信経路606、608ではない通信経路を通じてプロセッサ604に受信される。
図7は、本発明の一実施形態に係るソフトウェアモジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム700は、図1のメモリ102、プロセッサ104、第1、第2通信経路106、108、そしてソフトウェア110と同様な、メモリ702、プロセッサ704、第1、第2通信経路706、708、そしてソフトウェア710を含む。
しかし、この実施形態では、ソフトウェア710はモジュール718を含む。
モジュール718は、プロセッサ704を通してエラー情報にアクセスするソフトウェア710の一部を示す。
例えば、モジュール718は、カーネルモジュール、ドライバ、拡張モジュールを含む。
モジュール718は、第2通信経路708と関連したインターフェイスを駆動するためのドライバを含む。
特定の実施形態では、モジュール718は、IPMIバス、IPMI2バス等と関連したドライバを含む。
情報(他の情報)720は、ソフトウェア710によってアクセスされてもよい。
情報(エラー情報)722にはエラー情報722と関連したソフトウェア710の部分が記述されている。
一実施形態では、モジュール718は、プロセッサ704がメモリ702にエラー情報を要請するようにする。
例えば、メモリ702はエラー情報を生成する。
次に、プロセッサ704は第2通信経路708を通してエラー情報の要請を伝送する。
メモリ702は、第2通信経路708を通して伝達されるエラー情報に対する要請に応答する。
図8は、本発明の一実施形態に係るエラー検出及び訂正モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム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は、メモリ、キャッシュ、入出力装置、周辺装置、バス、及び/又はシステム800の他の部分から提供されるエラー情報を管理することができ、アプリケーションレイヤーのような高機能レイヤーにそのような情報を露出(expose)させることができる。
特に、エラー検出及び訂正モジュール824は、モジュール818からエラー情報を受信する。
エラー検出及び訂正モジュール824は、エラー情報と他の情報とを組み合わせて、他のモジュール、アプリケーション等がエラー情報にアクセス可能にする。
図9は、本発明の一実施形態に係る集計モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム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を含む。
第2モジュール926は、情報920を受信する。
特に、この情報920はメモリ902と関連がない情報を含む。
情報920の一部の情報921は、第1モジュール918によって受信される。
第1モジュール918は第2モジュール926から提供される情報の一部(921)や全部(920)と情報(エラー情報)922とを組み合わせる。
第1モジュール918は、単一インターフェイスに組み合わされた情報を提供する。
例えば、第1モジュール918は、図8のエラー検出及び訂正モジュール824のようなエラー検出及び訂正モジュールに組み合わされた情報を提供する。
図10は、本発明の一実施形態に係るメモリコントロールアーキテクチャモジュールから提供される情報を集計するエラー訂正モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム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である。
MCAモジュール1026は、図4のMCAレジスター452のようなMCAレジスターのアクセスを制御する。
情報1020はMCAレジスター452から提供される情報を示す。
エラー訂正(EC)モジュール1018は、情報1020を読み出すためにMCAモジュール1026にアクセスする。
エラー訂正(EC)モジュール1018は、MCAモジュール1026から提供される情報1020と組み合わせ、組み合わされた情報を単一インターフェイスに提供する。
特に、エラー訂正(EC)モジュール1018は、プロセッサ1004がエラーを訂正するようにするMCAモジュール1026が類似であるか、或いは同一の方式にインターフェイスを提供する。
例えば、プロセッサ1004がメモリ1002から読み出されるデータのエラーを訂正し、そのような情報がアクセス可能である場合、MCAモジュール1026によってもその情報はアクセス可能になる。
しかし、プロセッサ1004がメモリ1002から読み出されるデータのエラーを訂正しないように構成されるか、或いはプロセッサ1004がエラーは訂正するが、メモリ1002でエラーが訂正されることによって、MCAモジュール1026によってモニターリングされる通信経路を通じてエラー情報を受信しない場合、MCAモジュール1026はエラー情報を提供することができない。
エラー訂正(EC)モジュール1018が第2通信経路1008を通じて取得した情報1020と情報1022とを組み合わせ、MCAモジュール1026が提供してプロセッサ1004によってメモリ1002から読み出されたデータのエラーを訂正するようにした情報やMCAモジュール1026によってアクセス可能であった情報と類似であるか、或いは同一の組み合わされた情報を提供する。
ソフトウェア1010は、プロセッサ1004がエラー訂正機能を提供するか否かに関係なく、インターフェイスを使用する。
言い換えれば、エラー訂正機能を有するプロセッサ1004はエラー情報に依存的なソフトウェアの諸般動作のために必須的なことではない。
結果的に、エラー訂正機能が無いプロセッサ1004によって費用節減が可能である。
図11は、本発明の一実施形態に係る1つのインターフェイスを共有する複数のモジュールを有するメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。
この実施形態では、システム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は、図7のモジュール718と同様である。
しかし、第1モジュール1118は、インターフェイスモジュール1130を通してメモリ1102からエラー情報を受信する。
インターフェイスモジュール1130は、第2通信経路1108にインターフェイスを提供するためのモジュールである。
例えば、インターフェイスモジュール1130はIPMIバスを経由してアクセスを許容するモジュールである。
第2モジュール1128のような他のモジュールもインターフェイスモジュール1130を通して通信を遂行する。
例えば、第2モジュール1128は、IPMIバスに接続されるその他の装置にアクセスするか、或いは熱情報や電力情報のようなメモリ1102の他の部分にアクセスする。
エラー情報や他の情報の両方はインターフェイスモジュール1130によって伝達される情報1122の一部分である。
言い換えれば、エラー情報は、関連又は非関連した情報やソースを共有するモジュール、インターフェイス、バス等のすべての経路専用のソフトウェアを使用して伝送される。
図12は、本発明の一実施形態に係るインターフェイスを共有する訂正可能なエラーモジュール及び直列認識素子(PSD)/レジスタークロックドライバ(RCD)モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム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は、直列認識検出システム及び/又はレジスタークロックドライバシステムに関連した情報にアクセスする。
SPD/RCDモジュール1228は、1つ又は全てのシステムにアクセスするように構成される。
情報は、第2通信経路1208を通じてアクセスされる。
したがって、一実施形態でメモリ1202から提供されるエラー情報は、SPD/RCDに関連した情報として第2通信経路1208を通じてアクセスされる。
図13は、本発明の一実施形態に係るDRAM内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム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はデータを格納し、格納されたデータに対するエラー訂正を遂行する。
この実施形態では、「ECC DIMM」1302は対応する通信経路1364を通じてプロセッサ1304のメモリコントローラ1350に結合される。
通信経路1364は、図5の第1通信経路506と同様な、データ信号とデータストローブ信号とを伝達するためのラインを含む。
「ECC DIMM」1302は、図3のバス312、BMC314、及びバス316と同様なバス1312、BMC1314、バス1316を含む第2通信経路1308を通してプロセッサ1304に結合される。
一実施形態では、「ECC DIMM」1302は、「ECC DIMM」1302から読み出されるデータから1つ又はそれ以上のエラーを訂正する。
エラー訂正技術は、シングルエラー訂正−ダブルエラー検出(SEC−DEC)技術、シングルチップチップキル技術(single−chip chipkill technique)、ダブルチップチップキル技術等である。
何らかのエラー訂正技術であってもよい。
この実施形態では、メモリコントローラ1350は、エラー訂正を遂行しないように設定されるか、或いは選択的に「ECC DIMM」1302からエラー情報を受信しない。
「ECC DIMM」1302を経由するデータは既にエラーが訂正されたもので、メモリコントローラ1350は訂正可能であるエラーを指示する何らかの情報も受けない。
しかし、エラー情報、特に、訂正されたエラー情報は、バス1312、1316、及びBMC1314のような第2通信経路1308を通してプロセッサ1304に伝達される。
一実施形態では、プロセッサ1304は、エラー訂正が不可であるが、バス1316と結合されるためのインターフェイスを有するプロセッサである。
しかし、プロセッサ1304がカーネル1310、特に、エラー訂正(EC)モジュール1318によって一度設定されれば、全体のシステム1300はエラー訂正機能を有するプロセッサを含むシステムと同様にエラー訂正演算を遂行する。
一実施形態では、エラー訂正(EC)モジュール1318は、エラー訂正インターフェイスを有する仮想メモリコントローラを生成する。
例えば、上述したように、エラー訂正(EC)モジュール1318は、MCAモジュール1326から情報を受けるように設定される。
この時、情報はエラー訂正インターフェイスを有する実際のメモリコントローラが提供する一部又はすべてのエラー情報を含まない情報である。
エラー訂正(EC)モジュール1318は、メモリコントローラのECCインターフェイスから期待される情報の完成セットを生成するためのエラー情報をMCAモジュール1326からの情報で補完する。
結果的に、エラー検出及び訂正(以下、EDAC)モジュール1324、メモリECCデーモン1358、他のアプリケーションプログラム1360等は、エラー訂正を遂行するために使用されるプロセッサで変更無しで使用される。
例えば、EDACモジュール1324は、メモリECC情報をためにECモジュール1318をポーリングするように構成される。
返報として、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は、訂正されたデータをプロセッサ1304に伝達する。
しかし、訂正されたデータは「ECC DIMM」1302とメモリコントローラ1350との間で破損(corrupted)される。
したがって、「ECC DIMM」1302とプロセッサ1304又はメモリコントローラ1350との間で何らかの形のエラー訂正が遂行される。
例えば、「ECC DIMM」1302から伝達されるデータは、通信リンク1364上で発生するエラー検出の代わりにエラー訂正コードによるエンコーディングによって処理される。
このようなエラー訂正によって、「ECC DIMM1302」の格納要素(storage element)からプロセッサ1304に伝達される全体経路がエラーから保護される。
図14A〜図14Dは、本発明の実施形態に係るモジュール内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
図14Aを参照すると、システム1400は、図13のシステムと同様な構成を含むが、この実施形態では、「ECC DIMM」1402はバッファ1462を含む。
バッファ1462は、「ECC DIMM」1402から読み出されるデータに含まれるエラーを訂正する。
特に、「ECC DIMM」1402のDRAMのような内部メモリ装置から非訂正データが読み出される。
バッファ1462は、非訂正データのエラーを訂正し、他のメモリで説明したのと同様にエラー情報を生成する。
上述したエラー情報は、第2通信経路1408を通じて伝達され、先に説明した方法によって使用される。
即ち、エラー情報は生成された方式に関わらず、上述した多様な方法によって使用される。
図14Bを参照すると、システム1400の構成は、図14Aのそれらと同様である。
しかし、この実施形態では、EDACモジュール1424はMCAモジュール1426と情報を交換する。
例えば、EDACモジュール1424は、ハードウェア関連情報、訂正不能エラー情報、又はMCAモジュール1426によって使用される情報を取得するためにMCAモジュール1426をポーリングする。
EDACモジュール1424は、MCAモジュール1426から提供される情報とエラー訂正(EC)モジュール1418から伝達される情報とを組み合わせる。
図14Cを参照すれば、システム1400の構成は、図14Aのそれらと同様である。
しかし、この実施形態では、MCELOGモジュール1425は、エラー訂正モジュール1418から提供される情報を受信する。
MCELOG(Machine Check Events LOG)モジュール1425は、メモリエラー、データ伝送エラー等のような多様なシステムエラーと関連されたマシンチェックイベント(MCEs)を記録する。
MCELOGモジュール1425は、メモリECCデーモン1458にインタラプトを伝達し、メモリECCデーモン1458にエラー情報を引き渡す。
図14Dを参照すると、システム1400の構成は、図14Cのそれらと同様である。
しかし、この実施形態では、図14Aと図14Bとの間の相違点と同様に、MCELOGモジュール1425は、図14BのEDACモジュール1424と同様にMCAモジュール1426から提供される情報を受信する。
図14A〜図14Dでバッファ1462を含む「ECC DIMM」1402に対して説明したけれども、「ECC DIMM」1302を含む図13のシステム1300に対し多様な変更の適用が可能である。
図15は、本発明の一実施形態に係るメモリモジュールを示す概略ブロック図である。
メモリモジュール1500は、1つ又はそれ以上のメモリ装置1501、データインターフェイス1536、エラーインターフェイス1538、及びコントローラ1541を含む。
データインターフェイス1536は、メモリ装置1501に格納されたデータ1540を伝送し、受信する。
メモリモジュール1500は、1つ又はそれ以上のメモリ装置1501から読み出されたデータからエラー情報を生成する。
エラーインターフェイス1542は、1つ又はそれ以上のメモリ装置1501から読み出されたデータのエラー訂正に応答して生成されたエラー情報を伝送する。
データインターフェイス1536は、メモリ装置1501に格納されたデータが伝送される経路を提供し、メモリ装置1501に格納されるデータ1540の受信経路を提供する。
例えば、データインターフェイス1536は、バッファ、ドライバ回路、終端回路、又はデータライン、ストローブライン、アドレスライン、イネーブルライン等の伝送ラインのための他の回路を含む。
エラーインターフェイス1538は、SMBus、IPMI、又はここで紹介した他のバスのような特定バスを通じて通信するインターフェイスである。
一実施形態では、エラーインターフェイス1538は、メモリモジュール1500が他の情報と共にエラー情報を交換するための既存のインターフェイスであってもよい。
したがって、情報1542はエラー情報のみならず、他の情報も含む。
コントローラ1541は、メモリ装置1501、データインターフェイス1536、及びエラーインターフェイス1538と結合される。
コントローラ1541は、エラー情報を取得するように構成される。一実施形態で、コントローラ1541はメモリ装置1501からエラー情報を取得できるが、他の実施形態ではコントローラ1541はメモリ装置1501から読み出されたデータからエラーを訂正し、エラー情報を生成する。
一実施形態では、コントローラ1541は、データインターフェイス1536を通して訂正不可エラーを伝送する。
例えば、先に説明したように、データストローブ信号が訂正不能エラーを示す。
コントローラ1541は、訂正不能エラーの検出に応答してデータインターフェイス1536を通して伝送されるストローブ信号を調整する。
図16は、本発明の一実施形態に係るSPD又はRCDインターフェイスを有するメモリモジュールを示す概略ブロック図である。
この実施形態では、メモリモジュール1600は、図15で説明した1つ又はそれ以上のメモリ装置1501、データインターフェイス1536、エラーインターフェイス1538、及びコントローラ1541と同様な、1つ又はそれ以上のメモリ装置1601、データインターフェイス1636、SPD/RCDインターフェイス1638、及びコントローラ1641を含む。
しかし、図15のエラーインターフェイス1538は、ここではSPD/RCDインターフェイス1638に入れ替えている。
SPD/RCDインターフェイス1638は、直列素子認識(SPD)システムやRCDシステムにアクセスを提供するために使用される。
特定の実施形態では、エラー情報は上述したSPDやRCDシステム内の特定レジスターやメモリ領域を通して提供される。
したがって、エラー情報は、SPDやRCDシステムの情報を取得することと同様に取得される。
エラー情報が既存のハードウェアインターフェイスを通してアクセス可能にするので、追加的なハードウェアは不必要である。
例えば、エラー情報へのアクセスを目的にSPD/RCDインターフェイス1638を通して受信される命令語は、アドレス、レジスターアドレス、又はSPD/RCDシステムによって使用されないフィールド等において他の命令語と区別される。
一実施形態では、エラー情報を掲示するためのSPD/RCDシステムの新しいレジスターが定義される。他の実施形態では、エラー情報を交換するための既存のレジスターが再使用されてもよい。
図17は、本発明の一実施形態に係る分離された訂正不能エラーインターフェイスを有するメモリモジュールを示す概略ブロック図である。
この実施形態では、メモリモジュール1700は、図15で説明した1つ又はそれ以上のメモリ装置1501、データインターフェイス1536、エラーインターフェイス1538、及びコントローラ1541と同様な、1つ又はそれ以上のメモリ装置1701、データインターフェイス1736、エラーインターフェイス1738、及びコントローラ1741を含む。
しかし、メモリモジュール1700はまた訂正不可エラー(UE)インターフェイス1744を含む。
訂正不可エラー(UE)インターフェイス1744は、訂正不可エラーを交換するためのメモリモジュール1700が別に具備する分離されたインターフェイスである。
例えば、訂正不能エラーインターフェイス1744は、専用のラインであるか、或いは専用のバスとして提供される。
図18は、本発明の一実施形態に係るメモリ装置を示す概略ブロック図である。
この実施形態では、メモリ装置1800は、データインターフェイス1836とエラーインターフェイス1838を含む。
データインターフェイス1836とエラーインターフェイス1838は、図15のデータインターフェイス1536とエラーインターフェイス1538と同様である。
しかし、本実施形態では、データインターフェイス1836とエラーインターフェイス1838とは図15のメモリモジュール1500よりはメモリ装置1800とインターフェイス(接続)される。
メモリ装置1800は、コントローラ1841を含む。
コントローラ1841は、メモリ1801と(データ&エラー)インターフェイス(1836、1838)と結合する所定の装置である。
例えば、コントローラ1841は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、ASIC、PLD等である。
メモリ1801はデータを格納する。
例えば、メモリ1801は、メモリセルアレイであるが、他の実施形態では、異なる方式でデータが格納され得る。メモリ1801は、電気的、磁気的、化学的、光学的方式、又は他の方式のストレージ要素を含む。
コントローラ1841は、データインターフェイス1836を通してメモリ1801に格納されたデータを伝送する。
コントローラ1841は、データインターフェイス1836を通してメモリ1801に格納されるデータを受信できる。
このような伝送はデータ1840によって表示される。
コントローラ1841は、エラーインターフェイス1838を通してメモリ1801から読み出されたデータのエラー訂正演算によって生成されるエラー情報を伝送する。
エラー情報は先に説明したエラー情報の中でいずれか1つと同様である。
コントローラ1841は、エラーインターフェイス1838を通して命令語、指示、又は他の情報を受信する。
このようなエラー情報、命令語、指示、又は情報の伝送は、情報1842を通じて表示される。
この実施形態では、データ1840と情報1842とはコントローラ1841を経由することとして説明した。
しかし、他の実施形態では、コントローラ1841によって制御されるメモリ装置1800の構成によってデータ1840と情報1842とはコントローラ1841を経由しなくともよい。
例えば、一部実施形態では、データ及び/又はエラー情報は、コントローラ1841の制御にしたがってコントローラ1841を迂回してデータインターフェイス1836とエラーインターフェイス1838に提供される。
図19は、他の実施形態に係るメモリ装置を示す概略ブロック図である。
この実施形態では、メモリ装置1900は、メモリセルアレイ1901を含む。
メモリセルアレイ1901はデータが格納されるメモリセルを含む。
特に、メモリセルアレイ1901は符号化されたデータを格納する。
感知増幅器1902と書き込み回路1904は、アドレス1906によって指定されるメモリセルアレイ1901のアドレスにデータが書き込み、読み出されることを許容するメモリ装置1900の回路の例である。
しかし、いずれかの実施形態では、他の読み出し及び書き込み回路がメモリセルアレイ1901に関連してもよい。
共に、たとえば、感知増幅器1902と書き込み回路1904をメモリセルアレイ1901の部分に図示しているが、このような回路はメモリセルアレイ1901と分離してもよい。
また、共に、1つのメモリセルアレイ1901を図示したが、複数のメモリセルアレイ1901が存在し得る。
メモリセルアレイ1901は、エラー訂正符号(ECC)エンジン1908と結合される。
ECCエンジン1908は、メモリセルアレイ1901に書き込まれるデータに対する符号化とメモリセルアレイ1901から読み出されたデータに対する復号化を通じて読み出しデータの少なくとも1つのエラーを訂正する。
特に、ECCエンジン1908は、書き込みデータ1910を受信する。
ECCエンジン1908は、アドレス1906によって指定されるメモリセルアレイ1901の位置にある書き込み回路1904によって書き込まれる書き込みデータ1910を符号化する。
同様に、ECCエンジン1908は、メモリセルアレイ1901から読み出された符号化されたデータを受信して復号化し、復号化された出力データにする。
このような符号化及び復号化は、ここで記述する複数のエラー訂正アルゴリズムによって遂行される。
例として、シングルエラー訂正−ダブルエラー検出(SEC−DED)がECCアルゴリズムとして使用されるが、異なる方式も使用されてもよい。
メモリセルアレイ1901にデータを書き込むための信号にアドレス1906と書き込みデータ1910のような信号を紹介した。
しかし、メモリ装置1900はメモリセルアレイ1901にデータを書き込むための他の信号の受信とその処理をするが、このようなものは説明を簡単にするために省略した。
さらに、アドレス1906を変更するか、或はアクセスを再調整する等の構成が存在し得るが、説明の明確性をためにこれらに対する説明も省略した。
特定例として、書き込み動作の間に、ECCエンジン1908はメモリ装置1900が格納する書き込みデータ1910のビットを受信する。
ECCエンジン1908は、書き込みデータ1910のECCビット値を計算し、書き込み回路1904を使用してECCビットと共に符号化された元のデータ値をメモリセルアレイ1901に伝達する。
そうすると、メモリセルアレイ1901は符号化されたデータを格納する。
読み出し動作の間に、ECCエンジン1908はメモリセルアレイ1901から符号化されたデータを受信する。
即ち、感知増幅器1902と他の回路が以前に格納されたECCビットと元のデータ値を符号化されたデータに読み出すのに使用される。
ECCエンジン1908は、符号化されたデータを復号し、出力データ1924とエラー情報とを生成する。
そして、出力データ1924はメモリ装置1900から出力される。
いずれかの実施形態では、ECCエンジン1908とメモリ装置1900の出力端間に他の構成が位置する。
一実施形態では、バッファ1932が出力データ1924をバッファする。
他の実施形態では、RCDモジュールが出力データ1924を受信し、バッファし、そして出力する。
ここで、選択的な構成は、点線で図示した。
ECCエンジン1908はまたエラーフラグを生成する。
例えば、ECCエンジン1908は、訂正可能エラー(CE)フラグを生成する。
訂正可能エラーフラグは、ECCエンジン1908が“n”ビットエラーを成功裏に訂正した時に設定される。
ここで、“n”はECCエンジン1908が訂正できるビット数と同一であるか、或いは少ない数である。
ECCエンジン1908はまた訂正不可エラー(UE)フラグを生成する。
訂正不可エラーフラグは、ECCエンジン1908が訂正できるビットエラーの数より多い数のビットエラーを検出した時に設定される。
特定の実施形態では、SEC−DEDと共に提供される場合、訂正不可エラー(UE)フラグは2ビットエラーが発生したことを、訂正可能エラー(CE)フラグはシングルビットエラーが訂正されたことを示す。
ECCコントローラ1918は、エラー訂正を管理し、エラー情報を管理する。
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に格納される。
以下で詳細に説明するが、エラーに関連した情報を含むエラー記録がECCコントローラ1918に格納される。
例えば、エラー記録は、アドレス情報、エラー形態、メモリセルアレイ1901から読み出されたデータ、エラー修復又は他の動作の実行可否等に対する情報を含む。
一実施形態では、ECCコントローラ1918は、外部装置と通信1926を遂行する。
例えば、通信1926はエラー情報に対する伝送を含む。
訂正可能であるエラーや訂正不可であるエラーが発生すれば、エラー情報がECCコントローラ1918によって伝送される。
このような伝送は外部装置の要請に応答するか、或はエラーが発生した時点で定期的であるようなスケジュールにしたがって、リフレッシュサイクル等と同時に発生する。
一実施形態では、ECCコントローラ1918は、エラー情報を伝達するためにSMBusのようなバスを通じて通信する。
いずれかの実施形態では、メモリ装置1900は、命令語バッファ1928を含む。
命令語バッファ1928は、バスを通じてECCコントローラ1918に提供される命令語をバッファする。
一実施形態では、メモリ装置1900は、SPDモジュール1930を含む。
ECCコントローラ1918はSPDモジュール1930と通信する。
SPDモジュール1930は、SPDインターフェイスと関連した動作を遂行する。その上に、SPDモジュール1930はECCコントローラ1918を通じてエラー情報にアクセスすることを許容する。
例えば、SPDモジュール1930を通じて受信される特定命令語がECCコントローラ1918に格納されたエラー情報にアクセスするための適切な命令語及び/又は信号に変換される。
DQS調整器1920は、ECCエンジン1908からエラー情報に応答してメモリセルアレイ1901から出力されるデータストローブ信号1912を調整して調整されたデータストローブ信号1922に出力する。
特定の実施形態では、エラー情報1916は、訂正不可エラーが発生したことを指示する信号である。
DQS調整器1920は、もしもエラー情報1916が訂正不可エラーが発生したことを指示すれば、データストローブ信号1922がトグルされ(切り替えられ)ないようにデータストローブ信号1912を調整し、一方、エラー情報1916が訂正不可エラーが発生しないことを指示すれば、データストローブ信号1912をバイパスさせる。
例えば、DQS調整器1920は、ORゲート、ANDゲート、NANDゲート、伝送ゲート等のようなロジック回路を含む。
一実施形態では、DQS調整器1920は時間−高感度情報を伝送するのに使用される。
例えば、訂正不可エラーが発生すれば、そのエラーは現在の読み出し動作と関連したものである。
ECCコントローラ1918によって訂正不可エラーに関連した情報がSMBusのようなデータ1924の通信経路より相対的に遅い通信経路を通して外部装置に伝送される。したがって、訂正不可エラーの発生に対する情報の伝送は読み出し動作に比べると、相対的に遅延される。
一方、DQS調整器1920による訂正不可エラーの発生可否に対する通信は、読み出し動作に対応する伝送と実質的に同時に発生する。即ち、調整されたデータストローブ信号1922の出力は訂正不可であるエラーを含むデータ1924に関連したデータストローブ信号1912に該当する。
メモリ装置1900の説明のために特定の構成を例示的に使用したが、他の構成が存在し得る。例えば、メモリ装置1900は、多様なストローブ信号、選択信号、制御信号、イネーブル信号等を受信及び/又は伝送する。
図20は、本発明の実施形態に係るメモリ装置を含むメモリモジュールを示す概略ブロック図である。
この実施形態では、メモリモジュール2000は、図15のデータインターフェイス1536とエラーインターフェイス1538と同様のデータインターフェイス2036とエラーインターフェイス2038を含む。
しかし、この実施形態では、メモリモジュール2000は複数のECCメモリ装置((2001−1)〜(2001−N))を含む。ECCメモリ装置は図18又は図19で説明されたメモリ装置1800、1900のようなメモリ装置の中でいずれか1つである。
ECCメモリ装置((2001−1)〜(2001−N))の例としてメモリ装置1800を使用し、図18及び図20を参照すると、メモリ装置((2001−1)〜(2001−N))は各々データインターフェイス2036とエラーインターフェイス2038とに結合される。
各々のメモリ装置1800はデータインターフェイス1836とエラーインターフェイス1838とに結合され、データインターフェイス2036に関しては、メモリ装置1800のデータインターフェイス1836は、データインターフェイス2036の一部を構成する。
例えば、データインターフェイス1836のデータ入出力信号(I/Os)、ストローブ信号等はデータインターフェイス2036に集積される。
データインターフェイス2036のアドレス入力信号及び/又は制御信号は、メモリ装置1800のデータインターフェイス1836に分布する。したがって、データインターフェイス2036を通じてECCメモリ装置(メモリ装置1800)とメモリモジュール2000とデータが交換される。
同様に、エラーインターフェイス1838は、エラーインターフェイス2038に結合される。
エラーインターフェイス1838は多様な方式で結合される。例えば、エラーインターフェイス1838とエラーインターフェイス2038はメモリモジュール2000の共通バスによって結合される。
他の実施形態では、エラーインターフェイス2038は、ECCメモリ装置((2001−1)〜(2001−N))の各々のエラーインターフェイス1838に直接結合される。
エラーインターフェイス2038は、ECCメモリ装置(メモリ装置1800)から提供されるエラー情報を累積する。したがって、エラー情報はエラーインターフェイス2038によってメモリモジュール2000からECCメモリ装置(メモリ装置1800)に伝達される。
図18のメモリ装置1800をECCメモリ装置((2001−1)〜(2001−N))の一例として使用されたが、他の実施形態では他のメモリ装置が使用されてもよい。
例えば、図19のメモリ装置1900がECCメモリ装置((2001−1)〜(2001−N))として使用され得る。
図19を参照すると、各々のメモリ装置1900のアドレス1906、書き込みデータ1910、出力データ1924、データストローブ信号1922等は、データインターフェイス2036に結合される。同様に、メモリ装置1900の各々のエラーコントローラ1918はエラーインターフェイス2038と結合される。
図21は、本発明によるエラー情報を伝達する技術を説明するためのフローチャートである。
まず、ステップS2100で、メモリ装置で読み出しエラーが発生する。
ステップS2102で、エラーを診断する。
以下で詳細に説明するが、エラーが識別されるだけでなく、エラーを修復するための訂正演算が取られる。
ステップS2104で、エラー情報を報告する。
上述したように、メモリ装置の間の通信リンク、メモリの他の構成、そしてエラー情報を交換するためのプロセッサが使用される。
ステップS2104でのエラー情報を報告する動作もこのような通信リンクを使用して行う。
図22は、本発明によるエラー管理技術を説明するためのフローチャートである。
この実施形態は例えば、図19のエラーコントローラ1918によってどのようにして訂正可能エラーが管理されるかを示す。
特に、訂正可能エラーが発生した後にステップS2200で訂正可能エラー(CE)記録が生成、記録する。
訂正可能エラー記録は、上述したように多様な互いに異なるエラーと関連した情報を含む。
ステップS2202で、データを再読み出しする。
この実施形態では、データの再読み出しに応答してエラーが発生するか否か、訂正可能であるエラーが発生するか否か、又は訂正不可能であるエラーが発生するか否か、の3つの可能性の結果が導出される。
もしも、エラーが発生しなければ、ステップS2204で、エラー記録をソフト読み出しエラーとしてタグする。
もしも、訂正可能であるエラーが発生した場合、ステップS2208で訂正されたデータを再書き込みする。
もしも、訂正不可エラーが発生する場合、ステップS2206で訂正不可エラー記録としてエラー記録をアップデートする。
ステップS2208で、訂正されたデータの再書き込み動作の一部分でエラーが発生する可能性がある。
もしも、エラーが発生しなければ、エラー記録を、ソフト書き込みエラーとしてタグする。
もしも、訂正不可エラーが発生すれば、エラー記録をステップS2206で訂正不可エラーとしてアップデートする。
もしも、訂正可能エラー(CE)が発生すれば、ステップS2212で、メモリセルが修復可能であるか否かを判断する。
特定の実施形態では、この段階での訂正可能エラーは再書き込みによってエラーが修復されないことを指示する。
この時のエラーは、ハードウェア的な問題に起因するためである。
ステップS2212での、メモリセルの修復可能の可否に対する判断結果にしたがって、エラー記録に追加的な注釈が書き込まれ、修復される。
もしも、メモリセルが修復可能である場合、ステップS2214で、メモリセルは修復され、このエラーをハードエラーとしてタグする。
もしも、メモリセルが修復不可である場合、ステップS2216で、エラー記録を修復不可であるハードエラーとしてタグする。
したがって、先に説明した診断によって、エラーは、追加的にカテゴリー化されるか、及び/又は修復される。
ステップS2208の再書き込みで、訂正不可エラー(UE)、訂正可能エラー(CE)、又はエラーが存在しない場合の動作を例示的に使用したが、このような情報は他の動作の結果である。
例えば、ステップS2208でのデータ再書き込みの以後に、読み出し動作が実施され、同様のエラー情報が生成されてもよい。
図23は、本発明の他の実施形態に係るエラー管理技術を説明するためのフローチャートである。
この実施形態では、図19のECCコントローラ1918によってどのようにして訂正不可エラーが管理するのかを示す例である。
特に、訂正不可エラーが発生した後にステップS2300で訂正不可エラー(UE)記録を生成し記録する。
幾つかの実施形態で、訂正不可エラー(UE)記録は、図22で説明したようにステップS2206での訂正不可エラー(UE)記録のアップデート結果であってもよい。
ステップS2302で、訂正不可エラー(UE)記録と関連したデータを再読み出しする。
再読み出しの結果にしたがって異なる動作が遂行される。
もしも、再読み出しの後に訂正不可エラー(UE)が発生すれば、ステップS2306でエラー記録を修復不能エラーとしてタグする。
もしも、エラーが発生しない場合、ステップS2304でエラー記録をソフト読み出しエラーとしてタグする。
もしも、訂正可能であるエラーが発生すれば、ステップS2308で訂正されたエラーを再書き込みする。
図22のステップS2208の再書き込み動作と同様に、動作から発生する結果は再書き込みの後にデータを再読み出しのような他のソースから来る。
データの再書き込み結果に応答して、異なる動作が遂行される。
もしも、訂正不可エラーが結果である場合、ステップS2306で記録を修復不可エラーとしてタグする。
もしも、エラーが発生しなければ、ステップS2310で記録をソフト読み出し及びソフト書き込みエラーとしてタグする。
もしも、結果が訂正可能エラー(CE)である場合、ステップS2312で、メモリセルが修復可能であるか否かを判断する。
もしも、メモリセルが修復可能である場合、ステップS2314で、修復手続が進行され、記録をソフト読み出し及び修復可能であるハードエラーとしてタグする。
もしも、メモリセルが修復不可である場合、ステップS2316で、記録をソフト読み出し及び修復不可能であるハードエラーとしてタグする。
先に多様なカテゴリーのエラーを説明したが、メモリ装置の外部でこのような情報がアクセス可能であることではない。
例えば、図22で説明したソフト読み出し及びソフト書き込みエラーのような特定形態のエラーはソフトエラーとして統合される。
メモリ装置から伝送されるエラー情報を生成するための何らかの統合や、併合、又はこのような動作が発生する。その上に、メモリ装置は特定レベルの詳細な動作のために設定される。
一実施形態では、図22と図23で説明した技術を使用してメモリ装置はソフトエラー修復(即ち、メモリスクラビング)、ハードエラー修復等のようなエラー管理技術を遂行するように設定される。
メモリ装置によって提供されるエラー情報内にそのような動作に対する情報が含まれるように設定されることはよく理解され得るであろう。
一実施形態では、先に説明した動作は、読み出し動作が発生した後に遂行される。
特に、これらの動作は、読み出し動作を遮断しないように設定される。
しかし、補修間隔(maintenance interval)、リフレッシュサイクル等のような適切な動作区間が発生すれば上述したエラー記録は処理、アップデートされ、メモリセルは修復される。
特定エラーがエラーをカテゴリー化、又はメモリセルの修復の例として使用したが、他の実施形態では他のエラーシークェンスが使用されてもよい。
例えば、図22の実施形態を参照すると、ステップS2210のメモリセルが修復可能であるか否かを決定する動作はステップS2202での再読み出しでの訂正可能エラーが発生することと、ステップS2208の再書き込み動作での訂正可能であるエラーの発生に後続して発生する。
しかし、他の実施形態では、ステップS2210のメモリセルが修復可能であるか否かを決定する動作は、ステップS2202で複数の再読み出し動作の試みとその結果が訂正可能エラーとして結論に至るのみである。
即ち、幾つかの実施形態では、エラーをカテゴリー化するための特定基準は上述したように異なり得る。
また、エラー形態を特定して指定する方式が使用したが、何らかの実施形態では、すべてのエラー形態が使用される必要はない。同様に何らかの実施形態では、他のエラー形態が使用されてもよい。
図24Aは、本発明の一実施形態に係るエラー情報を伝達するための技術を説明するためのフローチャートである。
この実施形態では、ステップS2400でメモリからデータを読み出す時、読み出しエラーが発生する。
これに応答して、エラー情報を生成する。例えば、以前に訂正された読み出しエラーは訂正可能であるエラーになる。エラー情報は訂正可能エラーに対する情報である。
他の実施形態では、読み出しエラーは複数ビットのエラーであってもよい。エラー情報はこのようなエラーに対する情報であってもよい。
ステップS2402で、エラー読み出し命令語を受信する。
一実施形態では、エラー読み出し命令語は、メモリモジュールによって受信されてもよい。
もしも、エラーが発生すれば、ステップS2404でメモリはエラー情報を伝送する。
ステップS2402で、エラー読み出し命令語を受信する前に、メモリモジュールは以前に発生したエラーに対するエラー情報を格納する。
そのエラー情報は、以前のエラー読み出し命令語に応答してステップS2404で伝送されたエラー情報である。
しかし、エラーが発生しなかった場合、ステップS2404でのエラー情報の伝送はエラーが発生しなかったことを指示する情報の伝送である。
上述したように、エラー情報はバスを通じて伝送される。
特に、メモリモジュールのメーンデータ経路ではない帯域外経路のバスであってもよい。
したがって、ステップS2404での伝送は上述したバスを通じたエラー情報の伝送を含む。
図24Bは、本発明の他の実施形態に係るエラー情報を伝達するための技術を説明するためのフローチャートである。
図24A及び図24Bを参照すると、図24Bの動作は、コントローラの動作に該当する。
特に、ステップS2406でエラー読み出し命令語をコントローラから提供する。
ステップS2406で伝送したエラー読み出し命令語はステップS2402で受信される。
上述したように、ステップS2404で、エラー情報を伝送する。そのエラー情報は、ステップS2408でコントローラによって受信される。
例えば、コントローラはメモリモジュールをポーリングするように設定する。
したがって、コントローラは、ステップS2406でエラー読み出し命令語を伝送し、ステップS2408でエラー情報を受信する。
上述したように、コントローラは、エラー情報を格納するために内部に不揮発性メモリのようなメモリを含む。
以後、エラー情報を、ステップS2410でプロセッサに伝達する。
エラー読み出し命令語を伝送するためにコントローラを例示的に使用したが、ステップS2406で他の実施形態では、プロセッサがエラー読み出し命令語を伝送してもよい。
エラー読み出し命令語は、ステップS2402でメモリモジュールによって受信され、エラー情報は、ステップS2410でプロセッサに伝達される。
即ち、エラー情報は、コントローラによって受信及び/又は処理される必要はない。
図25は、本発明のさらに他の実施形態に係るエラー情報を伝達する技術を説明するためのフローチャートである。
図25を参照すると、読み出しエラーがステップS2500で発生する。
ステップS2512でエラー読み出し命令語をコントローラに伝達する。
例えば、コントローラはプロセッサからエラー読み出し命令語を受信する。
ステップS2514で、エラー読み出し命令語をメモリモジュールに伝送する。
例えば、ステップS2514でコントローラはプロセッサで伝送されたエラー読み出し命令語を変更し、メモリモジュールに提供するために新しいエラー読み出し命令語を生成する等の動作の後にメモリモジュールに伝達する。ステップS2514で伝送したエラー読み出し命令語はステップS2502で受信し、図24AのステップS2402とステップS2404と同様にエラー情報をステップS2504で伝送する。エラー情報は上述したようにプロセッサに伝送される。
上述したように、コントローラは、エラー情報の受信とエラー情報の格納のためにメモリモジュールに対するポーリングを遂行する。
したがって、プロセッサからエラー読み出し命令語が受信されれば、コントローラはエラー情報を既に有している。
コントローラは、そのエラー情報をプロセッサに伝達する。
コントローラは、プロセッサに格納されたエラー情報を伝達する前にエラー情報のためのメモリモジュールのポーリングをする必要が無い。
図26は、本発明のその他の実施形態に係るエラー情報を交換する方法を説明するためのフローチャートである。
この実施形態では、ステップS2600でプロセッサは読み出しエラー命令語を伝送する。
ステップS2002で、プロセッサはエラー情報を受信する。
ステップS2606で、プロセッサはエラー情報と追加的な情報とを組み合わせる。
上述したように、追加的な情報はプロセッサ、周辺回路、バス等の状態情報のようにメモリモジュールと関連しない情報を含む。
特定の実施形態では、プロセッサは、MCAモジュールから提供された情報とエラー情報とを組み合わせる。
特定の実施形態では、ステップS2608で、組み合わされた情報はEDACモジュールに提供する。
上述したように、EDACモジュールは多様なシステムのエラーに対する情報を高レベルアプリケーションプログラムが使用できるようにする。
図27は、本発明の一実施形態に係るメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム2700は、図1のプロセッサ104とソフトウェア110と同様にプロセッサ2704、ソフトウェア2710を含む。
しかし、この実施形態では、システム2700は、メモリ2702とエラー訂正回路2768とを含む。
この実施形態では、メモリ2702はエラーを訂正しないように設定される。
メモリ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を含む分離された帯域外通信経路であるか、或いは先に説明した通信経路の多様な変更であってもよい。
図28は、発明の実施形態に係るサーバーを示す概略ブロック図である。
この実施形態では、サーバー2200は、独立型サーバー、ラックに搭載されたサーバー、ブレードサーバー等を含む。
サーバー2800は、メモリ2802、プロセッサ2804、及びBMC(Baseboard Management Controller)2814を含む。
プロセッサ2804は、通信経路2806を通じてメモリ2802と結合される。
BMC2814は、バス2816を通じてプロセッサ2804と結合され、バス2812を通じてメモリ2802と結合される。
メモリ2802、プロセッサ2804、BMC2814、通信経路2806、及びバス2812、2816各々は先に説明した対応する構成の中でいずれか1つである。
図29は、本発明の一実施形態に係るサーバーシステムを示す概略ブロック図である。
この実施形態では、サーバーシステム2900は複数のサーバー((2902−1)〜(2902−N))を含む。
サーバー((2902−1)〜(2902−N))の各々は、マネージャ2904と結合される。
1つ又はそれ以上のサーバー((2902−1)〜(2902−N))は先に説明したサーバー2900と同様である。
その上に、マネージャ2904は先に説明したメモリシステムアーキテクチャを具備するシステムを含む。
マネージャ2904は、サーバーシステム2900のサーバー((2902−1)〜(2902−N))と異なる構成を管理するように設定される。
例えば、マネージャ2904は、サーバー((2902−1)〜(2902−N))の設定を管理するように構成される。サーバー((2902−1)〜(2902−N))の各々はマネージャ2904とエラー情報を交換する。
エラー情報は、上述したようにサーバー((2902−1)〜(2902−N))の中でいずれか1つのプロセッサに伝送される訂正可能エラー情報や、訂正可能エラー情報に基づいた他のエラー情報を含む。
マネージャ2904は、エラー情報に基づいてアクションを取る。例えば、サーバー(2902−1)が臨界値を超過する訂正可能であるエラーを含むとする。
マネージャ2904は、管理及び/又は代替のためにサーバー(2902−1)の機能をサーバー(2902−2)に引き渡し、サーバー(2302−1)をシャットダウンさせる。
特定の実施形態を提示したが、マネージャ2904は、エラー情報に基づいてその他のアクションを遂行することはよく理解され得るであろう。
図30は、本発明の一実施形態に係るデータセンターを示す概略ブロック図である。
この実施形態では、データセンター3000は、複数のサーバーシステム((3002−1)〜(3002−N))を含む。
サーバーシステム((3002−1)〜(3002−N))は、図28で説明されたサーバーシステム2800と同様である。
サーバーシステム3002は、インターネットのようなネットワーク3004に接続される。
したがって、サーバーシステム3002は、多様なノード((3006−1)〜(3006−M))とネットワーク3004を通じて通信できる。
例えば、ノード((3006−1)〜(3006−M))は、クライアントコンピューターや他のサーバー、遠距離データセンター、ストレージシステム等であってもよい。
本発明の実施形態に係るシステムは、データを格納し、格納されたデータのエラーを訂正し、格納されたデータのエラー訂正結果に応答してエラー情報を生成するメモリ、及び第1通信経路及び第2通信経路を通じてメモリに結合され、第1通信経路を通じてメモリからデータを受信し、第2通信経路を通じてメモリからエラー情報を受信するプロセッサを含む。
一実施形態では、エラーは、シングルビットエラーであり、エラー情報は、エラーが訂正されたことを指示する情報である。
一実施形態では、エラー情報は、訂正されたエラー情報を含み、プロセッサは、第1通信経路以外の経路を通して訂正されたエラー情報を受信する。
一実施形態では、メモリは、同期式ランダムアクセスメモリモジュールである。
一実施形態では、プロセッサとメモリとに結合され、プロセッサとメモリと通信するコントローラをさらに含む。コントローラは、第2通信経路の一部である。
一実施形態では、コントローラは、ベースボード管理コントローラである。
一実施形態では、コントローラは、IPMIインターフェイスに対応するインターフェイスによってプロセッサと結合される。
一実施形態では、コントローラは、システム管理バス(SMBus)に対応するインターフェイスによってメモリに結合される。
一実施形態では、コントローラは、エラー情報を格納し、エラー情報をプロセッサから提供される要請に応答してプロセッサに提供する。
一実施形態では、プロセッサは、メモリに結合されるメモリコントローラを含み、メモリコントローラは、第1通信経路を通じてメモリに結合される。
一実施形態では、プロセッサは、メモリと結合されたメモリコントローラを含み、メモリコントローラは、メモリから読み出されたデータのエラーを訂正しない。
一実施形態では、第1通信経路は、複数のデータラインと少なくとも1つのストローブラインを含み、メモリは、少なくとも1つのストローブラインを通じて伝達される信号によって訂正不可エラーを交換する。
一実施形態では、システムは、メモリとプロセッサとを結合する第3通信経路をさらに含み、メモリは、第3通信経路を通じて訂正不能エラーを交換する。
一実施形態では、プロセッサは、メモリによって生成されるエラー情報を要請する。
一実施形態では、プロセッサは、エラー情報とメモリに関連した他の情報とを組み合わせる。
一実施形態では、他の情報は、第1通信経路を通じて受信される情報に基づく。
一実施形態では、プロセッサは、第2通信経路と結合されるインターフェイスを含み、プロセッサは、インターフェイスを通じてエラー情報を受信し、インターフェイスを通して他の情報を受信する。
一実施形態では、メモリは、直列認識システム(SPD)又はレジスタークロック駆動システムの少なくとも1つを含み、他の情報は、直列認識システム(SPD)又はレジスタークロック駆動システムの少なくともいずれか1つから受信される。
本発明の実施形態に係るメモリモジュールは、データを格納する少なくとも1つのメモリ装置と第1インターフェイス、第2インターフェイスとを含む。第1インターフェイスは、データを送受信し、第2インターフェイスは、少なくとも1つのメモリ装置から読み出されるデータのエラー訂正に応答してエラー情報を伝送する。
一実施形態では、第2インターフェイスは、直列認識システム(SPD)又はレジスタークロック駆動システムの少なくとも1つを含む。
一実施形態では、メモリモジュールは、第1インターフェイスと結合されるコントローラを含み、訂正不可エラーの検出に応答して第1インターフェイスを通して伝達されるデータストローブ信号を調整する。
一実施形態では、第2インターフェイスは、訂正不可エラーの検出に応答してエラー情報を伝送する。
本発明の実施形態に係るメモリモジュールの動作方法は、メモリモジュールからエラーを含むデータを読み出す段階、エラーを含むデータの読み出し結果に基づいてエラー情報を生成する段階、メモリモジュールでエラー情報を読み出すための命令語を受信する段階、及び命令語に応答してエラー情報をメモリモジュールから伝送する段階を含む。
一実施形態では、コントローラでエラー情報を受信する段階をさらに含む。
一実施形態では、エラー情報をコントローラからプロセッサに伝送する段階をさらに含む。
一実施形態では、エラー情報を読み出すための命令語は、第1命令語として提供され、コントローラのプロセッサからエラー情報を読み出すための第2命令語を受信する段階、及びコントローラから第2命令語に応答して第1命令語を伝送する段階をさらに含む。
一実施形態では、メモリから少なくとも1つのストローブ信号を調整して訂正不可エラーを交換する段階をさらに含む。
一実施形態では、プロセッサでメモリモジュールと関連した追加情報を生成する段階、及びプロセッサで追加情報とエラー情報とを組み合わせる段階をさらに含む。
一実施形態では、通信リンクを通じてエラー情報と他の情報とを伝送する段階を含む。
一実施形態では、他の情報は、メモリと無関係である。
本発明の実施形態に係るシステムは、メモリ、メーンメモリチャンネルを通じてメモリと結合されるプロセッサ、及びメモリとプロセッサに結合され、メーンメモリチャンネルとは、分離された通信リンクを含み、メモリとプロセッサとは、メーンメモリチャンネルと通信リンクとを通じて通信し、メモリは、通信リンクを通じてエラー情報をプロセッサと交換する。
一実施形態では、プロセッサは、メモリコントローラを含み、メモリコントローラは、メーンメモリチャンネルの一部として提供される。
一実施形態では、プロセッサは、通信リンクを通じてシステム管理情報を受信する。
一実施形態では、システム管理情報は、温度情報又は電力情報の少なくとも1つを含む。
一実施形態では、メモリは、通信リンクを通じてプロセッサとエラー情報を交換する。
本発明の他の実施形態に係るシステムは、エラー訂正を遂行しないメモリ、メモリと結合されてメモリから読み出されたデータのエラーを訂正し、エラー訂正結果にしたがってエラー情報を生成するエラー訂正回路、及び第1通信経路及び第2通信経路を通してエラー訂正回路と結合されるプロセッサを含む。プロセッサは、第1通信経路を通してメモリからデータを受信し、第2通信経路を通してメモリからエラー情報を受信する。
一実施形態において、第2通信経路は、エラー訂正回路からエラー情報を受信し、受信されたエラー情報をプロセッサに伝達するコントローラを含む。
本発明の実施形態に係るメモリ装置の動作方法は、インターフェイスを通じて受信された読み出し命令語に応答してエラーを含むデータを読み出す段階、エラーを含むデータの読み出し結果にしたがってエラー情報を記録する段階、そしてメモリ装置からエラーインターフェイスを経由してエラー情報を伝送する段階を含む。
一実施形態では、エラーに応答してメモリからデータを再読み出しし、再読み出しされたデータに応答してエラーを識別する段階を含む。
一実施形態では、再読み出しされたデータが訂正不可エラーに対応する場合、エラーを訂正不可として識別する段階をさらに含む。
一実施形態では、再読み出しされたデータが訂正不可エラーに対応し、エラーが以前に訂正不可エラーであった場合、エラーを修復不能として識別する段階をさらに含む。
一実施形態では、再読み出しされたデータにエラーがない場合、エラーは、ソフト−読み出しエラーとして識別する段階をさらに含む。
一実施形態では、エラーが訂正可能エラーである場合、メモリに訂正されたデータを再書き込みする段階をさらに含む。
一実施形態では、再書き込み動作の間に訂正不可エラーが発生する場合、エラーを訂正不可エラーとして識別する段階をさらに含む。
一実施形態では、再書き込み動作の間にエラーが発生しない場合、エラーをソフト−読み出しエラーとして識別する段階をさらに含む。
一実施形態では、再書き込み動作の間に訂正可能エラーが発生する場合、メモリを修復の実行を試みる段階をさらに含む。
一実施形態では、メモリの修復の試みの結果に基づいてエラーを識別する段階をさらに含む。
本発明の実施形態に係るメモリモジュールは、データインターフェイス、エラーインターフェイス、各々データインターフェイスとエラーインターフェイスに結合された複数のメモリ装置とを含み、メモリ装置の各々は、データを格納するメモリ、メモリとデータインターフェイス、エラーインターフェイスに結合されるコントローラとを含み、コントローラは、メモリに格納されたデータをデータインターフェイスを経由して伝送し、コントローラは、メモリから読み出されたデータのエラーの訂正によって生成されたエラー情報をエラーインターフェイスを通して伝送する。
一実施形態では、エラーインターフェイスは、メモリ装置からのエラー情報を累積する。
一実施形態では、各々のメモリ装置において、コントローラは、訂正不可エラーに応答してデータストローブ信号を調整し、データインターフェイスは、メモリ装置からデータストローブ信号に基づいてモジュールデータストローブ信号を伝送する。
本発明の実施形態に係るメモリ装置は、データを格納するためのメモリ、及びメモリに結合されてメモリに格納されたデータを読み出し、メモリから読み出されたデータのエラーを診断し、診断結果を参照してエラー種類を識別するメモリコントローラを含む。
一実施形態では、コントローラは、エラーをソフト読み出しエラー、ソフト書き込みエラー、ハードエラー、修復可能エラー、修復不能エラーの中から少なくとも1つとして識別する。
一実施形態では、コントローラは、データの再読み出しに応答してエラーを診断する。
一実施形態では、コントローラは、データの再書き込み動作に応答してエラーを診断する。
一実施形態では、コントローラは、データの再書き込みに応答してメモリを修復するか否かを決定する。
予め生産され、経済的な製造、適用、活用のために多様な公知された構成を適用することにおいて本発明の方法、プロセス、手段、装置、商品、及び/又はシステムは簡略であり、費用が低廉であり、複雑でなく、高い多目的性、正確であり、敏感であり、効果的に具現されることができる。
ここで、説明される本発明の他の特徴によれば、費用減少、システムの簡易化、及び性能向上の典型的なトレンドを支援することができ、サービスすることができる。
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
100、200、300、500、600、700、800、900、1000、1100、1200 システム
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通信経路を介して前記メモリ装置の外部へデータを通信するためのデータインターフェイスと、
    前記メモリ装置から前記第1通信経路から分離されているシステム制御経路である第2通信経路を介して前記メモリ装置の外部へエラー情報を通信するためのエラーインターフェイスと、
    前記メモリ装置の内部にあり、前記データインターフェイス、前記エラーインターフェイス、及び前記メモリに結合されたコントローラと、を有し、
    前記コントローラは、前記メモリから読み出されたデータのエラーを訂正して訂正されたデータを生成し、前記エラーを訂正することに応答してエラー情報を生成し、前記データインターフェイスを介して前記訂正されたデータを伝送し、前記エラーインターフェイスを介して前記エラー情報を伝送するエラー訂正コード(ECC)エンジンと、
    前記ECCエンジンに応答してエラー情報を記録するように構成されたECCコントローラと、を含み、
    前記コントローラは、訂正不可エラーの検出に応答して前記データインターフェイスを通して伝達されるデータストローブ信号を調整し、
    前記訂正不可エラーを指示する信号を前記データストローブ信号と組み合わせることを特徴とするメモリ装置。
  2. 前記コントローラは、前記訂正不可エラーの検出に応答して、前記訂正不可エラーに関するエラー情報を前記エラーインターフェイスを介して伝送することを特徴とする請求項1に記載のメモリ装置。
  3. 前記第2通信経路は、前記第1通信経路に対する帯域外通信経路を含むことを特徴とする請求項1に記載のメモリ装置。
  4. 前記第2通信経路は、少なくとも1つ以上の多様な通信リンクであるバス(Bus)を含むことを特徴とする請求項1に記載のメモリ装置。
  5. 前記バスは、システム管理バス(SMBus)、I2Cバス(Inter−Integrated Circuit Bus)、IPMIバス(Intelligent Platform Management Interface Bus)、又はModbusを含むことを特徴とする請求項4に記載のメモリ装置。
  6. 前記第2通信経路は、前記第1通信経路よりも実質的に低速であることを特徴とする請求項1に記載のメモリ装置。
  7. 前記第1通信経路は第1のデータレートを含み、前記第2通信経路は第2のデータレートを含み、
    前記第2のデータレートは、前記第1のデータレートの1/10以下であることを特徴とする請求項1に記載のメモリ装置。
  8. 前記エラーインターフェイスは、エラー情報についてのポーリング(polling)を受信することができることを特徴とする請求項1に記載のメモリ装置。
  9. 前記コントローラは、前記エラーインターフェイスを介してエラー情報をプッシュ(push)するようにさらに構成されることを特徴とする請求項1に記載のメモリ装置。
  10. メモリモジュールであって、
    前記メモリモジュールからメインのメモリ経路である第1通信経路を介して前記メモリモジュールの外部へデータを通信するためのデータインターフェイスと、
    前記メモリモジュールから前記データインターフェイス及び前記第1通信経路とは分離(separate)しているシステム制御経路である第2通信経路を介してメモリモジュールの外部へエラー情報を通信するためのエラーインターフェイスと、
    前記メモリモジュールの内部にある複数のメモリ装置と、を有し、
    前記複数のメモリ装置は、データインターフェイスとエラーインターフェイスとに各々結合され、
    前記複数のメモリ装置の各々は、データを格納するメモリと、
    前記データインターフェイス、前記エラーインターフェイス、及び前記メモリ装置の前記メモリと結合されるコントローラと、を含み、
    前記コントローラは、メモリから読み出されたデータのエラーを訂正して訂正されたデータを生成し、前記エラーを訂正することに応答してエラー情報を生成し、前記データインターフェイスを介して前記訂正されたデータを伝送し、前記エラーインターフェイスを介して前記エラー情報を伝送するエラー訂正コード(ECC)エンジンと、
    前記ECCエンジンに応答してエラー情報を記録するように構成されたECCコントローラと、を含み、
    前記各々のメモリ装置の前記コントローラは、訂正不可エラーに応答してデータストローブ信号を調整するよう構成され、
    前記データインターフェイスは、前記複数のメモリ装置からの複数の前記データストローブ信号に基づいてモジュールデータストローブ信号を伝送することを特徴とするメモリモジュール。
  11. 前記第2通信経路は、前記第1通信経路に対する帯域外通信経路を含むことを特徴とする請求項10に記載のメモリモジュール。
  12. 前記第2通信経路は、少なくとも1つ以上の多様な通信リンクであるバス(Bus)を含むことを特徴とする請求項10に記載のメモリモジュール。
  13. 前記バスは、システム管理バス(SMBus)、I2Cバス(Inter−Integrated Circuit Bus)、IPMIバス(Intelligent Platform Management Interface Bus)、又はModbusを含むことを特徴とする請求項12に記載のメモリモジュール。
JP2015161805A 2014-08-19 2015-08-19 メモリ装置及びメモリモジュール Active JP6592305B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템

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