(57)【要約】【課題】業務に支障を来すことなくマルチコアプロセッサで使用されるキャッシュメモリを診断できる自己診断方法を提供する。【解決手段】コアプロセッサとそのコアプロセッサに使用されるキャッシュメモリとの複数の組が備えられているコンピュータ10において実行される自己診断方法であって、コアプロセッサ111が、同一の組のキャッシュメモリ121に異常な箇所が存在するか否かを診断する診断処理をコンピュータ10内の他のコアプロセッサ112〜コアプロセッサ11mが稼働しており診断処理を実行していない時に実行する。【選択図】図５
2018163539.tif 000002
【特許請求の範囲】
【請求項１】
コアプロセッサと当該コアプロセッサに使用されるキャッシュメモリとの複数の組が備えられているコンピュータにおいて実行される自己診断方法であって、
コアプロセッサが、
同一の組のキャッシュメモリに異常な箇所が存在するか否かを診断する診断処理を前記コンピュータ内の他のコアプロセッサが稼働しており前記診断処理を実行していない時に実行する
ことを特徴とする自己診断方法。
【請求項２】
コアプロセッサが、異常な箇所が存在すると診断されたキャッシュメモリの前記異常な箇所を修復する
請求項１記載の自己診断方法。
【請求項３】
コアプロセッサが、修復不可能な異常な箇所が第１の所定値以上存在すると診断されたキャッシュメモリを使用する他のコアプロセッサの動作を停止させる
請求項１または請求項２記載の自己診断方法。
【請求項４】
コンピュータは、２次キャッシュメモリを備え、
コアプロセッサが、診断処理内で前記２次キャッシュメモリ内の前記コアプロセッサが使用するキャッシュメモリ領域に異常な箇所が存在するか否かを診断する
請求項１から請求項３のうちのいずれか１項に記載の自己診断方法。
【請求項５】
コアプロセッサが、異常な箇所が第２の所定値以上存在すると診断されたキャッシュメモリ領域を使用する他のコアプロセッサの動作を停止させる
請求項４記載の自己診断方法。
【請求項６】
コアプロセッサと当該コアプロセッサに使用されるキャッシュメモリとの複数の組が備えられているコンピュータにおいて実行される自己診断プログラムであって、
コアプロセッサに、
同一の組のキャッシュメモリに異常な箇所が存在するか否かを診断する診断処理を前記コンピュータ内の他のコアプロセッサが稼働しており前記診断処理を実行していない時に実行させる
ための自己診断プログラム。
【請求項７】
コアプロセッサに、
異常な箇所が存在すると診断されたキャッシュメモリの前記異常な箇所を修復する修復処理を実行させる
請求項６記載の自己診断プログラム。
【請求項８】
コアプロセッサに、
修復不可能な異常な箇所が第１の所定値以上存在すると診断されたキャッシュメモリを使用する他のコアプロセッサの動作を停止させる停止処理を実行させる
請求項６または請求項７記載の自己診断プログラム。
【請求項９】
コンピュータは、２次キャッシュメモリを備え、
コアプロセッサに、
診断処理内で前記２次キャッシュメモリ内の前記コアプロセッサが使用するキャッシュメモリ領域に異常な箇所が存在するか否かを診断する第２診断処理を実行させる
請求項６から請求項８のうちのいずれか１項に記載の自己診断プログラム。
【請求項１０】
コアプロセッサに、
異常な箇所が第２の所定値以上存在すると診断されたキャッシュメモリ領域を使用する他のコアプロセッサの動作を停止させる第２停止処理を実行させる
請求項９記載の自己診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自己診断方法および自己診断プログラムに関し、特にRAID(Redundant Array of Inexpensive Disks)コントローラにおけるマルチコアプロセッサが自己診断処理を実行する自己診断方法および自己診断プログラムに関する。
【背景技術】
【０００２】
マルチコアプロセッサに自己診断を実行させる技術として、例えば特許文献１には、より実効性のある各プロセッサまたはコアプロセッサの正常性の診断を効率的に行うマルチプロセッサシステムが記載されている。
【０００３】
しかし、プロセッサに関する問題だけでなく、プロセッサが使用する構成要素に関する問題を解決できる技術も求められている。
【０００４】
例えば、RAIDコントローラで使用されているマルチコアプロセッサのキャッシュメモリにおいて、コレクタブルエラーが頻発するという問題が発生している。特許文献１に記載されているマルチプロセッサシステムは、コアプロセッサが使用するキャッシュメモリに対する診断機能を有していない。
【０００５】
特許文献２には、多重コアプロセッサと関連するマルチメモリ混載アレーが単一コンピュータチップ上で同時に試験される方法が記載されている。特許文献２に記載されている方法が使用されれば、マルチコアプロセッサで用いられているキャッシュメモリにおいて問題が生じているか否かが診断される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５０５７９１１号公報
【特許文献２】特開２００４−２３３３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献２に記載されている方法では、データフロー制御装置が試験プログラムを受信した後、試験プログラムがデータフロー制御装置からチップ上のメモリ混載サイトの各々へ送られる。
【０００８】
試験プログラムがメモリ混載サイトへロードされた後、メモリアレーのどのメモリブロックが障害を有し、どのメモリブロックが障害を有していないかを判断するために、プログラムが各々のメモリ混載サイトで試験（診断）を行う。
【０００９】
上記の方法では、マルチコアプロセッサで用いられているキャッシュメモリが全て同時に自己診断される可能性がある。キャッシュメモリが全て同時に自己診断されるとキャッシュメモリが全て通常通りに使用されないため、RAIDコントローラを用いて行われる業務に支障が生じる可能性がある。
【００１０】
また、正常な業務が継続して行われるために、異常が検出されたキャッシュメモリを使用するコアプロセッサは、マルチコアプロセッサの中で使用されないように制御されることが好ましい。
【００１１】
［発明の目的］
そこで、本発明は、上述した課題を解決する、業務に支障を来すことなくマルチコアプロセッサで使用されるキャッシュメモリを診断できる自己診断方法および自己診断プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明による自己診断方法は、コアプロセッサとそのコアプロセッサに使用されるキャッシュメモリとの複数の組が備えられているコンピュータにおいて実行される自己診断方法であって、コアプロセッサが、同一の組のキャッシュメモリに異常な箇所が存在するか否かを診断する診断処理をコンピュータ内の他のコアプロセッサが稼働しており診断処理を実行していない時に実行することを特徴とする。
【００１３】
本発明による自己診断プログラムは、コアプロセッサとそのコアプロセッサに使用されるキャッシュメモリとの複数の組が備えられているコンピュータにおいて実行される自己診断プログラムであって、コアプロセッサに、同一の組のキャッシュメモリに異常な箇所が存在するか否かを診断する診断処理をコンピュータ内の他のコアプロセッサが稼働しており診断処理を実行していない時に実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、業務に支障を来すことなくマルチコアプロセッサで使用されるキャッシュメモリを診断できる。
【図面の簡単な説明】
【００１５】
【図１】本発明によるRAIDコントローラ1000の第１の実施形態の構成例を示すブロック図である。
【図２】第１の実施形態のRAIDコントローラ1000によるキャッシュメモリ診断処理の全体動作を示すブロック図である。
【図３】マルチコアプロセッサ1600で行われるコアプロセッサの診断処理の例を示す説明図である。
【図４】第１の実施形態のファームウェアによる判断処理の動作を示すフローチャートである。
【図５】本発明による自己診断方法が実行されるコンピュータの概要を示すブロック図である。
【発明を実施するための形態】
【００１６】
実施形態１．
［構成の説明］
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明によるRAIDコントローラ1000の第１の実施形態の構成例を示すブロック図である。
【００１７】
図１に示すように、RAIDコントローラ1000は、PCI-Express（登録商標）コネクタ1100と、メインメモリ1200と、フラッシュメモリ1300と、インタフェースコントローラ1400と、インタフェースコネクタ1500と、マルチコアプロセッサ1600とを備える。
【００１８】
PCI-Expressコネクタ1100は、外部のPCI-Expressデバイスとの接続に使用されるコネクタである。
【００１９】
フラッシュメモリ1300には、ファームウェアが格納されている。本実施形態では、メインメモリ1200に展開されたファームウェアが、RAIDコントローラ1000全体を制御する。
【００２０】
フラッシュメモリ1300に格納されているファームウェアは、各コアプロセッサに診断の実行命令を発行する機能、診断対象のコアプロセッサを入れ替える機能、および診断結果を分析する機能を有する。また、ファームウェアは、異常なキャッシュメモリを使用するコアプロセッサが検出された場合に検出されたコアプロセッサが使用されないように制御する機能を有する。
【００２１】
本実施形態のファームウェアは、マルチコアプロセッサに自己診断処理を実行させるソフトウェアである。診断箇所は、コアプロセッサ、L1キャッシュメモリ（１次キャッシュメモリ）、およびL2キャッシュメモリ（２次キャッシュメモリ）である。
【００２２】
ファームウェアの制御により、コアプロセッサは、各キャッシュメモリの全領域に対する読み出し試験を実行する。また、コアプロセッサは、読み出し試験において検知されたエラー箇所を修復する。
【００２３】
また、ファームウェアによる制御では、各キャッシュメモリにおいてエラーが発生した回数が監視される。エラーが発生した回数が閾値を超えたキャッシュメモリの状態は、異常と判断される。
【００２４】
異常状態であると判断されたキャッシュメモリを使用するコアプロセッサは、他のコアプロセッサから切り離される。異常なコアプロセッサが切り離されることによって、マルチコアプロセッサは、縮退運転で業務を継続して実行できる。
【００２５】
また、ファームウェアは、各コアプロセッサに診断処理を順番に実行させる。すなわち、１つのコアプロセッサが診断処理を実行している時でも他のコアプロセッサは通常通り稼働しているため、システムの稼働中であっても診断処理が実行される。
【００２６】
マルチコアプロセッサ1600は、コアプロセッサ1611〜コアプロセッサ161nと、L1キャッシュメモリ1621〜L1キャッシュメモリ162nと、L2キャッシュメモリ1650とを含む。すなわち、マルチコアプロセッサ1600は、ｎ個のコアプロセッサと、ｎ個のL1キャッシュメモリとを含む。
【００２７】
なお、各図において「コアプロセッサ」が単に「コア」と記載されている箇所がある。また、「キャッシュメモリ」が単に「キャッシュ」と記載されている箇所がある。
【００２８】
各L1キャッシュメモリは、各コアプロセッサとそれぞれ対で使用されるキャッシュメモリである。例えば、コアプロセッサ1611は、L1キャッシュメモリ1621を使用する。
【００２９】
各L1キャッシュメモリは、L1タグ部と、L1データ部とを有する。L1タグ部には、アドレスの一部が記録される。また、L1データ部には、データが格納される。
【００３０】
すなわち、マルチコアプロセッサ1600は、ｎ個のL1タグ部と、ｎ個のL1データ部とを有する。例えば、L1タグ部1631は、L1キャッシュメモリ1621内のタグ部である。また、L1データ部1641は、L1キャッシュメモリ1621内のデータ部である。
【００３１】
L2キャッシュメモリ1650は、各コアプロセッサに使用される共通のキャッシュメモリである。L2キャッシュメモリ1650は、診断が実行される時にｎ個のキャッシュ領域に等分割されて制御される。
【００３２】
L2キャッシュメモリ1650内の各キャッシュ領域は、L1キャッシュメモリと同様に、L2タグ部と、L2データ部とを有する。L2タグ部には、アドレスの一部が記録される。また、L2データ部には、データが格納される。
【００３３】
すなわち、L2キャッシュメモリ1650は、ｎ個のL2タグ部と、ｎ個のL2データ部とを有する。例えば、L2タグ部1671は、キャッシュ領域1661内のタグ部である。また、L2データ部1681は、キャッシュ領域1661内のデータ部である。
【００３４】
インタフェースコネクタ1500は、外部のインタフェースとの接続に使用されるコネクタである。また、インタフェースコントローラ1400は、インタフェースコネクタ1500を介して接続されたインタフェースを制御する機能を有する。
【００３５】
なお、RAIDコントローラ1000において、図１に示すようにインタフェースコントローラ1400とマルチコアプロセッサ1600とがそれぞれ備えられる代わりに、インタフェースコントローラ1400とマルチコアプロセッサ1600とが一体化されたチップが用いられてもよい。
【００３６】
［動作の説明］
以下、本実施形態のRAIDコントローラ1000の動作を図２、図４を参照して説明する。
【００３７】
最初に、本実施形態のRAIDコントローラ1000のキャッシュメモリを診断する全体動作を図２を参照して説明する。図２は、第１の実施形態のRAIDコントローラ1000によるキャッシュメモリ診断処理の全体動作を示すブロック図である。
【００３８】
最初に、フラッシュメモリ1300からメインメモリ1200に、ファームウェアが展開される。ファームウェアは、マルチコアプロセッサ1600内の最初のコアプロセッサ（コアプロセッサ1611）に対して、L1キャッシュメモリ1621に対する診断処理を実行させる命令を発行する（ステップS1）。
【００３９】
なお、コアプロセッサ1611が診断処理を実行する間、コアプロセッサ1611以外のコアプロセッサ1612〜コアプロセッサ161nは、継続して通常のI/O処理等を行う。
【００４０】
診断処理の実行命令を受けたコアプロセッサ1611は、L1キャッシュメモリ1621内のL1タグ部1631に記録されているアドレス情報を用いて、L1データ部1641の全領域に対して読み出し（リード）を行う（ステップS2）。
【００４１】
読み出し時に訂正可能なエラーが検出された場合、コアプロセッサ1611は、検出されたエラーを訂正する。次いで、コアプロセッサ1611は、L1データ部1641に訂正データを書き込む。
【００４２】
L1キャッシュメモリ1621内のL1データ部1641の全領域に対する読み出しが完了した後、コアプロセッサ1611は、診断結果をファームウェアに報告する（ステップS3）。
【００４３】
報告を受けたファームウェアは、L1キャッシュメモリ1621の診断結果を基にL1キャッシュメモリ1621に異常が存在するか否かを判断する（ステップS4）。
【００４４】
L1キャッシュメモリ1621に異常が無ければ、ファームウェアは、引き続きコアプロセッサ1611に対して、L2キャッシュメモリ1650内のキャッシュ領域1661に対する診断処理を実行させる命令を発行する（ステップS5）。
【００４５】
診断処理の実行命令を受けたコアプロセッサ1611は、キャッシュ領域1661内のL2タグ部1671に記録されているアドレス情報を用いて、L2データ部1681の全領域に対して読み出し（リード）を行う（ステップS6）。
【００４６】
読み出し時に訂正可能なエラーが検出された場合、コアプロセッサ1611は、検出されたエラーを訂正する。次いで、コアプロセッサ1611は、L2データ部1681に訂正データを書き込む。
【００４７】
キャッシュ領域1661内のL2データ部1681の全領域に対する読み出しが完了した後、コアプロセッサ1611は、診断結果をファームウェアに報告する（ステップS7）。
【００４８】
報告を受けたファームウェアは、キャッシュ領域1661の診断結果を基にキャッシュ領域1661に異常が存在するか否かを判断する（ステップS8）。
【００４９】
キャッシュ領域1661に異常が無ければ、ファームウェアは、次のコアプロセッサに対して診断処理の実行命令を発行する準備を行う（ステップS9）。
【００５０】
以下、全てのコアプロセッサがキャッシュメモリの診断を終えるまで、RAIDコントローラ1000においてステップS1〜ステップS9の処理が繰り返し実行される。
【００５１】
図３は、マルチコアプロセッサ1600で行われるコアプロセッサの診断処理の例を示す説明図である。なお、図３に示す診断処理の例は、マルチコアプロセッサ1600に含まれるコアプロセッサの数が４個（クアッドコア）の場合の例である。
【００５２】
ファームウェアは、最初にコアプロセッサ1611に対して診断処理を実行させる命令を発行する。図３（ａ）に示すように、実行命令を受けたコアプロセッサ1611は、診断対象のコアプロセッサになる。
【００５３】
実行命令を受けたコアプロセッサ1611は、診断プロセスを実行する。コアプロセッサ1611が診断プロセスを実行する間、コアプロセッサ1612〜コアプロセッサ1614は、通常通り稼働する。
【００５４】
コアプロセッサ1611が診断プロセスを終えた後、ファームウェアは、次にコアプロセッサ1612に対して診断処理を実行させる命令を発行する。図３（ｂ）に示すように、実行命令を受けたコアプロセッサ1612は、診断対象のコアプロセッサになる。
【００５５】
実行命令を受けたコアプロセッサ1612は、診断プロセスを実行する。コアプロセッサ1612が診断プロセスを実行する間、コアプロセッサ1611、およびコアプロセッサ1613〜コアプロセッサ1614は、通常通り稼働する。
【００５６】
図３に示すように、各コアプロセッサがそれぞれ診断プロセスを終えるまで、上記の処理が繰り返し実行される。
【００５７】
次に、本実施形態のメインメモリ1200に展開されたファームウェアが各コアプロセッサの診断結果を判断する動作を図４を参照して説明する。図４は、第１の実施形態のファームウェアによる判断処理の動作を示すフローチャートである。
【００５８】
最初に、ファームウェアは、iの初期値を0に設定(i=0)する（ステップS101）。
【００５９】
次いで、ファームウェアは、iを1に更新(i=i+1)し、コアプロセッサ1611に対してL1キャッシュメモリ1621に対する診断処理を実行させる命令を発行する（ステップS102）。
【００６０】
次いで、ファームウェアは、報告されたコアプロセッサ1611のL1キャッシュメモリ1621の診断結果を確認する（ステップS103）。診断結果にエラーが含まれていなかった場合（ステップS104におけるYes）、ファームウェアは、ステップS105の処理を行う。
【００６１】
診断結果にエラーが含まれていた場合（ステップS104におけるNo）、ファームウェアは、含まれていたエラーの数が閾値以上であるか否かを確認する（ステップS108）。
【００６２】
含まれていたエラーの数が閾値未満である場合（ステップS108におけるFalse）、ファームウェアは、ステップS105の処理を行う。また、含まれていたエラーの数が閾値以上である場合（ステップS108におけるTrue）、ファームウェアは、ステップS110の処理を行う。
【００６３】
ステップS105で、ファームウェアは、コアプロセッサ1611に対してL2キャッシュメモリ1650内のキャッシュ領域1661に対する診断処理を実行させる命令を発行する。次いで、ファームウェアは、報告されたコアプロセッサ1611のキャッシュ領域1661の診断結果を確認する。
【００６４】
診断結果にエラーが含まれていなかった場合（ステップS106におけるYes）、ファームウェアは、ステップS107の処理を行う。また、診断結果にエラーが含まれていた場合（ステップS106におけるNo）、ファームウェアは、含まれていたエラーの数が閾値以上であるか否かを確認する（ステップS109）。
【００６５】
含まれていたエラーの数が閾値未満である場合（ステップS109におけるFalse）、ファームウェアは、ステップS107の処理を行う。また、含まれていたエラーの数が閾値以上である場合（ステップS109におけるTrue）、ファームウェアは、ステップS110の処理を行う。
【００６６】
ステップS110で、ファームウェアは、診断結果に含まれているエラーの数を基に対象のキャッシュメモリの状態が異常であると判定する。
【００６７】
次いで、ファームウェアは、状態が異常であると判定されたキャッシュメモリを使用するコアプロセッサがマルチコアプロセッサ1600内で使用されないように制御する（ステップS111）。
【００６８】
すなわち、ファームウェアは、対象のコアプロセッサをマルチコアプロセッサ1600内の他のコアプロセッサから切り離す。なお、ステップS111の処理が実行される具体的な方法は、特に限定されない。
【００６９】
対象のコアプロセッサを切り離すために、ファームウェアは、例えば対象のコアプロセッサの動作を停止させる停止処理を他のコアプロセッサに実行させる。ステップS111の処理が実行された後、ファームウェアは、再度ステップS102の処理を行う。
【００７０】
ステップS107で、ファームウェアは、iがn（コアプロセッサの数）より小さいか否かを確認する。i<nである場合（ステップS107におけるTrue）、ファームウェアは、再度ステップS102の処理を行う。
【００７１】
i≧nである場合（ステップS107におけるFalse）、ファームウェアは、判断処理を終了する。
【００７２】
［効果の説明］
本実施形態のRAIDコントローラは、稼働したままコアプロセッサおよびキャッシュメモリの診断と修復を実行できる。
【００７３】
また、本実施形態のRAIDコントローラのコアプロセッサは、ファームウェアの制御により、診断中のキャッシュメモリにおけるエラーの発生回数を監視する。エラーの発生回数が閾値を超えると、キャッシュメモリの状態が異常と判定される。
【００７４】
状態が異常と判定されたキャッシュメモリを使用するコアプロセッサは、他のコアプロセッサから切り離される。異常なコアプロセッサが切り離されることによって、マルチコアプロセッサは、縮退運転で業務を継続して実行できる。
【００７５】
また、ファームウェアは、各コアプロセッサに診断処理を順番に実行させる。すなわち、１つのコアプロセッサが診断処理を実行している時でも他のコアプロセッサは通常通り稼働しているため、システムの稼働中であっても診断処理が実行される。
【００７６】
本実施形態のファームウェアは、コアプロセッサにL1キャッシュメモリ、およびL2キャッシュメモリの各キャッシュメモリのデータ部およびタグ部に対して直接アクセスする処理を実行させる。すなわち、マルチコアプロセッサは、各キャッシュメモリの全領域に対して読み出しを行うことができる。
【００７７】
さらに、本実施形態のファームウェアは、コアプロセッサが読み出し時にエラーを検出した場合、コアプロセッサに検出されたエラーを修復させる。
【００７８】
本実施形態のファームウェアは、強化された診断処理をコアプロセッサに実行させることによって、後発的に発生したエラーを早期に検出できる。本実施形態のファームウェアが使用されると、重大な障害の発生を未然に防ぐ予防保守が実現される。また、異常が検出されたコアプロセッサが切り離された上でRAIDコントローラが継続して稼働するため、RAIDコントローラの可用性が高められる。
【００７９】
本実施形態のファームウェアは、サーバで使用されるRAIDコントローラでの利用が考えられる。特に、容易に停止させることができず長期間連続稼働することが求められるようなシステムの運用において好適に利用されることが期待される。
【００８０】
また、本実施形態のファームウェアは、特定のコアプロセッサから異常が検出された場合にシステムを計画的に停止させてコアプロセッサを交換するような保守運用において好適に利用されることが期待される。
【００８１】
次に、本発明の概要を説明する。図５は、本発明による自己診断方法が実行されるコンピュータの概要を示すブロック図である。本発明による自己診断方法は、コアプロセッサ（例えば、コアプロセッサ1611〜コアプロセッサ161n）とそのコアプロセッサに使用されるキャッシュメモリ（例えば、L1キャッシュメモリ1621〜L1キャッシュメモリ162n）との複数の組が備えられているコンピュータ10（例えば、RAIDコントローラ1000）において実行される自己診断方法であって、コアプロセッサ111が、同一の組のキャッシュメモリ121に異常な箇所が存在するか否かを診断する診断処理をコンピュータ10内の他のコアプロセッサ112〜コアプロセッサ11mが稼働しており診断処理を実行していない時に実行する。
【００８２】
そのような構成により、自己診断方法は、業務に支障を来すことなくマルチコアプロセッサで使用されるキャッシュメモリを診断できる。
【００８３】
また、コアプロセッサ111が、異常な箇所が存在すると診断されたキャッシュメモリの異常な箇所を修復してもよい。
【００８４】
そのような構成により、自己診断方法は、コアプロセッサにキャッシュメモリの異常な箇所を修復させることができる。
【００８５】
また、コアプロセッサ111が、修復不可能な異常な箇所が第１の所定値以上存在すると診断されたキャッシュメモリを使用する他のコアプロセッサの動作を停止させてもよい。
【００８６】
そのような構成により、自己診断方法は、コアプロセッサに使用するキャッシュメモリが異常な状態であると診断されたコアプロセッサの動作を停止させることができる。
【００８７】
また、コンピュータ10は、２次キャッシュメモリ（例えば、L2キャッシュメモリ1650）を備え、コアプロセッサ111が、診断処理内で２次キャッシュメモリ内のコアプロセッサ111が使用するキャッシュメモリ領域（例えば、キャッシュ領域1661〜キャッシュ領域166n）に異常な箇所が存在するか否かを診断してもよい。
【００８８】
そのような構成により、自己診断方法は、業務に支障を来すことなくマルチコアプロセッサに共通で使用されるキャッシュメモリを診断できる。
【００８９】
また、コアプロセッサ111が、異常な箇所が第２の所定値以上存在すると診断されたキャッシュメモリ領域を使用する他のコアプロセッサの動作を停止させてもよい。
【００９０】
そのような構成により、自己診断方法は、コアプロセッサに使用するキャッシュメモリ領域が異常な状態であると診断されたコアプロセッサの動作を停止させることができる。
【００９１】
また、コアプロセッサ111が、異常な箇所が存在すると診断されたキャッシュメモリ領域の異常な箇所を修復してもよい。
【００９２】
そのような構成により、自己診断方法は、コアプロセッサにキャッシュメモリ領域の異常な箇所を修復させることができる。
【符号の説明】
【００９３】
10  コンピュータ
111〜11m、1611〜161n  コアプロセッサ
121〜12m  キャッシュメモリ
1000  RAIDコントローラ
1100  PCI-Expressコネクタ
1200  メインメモリ
1300  フラッシュメモリ
1400  インタフェースコントローラ
1500  インタフェースコネクタ
1600  マルチコアプロセッサ
1621〜162n  L1キャッシュメモリ
1631〜163n  L1タグ部
1641〜164n  L1データ部
1650  L2キャッシュメモリ
1661〜166n  キャッシュ領域
1671〜167n  L2タグ部
1681〜168n  L2データ部
【図１】
2018163539.tif 000003
【図２】
2018163539.tif 000004
【図３】
2018163539.tif 000005
【図４】
2018163539.tif 000006
【図５】
2018163539.tif 000007