(57)【特許請求の範囲】
【請求項１】
メモリ装置であって、
メモリと、
前記メモリ装置からメインのメモリ経路である第１通信経路を介して前記メモリ装置の外部へデータを通信するためのデータインターフェイスと、
前記メモリ装置から前記第１通信経路から分離されているシステム制御経路である第２通信経路を介して前記メモリ装置の外部へエラー情報を通信するためのエラーインターフェイスと、
前記メモリ装置の内部にあり、前記データインターフェイス、前記エラーインターフェイス、及び前記メモリに結合されたコントローラと、を有し、
前記コントローラは、前記メモリから読み出されたデータのエラーを訂正して訂正されたデータを生成し、前記エラーを訂正することに応答してエラー情報を生成し、前記データインターフェイスを介して前記訂正されたデータを伝送し、前記エラーインターフェイスを介して前記エラー情報を伝送するエラー訂正コード（ＥＣＣ）エンジンと、
前記ＥＣＣエンジンに応答してエラー情報を記録するように構成されたＥＣＣコントローラと、を含み、
前記コントローラは、訂正不可エラーの検出に応答して前記データインターフェイスを通して伝達されるデータストローブ信号を調整し、
前記訂正不可エラーを指示する信号を前記データストローブ信号と組み合わせることを特徴とするメモリ装置。
【請求項２】
前記コントローラは、前記訂正不可エラーの検出に応答して、前記訂正不可エラーに関するエラー情報を前記エラーインターフェイスを介して伝送することを特徴とする請求項１に記載のメモリ装置。
【請求項３】
前記第２通信経路は、前記第１通信経路に対する帯域外通信経路を含むことを特徴とする請求項１に記載のメモリ装置。
【請求項４】
前記第２通信経路は、少なくとも１つ以上の多様な通信リンクであるバス（Ｂｕｓ）を含むことを特徴とする請求項１に記載のメモリ装置。
【請求項５】
前記バスは、システム管理バス（ＳＭＢｕｓ）、Ｉ２Ｃバス（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｂｕｓ）、ＩＰＭＩバス（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ  Ｂｕｓ）、又はＭｏｄｂｕｓを含むことを特徴とする請求項４に記載のメモリ装置。
【請求項６】
前記第２通信経路は、前記第１通信経路よりも実質的に低速であることを特徴とする請求項１に記載のメモリ装置。
【請求項７】
前記第１通信経路は第１のデータレートを含み、前記第２通信経路は第２のデータレートを含み、
前記第２のデータレートは、前記第１のデータレートの１／１０以下であることを特徴とする請求項１に記載のメモリ装置。
【請求項８】
前記エラーインターフェイスは、エラー情報についてのポーリング（ｐｏｌｌｉｎｇ）を受信することができることを特徴とする請求項１に記載のメモリ装置。
【請求項９】
前記コントローラは、前記エラーインターフェイスを介してエラー情報をプッシュ（ｐｕｓｈ）するようにさらに構成されることを特徴とする請求項１に記載のメモリ装置。
【請求項１０】
メモリモジュールであって、
前記メモリモジュールからメインのメモリ経路である第１通信経路を介して前記メモリモジュールの外部へデータを通信するためのデータインターフェイスと、
前記メモリモジュールから前記データインターフェイス及び前記第１通信経路とは分離（ｓｅｐａｒａｔｅ）しているシステム制御経路である第２通信経路を介してメモリモジュールの外部へエラー情報を通信するためのエラーインターフェイスと、
前記メモリモジュールの内部にある複数のメモリ装置と、を有し、
前記複数のメモリ装置は、データインターフェイスとエラーインターフェイスとに各々結合され、
前記複数のメモリ装置の各々は、データを格納するメモリと、
前記データインターフェイス、前記エラーインターフェイス、及び前記メモリ装置の前記メモリと結合されるコントローラと、を含み、
前記コントローラは、メモリから読み出されたデータのエラーを訂正して訂正されたデータを生成し、前記エラーを訂正することに応答してエラー情報を生成し、前記データインターフェイスを介して前記訂正されたデータを伝送し、前記エラーインターフェイスを介して前記エラー情報を伝送するエラー訂正コード（ＥＣＣ）エンジンと、
前記ＥＣＣエンジンに応答してエラー情報を記録するように構成されたＥＣＣコントローラと、を含み、
前記各々のメモリ装置の前記コントローラは、訂正不可エラーに応答してデータストローブ信号を調整するよう構成され、
前記データインターフェイスは、前記複数のメモリ装置からの複数の前記データストローブ信号に基づいてモジュールデータストローブ信号を伝送することを特徴とするメモリモジュール。
【請求項１１】
前記第２通信経路は、前記第１通信経路に対する帯域外通信経路を含むことを特徴とする請求項１０に記載のメモリモジュール。
【請求項１２】
前記第２通信経路は、少なくとも１つ以上の多様な通信リンクであるバス（Ｂｕｓ）を含むことを特徴とする請求項１０に記載のメモリモジュール。
【請求項１３】
前記バスは、システム管理バス（ＳＭＢｕｓ）、Ｉ２Ｃバス（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｂｕｓ）、ＩＰＭＩバス（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ  Ｂｕｓ）、又はＭｏｄｂｕｓを含むことを特徴とする請求項１２に記載のメモリモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリシステムアーキテクチャに関し、さらに詳細にはエラー訂正を遂行するメモリ装置及びメモリモジュールに関する。
【背景技術】
【０００２】
メモリコントローラは、エラー訂正を遂行することができる。
例えば、メモリコントローラは６４ビットのデータと８ビットのパリティーとで構成された７２ビットのデータをメモリモジュールから読み出す。
また、メモリコントローラは他のエラー訂正技術を遂行する。
このようなエラー訂正技術を使用して、メモリモジュールから読み出されるデータに含まれるエラーを識別するか、或いは訂正することができる。その上に、メモリコントローラはエラーに関連した情報を生成する。
【０００３】
メモリコントローラを含むシステムは、上述したエラー情報に基づいて動作決定、例えば、メモリページの使用終了、システム中止、又はそのような動作を遂行する。
このようなメモリコントローラは、プロセッサに集積されている。
例えば、インテル（登録商標）社のジーオン（Ｘｅｏｎ（登録商標））プロセッサはエラー訂正を遂行できるメモリコントローラを内装している。
【０００４】
しかしながら、エラー訂正はメモリコントローラによって、受信される前に遂行されれば、エラー訂正と関連したエラー情報はメモリコントローラで使用不能になり、したがってシステムはシステム管理のための決定を遂行することができなくなるという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は上記従来のメモリコントローラにおける問題点に鑑みてなされたものであって、本発明の目的は、エラー訂正を遂行しつつ低費用及び低電力特性を提供するメモリ装置及びメモリモジュールを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するためになされた本発明によるメモリ装置は、メモリと、前記メモリ装置からメインのメモリ経路である第１通信経路を介して前記メモリ装置の外部へデータを通信するためのデータインターフェイスと、前記メモリ装置から前記第１通信経路から分離されているシステム制御経路である第２通信経路を介して前記メモリ装置の外部へエラー情報を通信するためのエラーインターフェイスと、前記メモリ装置の内部にあり、前記データインターフェイス、前記エラーインターフェイス、及び前記メモリに結合されたコントローラと、を有し、前記コントローラは、前記メモリから読み出されたデータのエラーを訂正して訂正されたデータを生成し、前記エラーを訂正することに応答してエラー情報を生成し、前記データインターフェイスを介して前記訂正されたデータを伝送し、前記エラーインターフェイスを介して前記エラー情報を伝送するエラー訂正コード（ＥＣＣ）エンジンと、前記ＥＣＣエンジンに応答してエラー情報を記録するように構成されたＥＣＣコントローラと、を含み、前記コントローラは、訂正不可エラーの検出に応答して前記データインターフェイスを通して伝達されるデータストローブ信号を調整し、前記訂正不可エラーを指示する信号を前記データストローブ信号と組み合わせることを特徴とする。
【０００８】
上記目的を達成するためになされた本発明によるメモリモジュールは、前記メモリモジュールからメインのメモリ経路である第１通信経路を介して前記メモリモジュールの外部へデータを通信するためのデータインターフェイスと、前記メモリモジュールから前記データインターフェイス及び前記第１通信経路とは分離（ｓｅｐａｒａｔｅ）しているシステム制御経路である第２通信経路を介してメモリモジュールの外部へエラー情報を通信するためのエラーインターフェイスと、前記メモリモジュールの内部にある複数のメモリ装置と、を有し、前記複数のメモリ装置は、データインターフェイスとエラーインターフェイスとに各々結合され、前記複数のメモリ装置の各々は、データを格納するメモリと、前記データインターフェイス、前記エラーインターフェイス、及び前記メモリ装置の前記メモリと結合されるコントローラと、を含み、前記コントローラは、メモリから読み出されたデータのエラーを訂正して訂正されたデータを生成し、前記エラーを訂正することに応答してエラー情報を生成し、前記データインターフェイスを介して前記訂正されたデータを伝送し、前記エラーインターフェイスを介して前記エラー情報を伝送するエラー訂正コード（ＥＣＣ）エンジンと、前記ＥＣＣエンジンに応答してエラー情報を記録するように構成されたＥＣＣコントローラと、を含み、前記各々のメモリ装置の前記コントローラは、訂正不可エラーに応答してデータストローブ信号を調整するよう構成され、前記データインターフェイスは、前記複数のメモリ装置からの複数の前記データストローブ信号に基づいてモジュールデータストローブ信号を伝送することを特徴とする。
【発明の効果】
【０００９】
本発明に係るメモリ装置及びメモリモジュールによれば、エラー訂正を遂行することを具現するのに必要である費用が低く、消費電力も減らすことができるメモリシステムを構成することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。
【図２】本発明の一実施形態に係るコントローラを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図３】本発明の一実施形態に係るベースボード管理コントローラを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図４】本発明の一実施形態に係るプロセッサベースのエラー訂正を遂行しないメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図５】本発明の一実施形態に係る汚染（ｐｏｉｓｏｎｅｄ）されたデータストローブ信号を含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図６】本発明の一実施形態に係る分離された訂正不能エラー信号を有するメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。
【図７】本発明の一実施形態に係るソフトウェアモジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図８】本発明の一実施形態に係るエラー検出及び訂正モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図９】本発明の一実施形態に係る集計モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図１０】本発明の一実施形態に係るメモリコントロールアーキテクチャモジュールから提供される情報を集計するエラー訂正モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図１１】本発明の一実施形態に係る１つのインターフェイスを共有する複数のモジュールを有するメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。
【図１２】本発明の一実施形態に係るインターフェイスを共有する訂正可能なエラーモジュール及び直列認識素子（ＰＳＤ）／レジスタークロックドライバ（ＲＣＤ）モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図１３】本発明の一実施形態に係るＤＲＡＭ内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図１４Ａ】本発明の実施形態に係るモジュール内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図１４Ｂ】本発明の実施形態に係るモジュール内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図１４Ｃ】本発明の実施形態に係るモジュール内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図１４Ｄ】本発明の実施形態に係るモジュール内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図１５】本発明の一実施形態に係るメモリモジュールを示す概略ブロック図である。
【図１６】本発明の一実施形態に係るＳＰＤ又はＲＣＤインターフェイスを有するメモリモジュールを示す概略ブロック図である。
【図１７】本発明の一実施形態に係る分離された訂正不可エラーインターフェイスを有するメモリモジュールを示す概略ブロック図である。
【図１８】本発明の一実施形態に係るメモリ装置を示す概略ブロック図である。
【図１９】本発明の他の実施形態に係るメモリ装置を示す概略ブロック図である。
【図２０】本発明の実施形態に係るメモリ装置を含むメモリモジュールを示す概略ブロック図である。
【図２１】本発明によるエラー情報を伝達する技術を説明するためのフローチャートである。
【図２２】本発明によるエラー管理技術を説明するためのフローチャートである。
【図２３】本発明の他の実施形態に係るエラー管理技術を説明するためのフローチャートである。
【図２４Ａ】本発明の一実施形態に係るエラー情報を伝達するための技術を説明するためのフローチャートである。
【図２４Ｂ】本発明の他の実施形態に係るエラー情報を伝達するための技術を説明するためのフローチャートである。
【図２５】本発明のさらに他の実施形態に係るエラー情報を伝達する技術を説明するためのフローチャートである。
【図２６】本発明のその他の実施形態に係るエラー情報を交換する方法を説明するためのフローチャートである。
【図２７】本発明の一実施形態に係るメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
【図２８】本発明の一実施形態に係るサーバーを示す概略ブロック図である。
【図２９】本発明の一実施形態に係るサーバーシステムを示す概略ブロック図である。
【図３０】本発明の一実施形態に係るデータセンターを示す概略ブロック図である。
【発明を実施するための形態】
【００１１】
次に、本発明に係るメモリ装置及びメモリモジュールを実施するための形態の具体例を図面を参照しながら説明する。
【００１２】
本発明はメモリシステムアーキテクチャに関する。以下の説明はこの分野で熟練された者によって製作され、使用される程度に開示する。したがって、本発明は多様な変更を加えることができ、様々な形態を有することができるので、特定実施形態を図面に例示し、本文で詳細に説明する。例示される実施形態は特定な実施を提供するための方法とシステムとについて説明される。
【００１３】
しかし、このような方法とシステムとは他の実施形態でも効果的に動作する。“例示的な実施形態”や“一実施形態”、及び“他の実施形態”が同一又は他の実施形態のみならず、多様な実施形態を参照する。この実施形態は特定構成を含むシステム及び／又は装置として表現することができる。しかし、本発明の実施形態に係るシステム及び／又は装置はさらに少ない構成を図示した構成よりさらに少ない数の構成を含んでもよく、配列の変更や構成の種類の変更が本発明の範囲を逸脱しない限度内で行われる。本発明の例示的な実施形態は特定段階を含む方法として説明する。しかし、そのような方法とシステム動作とは本発明の実施形態と矛盾されない及び／又は他の順序を有する追加的なステップを有する方法でも効果的に動作することができる。したがって、本発明の概念を適用した実施形態は図示した例のみに制限されないものとして理解しなければならない。
【００１４】
図１は、本発明の一実施形態に係るメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。
図１を参照すると、システム１００はプロセッサ１０４に結合されるメモリ１０２を含む。
【００１５】
メモリ１０２はデータを格納する。メモリ１０２からデータが読み出されれば、メモリ１０２はデータにエラーが存在する場合、エラーを訂正する。
例えば、メモリ１０２は１ビットエラーを訂正する。
メモリ１０２は２ビットエラーを検出する。
たとえば、例示のために特定ビット数のエラーが訂正されることと説明するが、メモリ１０２は特定ビット数のエラーを訂正するか、或いは検出することができる。
その上に、たとえ１ビット以上のエラー訂正技術で１ビットエラー訂正及び／又は２ビットエラーが検出されても、メモリ１０２は少なくとも１つのエラーを訂正することができる任意のエラー訂正技術を遂行する。
【００１６】
メモリ１０２はデータを格納するための装置を含む。
特定例において、メモリ１０２はＤＲＡＭモジュールである。
メモリ１０２は、ＤＤＲ、ＤＤＲ２、ＤＤＲ３、ＤＤＲ４、又はそのような多様な標準にしたがう二重データ率同期式ＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）であってもよい。
他の実施形態で、メモリ１０２はＳＲＡＭ、不揮発性メモリ、又はこのようなものと類似なものを含んでもよい。
【００１７】
メモリ１０２は、格納データのエラーを訂正するか、或いは訂正の試みに応答してエラー情報を生成する。
例えば、エラー情報は訂正されたエラー、訂正されないエラー、エラーの不在、又はそのようなエラーの数に対する情報を含む。
エラー情報は、実質的なエラー、エラーのアドレス、エラーが発生した回数、又はメモリ１０２に関連した他の特定情報を含む。
特定な例で、エラー情報はメモリ１０２が訂正した１ビットエラーを含む。たとえば、エラー情報が特定な例のみに対して説明するが、エラー情報はエラーと関連した何らかの情報でもさらに含み得る。
【００１８】
プロセッサ１０４は、メモリ１０２に結合される装置に提供され、命令語を実行する。
例えば、プロセッサ１０４は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、グラフィックプロセシングユニット（ＧＰＵ）、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）等であってもよい。
【００１９】
プロセッサ１０４は、第１通信経路１０６と第２通信経路１０８とを通してメモリ１０２に結合される。
プロセッサ１０４は、第１通信経路１０６を通してメモリ１０２からデータを受信する。
例えば、第１通信経路１０６は、データ信号、ストローブ信号、クロック信号、イネーブル信号等のような信号を伝達するための信号ラインを有するシステムメモリインターフェイスである。
このように、第１通信経路１０６はプロセッサ１０４とメモリ１０２との間でインターフェイシングを遂行するメーンメモリチャンネルの一部である。
【００２０】
プロセッサ１０４は、メモリ１０２と異なる通信経路、即ち、第２通信経路１０８を通しても結合される。
プロセッサ１０４は、第２通信経路１０８を通じてメモリ１０２からエラー情報を受信する。
一実施形態では、プロセッサ１０４は第１通信経路１０６ではない他の通信経路を通じて訂正されたエラー情報を受信してもよい。
訂正されたエラー情報は訂正されたエラーと関連した情報である。
先に説明したように、エラー情報は多様な形態のエラーと関連した情報を含む。
訂正されたエラー情報は訂正されたエラーと関連した情報形態と同様に提供される。
【００２１】
ソフトウェア１１０は、プロセッサ１０４に結合されることと説明したが、ソフトウェア１１０はプロセッサ１０４で実行される多様なプログラム、ドライバ、モジュール、ルーチンを示す。
例えば、ソフトウェア１１０は、ドライバ、カーネルモジュール、デーモン（ｄａｅｍｏｎ）、アプリケーションプログラム等を含む。
実施形態によっては、ソフトウェア１１０は以下で説明する特定機能をプロセッサ１０４で遂行できるようにする。
【００２２】
たとえば、１つのメモリ１０２を例示的に説明したが、第１、第２通信経路１０６、１０８と類似した２つの通信経路を通して任意の数のメモリ１０２がプロセッサ１０４と結合され得る。
一実施形態では、各々のメモリ１０２は他のメモリ１０２とは分離された専用の第１通信経路１０６と専用の第２通信経路１０８とを通してプロセッサ１０４と結合される。
しかし、他の実施形態では、第１通信経路１０６は１つ以上のメモリ１０２と共有され、第２通信経路１０８も１つ以上のメモリ１０２と共有されてもよい。
その上に、たとえば、１つの第１通信経路１０６を説明したが、１つ又はそれ以上のメモリ１０２の間に複数の第１通信経路１０６が存在し得る。
同様に、たとえば、１つの第２通信経路１０８を説明したが、１つ又はそれ以上のメモリ１０２の間に複数の第２通信経路１０８が存在し得ることは容易に理解することができる。
【００２３】
一実施形態において、エラー情報の通信が帯域外通信経路を通じて遂行される。
第２通信経路１０８は帯域外通信経路であってもよい。
即ち、プロセッサ１０４とメモリ１０２との間のメーン通信は第１通信経路１０６を通じて遂行され、エラー情報の交換は帯域外の第２通信経路１０８を通じて遂行される。
【００２４】
図２は、本発明の一実施形態に係るコントローラを含むメモリシステムアーキテクチャのシステムを示す概略ブロック図である。
この実施形態で、システム２００は図１のメモリ１０２、プロセッサ１０４、第１、第２通信経路１０６、１０８、及びソフトウェア１１０と類似したメモリ２０２、プロセッサ２０４、第１、第２通信経路２０６、２０８、及びソフトウェア２１０を含む。
しかし、第２通信経路２０８はコントローラ２１４と結合される第１バス２１２と、コントローラ２１４とプロセッサ２０４との間を結合する第２バス２１６を含む。
言い換えれば、プロセッサ２０４とメモリ２０２とを結合するコントローラ２１４は第２通信経路２０８の一部として提供される。
【００２５】
コントローラ２１４は、メモリ２０２とプロセッサ２０４とを結合する任意の装置である。
例えば、コントローラ２１４は、汎用プロセッサ、ＤＳＰ（Ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ）等を含む。
【００２６】
第１、第２バス（２１２、２１６）は多様な通信リンクである。
例えば、第１、第２バス（２１２、２１６）は、システム管理バス（Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｂｕｓ：ＳＭＢｕｓ）、Ｉ２Ｃバス（ｉｎｔｅｒ−ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、ＩＰＭＩバス（ｉｎｔｅｌｌｉｇｅｎｔ  ｐｌａｔｆｏｒｍ  ｍａｎａｇｅｍｅｎｔ  ｉｎｔｅｒｆａｃｅ）、Ｍｏｄｂｕｓ等を含む。
【００２７】
特定の実施形態で、第２通信経路２０８の一部は第１通信経路２０６より実質的に低速に動作する。
例えば、メモリ２０２とプロセッサ２０４との間の第１通信経路２０６のデータ率は１０ＧＢ／ｓ以上の伝送速度を有するように設計するが、第２通信経路２０８は１０Ｍｂｉｔ／ｓ、１００ｋｂｉｔ／ｓのような低い伝送速度を有するようにする。
したがって、一部の実施形態で、第２通信経路２０８に対する第１通信経路２０６の伝送速度比率は約１００や１０００、又はそれ以上になってもよい。
【００２８】
一実施形態では、第２通信経路２０８は通信専用として使用される。
即ち、第２通信経路２０８はメモリ２０２とプロセッサ２０４との間で情報の通信用のみに使用される。
しかし、他の実施形態ではコントローラ２１４は他の装置が結合することを許容する。
例えば、非メモリ装置２６８がバス２１２によってコントローラ２１４に結合されてもよい。
また他の実施形態で、他の装置２６６がコントローラ２１４に結合されてもよい。
したがって、メモリ２０２から提供されない情報はプロセッサ２０４及び／又はメモリ２０２にバス２１２及び／又はバス２１６によって伝達される。
特に、メモリ２０２から提供されるエラー情報は非メモリの用途を含む他の目的に使用される第２通信経路２０８を通じてプロセッサ２０４に伝達される。
【００２９】
一実施形態では、コントローラ２１４は不揮発性メモリ（ＮＶＭ）２５４を含む。不揮発性メモリ２５４はメモリ２０２から提供されるエラー情報を格納する。
したがって、エラー情報は電源が遮断されでもコントローラ２１４に保存される。
プロセッサ２０４はコントローラ２１４にエラー情報を要請する。
したがって、コントローラ２１４は、不揮発性メモリ２５４に格納されたエラー情報を提供することによって、そのような要請に応答し、プロセッサ２０４の要請にしたがってエラー情報を読み出す（ｒｅｔｒｉｅｖｅ）ためにメモリ２０２にアクセスする。
【００３０】
一実施形態では、コントローラ２１４はエラー情報を取得するためにメモリ２０２に対するポーリング（ｐｏｌｌｉｎｇ）を遂行する。
他の実施形態では、メモリ２０２はコントローラ２１４にエラー情報をプッシュすることもある。
不揮発性メモリ２５４に格納されたエラー情報は実質的に最新の情報にアップデートされる。
【００３１】
図３は、本発明の一実施形態に係るベースボード管理コントローラ（ＢＭＣ）を含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム３００は、図２のメモリ２０２、プロセッサ２０４、第１、第２通信経路２０６、２０８、及びソフトウェア２１０と同様なメモリ３０２、プロセッサ３０４、第１、第２通信経路３０６、３０８、及びソフトウェア３１０を含む。
しかし、コントローラは、ベースボード管理コントローラ３１４（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ：以下、ＢＭＣ）で提供される。
【００３２】
ベースボード管理コントローラ３１４はシステム３００を管理する。
例えば、ベースボード管理コントローラ３１４は、プロセッサ３０４、メモリ３０２、他の装置３６６等のセンサーを含むシステム３００の多様なセンサーと結合される。
ベースボード管理コントローラ３１４は、温度、クーリング状態、電力状態等の多様なシステムパラメーターを収集し、報告する。
ベースボード管理コントローラ３１４は、システム３００を管理し、標準にしたがって情報へのアクセスを可能にする。
管理情報は、プロセッサ３０４やソフトウェア３１０によって生成される。
又は、ベースボード管理コントローラ３１４は、帯域外通信経路のようなその他の通信経路を通して情報を利用できるようにする。ここで、帯域外通信経路はプロセッサ３０４を含まない任意の通信経路を含む。
【００３３】
図４は、本発明の一実施形態に係るプロセッサベースのエラー訂正を遂行しないメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態で、システム４００は、図１のメモリ１０２、プロセッサ１０４、第１、第２通信経路１０６、１０８、及びソフトウェア１１０と同様なメモリ４０２、プロセッサ４０４、第１、第２通信経路４０６、４０８、及びソフトウェア４１０を含む。
しかし、この実施形態では、プロセッサ４０４はメモリコントローラ（ＭＣ）４５０とＭＣＡ（ｍａｃｈｉｎｅ  ｃｈｅｃｋ  ａｒｃｈｉｔｅｃｔｕｒｅ）レジスター４５２とを含む。
【００３４】
メモリコントローラ４５０はプロセッサ４０４に集積される。
メモリコントローラ４５０はプロセッサ４０４とメモリ４０２との間のメーンインターフェイスに該当するメーンメモリチャンネルの一部である。
メモリコントローラ４５０は第１通信経路４０６を通したメモリ４０２へのアクセスを制御する。
実施形態よっては、メモリコントローラ４５０はメモリ４０２で遂行されるエラー訂正演算によって訂正される機会を有しないエラーを訂正する。
しかし、この実施形態ではメモリコントローラ４５０はメモリ４０２から読み出されたデータに対するエラー訂正は遂行しない。
メモリコントローラ４５０はメモリ４０２から読み出されたデータに基づいた何らかのエラー情報も報告しない。
【００３５】
ＭＣＡレジスター４５２は、ハードウェアエラーが報告されるレジスターである。
例えば、キャッシュエラー、バスエラー、データエラー等のようなエラーが検出され、ＭＣＡレジスター４５２に報告される。
しかし、メモリコントローラ４５０がメモリ４０２から読み出されたデータのエラーを訂正しないので、メモリ４０２から読み出されたデータに基づいた潜在的なエラー情報はＭＣＡレジスター４５２に記録されない。
上述したことにも関わらず、エラー情報は第２通信経路４０８を通してプロセッサ４０４に伝達される。
このようにして、エラー情報はメモリコントローラ４５０とＭＣＡレジスター４５２とが訂正しなくとも、ソフトウェア４１０によってアクセス可能である。
【００３６】
一実施形態では、低費用のシステム４００の設計のためにエラー情報の伝送は第２通信経路４０８を通して遂行されてもよい。
例えば、エラー訂正が使用されないメモリコントローラ４５０がプロセッサ４０４に含まれ、エラー情報にアクセス可能に設計されてもよい。
特に、メモリのエラー訂正が要求されても、第２通信経路４０８を通じてアクセス可能であるエラー情報が存在するので、メモリエラー訂正機能が無いプロセッサ４０４が使用される。
したがって、エラー情報を使用する任意のソフトウェアを含むソフトウェア４１０は、プロセッサ４０４がメモリエラー訂正を遂行するよう動作する。
エラー訂正機能が無いプロセッサ４０４は低費用、低消費電力で具現することができる。したがって、システム４００に所望される諸般消耗電力と費用とを減少させることができる。
【００３７】
たとえば、メモリコントローラ４５０がプロセッサ４０４に集積されることとして説明したが、メモリコントローラ４５０はプロセッサ４０４と分離してもよい。
第２通信経路４０８がメモリコントローラ４５０及びプロセッサ４０４の他の部分をバイパスするが、他のエラー訂正回路を有する。
このような第２通信経路４０８を通したエラー情報のバイパス方式は、メモリコントローラ４５０、ＭＣＡレジスター４５２等の特性に独立的なエラー情報の通信が可能にする。
即ち、類似する情報がメモリコントローラ４５０及び／又はＭＣＡレジスター４５２にはアクセスできないが、エラー情報はアクセス可能である。
【００３８】
図５は、本発明の一実施形態に係る汚染（ｐｏｉｓｏｎｅｄ）されたデータストローブ信号を含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム５００は、図１のメモリ１０２、プロセッサ１０４、第１、第２通信経路１０６、１０８、及びソフトウェア１１０と同様なメモリ５０２、プロセッサ５０４、第１、第２通信経路５０６、５０８、及びソフトウェア５１０を含む。
しかし、この実施形態では、第１通信経路５０６はデータライン５３２とデータストローブライン５３３とを含む。他のラインも第１通信経路５０６の一部に含まれるが、説明を簡単にするためにこれらのラインは省略する。
【００３９】
一実施形態では、訂正不能エラーに対するエラー情報と訂正可能エラーに対するエラー情報とは互に異なる経路を通じて伝達されてもよい。
上述したように、訂正可能エラー情報は第２通信経路５０８を通じて伝達される。
反面、訂正不可であるエラー情報は訂正不可であるエラーに基づいた多様な互に異なる形態の情報を含む。
訂正不可エラー情報は第１通信経路５０６を通じて伝達される。
例えば、メモリ５０２はデータストローブライン５３３を通じて伝達される信号によって訂正不可であるエラー情報を伝達する。
【００４０】
即ち、正常的なデータ伝送の時、データが伝送されることによって、データストローブライン５３３を通して伝達されるデータストローブ信号が切り替えられる（ｔｏｇｇｌｅ）。しかし、メモリ５０２が訂正不能エラーを検出した場合、メモリ５０２は正常的なデータ伝送の時のデータストローブ信号とは異なるデータストローブ信号を生成してデータストローブライン５３３を通して伝送する。
特定の実施形態では、メモリ５０２はデータストローブライン５３３を通して伝達されるデータストローブ信号を切り替えなくともよい。
このような条件が検出されれば、プロセッサ５０４はソフトウェア５１０によって管理されるハードウェア例外条件を生成する。
【００４１】
たとえば、訂正不可であるエラーを伝達するための技術の例として第１通信経路５０６の内部に信号及びラインが使用したが、他の信号やラインがプロセッサ５０４に訂正不可であるエラーを伝達するために使用されることは良く理解できる。
伝達される方式に拘わらず、プロセッサ５０４は、システム５００の中止や他のアクションを遂行する等によって訂正不能エラーの伝達に応答する。
【００４２】
図６は、本発明の一実施形態に係る分離された訂正不能エラー信号を有するメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。
この実施形態では、システム６００は、図１のメモリ１０２、プロセッサ１０４、第１、第２通信経路１０６、１０８、そしてソフトウェア１１０と同様の、メモリ６０２、プロセッサ６０４、第１、第２通信経路６０６、６０８、そしてソフトウェア６１０を含む。
しかし、この実施形態では、分離された第３通信経路６３４がメモリ６０２とプロセッサ６０４との間を結合する。
【００４３】
図５のシステム５００と同様に、訂正不可エラー情報がプロセッサ６０４に伝達される。
この実施形態では、メモリ６０２は第３通信経路６３４を通じて訂正不可エラー情報を伝達する。
例えば、第３通信経路６３４は、第１通信経路６０６とは分離されてエラー情報のみを伝達する。
したがって、訂正不能エラーに対応するエラー情報は、第１及び第２通信経路６０６、６０８ではない通信経路を通じてプロセッサ６０４に受信される。
【００４４】
図７は、本発明の一実施形態に係るソフトウェアモジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム７００は、図１のメモリ１０２、プロセッサ１０４、第１、第２通信経路１０６、１０８、そしてソフトウェア１１０と同様な、メモリ７０２、プロセッサ７０４、第１、第２通信経路７０６、７０８、そしてソフトウェア７１０を含む。
しかし、この実施形態では、ソフトウェア７１０はモジュール７１８を含む。
【００４５】
モジュール７１８は、プロセッサ７０４を通してエラー情報にアクセスするソフトウェア７１０の一部を示す。
例えば、モジュール７１８は、カーネルモジュール、ドライバ、拡張モジュールを含む。
モジュール７１８は、第２通信経路７０８と関連したインターフェイスを駆動するためのドライバを含む。
【００４６】
特定の実施形態では、モジュール７１８は、ＩＰＭＩバス、ＩＰＭＩ２バス等と関連したドライバを含む。
情報（他の情報）７２０は、ソフトウェア７１０によってアクセスされてもよい。
情報（エラー情報）７２２にはエラー情報７２２と関連したソフトウェア７１０の部分が記述されている。
一実施形態では、モジュール７１８は、プロセッサ７０４がメモリ７０２にエラー情報を要請するようにする。
例えば、メモリ７０２はエラー情報を生成する。
次に、プロセッサ７０４は第２通信経路７０８を通してエラー情報の要請を伝送する。
メモリ７０２は、第２通信経路７０８を通して伝達されるエラー情報に対する要請に応答する。
【００４７】
図８は、本発明の一実施形態に係るエラー検出及び訂正モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム８００は、図７のメモリ７０２、プロセッサ７０４、第１、第２通信経路７０６、７０８、及び情報７２０、７２２に応答して動作するモジュール７１８を含むソフトウェア７１０と同様の構成であるメモリ８０２、プロセッサ８０４、第１、第２通信経路８０６、８０８、及び情報８２０、８２２に応答して動作するモジュール８１８を含むソフトウェア８１０を含む。
しかし、この実施形態では、ソフトウェア８１０はエラー検出及び訂正モジュール（Ｅｒｒｏｒ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ（ＥＤＡＣ）ｍｏｄｕｌｅ）８２４を含む。
【００４８】
一実施形態では、エラー検出及び訂正モジュール８２４は、メモリ、キャッシュ、入出力装置、周辺装置、バス、及び／又はシステム８００の他の部分から提供されるエラー情報を管理することができ、アプリケーションレイヤーのような高機能レイヤーにそのような情報を露出（ｅｘｐｏｓｅ）させることができる。
特に、エラー検出及び訂正モジュール８２４は、モジュール８１８からエラー情報を受信する。
エラー検出及び訂正モジュール８２４は、エラー情報と他の情報とを組み合わせて、他のモジュール、アプリケーション等がエラー情報にアクセス可能にする。
【００４９】
図９は、本発明の一実施形態に係る集計モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム９００は、図７のメモリ７０２、プロセッサ７０４、第１、第２通信経路７０６、７０８、及び情報７２０、７２２に応答して動作するモジュール７１８を含むソフトウェア７１０と同様な、メモリ９０２、プロセッサ９０４、第１、第２通信経路９０６、９０８、及び情報９２０、９２２に応答して動作する第１モジュール９１８を含むソフトウェア９１０を含む。
しかし、この実施形態では、ソフトウェア９１０は第２モジュール９２６を含む。
【００５０】
第２モジュール９２６は、情報９２０を受信する。
特に、この情報９２０はメモリ９０２と関連がない情報を含む。
情報９２０の一部の情報９２１は、第１モジュール９１８によって受信される。
第１モジュール９１８は第２モジュール９２６から提供される情報の一部（９２１）や全部（９２０）と情報（エラー情報）９２２とを組み合わせる。
第１モジュール９１８は、単一インターフェイスに組み合わされた情報を提供する。
例えば、第１モジュール９１８は、図８のエラー検出及び訂正モジュール８２４のようなエラー検出及び訂正モジュールに組み合わされた情報を提供する。
【００５１】
図１０は、本発明の一実施形態に係るメモリコントロールアーキテクチャモジュールから提供される情報を集計するエラー訂正モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム１０００は、図９のメモリ９０２、プロセッサ９０４、第１、第２通信経路９０６、９０８、及び情報９２０、９２２に応答して動作する第１、第２モジュール（９１８、９２６）を含むソフトウェア９１０と同様な、メモリ１００２、プロセッサ１００４、第１、第２通信経路１００６、１００８、及び情報１０２０、１０２２に応答して動作するモジュール（１０１８、１０２６）を含むソフトウェア１０１０を含む。
しかし、この実施形態では、第１モジュールはエラー訂正（ＥＣ）モジュール１０１８であり、第２モジュールはＭＣＡモジュール１０２６である。
【００５２】
ＭＣＡモジュール１０２６は、図４のＭＣＡレジスター４５２のようなＭＣＡレジスターのアクセスを制御する。
情報１０２０はＭＣＡレジスター４５２から提供される情報を示す。
エラー訂正（ＥＣ）モジュール１０１８は、情報１０２０を読み出すためにＭＣＡモジュール１０２６にアクセスする。
エラー訂正（ＥＣ）モジュール１０１８は、ＭＣＡモジュール１０２６から提供される情報１０２０と組み合わせ、組み合わされた情報を単一インターフェイスに提供する。
【００５３】
特に、エラー訂正（ＥＣ）モジュール１０１８は、プロセッサ１００４がエラーを訂正するようにするＭＣＡモジュール１０２６が類似であるか、或いは同一の方式にインターフェイスを提供する。
例えば、プロセッサ１００４がメモリ１００２から読み出されるデータのエラーを訂正し、そのような情報がアクセス可能である場合、ＭＣＡモジュール１０２６によってもその情報はアクセス可能になる。
しかし、プロセッサ１００４がメモリ１００２から読み出されるデータのエラーを訂正しないように構成されるか、或いはプロセッサ１００４がエラーは訂正するが、メモリ１００２でエラーが訂正されることによって、ＭＣＡモジュール１０２６によってモニターリングされる通信経路を通じてエラー情報を受信しない場合、ＭＣＡモジュール１０２６はエラー情報を提供することができない。
【００５４】
エラー訂正（ＥＣ）モジュール１０１８が第２通信経路１００８を通じて取得した情報１０２０と情報１０２２とを組み合わせ、ＭＣＡモジュール１０２６が提供してプロセッサ１００４によってメモリ１００２から読み出されたデータのエラーを訂正するようにした情報やＭＣＡモジュール１０２６によってアクセス可能であった情報と類似であるか、或いは同一の組み合わされた情報を提供する。
ソフトウェア１０１０は、プロセッサ１００４がエラー訂正機能を提供するか否かに関係なく、インターフェイスを使用する。
言い換えれば、エラー訂正機能を有するプロセッサ１００４はエラー情報に依存的なソフトウェアの諸般動作のために必須的なことではない。
結果的に、エラー訂正機能が無いプロセッサ１００４によって費用節減が可能である。
【００５５】
図１１は、本発明の一実施形態に係る１つのインターフェイスを共有する複数のモジュールを有するメモリシステムアーキテクチャを有するシステムを示す概略ブロック図である。
この実施形態では、システム１１００は、図７のメモリ７０２、プロセッサ７０４、第１、第２通信経路７０６、７０８、及び情報７２０、７２２に応答して動作するソフトウェア７１０と同様な、メモリ１１０２、プロセッサ１１０４、第１、第２通信経路１１０６、１１０８、及び情報１１２０、１１２２に応答して動作するソフトウェア１１１０を含む。
しかし、この実施形態では、ソフトウェア１１１０は、第１モジュール１１１８、第２モジュール１１２８、そしてインターフェイスモジュール１１３０を含む。
【００５６】
第１モジュール１１１８は、図７のモジュール７１８と同様である。
しかし、第１モジュール１１１８は、インターフェイスモジュール１１３０を通してメモリ１１０２からエラー情報を受信する。
インターフェイスモジュール１１３０は、第２通信経路１１０８にインターフェイスを提供するためのモジュールである。
例えば、インターフェイスモジュール１１３０はＩＰＭＩバスを経由してアクセスを許容するモジュールである。
【００５７】
第２モジュール１１２８のような他のモジュールもインターフェイスモジュール１１３０を通して通信を遂行する。
例えば、第２モジュール１１２８は、ＩＰＭＩバスに接続されるその他の装置にアクセスするか、或いは熱情報や電力情報のようなメモリ１１０２の他の部分にアクセスする。
エラー情報や他の情報の両方はインターフェイスモジュール１１３０によって伝達される情報１１２２の一部分である。
言い換えれば、エラー情報は、関連又は非関連した情報やソースを共有するモジュール、インターフェイス、バス等のすべての経路専用のソフトウェアを使用して伝送される。
【００５８】
図１２は、本発明の一実施形態に係るインターフェイスを共有する訂正可能なエラーモジュール及び直列認識素子（ＰＳＤ）／レジスタークロックドライバ（ＲＣＤ）モジュールを含むメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム１２００は、図１１のメモリ１１０２、プロセッサ１１０４、第１、第２通信経路１１０６、１１０８、及び情報１１２０、１１２２に応答して動作するモジュール（１１１８、１１２８、１１３０）を含むソフトウェア１１１０と同様な、メモリ１２０２、プロセッサ１２０４、第１、第２通信経路１２０６、１２０８、及び情報１２２０、１２２２に応答して動作するモジュール（１２１８、１２２８、１２３０）を含むソフトウェア１１１０を含む。
しかし、この実施形態では、第１モジュールは訂正されたエラー（ＣＥ）モジュール１２１８であり、第２モジュールは、直列認識検出素子（ｓｅｒｉａｌ  ｐｒｅｓｅｎｃｅ  ｄｅｔｅｃｔ：ＳＰＤ）／レジスタークロックドライバ（ＲＣＤ）モジュール１２２８である。
【００５９】
特に、ＳＰＤ／ＲＣＤモジュール１２２８は、直列認識検出システム及び／又はレジスタークロックドライバシステムに関連した情報にアクセスする。
ＳＰＤ／ＲＣＤモジュール１２２８は、１つ又は全てのシステムにアクセスするように構成される。
情報は、第２通信経路１２０８を通じてアクセスされる。
したがって、一実施形態でメモリ１２０２から提供されるエラー情報は、ＳＰＤ／ＲＣＤに関連した情報として第２通信経路１２０８を通じてアクセスされる。
【００６０】
図１３は、本発明の一実施形態に係るＤＲＡＭ内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム１３００は、図１０のメモリ１００２、プロセッサ１００４、及び情報１０２０、１０２２に応答して動作するエラー訂正モジュール１０１８とＭＣＡモジュール１０２６と同様な、メモリ１３０２、プロセッサ１３０４、及び情報１３２０、１３２２に応答して動作するエラー訂正モジュール１３１８とＭＣＡモジュール１３２６を含むカーネル１３１０を含む。
しかし、この実施形態では、メモリの各々は、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｉｎｇ）機能を有するデュアルラインメモリモジュール（以下、ＥＣＣ  ＤＩＭＭ）１３０２として提供される。
【００６１】
各々の「ＥＣＣ  ＤＩＭＭ」１３０２はデータを格納し、格納されたデータに対するエラー訂正を遂行する。
この実施形態では、「ＥＣＣ  ＤＩＭＭ」１３０２は対応する通信経路１３６４を通じてプロセッサ１３０４のメモリコントローラ１３５０に結合される。
通信経路１３６４は、図５の第１通信経路５０６と同様な、データ信号とデータストローブ信号とを伝達するためのラインを含む。
「ＥＣＣ  ＤＩＭＭ」１３０２は、図３のバス３１２、ＢＭＣ３１４、及びバス３１６と同様なバス１３１２、ＢＭＣ１３１４、バス１３１６を含む第２通信経路１３０８を通してプロセッサ１３０４に結合される。
【００６２】
一実施形態では、「ＥＣＣ  ＤＩＭＭ」１３０２は、「ＥＣＣ  ＤＩＭＭ」１３０２から読み出されるデータから１つ又はそれ以上のエラーを訂正する。
エラー訂正技術は、シングルエラー訂正−ダブルエラー検出（ＳＥＣ−ＤＥＣ）技術、シングルチップチップキル技術（ｓｉｎｇｌｅ−ｃｈｉｐ  ｃｈｉｐｋｉｌｌ  ｔｅｃｈｎｉｑｕｅ）、ダブルチップチップキル技術等である。
何らかのエラー訂正技術であってもよい。
【００６３】
この実施形態では、メモリコントローラ１３５０は、エラー訂正を遂行しないように設定されるか、或いは選択的に「ＥＣＣ  ＤＩＭＭ」１３０２からエラー情報を受信しない。
「ＥＣＣ  ＤＩＭＭ」１３０２を経由するデータは既にエラーが訂正されたもので、メモリコントローラ１３５０は訂正可能であるエラーを指示する何らかの情報も受けない。
しかし、エラー情報、特に、訂正されたエラー情報は、バス１３１２、１３１６、及びＢＭＣ１３１４のような第２通信経路１３０８を通してプロセッサ１３０４に伝達される。
【００６４】
一実施形態では、プロセッサ１３０４は、エラー訂正が不可であるが、バス１３１６と結合されるためのインターフェイスを有するプロセッサである。
しかし、プロセッサ１３０４がカーネル１３１０、特に、エラー訂正（ＥＣ）モジュール１３１８によって一度設定されれば、全体のシステム１３００はエラー訂正機能を有するプロセッサを含むシステムと同様にエラー訂正演算を遂行する。
【００６５】
一実施形態では、エラー訂正（ＥＣ）モジュール１３１８は、エラー訂正インターフェイスを有する仮想メモリコントローラを生成する。
例えば、上述したように、エラー訂正（ＥＣ）モジュール１３１８は、ＭＣＡモジュール１３２６から情報を受けるように設定される。
この時、情報はエラー訂正インターフェイスを有する実際のメモリコントローラが提供する一部又はすべてのエラー情報を含まない情報である。
エラー訂正（ＥＣ）モジュール１３１８は、メモリコントローラのＥＣＣインターフェイスから期待される情報の完成セットを生成するためのエラー情報をＭＣＡモジュール１３２６からの情報で補完する。
結果的に、エラー検出及び訂正（以下、ＥＤＡＣ）モジュール１３２４、メモリＥＣＣデーモン１３５８、他のアプリケーションプログラム１３６０等は、エラー訂正を遂行するために使用されるプロセッサで変更無しで使用される。
【００６６】
例えば、ＥＤＡＣモジュール１３２４は、メモリＥＣＣ情報をためにＥＣモジュール１３１８をポーリングするように構成される。
返報として、ＥＣモジュール１３１８は第２通信経路１３０８を通じて受信されるエラー情報を返す。
ＥＤＡＣモジュール１３２４と通信するメモリＥＣＣデーモン１３５８はエラー情報を取得するためにＥＤＡＣモジュール１３２４をポーリング（ｐｏｌｌｉｎｇ）する。
その後に、メモリＥＣＣデーモン１３５８はアプリケーションレベルでエラー情報に対応するアクションを取る。
上述したアクションにはページ満了、システム１３００を動作させるための他のエラー管理動作、信頼性レベルを維持するための動作、廃棄推薦等を含む。
【００６７】
上述したように、訂正不可であるエラーは検出される。
訂正不可であるエラー情報は、メモリコントローラ１３５０、ＭＣＡレジスター１３５２、及びＭＣＡモジュール１３２６を通してエラー訂正（ＥＣ）モジュール１３１８に伝達される。
例えば、訂正不可であるエラーは、ＭＣＡモジュール１３２６を通してマスク不可インタラプト（ｎｏｎ−ｍａｓｋａｂｌｅ  ｉｎｔｅｒｒｕｐｔ）、例外（ｅｘｃｅｐｔｉｏｎ）等によって伝達される。
特定の実施形態では、メモリコントローラ１３５０は、メモリコントローラ１３５０にどのようにして伝達されたか否かに関わらず、訂正不可であるエラーに応答してハードウェア例外を生成する。
ＭＣＡモジュール１３２６は、上述した例外情報をインタラプトしてエラー訂正モジュール１３１８に伝達する。
そうすると、エラー訂正モジュール１３１８は、例外情報をＥＤＡＣモジュール１３２４に伝達する。
上述したように訂正不可であるエラー情報に加えるか、又は伝達する代わりに、訂正不可であるエラー情報は第２通信経路１３０８を通じて伝達される。
【００６８】
一実施形態では、「ＥＣＣ  ＤＩＭＭ」１３０２は、訂正されたデータをプロセッサ１３０４に伝達する。
しかし、訂正されたデータは「ＥＣＣ  ＤＩＭＭ」１３０２とメモリコントローラ１３５０との間で破損（ｃｏｒｒｕｐｔｅｄ）される。
したがって、「ＥＣＣ  ＤＩＭＭ」１３０２とプロセッサ１３０４又はメモリコントローラ１３５０との間で何らかの形のエラー訂正が遂行される。
例えば、「ＥＣＣ  ＤＩＭＭ」１３０２から伝達されるデータは、通信リンク１３６４上で発生するエラー検出の代わりにエラー訂正コードによるエンコーディングによって処理される。
このようなエラー訂正によって、「ＥＣＣ  ＤＩＭＭ１３０２」の格納要素（ｓｔｏｒａｇｅ  ｅｌｅｍｅｎｔ）からプロセッサ１３０４に伝達される全体経路がエラーから保護される。
【００６９】
図１４Ａ〜図１４Ｄは、本発明の実施形態に係るモジュール内エラー訂正技術を使用するメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
図１４Ａを参照すると、システム１４００は、図１３のシステムと同様な構成を含むが、この実施形態では、「ＥＣＣ  ＤＩＭＭ」１４０２はバッファ１４６２を含む。
【００７０】
バッファ１４６２は、「ＥＣＣ  ＤＩＭＭ」１４０２から読み出されるデータに含まれるエラーを訂正する。
特に、「ＥＣＣ  ＤＩＭＭ」１４０２のＤＲＡＭのような内部メモリ装置から非訂正データが読み出される。
バッファ１４６２は、非訂正データのエラーを訂正し、他のメモリで説明したのと同様にエラー情報を生成する。
上述したエラー情報は、第２通信経路１４０８を通じて伝達され、先に説明した方法によって使用される。
即ち、エラー情報は生成された方式に関わらず、上述した多様な方法によって使用される。
【００７１】
図１４Ｂを参照すると、システム１４００の構成は、図１４Ａのそれらと同様である。
しかし、この実施形態では、ＥＤＡＣモジュール１４２４はＭＣＡモジュール１４２６と情報を交換する。
例えば、ＥＤＡＣモジュール１４２４は、ハードウェア関連情報、訂正不能エラー情報、又はＭＣＡモジュール１４２６によって使用される情報を取得するためにＭＣＡモジュール１４２６をポーリングする。
ＥＤＡＣモジュール１４２４は、ＭＣＡモジュール１４２６から提供される情報とエラー訂正（ＥＣ）モジュール１４１８から伝達される情報とを組み合わせる。
【００７２】
図１４Ｃを参照すれば、システム１４００の構成は、図１４Ａのそれらと同様である。
しかし、この実施形態では、ＭＣＥＬＯＧモジュール１４２５は、エラー訂正モジュール１４１８から提供される情報を受信する。
ＭＣＥＬＯＧ（Ｍａｃｈｉｎｅ  Ｃｈｅｃｋ  Ｅｖｅｎｔｓ  ＬＯＧ）モジュール１４２５は、メモリエラー、データ伝送エラー等のような多様なシステムエラーと関連されたマシンチェックイベント（ＭＣＥｓ）を記録する。
ＭＣＥＬＯＧモジュール１４２５は、メモリＥＣＣデーモン１４５８にインタラプトを伝達し、メモリＥＣＣデーモン１４５８にエラー情報を引き渡す。
【００７３】
図１４Ｄを参照すると、システム１４００の構成は、図１４Ｃのそれらと同様である。
しかし、この実施形態では、図１４Ａと図１４Ｂとの間の相違点と同様に、ＭＣＥＬＯＧモジュール１４２５は、図１４ＢのＥＤＡＣモジュール１４２４と同様にＭＣＡモジュール１４２６から提供される情報を受信する。
図１４Ａ〜図１４Ｄでバッファ１４６２を含む「ＥＣＣ  ＤＩＭＭ」１４０２に対して説明したけれども、「ＥＣＣ  ＤＩＭＭ」１３０２を含む図１３のシステム１３００に対し多様な変更の適用が可能である。
【００７４】
図１５は、本発明の一実施形態に係るメモリモジュールを示す概略ブロック図である。
メモリモジュール１５００は、１つ又はそれ以上のメモリ装置１５０１、データインターフェイス１５３６、エラーインターフェイス１５３８、及びコントローラ１５４１を含む。
【００７５】
データインターフェイス１５３６は、メモリ装置１５０１に格納されたデータ１５４０を伝送し、受信する。
メモリモジュール１５００は、１つ又はそれ以上のメモリ装置１５０１から読み出されたデータからエラー情報を生成する。
エラーインターフェイス１５４２は、１つ又はそれ以上のメモリ装置１５０１から読み出されたデータのエラー訂正に応答して生成されたエラー情報を伝送する。
【００７６】
データインターフェイス１５３６は、メモリ装置１５０１に格納されたデータが伝送される経路を提供し、メモリ装置１５０１に格納されるデータ１５４０の受信経路を提供する。
例えば、データインターフェイス１５３６は、バッファ、ドライバ回路、終端回路、又はデータライン、ストローブライン、アドレスライン、イネーブルライン等の伝送ラインのための他の回路を含む。
エラーインターフェイス１５３８は、ＳＭＢｕｓ、ＩＰＭＩ、又はここで紹介した他のバスのような特定バスを通じて通信するインターフェイスである。
【００７７】
一実施形態では、エラーインターフェイス１５３８は、メモリモジュール１５００が他の情報と共にエラー情報を交換するための既存のインターフェイスであってもよい。
したがって、情報１５４２はエラー情報のみならず、他の情報も含む。
コントローラ１５４１は、メモリ装置１５０１、データインターフェイス１５３６、及びエラーインターフェイス１５３８と結合される。
コントローラ１５４１は、エラー情報を取得するように構成される。一実施形態で、コントローラ１５４１はメモリ装置１５０１からエラー情報を取得できるが、他の実施形態ではコントローラ１５４１はメモリ装置１５０１から読み出されたデータからエラーを訂正し、エラー情報を生成する。
【００７８】
一実施形態では、コントローラ１５４１は、データインターフェイス１５３６を通して訂正不可エラーを伝送する。
例えば、先に説明したように、データストローブ信号が訂正不能エラーを示す。
コントローラ１５４１は、訂正不能エラーの検出に応答してデータインターフェイス１５３６を通して伝送されるストローブ信号を調整する。
【００７９】
図１６は、本発明の一実施形態に係るＳＰＤ又はＲＣＤインターフェイスを有するメモリモジュールを示す概略ブロック図である。
この実施形態では、メモリモジュール１６００は、図１５で説明した１つ又はそれ以上のメモリ装置１５０１、データインターフェイス１５３６、エラーインターフェイス１５３８、及びコントローラ１５４１と同様な、１つ又はそれ以上のメモリ装置１６０１、データインターフェイス１６３６、ＳＰＤ／ＲＣＤインターフェイス１６３８、及びコントローラ１６４１を含む。
しかし、図１５のエラーインターフェイス１５３８は、ここではＳＰＤ／ＲＣＤインターフェイス１６３８に入れ替えている。
【００８０】
ＳＰＤ／ＲＣＤインターフェイス１６３８は、直列素子認識（ＳＰＤ）システムやＲＣＤシステムにアクセスを提供するために使用される。
特定の実施形態では、エラー情報は上述したＳＰＤやＲＣＤシステム内の特定レジスターやメモリ領域を通して提供される。
したがって、エラー情報は、ＳＰＤやＲＣＤシステムの情報を取得することと同様に取得される。
エラー情報が既存のハードウェアインターフェイスを通してアクセス可能にするので、追加的なハードウェアは不必要である。
【００８１】
例えば、エラー情報へのアクセスを目的にＳＰＤ／ＲＣＤインターフェイス１６３８を通して受信される命令語は、アドレス、レジスターアドレス、又はＳＰＤ／ＲＣＤシステムによって使用されないフィールド等において他の命令語と区別される。
一実施形態では、エラー情報を掲示するためのＳＰＤ／ＲＣＤシステムの新しいレジスターが定義される。他の実施形態では、エラー情報を交換するための既存のレジスターが再使用されてもよい。
【００８２】
図１７は、本発明の一実施形態に係る分離された訂正不能エラーインターフェイスを有するメモリモジュールを示す概略ブロック図である。
この実施形態では、メモリモジュール１７００は、図１５で説明した１つ又はそれ以上のメモリ装置１５０１、データインターフェイス１５３６、エラーインターフェイス１５３８、及びコントローラ１５４１と同様な、１つ又はそれ以上のメモリ装置１７０１、データインターフェイス１７３６、エラーインターフェイス１７３８、及びコントローラ１７４１を含む。
しかし、メモリモジュール１７００はまた訂正不可エラー（ＵＥ）インターフェイス１７４４を含む。
【００８３】
訂正不可エラー（ＵＥ）インターフェイス１７４４は、訂正不可エラーを交換するためのメモリモジュール１７００が別に具備する分離されたインターフェイスである。
例えば、訂正不能エラーインターフェイス１７４４は、専用のラインであるか、或いは専用のバスとして提供される。
【００８４】
図１８は、本発明の一実施形態に係るメモリ装置を示す概略ブロック図である。
この実施形態では、メモリ装置１８００は、データインターフェイス１８３６とエラーインターフェイス１８３８を含む。
データインターフェイス１８３６とエラーインターフェイス１８３８は、図１５のデータインターフェイス１５３６とエラーインターフェイス１５３８と同様である。
しかし、本実施形態では、データインターフェイス１８３６とエラーインターフェイス１８３８とは図１５のメモリモジュール１５００よりはメモリ装置１８００とインターフェイス（接続）される。
【００８５】
メモリ装置１８００は、コントローラ１８４１を含む。
コントローラ１８４１は、メモリ１８０１と（データ＆エラー）インターフェイス（１８３６、１８３８）と結合する所定の装置である。
例えば、コントローラ１８４１は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ＡＳＩＣ、ＰＬＤ等である。
メモリ１８０１はデータを格納する。
例えば、メモリ１８０１は、メモリセルアレイであるが、他の実施形態では、異なる方式でデータが格納され得る。メモリ１８０１は、電気的、磁気的、化学的、光学的方式、又は他の方式のストレージ要素を含む。
【００８６】
コントローラ１８４１は、データインターフェイス１８３６を通してメモリ１８０１に格納されたデータを伝送する。
コントローラ１８４１は、データインターフェイス１８３６を通してメモリ１８０１に格納されるデータを受信できる。
このような伝送はデータ１８４０によって表示される。
コントローラ１８４１は、エラーインターフェイス１８３８を通してメモリ１８０１から読み出されたデータのエラー訂正演算によって生成されるエラー情報を伝送する。
エラー情報は先に説明したエラー情報の中でいずれか１つと同様である。
コントローラ１８４１は、エラーインターフェイス１８３８を通して命令語、指示、又は他の情報を受信する。
このようなエラー情報、命令語、指示、又は情報の伝送は、情報１８４２を通じて表示される。
【００８７】
この実施形態では、データ１８４０と情報１８４２とはコントローラ１８４１を経由することとして説明した。
しかし、他の実施形態では、コントローラ１８４１によって制御されるメモリ装置１８００の構成によってデータ１８４０と情報１８４２とはコントローラ１８４１を経由しなくともよい。
例えば、一部実施形態では、データ及び／又はエラー情報は、コントローラ１８４１の制御にしたがってコントローラ１８４１を迂回してデータインターフェイス１８３６とエラーインターフェイス１８３８に提供される。
【００８８】
図１９は、他の実施形態に係るメモリ装置を示す概略ブロック図である。
この実施形態では、メモリ装置１９００は、メモリセルアレイ１９０１を含む。
メモリセルアレイ１９０１はデータが格納されるメモリセルを含む。
特に、メモリセルアレイ１９０１は符号化されたデータを格納する。
【００８９】
感知増幅器１９０２と書き込み回路１９０４は、アドレス１９０６によって指定されるメモリセルアレイ１９０１のアドレスにデータが書き込み、読み出されることを許容するメモリ装置１９００の回路の例である。
しかし、いずれかの実施形態では、他の読み出し及び書き込み回路がメモリセルアレイ１９０１に関連してもよい。
共に、たとえば、感知増幅器１９０２と書き込み回路１９０４をメモリセルアレイ１９０１の部分に図示しているが、このような回路はメモリセルアレイ１９０１と分離してもよい。
また、共に、１つのメモリセルアレイ１９０１を図示したが、複数のメモリセルアレイ１９０１が存在し得る。
【００９０】
メモリセルアレイ１９０１は、エラー訂正符号（ＥＣＣ）エンジン１９０８と結合される。
ＥＣＣエンジン１９０８は、メモリセルアレイ１９０１に書き込まれるデータに対する符号化とメモリセルアレイ１９０１から読み出されたデータに対する復号化を通じて読み出しデータの少なくとも１つのエラーを訂正する。
特に、ＥＣＣエンジン１９０８は、書き込みデータ１９１０を受信する。
ＥＣＣエンジン１９０８は、アドレス１９０６によって指定されるメモリセルアレイ１９０１の位置にある書き込み回路１９０４によって書き込まれる書き込みデータ１９１０を符号化する。
【００９１】
同様に、ＥＣＣエンジン１９０８は、メモリセルアレイ１９０１から読み出された符号化されたデータを受信して復号化し、復号化された出力データにする。
このような符号化及び復号化は、ここで記述する複数のエラー訂正アルゴリズムによって遂行される。
例として、シングルエラー訂正−ダブルエラー検出（ＳＥＣ−ＤＥＤ）がＥＣＣアルゴリズムとして使用されるが、異なる方式も使用されてもよい。
【００９２】
メモリセルアレイ１９０１にデータを書き込むための信号にアドレス１９０６と書き込みデータ１９１０のような信号を紹介した。
しかし、メモリ装置１９００はメモリセルアレイ１９０１にデータを書き込むための他の信号の受信とその処理をするが、このようなものは説明を簡単にするために省略した。
さらに、アドレス１９０６を変更するか、或はアクセスを再調整する等の構成が存在し得るが、説明の明確性をためにこれらに対する説明も省略した。
【００９３】
特定例として、書き込み動作の間に、ＥＣＣエンジン１９０８はメモリ装置１９００が格納する書き込みデータ１９１０のビットを受信する。
ＥＣＣエンジン１９０８は、書き込みデータ１９１０のＥＣＣビット値を計算し、書き込み回路１９０４を使用してＥＣＣビットと共に符号化された元のデータ値をメモリセルアレイ１９０１に伝達する。
そうすると、メモリセルアレイ１９０１は符号化されたデータを格納する。
読み出し動作の間に、ＥＣＣエンジン１９０８はメモリセルアレイ１９０１から符号化されたデータを受信する。
即ち、感知増幅器１９０２と他の回路が以前に格納されたＥＣＣビットと元のデータ値を符号化されたデータに読み出すのに使用される。
ＥＣＣエンジン１９０８は、符号化されたデータを復号し、出力データ１９２４とエラー情報とを生成する。
【００９４】
そして、出力データ１９２４はメモリ装置１９００から出力される。
いずれかの実施形態では、ＥＣＣエンジン１９０８とメモリ装置１９００の出力端間に他の構成が位置する。
一実施形態では、バッファ１９３２が出力データ１９２４をバッファする。
他の実施形態では、ＲＣＤモジュールが出力データ１９２４を受信し、バッファし、そして出力する。
ここで、選択的な構成は、点線で図示した。
【００９５】
ＥＣＣエンジン１９０８はまたエラーフラグを生成する。
例えば、ＥＣＣエンジン１９０８は、訂正可能エラー（ＣＥ）フラグを生成する。
訂正可能エラーフラグは、ＥＣＣエンジン１９０８が“ｎ”ビットエラーを成功裏に訂正した時に設定される。
ここで、“ｎ”はＥＣＣエンジン１９０８が訂正できるビット数と同一であるか、或いは少ない数である。
ＥＣＣエンジン１９０８はまた訂正不可エラー（ＵＥ）フラグを生成する。
訂正不可エラーフラグは、ＥＣＣエンジン１９０８が訂正できるビットエラーの数より多い数のビットエラーを検出した時に設定される。
特定の実施形態では、ＳＥＣ−ＤＥＤと共に提供される場合、訂正不可エラー（ＵＥ）フラグは２ビットエラーが発生したことを、訂正可能エラー（ＣＥ）フラグはシングルビットエラーが訂正されたことを示す。
【００９６】
ＥＣＣコントローラ１９１８は、エラー訂正を管理し、エラー情報を管理する。
ＥＣＣコントローラ１９１８は、ＥＣＣエンジン１９０８からエラー情報１９１４を受信する。
エラー情報１９１４は、エラーが存在しないか、訂正可能であるエラーであるか、訂正不可であるエラーであるか、エラーの数等に対する情報を含む。
ＥＣＣコントローラ１９１８は、読み出し動作と関連されたアドレス１９０６を受信する。
したがって、ＥＣＣコントローラ１９１８は、ＥＣＣエンジンからのエラー情報１９１４をアドレス１９０６と組み合わせて新しいエラー情報に生成する。
以下で具体的に説明するが、ＥＣＣコントローラ１９１８は、ＥＣＣエンジン１９０８によって符号化され、メモリセルアレイ１９０１に書き込まれる書き込みデータ１９１０を生成する。
【００９７】
一実施形態では、ＥＣＣコントローラ１９１８は、エラー情報を格納するメモリを含む。
例えば、ＥＣＣコントローラ１９１８は、エラー情報が格納される複数のレジスターを含む。
多様な変更されたエラー情報がＥＣＣコントローラ１９１８に格納される。
以下で詳細に説明するが、エラーに関連した情報を含むエラー記録がＥＣＣコントローラ１９１８に格納される。
例えば、エラー記録は、アドレス情報、エラー形態、メモリセルアレイ１９０１から読み出されたデータ、エラー修復又は他の動作の実行可否等に対する情報を含む。
【００９８】
一実施形態では、ＥＣＣコントローラ１９１８は、外部装置と通信１９２６を遂行する。
例えば、通信１９２６はエラー情報に対する伝送を含む。
訂正可能であるエラーや訂正不可であるエラーが発生すれば、エラー情報がＥＣＣコントローラ１９１８によって伝送される。
このような伝送は外部装置の要請に応答するか、或はエラーが発生した時点で定期的であるようなスケジュールにしたがって、リフレッシュサイクル等と同時に発生する。
【００９９】
一実施形態では、ＥＣＣコントローラ１９１８は、エラー情報を伝達するためにＳＭＢｕｓのようなバスを通じて通信する。
いずれかの実施形態では、メモリ装置１９００は、命令語バッファ１９２８を含む。
命令語バッファ１９２８は、バスを通じてＥＣＣコントローラ１９１８に提供される命令語をバッファする。
【０１００】
一実施形態では、メモリ装置１９００は、ＳＰＤモジュール１９３０を含む。
ＥＣＣコントローラ１９１８はＳＰＤモジュール１９３０と通信する。
ＳＰＤモジュール１９３０は、ＳＰＤインターフェイスと関連した動作を遂行する。その上に、ＳＰＤモジュール１９３０はＥＣＣコントローラ１９１８を通じてエラー情報にアクセスすることを許容する。
例えば、ＳＰＤモジュール１９３０を通じて受信される特定命令語がＥＣＣコントローラ１９１８に格納されたエラー情報にアクセスするための適切な命令語及び／又は信号に変換される。
【０１０１】
ＤＱＳ調整器１９２０は、ＥＣＣエンジン１９０８からエラー情報に応答してメモリセルアレイ１９０１から出力されるデータストローブ信号１９１２を調整して調整されたデータストローブ信号１９２２に出力する。
特定の実施形態では、エラー情報１９１６は、訂正不可エラーが発生したことを指示する信号である。
ＤＱＳ調整器１９２０は、もしもエラー情報１９１６が訂正不可エラーが発生したことを指示すれば、データストローブ信号１９２２がトグルされ（切り替えられ）ないようにデータストローブ信号１９１２を調整し、一方、エラー情報１９１６が訂正不可エラーが発生しないことを指示すれば、データストローブ信号１９１２をバイパスさせる。
例えば、ＤＱＳ調整器１９２０は、ＯＲゲート、ＡＮＤゲート、ＮＡＮＤゲート、伝送ゲート等のようなロジック回路を含む。
【０１０２】
一実施形態では、ＤＱＳ調整器１９２０は時間−高感度情報を伝送するのに使用される。
例えば、訂正不可エラーが発生すれば、そのエラーは現在の読み出し動作と関連したものである。
ＥＣＣコントローラ１９１８によって訂正不可エラーに関連した情報がＳＭＢｕｓのようなデータ１９２４の通信経路より相対的に遅い通信経路を通して外部装置に伝送される。したがって、訂正不可エラーの発生に対する情報の伝送は読み出し動作に比べると、相対的に遅延される。
一方、ＤＱＳ調整器１９２０による訂正不可エラーの発生可否に対する通信は、読み出し動作に対応する伝送と実質的に同時に発生する。即ち、調整されたデータストローブ信号１９２２の出力は訂正不可であるエラーを含むデータ１９２４に関連したデータストローブ信号１９１２に該当する。
メモリ装置１９００の説明のために特定の構成を例示的に使用したが、他の構成が存在し得る。例えば、メモリ装置１９００は、多様なストローブ信号、選択信号、制御信号、イネーブル信号等を受信及び／又は伝送する。
【０１０３】
図２０は、本発明の実施形態に係るメモリ装置を含むメモリモジュールを示す概略ブロック図である。
この実施形態では、メモリモジュール２０００は、図１５のデータインターフェイス１５３６とエラーインターフェイス１５３８と同様のデータインターフェイス２０３６とエラーインターフェイス２０３８を含む。
しかし、この実施形態では、メモリモジュール２０００は複数のＥＣＣメモリ装置（（２００１−１）〜（２００１−Ｎ））を含む。ＥＣＣメモリ装置は図１８又は図１９で説明されたメモリ装置１８００、１９００のようなメモリ装置の中でいずれか１つである。
【０１０４】
ＥＣＣメモリ装置（（２００１−１）〜（２００１−Ｎ））の例としてメモリ装置１８００を使用し、図１８及び図２０を参照すると、メモリ装置（（２００１−１）〜（２００１−Ｎ））は各々データインターフェイス２０３６とエラーインターフェイス２０３８とに結合される。
各々のメモリ装置１８００はデータインターフェイス１８３６とエラーインターフェイス１８３８とに結合され、データインターフェイス２０３６に関しては、メモリ装置１８００のデータインターフェイス１８３６は、データインターフェイス２０３６の一部を構成する。
例えば、データインターフェイス１８３６のデータ入出力信号（Ｉ／Ｏｓ）、ストローブ信号等はデータインターフェイス２０３６に集積される。
データインターフェイス２０３６のアドレス入力信号及び／又は制御信号は、メモリ装置１８００のデータインターフェイス１８３６に分布する。したがって、データインターフェイス２０３６を通じてＥＣＣメモリ装置（メモリ装置１８００）とメモリモジュール２０００とデータが交換される。
【０１０５】
同様に、エラーインターフェイス１８３８は、エラーインターフェイス２０３８に結合される。
エラーインターフェイス１８３８は多様な方式で結合される。例えば、エラーインターフェイス１８３８とエラーインターフェイス２０３８はメモリモジュール２０００の共通バスによって結合される。
他の実施形態では、エラーインターフェイス２０３８は、ＥＣＣメモリ装置（（２００１−１）〜（２００１−Ｎ））の各々のエラーインターフェイス１８３８に直接結合される。
エラーインターフェイス２０３８は、ＥＣＣメモリ装置（メモリ装置１８００）から提供されるエラー情報を累積する。したがって、エラー情報はエラーインターフェイス２０３８によってメモリモジュール２０００からＥＣＣメモリ装置（メモリ装置１８００）に伝達される。
【０１０６】
図１８のメモリ装置１８００をＥＣＣメモリ装置（（２００１−１）〜（２００１−Ｎ））の一例として使用されたが、他の実施形態では他のメモリ装置が使用されてもよい。
例えば、図１９のメモリ装置１９００がＥＣＣメモリ装置（（２００１−１）〜（２００１−Ｎ））として使用され得る。
図１９を参照すると、各々のメモリ装置１９００のアドレス１９０６、書き込みデータ１９１０、出力データ１９２４、データストローブ信号１９２２等は、データインターフェイス２０３６に結合される。同様に、メモリ装置１９００の各々のエラーコントローラ１９１８はエラーインターフェイス２０３８と結合される。
【０１０７】
図２１は、本発明によるエラー情報を伝達する技術を説明するためのフローチャートである。
まず、ステップＳ２１００で、メモリ装置で読み出しエラーが発生する。
ステップＳ２１０２で、エラーを診断する。
以下で詳細に説明するが、エラーが識別されるだけでなく、エラーを修復するための訂正演算が取られる。
ステップＳ２１０４で、エラー情報を報告する。
上述したように、メモリ装置の間の通信リンク、メモリの他の構成、そしてエラー情報を交換するためのプロセッサが使用される。
ステップＳ２１０４でのエラー情報を報告する動作もこのような通信リンクを使用して行う。
【０１０８】
図２２は、本発明によるエラー管理技術を説明するためのフローチャートである。
この実施形態は例えば、図１９のエラーコントローラ１９１８によってどのようにして訂正可能エラーが管理されるかを示す。
【０１０９】
特に、訂正可能エラーが発生した後にステップＳ２２００で訂正可能エラー（ＣＥ）記録が生成、記録する。
訂正可能エラー記録は、上述したように多様な互いに異なるエラーと関連した情報を含む。
ステップＳ２２０２で、データを再読み出しする。
この実施形態では、データの再読み出しに応答してエラーが発生するか否か、訂正可能であるエラーが発生するか否か、又は訂正不可能であるエラーが発生するか否か、の３つの可能性の結果が導出される。
【０１１０】
もしも、エラーが発生しなければ、ステップＳ２２０４で、エラー記録をソフト読み出しエラーとしてタグする。
もしも、訂正可能であるエラーが発生した場合、ステップＳ２２０８で訂正されたデータを再書き込みする。
もしも、訂正不可エラーが発生する場合、ステップＳ２２０６で訂正不可エラー記録としてエラー記録をアップデートする。
【０１１１】
ステップＳ２２０８で、訂正されたデータの再書き込み動作の一部分でエラーが発生する可能性がある。
もしも、エラーが発生しなければ、エラー記録を、ソフト書き込みエラーとしてタグする。
もしも、訂正不可エラーが発生すれば、エラー記録をステップＳ２２０６で訂正不可エラーとしてアップデートする。
【０１１２】
もしも、訂正可能エラー（ＣＥ）が発生すれば、ステップＳ２２１２で、メモリセルが修復可能であるか否かを判断する。
特定の実施形態では、この段階での訂正可能エラーは再書き込みによってエラーが修復されないことを指示する。
この時のエラーは、ハードウェア的な問題に起因するためである。
ステップＳ２２１２での、メモリセルの修復可能の可否に対する判断結果にしたがって、エラー記録に追加的な注釈が書き込まれ、修復される。
【０１１３】
もしも、メモリセルが修復可能である場合、ステップＳ２２１４で、メモリセルは修復され、このエラーをハードエラーとしてタグする。
もしも、メモリセルが修復不可である場合、ステップＳ２２１６で、エラー記録を修復不可であるハードエラーとしてタグする。
したがって、先に説明した診断によって、エラーは、追加的にカテゴリー化されるか、及び／又は修復される。
【０１１４】
ステップＳ２２０８の再書き込みで、訂正不可エラー（ＵＥ）、訂正可能エラー（ＣＥ）、又はエラーが存在しない場合の動作を例示的に使用したが、このような情報は他の動作の結果である。
例えば、ステップＳ２２０８でのデータ再書き込みの以後に、読み出し動作が実施され、同様のエラー情報が生成されてもよい。
【０１１５】
図２３は、本発明の他の実施形態に係るエラー管理技術を説明するためのフローチャートである。
この実施形態では、図１９のＥＣＣコントローラ１９１８によってどのようにして訂正不可エラーが管理するのかを示す例である。
【０１１６】
特に、訂正不可エラーが発生した後にステップＳ２３００で訂正不可エラー（ＵＥ）記録を生成し記録する。
幾つかの実施形態で、訂正不可エラー（ＵＥ）記録は、図２２で説明したようにステップＳ２２０６での訂正不可エラー（ＵＥ）記録のアップデート結果であってもよい。
ステップＳ２３０２で、訂正不可エラー（ＵＥ）記録と関連したデータを再読み出しする。
再読み出しの結果にしたがって異なる動作が遂行される。
【０１１７】
もしも、再読み出しの後に訂正不可エラー（ＵＥ）が発生すれば、ステップＳ２３０６でエラー記録を修復不能エラーとしてタグする。
もしも、エラーが発生しない場合、ステップＳ２３０４でエラー記録をソフト読み出しエラーとしてタグする。
もしも、訂正可能であるエラーが発生すれば、ステップＳ２３０８で訂正されたエラーを再書き込みする。
図２２のステップＳ２２０８の再書き込み動作と同様に、動作から発生する結果は再書き込みの後にデータを再読み出しのような他のソースから来る。
【０１１８】
データの再書き込み結果に応答して、異なる動作が遂行される。
もしも、訂正不可エラーが結果である場合、ステップＳ２３０６で記録を修復不可エラーとしてタグする。
もしも、エラーが発生しなければ、ステップＳ２３１０で記録をソフト読み出し及びソフト書き込みエラーとしてタグする。
もしも、結果が訂正可能エラー（ＣＥ）である場合、ステップＳ２３１２で、メモリセルが修復可能であるか否かを判断する。
【０１１９】
もしも、メモリセルが修復可能である場合、ステップＳ２３１４で、修復手続が進行され、記録をソフト読み出し及び修復可能であるハードエラーとしてタグする。
もしも、メモリセルが修復不可である場合、ステップＳ２３１６で、記録をソフト読み出し及び修復不可能であるハードエラーとしてタグする。
【０１２０】
先に多様なカテゴリーのエラーを説明したが、メモリ装置の外部でこのような情報がアクセス可能であることではない。
例えば、図２２で説明したソフト読み出し及びソフト書き込みエラーのような特定形態のエラーはソフトエラーとして統合される。
メモリ装置から伝送されるエラー情報を生成するための何らかの統合や、併合、又はこのような動作が発生する。その上に、メモリ装置は特定レベルの詳細な動作のために設定される。
【０１２１】
一実施形態では、図２２と図２３で説明した技術を使用してメモリ装置はソフトエラー修復（即ち、メモリスクラビング）、ハードエラー修復等のようなエラー管理技術を遂行するように設定される。
メモリ装置によって提供されるエラー情報内にそのような動作に対する情報が含まれるように設定されることはよく理解され得るであろう。
【０１２２】
一実施形態では、先に説明した動作は、読み出し動作が発生した後に遂行される。
特に、これらの動作は、読み出し動作を遮断しないように設定される。
しかし、補修間隔（ｍａｉｎｔｅｎａｎｃｅ  ｉｎｔｅｒｖａｌ）、リフレッシュサイクル等のような適切な動作区間が発生すれば上述したエラー記録は処理、アップデートされ、メモリセルは修復される。
【０１２３】
特定エラーがエラーをカテゴリー化、又はメモリセルの修復の例として使用したが、他の実施形態では他のエラーシークェンスが使用されてもよい。
例えば、図２２の実施形態を参照すると、ステップＳ２２１０のメモリセルが修復可能であるか否かを決定する動作はステップＳ２２０２での再読み出しでの訂正可能エラーが発生することと、ステップＳ２２０８の再書き込み動作での訂正可能であるエラーの発生に後続して発生する。
しかし、他の実施形態では、ステップＳ２２１０のメモリセルが修復可能であるか否かを決定する動作は、ステップＳ２２０２で複数の再読み出し動作の試みとその結果が訂正可能エラーとして結論に至るのみである。
即ち、幾つかの実施形態では、エラーをカテゴリー化するための特定基準は上述したように異なり得る。
また、エラー形態を特定して指定する方式が使用したが、何らかの実施形態では、すべてのエラー形態が使用される必要はない。同様に何らかの実施形態では、他のエラー形態が使用されてもよい。
【０１２４】
図２４Ａは、本発明の一実施形態に係るエラー情報を伝達するための技術を説明するためのフローチャートである。
この実施形態では、ステップＳ２４００でメモリからデータを読み出す時、読み出しエラーが発生する。
これに応答して、エラー情報を生成する。例えば、以前に訂正された読み出しエラーは訂正可能であるエラーになる。エラー情報は訂正可能エラーに対する情報である。
他の実施形態では、読み出しエラーは複数ビットのエラーであってもよい。エラー情報はこのようなエラーに対する情報であってもよい。
【０１２５】
ステップＳ２４０２で、エラー読み出し命令語を受信する。
一実施形態では、エラー読み出し命令語は、メモリモジュールによって受信されてもよい。
もしも、エラーが発生すれば、ステップＳ２４０４でメモリはエラー情報を伝送する。
ステップＳ２４０２で、エラー読み出し命令語を受信する前に、メモリモジュールは以前に発生したエラーに対するエラー情報を格納する。
そのエラー情報は、以前のエラー読み出し命令語に応答してステップＳ２４０４で伝送されたエラー情報である。
しかし、エラーが発生しなかった場合、ステップＳ２４０４でのエラー情報の伝送はエラーが発生しなかったことを指示する情報の伝送である。
【０１２６】
上述したように、エラー情報はバスを通じて伝送される。
特に、メモリモジュールのメーンデータ経路ではない帯域外経路のバスであってもよい。
したがって、ステップＳ２４０４での伝送は上述したバスを通じたエラー情報の伝送を含む。
【０１２７】
図２４Ｂは、本発明の他の実施形態に係るエラー情報を伝達するための技術を説明するためのフローチャートである。
図２４Ａ及び図２４Ｂを参照すると、図２４Ｂの動作は、コントローラの動作に該当する。
特に、ステップＳ２４０６でエラー読み出し命令語をコントローラから提供する。
ステップＳ２４０６で伝送したエラー読み出し命令語はステップＳ２４０２で受信される。
上述したように、ステップＳ２４０４で、エラー情報を伝送する。そのエラー情報は、ステップＳ２４０８でコントローラによって受信される。
【０１２８】
例えば、コントローラはメモリモジュールをポーリングするように設定する。
したがって、コントローラは、ステップＳ２４０６でエラー読み出し命令語を伝送し、ステップＳ２４０８でエラー情報を受信する。
上述したように、コントローラは、エラー情報を格納するために内部に不揮発性メモリのようなメモリを含む。
以後、エラー情報を、ステップＳ２４１０でプロセッサに伝達する。
【０１２９】
エラー読み出し命令語を伝送するためにコントローラを例示的に使用したが、ステップＳ２４０６で他の実施形態では、プロセッサがエラー読み出し命令語を伝送してもよい。
エラー読み出し命令語は、ステップＳ２４０２でメモリモジュールによって受信され、エラー情報は、ステップＳ２４１０でプロセッサに伝達される。
即ち、エラー情報は、コントローラによって受信及び／又は処理される必要はない。
【０１３０】
図２５は、本発明のさらに他の実施形態に係るエラー情報を伝達する技術を説明するためのフローチャートである。
図２５を参照すると、読み出しエラーがステップＳ２５００で発生する。
ステップＳ２５１２でエラー読み出し命令語をコントローラに伝達する。
例えば、コントローラはプロセッサからエラー読み出し命令語を受信する。
ステップＳ２５１４で、エラー読み出し命令語をメモリモジュールに伝送する。
例えば、ステップＳ２５１４でコントローラはプロセッサで伝送されたエラー読み出し命令語を変更し、メモリモジュールに提供するために新しいエラー読み出し命令語を生成する等の動作の後にメモリモジュールに伝達する。ステップＳ２５１４で伝送したエラー読み出し命令語はステップＳ２５０２で受信し、図２４ＡのステップＳ２４０２とステップＳ２４０４と同様にエラー情報をステップＳ２５０４で伝送する。エラー情報は上述したようにプロセッサに伝送される。
【０１３１】
上述したように、コントローラは、エラー情報の受信とエラー情報の格納のためにメモリモジュールに対するポーリングを遂行する。
したがって、プロセッサからエラー読み出し命令語が受信されれば、コントローラはエラー情報を既に有している。
コントローラは、そのエラー情報をプロセッサに伝達する。
コントローラは、プロセッサに格納されたエラー情報を伝達する前にエラー情報のためのメモリモジュールのポーリングをする必要が無い。
【０１３２】
図２６は、本発明のその他の実施形態に係るエラー情報を交換する方法を説明するためのフローチャートである。
この実施形態では、ステップＳ２６００でプロセッサは読み出しエラー命令語を伝送する。
ステップＳ２００２で、プロセッサはエラー情報を受信する。
ステップＳ２６０６で、プロセッサはエラー情報と追加的な情報とを組み合わせる。
上述したように、追加的な情報はプロセッサ、周辺回路、バス等の状態情報のようにメモリモジュールと関連しない情報を含む。
特定の実施形態では、プロセッサは、ＭＣＡモジュールから提供された情報とエラー情報とを組み合わせる。
特定の実施形態では、ステップＳ２６０８で、組み合わされた情報はＥＤＡＣモジュールに提供する。
上述したように、ＥＤＡＣモジュールは多様なシステムのエラーに対する情報を高レベルアプリケーションプログラムが使用できるようにする。
【０１３３】
図２７は、本発明の一実施形態に係るメモリシステムアーキテクチャを具備するシステムを示す概略ブロック図である。
この実施形態では、システム２７００は、図１のプロセッサ１０４とソフトウェア１１０と同様にプロセッサ２７０４、ソフトウェア２７１０を含む。
しかし、この実施形態では、システム２７００は、メモリ２７０２とエラー訂正回路２７６８とを含む。
【０１３４】
この実施形態では、メモリ２７０２はエラーを訂正しないように設定される。
メモリ２７０２は、エラー訂正回路２７６８に結合され、通信経路２７７２を通じてエラー訂正回路２７６８にデータを伝送する。
エラー訂正回路２７６８は、メモリ２７０２から受信したデータのエラーを訂正する。
エラー訂正回路２７６８は、第２通信経路２７７０と第３通信経路２７０８を通じてプロセッサ２７０４に結合される。
第２通信経路２７７０は、プロセッサ２７０４がデータを受信するためのメーン経路に該当する。例えば、第２通信経路２７７０はプロセッサ２１０４のシステムバスである。
一方、第３通信経路２７０８は、第２通信経路１０８と同様である。
即ち、第３通信経路２７０８はコントローラ２７１４を含む分離された帯域外通信経路であるか、或いは先に説明した通信経路の多様な変更であってもよい。
【０１３５】
図２８は、発明の実施形態に係るサーバーを示す概略ブロック図である。
この実施形態では、サーバー２２００は、独立型サーバー、ラックに搭載されたサーバー、ブレードサーバー等を含む。
サーバー２８００は、メモリ２８０２、プロセッサ２８０４、及びＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）２８１４を含む。
【０１３６】
プロセッサ２８０４は、通信経路２８０６を通じてメモリ２８０２と結合される。
ＢＭＣ２８１４は、バス２８１６を通じてプロセッサ２８０４と結合され、バス２８１２を通じてメモリ２８０２と結合される。
メモリ２８０２、プロセッサ２８０４、ＢＭＣ２８１４、通信経路２８０６、及びバス２８１２、２８１６各々は先に説明した対応する構成の中でいずれか１つである。
【０１３７】
図２９は、本発明の一実施形態に係るサーバーシステムを示す概略ブロック図である。
この実施形態では、サーバーシステム２９００は複数のサーバー（（２９０２−１）〜（２９０２−Ｎ））を含む。
サーバー（（２９０２−１）〜（２９０２−Ｎ））の各々は、マネージャ２９０４と結合される。
１つ又はそれ以上のサーバー（（２９０２−１）〜（２９０２−Ｎ））は先に説明したサーバー２９００と同様である。
その上に、マネージャ２９０４は先に説明したメモリシステムアーキテクチャを具備するシステムを含む。
【０１３８】
マネージャ２９０４は、サーバーシステム２９００のサーバー（（２９０２−１）〜（２９０２−Ｎ））と異なる構成を管理するように設定される。
例えば、マネージャ２９０４は、サーバー（（２９０２−１）〜（２９０２−Ｎ））の設定を管理するように構成される。サーバー（（２９０２−１）〜（２９０２−Ｎ））の各々はマネージャ２９０４とエラー情報を交換する。
エラー情報は、上述したようにサーバー（（２９０２−１）〜（２９０２−Ｎ））の中でいずれか１つのプロセッサに伝送される訂正可能エラー情報や、訂正可能エラー情報に基づいた他のエラー情報を含む。
【０１３９】
マネージャ２９０４は、エラー情報に基づいてアクションを取る。例えば、サーバー（２９０２−１）が臨界値を超過する訂正可能であるエラーを含むとする。
マネージャ２９０４は、管理及び／又は代替のためにサーバー（２９０２−１）の機能をサーバー（２９０２−２）に引き渡し、サーバー（２３０２−１）をシャットダウンさせる。
特定の実施形態を提示したが、マネージャ２９０４は、エラー情報に基づいてその他のアクションを遂行することはよく理解され得るであろう。
【０１４０】
図３０は、本発明の一実施形態に係るデータセンターを示す概略ブロック図である。
この実施形態では、データセンター３０００は、複数のサーバーシステム（（３００２−１）〜（３００２−Ｎ））を含む。
サーバーシステム（（３００２−１）〜（３００２−Ｎ））は、図２８で説明されたサーバーシステム２８００と同様である。
【０１４１】
サーバーシステム３００２は、インターネットのようなネットワーク３００４に接続される。
したがって、サーバーシステム３００２は、多様なノード（（３００６−１）〜（３００６−Ｍ））とネットワーク３００４を通じて通信できる。
例えば、ノード（（３００６−１）〜（３００６−Ｍ））は、クライアントコンピューターや他のサーバー、遠距離データセンター、ストレージシステム等であってもよい。
【０１４２】
本発明の実施形態に係るシステムは、データを格納し、格納されたデータのエラーを訂正し、格納されたデータのエラー訂正結果に応答してエラー情報を生成するメモリ、及び第１通信経路及び第２通信経路を通じてメモリに結合され、第１通信経路を通じてメモリからデータを受信し、第２通信経路を通じてメモリからエラー情報を受信するプロセッサを含む。
【０１４３】
一実施形態では、エラーは、シングルビットエラーであり、エラー情報は、エラーが訂正されたことを指示する情報である。
一実施形態では、エラー情報は、訂正されたエラー情報を含み、プロセッサは、第１通信経路以外の経路を通して訂正されたエラー情報を受信する。
一実施形態では、メモリは、同期式ランダムアクセスメモリモジュールである。
一実施形態では、プロセッサとメモリとに結合され、プロセッサとメモリと通信するコントローラをさらに含む。コントローラは、第２通信経路の一部である。
一実施形態では、コントローラは、ベースボード管理コントローラである。
一実施形態では、コントローラは、ＩＰＭＩインターフェイスに対応するインターフェイスによってプロセッサと結合される。
一実施形態では、コントローラは、システム管理バス（ＳＭＢｕｓ）に対応するインターフェイスによってメモリに結合される。
一実施形態では、コントローラは、エラー情報を格納し、エラー情報をプロセッサから提供される要請に応答してプロセッサに提供する。
一実施形態では、プロセッサは、メモリに結合されるメモリコントローラを含み、メモリコントローラは、第１通信経路を通じてメモリに結合される。
一実施形態では、プロセッサは、メモリと結合されたメモリコントローラを含み、メモリコントローラは、メモリから読み出されたデータのエラーを訂正しない。
【０１４４】
一実施形態では、第１通信経路は、複数のデータラインと少なくとも１つのストローブラインを含み、メモリは、少なくとも１つのストローブラインを通じて伝達される信号によって訂正不可エラーを交換する。
一実施形態では、システムは、メモリとプロセッサとを結合する第３通信経路をさらに含み、メモリは、第３通信経路を通じて訂正不能エラーを交換する。
一実施形態では、プロセッサは、メモリによって生成されるエラー情報を要請する。
一実施形態では、プロセッサは、エラー情報とメモリに関連した他の情報とを組み合わせる。
一実施形態では、他の情報は、第１通信経路を通じて受信される情報に基づく。
一実施形態では、プロセッサは、第２通信経路と結合されるインターフェイスを含み、プロセッサは、インターフェイスを通じてエラー情報を受信し、インターフェイスを通して他の情報を受信する。
一実施形態では、メモリは、直列認識システム（ＳＰＤ）又はレジスタークロック駆動システムの少なくとも１つを含み、他の情報は、直列認識システム（ＳＰＤ）又はレジスタークロック駆動システムの少なくともいずれか１つから受信される。
【０１４５】
本発明の実施形態に係るメモリモジュールは、データを格納する少なくとも１つのメモリ装置と第１インターフェイス、第２インターフェイスとを含む。第１インターフェイスは、データを送受信し、第２インターフェイスは、少なくとも１つのメモリ装置から読み出されるデータのエラー訂正に応答してエラー情報を伝送する。
【０１４６】
一実施形態では、第２インターフェイスは、直列認識システム（ＳＰＤ）又はレジスタークロック駆動システムの少なくとも１つを含む。
一実施形態では、メモリモジュールは、第１インターフェイスと結合されるコントローラを含み、訂正不可エラーの検出に応答して第１インターフェイスを通して伝達されるデータストローブ信号を調整する。
一実施形態では、第２インターフェイスは、訂正不可エラーの検出に応答してエラー情報を伝送する。
【０１４７】
本発明の実施形態に係るメモリモジュールの動作方法は、メモリモジュールからエラーを含むデータを読み出す段階、エラーを含むデータの読み出し結果に基づいてエラー情報を生成する段階、メモリモジュールでエラー情報を読み出すための命令語を受信する段階、及び命令語に応答してエラー情報をメモリモジュールから伝送する段階を含む。
【０１４８】
一実施形態では、コントローラでエラー情報を受信する段階をさらに含む。
一実施形態では、エラー情報をコントローラからプロセッサに伝送する段階をさらに含む。
一実施形態では、エラー情報を読み出すための命令語は、第１命令語として提供され、コントローラのプロセッサからエラー情報を読み出すための第２命令語を受信する段階、及びコントローラから第２命令語に応答して第１命令語を伝送する段階をさらに含む。
一実施形態では、メモリから少なくとも１つのストローブ信号を調整して訂正不可エラーを交換する段階をさらに含む。
一実施形態では、プロセッサでメモリモジュールと関連した追加情報を生成する段階、及びプロセッサで追加情報とエラー情報とを組み合わせる段階をさらに含む。
一実施形態では、通信リンクを通じてエラー情報と他の情報とを伝送する段階を含む。
一実施形態では、他の情報は、メモリと無関係である。
【０１４９】
本発明の実施形態に係るシステムは、メモリ、メーンメモリチャンネルを通じてメモリと結合されるプロセッサ、及びメモリとプロセッサに結合され、メーンメモリチャンネルとは、分離された通信リンクを含み、メモリとプロセッサとは、メーンメモリチャンネルと通信リンクとを通じて通信し、メモリは、通信リンクを通じてエラー情報をプロセッサと交換する。
【０１５０】
一実施形態では、プロセッサは、メモリコントローラを含み、メモリコントローラは、メーンメモリチャンネルの一部として提供される。
一実施形態では、プロセッサは、通信リンクを通じてシステム管理情報を受信する。
一実施形態では、システム管理情報は、温度情報又は電力情報の少なくとも１つを含む。
一実施形態では、メモリは、通信リンクを通じてプロセッサとエラー情報を交換する。
【０１５１】
本発明の他の実施形態に係るシステムは、エラー訂正を遂行しないメモリ、メモリと結合されてメモリから読み出されたデータのエラーを訂正し、エラー訂正結果にしたがってエラー情報を生成するエラー訂正回路、及び第１通信経路及び第２通信経路を通してエラー訂正回路と結合されるプロセッサを含む。プロセッサは、第１通信経路を通してメモリからデータを受信し、第２通信経路を通してメモリからエラー情報を受信する。
【０１５２】
一実施形態において、第２通信経路は、エラー訂正回路からエラー情報を受信し、受信されたエラー情報をプロセッサに伝達するコントローラを含む。
【０１５３】
本発明の実施形態に係るメモリ装置の動作方法は、インターフェイスを通じて受信された読み出し命令語に応答してエラーを含むデータを読み出す段階、エラーを含むデータの読み出し結果にしたがってエラー情報を記録する段階、そしてメモリ装置からエラーインターフェイスを経由してエラー情報を伝送する段階を含む。
【０１５４】
一実施形態では、エラーに応答してメモリからデータを再読み出しし、再読み出しされたデータに応答してエラーを識別する段階を含む。
一実施形態では、再読み出しされたデータが訂正不可エラーに対応する場合、エラーを訂正不可として識別する段階をさらに含む。
一実施形態では、再読み出しされたデータが訂正不可エラーに対応し、エラーが以前に訂正不可エラーであった場合、エラーを修復不能として識別する段階をさらに含む。
一実施形態では、再読み出しされたデータにエラーがない場合、エラーは、ソフト−読み出しエラーとして識別する段階をさらに含む。
一実施形態では、エラーが訂正可能エラーである場合、メモリに訂正されたデータを再書き込みする段階をさらに含む。
一実施形態では、再書き込み動作の間に訂正不可エラーが発生する場合、エラーを訂正不可エラーとして識別する段階をさらに含む。
一実施形態では、再書き込み動作の間にエラーが発生しない場合、エラーをソフト−読み出しエラーとして識別する段階をさらに含む。
一実施形態では、再書き込み動作の間に訂正可能エラーが発生する場合、メモリを修復の実行を試みる段階をさらに含む。
一実施形態では、メモリの修復の試みの結果に基づいてエラーを識別する段階をさらに含む。
【０１５５】
本発明の実施形態に係るメモリモジュールは、データインターフェイス、エラーインターフェイス、各々データインターフェイスとエラーインターフェイスに結合された複数のメモリ装置とを含み、メモリ装置の各々は、データを格納するメモリ、メモリとデータインターフェイス、エラーインターフェイスに結合されるコントローラとを含み、コントローラは、メモリに格納されたデータをデータインターフェイスを経由して伝送し、コントローラは、メモリから読み出されたデータのエラーの訂正によって生成されたエラー情報をエラーインターフェイスを通して伝送する。
【０１５６】
一実施形態では、エラーインターフェイスは、メモリ装置からのエラー情報を累積する。
一実施形態では、各々のメモリ装置において、コントローラは、訂正不可エラーに応答してデータストローブ信号を調整し、データインターフェイスは、メモリ装置からデータストローブ信号に基づいてモジュールデータストローブ信号を伝送する。
【０１５７】
本発明の実施形態に係るメモリ装置は、データを格納するためのメモリ、及びメモリに結合されてメモリに格納されたデータを読み出し、メモリから読み出されたデータのエラーを診断し、診断結果を参照してエラー種類を識別するメモリコントローラを含む。
【０１５８】
一実施形態では、コントローラは、エラーをソフト読み出しエラー、ソフト書き込みエラー、ハードエラー、修復可能エラー、修復不能エラーの中から少なくとも１つとして識別する。
一実施形態では、コントローラは、データの再読み出しに応答してエラーを診断する。
一実施形態では、コントローラは、データの再書き込み動作に応答してエラーを診断する。
一実施形態では、コントローラは、データの再書き込みに応答してメモリを修復するか否かを決定する。
【０１５９】
予め生産され、経済的な製造、適用、活用のために多様な公知された構成を適用することにおいて本発明の方法、プロセス、手段、装置、商品、及び／又はシステムは簡略であり、費用が低廉であり、複雑でなく、高い多目的性、正確であり、敏感であり、効果的に具現されることができる。
ここで、説明される本発明の他の特徴によれば、費用減少、システムの簡易化、及び性能向上の典型的なトレンドを支援することができ、サービスすることができる。
【０１６０】
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【０１６１】
１００、２００、３００、５００、６００、７００、８００、９００、１０００、１１００、１２００    システム
１０２、２０２、３０２、４０２、５０２、６０２、７０２、８０２、９０２、１００２、１１０２、１２０２    メモリ
１０４、２０４、３０４、４０４、５０４、６０４、７０４、８０４、９０４、１００４、１１０４、１２０４    プロセッサ
１０６、２０６、３０６、４０６、５０６、６０６、７０６、８０６、９０６、１００６、１１０６、１２０６    第１通信経路
１０８、２０８、３０８、４０８、５０８、６０８、７０８、８０８、９０８、１００８、１１０８、１２０８    第２通信経路
１１０、２１０、３１０、４１０、５１０、６１０、７１０、８１０、９１０、１０１０、１１１０、１２１０    ソフトウェア
２１２、２１６    （第１、第２）バス
２１４、１５４１、１６４１、１７４１、１８４１、２７１４    コントローラ
２６６、３６６    他の装置
２５４    不揮発性メモリ（ＮＶＭ）
２６８    非メモリ装置
３１４    ベースボード管理コントローラ
４５０    メモリコントローラ（ＭＣ）
４５２    ＭＣＡレジスター
５３２    データライン
５３３    データストローブライン
６３４    第３通信経路
７１８、８１８    モジュール
８２４    エラー検出及び訂正（ＥＤＡＣ）モジュール
９１８、１１１８    第１モジュール
９２６、１１２８    第２モジュール
１０１８    エラー訂正（ＥＣ）モジュール
１０２６    ＭＣＡモジュール
１１３０、１２３０    インターフェイスモジュール
１２１８    訂正されたエラー（ＣＥ）モジュール
１２２８    ＳＰＤ／ＲＣＤモジュール
１５００、１６００、１７００    メモリモジュール
１５０１、１６０１、１７０１、１８００    メモリ装置
１５３６、１６３６、１７３６、１８３６    データインターフェイス
１５３８、１７３８、１８３８    エラーインターフェイス
１５４１、１６４１、１７４１、１８４１    コントローラ
１６３６    ＳＰＤ／ＲＣＤインターフェイス
１７４４    訂正不可エラー（ＵＥ）インターフェイス
【図１】
0006592305.tif 000002
【図２】
0006592305.tif 000003
【図３】
0006592305.tif 000004
【図４】
0006592305.tif 000005
【図５】
0006592305.tif 000006
【図６】
0006592305.tif 000007
【図７】
0006592305.tif 000008
【図８】
0006592305.tif 000009
【図９】
0006592305.tif 000010
【図１０】
0006592305.tif 000011
【図１１】
0006592305.tif 000012
【図１２】
0006592305.tif 000013
【図１３】
0006592305.tif 000014
【図１４Ａ】
0006592305.tif 000015
【図１４Ｂ】
0006592305.tif 000016
【図１４Ｃ】
0006592305.tif 000017
【図１４Ｄ】
0006592305.tif 000018
【図１５】
0006592305.tif 000019
【図１６】
0006592305.tif 000020
【図１７】
0006592305.tif 000021
【図１８】
0006592305.tif 000022
【図１９】
0006592305.tif 000023
【図２０】
0006592305.tif 000024
【図２１】
0006592305.tif 000025
【図２２】
0006592305.tif 000026
【図２３】
0006592305.tif 000027
【図２４Ａ】
0006592305.tif 000028
【図２４Ｂ】
0006592305.tif 000029
【図２５】
0006592305.tif 000030
【図２６】
0006592305.tif 000031
【図２７】
0006592305.tif 000032
【図２８】
0006592305.tif 000033
【図２９】
0006592305.tif 000034
【図３０】
0006592305.tif 000035