JP2017126357A - メモリにエラーを注入する方法および装置 - Google Patents

メモリにエラーを注入する方法および装置 Download PDF

Info

Publication number
JP2017126357A
JP2017126357A JP2017043333A JP2017043333A JP2017126357A JP 2017126357 A JP2017126357 A JP 2017126357A JP 2017043333 A JP2017043333 A JP 2017043333A JP 2017043333 A JP2017043333 A JP 2017043333A JP 2017126357 A JP2017126357 A JP 2017126357A
Authority
JP
Japan
Prior art keywords
error
error injection
memory
system address
register
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.)
Ceased
Application number
JP2017043333A
Other languages
English (en)
Other versions
JP2017126357A5 (ja
Inventor
イグザウ、セオドロス
Yigzaw Theodros
チェン、カイ
Kai Cheng
ジェー. クマー、モハン
Mohan J Kumar
ジェー. クマー、モハン
エー. バルガス、ホセ
A Vargas Jose
エー. バルガス、ホセ
ジャンダヤラ、ゴピクリシュナ
Jandhyala Gopikrishna
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
Priority to JP2017043333A priority Critical patent/JP2017126357A/ja
Publication of JP2017126357A publication Critical patent/JP2017126357A/ja
Publication of JP2017126357A5 publication Critical patent/JP2017126357A5/ja
Ceased legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Abstract

【課題】ソフトウェア試験のために所定のシステムアドレスにエラーを注入することが可能な簡単なインターフェースを提供する。【解決手段】専用インターフェース273は、エラー注入システムアドレスレジスタ302と、当該エラー注入システムアドレスレジスタに結合されているエラー注入マスクレジスタ330とを備える。エラー注入システムアドレスレジスタが、入力される書き込みアドレス325と一致するシステムアドレスを含む場合、エラー注入マスクレジスタがエラーをメモリに出力する。【選択図】図3

Description

本発明の実施形態は概して、メモリにエラーを注入する方法および装置に関する。
複雑なエラー処理およびエラー修復用のソフトウェア(SW)を開発および評価するべく、オペレーティングシステム(OS)ベンダー、仮想マシンマネージャ(VMM)ベンダー等のSWベンダーは、ソフトウェア試験のために所定のシステムアドレスにエラーを注入することが可能な簡単なインターフェースを望んでいる。
現在の実施例では、メモリにエラーを注入するために用いられ得る簡単なインターフェースが存在しない。代わりに、ベーシックインプットアウトプットシステム(BIOS)を利用する複雑な方法が用いられており、当該方法はエラー注入メカニズムを試験するよう設計(DFx)されている。尚、当該エラー注入メカニズムは、エラー注入を実施するために用いられる。
残念なことに、これらの方法は、複雑で、試験対象である各製品に関連して設計上の問題を多く抱えている。さらに、これらの方法は通常、試験対象の製品毎に「再発明」する必要があるので、転用可能ではない。例えば、所定のシステムアドレスをメモリアドレスに変換する必要があり(DFxメカニズムはメモリアドレスを基に動作するため)、試験対象の特定の製品についてのみ利用されることが意図されていた特定の機能を解除するべくマイクロコードによる支援がさらに必要になる場合もある。
このため、製品を試験するべくエラーを注入することを目的として簡単なインターフェースを利用することは有益と考えられる。
以下の詳細な説明と共に以下の図面を参照することで本発明をより理解できるであろう。図面は以下の通りである。
本発明の実施形態で用いられるコンピュータシステムアーキテクチャを示す図である。
本発明の実施形態で用いられるコンピュータシステムアーキテクチャを示す図である。
本発明の一実施形態に係る、MCH専用インターフェースを示すブロック図である。
本発明の一実施形態に係る、試験ソフトウェアフローおよびMCH専用インターフェースフロー(例えば、ハードウェア(HW)フロー)を示すフローチャート400である。
以下の説明では、説明の便宜上、後述する本発明の実施形態を深く理解していただくべく具体的且つ詳細な内容を数多く記載する。しかし、本発明の実施形態は以下に記載する具体的且つ詳細内容の一部を採用することなく実施し得ることは当業者には明らかである。また、公知の構造およびデバイスは、本発明の実施形態の基礎的な原理をあいまいにしないようにブロック図形式で図示している。
以下に記載するのは、後述する本明細書で詳細に説明する命令を実行するための本発明の実施形態と共に利用し得るコンピュータシステムの一例である。ラップトップ、デスクトップ、手持ちPC、携帯情報端末、エンジニアリングワークステーション、サーバ、ネットワークデバイス、ネットワークハブ、スイッチ、埋め込みプロセッサ、デジタルシグナルプロセッサ(DSP)、グラフィクスデバイス、ビデオゲームデバイス、セットトップボックス、マイクロコントローラ、携帯電話、ポータブルメディアプレーヤ、手持ちデバイス、および、さまざまなその他の電子デバイスについての関連技術分野で公知の他のシステム設計およびシステム構成も適宜利用される。一般的に、本明細書に開示するプロセッサおよび/または他の実行ロジックを組み込むことが可能な非常に多岐にわたるシステムまたは電子デバイスは概して、適宜利用される。
ここで図1を参照すると、本発明の一実施形態に係るコンピュータシステム100のブロック図が図示されている。システム100は、1以上の処理要素110、115を備えるとしてよい。処理要素110、115は、グラフィクスメモリコントローラハブ(GMCH)120に結合されている。任意の追加の処理要素115を、図1において破線で示している。各処理要素は、シングルコアであってもよいし、または、これに代えて複数のコアを含むとしてもよい。処理要素は任意で、処理コア以外に、統合メモリコントローラおよび/または統合I/O制御ロジック等の他のオンダイ要素を含むとしてもよい。また、少なくとも一の実施形態について、処理要素のコアは、複数のハードウェアスレッドコンテキストをコア毎に持つという点で、マルチスレッド型としてもよい。
図1では、GMCH120が、メモリ140に結合されている様子が図示されている。メモリ140は、例えば、ダイナミックランダムアクセスメモリ(DRAM)であってよい。DRAMは、少なくとも一の実施形態について、不揮発性キャッシュに対応付けられているとしてよい。GMCH120は、チップセットであってもよいし、または、チップセットの一部であってもよい。GMCH120は、プロセッサ110、115と通信するとしてよく、プロセッサ110、115とメモリ140との間のやり取りを制御するとしてよい。GMCH120はまた、プロセッサ110、115と、システム100の他の要素との間のアクセラレーテッドバスインターフェースとして動作するとしてよい。少なくとも一の実施形態について、GMCH120は、フロントサイドバス(FSB)195等のマルチドロップバスを介してプロセッサ110、115と通信する。さらに、GMCH120は、ディスプレイ140(フラットパネルディスプレイ等)に結合されている。GMCH120は、統合グラフィクスアクセラレータを含むとしてよい。GMCH120はさらに、入出力(I/O)コントローラハブ(ICH)150に結合されている。ICH150は、さまざまな周辺機器をシステム100に結合するために用いられるとしてよい。図1の実施形態では、一例として、ICH150に結合されているディスクリートなグラフィクスデバイスである外部グラフィクスデバイス160と、別の周辺機器170とを図示している。
これに代えて、システム100にはさらに追加の処理要素または異なる処理要素が設けられているとしてもよい。例えば、追加の処理要素115は、プロセッサ110と同一の追加のプロセッサ、プロセッサ110と異質または非対称の追加のプロセッサ、アクセラレータ(例えば、グラフィクスアクセラレータまたはデジタルシグナルプロセッサ(DSP)ユニット)、フィールドプログラマブルゲートアレイ、または、任意のその他の処理要素を含むとしてよい。物理リソース110、115には、アーキテクチャ上の特徴、マイクロアーキテクチャ上の特徴、熱特性、消費電力特性等を含む多岐にわたるメトリックに関して、さまざまな違いがあるとしてよい。これらの違いは、処理要素110、115の非対称性および異質性を事実上示しているとしてよい。少なくとも一の実施形態において、さまざまな処理要素110、115は同じダイパッケージに存在しているとしてよい。
ここで図2を参照すると、本発明の実施形態に応じた別のコンピュータシステム200のブロック図が図示されている。図2に示すように、マルチプロセッサシステム200は、ポイントツーポイントインターコネクトシステムであり、ポイントツーポイントインターコネクト250を介して結合されている第1の処理要素270および第2の処理要素280を備える。図2に図示されているように、処理要素270および280のそれぞれは、マルチコアプロセッサであってよく、第1のプロセッサコアおよび第2のプロセッサコアを含む(つまり、プロセッサコア274aおよび274b、ならびに、プロセッサコア284aおよび284b)。これに代えて、処理要素270、280のうち1以上は、プロセッサ以外の要素であってもよく、例えば、アクセラレータまたはフィールドプログラマブルゲートアレイであってよい。図示している処理要素は270、280の2つのみであるが、本発明の範囲はこれに限定されないと理解されたい。他の実施形態では、1以上の追加の処理要素を一の所与のプロセッサに設けるとしてもよい。
第1の処理要素270はさらに、後述するように専用インターフェース273を含むメモリコントローラハブ(MCH)272と、ポイントツーポイント(P−P)インターフェース276および278とを有するとしてよい。同様に、第2の処理要素280は、後述するように専用インターフェース283を含むMCH282と、P−Pインターフェース286および288とを有するとしてよい。プロセッサ270、280は、ポイントツーポイント(PtP)インターフェース250を介してPtPインターフェース回路278、288を用いてデータをやり取りするとしてよい。図2に示すように、MCH272および282は、プロセッサを対応するメモリに結合しており、つまり、メモリ232およびメモリ234に結合している。メモリ232およびメモリ234は、メインメモリのうち対応するプロセッサにローカルに取り付けられている部分であってよい。
プロセッサ270、280はそれぞれ、ポイントツーポイントインターフェース回路276、294、286、298を用いて、個々のPtPインターフェース252、254を介してチップセット290とデータをやり取りするとしてよい。チップセット290はさらに、高性能グラフィクスインターフェース239を介して高性能グラフィクス回路238とデータをやり取りするとしてよい。本発明の実施形態は、任意の数の処理コアを持つ任意の処理要素に設けられているとしてよい。一実施形態によると、任意のプロセッサコアは、ローカルキャッシュメモリ(不図示)を含むとしてもよいし、または、ローカルキャッシュメモリ(不図示)に対応付けられているとしてもよい。さらに、共有キャッシュ(不図示)は、一方のプロセッサに含まれているとしてもよいし、または、両プロセッサの外部にあるがp2pインターコネクトを介して両プロセッサに接続されているとしてもよく、一方または両方のプロセッサのローカルキャッシュ情報は、プロセッサが低電力モードである場合には共有キャッシュに格納されるとしてよい。第1の処理要素270および第2の処理要素280はそれぞれ、P−Pインターコネクト276、286を介してチップセット290に結合されているとしてよい。図2に図示されているように、チップセット290はP−Pインターフェース294および298を含む。さらに、チップセット290は、チップセット290を高性能グラフィクスエンジン248に結合するべくインターフェース292を含む。一実施形態によると、バス249は、グラフィクスエンジン248をチップセット290に結合するために用いられるとしてよい。これに代えて、ポイントツーポイントインターコネクト249は、これらの構成要素を結合するとしてもよい。そして、チップセット290は、インターフェース296を介して第1のバス216に結合されているとしてよい。一実施形態によると、第1のバス216は、ぺリフェラルコンポーネントインターコネクト(PCI)バスであってよく、または、PCI Expressバス等のバスであってよく、または、別の第三世代I/Oインターコネクトバスであってもよい。しかし、本発明の範囲はこれに限定されない。
図2に図示するように、さまざまなI/Oデバイス214は、第1のバス216を第2のバス220に結合するバスブリッジ218と共に、第1のバス216に結合されているとしてよい。一実施形態によると、第2のバス220はローピンカウント(LPC)バスであってよい。さまざまなデバイスが第2のバス220に結合されているとしてよい。例えば、一実施形態によると、キーボード/マウス222、通信デバイス226、および、コード230を含むディスクドライブまたは他の大容量格納デバイス等のデータ格納ユニット228が結合されているとしてよい。さらに、オーディオI/O224が第2のバス220に結合されているとしてよい。尚、他のアーキテクチャも可能である。例えば、ポイントツーポイントアーキテクチャの代わりに、システムはマルチドロップバスまたは他の同様のアーキテクチャを実現するとしてもよい。
一実施形態によると、処理要素270は、専用インターフェース273を含むMCH272を含むとしてよい。他の処理要素が、同様に専用インターフェース(例えば、処理要素280の専用インターフェース283)を含むMCHを含み得ると認められたい。説明するように、MCH272の専用インターフェース273は、エラーを注入すべきシステムアドレスをプログラミングするべくコンピュータシステム200の試験ソフトウェアによって用いられるとしてよく、注入すべきエラーの種類を選択するべくマスクレジスタを含むとしてよい。
ここで図3を参照すると、本発明の一実施形態に応じたMCH専用インターフェース273のブロック図が図示されている。一実施形態によると、MCH専用インターフェース273は、エラー注入システムアドレスレジスタ302、および、エラー注入システムアドレスレジスタに結合されているエラー注入マスクレジスタ330を含む。エラー注入システムアドレスレジスタ302が、入力される書き込みアドレス325と一致するシステムアドレスを含む場合、エラー注入マスクレジスタ330はメモリ350にエラーを出力する。
MCH専用インターフェース273の概略をここで説明する。図3に示すように、エラー注入システムアドレスレジスタ302は、コンピュータシステムの試験ソフトウェアがエラーを注入すべき所望のシステムアドレスをプログラミングできるように設けられている。このようにプログラミングされたアドレスと入力される要求のアドレス325とが一致するか否かを検証するためのロジック310がさらに設けられている。システムアドレスがエラー注入システムアドレスレジスタ302にプログラミングされると、試験ソフトウェアはこの後、このシステムアドレス325に対して書き込みを実行することができる。アドレスが一致すると、メモリ350の当該位置へのエラー(例えば、データ333)の入力がトリガされるとしてよい。エラーの種類(修正される、または、修正されない)は、どの複数のビットがエラーを含むかを制御するエラー注入マスクレジスタ330のソフトウェアプログラミングによって選択されるとしてよい。一例として、MCH専用インターフェース273は、メモリ232に対応付けられているコンピュータシステム200の処理要素270のMCH272と共に利用されるとしてよいが、理解されるように、任意のコンピュータシステムで利用され得る。例えば、本発明の実施形態は、図1のコンピュータシステム100で実現されるとしてよい。
一例として、図3に示すように、セキュリティのために、ロックメカニズム301がエラー注入システムアドレスレジスタ302に結合されているとしてよい。具体例として、ロックメカニズム301は、システム管理モード(SMM)時にはロックが解除されているとしてよい。試験ソフトウェアは、インバータ322を介してANDゲート324に結合されているロック320のロックを解除するとしてよく、レジスタへの書き込み321をANDゲート324に送信するとしてよい。このようにして、有効ビット304がエラー注入システムアドレスレジスタ302に設定されるとしてよく、システムのロックが解除される。
前述したように、試験ソフトウェアは、エラー注入システムアドレスを、エラー注入システムアドレスレジスタ302に供給するとしてよい。判断ロジックブロック310は、試験ソフトウェアプログラム書き込みアドレス325と、エラー注入システムアドレス302とが一致するか否かを検証するために用いられる。具体的には、メモリ書き込み信号309および有効信号304が、判断ロジックブロック310に信号を送信するANDゲート306によって受信され、判断ロジックブロック310が、レジスタ302からのエラー注入システムアドレスが、試験ソフトウェアプログラム書き込みアドレス325と一致すると判断すると、判断ロジックブロック310はエラー注入信号312をエラー注入マスクレジスタ330に送信する。
このため、エラー注入システムアドレスがレジスタ302にプログラミングされると、試験ソフトウェアはこの後、システムアドレス325への書き込みを実行することができ、判断ロジックブロック310によってアドレスが一致すると判断されると、決定ブロック310は、エラー注入マスクレジスタ330を通して、当該位置へと注入すべきエラー注入信号312をトリガすることができる。エラーの種類(修正される、または、修正されない)は、エラーを含むビットを制御するエラー注入マスクレジスタ330のデータマスクレジスタを予めプログラミングする試験ソフトウェアによって選択され得る。図3から分かるように、データエラー333は、試験のために、メモリ350へとデータバッファ340を介して供給され得る。
このようにして、上述した構造および方法によると、コンピュータシステム200の試験ソフトウェアによってソフトウェアの問題を検出して修正するべく、メモリエラー333(修正される、または、修正されない)をメモリ350に注入することができるようになる。
さらに図4を参照すると、図4は、試験ソフトウェアフローおよびMCH専用インターフェースフロー(例えば、ハードウェア(HW)フロー)を示すフローチャート400である。図4から分かるように、試験ソフトウェアは、上述したようにロックメカニズム301のロックを解除する(サークル402)。続いて、試験ソフトウェアは、エラー注入システムアドレスレジスタ302にXをプログラミングする(サークル404)。Xは試験ソフトウェアがエラーを注入したいシステムアドレスであると考えられたい。
続いて、試験ソフトウェアは、所望のエラーを発生させるようにエラー注入マスクレジスタ330をプログラミングする(サークル406)。さらに、試験ソフトウェアは、有効ビット304を設定して、注入のためにハードウェアロジックを準備する(サークル408)。続いて、試験ソフトウェアは、アドレスXへの書き込みを実行する(サークル410)。
ハードウェアまたはMCH専用インターフェースフローについて、メモリ書き込みアクセスが存在するか否かを判断する(判断サークル420)。存在しない場合、トランザクションはエラーを注入することなく継続する(サークル422)。しかし、メモリ書き込みである場合、アクセスの対象がアドレスXであるか否か、および、メカニズムが準備されているか否かを判断する(判断サークル425)。アドレスXではなく、メカニズムが準備されていない場合、トランザクションはエラーを注入することなく継続する(サークル422)。
しかし、メカニズムが準備されており、アクセスの対象がアドレスXである場合(例えば、ロジックブロック310によって判断される)、エラー注入マスク330が適用されるとしてよい(サークル430)。この場合、データ333はエラー434と共にメモリ350に書き込まれる。上述したように、エラーの種類(修正される、または、修正されない)は、どのビットがエラーを含むかを制御するエラー注入マスクレジスタ330のデータマスクレジスタを予めプログラミングする試験ソフトウェアによって選択することができる。
さらに、試験ソフトウェアは、アドレスX読み出しを実行するとしてよく(サークル450)、ハードウェアはエラーを検出するとしてよい(サークル452)。ハードウェアはこの後、エラーを記録して伝達し(サークル454)、エラー処理ソフトウェアがエラーを処理するとしてよい(サークル456)。
このように、上述した構造および方法によれば、コンピュータシステムの試験ソフトウェアによってソフトウェアの問題を検出して修正するべくメモリへのメモリエラー(修正される、または、修正されない)の注入が可能になる。さらに、上述した専用インターフェースおよびソフトウェア方法の実施形態は、ソフトウェアベンダー、例えば、オペレーティングシステムベンダーおよび仮想マシンマネジメントベンダー、そして、OEM(相手先商標製品製造者)によるエラー注入要件を満たすために用いられるとしてよい。上述した本発明では、試験のためにメモリにエラーを注入するように特別に構成された簡単なインターフェースが提供される。具体的には、上記の方法によると、検出および修正を目的としてメモリエラー(修正される、および/または、修正されない)の注入が可能になる。基本的には、上述した構造および方法は、メモリへの真のエラー注入を可能とし、エラー修復フローの開発および評価を可能とする。
本明細書に開示したメカニズムの実施形態は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの実装方法の組み合わせで実現され得る。本発明の実施形態は、少なくとも一のプロセッサ、データ格納システム(揮発性および不揮発性のメモリおよび/または格納素子を含む)、少なくとも一の入力デバイス、および、少なくとも一の出力デバイスを備えるプログラミング可能システムで実行されるコンピュータプログラムまたはプログラムコードとして実現され得る。
プログラムコードを入力データに適用して、本明細書で説明した機能を実行し、出力情報を生成するとしてよい。出力情報は、公知の方法で1以上の出力デバイスに適用されるとしてよい。本願において、処理システムは、例えば、デジタルシグナルプロセッサ(DSP)、マイクロコントローラ、特定用途向け集積回路(ASIC)、または、マイクロプロセッサ等のプロセッサを備える任意のシステムを含む。
プログラムコードは、処理システムと通信するべく高級プロシージャ言語またはオブジェクト指向型プログラミング言語で実装されるとしてよい。プログラムコードはさらに、所望される場合、アセンブリ言語または機械言語で実装されるとしてもよい。実際には、本明細書で説明するメカニズムの範囲は、任意の特定のプログラミング言語に限定されるものではない。どの場合でも、言語はコンパイラ型またはインタプリタ型のどちらであってもよい。
少なくとも一の実施形態の1以上の側面を、プロセッサにおけるさまざまなロジックを表す機械可読媒体に格納されているデータ表現で実装するとしてよい。当該データ表現は、機械によって読み出されると、機械にロジックを製造させて本明細書で説明した方法を実現させる。このような表現は、「IPコア」として知られており、有形の機械可読媒体に格納されているとしてよく、さまざまな顧客または製造設備に供給され、ロジックまたはプロセッサを実際に生成する製造機械にロードされる。このような機械可読格納媒体は、これらに限定されることなく、機械またはデバイスによって製造または形成される非一時的で有形の粒子の配列を含むとしてよい。例えば、ハードディスク、任意のその他の種類のディスク、例えば、フロッピー(登録商標)ディスク、光ディスク、コンパクトディスクリードオンリーメモリ(CD−ROM)、コンパクトディスクリライタブル(CD−RW)および光磁気ディスク等の格納媒体、半導体デバイス、例えば、リードオンリーメモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)等のランダムアクセスメモリ(RAM)、消去可能プログラミング可能リードオンリーメモリ(EPROM)、フラッシュメモリ、電気的消去可能プログラミング可能リードオンリーメモリ(EEPROM)、磁気カードまたは光カード、または、電子命令を格納するのに適した任意のその他の種類の媒体を含む。
したがって、本発明の実施形態はさらに、本発明の実施形態に係る処理を実行するための命令を含む、または、本明細書で説明した構造、回路、装置、プロセッサおよび/またはシステムフィーチャを定義するHDL等の設計データを含む非一時的で有形の機械可読媒体を含む。このような実施形態は、プログラム製品とも呼ばれるとしてよい。
本明細書で開示した命令の特定の処理は、ハードウェア素子によって実行されるとしてよく、機械実行可能命令で具現化されるとしてよく、当該機械実行可能命令は、当該機械実行可能命令がプログラミングされている回路または他のハードウェア素子に当該処理を実行させるか、または、少なくとも当該回路または他のハードウェア素子で当該処理を発生させるために用いられる。回路は、汎用プロセッサまたは特定用途向けプロセッサを含むとしてよく、または、ロジック回路を含むとしてもよい。これは数例に過ぎない。処理はさらに任意で、ハードウェアおよびソフトウェアの組み合わせで実行されるとしてもよい。実行ロジックおよび/またはプロセッサは、機械命令または機械命令から導出される1以上の制御信号に応答して、命令が特定した結果であるオペランドを格納する特別または特定の回路または他のロジックを含むとしてよい。例えば、本明細書で開示した命令の実施形態は、図1および図2のシステムのうち1以上で実行されるとしてよい。命令の実施形態は、システムで実行されるべきプログラムコードに格納されるとしてよい。さらに、これらの図面の処理要素は、本明細書で詳細に説明した詳細なパイプラインおよび/またはアーキテクチャ(例えば、インオーダアーキテクチャおよびアウトオブオーダアーキテクチャ)のうち1つを利用するとしてよい。例えば、インオーダアーキテクチャのデコードユニットは、命令をデコードして、デコードされた命令をベクトルユニットまたはスカラーユニットに供給する等としてよい。
上記の説明では、説明の便宜上、本発明を深く理解していただくべく具体的且つ詳細な内容を数多く記載している。しかし、本発明が上記の具体的且つ詳細な内容の一部を採用することなく実施し得ることは当業者には明らかであろう。したがって、本発明の範囲および意図は、特許請求の範囲によってのみ判断されるべきである。

Claims (18)

  1. メモリにエラーを注入する装置であって、
    システムアドレスを記憶するエラー注入システムアドレスレジスタと、
    前記エラー注入システムアドレスレジスタの出力に結合されているエラー注入マスクレジスタと、
    前記メモリへデータを供給するデータバッファと
    を備え、
    前記システムアドレスが、入力される書き込みアドレスに一致する場合、前記エラー注入マスクレジスタは、前記データバッファを介して前記メモリに、複数のビットのそれぞれについてプログラミングされた前記エラーを出力する
    装置。
  2. プロセッサのメモリコントロールハブ(MCH)のコンポーネントである請求項1に記載の装置。
  3. 前記エラーは、修正されるエラーまたは修正されないエラーのうち少なくとも1つを含む請求項1または2に記載の装置。
  4. 前記エラー注入システムアドレスレジスタに結合されているロックメカニズムをさらに備え、
    前記ロックメカニズムは、前記エラー注入システムアドレスレジスタをロックするか、または、前記エラー注入システムアドレスレジスタのロックを解除して、前記エラー注入マスクレジスタが前記メモリに対して前記エラーを出力できるようにするか、または、前記メモリに前記エラーを出力できないようにする請求項1から3の何れか1項に記載の装置。
  5. 前記ロックメカニズムはさらに、前記エラー注入システムアドレスレジスタの有効ビットを有する請求項4に記載の装置。
  6. ロジックブロックをさらに備え、
    前記ロジックブロックは、エラー注入信号を前記エラー注入マスクレジスタに送信し、前記エラー注入マスクレジスタが前記エラーを前記メモリに出力する請求項4または5に記載の装置。
  7. 前記ロックメカニズムのロックが解除され、前記システムアドレスが前記入力される書き込みアドレスに一致する場合、前記ロジックブロックは、前記エラー注入信号を前記エラー注入マスクレジスタに送信する請求項6に記載の装置。
  8. メモリと、
    命令を処理するプロセッサと、
    前記メモリにエラーを注入する専用インターフェースを有するメモリコントロールハブ(MCH)と
    を備え、
    前記専用インターフェースは、
    システムアドレスを記憶するエラー注入システムアドレスレジスタと、
    前記エラー注入システムアドレスレジスタの出力に結合されているエラー注入マスクレジスタと、
    前記メモリへデータを供給するデータバッファと
    を有し、
    前記システムアドレスが、入力される書き込みアドレスに一致する場合、前記エラー注入マスクレジスタは前記データバッファを介して、複数のビットのそれぞれについてプログラミングされた前記エラーを前記メモリに出力するコンピュータシステム。
  9. 前記エラーは、修正されるエラーまたは修正されないエラーのうち少なくとも1つを含む
    請求項8に記載のコンピュータシステム。
  10. 前記エラー注入システムアドレスレジスタに結合されているロックメカニズムをさらに備え、
    前記ロックメカニズムは、前記エラー注入システムアドレスレジスタをロックするか、または、前記エラー注入システムアドレスレジスタのロックを解除して、前記エラー注入マスクレジスタが前記メモリに前記エラーを出力できるようにするか、または、前記メモリに前記エラーを出力できないようにする請求項8または9に記載のコンピュータシステム。
  11. 前記ロックメカニズムはさらに、前記エラー注入システムアドレスレジスタの有効ビットを有する請求項10に記載のコンピュータシステム。
  12. ロジックブロックをさらに備え、
    前記ロジックブロックは、エラー注入信号を前記エラー注入マスクレジスタに送信して、前記エラー注入マスクレジスタが前記エラーを前記メモリに出力する請求項10または11に記載のコンピュータシステム。
  13. 前記ロックメカニズムのロックが解除されており、前記システムアドレスが前記入力される書き込みアドレスに一致する場合、前記ロジックブロックは、前記エラー注入マスクレジスタに前記エラー注入信号を送信する請求項12に記載のコンピュータシステム。
  14. メモリにエラーを注入する方法であって、
    エラー注入システムアドレスレジスタにおいて試験ソフトウェアからシステムアドレスを受信する段階と、
    前記エラー注入システムアドレスレジスタの前記システムアドレスが、入力される書き込みアドレスに一致するか否かを判断する段階と、
    前記システムアドレスが、前記入力される書き込みアドレスに一致する場合、前記エラー注入システムアドレスレジスタの出力に結合されているエラー注入マスクレジスタに対し、データバッファを介して前記メモリに、複数のビットのそれぞれについてプログラミングされた前記エラーを出力するよう命令する段階と
    を備える方法。
  15. 前記エラーを前記エラー注入マスクレジスタに予めプログラミングする段階をさらに備える請求項14に記載の方法。
  16. 前記エラーは、修正されるエラーまたは修正されないエラーのうち少なくとも1つを含む請求項15に記載の方法。
  17. ロックメカニズムは、前記エラー注入システムアドレスレジスタに結合されており、
    前記ロックメカニズムは、前記エラー注入システムアドレスレジスタをロックするか、または、前記エラー注入システムアドレスレジスタのロックを解除して、前記エラー注入マスクレジスタが前記メモリに前記エラーを出力できるようにするか、または、前記エラーを前記メモリに出力できないようにする請求項14から16の何れか1項に記載の方法。
  18. 前記ロックメカニズムはさらに、前記エラー注入システムアドレスレジスタの有効ビットを有する請求項17に記載の方法。
JP2017043333A 2017-03-07 2017-03-07 メモリにエラーを注入する方法および装置 Ceased JP2017126357A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017043333A JP2017126357A (ja) 2017-03-07 2017-03-07 メモリにエラーを注入する方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017043333A JP2017126357A (ja) 2017-03-07 2017-03-07 メモリにエラーを注入する方法および装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014533256A Division JP2014531681A (ja) 2011-09-29 2011-09-29 メモリにエラーを注入する方法および装置

Publications (2)

Publication Number Publication Date
JP2017126357A true JP2017126357A (ja) 2017-07-20
JP2017126357A5 JP2017126357A5 (ja) 2017-09-21

Family

ID=59365124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017043333A Ceased JP2017126357A (ja) 2017-03-07 2017-03-07 メモリにエラーを注入する方法および装置

Country Status (1)

Country Link
JP (1) JP2017126357A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019004124A1 (ja) 2017-06-28 2019-01-03 Agc株式会社 化学強化ガラス、その製造方法および化学強化用ガラス
CN113064782A (zh) * 2021-03-22 2021-07-02 山东英信计算机技术有限公司 一种内存注错自动化系统、使用方法及介质
CN117498991A (zh) * 2023-11-14 2024-02-02 无锡众星微系统技术有限公司 一种基于重传功能原型设备的可测性注错方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007041665A (ja) * 2005-08-01 2007-02-15 Nec Engineering Ltd Ecc機能検査回路およびecc機能検査方法
JP2008502094A (ja) * 2004-06-11 2008-01-24 サムスン エレクトロニクス カンパニー リミテッド メモリテストモードインターフェース方法及び装置
US20090240986A1 (en) * 2008-03-24 2009-09-24 Emulex Design & Manufacturing Corporation Generation of simulated errors for high-level system validation
US7818626B1 (en) * 2007-01-12 2010-10-19 Oracle America, Inc. Memory error injector and associated methods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008502094A (ja) * 2004-06-11 2008-01-24 サムスン エレクトロニクス カンパニー リミテッド メモリテストモードインターフェース方法及び装置
JP2007041665A (ja) * 2005-08-01 2007-02-15 Nec Engineering Ltd Ecc機能検査回路およびecc機能検査方法
US7818626B1 (en) * 2007-01-12 2010-10-19 Oracle America, Inc. Memory error injector and associated methods
US20090240986A1 (en) * 2008-03-24 2009-09-24 Emulex Design & Manufacturing Corporation Generation of simulated errors for high-level system validation

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019004124A1 (ja) 2017-06-28 2019-01-03 Agc株式会社 化学強化ガラス、その製造方法および化学強化用ガラス
CN113064782A (zh) * 2021-03-22 2021-07-02 山东英信计算机技术有限公司 一种内存注错自动化系统、使用方法及介质
CN113064782B (zh) * 2021-03-22 2023-03-24 山东英信计算机技术有限公司 一种内存注错自动化系统、使用方法及介质
CN117498991A (zh) * 2023-11-14 2024-02-02 无锡众星微系统技术有限公司 一种基于重传功能原型设备的可测性注错方法和装置
CN117498991B (zh) * 2023-11-14 2024-05-28 无锡众星微系统技术有限公司 一种基于重传功能原型设备的可测性注错方法和装置

Similar Documents

Publication Publication Date Title
KR101732557B1 (ko) 메모리에 에러들을 인젝션하기 위한 방법 및 장치
US8281229B2 (en) Firmware verification using system memory error check logic
US10204698B2 (en) Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic
US8645797B2 (en) Injecting a data error into a writeback path to memory
US9189617B2 (en) Apparatus and method for implementing zero-knowledge proof security techniques on a computing platform
US9202015B2 (en) Entering a secured computing environment using multiple authenticated code modules
US9342394B2 (en) Secure error handling
EP4020168A1 (en) Apparatus and method for secure instruction set execution, emulation, monitoring, and prevention
KR20120096588A (ko) 동기화 simd 벡터
US9118482B2 (en) Fault tolerant apparatus and method for elliptic curve cryptography
EP4020190A1 (en) Software visible and controllable lock-stepping with configurable logical processor granularities
KR102208835B1 (ko) 역방향 메모리 스페어링을 위한 방법 및 장치
JP2014531681A5 (ja)
JP2017126357A (ja) メモリにエラーを注入する方法および装置
US20160343453A1 (en) Method and apparatus for injecting errors into memory
KR20100007719A (ko) 캐시/tlb 간섭 및 진단 테스트를 위한 경량, 고수율의 테스트 케이스 생성 방법
KR20200088760A (ko) 체크섬 생성
US9589672B2 (en) Power-aware memory self-test unit
US20160179611A1 (en) Low overhead error checking and correction apparatus and method
US9934118B2 (en) Reducing SPQL tester time for the critical paths stress test
US10775434B2 (en) System, apparatus and method for probeless field scan of a processor
US8793689B2 (en) Redundant multithreading processor
US7137109B2 (en) System and method for managing access to a controlled space in a simulator environment
US20240037035A1 (en) Processor with protection of an isolated memory and protection method for the isolated memory accessible only by a trusted core
JP2007087176A (ja) 論理回路の記憶素子検証手法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180613

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180817

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180828

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180926

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20181218