JP5039061B2 - メモリトランザクション再生メカニズム - Google Patents

メモリトランザクション再生メカニズム Download PDF

Info

Publication number
JP5039061B2
JP5039061B2 JP2008555397A JP2008555397A JP5039061B2 JP 5039061 B2 JP5039061 B2 JP 5039061B2 JP 2008555397 A JP2008555397 A JP 2008555397A JP 2008555397 A JP2008555397 A JP 2008555397A JP 5039061 B2 JP5039061 B2 JP 5039061B2
Authority
JP
Japan
Prior art keywords
memory
transaction
error
redundant
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008555397A
Other languages
English (en)
Other versions
JP2009527819A (ja
Inventor
アレクサンダー、ジェームス
アガーワル、ラジャット
ロメラ、ジョーキン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2009527819A publication Critical patent/JP2009527819A/ja
Application granted granted Critical
Publication of JP5039061B2 publication Critical patent/JP5039061B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Hardware Redundancy (AREA)

Description

本発明の実施形態は、一般に、集積回路の分野に係り、より具体的には、メモリ再生メカニズム用のシステム、方法、及び装置に係る。
メモリシステムは、一般に、信頼性、可用性、及び保守性(RAS)に対する特定レベルのサポートを含む。RASに対するサポートには、特定のメモリコンテンツエラーを検出及び/又は訂正するサポートが含まれうる。更に、RASに対するサポートには、受信器において欠陥ビットを発生する特定のシグナリングエラーを検出及び/又は訂正するサポートが含まれうる。
エラー検出及び/又は訂正メカニズムは、一般に、データに冗長情報を追加して、特定の欠陥からデータを保護することが関連する。エラー検出メカニズムの1つの例としては、巡回冗長コード(CRC)が挙げられる。エラー訂正メカニズムの1つの例としては、エラー訂正コード(ECC)が挙げられる。
プロセッサの速度が増加するに従って、メモリバスによってサポートされるデータ転送速度も対応して増加しなければならないという圧力が存在する。一般に、従来のメモリバスは、マルチポイント(しばしば、マルチドロップと称される)アーキテクチャに基づく。この従来のマルチポイントメモリバスアーキテクチャは、メモリ速度及びサイズを大幅に増加しなければならないので、次第に敬遠されてきている。
ポイント・ツー・ポイントのメモリインターコネクトは、しばしば、従来のメモリバスより高速のデータ転送速度をサポートする。ポイント・ツー・ポイントのメモリインターコネクトは、バッファを有するメモリモジュールを使用しうる。バッファは、メモリインターコネクトをモジュール上のメモリデバイスから離す。ポイント・ツー・ポイントのメモリアーキテクチャの例には、フリー・バッファード・デュアル・インライン・メモリモジュール(DIMM)技術に基づいたアーキテクチャが挙げられる。フリー・バッファードDIMM技術とは、半導体技術協会(JEDEC)により推奨されるいずれかのフリー・バッファードDIMM仕様に少なくとも部分的に基づいたメモリアーキテクチャを指す。フリー・バッファードDIMMといったポイント・ツー・ポイントメモリアーキテクチャによりサポートされる高いデータ転送速度は、適切なレベルのRASを提供するという点で新しい課題を提示する。
本発明の実施形態は、添付図面において限定的ではなく例示的に説明し、添付図面中の同様の参照番号は、同様の構成要素を指す。
本発明の一実施形態に従って実施されるコンピューティングシステムの選択されたアスペクトを示すハイレベルブロック図である。 本発明の一実施形態による、複数のブランチを有するメモリシステムの選択されたアスペクトを示すハイレベルブロック図である。 本発明の一実施形態による再生ロジックの選択されたアスペクトを示すブロック図である。 本発明の一実施形態による、非冗長メモリ読出し方法の選択されたアスペクトを説明するフロー図である。 本発明の一実施形態による、非冗長メモリ書込み方法の選択されたアスペクトを説明するフロー図である。 本発明の一実施形態による、設定読出し方法の選択されたアスペクトを説明するフロー図である。 本発明の一実施形態による、冗長メモリ読出しの選択されたアスペクトを説明するフロー図である。 本発明の一実施形態による、冗長メモリ読出し及びメモリブランチの規模縮小化の選択されたアスペクトを説明するフロー図である。 本発明の一実施形態による、冗長メモリ書込みの選択されたアスペクトを説明するフロー図である。 本発明の一実施形態による、再生時にスクラブを行う非冗長メモリ読出し方法の選択されたアスペクトを説明するフロー図である。 本発明の一実施形態による、再生時にスクラブを行う冗長メモリ読出しの選択されたアスペクトを説明するフロー図である。 本発明の一実施形態による、冗長メモリ読出し及び再生時にスクラブを行うメモリブランチの規模縮小化の選択されたアスペクトを説明するフロー図である。 本発明の一実施形態による、電子システムの選択されたアスペクトを示すブロック図である。 本発明の代替の実施形態による、電子システムの選択されたアスペクトを示すブロック図である。
本発明の実施形態は、一般に、メモリ再生メカニズム用のシステム、方法、及び装置に係る。ある実施形態では、再生ロジックは、インフライトトランザクションのトランザクション応答データを分析してそのデータが、定義済みのトランザクション応答エラーを含むか否かを判断する。データがエラーを含む場合、再生メカニズムは、メモリインターコネクトの複数のリンクのハードウェアに基づいたリセットを実行する。再生ロジックは、次に、トランザクションを再生しうる。以下により詳細に説明するように、再生ロジックは、メモリ読出し/書込み、設定読出し/書込み、リシルバー(re-silver)トランザクション、メモリスクラブ、スペアコピートランザクション等を含む様々なメモリデータトランザクションをサポートしうる。
図1は、本発明の一実施形態に従って実施されるコンピューティングシステムの選択されたアスペクトを示すハイレベルブロック図である。コンピューティングシステム100は、リクエスタ102、ホスト110、及び1つ以上のメモリモジュール104を含む。リクエスタ102は、プロセッサ(例えば、中央演算処理ユニット及び/又はコア)、サービスプロセッサ、入出力デバイス(例えば、PCI Express(ペリフェラル・コンポーネント・インターコネクト・エキスプレス)デバイス)、メモリ自体、又は、メモリへのアクセスを要求するシステム100の任意の他の構成要素でありうる。
メモリモジュール104は、様々な構造及びピン設定のうちの任意の構造及びピン設定を有しうる。例えば、メモリモジュール104は、デュアル・インライン・メモリ・モジュール(DIMM)、スモール・アウトラインDIMM(SO−DIMM)、マイクロDIMM等として構造化されうる。メモリモジュール104は、240ピン、144ピン、72ピン等を含む略全てのピン設定を有する電気接点コネクタを有するインターコネクト130に接続されうる。
メモリモジュール104は、複数のメモリデバイス122を含む。説明の便宜上、図面には4つのメモリデバイスを示す。本発明の実施形態は、より多くのメモリデバイス、又は、より少ないメモリデバイスを含みうることは理解されよう。メモリデバイス122は、例えば、ダイナミック・ランダム・アクセス・メモリ・デバイス(DRAM)を含む様々なメモリデバイスのうちの任意のメモリデバイスでありうる。
ある実施形態では、各メモリモジュール104は、バッファ120を含む。バッファ120は、複数のメモリデバイス122をインターコネクト130から離す。ある実施形態では、システム100は、フリー・バッファードDIMM技術に少なくとも部分的に基づく。そのような実施形態では、バッファ120は、アドバンスド・メモリ・バッファ(AMB)でありうる。ある実施形態では、バッファ120は、ホスト110から受信するメモリトランザクションに特定のエラーを検出する場合、ホスト110に警告(又は警告ストリーム)を送信する。例えば、バッファ120は、書込みデータ内にシグナリングエラー(例えば、CRCエラー)、読出しコマンド内にエラー等を検出する場合等に、警告を送信しうる。同様に、バッファ120は、例えば、メモリ書込みを無事に受信した場合、肯定応答を供給しうる(又は単に、受信確認しうる)。
インターコネクト130は、ポイント・ツー・ポイントのインターコネクトである。ポイント・ツー・ポイントインターコネクトは、1つ以上のポイント・ツー・ポイントリンク(例えば、130及び130)から構成されるインターコネクトを広義に指す。インターコネクト130は、差動又はシングルエンドでありうる。図示する実施形態では、インターコネクト130は、1つ以上のノースバウンド(north bound)ビットレーン134及び1つ以上のサウスバウンド(south bound)ビットレーン132を含む。ある実施形態では、インターコネクト130は、フリー・バッファードDIMM技術に少なくとも部分的に基づいている。
ホスト110は、リクエスタ102と(例えば、複数のメモリモジュール104によって提供される)メインシステムメモリとの間のインターフェイスを供給する。ある実施形態では、ホスト110は、メモリコントローラである。メモリコントローラは、プロセッサに組み込まれても、又は、別個の集積回路(例えば、メモリコントローラハブ)上に実装されてもよい。ホスト110は、再生ロジック112を含む。再生ロジック112は、特定のトランザクション応答エラーが検出される場合に様々なメモリトランザクションを再生するメカニズムを供給する。用語「トランザクション応答エラー」は、メモリトランザクション(例えば、読出しトランザクション、書込みトランザクション、メモリ設定等)に対する応答において検出されるエラーを指す。ある実施形態では、再生ロジック112は高速リセットロジックを含み、特定のトランザクション応答エラーが検出される場合に、インターコネクト130の複数のリンクを自動的にリトレインする。再生ロジック112は、図3−図8を参照して以下により詳細に説明する。
ある実施形態では、インターコネクト130は、2つ以上のブランチを含む。ブランチとは、ロックステップで動作する複数のチャネルのコレクションを指す。ブランチは、単一のチャンネルであってもよい。追加のブランチを使用して、冗長(即ち、ミラーリングされた)メモリをサポートしうる。この冗長メモリ内には、2つ(以上)の実質的に同一のメモリイメージがある。図2は、本発明の一実施形態による、複数のブランチを有するメモリシステムの選択されたアスペクトを示すハイレベルブロック図である。
コンピューティングシステム200は、リクエスタ102、ホスト110、及びポイント・ツー・ポイントインターコネクト230を含む。ポイント・ツー・ポイントインターコネクト230は、ブランチ240及び242(それぞれ、1つ以上のメモリモジュール104を有する)を含む。ある実施形態では、コンピューティングシステム200は、ブランチ240及び242が実質的に同一のメモリイメージを含む冗長メモリシステムを提供する。つまり、ブランチ240は、ブランチ242と本質的に同じデータを含みうる。ある実施形態では、リクエスタ102は、どちらのイメージからもデータを読出しすることができる。一部の実施形態では、リクエスタ102からのデータ書込みは、ブランチ240及びブランチ242の両方に書込みされる。
図3は、本発明の一実施形態による、再生ロジックの選択されたアスペクトを示すブロック図である。ある実施形態では、再生ロジック310は、特定のトランザクション応答エラーが検出される場合にメモリトランザクションを再生するメカニズムを提供する。例えば、再生ロジック310は、メモリ(例えば、図1に示すメモリ106)からトランザクション応答データを受信して、そのトランザクション応答データがトランザクション応答エラーを含むか否か判断する。以下により詳細に説明するように、再生ロジック310は、応答エラーを検出する場合、その応答エラーを生成したメモリトランザクションの再生を開始しうる。
再生ロジック310は、高速リセットシーケンサ320、再生コントローラ330、再生キュー340、及びデータ経路350を含む。代替の実施形態では、再生ロジック310は、図3に示すよりも多くの構成要素、少ない構成要素、及び/又は異なる要素を含みうる。インターコネクト360は、再生ロジック310を、1つ以上のメモリモジュール(例えば、図1に示すメモリモジュール104)に接続する。ある実施形態では、インターコネクト360は、フリー・バッファードDIMM技術に少なくとも部分的に基づいている。
データ経路350は、インターコネクト360からトランザクション応答データを受信する。トランザクション応答データは、例えば、読出しデータ、肯定応答、及び/又は警告を含みうる。警告とは、ホストとメモリ間の通信におけるコマンドエラー及び/又はデータエラーを示す、バッファ(例えば、図1に示すバッファ120)からの警告を指す。ある実施形態では、データ経路350は、エラー検出/訂正ロジック370とインタラクトして、トランザクション応答データにエラー(例えば、シグナリングエラー及び/又はメモリコンテンツエラー)が含まれるか否かを判断する。エラー検出/訂正ロジック370は、トランザクション応答データにトランザクション応答エラーが含まれるか否かを判断する。エラー検出/訂正ロジック370は、シグナリングエラー及び/又はメモリコンテンツエラーを検出するのに適した任意のエラー検出/訂正ロジックでありうる。例えば、エラー検出/訂正ロジック370は、ECC及び/又はCRCでありうる。
再生キュー340は、インフライトのメモリトランザクションを追跡する。「インフライト」のメモリトランザクションとは、メモリサブシステムで発行されたがまだリタイアされていないトランザクションを指す。各トランザクションについて、データ経路350は、トランザクションデータ342を、再生キュー340に転送する。トランザクションデータ342は、例えば、トランザクション識別子(ID)、アドレス指定情報、イニシエータ(ID)等を含みうる。ある実施形態では、トランザクションデータ342は更に、トランザクション応答データがトランザクション応答エラーを含むか否かの指示子を含む。例えば、図示する実施形態では、トランザクションデータ342は、複数のステータスビット344を含む。ステータスビット344は、特定のトランザクション応答エラーがトランザクション応答データ内に検出されたか否かを示す。ある実施形態では、3つのステータスビット344があり、これらのステータスビットのそれぞれは、警告、CRCエラー、及び訂正不可ECCエラーである応答エラーのうちの1つが検出されたか否かを示す。代替の実施形態では、異なる数のステータスビットがありうる、及び/又は、ステータスビットは、より多くの、より少ない、及び/又は異なるトランザクション応答エラーを示しうる。
再生コントローラ330は、再生ロジック310の選択されたアスペクトを制御する。ある実施形態では、再生コントローラ330は、再生キュー340内に記憶されたトランザクションデータ(例えば、342)を分析し、(1)検出されたトランザクション応答エラー、(2)メモリシステムが冗長であるか否か、(2)及びトランザクションのタイプ(例えば、メモリ読出し/書込み、設定読出し/書込み等)といった要素に基づいて適切な再生処理を決定する。再生コントローラ330によって制御される再生処理は更に、図4−図9を参照して以下に説明する。
ある実施形態では、略どのような種類の情報転送でも再生されうる。用語「情報転送」とは、データを含む転送を指す。データは、メモリデータ(例えば、メモリ読出し又はメモリ書込み用)、又は、設定データ(例えば、メモリモジュール、そのバッファ、及び/又はDRAMの様々なアスペクトの設定用)でありうる。メモリデータトランザクションは、様々な外部及び/又は内部のリクエスタから発されることが可能である。外部リクエスタは、プロセッサ、I/Oデバイス、システム管理バス等を含みうる。内部リクエスタは、ホスト(例えば、メモリコントローラ)自体を含みうる。例えば、ホストは、リシルバー(re-silver)トランザクション、スクラブトランザクション、スペアコピートランザクション等のメモリデータトランザクションを生成しうる。「リシルバー(re-silver)トランザクション」とは、(例えば、データが冗長ブランチにおいて喪失された後に)データが冗長ブランチに再コピーされるトランザクションを指す。「スペアコピートランザクション」とは、必要に応じてデータを冗長ランクにコピーしてスペアコピーを作成することを指す。ランクとは、データを供給する一組のメモリデバイスである。スクラブトランザクションとは、メモリサブシステム内に記憶されたデータをスクラブして、例えば、メモリ内の訂正可能なエラーを修復することを指す。
再生コントローラ330は更に、高速リセットシーケンサ320を制御する。高速リセットシーケンサ320は、ハードウェアに基づいたリンク/チャネルのリトレインメカニズムである。用語「リンク/チャネルのリトレイン」とは、メモリインターコネクト(例えば、図1に示すインターコネクト130)のリンク上の全ての(又は一部の)ビットレーンを再整列させることを指す。ある実施形態では、高速リセットシーケンサ320は、一般的に内蔵型オペレーティングシステム(BIOS)からプッシュオーバーされる比較的複雑な(且つソフトウェアに基づいた)初期のトレインシーケンスより簡単である(従って、より速い)ハードウェアに基づいたリンク/チャネルのトレインアルゴリズムを実施する。動作時、再生コントローラ330は、トランザクションデータ342内に特定のトランザクション応答エラーが検出される場合は、高速リセットシーケンサ320に自動的に命令して、高速リセットを開始させうる。例えば、ある実施形態では、再生コントローラ330は、ステータスビット344が警告、CRCエラー、又は訂正不可ECCエラーであるエラーのうちのいずれかを示す場合、高速リセットシーケンサ320に命令して高速リセットを開始させる。
一般に、再生ロジック310の動作は、ポイント・ツー・ポイントインターコネクト360からトランザクション応答データを受信することと、そのデータが特定のトランザクション応答エラーを含むか否かを判断することを含む。データがエラーを含む場合、再生コントローラ330は、高速リセットを開始して、トランザクション(例えば、再生トランザクション)の再生を行う。再生トランザクションの詳細は、再生されるトランザクションのタイプ(例えば、メモリ読出し/書込み、設定読出し/書込み等)、及び、メモリシステムが冗長であるか否かに依存して異なりうる。再生ロジック310の動作を更に、図4−図9を参照して以下に説明する。
図4は、本発明の一実施形態による、非冗長メモリ読出し方法の選択されたアスペクトを説明するフロー図である。用語「非冗長メモリ読出し」とは、非冗長メモリシステムでのメモリ読出しを指す。外部リクエスタ又は内部リクエスタのいずれかが(例えば、スペアコピー又はリシルバートランザクション時に)、402に示すように非冗長メモリ読出しを生成しうる。
再生ロジック(例えば、図3に示す再生ロジック310)は、処理ブロック404、410、及び412に示すように、トランザクション応答データに、特定の定義済みエラーが含まれるか否か判断する。ある実施形態では、定義済みエラーには、警告、CRCエラー、及び訂正不可ECCエラーが含まれる。再生ロジックが定義済みエラーを検出しない場合、トランザクションは、再生なしで完了することができる(410)。例えば、データにエラーが含まれない場合(410)、データは、リクエスタに転送される(428)。同様に、データにECC訂正可能エラーが含まれる場合(404)、エラー検出/訂正ロジックがエラーを訂正し、そのデータは、リクエスタに転送される(406)。
処理ブロック412を参照するに、ここでは、再生ロジックは、応答データ内に定義済みエラーのうちの1つを検出する。ある実施形態では、再生ロジックは、応答データが定義済みエラーのうちの1つを含む場合、高速リセットを自動的に実行する(414)。高速リセットが失敗する場合(416)、データはポイズンされ(poisoned)、リクエスタに通知される(408)。
或いは、高速リセットが成功する場合、再生コントローラは、エラーを生成したトランザクションを再生する(418)。再生トランザクション応答データ(再生応答データ)は分析され、420、422、及び426に示すようにそのデータに定義済みエラーのうちの1つが含まれるか否かが判断される。データに定義済みエラー(422及び426)のうちの1つが含まれない場合、データはリクエスタに転送される(428)か、又は、ECC訂正可能エラーの場合、エラーは訂正され、そのデータはリクエスタに転送される(424)。再生応答データに定義済みエラーのうちの1つが含まれる場合、データはポイズンされ、リクエスタに通知される(408)。
図5は、本発明の一実施形態による、非冗長メモリ(又は設定)書込み方法の選択されたアスペクトを説明するフロー図である。用語「非冗長メモリ書込み」とは、非冗長メモリシステムでのメモリ書込みを指す。処理ブロック502を参照するに、ホスト(例えば、ホスト110)がメモリ書込みを実行する。再生ロジックは、トランザクション応答データを分析して、そのデータに定義済みエラーが含まれるか否かを判断する(504及び508)。データに定義済みエラーが含まれない場合(504)、トランザクションは完了する(506)。
処理ブロック508を参照するに、応答データには、定義済みエラーのうちの1つが含まれる。ある実施形態では、定義済みエラーには、警告及び/又は肯定応答エラーが含まれうる。再生ロジックは、応答データに、定義済みエラーのうちの1つが含まれる場合に、高速リセットを実行し(510)、高速リセットが成功したか否かを判断する。高速リセットが失敗する場合(512)、トランザクションはドロップされる(514)。
或いは、高速リセットが成功する場合、メモリ書込みは再生される(516)。この再生応答データは分析されて、そのデータに特定の定義済みエラーが含まれるか否か判断される(518及び520)。再生応答に定義済みエラーのうちの1つも含まれない場合(例えば、データが良好な肯定応答である場合)、トランザクションは完了する(506)。しかし、再生応答に、定義済みエラーのうちの1つが含まれる場合(518)、トランザクションはドロップされる(514)。
図6は、本発明の一実施形態による、設定読出し方法の選択されたアスペクトを説明するフロー図である。用語「設定読出し」とは、メモリ(例えば、図1に示すメモリ106)の要素から設定情報を読出しすることを指す。ある実施形態では、メモリモジュール上に位置付けられるバッファ(例えば、図1に示すバッファ120)が、ステータスビット、温度データ等の設定データを含む。「設定読出し」には、1つ以上のメモリバッファから一部の又は全てのこの設定データを読出しすることが含まれる。メモリ読出し用のリクエスタは、内部であっても外部であってもよい。外部リクエスタの1つの例としては、例えば、メモリモジュールに対して設定データを読出し及び/又は書込みしうるシステムBIOSが挙げられる。
処理ブロック602を参照するに、ホストは、設定読出しを行う。再生ロジックは、トランザクション応答データに定義済みエラーが含まれるか否かを判断する(604及び608)。応答データにエラーが含まれない場合、ホストは、そのデータをリクエスタに転送する(606)。
処理ブロック608を参照するに、ここでは、再生ロジックは、定義済みエラーのうちの少なくとも1つを検出する。定義済みエラーには、例えば、警告及び/又はCRCエラーが含まれうる。ある実施形態では、再生ロジックは、定義済みエラーのうちの1つを検出する場合、高速リセットを自動的に行い、高速リセットが成功したか否かを判断する(610)。高速リセットが失敗する場合(612)、再生ロジックマスタは、トランザクションをアボートし、リクエスタに通知する(614)。
或いは、高速リセットが成功する場合、再生ロジックは、設定読出しを再生する(616)。再生ロジックは、再生応答データを分析して、そのデータに定義済みエラーが含まれるか否か判断する(618及び620)。再生応答データに定義済みエラーが含まれない場合(620)、そのデータは、リクエスタに転送される(606)。再生応答データに定義済みエラーが含まれる場合(618)、再生ロジックマスタは、設定をアボートし、リクエスタに通知する(614)。
図7は、本発明の一実施形態による、冗長メモリ読出しの選択されたアスペクトを説明するフロー図である。用語「冗長メモリ読出し」とは、冗長メモリシステムでのメモリ読出しを指す。一般に、冗長メモリシステムは、2つ以上のブランチ(例えば、図2に示すブランチ240及び242)を含みうる。各ブランチは、実質的に同一のメモリイメージを含みうる。説明の便宜上、用語「ローカルブランチ」は、メモリ読出しトランザクションが発行されたブランチを示す目的で使用する。用語「リモートブランチ」は、メモリ読出しが発行されたブランチ以外のブランチを指す。
ある実施形態では、冗長メモリシステム上での再生メカニズムは、ローカルブランチ上で発生するトランザクション応答エラーが規模縮小閾値を超えるか否かを考慮する。用語「規模縮小閾値」とは、例えば、冗長メモリシステムの複数のブランチのうちの1つを無効にすることで冗長メモリシステムを規模縮小化するための閾値を指す。規模縮小閾値は、トランザクション応答が発生する回数、トランザクションエラーが発生する頻度等を含む様々な基準(及び/又はポリシー)により決定されうる。一実施形態では、規模縮小閾値は、2つの連続したトランザクション応答エラーが同じブランチ上で検出されることに基づく。説明の便宜上、2つの連続的な読出しに基づいた規模縮小閾値に関して実施形態を以下に説明する。なお、別の実施形態は、異なる規模縮小閾値に基づきうることは明らかであろう。
処理ブロック702を参照するに、ホストは、ブランチXに対して第1の冗長メモリ読出しを行う。用語「冗長メモリ読出し」とは、冗長メモリシステムでのメモリ読出しを指す。「第1の」冗長メモリ読出しとは、規模縮小閾値を超えないメモリ読出しを指す。用語「ブランチX」及び「ブランチY」とは、冗長メモリシステムにおける2つのブランチを区別するために便宜上使用するラベルである。冗長メモリ読出しについて、ブランチ「X」は、ローカルブランチであり、ブランチ「Y」はリモートブランチである。
再生ロジックは、トランザクション応答データに、定義済みエラーが含まれるか否か判断する(714、710、及び704)。データに定義済みエラーが含まれない場合、任意の他のエラー(例えば、訂正可能なECCエラー)が必要に応じて訂正され(712)、そのデータはリクエスタに転送される(712、706)。定義済みエラーが検出されない場合、次の冗長読出しが、第1の冗長読出しと見なされる(708)。
しかし、定義済みエラーが検出される場合(714)、再生ロジックは、両方のブランチに対して高速リセットを自動的に行い、その高速リセットが成功したか否かを判断する(716)。ブランチX及びYの片方又は両方において高速リセットが失敗する場合(732、742)、ブランチXが無効にされる(734、744)。ブランチYにおいて失敗する場合(又は、両方のブランチにおいて失敗する場合)、トランザクションはポイズンされ、リクエスタに通知される(740)。ブランチXのみにおいて失敗する場合、ブランチXを無効にした後、処理フローは、両方のブランチにおいて高速リセットが成功する場合と実質的に同じ処理を従う。
両方のブランチにおいて高速リセットが成功する場合(718)、次の冗長読出しは、「第2の」冗長読出しと見なされる(720)。再生ロジックは、722においてブランチY(例えば、もう片方のブランチ)上で非冗長メモリ読出しを再生する。再生応答データに定義済みエラーが含まれる場合、そのトランザクションはポイズンされ、リクエスタは通知される(740)。データにエラーが含まれない場合(724及び726)、任意の他のエラーが必要に応じて訂正され(728)、そのデータは、リクエスタに転送される(728及び730)。
図8は、本発明の一実施形態による、冗長メモリ読出し及びメモリブランチの規模縮小化の選択されたアスペクトを説明するフロー図である。説明の便宜上、規模縮小閾値は、同じブランチからの2つの連続応答データエラーであると仮定する。なお、代替の実施形態では、異なる規模縮小閾値を用いてもよいことは理解すべきである。
処理ブロック802を参照し、ここでは、再生ロジックは、第2の冗長メモリ読出しをブランチXに対して行う。つまり、ブランチXに対する前の冗長メモリ読出しは、定義済みトランザクション応答エラーのうちの1つをもたらした。再生ロジックは、応答データに定義済みエラーが含まれるか否かを判断する(814、810、及び804)。応答データに定義済みエラーが含まれない場合(810及び804)、任意の他のエラーが必要に応じて訂正され、そのデータは、リクエスタに転送される(812及び806)。ある実施形態では、応答データに定義済みエラーが含まれない場合、次の冗長メモリ読出しは、「第1の」冗長メモリ読出しとみなされる(808)。
応答データに定義済みエラーが含まれる場合(814)、再生ロジックは、両方のブランチX及びブランチYに高速リセットを行う(816)。ある実施形態では、ブランチXは無効にされ(818)、それにより、一貫したインプリメンテーションをサポートし、次の読出しは、非冗長読出しとなる(820)。再生ロジックは、822においてブランチY(例えば、反対のブランチ)上で非冗長メモリ読出しを再生する。再生応答データに、定義済みエラーが含まれる場合(832)、トランザクションはポイズンされ、リクエスタは通知される(834)。データにエラーが含まれない場合(824及び828)、任意の他のエラーが必要に応じて訂正され(826)、そのデータはリクエスタに転送される(826及び830)。
図9は、本発明の一実施形態による、冗長メモリ書込みの選択されたアスペクトを説明するフロー図である。「冗長メモリ書込み」とは、冗長メモリシステムへの書込みを指す。ホストは、両方のブランチに対して冗長メモリ書込みを行い(902)、応答データに定義済みエラーが含まれるか否かを判断する(904−910)。応答データに定義済みエラーが含まれない場合(904)、トランザクションは完了する(918)。いずれかのブランチからの応答データに定義済みエラーが含まれる場合(906−910)、再生ロジックは、両方のブランチの高速リセットを行い(912−916)、高速リセットが各ブランチについて成功したか否かを判断する。
どちらかのブランチにおいて高速リセットが失敗する場合(例えば、920)、その失敗したブランチは無効にされる(例えば、922)。両方のブランチにおいて成功する場合、書込みの失敗によって高速リセットが行われたブランチと同じブランチに冗長メモリ書込みが再生される(924)。再生応答データは、定義済みエラーについて確認される(例えば、926及び928)。再生応答データに定義済みエラーが含まれない場合、トランザクションは完了する(例えば、930)。再生応答データに定義済みエラーが含まれる場合、そのトランザクションが再生されたブランチは無効にされ(例えば、932)、そのトランザクションは完了する(例えば、934)。図9は更に、本発明のある実施形態による、ブランチ失敗、ブランチ無効、及び再生の追加の組み合わせも示す。
再生時のスクラブ
ある実施形態では、自動的に再生されるトランザクション応答エラーには、ECC訂正可能エラーといった訂正可能なエラーが含まれる。そのような実施形態では、再生時にデマンドスクラブ(demand scrub)が実施されうる。用語「デマンドスクラブ」とは、メモリ内の訂正可能なエラーが再生動作時に検出される場合に、その訂正可能なエラーを修復することを指す。図10、図11、及び図12は、それぞれ、図4、図7、及び図8と類似するが、各図10、図11、及び図12は、再生時にデマンドスクラブを実施することの選択されたアスペクトを説明する点で異なる。参照の便宜上、図10、図11、及び図12の説明は、再生時のデマンドスクラブという特徴に焦点をあてる。
図示する実施形態では、訂正可能なエラー(例えば、ECC訂正可能エラー)の検出は、1002、1102、及び1202に示すように、リセットを自動的にトリガする。リセットが成功する場合、トランザクションは再生される(418、722、及び822)。再生トランザクション応答データは分析されて、データにエラーが含まれるか否か判断される。
再生トランザクション応答データに、訂正可能なエラーが含まれる場合、そのエラーは訂正されて、訂正された応答データはリクエスタに転送され、また、その訂正されたデータのコピーがメモリに書込みされる(例えば、1004、1104、及び1204)。再生時にメモリへの書込みがあることによって、書込みに対する悪い応答への「入れ子式」の再生の機会を作ってしまう。従って、ある実施形態では、その書込みでの任意の更なるエラーは、全く新しい書込みとして扱われる。
ある実施形態では、ホストは、「新しい」応答データと前の応答データの両方におけるシグナリングフォルト、及び/又は、ソフトエラーとのシグナリングフォルトの組み合わせのうちのどちらかのフォルトの組み合わせを検出可能でありうる。このような実施形態では、「新しい」応答データ(再生動作後に取得)は、先行する読出し動作からの応答データと(少なくとも部分的に)比較される(例えば、1006、1106、1206)。「新しい」応答データが、前に伝送された応答データと一致する場合、シグナリングフォルトは発生しておらず、ECCロジックを通常通りに使用して、訂正可能又は訂正不可フォルトを分離し、また、データに対して適切な動作を完了することができる。「新しい」応答データが、前に伝送された応答データと一致しない場合、シグナリングフォルトが2つの伝送のうちの片方に発生しており、2つの連続伝送からのデータが一致するまで、別のリトライ動作が行われる。
図13は、本発明の一実施形態による電子システムの選択されたアスペクトを説明するブロック図である。電子システム1300は、プロセッサ1310、メモリコントローラ1320、メモリ1330、入出力(I/O)コントローラ1340、無線周波数(RF)回路1350、及びアンテナ1360を含む。動作時、システム1300は、アンテナ1360を使用して信号を送受信し、これらの信号は、図13に示す様々な構成要素によって処理される。アンテナ1360は、指向性アンテナであっても無指向性アンテナであってもよい。本願に使用するように、用語「無指向性アンテナ」とは、少なくとも1つの面において実質的に均一なパターンを有する任意のアンテナを指す。例えば、ある実施形態では、アンテナ1360は、ダイポールアンテナ又は4分の1波長アンテナといった無指向性アンテナでありうる。更に、例えば、ある実施形態では、アンテナ1360は、パラボリックディッシュアンテナ、パッチアンテナ、又は八木アンテナといった指向性アンテナでありうる。ある実施形態では、アンテナ1360は、複数の物理的なアンテナを含んでもよい。
無線周波数回路1350は、アンテナ1360とI/Oコントローラ1340と通信する。ある実施形態では、RF回路1350は、通信プロトコルに対応する物理インターフェイス(PHY)を含む。例えば、RF回路550は、変調器、復調器、混合器、周波数合成器、低雑音増幅器、電力増幅器等を含みうる。ある実施形態では、RF回路1350は、ヘテロダイン受信器を含み、また、別の実施形態では、RF回路1350は、直接変換受信器を含みうる。例えば、複数のアンテナ1360を有する実施形態では、各アンテナは、対応する受信器に接続されうる。動作時、RF回路1350は、アンテナ1360から通信信号を受信し、アナログ又デジタル信号をI/Oコントローラ1340に供給する。更に、I/Oコントローラ1340は、RF回路1350に信号を供給し、RF回路はこれらの信号を処理して、処理信号をアンテナ1360に伝送しうる。
プロセッサ1310は、任意のタイプの処理デバイスでありうる。例えば、プロセッサ1310は、マイクロプロセッサ、マイクロコントローラ等でありうる。更にプロセッサ1310は、任意の数の処理コア、又は、任意の数の個別プロセッサを含んでもよい。
メモリコントローラ1320は、図13に示すプロセッサ1310と他の構成要素との間の通信路を供給する。ある実施形態では、メモリコントローラ1320は、他の機能も提供するハブデバイスの一部でありうる。図13に示すように、メモリコントローラ1320は、プロセッサ1310、I/Oコントローラ1340、及びメモリ1330に接続される。ある実施形態では、メモリコントローラ1320は、再生ロジック(例えば、図3に示す再生ロジック310)を含み、定義済みエラーを検出し、自動高速リセットを実行し、また、特定のトランザクションを再生する。
メモリ1330は、複数のメモリデバイスを含みうる。これらのメモリデバイスは、任意のタイプのメモリ技術に基づきうる。例えば、メモリ1330は、ランダム・アクセス・メモリ(RAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、スタティック・ランダム・アクセス・メモリ(SRAM)、FLASHメモリといった不揮発性メモリ、又は任意のタイプのメモリでありうる。
メモリ1330は、単一のメモリデバイス、又は、1つ以上のモジュール上の多数のメモリデバイスを表しうる。メモリコントローラ1320は、データを、インターコネクト1322を介してメモリ1330に供給し、また、読出し要求に応答してメモリ1330からのデータを受信する。コマンド及び/又はアドレスは、インターコネクト1322、又は、異なるインターコネクト(図示せず)を介してメモリ1330に供給されうる。メモリコントローラ1330は、プロセッサ1310又は別のソースからメモリ1330内に記憶されるべきデータを受信しうる。メモリコントローラ1330は、メモリ1330から受信したデータをプロセッサ1310又は別の宛先に供給しうる。インターコネクト1322は、双方向性インターコネクトであっても単一方向性インターコネクトであってもよい。インターコネクト1322は、多数の並行導体を含みうる。信号は差動エンド又はシングルエンドでありうる。ある実施形態では、インターコネクト1322は、フォワードされた多相クロックスキームを使用して動作される。
メモリコントローラ1320は更に、I/Oコントローラ1340に接続されて、プロセッサ1310とI/Oコントローラ1340との間に通信路を供給する。I/Oコントローラ1340は、シリアルポート、パラレルポートは、汎用シリアルバス(USB)ポート等のI/O回路と通信するための回路を含む。図13に示すように、I/Oコントローラ1340は、RF回路1350への通信路を供給する。
図14は、本発明の代替の実施形態による電子システムの選択されたアスペクトを示すブロック図である。電子システム1400は、メモリ1330、I/Oコントローラ1340、RF回路1350、及びアンテナ1360を含み、これらは全て、図13に関連して説明した。電子システム1400は更に、プロセッサ1410及びメモリコントローラ1420を含む。図14に示すように、メモリコントローラ1420は、プロセッサ1410と同じダイ上にあってもよい。ある実施形態では、メモリコントローラ1420は、再生ロジック(例えば、図3に示す再生ロジック310)を含み、定義済みエラーを検出し、自動高速リセットを実行し、また、特定のトランザクションを再生する。プロセッサ1410は、プロセッサ1310(図5)に関連して上述した任意のタイプのプロセッサでありうる。図13及び図14によって表される例示的なシステには、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、携帯電話機、携帯情報端末、デジタルホームシステム等が含まれる。
本発明の実施形態の構成要素は、機械可読命令を格納する機械可読媒体としても提供されうる。機械可読媒体には、以下に限定されないが、フラッシュメモリ、光学ディスク、コンパクトディスク読み出し専用メモリ(CD−ROM)、デジタルバーサタイル/ビデオディスク(DVD)ROM、ランダム・アクセス・メモリ(RAM)、消去可能プログラム可能読出し専用メモリ(EPROM)、電気的に消去可能なプログラム可能読出し専用メモリ(EEPROM)、磁気又は光学カード、伝播媒体、又は、電子命令を格納するのに好適な他のタイプの機械可読媒体が含まれうる。例えば、本発明の実施形態は、リモートコンピュータ(例えば、サーバ)から要求を出しているコンピュータ(例えば、クライアント)に、搬送波、又は、通信リンク(例えば、モデム又はネットワーク接続)を介する他の伝播媒体で具現化されるデータ信号によって転送されうるコンピュータプログラムとしてダウンロードされうる。
本明細書における「一実施形態」との言及は、その実施形態に関連して説明した特定の機能、構造、又は特徴が、少なくとも1つの本発明の実施形態に含まれることを理解すべきである。従って、本明細書の様々な箇所における「一実施形態では」又は「代替の実施形態では」との2回以上の言及は、全て必ずしも同じ実施形態について言及しているわけではないことをここに強調し且つ理解されたい。更に、特定の機能、構造、又は特徴は、1つ以上の本発明の実施形態において適宜組み合わせられうる。
同様に、本発明の実施形態の上述の説明において、1つ以上の様々な新規的側面を理解することを促進するよう開示の合理化の目的で、様々な機能が、単一の実施形態、図面、又はその説明にまとめられることは理解すべきである。しかし、この開示方法は、特許請求対象は、各請求項において記載されるよりも多くの機能を必要とすることを意図すると解釈すべきではない。むしろ、特許請求の範囲に示すように、新規的側面は、単一の上述実施形態の全ての機能を含まないところにもある。従って、特許請求の範囲は、この詳細な説明に明示的に組み込まれる。

Claims (19)

  1. ポイント・ツー・ポイントメモリインターコネクトにおけるリンクの一部をリトレインすることでリセットするリセットロジックと、
    メモリトランザクションに関連付けられ、前記メモリトランザクションを再生するためのトランザクションデータを格納する再生キューと、
    前記リセットロジック及び前記再生キューに接続され、また、前記トランザクションデータが、前記メモリトランザクションに関連付けられた定義済みトランザクション応答エラーを示す場合に、リセットを開始する再生コントローラロジックと、
    を含む、集積回路。
  2. 前記定義済みトランザクション応答エラーは、メモリモジュールからの警告、巡回冗長チェック(CRC)エラー、及び、訂正不可エラーチェックコード(ECC)エラーのうちいずれかである、
    請求項1に記載の集積回路。
  3. 前記再生コントローラロジックは、前記リセットが成功する場合に、前記メモリトランザクションの再生を開始する、
    請求項1または請求項2に記載の集積回路。
  4. 前記メモリトランザクションは、冗長情報転送であり、
    前記リセットロジックは更に、前記ポイント・ツー・ポイントメモリインターコネクトにおけるリンクの一部をリトレインすることで、前記ポイント・ツー・ポイントメモリインターコネクトのローカルブランチ及びリモートブランチの両方をリセットする、
    請求項3に記載の集積回路。
  5. 前記冗長情報転送は、冗長メモリ読出し、及び、冗長メモリ書込みのうちいずれかを含む、
    請求項4に記載の集積回路。
  6. 前記再生コントローラロジックは、前記冗長情報転送が冗長メモリ読出しである場合に、前記リモートブランチへの前記メモリトランザクションを再生する、
    請求項5に記載の集積回路。
  7. 前記再生コントローラは、
    前記ローカルブランチが、規模縮小閾値を超えるトランザクション応答エラーを示すか否か判断し、前記ローカルブランチが前記規模縮小閾値を超えるトランザクション応答エラーを示す場合に、前記ローカルブランチを無効にする規模縮小ロジックを含む、
    請求項6に記載の集積回路。
  8. 前記再生コントローラロジックは、前記冗長情報転送が冗長メモリ書込みである場合に、前記ローカルブランチへの前記メモリトランザクションを再生する、
    請求項5から請求項7までのいずれか一項に記載の集積回路。
  9. 前記再生コントローラロジックは、前記再生キューに格納された前記トランザクションデータを分析して、前記トランザクション応答エラー、メモリシステムが冗長であるか否か、および、前記メモリトランザクションのタイプに基づいて、前記メモリトランザクションの再生処理を決定する、
    請求項1から請求項8までのいずれか一項に記載の集積回路。
  10. ポイント・ツー・ポイントメモリインターコネクトから、メモリトランザクションに関連付けられるトランザクションデータを受信する段階と、
    前記メモリトランザクションを再生するための前記トランザクションデータを格納する段階と、
    前記メモリトランザクションに関連付けられるトランザクション応答エラーを検出する段階と、
    前記メモリトランザクションに関連付けられる前記トランザクション応答エラーの検出に少なくとも部分的に呼応して高速リセットを開始する段階と、
    前記高速リセットを開始する段階に応答して、前記ポイント・ツー・ポイントメモリインターコネクトにおけるリンクの一部をリトレインする前記高速リセットを実施する段階と、
    を含む方法。
  11. 前記トランザクション応答エラーは、メモリモジュールからの警告、巡回冗長チェック(CRC)エラー、及び、訂正不可エラーチェックコード(ECC)エラーのうち少なくとも1つを含む、
    請求項10に記載の方法。
  12. 前記高速リセットが成功する場合に、前記メモリトランザクションを再生する段階を更に含む、
    請求項10または請求項11に記載の方法。
  13. 前記メモリトランザクションは、冗長情報転送であり、
    高速リセットを開始する段階は更に、
    前記メモリインターコネクトのローカルブランチ及びリモートブランチの両方の高速リセットを開始する段階を含む、
    請求項12に記載の方法。
  14. 前記冗長情報転送は、冗長メモリ読出し、及び、冗長メモリ書込みのうちいずれかを含む、
    請求項13に記載の方法。
  15. 前記メモリトランザクションを再生する段階は、
    前記冗長情報転送が冗長メモリ読出しである場合に、前記リモートブランチへの前記メモリトランザクションを再生する段階を含む、
    請求項14に記載の方法。
  16. 前記ローカルブランチが、規模縮小閾値を超えるトランザクション応答エラーを示すか否か判断する段階と、
    前記ローカルブランチが前記規模縮小閾値を超えるトランザクション応答エラーを示す場合に、前記ローカルブランチを無効にする段階と、
    を更に含む、
    請求項15に記載の方法。
  17. 前記メモリトランザクションを再生する段階は、
    前記冗長情報転送が冗長メモリ書込みである場合に、前記トランザクション応答エラーを示すブランチへの前記メモリトランザクションを再生する段階を含む、
    請求項14に記載の方法。
  18. 格納された前記トランザクションデータを分析して、前記トランザクション応答エラー、メモリシステムが冗長であるか否か、および、前記メモリトランザクションのタイプに基づいて、前記メモリトランザクションの再生処理を決定する段階を更に含む、
    請求項10から請求項17までのいずれか一項に記載の方法。
  19. ポイント・ツー・ポイントメモリインターコネクトに接続されるメモリモジュールと、
    前記ポイント・ツー・ポイントメモリインターコネクトを介して前記メモリモジュールに接続されるメモリコントローラと、
    を含み、
    前記メモリコントローラは、請求項1から請求項9までのいずれか一項に記載の集積回路を含む、
    システム。
JP2008555397A 2006-02-16 2007-02-15 メモリトランザクション再生メカニズム Expired - Fee Related JP5039061B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/357,492 2006-02-16
US11/357,492 US7587625B2 (en) 2006-02-16 2006-02-16 Memory replay mechanism
PCT/US2007/004210 WO2007098062A2 (en) 2006-02-16 2007-02-15 Memory transaction replay mechanism

Publications (2)

Publication Number Publication Date
JP2009527819A JP2009527819A (ja) 2009-07-30
JP5039061B2 true JP5039061B2 (ja) 2012-10-03

Family

ID=38437903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008555397A Expired - Fee Related JP5039061B2 (ja) 2006-02-16 2007-02-15 メモリトランザクション再生メカニズム

Country Status (9)

Country Link
US (1) US7587625B2 (ja)
EP (1) EP1984822B1 (ja)
JP (1) JP5039061B2 (ja)
KR (1) KR100992334B1 (ja)
CN (1) CN101110047B (ja)
AT (1) ATE456090T1 (ja)
DE (1) DE602007004448D1 (ja)
TW (1) TWI354888B (ja)
WO (1) WO2007098062A2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028198B2 (en) 2007-07-30 2011-09-27 Micron Technology, Inc. Devices, methods, and apparatuses for detection, sensing, and reporting functionality for semiconductor memory
US8151266B2 (en) * 2008-03-31 2012-04-03 Qualcomm Incorporated Operating system fast run command
US8234540B2 (en) 2008-07-01 2012-07-31 International Business Machines Corporation Error correcting code protected quasi-static bit communication on a high-speed bus
US8245105B2 (en) * 2008-07-01 2012-08-14 International Business Machines Corporation Cascade interconnect memory system with enhanced reliability
US8078848B2 (en) * 2009-01-09 2011-12-13 Micron Technology, Inc. Memory controller having front end and back end channels for modifying commands
US8539309B2 (en) * 2009-09-17 2013-09-17 International Business Machines Corporation System and method for responding to error detection
US9158616B2 (en) * 2009-12-09 2015-10-13 Intel Corporation Method and system for error management in a memory device
US8862973B2 (en) * 2009-12-09 2014-10-14 Intel Corporation Method and system for error management in a memory device
KR101187642B1 (ko) * 2011-05-02 2012-10-08 에스케이하이닉스 주식회사 집적 회로의 모니터링 장치
EP2992435B1 (en) 2013-04-30 2020-12-30 Hewlett-Packard Enterprise Development LP Memory node error correction
US9934085B2 (en) * 2013-05-29 2018-04-03 Hewlett Packard Enterprise Development Lp Invoking an error handler to handle an uncorrectable error
US9626270B2 (en) * 2014-09-26 2017-04-18 Intel Corporation Link retraining based on runtime performance characteristics
EP3057027B1 (en) * 2015-02-16 2018-06-13 Nxp B.V. Method for secure data reading, computer program product and data handling system
US9817738B2 (en) * 2015-09-04 2017-11-14 Intel Corporation Clearing poison status on read accesses to volatile memory regions allocated in non-volatile memory
US9904593B2 (en) * 2015-11-13 2018-02-27 Taiwan Semiconductor Manufacturing Co., Ltd. Memory device and correction method
US11675659B2 (en) * 2016-07-15 2023-06-13 Advanced Micro Devices, Inc. DDR memory error recovery
US10437946B1 (en) * 2016-09-01 2019-10-08 Xilinx, Inc. Using implemented core sources for simulation
US10635613B2 (en) 2017-04-11 2020-04-28 Micron Technology, Inc. Transaction identification
US10391764B2 (en) 2017-05-16 2019-08-27 Canon Kabushiki Kaisha Element substrate, printhead, and printing apparatus
US10459785B2 (en) 2017-09-27 2019-10-29 Western Digital Technologies, Inc. Error detection for training non-volatile memories
US11442813B2 (en) 2017-10-11 2022-09-13 Hewlett-Packard Development Company, L.P. Memory devices including execution trace buffers
US11334457B1 (en) 2019-06-27 2022-05-17 Samsung Electronics Co., Ltd. Semiconductor memory device and memory system including the same
US11243831B2 (en) * 2019-07-15 2022-02-08 Micron Technology, Inc. Reset and replay of memory sub-system controller in a memory sub-system
CN110727530B (zh) * 2019-09-12 2021-02-19 无锡江南计算技术研究所 基于窗口的错误访存请求重传系统及方法
US11531601B2 (en) 2019-12-30 2022-12-20 Advanced Micro Devices, Inc. Error recovery for non-volatile memory modules
US11137941B2 (en) * 2019-12-30 2021-10-05 Advanced Micro Devices, Inc. Command replay for non-volatile dual inline memory modules

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3754482B2 (ja) * 1996-02-29 2006-03-15 株式会社日立製作所 メモリ転写機能を有する情報処理装置
US6333929B1 (en) 1997-08-29 2001-12-25 Intel Corporation Packet format for a distributed system
US7404032B2 (en) * 2000-01-05 2008-07-22 Rambus Inc. Configurable width buffered module having switch elements
US6766429B1 (en) * 2000-08-31 2004-07-20 International Business Machines Corporation Low cost and high RAS mirrored memory
US7028213B2 (en) * 2001-09-28 2006-04-11 Hewlett-Packard Development Company, L.P. Error indication in a raid memory system
US6917967B2 (en) 2002-12-13 2005-07-12 Sun Microsystems, Inc. System and method for implementing shared memory regions in distributed shared memory systems
US7028147B2 (en) * 2002-12-13 2006-04-11 Sun Microsystems, Inc. System and method for efficiently and reliably performing write cache mirroring
US7386768B2 (en) * 2003-06-05 2008-06-10 Intel Corporation Memory channel with bit lane fail-over
US7111153B2 (en) * 2003-09-30 2006-09-19 Intel Corporation Early data return indication mechanism
US20060026375A1 (en) 2004-07-30 2006-02-02 Christenson Bruce A Memory controller transaction scheduling algorithm using variable and uniform latency
US7292950B1 (en) * 2006-05-08 2007-11-06 Cray Inc. Multiple error management mode memory module

Also Published As

Publication number Publication date
EP1984822A2 (en) 2008-10-29
WO2007098062A2 (en) 2007-08-30
CN101110047B (zh) 2010-11-17
CN101110047A (zh) 2008-01-23
US20070226579A1 (en) 2007-09-27
WO2007098062A3 (en) 2007-11-22
TWI354888B (en) 2011-12-21
ATE456090T1 (de) 2010-02-15
TW200834299A (en) 2008-08-16
DE602007004448D1 (de) 2010-03-11
KR20080087035A (ko) 2008-09-29
JP2009527819A (ja) 2009-07-30
KR100992334B1 (ko) 2010-11-05
EP1984822B1 (en) 2010-01-20
US7587625B2 (en) 2009-09-08

Similar Documents

Publication Publication Date Title
JP5039061B2 (ja) メモリトランザクション再生メカニズム
KR102553704B1 (ko) 에러 타입에 기초하는 ecc의 동적 적용
US7836378B2 (en) System to detect and identify errors in control information, read data and/or write data
US7644347B2 (en) Silent data corruption mitigation using error correction code with embedded signaling fault detection
US8898408B2 (en) Memory controller-independent memory mirroring
TWI553650B (zh) 以記憶體控制器來處理資料錯誤事件之方法、設備及系統
JP5135348B2 (ja) メモリ装置の信頼性、可用性、およびサービス性の改善
US9632863B2 (en) Track error-correcting code extension
US8869007B2 (en) Three dimensional (3D) memory device sparing
US7587658B1 (en) ECC encoding for uncorrectable errors
US20120131414A1 (en) Reliability, availability, and serviceability solution for memory technology
US9336401B2 (en) Implementing enhanced security with storing data in DRAMs
TWI808098B (zh) 用於支持錯誤更正碼的裝置及其測試方法
CN112700816A (zh) 具有裸片上镜像功能的存储器芯片和用于测试其的方法
US20040003165A1 (en) Memory subsystem including error correction
CN116244108A (zh) 存储器控制器和存储器的数据写入和读取方法及存储系统
CN115732016A (zh) 存储器装置、存储器控制器和纠正数据错误的方法
KR20180078426A (ko) 데이터 저장 장치의 에러 정정 코드 처리 방법
CN116783654A (zh) 自适应错误校正以提高系统存储器可靠性、可用性和可服务性(ras)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120619

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120706

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5039061

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees