(57)【要約】【課題】  メモリ・コントローラおよびメモリ・サブシステム設計の拡張テスタビリティを提供する、プログラマブル診断メモリ・モジュールを提供する。【解決手段】  プログラマブル診断メモリ・モジュールは、外部診断システムと通信するためのインターフェースを含み、このインターフェースは、メモリ・モジュールの様々な挙動を変更するためにメモリ・モジュールにコマンドを転送するために使用される。変更済みの挙動は、エラーをシミュレートするためにメモリ・モジュールに書き込まれるデータ・ストリームを変更すること、メモリ・モジュール信号のタイミングあるいはローディングまたはその両方を変更すること、メモリ・モジュール内のプロセッサ・コアによって実行するためのプログラムをダウンロードすること、メモリ・モジュールの出力信号のドライバ強度を変更すること、ならびに、アナログ領域においてメモリ・モジュールに接続された電源でノイズを注入するなど、メモリ・モジュールの端末で信号を操作すること、とすることができる。メモリ・モジュールは、複数の選択可能メモリ・モジュール・タイプをエミュレートすることが可能であり、標準的なメモリ・モジュール動作を提供するために完全なストレージ・アレイを含むことが可能である。【選択図】  図１
2010537264.tif 000002
【特許請求の範囲】
【請求項１】
メモリ・サブシステム内で通常のメモリ・モジュールの代わりに診断メモリ・モジュールを接続するためのメモリ・モジュール・インターフェース端末と、
診断プログラムを格納するためのストレージと、
前記診断プログラムを実行するための処理ユニットと、
前記処理ユニットと外部診断システムとの間で通信するためのインターフェースと、
を備える、診断メモリ・モジュール。
【請求項２】
前記通常のメモリ・モジュールによって他の形で提供されることになるような等価のストレージを提供するための、複数のメモリ・デバイスをさらに備える、請求項１に記載の診断メモリ・モジュール。
【請求項３】
前記インターフェースが、前記外部診断システムからの前記診断プログラムのプログラム命令を転送する、請求項１に記載の診断メモリ・モジュール。
【請求項４】
前記診断プログラムが、
前記メモリ・モジュール・インターフェース端末で受信されるメモリ書き込み動作に対応する、データのストリームを格納するため、
エラー状態をシミュレートするために変更済みストリームを生成するように、前記データのストリームを変更するため、および
前記メモリ・モジュール・インターフェース端末で前記変更済みストリームを提供することによって、前記メモリ・モジュール・インターフェース端末で受信されるメモリ読み取り動作に応答するための、
プログラム命令を備える、請求項１に記載の診断メモリ・モジュール。
【請求項５】
前記メモリ・モジュール・インターフェース端末のうちの１つまたは複数の電気的ロードを変更するためのプログラマブル・ローディング回路をさらに備え、これによって前記メモリ・サブシステムの挙動が変更される、請求項１に記載の診断メモリ・モジュール。
【請求項６】
前記診断メモリ・モジュールが、ノイズをシミュレートするために、アナログ領域内の前記メモリ・モジュール・インターフェース端末のうちの少なくとも１つでの信号を操作するための回路を含み、前記インターフェースが前記信号を操作するためのコマンドを受信し、前記回路が前記コマンドの受信に応答して前記信号を操作する、請求項１に記載の診断メモリ・モジュール。
【請求項７】
前記少なくとも１つのメモリ・モジュール・インターフェース端末が電源端末である、請求項６に記載の診断メモリ・モジュール。
【請求項８】
前記診断メモリ・モジュールの出力ドライバがプログラマブル・ドライブ強度を有し、前記インターフェースが、前記メモリ・モジュール・インターフェース端末のうちの少なくとも１つで前記診断メモリ・モジュールから提供された出力信号のドライブ強度を変更するためのコマンドを受信し、前記処理ユニットが、前記コマンドの受信に応答して前記出力ドライバの前記プログラマブル・ドライブ強度を設定する、請求項１に記載の診断メモリ・モジュール。
【請求項９】
前記診断メモリ・モジュール内のアドレス信号とデータ信号との間のタイミング関係を調整するためのタイミング・オフセット回路をさらに備え、前記インターフェースが、前記アドレス信号と前記データ信号との間の前記タイミング関係を調整するためのコマンドを受信し、前記処理ユニットが、前記コマンドの受信に応答して前記タイミング関係を調整するために前記タイミング・オフセット回路をプログラミングする、請求項１に記載の診断メモリ・モジュール。
【請求項１０】
前記インターフェースが、複数のメモリ・モジュール・タイプのうちの特定のモジュール・タイプをエミュレートするためのコマンドを受信し、前記処理ユニットが、前記コマンドの受信に応答して、前記特定のモジュール・タイプをエミュレーション・タイプとして設定する、請求項１に記載の診断メモリ・モジュール。
【請求項１１】
前記診断メモリ・モジュール内で信号をプローブするための少なくとも１つのテスト・ポイントをさらに備える、請求項１に記載の診断メモリ・モジュール。
【請求項１２】
ワークステーション・プログラム命令を実行するためのプロセッサと、前記ワークステーション・プログラム命令を格納するためのメモリと、ターゲット・メモリ・サブシステムに挿入された診断メモリ・モジュールと通信するためのインターフェースと、を備え、前記ワークステーション・プログラム命令が、前記診断メモリ・モジュールとテスト・ワークステーション・コンピュータ・システムとの間で診断情報を転送するために、前記診断メモリ・モジュールと通信するためのプログラム命令を備える、テスト・ワークステーション・コンピュータ・システム。
【請求項１３】
通信するための前記ワークステーション・プログラム命令が、前記診断メモリ・モジュール内の診断メモリ・モジュール・プロセッサ・コアによる実行のために、前記テスト・ワークステーション・コンピュータ・システムから前記診断メモリ・モジュールへと診断プログラムのプログラム命令を転送する、請求項１２に記載のテスト・ワークステーション・コンピュータ・システム。
【請求項１４】
前記診断プログラムが、エラー状態をシミュレートする変更済みのデータのストリームを生成するために前記診断メモリ・モジュールに書き込まれるデータのストリームを操作するため、および、前記診断メモリ・モジュールによって受信されるメモリ読み取り動作に応答して前記変更済みのデータの・ストリームを提供するための、プログラム命令を備える、請求項１２に記載のテスト・ワークステーション・コンピュータ・システム。
【請求項１５】
前記通信するためのワークステーション・プログラム命令が、前記ターゲット・メモリ・サブシステム内の前記診断メモリ・モジュールの電気的ロードを変更するために、プログラマブル・ローディング回路をプログラミングするためのコマンドを送信し、これによって前記ターゲット・メモリ・サブシステムの挙動が変更される、請求項１２に記載のテスト・ワークステーション・コンピュータ・システム。
【請求項１６】
前記診断メモリ・モジュールが、ノイズをシミュレートするために、アナログ領域内の前記ターゲット・メモリ・サブシステム内で信号を操作するための回路を含み、前記通信するためのワークステーション・プログラム命令が信号を操作するための前記回路を活動化させるためのコマンドを送信し、これによって前記ターゲット・メモリ・サブシステムの挙動が変更される、請求項１２に記載のテスト・ワークステーション・コンピュータ・システム。
【請求項１７】
前記診断メモリ・モジュールが、プログラマブル・ドライブ強度を有する出力ドライバを含み、前記通信するためのワークステーション・プログラム命令が前記ドライブ強度を変更するためのコマンドを送信する、請求項１２に記載のテスト・ワークステーション・コンピュータ・システム。
【請求項１８】
前記診断メモリ・モジュールが、前記診断メモリ・モジュール内のアドレス信号とデータ信号との間のタイミング関係を調整するためのタイミング・オフセット回路をさらに含み、通信するためのプログラム命令が、前記アドレス信号と前記データ信号との間の前記タイミング関係を調整するためのコマンドを送信する、請求項１２に記載のテスト・ワークステーション・コンピュータ・システム。
【請求項１９】
インターフェースを介して接続されたテスト・ワークステーション・コンピュータ・システムによって、ターゲット・メモリ・サブシステムに挿入された診断メモリ・モジュールを実行するために、ワークステーション・プログラム命令を符号化するコンピュータ読み取り可能ストレージ・メディアを備え、前記ワークステーション・プログラム命令が、前記診断メモリ・モジュールと前記テスト・ワークステーション・コンピュータ・システムとの間で診断情報を転送するために、診断メモリ・モジュールと通信するためのプログラム命令を備える、コンピュータ・プログラム。
【請求項２０】
通信するための前記ワークステーション・プログラム命令が、前記診断メモリ・モジュール内の診断メモリ・モジュール・プロセッサ・コアによる実行のために、前記テスト・ワークステーション・コンピュータ・システムから前記診断メモリ・モジュールへと診断プログラムのプログラム命令を転送する、請求項１９に記載のコンピュータ・プログラム。
【請求項２１】
前記診断プログラムが、エラー状態をシミュレートする変更済みのデータのストリームを生成するために前記診断メモリ・モジュールに書き込まれるデータのストリームを操作するため、および、前記診断メモリ・モジュールによって受信されるメモリ読み取り動作に応答して前記変更済みのデータの・ストリームを提供するための、プログラム命令を備える、請求項２０に記載のコンピュータ・プログラム。
【請求項２２】
前記通信するためのワークステーション・プログラム命令が、前記ターゲット・メモリ・サブシステム内の前記診断メモリ・モジュールの電気的ロードを変更するために、プログラマブル・ローディング回路をプログラミングするためのコマンドを送信し、これによって前記ターゲット・メモリ・サブシステムの挙動が変更される、請求項１９に記載のコンピュータ・プログラム。
【請求項２３】
前記診断メモリ・モジュールが、ノイズをシミュレートするために、アナログ領域内の前記ターゲット・メモリ・サブシステム内で信号を操作するための回路を含み、前記通信するためのワークステーション・プログラム命令が信号を操作するための前記回路を活動化させるためのコマンドを送信し、これによって前記ターゲット・メモリ・サブシステムの挙動が変更される、請求項１９に記載のコンピュータ・プログラム。
【請求項２４】
前記診断メモリ・モジュールが、プログラマブル・ドライブ強度を有する出力ドライバを含み、前記通信するためのワークステーション・プログラム命令が前記ドライブ強度を変更するためのコマンドを送信する、請求項１９に記載のコンピュータ・プログラム。
【請求項２５】
前記診断メモリ・モジュールが、前記診断メモリ・モジュール内のアドレス信号とデータ信号との間のタイミング関係を調整するためのタイミング・オフセット回路をさらに含み、通信するためのプログラム命令が、前記アドレス信号と前記データ信号との間の前記タイミング関係を調整するためのコマンドを送信する、請求項１９に記載のコンピュータ・プログラム。
【請求項２６】
メモリ・サブシステム内で通常のメモリ・モジュールの代わりに診断メモリ・モジュールを接続するためのメモリ・モジュール・インターフェース端末と、
前記通常のメモリ・モジュールによって他の形で提供されることになるような等価のストレージを提供するための、複数のメモリ・デバイスと、
診断プログラムを格納するためのストレージであって、前記診断プログラムが、
前記メモリ・モジュール・インターフェース端末で受信されるメモリ書き込み動作に対応する、データのストリームを格納するため、
エラー状態をシミュレートするために変更済みストリームを生成するように、前記データのストリームを変更するため、および
前記メモリ・モジュール・インターフェース端末で前記変更済みストリームを提供することによって、前記メモリ・モジュール・インターフェース端末で受信されるメモリ読み取り動作に応答するための、
プログラム命令を含む、ストレージと、
前記診断プログラムを実行するための処理ユニットと、
前記処理ユニットと外部診断システムとの間で通信するためのインターフェースであって、前記インターフェースが、前記外部診断システムからの前記診断プログラムのプログラム命令を転送する、インターフェースと、
前記メモリ・モジュール・インターフェース端末のうちの１つまたは複数の電気的ロードを変更するためのプログラマブル・ローディング回路であって、これによって前記メモリ・サブシステムの挙動が変更される、プログラマブル・ローディング回路と、
ノイズをシミュレートするために、アナログ領域内の前記メモリ・モジュール・インターフェース端末のうちの少なくとも１つでの信号を操作するための回路であって、前記インターフェースが前記信号を操作するためのコマンドを受信し、前記回路が前記コマンドの受信に応答して前記信号を操作する、回路と、
プログラマブル・ドライブ強度を有する出力ドライバであって、前記インターフェースが、前記メモリ・モジュール・インターフェース端末のうちの少なくとも１つで前記診断メモリ・モジュールから提供された出力信号のドライブ強度を変更するためのコマンドを受信し、前記処理ユニットが、前記コマンドの受信に応答して前記出力ドライバの前記プログラマブル・ドライブ強度を設定する、出力ドライバと、
前記診断メモリ・モジュール内のアドレス信号とデータ信号との間のタイミング関係を調整するためのタイミング・オフセット回路であって、前記インターフェースが、前記アドレス信号と前記データ信号との間の前記タイミング関係を調整するためのコマンドを受信し、前記処理ユニットが、前記コマンドの受信に応答して前記タイミング関係を調整するために前記タイミング・オフセット回路をプログラミングする、タイミング・オフセット回路と、
前記診断メモリ・モジュール内で信号をプローブするための少なくとも１つのテスト・ポイントと、
を備える、プログラマブル対話式診断メモリ・モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に処理システムのメモリ・サブシステムに関し、より具体的に言えば、メモリ・モジュールの挙動の観察あるいは変更またはその両方を実行するためのプログラマブル機能を提供する、診断メモリ・モジュールに関する。
【背景技術】
【０００２】
現在のコンピュータ・システムにおけるメモリ・サブシステムは、システム・メモリを提供する複数のメモリ・モジュールを含む。こうしたコンピュータ・システム、およびプロセッサ・ブレード・ユニットまたはマザーボードなどのそれらの要素、ならびに、具体的に言えば、専用メモリ・コントローラ・ユニットおよびメモリ・コントローラ・ユニットを組み込んだプロセッサの、設計および製造中に、エラー検出およびエラー訂正などの機能、ならびに、読み取りサイクル遅延および書き込みサイクル・タイミング・マージンなどの、メモリ性能に関する設計マージンを、評価することが望ましい。
【０００３】
しかしながら、実際のメモリ・デバイスの性能は、通常、設計によって固定されるため、エラー検出／訂正メカニズムをテストするための技法は、従来から、「既知不良（known bad）」モジュールを使用するなどの方法、または、パリティ情報の使用不可化による強制パリティ・エラーなどの技法に、限定されてきた。システム・メモリ・テストを実行するために長い間ソフトウェアが使用可能であったが、こうしたテストは、設計によって固定されるメモリの実装に関して実行されるか、研究室環境で外部的に操作されるものである。タイミング・マージンは、外部ロードまたはターミネータを変更することによって評価されてきたが、こうした技法は時間がかかり、実際のタイミング・マージンの粗雑な評価を与えるのみである。さらにこうした方法は、メモリ・モジュール内部の挙動を説明する情報を明らかにせず、外部ローディングによって影響を受ける場合、メモリ・モジュールの挙動のみである。
【０００４】
標準化メモリ・モジュール・ソケットに直接挿入可能なロード・デバイスは、実際のメモリ・デバイスと等価の名目ロードを依然として提供しながら、テスト・ポイントを提供できるという点で、メモリ・コントローラおよびシステム設計評価をある程度簡略化した。しかしながら、こうしたテスト・モジュールは、通常、固定された信号ローディング値を有し、メモリ・デバイスを受動ロードおよびテスト・ポイントのみに置き換え、ここで受動ロードは、実際のメモリ・モジュールのローディングを近似する。ローディングを変更するためには、挿入されたロード・デバイスを除去し、異なるローディング特性を備えた他のロード・デバイスを挿入しなければならない。提供されるテスト・ポイントも、書き込みおよび読み取りが可能な、ストレージの正確な位置に配置されないため、外部メモリ・バス信号の測定のためにのみ提供される。さらに、こうしたデバイスを使用するテスト・エラー検出／訂正メカニズムは、依然として、障害が発生するまでテスト・ポイントを外部的にロードするなどの技法に限定される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、メモリ・サブシステムの挙動の柔軟な操作、および、ストレージの実際の位置での信号挙動に関する情報を提供する、メモリ・コントローラおよびメモリ・サブシステム設計を評価するための方法および装置を提供することが望ましい。さらに、メモリ・モジュール内部の信号挙動に関する情報を提供することも望ましい。
【課題を解決するための手段】
【０００６】
メモリ・サブシステムの挙動の柔軟な操作、および、メモリ・モジュール内部の信号挙動を含む、ストレージの実際の位置での信号挙動に関する情報を提供するという目的は、診断メモリ・モジュールおよびテスト方法で提供される。
【０００７】
診断メモリ・モジュールは、通常のメモリ・モジュールの代わりに、診断メモリ・モジュールをメモリ・サブシステムに接続するための、メモリ・モジュール・インターフェース端末、および、診断メモリ・モジュールと外部診断システムとの間を接続するためのインターフェースを含む。
【０００８】
診断メモリ・モジュールは、プログラマブル・ドライブ強度を備えた出力ドライバ、メモリ・モジュール・インターフェース端末での電気的ロードを変更するためのプログラマブル・ローディング回路などの、メモリ・モジュール信号の挙動を変更するためのプログラマブル要素を含むことができる。診断メモリ・モジュールは、診断動作を実行するためにプログラム命令を実行するためのプロセッサ・コアを含むことも可能であり、プログラム命令は、外部診断システムからプロセッサ・コアへとダウンロードすることができる。別の方法として、インターフェースから受信したコマンドに応答して診断動作を実行するために、専用論理を提供することができる。
【０００９】
プロセッサ・コアまたは専用論理は、エラーをシミュレートするために診断メモリ・モジュールに書き込まれたデータ・ストリームを変更すること、アドレス信号とデータ信号との間のタイミングを変更すること、および、たとえばノイズ注入のためにアナログ領域内の電源接続などの診断メモリ・モジュールの端末上の信号を操作することなどの、動作を実行することができる。診断メモリ・モジュールは、外部テスト機器による診断メモリ・モジュールの信号へのアクセスを提供するためのテスト・ポイントを含むこともできる。
【００１０】
本発明の前述および他の目的、機能、および利点は、添付の図面に示されたような本発明の好ましい実施形態に関する、以下のより具体的な説明から明らかになろう。
【００１１】
本発明の特徴と考えられる新規な機能は、添付の特許請求の範囲に示される。しかしながら、本発明それ自体、ならびに好ましい使用態様、他の目的、およびその利点は、同じ番号が同じコンポーネントを示す添付の図面に関して、例示的実施形態の以下の詳細な説明を参照することによって、最も良く理解されるであろう。
【図面の簡単な説明】
【００１２】
【図１】ワークステーション・テスト・システムに結合され、本発明の実施形態に従ってインストールされた診断メモリ・モジュールを有する、コンピュータ・システムを示すブロック図である。
【図２】本発明の実施形態に従った、診断メモリ・モジュールを示すブロック図である。
【図３】本発明の実施形態に従った、図２のプログラマブル・ロード／ターミネータ３５の細部を示す概略図である。
【図４】本発明の実施形態に従った、図２のプログラマブル・バッファ／遅延３２の細部を示す概略図である。
【発明を実施するための形態】
【００１３】
本発明は、メモリ・サブシステム設計のテストおよび評価を実行するための、診断メモリ・モジュールに関する。メモリ・モジュールは、システムの物理的設計およびシステムによって受け入れられるメモリ・モジュールのタイプに従って、通常のメモリ・モジュールを受け入れる標準コネクタに挿入するためにパッケージングされる。例示的実施形態では、現在のパッケージング・スタイルに従った、デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）パッケージが想定される。しかしながら、本発明の診断メモリ・モジュールは、任意のスタイルのパッケージングにおいて、および任意のメモリ・デバイス・アーキテクチャに関して、実装可能であることを理解されよう。本発明の診断メモリ・モジュールは、メモリ・モジュール・インターフェース信号のローディングおよびタイミングの関係を変更すること、ならびに、エラーに影響を与えるためにメモリ・モジュールの想定されるコンテンツを変更することなどの、診断メモリ・モジュール内の様々な動作を実行するための、プロセッサ・コアなどのプログラマブル要素を含む。診断メモリ・モジュールは、通常のメモリ・モジュール機能を実装するためのフル・ストレージ・アレイを含む場合または含まない場合があるため、コンテンツは、実際のストレージ・アレイ内に実際に格納されるのと対照的に、「想定される」場合がある。その代わりに、書き込み転送のコンテンツをバッファ内に格納し、変更した後、書き込み動作に応答して戻すことが可能であるため、診断メモリ・モジュールは、診断メモリ・モジュールと共に使用するためのテスト・プログラム以外のソフトウェアによって予測される実際のストレージを、提供する場合または提供しない場合がある。
【００１４】
本発明の診断メモリ・モジュールは、タイプ・プログラマブルとすることが可能であるため、メモリ・モジュールを実行する集積回路の単一の実装を、物理相互接続スキームへの適切な変更によって、たとえばＤＤＲおよびＤＤＲ２  ＤＲＡＭモジュールなどをエミュレートするように、選択的に適合させることができる。選択は、診断メモリ・モジュール・プログラムをメモリ・モジュール内のプログラム・ストレージにダウンロードすることによって、プログラム制御の下で実行可能であるか、あるいは、ジャンパまたはスイッチなどのハードワイヤード選択機構によって実行可能である。メモリ・モジュールを、前述のダウンロード機構を介してプログラム可能とすることができるか、あるいは、診断プログラムを、永続的に格納するか、または再プログラマビリティをサポートする不揮発性メモリ内に格納することができる。プログラマブル要素および診断プログラムは、プロセッサ・コアおよび関連するプログラム命令、専用論理、またはプログラマブル論理アレイおよび関連するプログラミング・コードとすることができる。
【００１５】
次に図１を参照すると、本発明が内部で実施可能なシステムが示されている。ワークステーション・コンピュータ１０は、パーソナル・コンピュータ、汎用ワークステーション、または専用テスト・コンピュータ・システムとすることができる。ワークステーション・コンピュータ・システム１０は、ユーザに視覚情報を提供するためのグラフィカル・ディスプレイ１６を含み、本発明の諸実施形態から受け取る動作値を監視するために、ならびに、ターゲット・コンピュータ・システム２１内の診断メモリ・モジュール２０と通信することによって、設定を制御し、本発明の方法を実行するプログラム・コードをダウンロードするために、使用することができる。キーボード１７Ａおよびポインティング・デバイス１７Ｂは、ユーザ入力を受信するためにワークステーション・コンピュータ１０に接続される。ワークステーション・コンピュータ１０は、ターゲット・コンピュータ・システム２１からの情報を制御および受信するための本発明の諸実施形態に従ったプログラム命令を含む、プロセッサ１２によって実行するためのプログラム命令を含むメモリ１４に結合された、プロセッサ１２を含む。本発明の諸実施形態に従ったコンピュータ・プログラム製品は、ＣＤ−ＲＯＭドライブ１５による読み取りおよびプロセッサ１２による実行のためのメモリ１４内への格納が可能な、符号化プログラム命令を格納する、コンパクト・ディスクＣＤなどのメディアを含む。
【００１６】
ターゲット・コンピュータ・システム２１は、ブレード・サーバ・システム内で使用可能なように、ブレード・プロセッサ・ユニットの形として示される。プロセッサ・コア２４Ａおよび２４Ｂは、メモリ・サブシステムとＬ３キャッシュ・ユニット２６との間のプログラム命令およびデータの転送を制御する、メモリ・コントローラ・ユニット（ＭＣＵ）２８に結合された、レベル３キャッシュ・ユニット２６に結合される。メモリ・サブシステムは、例示された実施形態では、本発明の実施形態に従った３つの通常のＤＩＭＭ  ２２および診断ＤＩＭＭ  ２０と共に実装される、システム・メモリ用の４つのＤＩＭＭスロットを含む。ワークステーション・コンピュータ・システム１０のテスタ・インターフェース１８は、合同検査作業グループ（ＪＴＡＧ）インターフェース、専用シリアル・インターフェース、スキャン・チェーン・インターフェース、または、診断ＤＩＭＭ  ２０とワークステーション・コンピュータ・システム１０との間でのデータおよびプログラム／ＰＧＡ構成データの転送に好適な任意の他の通信リンクなどの、インターフェースを介して、診断ＤＩＭＭ  ２０に結合される。テスタ・インターフェース１８との間の電気接続は、診断ＤＩＭＭ  ２０の回路ボードへのプローブを介する、診断ＤＩＭＭ  ２０上の追加コネクタへのケーブルを介する、または、ＤＩＭＭ電力管理およびＤＩＭＭ構成情報取り出しのために提供されたような通常のＤＩＭＭコネクタを介してＤＩＭＭ  ２０内に実装された通信インターフェースに追加された追加のプロトコルを介する、とすることができる。
【００１７】
次に図２を参照すると、本発明の実施形態に従った、診断ＤＩＭＭ  ２０のブロック図が示される。インターフェース３６は、ワークステーション・コンピュータ・システム１０とプロセッサ・コア３４（または別の方法として、ＰＧＡなどの専用またはプログラマブル論理）との間の、前述のデータおよびプログラム・リンクを提供する。診断ＤＩＭＭ  ２０は、データ信号Ｄ［０：Ｎ］、アドレス信号Ａ［０：Ｍ］、および制御信号ＣＴＬに関する接続を提供するエッジ・コネクタ端末３１を介してターゲット・システム２０と接続する、コネクタ３０を含む。オプショナル・ストレージ・アレイ３８は、通常のＤＩＭＭとしての動作を提供し、以下でより詳細に説明するように、特殊な診断動作に関してプロセッサ・コア３４によってバイパスすることが可能である。バッファ３３は、ストレージ・アレイ３８との間で実行される動作の性能とは異なる、データの読み取りおよびデータの書き込み動作のシミュレーションのために提供される。プロセッサ・コア３４は、エラーをシミュレートするためにバッファ３３のコンテンツを修正することが可能であり、バッファ３３は、エラーの指示または実際のエラー状態を書き込み後に設定できるように、ＥＣＣあるいはパリティ・ビットまたはその両方を含むことも可能であるため、結果として、後続の読み取り動作でエラー状態を生じる。全レーン障害、単一ビットおよびマルチビット・ライン障害、ならびに一時ビット・エラー（transient bit error）などの、エラー状態は、任意のパターンで容易に生成される可能性がある。プログラマブル・バッファ／遅延回路３２により、プロセッサ・コア３４は、バッファ３３との間でインターフェースの特徴を設定することができる。バッファ／遅延回路３２の読み取り出力強度は、アドレス信号Ａ［０：Ｍ］、制御信号ＣＴＬ、あるいはデータ信号Ｄ［０：Ｎ］、またはそれらすべての遅延と共に、設定することが可能であるため、結果として、アドレス、データ、および制御の信号間の早期／後期タイミング関係を探索して、欠陥または境界タイミング条件を特定し、タイミング・マージンを決定するために、設計および動作システムを評価することができる。
【００１８】
プログラマブル・ロード／ターミネータ回路３５は、プロセッサ・コア３４による、Ａ［０：Ｍ］、制御信号ＣＴＬ、あるいはデータ信号Ｄ［０：Ｎ］、またはそれらすべての、バス終端／ローディング特徴のプログラマブル調整によって、バスのローディング、タイミング、および電圧特徴の変化を提供する。ノイズ発生器回路３７は、抵抗を介してコネクタ３０上の信号のうちの１つまたは複数に結合されたアナログ／デジタル変換器（ＡＤＣ）、あるいは、アナログ領域内のコネクタ３０上の信号に影響を与えるデジタル交換回路などの、アナログ回路とすることが可能であり、ノイズ注入によって、メモリ・サブシステム内にノイズ効果のシミュレーションを提供する。たとえば、ノイズ発生器回路３７は、コネクタ３０の電源接続ＶＤＤ上にノイズを注入することが可能であり、図１の診断ＤＩＭＭ  ２０または通常のＤＩＭＭ  ２２のいずれかの性能への効果を観察するために、ノイズの大きさ／特徴が変更される。
【００１９】
次に図３を参照すると、本発明の実施形態に従ったプログラマブル論理／ターミネータ回路３５の詳細が示される。レジスタ４１は、プロセッサ・コア３４から値を受信し、終端電源Ｖ１およびＶ２に接続された終端抵抗Ｒ１およびＲ２の任意の組み合わせを、それぞれ端末Ｔなどのコネクタ３０の信号に選択可能に結合する、トランジスタＮ１〜Ｎ４のセットを制御する。ローディング・キャパシタＣ１およびＣ２も、容量性ローディングを変化させるために、コネクタ３０の信号に選択的に結合される。
【００２０】
次に図４を参照すると、本発明の実施形態に従ったプログラマブル・バッファ／遅延回路３２の詳細が示される。レジスタ４２は、トランジスタＮ１０およびＰ１０によって実装される、トライステート（tri-state）インバータのドライブ強度を設定するための値を受信し、トランジスタＰ１１〜Ｐ１４によって電源レールＶＤＤに、およびトランジスタＮ１１〜Ｎ１４によって設置に結合される。トランジスタＰ１１〜Ｐ１４およびトランジスタＮ１１〜Ｎ１４のゲートは、端末Ｔへの対応する出力信号によって提供されるスルー・レート／遅延時間を変更する、トランジスタＮ１０およびＰ１０によって実装されたトライステート・インバータのソース抵抗を変更するために、レジスタ４２に設定された値に従って、組み合わせで選択的に実行可能化される。プログラマブル・バッファ／遅延回路３２は、レジスタ４２から提供されるビットによって制御される選択を有する、マルチプレクサ４３を使用するインバータＩ１〜Ｉ６によって形成される遅延チェーンからタップを選択することによって、端末Ｔで受信される入力信号にプログラマブル入力遅延も提供する。
【００２１】
前述の実施形態は、広範な動作およびエラー状態をシミュレートできる、プログラマブル・バス・ライン・ローディング、遅延、およびデータ操作を提供する。様々なプログラムをプロセッサ・コア３４にダウンロードし、メモリ・サブシステム設計におけるエラーを検証および診断することが可能なテスト・パターンを実行するために使用することができる。前述の実施形態は、動作条件を悪化させてメモリ・サブシステム設計の堅固さをテストするために、電源あるいはバス・ラインまたはその両方でノイズを生成するための機能も提供する。
【００２２】
以上、本発明について、好ましい実施形態を参照しながら具体的に図示および説明してきたが、当業者であれば、本発明の趣旨および範囲を逸脱することなく、前述および他の形および細部の変更が実行可能であることを理解されよう。
【図１】
2010537264.tif 000003
【図２】
2010537264.tif 000004
【図３】
2010537264.tif 000005
【図４】
2010537264.tif 000006
【国際調査報告】
2010537264.tif 000007
2010537264.tif 000008