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