(57)【要約】  システムコントローラ（４）は、演算処理装置（３）の第１タグメモリ（３２）に対応する第２タグメモリ（４２）から読み出されたデータが訂正不可能なエラーであるＵＥ（Uncorrectable Error）を起こした場合に、前記ＵＥが発生した前記第２タグメモリ（４２）のウェイ情報を前記演算処理装置（３）に通知し、前記演算処理装置（３）は、通知されたウェイ情報に基づいて対応する前記第１タグメモリ（３２）のウェイを縮退させ、縮退処理の完了を前記システムコントローラ（４）へ通知して、前記システムコントローラ（４）は、前記第２タグメモリ（４２）のＵＥが発生したウェイを縮退させるとともに、前記演算処理装置（３）から前記第１タグメモリ（３２）の縮退処理が完了した旨の通知を受信した後、当該ＵＥに係るリクエストを再発行する。
2012120660.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュメモリ及び第１タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置であって、
前記システムコントローラは、
前記演算処理装置から受信したリクエストを保持し、当該リクエストが要求先において処理されなかった場合に当該リクエストを再発行するコマンド制御部と、
前記第１タグメモリに記憶されるデータの複製データを保持する第２タグメモリと、
前記第２タグメモリから読み出されたデータが訂正不可能なエラーであるＵＥ（Uncorrectable Error）を起こした場合に、前記ＵＥが発生した第２タグメモリのウェイ情報を前記演算処理装置に通知するリクエスト制御部とを有し、
前記演算処理装置は、前記リクエスト制御部から前記ＵＥが発生した通知を受けると、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記リクエスト制御部へ通知し、
前記リクエスト制御部は、前記ＵＥが発生した場合に、前記第２タグメモリのＵＥが発生したウェイを縮退させるとともに、前記演算処理装置から、前記第１タグメモリの縮退処理が完了した旨の通知を受信した後、前記コマンド制御部に当該ＵＥに係るリクエストを再発行させる指示を行なうことを特徴とする、情報処理装置。
【請求項２】
前記リクエスト制御部は、前記ＵＥが発生した場合に、前記コマンド制御部に対して前記ＵＥに係るリクエストを保留させる指示を行なうことを特徴とする、請求項１記載の情報処理装置。
【請求項３】
前記システムコントローラは、
前記ＵＥが発生した場合に、前記演算処理装置から前記第１タグメモリの縮退処理が完了した旨の通知を受信するとともに、前記第２タグメモリのＵＥが発生したウェイを縮退させるまでは、他のリクエストによる前記第２タグメモリの当該ＵＥが発生したデータへのアクセスを抑止するアドレスロックレジスタ部を有することを特徴とする、請求項１又は請求項２記載の情報処理装置。
【請求項４】
前記アドレスロックレジスタ部は、
リクエスト内のアドレス情報を保持するロックレジスタを備えるとともに、
前記ＵＥが発生した場合に、当該ＵＥに係るリクエスト内のアドレス情報を抽出し、抽出したアドレス情報を前記ロックレジスタに保持させ、当該ＵＥに係るリクエストの後発リクエスト内のアドレス情報が、前記ロックレジスタに保持された前記ＵＥに係るリクエスト内の前記アドレス情報と一致した場合、前記コマンド制御部に対して当該後発リクエストを再発行させる指示を行なうことを特徴とする、請求項３記載の情報処理装置。
【請求項５】
前記システムコントローラは、
前記第２タグメモリのウェイを縮退することを示す縮退フラグを保持するレジスタ部を有し、
前記リクエスト制御部は、前記レジスタ部に対して、ＵＥが発生した前記第２タグメモリのウェイに係る縮退フラグを設定することにより、前記第２タグメモリのＵＥが発生したウェイを縮退させることを特徴とする、請求項１〜４のいずれか１項記載の情報処理装置。
【請求項６】
前記情報処理装置は、前記キャッシュメモリ及び前記第１タグメモリを有する前記演算処理装置を複数備え、
前記システムコントローラは、前記複数の演算処理装置にそれぞれ備えられた前記複数の第１タグメモリに対応して、前記第２タグメモリを複数備えることを特徴とする、請求項１〜５のいずれか１項記載の情報処理装置。
【請求項７】
前記情報処理装置は、
前記情報処理装置に係る制御を行なう運用管理部を有し、
前記リクエスト制御部は、前記第２タグメモリのＵＥが発生したウェイを縮退させた後、前記運用管理部に対して、前記ＵＥに関するエラー情報を通知し、
前記運用管理部は、前記リクエスト制御部からの通知に基づいて、縮退されたウェイに関する情報を保持するとともに、前記情報処理装置において実行されるＯＳ（Operating System）が再起動した場合に、保持している縮退させたウェイに関する情報に基づいて、前記第１及び第２タグメモリの当該ウェイを縮退させることを特徴とする、請求項１〜６のいずれか１項記載の情報処理装置。
【請求項８】
前記リクエスト制御部は、前記第２タグメモリにおいてＵＥが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部は、前記リクエスト制御部から通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるＯＳを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、請求項７記載の情報処理装置。
【請求項９】
前記リクエスト制御部は、前記第２タグメモリから読み出されたデータが訂正可能なエラーであるＣＥ（Correctable Error）を起こした場合に、前記ＣＥが発生した第２タグメモリのウェイ情報を前記演算処理装置に通知し、
前記演算処理装置は、前記リクエスト制御部から前記ＣＥが発生した通知を受けると、当該ＣＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記リクエスト制御部へ通知し、
前記リクエスト制御部は、前記ＣＥが発生した場合に、前記第２タグメモリのＣＥが発生したウェイを縮退させることを特徴とする、請求項７記載の情報処理装置。
【請求項１０】
前記リクエスト制御部は、前記第２タグメモリにおいてＣＥが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該ＣＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部は、前記リクエスト制御部から通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるＯＳを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、請求項９記載の情報処理装置。
【請求項１１】
キャッシュメモリ及び第１タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置のキャッシュ制御方法であって、
前記システムコントローラにおいて、
前記第１タグメモリに記憶されるデータの複製データを保持する第２タグメモリから読み出されたデータが訂正不可能なエラーであるＵＥ（Uncorrectable Error）を起こした場合に、前記ＵＥが発生した前記第２タグメモリのウェイ情報を前記演算処理装置に通知し、
前記演算処理装置において、
前記ＵＥが発生した通知を受けると、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記システムコントローラへ通知して、
前記システムコントローラにおいて、
前記演算処理装置から、前記第２タグメモリのＵＥが発生したウェイを縮退するとともに、前記第１タグメモリの縮退処理が完了した旨の通知を受信した後、当該ＵＥに係るリクエストを再発行させることを特徴とする、情報処理装置のキャッシュ制御方法。
【請求項１２】
前記システムコントローラにおいて、
前記第２タグメモリから読み出されたデータが前記ＵＥを起こした場合に、前記ＵＥに係るリクエストを保留させることを特徴とする、請求項１１記載の情報処理装置のキャッシュ制御方法。
【請求項１３】
前記システムコントローラにおいて、
前記演算処理装置から前記第１タグメモリの縮退処理が完了した旨の通知を受信するとともに、前記第２タグメモリのＵＥが発生したウェイを縮退させるまでは、他のリクエストによる前記第２タグメモリの当該ＵＥが発生したデータへのアクセスを抑止することを特徴とする、請求項１１又は請求項１２記載の情報処理装置のキャッシュ制御方法。
【請求項１４】
前記システムコントローラにおいて、
前記ＵＥが発生した場合に、当該ＵＥに係るリクエスト内のアドレス情報を抽出し、抽出したアドレス情報を保持するとともに、当該ＵＥに係るリクエストの後発リクエスト内のアドレス情報が、前記保持している前記ＵＥに係るリクエスト内の前記アドレス情報と一致した場合、当該後発リクエストを再発行させることを特徴とする、請求項１３記載の情報処理装置のキャッシュ制御方法。
【請求項１５】
前記システムコントローラにおいて、
前記ＵＥが発生した場合に、前記システムコントローラが備えるレジスタ部に対して、ＵＥが発生した前記第２タグメモリのウェイを縮退することを示す縮退フラグを設定することにより、前記第２タグメモリのＵＥが発生したウェイを縮退することを特徴とする、請求項１１〜１４のいずれか１項記載の情報処理装置のキャッシュ制御方法。
【請求項１６】
前記情報処理装置は、前記キャッシュメモリ及び前記第１タグメモリを有する前記演算処理装置を複数備え、
前記システムコントローラは、前記複数の演算処理装置にそれぞれ備えられた前記複数の第１タグメモリに対応して、前記第２タグメモリを複数備えることを特徴とする、請求項１１〜１５のいずれか１項記載の情報処理装置のキャッシュ制御方法。
【請求項１７】
前記情報処理装置は、
前記情報処理装置に係る制御を行なう運用管理部を有し、
前記システムコントローラにおいて、
前記第２タグメモリのＵＥが発生したウェイを縮退させた後、前記運用管理部に対して、前記ＵＥに関するエラー情報を通知し、
前記運用管理部において、
前記システムコントローラからの通知に基づいて、縮退されたウェイに関する情報を保持するとともに、前記情報処理装置において実行されるＯＳ（Operating System）が再起動した場合に、保持している縮退させたウェイに関する情報に基づいて、前記第１及び第２タグメモリの当該ウェイを縮退させることを特徴とする、請求項１１〜１６のいずれか１項記載の情報処理装置のキャッシュ制御方法。
【請求項１８】
前記システムコントローラにおいて、
前記第２タグメモリにおいてＵＥが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部において、
前記システムコントローラから通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるＯＳを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、請求項１７記載の情報処理装置のキャッシュ制御方法。
【請求項１９】
前記システムコントローラにおいて、
前記第２タグメモリから読み出されたデータが訂正可能なエラーであるＣＥ（Correctable Error）を起こした場合に、前記ＣＥが発生した第２タグメモリのウェイ情報を前記演算処理装置に通知し、
前記演算処理装置において、
前記システムコントローラから前記ＣＥが発生した通知を受けると、当該ＣＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記システムコントローラへ通知し、
前記システムコントローラにおいて、
前記ＣＥが発生した場合に、前記第２タグメモリのＣＥが発生したウェイを縮退させることを特徴とする、請求項１７記載の情報処理装置のキャッシュ制御方法。
【請求項２０】
前記システムコントローラにおいて、
前記第２タグメモリにおいてＣＥが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該ＣＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部において、
前記システムコントローラから通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるＯＳを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、請求項１９記載の情報処理装置のキャッシュ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、情報処理装置，及びキャッシュ制御方法に関する。
【背景技術】
【０００２】
近年、処理の高速化や耐障害性の向上を図るため、対称型マルチプロセッシング（ＳＭＰ；Symmetric Multi Processor）方式を用いた、ＳＭＰサーバシステムが用いられることがある。
ＳＭＰは、複数のＣＰＵ（Central Processing Unit）が同等な立場で処理を分担するマルチプロセッサ手法であり、ＣＰＵキャッシュを同期させる機能や処理に用いられる各種資源を管理する機能を備える。【０００３】
ＳＭＰサーバシステムは、複数のＣＰＵやシステムコントローラ（System Controller；以下、ＳＣという）や、ＲＡＭ（Random Access Memory）等のメモリのほか、システムを制御するファームウェアが搭載された運用管理部などにより構成される。
このようなＳＭＰサーバシステムでは、処理速度の向上のために、ＣＰＵのキャッシュタグ（ＴＡＧ）データのコピー（ＴＡＧ＿ＣＰ）をＳＣ内に備えることがある。この場合、各ＣＰＵからの問い合わせに対し、対象ＣＰＵの前段にあるＳＣにより、ＴＡＧ＿ＣＰが参照されて応答が返される。これにより、スヌープ方式による高速なキャッシュアクセスを実現し、ＣＰＵのキャッシュメモリ（Cache Memory；以下、ＣＭという）の同期処理の高速化を実現する。【０００４】
なお、スヌープ方式とは、キャッシュコヒーレンシのアルゴリズムの一つであり、他のキャッシュと更新状態の情報を交換することで、どのキャッシュに最新のデータが格納されているかを把握することができ、最新のデータを取得することができるものである。
また、近年、ＣＰＵのＣＭにおいて、キャッシュライン数の増加に伴い、複数のＷＡＹによるデータ格納構造であるセットアソシアティブ構成が採用されている。【０００５】
セットアソシアティブ構成では、ＣＰＵのＣＭにおいて、キャッシュライン毎に複数のＷＡＹが備えられ、各ＷＡＹにデータが格納される。
キャッシュタグデータは、ＣＰＵ内部のＴＡＧメモリ及びＳＣ内部のＴＡＧ＿ＣＰメモリにそれぞれ格納され、インデックスと呼ばれるメモリの物理アドレスの一部を使用したアドレスにより管理される。キャッシュタグデータは、ＣＰＵからのリクエストに応じて、インデックスにより特定されるＣＭ内の一のキャッシュラインから、一のＷＡＹを絞り込み、ＣＭから所望のデータを取得するのに用いられる。【０００６】
なお、ＣＭ、ＴＡＧメモリ及びＴＡＧ_ＣＰメモリとしては、いずれもＳＲＡＭ（Static RAM）等のＲＡＭが挙げられる。
上述したＳＭＰサーバシステムでは、ＣＰＵ、ＣＭ、ＴＡＧメモリ又はＴＡＧ＿ＣＰメモリ等の障害が検出されると、運用管理部によって、異常が発生した箇所をシステムから切り離す縮退処理が行なわれる。この縮退処理により、システムの動作を中断することなく運用を継続することができ、耐障害性の向上が実現される。【０００７】
特にミッションクリティカルな分野で使用される大規模ＳＭＰサーバシステムで、ＴＡＧ＿ＣＰメモリ等の故障が発生した場合、システムの性能が低下することになるとしても、被疑箇所を切り離して運用を継続することが望ましい。このため、従来のＳＭＰサーバシステムには、ＣＰＵ内部のＴＡＧメモリやＳＣ内部のＴＡＧ＿ＣＰメモリの固定的な１ビット（bit）故障が発生した場合、被疑箇所のＷＡＹを動的に縮退し、運用を停止させずに故障箇所を切り離す仕組みが実装されている。【０００８】
なお、１ビット故障では、キャッシュタグデータに含まれるエラー訂正符号（Error Correcting Code；以下、ＥＣＣという）により、エラーの訂正が可能である。以下、１ビット故障を訂正可能エラー又はＣＥ（Correctable Error）という。
以下、ＳＣ内のＴＡＧ＿ＣＰメモリでＣＥが発生した場合の、システムの縮退処理の動作を説明する。【０００９】
図１０は、ＳＣ４００内のＴＡＧ＿ＣＰメモリ４２０−２でＣＥが発生した場合の縮退範囲を示す図であり、図１１は、ＳＣ４００内のＴＡＧ＿ＣＰメモリ４２０−２でＣＥが発生した場合の縮退処理を説明するためのフローチャートである。
図１０に例示するように、ＳＭＰサーバシステムでは、システムボード（ＳＢ；System Board：以下、ＳＢという）２００と、運用管理部６００とが備えられる。【００１０】
また、ＳＢ２００には、ＣＰＵ３００−１〜３００−４と、ＳＣ４００と、メモリ５００とが備えられる。なお、以下の説明においてＣＰＵ３００−１〜３００−４を区別しない場合には、単にＣＰＵ３００という。
各ＣＰＵ３００−１〜３００−４には、それぞれＣＭ３１０−１〜３１０−４及びＴＡＧメモリ３２０−１〜３２０−４が備えられる。なお、ＣＭ３１０−１〜３１０−４及びＴＡＧメモリ３２０−１〜３２０−４の符号におけるハイフン“−”の右側の数字は、ＣＭ３１０−１〜３１０−４及びＴＡＧメモリ３２０−１〜３２０−４が、それぞれ対応する数字のＣＰＵ３００−１〜３００−４に備えられることを示す。【００１１】
さらに、ＳＣ４００には、ＴＡＧメモリ３２０−１〜３２０−４に対応したＴＡＧ＿ＣＰメモリ４２０−１〜４２０−４が備えられる。なお、以下の説明においてＴＡＧ＿ＣＰメモリ４２０−１〜４２０−４を区別しない場合には、単にＴＡＧ＿ＣＰメモリ４２０という。
図１０及び図１１に示すように、システムの運用中、ＳＣ４００内のＴＡＧ＿ＣＰメモリ４２０−２にＣＥが発生し、ＳＣ４００により検出された場合（ステップＳ１０１）、ＳＣ４００からＣＥが発生したＴＡＧ＿ＣＰメモリ４２０に対応するＣＰＵ３００−２に対して、被疑箇所の情報が通知される（ステップＳ１０２）。なお、この情報には、ＥＣＣにより訂正された被疑箇所のインデックスと、ＷＡＹ番号とが含まれる。【００１２】
ＣＰＵ３００−２では、通知された被疑箇所に対応したＴＡＧメモリ３２０−２内のＷＡＹのデータがメモリに掃き出されるとともに、当該ＷＡＹの縮退処理が行なわれる（ステップＳ１０３）。そして、ＣＰＵ３００−２により、ＳＣ４００へ縮退処理完了の通知が行なわれる（ステップＳ１０４）。
縮退処理完了通知を受けたＳＣ４００では、被疑箇所のＷＡＹに対して縮退処理が行なわれる（ステップＳ１０５）。そして、ＳＣ４００により、運用管理部６００に対して、縮退処理を行なったＣＰＵ３００−２のＷＡＹ番号を含むエラー通知が行なわれ（ステップＳ１０６）、運用管理部６００の制御情報に故障情報が記録される（ステップＳ１０７）。その後、ＳＭＰサーバシステムでは運用が継続される（ステップＳ１０８）。【００１３】
上述の如く、ＣＰＵ３００−２内部のＴＡＧメモリ３２０−２の一部（ＷＡＹ）及びＳＣ４００内部のＴＡＧ＿ＣＰメモリ４２０−２の一部（ＷＡＹ）が縮退される（図１０中、「縮退範囲」参照）。これにより、システムに多少の性能低下は発生するものの、縮退処理は動的に行なわれるため、運用の停止を回避することができる。
なお、ステップＳ１０７において運用管理部６００の制御情報に記録された故障情報は、例えばＳＭＰサーバシステムで実行中のＯＳ（Operating System）の再起動等によってＣＰＵ及びＳＣ内の縮退状態がリセットされた場合に、被疑箇所のＷＡＹを再度縮退させるために用いられる。【００１４】
ところで、ＳＣ内部のＴＡＧ＿ＣＰメモリにエラーの訂正が不可能な故障が発生した場合、ＳＣは、ＥＣＣによりエラーの訂正を行なうことができず、キャッシュコヒーレンシを保つことができない。このため、従来のＳＭＰサーバシステムには、ＳＣ内のＴＡＧ＿ＣＰメモリでエラーの訂正が不可能な故障が発生した場合、被疑箇所に対応するＣＰＵを縮退し、運用を一度停止させて故障箇所を切り離す仕組みが実装されている。【００１５】
なお、エラーの訂正が不可能な故障とは、キャッシュタグに含まれるＥＣＣによってもエラーを訂正することが不可能な故障であり、例えば、２ビット以上の領域の故障である。以下、２ビット以上の領域の故障（多ビット故障）を、訂正不可能エラー又はＵＥ（Uncorrectable Error）という。
以下、ＳＣ内のＴＡＧ＿ＣＰメモリでＣＥが発生した場合の、システムの縮退処理の動作を説明する。【００１６】
図１２は、図１０に示すものと同様の構成のＳＢ２００及び運用管理部６００において、ＳＣ４００内のＴＡＧ＿ＣＰメモリ４２０−２でＵＥが発生した場合の縮退範囲を示す図である。また、図１３は、ＳＣ４００内のＴＡＧ＿ＣＰメモリ４２０−２でＵＥが発生した場合の縮退処理を説明するためのフローチャートである。
図１２及び図１３に示すように、システムの運用中、ＳＣ４００内のＴＡＧ＿ＣＰメモリ４２０−２にＵＥが発生し、ＳＣ４００により検出された場合（ステップＳ１１１）、ＳＣ４００から運用管理部６００に対して、ＵＥが発生したことが割り込みで通知される（ステップＳ１１２）。【００１７】
運用管理部６００では、割り込み通知に基づいて、被疑箇所に対応したＣＰＵ３００−２を示す情報とＷＡＹ番号とが故障情報として、運用管理部６００の制御情報に記録される（ステップＳ１１３）。そして、運用管理部６００により、ＳＭＰサーバシステムで実行中のＯＳが再起動される（ステップＳ１１４）。
ＯＳの再起動後、運用管理部６００により、制御情報の故障情報が読み込まれ（ステップＳ１１５）、故障情報に記録されているＣＰＵ３００−２は、立ち上げ処理が行なわれず、他の正常なＣＰＵ３００−１、３００−３及び３００−４についてのみ立ち上げ処理が行なわれる。つまり、運用管理部６００により、被疑箇所に対応するＣＰＵ３００−２及び被疑箇所に対応するＴＡＧ＿ＣＰメモリ４２０−２が縮退処理された状態で、ＯＳが立ち上がる（ステップＳ１１６，図１２中、「縮退範囲」参照）。その後、ＳＭＰサーバシステムでは、運用が再開される（ステップＳ１１７）。【００１８】
このように、ＳＣ４００内部のＴＡＧ＿ＣＰメモリ４２０でＵＥが発生した場合には、ＳＭＰサーバシステムの運用が停止し、被疑箇所を含む全コンポーネント（例えば１つのＣＰＵ３００全体）を縮退後、運用を再開するという手法が採られる。
なお、他に、キャッシュメモリを搭載した複数のＣＰＵを備えたマルチプロセッサシステムにおいて、メモリコントロール／コヒーレンシ制御装置が備えるタグメモリから索引されたタグ索引結果に訂正不可能障害が発生した場合であっても、動作を継続できるようにする技術が知られている。【００１９】
具体的には、メモリコントロール／コヒーレンシ制御装置が、タグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、各ＣＰＵに対して、訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータを主記憶装置に掃き出すように指示する。これにより、データのコヒーレンシを保障することができる。
なお、訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータとは、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータをいう。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２００８−５２５５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
従来、ＴＡＧ＿ＣＰメモリにおける訂正不可能エラー（ＵＥ）の発生頻度が低かったため、図１２及び図１３に例示したように、ＵＥが発生した場合には、被疑箇所に対応したＣＰＵ及び被疑箇所のＳＣ内のＴＡＧ＿ＣＰメモリを縮退処理させる運用が行なわれていた。
しかしながら、ＵＥが発生した場合の上述した手法では、運用が停止する時間が発生し、ＳＭＰサーバシステムの可用性が低下するという問題がある。【００２２】
また、近年、ＬＳＩ（Large Scale Integration）内部の集積度が増すことによりＣＭ容量が増加している。また、ＳＭＰサーバシステムに搭載されるＣＰＵ数の増加に伴い、ＳＭＰサーバシステム内の総ＣＭ容量が増加している。このようなＳＭＰサーバシステム内のＣＭ容量の増加によって、以前に比べてＵＥが発生する確率が高くなっている。
このように、ＵＥの発生確率が高くなっている現状において、ＳＭＰサーバシステムの可用性が低下する場面（頻度）が増加するという問題もある。【００２３】
さらに、上述したメモリコントロール／コヒーレンシ制御装置を用いた技術では、訂正不可能エラーが検出された場合でもデータのコヒーレンシを保障することができるが、以下の（ｉ）及び（ii）に示す問題がある。
（ｉ）メモリコントロール／コヒーレンシ制御装置内のタグ部で訂正不可能エラーが発生してタグ部の一部が縮退された場合、ＣＰＵは、タグ部の一部が縮退されたことを知らないため、ＣＰＵから、縮退されたタグ部の一部を再使用するようなリクエストが送信される可能性がある。このようなリクエストが送信された場合、メモリコントロール／コヒーレンシ制御装置は、リクエストに従ったタグ部の使用が不可能であるという応答、或いはキャッシュをタグ部に登録せずに使用するという応答をＣＰＵに返すことになる。【００２４】
このような場合、以下の（ｉ−１）〜（ｉ−３）に示す状況において、それぞれシステムの性能低下が発生するという問題がある。
（ｉ−１）ＣＰＵは、上述の応答を受けることを許容していない場合、つまり上述の応答に対する処理が定義されておらず対応できない場合には、動作不能に陥る可能性がある。【００２５】
（ｉ−２）また、ＣＰＵは、上述の応答を許容し動作を行なう場合でも、ＣＰＵによる処理によっては、縮退されたタグ部の一部を再使用するようなリクエストがメモリコントロール／コヒーレンシ制御装置に繰り返し出力されるおそれがある。このような状況では、ＣＰＵ及びメモリコントロール／コヒーレンシ制御装置間で、上述したリクエスト及び応答が繰り返し行なわれるため、システムの性能低下を招くことになる。【００２６】
（ｉ−３）或いは、メモリコントロール／コヒーレンシ制御装置は、タグ索引時に用いられた下位アドレスと同じ下位アドレスの別ＷＡＹのデータの掃き出し指示を、リクエストに対する応答を返す前に、リクエスト要求元のＣＰＵに対して行なうことが考えられる。この場合、メモリコントロール／コヒーレンシ制御装置は、ＣＰＵによる掃き出し完了後、元のリクエストに対する応答を要求元のＣＰＵに返すような動作を行なう。これにより、データのコヒーレンシを保つことはできるが、上述の如く、ＣＰＵにより上述の応答に対する処理が行なわれ、システムの性能低下を招くことになる。【００２７】
（ii）また、メモリコントロール／コヒーレンシ制御装置は、エントリの縮退状態を示すエントリ使用不可フラグをタグメモリに備える。しかし、タグメモリのアドレスライン系で故障が発生した場合には、エントリ使用不可フラグ自体を正しく読み出せない可能性がある。
すなわち、タグメモリのアドレスライン系で故障が発生した場合、タグメモリのセルに対するアクセスが正常に行なわれず、エントリ使用不可フラグ自体を正しく読み出せないことがある。従って、実際にはエントリ使用不可フラグに縮退を示す情報が設定されている場合であっても、システムからは縮退したように見えず、リトライが行なわれる度にＵＥの発生が検出されて、処理不能に陥る可能性がある。【００２８】
なお、エントリ使用不可フラグを、タグメモリではなく、例えばエントリ毎にラッチで備えることも考えられるが、物量的に困難である。
上述の点に鑑み、本件の目的の１つは、情報処理装置の可用性の向上を実現することである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００２９】
本件の情報処理装置は、キャッシュメモリ及び第１タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置であって、前記システムコントローラは、前記演算処理装置から受信したリクエストを保持し、当該リクエストが要求先において処理されなかった場合に当該リクエストを再発行するコマンド制御部と、前記第１タグメモリに記憶されるデータの複製データを保持する第２タグメモリと、前記第２タグメモリから読み出されたデータが訂正不可能なエラーであるＵＥを起こした場合に、前記ＵＥが発生した第２タグメモリのウェイ情報を前記演算処理装置に通知するリクエスト制御部とを有し、前記演算処理装置は、前記リクエスト制御部から前記ＵＥが発生した通知を受けると、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記リクエスト制御部へ通知し、前記リクエスト制御部は、前記ＵＥが発生した場合に、前記第２タグメモリのＵＥが発生したウェイを縮退させるとともに、前記演算処理装置から、前記第１タグメモリの縮退処理が完了した旨の通知を受信した後、前記コマンド制御部に当該ＵＥに係るリクエストを再発行させる指示を行なうものである。【００３０】
また、本件のキャッシュ制御方法は、キャッシュメモリ及び第１タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置のキャッシュ制御方法であって、前記システムコントローラにおいて、前記第１タグメモリに記憶されるデータの複製データを保持する第２タグメモリから読み出されたデータが訂正不可能なエラーであるＵＥを起こした場合に、前記ＵＥが発生した前記第２タグメモリのウェイ情報を前記演算処理装置に通知し、前記演算処理装置において、前記ＵＥが発生した通知を受けると、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記システムコントローラへ通知して、前記システムコントローラにおいて、前記演算処理装置から、前記第２タグメモリのＵＥが発生したウェイを縮退するとともに、前記第１タグメモリの縮退処理が完了した旨の通知を受信した後、当該ＵＥに係るリクエストを再発行するものである。
【発明の効果】
【００３１】
開示の技術によれば、情報処理装置の可用性の向上を実現することができる。
【図面の簡単な説明】
【００３２】
【図１】第１実施形態の一例としての情報処理システムの構成を示す図である。
【図２】第１実施形態の一例としてのシステムコントローラの構成を示す図である。
【図３】第１実施形態の一例としてのシステムコントローラ内のキャッシュタグメモリでＵＥが発生した場合の縮退範囲を示す図である。
【図４】第１実施形態の一例としてのシステムコントローラ内のキャッシュタグメモリでＵＥが発生した場合の縮退処理を説明するためのフローチャートである。
【図５】第２実施形態の一例としての情報処理システムの構成を示す図である。
【図６】第２実施形態の一例としてのメモリのアドレスマップを示す図である。
【図７】第２実施形態の一例としてのＴＡＧ＿ＣＰメモリの構成を示す図である。
【図８】第２実施形態の一例としてのシステムコントローラの構成を示す図である。
【図９】第２実施形態の一例としてのシステムコントローラ内のキャッシュタグメモリでＣＥ又はＵＥが発生した場合の縮退処理を説明するためのフローチャートである。
【図１０】システムコントローラ内のＴＡＧ＿ＣＰメモリでＣＥが発生した場合の縮退範囲を示す図である。
【図１１】システムコントローラ内のＴＡＧ＿ＣＰメモリでＣＥが発生した場合の縮退処理を説明するためのフローチャートである。
【図１２】システムコントローラ内のＴＡＧ＿ＣＰメモリでＵＥが発生した場合の縮退範囲を示す図である。
【図１３】システムコントローラ内のＴＡＧ＿ＣＰメモリでＵＥが発生した場合の縮退処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００３３】
以下、図面を参照して本発明の実施の形態を説明する。
〔１〕第１実施形態
〔１−１〕第１実施形態の構成
図１は、第１実施形態の一例としての情報処理システム１の構成を示す図である。
図１に示すように、情報処理システム（情報処理装置）１は、ＳＢ２と、運用管理部６とを備える。
【００３４】
情報処理システム１は、例えば、ＳＭＰサーバシステムである。
また、第１実施形態における情報処理システム１は、ＳＣ４内のＴＡＧ＿ＣＰメモリ４２においてＣＥが発生した場合に、図１１に示す上述した手法により、運用を継続することができる。なお、第１実施形態においては、ＣＥが発生した場合の情報処理システム１の動作については、その詳細な説明を省略する。
【００３５】
第１実施形態における情報処理システム１は、ＳＣ４内のＴＡＧ＿ＣＰメモリ４２においてＵＥが発生した場合に、後述の如く、ＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹ及び当該ＷＡＹに対応するＣＰＵ３のＴＡＧメモリ３２のＷＡＹを動的に縮退させることで、運用を継続させることができる。
ＳＢ２は、少なくとも１つ（第１実施形態においては４つ）のＣＰＵ３−１〜３−４と、ＳＣ４と、ＲＡＭ等のメモリ５とを備える。なお、以下の説明においてＣＰＵ３−１〜３−４を区別しない場合には、単にＣＰＵ３という。
【００３６】
ＣＰＵ３−１〜３−４は、それぞれＳＣ４に接続され、情報処理システム１における種々の制御や演算を行なう演算処理装置であり、例えば、記憶部（図示省略）に格納されたプログラムをメモリ５に展開して実行することにより、種々の機能を実現する。
ＣＰＵ３−１〜３−４は、それぞれＣＭ３１−１〜３１−４及びＴＡＧメモリ（第１タグメモリ）３２−１〜３２−４を備える。以下の説明においてＣＭ３１−１〜３１−４を区別しない場合には、単にＣＭ３１という。また、ＴＡＧメモリ３２−１〜３２−４を区別しない場合には、単にＴＡＧメモリ３２という。
【００３７】
なお、ＣＭ３１−１〜３１−４及びＴＡＧメモリ３２−１〜３２−４の符号におけるハイフン“−”の右側の数字は、ＣＭ３１及びＴＡＧメモリ３２が、それぞれ対応する数字のＣＰＵ３−１〜３−４に備えられることを示す。
ＣＭ３１は、ＣＰＵ３とメモリ５との間で転送されるデータを格納する。なお、第１実施形態においては、ＣＭ３１が、ｎＷＡＹセットアソシアティブ方式を採用する場合について例示する。
【００３８】
ＴＡＧメモリ３２は、ＣＭ３１で保持されるデータの参照情報であるキャッシュタグデータを格納する。
また、第１実施形態におけるＣＰＵ３は、ＳＣ４からＣＥが発生した通知（ＣＥ通知リクエスト）又はＵＥが発生した通知（ＵＥ通知リクエスト）を受信すると、当該ＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹに対応するＴＡＧメモリ３２のＷＡＹを動的に縮退させる。そして、ＣＰＵ３は、ＷＡＹの縮退後、ＴＡＧメモリ３２のＷＡＹの縮退処理が完了したことをＳＣ４へ通知する。
【００３９】
なお、以下、ＣＥ又はＵＥが発生した（検出された）ＴＡＧ＿ＣＰメモリ４２のキャッシュタグデータを、被疑箇所ともいう。
ＳＣ（システムコントローラ）４は、ＣＰＵ３及びメモリ５間のアクセスを制御するとともに、ＣＰＵ３と他のＣＰＵ３又はＳＢ２の外部の処理装置との通信制御を行なうＬＳＩである。なお、第１実施形態においては、ＣＰＵ３及びＳＣ４は、キャッシュコヒーレンシのアルゴリズムとしてスヌープ方式を採用する場合について例示する。
【００４０】
また、第１実施形態におけるＳＣ４は、ＴＡＧメモリ３２−１〜３２−４に対応したＴＡＧ＿ＣＰメモリ（第２タグメモリ）４２−１〜４２−４を備える。
ＴＡＧ＿ＣＰメモリ４２−１〜４２−４は、対応するＴＡＧメモリ３２−１〜３２−４に記憶されるデータの複製データを保持する。以下の説明においてＴＡＧ＿ＣＰメモリ４２−１〜４２−４を区別しない場合には、単にＴＡＧ＿ＣＰメモリ４２という。
【００４１】
なお、ＣＭ３１、ＴＡＧメモリ３２及びＴＡＧ_ＣＰメモリ４２としては、いずれも、例えばＳＲＡＭ等のＲＡＭが挙げられる。
ＳＣ４は、ＣＰＵ３のキャッシュタグデータのコピーをＴＡＧ＿ＣＰメモリ４２に格納することで、各ＣＰＵ３からのメモリ５へのアクセス要求等のリクエストに対し、ＴＡＧ＿ＣＰメモリ４２を参照してリクエストに応じた所定の処理を行ない、要求元のＣＰＵ３に応答を返す。これにより、スヌープ方式による高速なキャッシュアクセスを実現し、ＣＰＵ３のＣＭ３１の同期処理の高速化を実現する。
【００４２】
また、ＳＣ４は、情報処理システム１の運用中に、ＴＡＧ＿ＣＰメモリ４２において訂正不可能エラー（ＵＥ）が発生すると、ＣＰＵ３からのリクエストのうちのＵＥが検出されたリクエスト（以下、ＵＥ検出リクエストという）に係る処理を保留する。
そして、ＳＣ４は、ＵＥが検出されたＴＡＧ＿ＣＰメモリ４２に対応するＣＰＵ３に対して、エラー情報を含むＵＥ通知リクエストを出力する。なお、エラー情報には、被疑箇所に対応するＷＡＹ情報（例えばＷＡＹの番号等）が含まれる。ＵＥ通知リクエストを受信したＣＰＵ３は、エラー情報に基づいて、ＴＡＧメモリ３２のＷＡＹを動的に縮退させ、ＷＡＹの縮退後、縮退処理が完了した旨の縮退処理完了通知をＳＣ４へ通知する。
【００４３】
また、ＳＣ４は、ＴＡＧ＿ＣＰメモリ４２のＵＥが発生したＷＡＹを縮退させる。
さらに、ＳＣ４は、ＣＰＵ３から縮退処理完了通知を受信するとともに、ＴＡＧ＿ＣＰメモリ４２のＷＡＹの縮退処理の完了後、ＵＥ発生リクエストに係る処理を再開する。
また、ＳＣ４は、運用管理部６に対してＣＥ又はＵＥに関するエラー情報を割り込み通知する。
【００４４】
ＳＣ４の詳細な構成については、後述する。
メモリ５は、種々のデータやプログラムを一時的に格納する記憶領域であって、ＣＰＵ３がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、第１実施形態におけるメモリ５は、ＣＰＵ３−１〜３−４のいずれからもアクセス可能であり、ＣＰＵ３−１〜３−４により共有して用いられる。
【００４５】
運用管理部６は、情報処理システム１を制御するファームウェアが搭載されており、ＳＣ４からのＣＥ又はＵＥに関するエラー情報の割り込み通知に基づいて、ＣＰＵ３及びＳＣ４において縮退されたＷＡＹに関する情報を故障情報として格納する。なお、縮退されたＷＡＹに関する情報には、被疑箇所に対応したＣＰＵ３の情報（例えばＣＰＵの番号等）及びＷＡＹ情報が含まれる。
【００４６】
また、運用管理部６は、例えば情報処理システム１で実行中のＯＳの再起動等によってＣＰＵ３及びＳＣ４内の縮退状態がリセットされた場合に、故障情報に基づいて、被疑箇所に対応するＷＡＹを再度縮退させる。なお、運用管理部６としては、サービスプロセッサが挙げられる。
なお、情報処理システム１は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の記憶部（図示省略）を備えることができる。記憶部は、ＳＣ４を介して各ＣＰＵ３からアクセス可能に構成することができる。
【００４７】
〔１−２〕第１実施形態のシステムコントローラの構成
図２は、第１実施形態の一例としてのＳＣ４の構成を示す図である。
図２に示すように、ＳＣ４は、複数（第１実施形態においては４つ）のＴＡＧ＿ＣＰメモリ制御部４１−１〜４１−４と、コマンド制御部４３と、リクエスト制御部４４と、アドレスロックレジスタ部４５と、レジスタ部４６とを備える。
【００４８】
コマンド制御部４３は、ＣＰＵ３から受信したリクエスト（コマンド）を保持するとともに、リクエストをＴＡＧ＿ＣＰメモリ制御部４１−１〜４１−４及びアドレスロックレジスタ部４５へ転送するための制御を行なう。
また、コマンド制御部４３は、ＣＰＵ３から受信したリクエストについてＳＣ４内で処理が完了するまでは、当該リクエストを保持する。つまり、コマンド制御部４３は、リクエストの要求先であるＴＡＧ＿ＣＰメモリ制御部４１において、リクエストが処理中の場合や、リクエストが処理されなかった場合には、当該リクエストを保持する。
【００４９】
さらに、第１実施形態においては、コマンド制御部４３は、ＣＰＵ３から受信したリクエストが要求先のＴＡＧ＿ＣＰメモリ制御部４１において処理されなかった場合、保持しているリクエストを再発行する。
なお、コマンド制御部４３は、ＴＡＧ＿ＣＰメモリ制御部４１における処理が完了すると、キュー４３ａから該当するリクエストを削除する。
【００５０】
ＴＡＧ＿ＣＰメモリ制御部４１−１〜４１−４は、ＴＡＧ＿ＣＰメモリ４２−１〜４２−４にそれぞれ対応して備えられ、コマンド制御部４３から転送されるリクエストに係る処理を実行する。なお、以下の説明においてＴＡＧ＿ＣＰメモリ制御部４１−１〜４１−４を区別しない場合には、単にＴＡＧ＿ＣＰメモリ制御部４１という。
具体的には、ＴＡＧ＿ＣＰメモリ制御部４１は、コマンド制御部４３から転送されるリクエストに含まれるメモリ５の実アドレス（ＰＡ；Physical Address）から、キャッシュラインを特定するインデックス及びＷＡＹを特定するエントリアドレス（以下、登録アドレスという）を抽出する。そして、ＴＡＧ＿ＣＰメモリ制御部４１は、対応するＴＡＧ＿ＣＰメモリ４２−１〜４２−４内から、抽出したインデックス及び登録アドレスに対応するキャッシュタグデータを検索する。
【００５１】
なお、検索によりリクエストに係るキャッシュタグデータがＴＡＧ＿ＣＰメモリ４２内でヒット又はミスヒットした場合、その後の処理の内容は、リクエストの内容とキャッシュタグデータのステータスとに応じて決定される。これらの処理の内容の決定は、既知の種々の手法に実現することができるため、ここではその詳細な説明は省略する。
また、ＴＡＧ＿ＣＰメモリ制御部４１は、ＴＡＧ＿ＣＰメモリ４２でＣＥ又はＵＥが検出された場合、リクエスト制御部４４に対して、被疑箇所の通知（ＴＡＧ＿ＣＰエラー通知）を行なう。
【００５２】
リクエスト制御部４４は、ＴＡＧ＿ＣＰメモリ４２から読み出されたデータがＣＥ又はＵＥを起こした場合に、ＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹ情報をＣＰＵ３に通知する。
具体的には、リクエスト制御部４４は、ＴＡＧ＿ＣＰメモリ４２でＣＥ又はＵＥが検出され、ＴＡＧ＿ＣＰメモリ４２からＴＡＧ＿ＣＰエラー通知を受けると、被疑箇所のインデックス及びＷＡＹ情報を含むＣＥ通知リクエスト又はＵＥ通知リクエストをＣＰＵ３に発行する。ＣＥ又はＵＥ通知リクエストが通知されたＣＰＵ３は、当該リクエストに基づいて、ＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹに対応するＴＡＧメモリ３２のＷＡＹについて縮退処理を行ない、縮退処理完了通知をリクエスト制御部４４へ通知する。
【００５３】
また、リクエスト制御部４４は、ＴＡＧ＿ＣＰメモリ４２からＵＥが検出されたＴＡＧ＿ＣＰエラー通知を受けると、コマンド制御部４３に対して、ＵＥ検出リクエストの保留指示を通知する。コマンド制御部４３は、リクエスト制御部４４から保留指示が通知されると、ＵＥ検出リクエストを保留状態として保持する。
さらに、リクエスト制御部４４は、ＣＥ又はＵＥが発生した場合に、ＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹを縮退させる。また、リクエスト制御部４４は、ＵＥが発生した場合に、ＣＰＵ３からＴＡＧメモリ３２の縮退処理完了通知を受信した後、コマンド制御部４３にＵＥ検出リクエストを再発行させる指示を行なう。
【００５４】
具体的には、リクエスト制御部４４は、ＴＡＧ＿ＣＰメモリ４２からＴＡＧ＿ＣＰエラー通知を受けると、レジスタ部４６に対して、ＣＥ又はＵＥが検出されたＴＡＧ＿ＣＰメモリ４２のＷＡＹの縮退設定を行なう。
また、リクエスト制御部４４は、ＵＥが発生した場合に、ＣＰＵ３から縮退処理完了通知を受信すると、コマンド制御部４３に対して、ＵＥ検出リクエストの処理再開（再発行）の指示を通知する。コマンド制御部４３は、リクエスト制御部４４からＵＥ検出リクエストの処理再開の指示が通知されると、ＵＥ検出リクエストの保留状態を解除して当該リクエストの処理を再開（当該リクエストを再発行）する。
【００５５】
さらに、リクエスト制御部４４は、ＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹを縮退させた後、運用管理部６に対して、ＣＥ又はＵＥに関するエラー情報を割り込み通知する。割り込み通知を受けた運用管理部６は、リクエスト制御部４４から通知されたエラー情報に基づいて、運用管理部６が管理する制御情報に対して、縮退させたＷＡＹに関する情報を故障情報として保持する。なお、故障情報には、被疑箇所に対応したＣＰＵ３の情報及びＷＡＹ情報が含まれる。
【００５６】
また、運用管理部６は、情報処理システム１で実行中のＯＳが再起動した場合に、保持している故障情報に基づいて、ＴＡＧメモリ３２及びＴＡＧ＿ＣＰメモリ４２の当該ＷＡＹを縮退させる。
なお、リクエスト制御部４４は、運用管理部６に対して割り込み通知するＣＥ又はＵＥに関するエラー情報に、縮退させたＷＡＹに関する情報を含めても良いし、含めなくても良い。リクエスト制御部４４がエラー情報に縮退させたＷＡＹに関する情報を含めない場合、運用管理部６は、リクエスト制御部４４からのエラー情報の割り込み通知を受信すると、レジスタ部４６から被疑箇所に対応したＣＰＵ３の情報及びＷＡＹ情報を取得し、保持するようにしても良い。
【００５７】
レジスタ部４６は、使用可能なＴＡＧ＿ＣＰメモリ４２−１〜４２−４のＷＡＹを示す構成情報を保持する。
構成情報には、ＴＡＧ＿ＣＰメモリ４２−１〜４２−４のＷＡＹ毎に、有効又は無効の状態が含まれ、リクエスト制御部４４からの設定変更要求に応じて、レジスタ部４６により有効又は無効の状態が設定される。
【００５８】
有効又は無効の状態は、例えば有効を示す“０”及び無効を示す“１”のビットを用いた縮退フラグによって表すことができる。
換言すれば、レジスタ部４６は、ＴＡＧ＿ＣＰメモリ４２−１〜４２−４のＷＡＹを縮退することを示す縮退フラグを保持するといえる。
すなわち、リクエスト制御部４４は、レジスタ部４６に対して、ＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹに係る縮退フラグを設定することにより、当該ＷＡＹを縮退させる。
【００５９】
なお、図示を省略しているが、ＣＰＵ３−１〜３−４も、使用可能なＴＡＧメモリ３２−１〜３２−４のＷＡＹを示す構成情報を保持するレジスタ部を備える。
従って、ＣＰＵ３によるＴＡＧメモリ３２のＷＡＹの縮退処理も、リクエスト制御部４４による縮退処理と同様に、対応するＴＡＧメモリ３２のＷＡＹに係る縮退フラグがＣＰＵ３によってレジスタ部に設定されることにより行なわれる。
【００６０】
アドレスロックレジスタ部４５は、ロックレジスタ４５ａを備え、ＳＣ４内で処理中のリクエスト内のアドレス情報をロックレジスタ４５ａに保持する。
具体的には、アドレスロックレジスタ部４５は、コマンド制御部４３から転送されるリクエスト内の実アドレスから全てのアドレス（フルアドレス）とインデックスとを抽出し、抽出したフルアドレス、つまりＳＣ４内で処理中のリクエストに係るフルアドレスをロックレジスタ４５ａに保持する。
【００６１】
また、アドレスロックレジスタ部４５は、後発リクエスト内の実アドレスにおけるフルアドレスが、ロックレジスタ４５ａに保持されたリクエスト内の実アドレスにおけるフルアドレスと一致した場合、当該後発リクエストに係るフルアドレスがビジー状態である旨（フルアドレスビジー）をコマンド制御部４３に通知する。コマンド制御部４３では、フルアドレスビジーが通知されると、後発リクエストを再度ＴＡＧ＿ＣＰメモリ制御部４１及びアドレスロックレジスタ部４５へそれぞれ転送し、後発リクエストを再発行（リトライ）する。
【００６２】
このように、アドレスロックレジスタ部４５は、コマンド制御部４３から転送される後発リクエストに係る処理をキャンセル及びリトライさせて、処理中のリクエストと競合しないようにガード（ロック）するガード（ロック）機能を備える。
また、アドレスロックレジスタ部４５は、ＳＣ４内で処理中のリクエストに係る処理が完了した場合、ロックレジスタ４５ａから当該リクエストに係るアドレス情報を削除し、当該リクエストのロックを解除する。
【００６３】
さらに、第１実施形態におけるアドレスロックレジスタ部４５は、上述した処理に加えて、ＵＥが発生した際には、ＣＰＵ３及びＳＣ４における被疑箇所の縮退処理が完了するまで、ＵＥ検出リクエストにおける被疑箇所のフルアドレスをロックレジスタ４５ａに保持する。そして、後発リクエスト内の実アドレスにおけるフルアドレスが、ロックレジスタ４５ａに保持された被疑箇所のフルアドレスと一致した場合、アドレスロックレジスタ部４５は、後発リクエストのフルアドレスビジーをコマンド制御部４３に通知する。
【００６４】
すなわち、アドレスロックレジスタ部４５は、ＣＰＵ３からＴＡＧメモリ３２の縮退処理完了通知を受信するとともに、リクエスト制御部４４がＴＡＧ＿ＣＰメモリ４２のＵＥが発生したＷＡＹを縮退させるまでは、他のリクエストによる当該ＵＥが発生したＴＡＧ＿ＣＰメモリ４２へのアクセスを抑止する。
つまり、第１実施形態におけるアドレスロックレジスタ部４５は、ＵＥ検出リクエストによりＵＥが検出された場合、当該ＵＥ検出リクエスト内のアドレス情報をロックレジスタ４５ａに保持してロックし、ＣＰＵ３からの縮退処理完了通知を受信した場合に、当該リクエストのロックを解除する。
【００６５】
これにより、他のリクエストによってＵＥ検出リクエストにおけるフルアドレスが参照されないように、被疑箇所をガードすることができる。
なお、アドレスロックレジスタ部４５は、ＵＥ検出リクエストのアドレスがロックレジスタ４５ａに保持されている場合、同一インデックスであって且つフルアドレスが不一致のときには、被疑箇所と同一インデックスの領域についてもガードすることができる。これにより、ＵＥ発生後の縮退処理中に、後発リクエストによるＴＡＧ＿ＣＰメモリ４２の被疑箇所と同一インデックスの領域への参照を抑止することができる。このため、アドレスロックレジスタ部４５は、アドレス比較のビット幅を可変にできるように構成されることが好ましい。
【００６６】
このように、第１実施形態におけるアドレスロックレジスタ部４５は、ガード機能により、処理中のリクエストと競合しないように後発リクエストに係る処理をガードするとともに、ＵＥが発生した場合に被疑箇所をガードすることができる。
〔１−３〕第１実施形態の情報処理システムのＵＥ発生時の動作
次に、上述の如く構成された情報処理システム１におけるＳＣ４のＴＡＧ＿ＣＰメモリ４２でＵＥが発生した場合の縮退処理について説明する。
【００６７】
図３は、第１実施形態の一例としてのＳＣ４内のＴＡＧ＿ＣＰメモリ４２−２でＵＥが発生した場合の縮退範囲を示す図であり、図４は、第１実施形態の一例としてのＳＣ４内のＴＡＧ＿ＣＰメモリ４２−２でＵＥが発生した場合の縮退処理を説明するためのフローチャートである。
はじめに、図３及び図４に示すように、システムの運用中、ＴＡＧ＿ＣＰメモリ４２−２でＵＥが検出された場合（ステップＳ１）、ＳＣ４内のＴＡＧ＿ＣＰメモリ制御部４１により、リクエスト制御部４４に対してＴＡＧ＿ＣＰエラー通知が行なわれる。
【００６８】
ＴＡＧ＿ＣＰエラー通知が入力されると、リクエスト制御部４４により、コマンド制御部４３に対してＵＥ検出リクエストの保留指示が通知される（ステップＳ２）。コマンド制御部４３では、保留指示の通知を受けて、ＵＥ検出リクエストが保留状態として保持される。
次いで、リクエスト制御部４４により、ＵＥが検出されたＴＡＧ＿ＣＰメモリ４２−２に対応するＣＰＵ３−２に対して、ＵＥが検出された被疑箇所のインデックス及びＷＡＹ情報を含むＵＥ通知リクエストが通知される（ステップＳ３）。
【００６９】
ＣＰＵ３−２では、受信したＵＥ通知リクエストに基づいて、被疑箇所に対応するＣＭ３１−２のＷＡＹの全エントリがメモリ５に退避され、当該ＷＡＹの縮退処理が行なわれる（ステップＳ４，図３中、ＴＡＧメモリ３２−２の「縮退範囲」参照）。具体的には、ＣＰＵ３により、ＣＰＵ３内のレジスタ部に対して被疑箇所に対応したＷＡＹを無効にする設定変更要求が出力され、レジスタ部では、構成情報において被疑箇所に対応したＷＡＹに縮退フラグが設定され、当該ＷＡＹが無効にされる。その後、ＣＰＵ３−２からリクエスト処理部４４に対して、縮退処理完了通知が送信される（ステップＳ５）。
【００７０】
また、リクエスト制御部４４では、ＳＣ４内で被疑箇所に対応したＷＡＹの縮退処理が行なわれる（ステップＳ６，図３中、ＴＡＧ＿ＣＰメモリ４２−２の「縮退範囲」参照）。具体的には、リクエスト処理部４４により、レジスタ部４６に対して被疑箇所に対応したＷＡＹを無効にする設定変更要求が出力され、レジスタ部４６では、構成情報において被疑箇所に対応したＷＡＹに縮退フラグが設定され、当該ＷＡＹが無効にされる。
【００７１】
なお、上述したＣＰＵ３−２及びＴＡＧ＿ＣＰメモリ４２−２の縮退処理が完了するまで、アドレスロックレジスタ部４５により、他のリクエストによって被疑箇所が参照されないように、被疑箇所がガードされる。これにより、ＵＥの多重発生を防ぐことができる。なお、縮退処理完了通知が入力されると、アドレスロックレジスタ部４５により、ロックレジスタ４５ａに保持されたＵＥ検出リクエストに係るアドレス情報が削除され、当該リクエストのロックが解除される。
【００７２】
上述したＣＰＵ３−２及びＴＡＧ＿ＣＰメモリ４２−２の縮退処理の完了後、リクエスト処理部４４により、コマンド制御部４３に対して、保留状態であったＵＥ検出リクエストの処理再開の指示が通知される（ステップＳ７）。コマンド制御部４３では、処理再開指示の通知を受けて、ＵＥ検出リクエストに係る処理が再開される。
また、リクエスト制御部４４により、運用管理部６に対して、ＵＥに関するエラー情報が割り込み通知される（ステップＳ８）。
【００７３】
割り込み通知が入力されると、運用管理部６のファームウェアにより、運用管理部６が管理する制御情報に対して、縮退させたＷＡＹに関する情報が、故障情報として記録される（ステップＳ９）。
そして、情報処理システム１による運用が継続される（ステップＳ１０）。
上述の処理により、ＣＰＵ３及びＳＣ４において、被疑箇所に対応したＷＡＹの縮退処理が動的に行なわれるため、ＴＡＧ＿ＣＰメモリ４２においてＵＥが発生した場合でも、運用の停止を回避することができる。
【００７４】
上述のように、第１実施形態の一例としての情報処理システム１によれば、ＳＣ４のリクエスト制御部４４により、ＴＡＧ＿ＣＰメモリ４２でＵＥが発生した場合に、ＵＥ通知リクエストがＣＰＵ３に通知される。そして、ＣＰＵ３により、受信したＵＥ通知リクエストに基づいてＵＥが発生したＷＡＹに対応したＷＡＹの縮退処理が行なわれる。また、リクエスト制御部４４により、ＴＡＧ＿ＣＰメモリ４２のＵＥが発生したＷＡＹの縮退処理が行なわれる。
【００７５】
これにより、情報処理システム１は、上述した図１０及び図１１等に例示するようなＴＡＧ＿ＣＰメモリ４２０にＣＥが発生した場合と同様に、ＵＥが検出されたＷＡＹに対応する、ＣＰＵ３内のＴＡＧメモリ３２のＷＡＹ及びＳＣ４内のＴＡＧ＿ＣＰメモリ４２のＷＡＹを動的に縮退することができる。
従って、システムの継続運用が可能になり、情報処理システム１の可用性の向上を実現することができる。
【００７６】
また、ＵＥ検出に伴う縮退処理をＷＡＹ単位で行なうことができるため、上述した図１２及び図１３等に例示するような、ＵＥが発生した場合にＣＰＵ３００単位及びＳＣ４００のＴＡＧ＿ＣＰメモリ４２０単位で縮退を行なう従来の手法と比較して、縮退範囲をより限定することができる。
さらに、ＴＡＧ＿ＣＰメモリ４２内の被疑箇所に対応するＷＡＹの縮退処理に加えて、ＣＰＵ３のＴＡＧメモリ３２内の被疑箇所に対応するＷＡＹの縮退処理も行なわれる。
【００７７】
従って、ＣＰＵ３側の縮退処理完了後は、当該ＣＰＵ３から被疑箇所へのリクエストが発行されないため、ＣＰＵ３の処理負担を抑えることができ、ＵＥが発生した際の情報処理システム１の大幅な性能の低下を抑止することができる。
さらに、ＴＡＧ＿ＣＰメモリ４２−１〜４２−４は、ＣＰＵ３−１〜３−４内のＴＡＧメモリ３２−１〜３２−４と一対一に対応する。従って、ＴＡＧ＿ＣＰメモリ４２の一部（ＷＡＹ）が縮退しても、ＣＰＵ３は被疑箇所に対応するＣＰＵ３以外の他のＣＰＵ３へのアクセスを行なうことができるため、ＣＰＵ３からのリクエスト発行のリトライによる性能低下を防ぐことができる。
【００７８】
また、第１実施形態の一例としての情報処理システム１によれば、ＳＣ４のリクエスト制御部４４により、ＣＰＵ３からＴＡＧメモリ３２の縮退処理完了通知を受信した後に、コマンド制御部４３にＵＥ検出リクエストを再発行させる指示が行なわれる。
これにより、縮退処理の完了後にコマンド制御部４３によってＵＥ検出リクエストが再発行されるため、ＵＥ検出リクエストを発行したＣＰＵ３は、要求先において処理されなかったＵＥ検出リクエストのリトライを行なわずに済む。
【００７９】
従って、ＵＥ検出リクエストに係る縮退処理に伴うＣＰＵ３の処理負担を抑えることができ、ＵＥが発生した際の情報処理システム１の性能の低下を抑止することができる。
さらに、第１実施形態の一例としての情報処理システム１によれば、アドレスロックレジスタ部４５により、ＣＰＵ３及びＳＣ４において被疑箇所に対応するＷＡＹが縮退されるまでは、他のリクエストによる被疑箇所へのアクセスが抑止される。
【００８０】
これにより、ＵＥ検出リクエスト及び被疑箇所への後発リクエストのような、要求元において処理されなかったリクエストが、コマンド制御部４３によって再発行される。
従って、他のリクエストによってＵＥが検出されたキャッシュタグデータが参照されないように、被疑箇所をガードすることができ、キャッシュコヒーレンシを保つことができる。つまり、上述した図１３に例示するようなＵＥが発生したＴＡＧ＿ＣＰメモリ４２に対応するＣＰＵ３自体の縮退のためのＯＳ再起動が不要となるため、システムの継続運用が可能になり、情報処理システム１の可用性の向上を実現することができる。
【００８１】
また、アドレスロックレジスタ部４５によるＵＥ発生被疑箇所のガードは、後発リクエストが、処理中のリクエストと競合しないようにガードするガード機能を利用して実現される。
さらに、第１実施形態の一例としての情報処理システム１によれば、アドレスロックレジスタ部４５により、ＵＥ検出リクエストのアドレスがロックレジスタ４５ａに保持されている場合、同一インデックスであって且つフルアドレスが不一致のときには、被疑箇所と同一インデックスの領域についてもガードされる。なお、この場合、アドレスロックレジスタ部４５は、アドレス比較のビット幅を可変にできるように構成される。
【００８２】
これにより、ＵＥ発生後の縮退処理中に、後発リクエストによるＴＡＧ＿ＣＰメモリ４２の被疑箇所と同一インデックスの領域への参照を抑止することができる。
従って、上述したアドレスロックレジスタ部４５のガード機能による後発リクエストのリトライ条件に、ＵＥ検出リクエスト内の実アドレスにおけるフルアドレス又はインデックスと一致した場合を加えることによって、被疑箇所のガードを実現することができ、新たな回路を設けずに済むため、情報処理システム１の製造及び保守コストを減少させることができる。
【００８３】
さらに、第１実施形態の一例としての情報処理システム１によれば、レジスタ部４６により、ＴＡＧ＿ＣＰメモリ４２のＷＡＹを縮退することを示す縮退フラグが保持される。
これにより、ＴＡＧ＿ＣＰメモリ４２内に縮退フラグを備える構成と比較して、例えばアドレスライン系で故障が発生した場合でも、リクエスト処理部４４は、確実に縮退フラグの設定を行なうことができ、ＵＥの縮退処理を確実に行なうことができる。
【００８４】
〔２〕第２実施形態
〔２−１〕第２実施形態の構成
次に、図５〜図９を参照しながら、第２実施形態としての情報処理システム（情報処理装置）１′の構成について説明する。なお、図５において既述の符号と同一の符号は同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
【００８５】
図５は、第２実施形態の一例としての情報処理システム１′の構成を示す図である。
図５に示すように、第２実施形態における情報処理システム１′は、複数（図５に示す例では１６個）のＳＢ２と、運用管理部６と、複数（図５に示す例では４つ）のクロスバー（Cross Bar；以下、ＸＢという）９とを備える。
そして、情報処理システム１′は、これら複数のＳＢ２の全て若しくは一部を使用したＳＭＰサーバシステムとして機能する。
【００８６】
ＸＢ９は、複数のＳＢ２間でのデータ転送機能を有するＬＳＩであり、クロスバーユニット（Cross Bar Unit；図５中、ＸＢＵと表記）８に実装される。
運用管理部６は、第１実施形態と同様の構成であり、情報処理システム１′全体、つまり各ＳＢ２内のＣＰＵ３及びＳＣ４を制御するファームウェアを搭載する。また、運用管理部６は、運用管理部６が管理する制御情報において、各ＳＢ２における縮退されたＣＰＵ３の情報及びＷＡＹ情報を故障情報として保持する。
【００８７】
また、情報処理システム１′は、第１実施形態と同様に、各ＳＢ２内のＳＣ４からアクセス可能な記憶部（図示省略）を備えても良い。
第２実施形態におけるＳＣ４は、第１実施形態と同様に、自ＳＢ２内のＣＰＵ３から発行されたリクエストに係る処理を実行することができる。また、第２実施形態におけるＳＣ４は、複数のＳＢ２間における通信のインターフェース機能を備え、他のＳＢ２内のＣＰＵ３により、ＸＢ９を経由して自ＳＢ２内へのリクエストが発行された場合、当該リクエストに係る処理を実行することができる。
【００８８】
なお、第２実施形態においては、ＣＭ３１のキャッシュラインが２５６バイト（Byte）でありＷＡＹが１２である場合について例示する。
以下、第２実施形態におけるＴＡＧ＿ＣＰメモリ４２の構成について説明する。
図６は、第２実施形態の一例としてのメモリ５のアドレスマップを示す図であり、図７は、第２実施形態の一例としてのＴＡＧ＿ＣＰメモリ４２の構成を示す図である。なお、図７に示す例においては、各ＷＡＹのテーブルにおける１行が、１つのキャッシュタグデータに対応する。
【００８９】
図６に示すように、第２実施形態におけるメモリ５は、キャッシュライン（２５６バイト）単位（ブロック）でＳＣ４により管理される。
第２実施形態におけるＳＣ４内のＴＡＧ＿ＣＰメモリ４２は、キャッシュタグデータを、図７に示す形態で管理する。
すなわち、ＴＡＧ＿ＣＰメモリ４２では、メモリ５の実アドレス（ＰＡ）のうちの４１：１９ビットがキャッシュタグデータの登録アドレスとして格納される。
【００９０】
また、ＴＡＧ＿ＣＰメモリ４２では、キャッシュのステータス（ＳＴＳ；Status）の７：０ビットが、キャッシュタグデータに格納される。
さらに、ＴＡＧ＿ＣＰメモリ４２では、キャッシュタグデータのエラー訂正符号（ＥＣＣ）が、７ビットのデータとしてキャッシュタグデータに付加される。
そして、上述した登録アドレス及びステータスを格納するＴＡＧ＿ＣＰメモリ４２のアドレスには、メモリ５の実アドレスの一部であるインデックスが使用される。
【００９１】
なお、第２実施形態においては、キャッシュラインを示すインデックスが１１ビットであり、キャッシュライン数が２０４８である場合について例示する。すなわち、図７に示す例においては、メモリ５の実アドレスのうちの１８：８ビットがインデックスアドレスに割り当てられる。
従って、図６に示すメモリ５のアドレスマップにおいて、同じインデックスになるブロック（例えばＡ０及びＢ０）は、図７に示すように同じインデックスアドレスに割り当てられる。また、これら同じインデックスになるブロックは、順にＷＡＹ０、ＷＡＹ１…ＷＡＹ１１に格納される。
【００９２】
なお、キャッシュタグデータにおけるステータスは、例えばＭＯＳＩプロトコルにおける４状態で表される。ＭＯＳＩプロトコルとは、Ｍ（Modified；変更）、Ｏ（Owned；所有）、Ｓ（Shared；共有）、及びＩ（Invalid；無効）の４つのキャッシュステータスを採用するプロトコルである。
また、ＳＣ４は、ＴＡＧ＿ＣＰメモリ４２においてＣＥ又はＵＥが検出された場合、第１実施形態と同様の動作を行なうが、図８を参照しながら、より具体的な構成例について説明する。なお、図８において既述の符号と同一の符号は同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
【００９３】
図８は、第２実施形態の一例としてのＳＣ４の構成を示す図である。
図８に例示するＳＣ４は、第１実施形態におけるＳＣ４に加えて、パイプ部４７と、第１Ｉ／Ｆ（Interface）部４８と、第２Ｉ／Ｆ部４９とをさらに備える。
また、図８に例示するＳＣ４は、第１実施形態におけるＳＣ４に加えて、ＴＡＧ＿ＣＰメモリ制御部４１が比較器４１ａを備え、リクエスト制御部４４がアドレス競合検査部４５ｂを備え、レジスタ部４６がレジスタ設定変更部４６ａ及び構成制御レジスタ４６ｂを備える。
【００９４】
さらに、図８に例示するＳＣ４内のコマンド制御部４３は、ＣＰＵ３から受信したリクエストを保持するキュー４３ａを備え、キュー４３ａ内のリクエストを、パイプ部４７へ順に転送するとともに、パイプ部４７経由でＴＡＧ＿ＣＰメモリ制御部４１及びアドレスロックレジスタ部４５へ順に転送するための制御を行なう。また、コマンド制御部４３は、転送したリクエストに係る処理が完了するまでは、当該リクエストを保持する。また、保持するリクエストの再発行（リトライ）の指示を受けると、コマンド制御部４３は、再発行の指示に係るリクエストを、再度キュー４３ａに登録し再発行を行なう。
【００９５】
図８に示すように、パイプ部４７は、複数のラッチ回路４７ａ−１〜４７ａ−ｎ及び４７ｂ−１〜４７ｂ−ｏ（図８中、ｍ、ｎ及びｏはそれぞれ備えられるラッチ回路の数，なお、ｍ＜ｎである）と、結果確定部４７ｃとを備える。
パイプ部４７は、コマンド制御部４３からのリクエストをラッチ回路４７ａ−１に入力するとともに、当該リクエストを、ラッチ回路４７ａ−１からラッチ回路４７ａ−２並びにＴＡＧ＿ＣＰメモリ制御部４１及びアドレスロックレジスタ部４５に対してそれぞれ出力する。
【００９６】
ラッチ回路４７ａ−２に入力されたリクエストは、ＴＡＧ＿ＣＰメモリ制御部４１における検索処理との待ち合わせのため、ラッチ回路４７ａ−２〜４７ａ−ｎを順に通過して、結果確定部４７ｃに出力される。
一方、ＴＡＧ＿ＣＰメモリ制御部４１及びアドレスロックレジスタ部４５に入力されたリクエストは、ＴＡＧ＿ＣＰメモリ制御部４１において検索処理が行なわれ、キャッシュ検索結果としてラッチ回路４７ｂ−１に出力される。キャッシュ検索結果は、ラッチ回路４７ｂ−１〜４７ｂ−ｏを順に通過して、結果確定部４７ｃに出力される。
【００９７】
結果確定部４７ｃは、ラッチ回路４７ａ−１〜４７ａ−ｎを通過したリクエストと、ラッチ回路４７ｂ−１〜４７ｂ−ｏを通過したキャッシュ検索結果とに基づいて、リクエストの転送先を確定し、第１Ｉ／Ｆ部４８に出力する。
第１Ｉ／Ｆ部４８は、パイプ部４７の結果確定部４７ｃから出力されたリクエストを、結果確定部４７ｃによって確定された転送先、例えば自ＳＢ２内のＣＰＵ３やメモリ５、又はＸＢ９を経由して他のＳＢ２内のＳＣ４等へ送信する。
【００９８】
なお、図８に示す例においては、第１Ｉ／Ｆ部４８は、ＣＰＵ３又はメモリ５に対してリクエストを送信するが、例えば、ＣＰＵＩ／Ｆ部及びメモリＩ／Ｆ部のように機能を分割しても良い。
ここで、ラッチ回路４７ａ−１〜４７ａ−ｎ及び４７ｂ−１〜４７ｂ−ｏ並びに後述するラッチ回路４０ａは、例えばそれぞれがフリップフロップ（Flip-Flop）である。これらのラッチ回路４７ａ−１〜４７ａ−ｎ及び４７ｂ−１〜４７ｂ−ｏにより、リクエストとキャッシュ検索結果とが結果確定部４７ｃに入力されるタイミングの調整が行なわれる。
【００９９】
ＴＡＧ＿ＣＰメモリ制御部４１−１〜４１−４は、コマンド制御部４３からのリクエストを入力されると、第１実施形態と同様に、当該リクエストに含まれるメモリ５の実アドレスから、インデックス及び登録アドレスを抽出する。そして、ＴＡＧ＿ＣＰメモリ制御部４１−１〜４１−４は、それぞれのＴＡＧ＿ＣＰメモリ４２−１〜４２−４内から、抽出したインデックス及び登録アドレスに対応するキャッシュタグデータを検索する。
【０１００】
なお、第２実施形態においては、上述の如く、インデックスはメモリ５の実アドレスのうちの１８：８ビットであり、登録アドレスはメモリ５の実アドレスのうちの４１：１９ビットである。
具体的には、図８に示すように、ＴＡＧ＿ＣＰメモリ制御部４１は、リクエストから抽出したインデックスに基づいて、ＴＡＧ＿ＣＰメモリ４２から同じインデックスの登録アドレスを抽出する。そして、ＴＡＧ＿ＣＰメモリ制御部４１は、リクエストから抽出した登録アドレス（図８中、上位ＰＡ［４１：１９］参照）と、ＴＡＧ＿ＣＰメモリ４２から抽出した登録アドレスとを比較器４１ａで比較し、一致するか否かを判定する。
【０１０１】
一致した場合、つまりリクエストに係るキャッシュタグデータがＴＡＧ＿ＣＰメモリ４２内でヒットした場合には、ＴＡＧ＿ＣＰメモリ制御部４１は、ＴＡＧ＿ＣＰメモリ４２から抽出した一致した登録アドレスが含まれるキャッシュタグデータを参照する。
なお、検索によりリクエストに係るキャッシュタグデータがＴＡＧ＿ＣＰメモリ４２内でヒット又はミスヒットした場合、その後の処理の内容は、リクエストの内容とキャッシュタグデータのステータスとに応じて決定される。これらの処理の内容の決定は、既知の種々の手法に実現することができるため、ここではその詳細な説明は省略する。
【０１０２】
リクエスト制御部４４は、第１実施形態と同様の動作を行なう。
なお、図８に示す例においては、リクエスト制御部４４は、ＴＡＧ＿ＣＰメモリ４２においてＵＥが発生した場合、ＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹの縮退処理を行なうため、レジスタ設定変更部４６ａに対して設定変更要求を通知する。
レジスタ設定変更部４６ａは、構成情報が保持されている構成制御レジスタ４６ｂに対して、設定変更要求に基づいた縮退フラグの設定を行なう。
【０１０３】
また、リクエスト制御部４４は、ＵＥが発生した場合、ＳＣ４と運用管理部６との間のインターフェース機能を備える第２Ｉ／Ｆ部４９に対して、エラー情報の割り込み通知を出力する。第２Ｉ／Ｆ部４９は、割り込み通知が入力されると運用管理部６に対して当該割り込み通知を出力する。
また、ＳＣ４は、例えばＣＥ又はＵＥが発生した場合に、ＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２において稼動しているＷＡＹ数が所定の数（例えば１）以下である場合には、ＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２及び対応するＣＰＵ３自体の縮退を行なっても良い。
【０１０４】
つまり、ＴＡＧ＿ＣＰメモリ４２にＣＥ又はＵＥが発生し、且つＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹの稼動数が所定の数以下の場合、ＣＥ又はＵＥが発生したＷＡＹの縮退処理を行なうと、当該ＴＡＧ＿ＣＰメモリ４２において稼動するＷＡＹが無くなる。そこで、第２実施形態においては、リクエスト制御部４４は、ＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹの稼動数が所定の数以下の場合、ＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２全体を縮退するとともに、当該ＴＡＧ＿ＣＰメモリ４２に対応するＣＰＵ３自体を縮退させる。
【０１０５】
なお、この場合の縮退処理は、上述した図１３に例示する手法により行なうことができる。また、リクエスト制御部４４は、ＣＥ又はＵＥが発生した場合に、構成制御レジスタ４６ｂに設定された縮退フラグ等の設定情報を読み込むことで、ＣＥ又はＵＥが発生したＴＡＧ＿ＣＰメモリ４２において稼働しているＷＡＹ数を把握することができる。
また、リクエスト制御部４４は、ＣＥが発生した回数をカウントし、ＣＥの発生回数が所定の閾値よりも大きい場合に、ＣＥ検出リクエストをＣＰＵ３に通知しても良い。
【０１０６】
運用管理部６は、例えば情報処理システム１′で実行中のＯＳの再起動によってＣＰＵ３及びＳＣ４内の縮退状態がリセットされた場合に、運用管理部６内に格納された故障情報に基づいて、被疑箇所に対応するＷＡＹを再度縮退させる。その際、運用管理部６は、第２Ｉ／Ｆ部５９を介して、レジスタ設定変更部４６ａに対し、故障情報に基づいて設定変更要求を通知する。
【０１０７】
レジスタ設定変更部４６ａは、リクエスト制御部４４からの設定変更要求と同様に、構成情報が保持されている構成制御レジスタ４６ｂに対して、設定変更要求に基づいた縮退フラグの設定を行なう。
なお、第２実施形態におけるＣＰＵ３においても、構成制御レジスタ（図示省略）が備えられており、運用管理部６は、ＣＰＵ３が備える構成制御レジスタに対しても、設定変更を行なうことができる。
【０１０８】
アドレスロックレジスタ部４５は、コマンド制御部４３からのリクエストを入力されると、第１実施形態と同様に、当該リクエスト内のアドレス情報をロックレジスタ４５ａに保持する。
具体的には、図８に示すように、アドレスロックレジスタ部４５は、コマンド制御部４３から転送されるリクエスト内の実アドレスからフルアドレス（例えば、第２実施形態においては４１：３ビット）とインデックスとを抽出し、抽出したフルアドレスをロックレジスタ４５ａに保持する。
【０１０９】
また、アドレスロックレジスタ部４５は、処理中のリクエスト内の実アドレスにおけるフルアドレスと、ロックレジスタ４５ａに保持されたリクエスト内の実アドレスにおけるフルアドレスとを比較する、アドレス競合検査部４５ｂを備える。
なお、アドレス競合検査部４５ｂは、図８に示す例においては、リクエスト制御部４４内に備えられているが、アドレスロックレジスタ部４５と結線されており、アドレスロックレジスタ部４５の一機能として動作する。なお、アドレス競合検査部４５ｂは、アドレスロックレジスタ部４５内に備えられても良い。
【０１１０】
アドレス競合検査部４５ｂは、比較器４５ｂａを備え、後発リクエスト内の実アドレスにおけるフルアドレスが、ラッチ回路４０ａに入力されたタイミングで、ラッチ回路４０ａから比較器４５ｂａのＰＡ［４１：３］に入力される。また、ロックレジスタ４５ａに保持されたリクエスト内の実アドレスにおけるフルアドレスが、ロックレジスタ４５ａ（図８中、アドレスロックレジスタ部４５内のＲＥＧ＿ＡＤＲＳ［４１：３］）から比較器４５ｂａのＲＥＧ＿ＡＤＲＳ［４１：３］に入力される。
【０１１１】
そして、アドレス競合検査部４５ｂにおいて、比較器４５ｂａにより、入力された二つのフルアドレスが一致したと判定された場合には、比較器４５ｂａは、当該後発リクエストに係るフルアドレスがビジー状態である旨（フルアドレスビジー）をコマンド制御部４３に通知する。
このように、第２実施形態におけるアドレスロックレジスタ部４５は、第１実施形態と同様に、コマンド制御部４３から転送される後発リクエストに係る処理をキャンセル及びリトライさせて、処理中のリクエストと競合しないようにガードするガード機能を備える。
【０１１２】
また、アドレスロックレジスタ部４５は、第１実施形態と同様に、上述した処理に加えて、ＵＥが発生した際には、ＣＰＵ３及びＳＣ４による被疑箇所の縮退処理が完了するまで、ＵＥ検出リクエストにおける被疑箇所のフルアドレスをロックレジスタ４５ａに保持する。
これにより、アドレス競合検査部４５ｂは、後発リクエストに係るフルアドレス（ＰＡ［４１：３］）とＵＥ検出リクエストにおける被疑箇所のフルアドレス（ＲＥＧ＿ＡＤＲＳ［４１：３］）とが一致した場合、第１実施形態と同様に、後発リクエストのフルアドレスビジーをコマンド制御部４３に通知する。
【０１１３】
すなわち、アドレスロックレジスタ部４５は、ＣＰＵ３からＴＡＧメモリ３２の縮退処理完了通知を受信するとともに、リクエスト制御部４４がＴＡＧ＿ＣＰメモリ４２のＵＥが発生したＷＡＹを縮退させるまでは、他のリクエストによる当該ＵＥが発生したＴＡＧ＿ＣＰメモリ４２へのアクセスを抑止する。
このように、第２実施形態におけるアドレスロックレジスタ部４５は、第１実施形態と同様に、ガード機能により、処理中のリクエストと競合しないように後発リクエストに係る処理をガードするとともに、ＵＥが発生した場合に被疑箇所をガードすることができる。
【０１１４】
なお、図８に示す例においては、パイプ部４７の結果確定部４７ｃと、第１Ｉ／Ｆ部４８との間から、各ＴＡＧ＿ＣＰメモリ制御部４１及びアドレスロックレジスタ部４５へステータス更新用のラインが設けられている。これにより、リクエストが結果確定部４７ｃから出力された段階で、各ＴＡＧ＿ＣＰメモリ制御部４１におけるステータスの更新及びアドレスロックレジスタ部４５におけるロックの制御が行なわれる。
【０１１５】
つまり、アドレスロックレジスタ部４５は、ＵＥが発生した場合に、結果確定部４７ｃからステータス更新用のラインを介してロックの維持を示す情報を入力され、ロックレジスタ４５ａにおいてＵＥ検出リクエストに係るロックを維持することができる。
〔２−２〕第２実施形態の情報処理システムのＣＥ又はＵＥ発生時の動作
次に、上述の如く構成された情報処理システム１′におけるＳＣ４のＴＡＧ＿ＣＰメモリ４２でＣＥ又はＵＥが発生した場合の縮退処理について説明する。
【０１１６】
図９は、第２実施形態の一例としてのＳＣ４内のＴＡＧ＿ＣＰメモリ４２−２でＣＥ又はＵＥが発生した場合の縮退処理を説明するためのフローチャートである。
はじめに、図９に示すように、システムの運用中、ＴＡＧ＿ＣＰメモリ４２−２でエラーが発生し、ＴＡＧ＿ＣＰメモリ制御部４１−２によって検出された場合（ステップＳ１１）、ＳＣ４により、検出されたエラーがＣＥであるか否かが判断される（ステップＳ１２）。
【０１１７】
検出されたエラーがＣＥであると判断された場合（ステップＳ１２のＹｅｓルート）、リクエスト制御部４４により、ＣＥの発生数が所定の閾値より大きいか否かが判断される（ステップＳ１３）。
ＣＥ発生数が所定の閾値以下であると判断された場合（ステップＳ１３のＮｏルート）、リクエスト制御部４４により、ＣＥ発生数をカウントするカウンタの値がインクリメントされ、情報処理システム１′の運用に戻る。
【０１１８】
一方、ＣＥ発生数が所定の閾値より大きいと判断された場合（ステップＳ１３のＹｅｓルート）、リクエスト制御部４４により、ＣＥが発生したＴＡＧ＿ＣＰメモリ４２−２において稼動しているＷＡＹ数が所定の数（ここでは１）以下か否かが判断される（ステップＳ１４）。
稼動しているＷＡＹ数が１よりも大きいと判断された場合（ステップＳ１４のＮｏルート）、リクエスト制御部４４からＣＥが発生したＴＡＧ＿ＣＰメモリ４２−２に対応するＣＰＵ３−２に対して、ＣＥ通知リクエストが通知される（ステップＳ１５）。なお、このリクエストには、ＥＣＣにより訂正された被疑箇所のインデックスと、ＷＡＹ情報とが含まれる。
【０１１９】
ＣＰＵ３−２では、被疑箇所の情報の通知により、ＣＥが発生したＴＡＧメモリ３２−２内のＷＡＹのキャッシュデータがメモリに掃き出されるとともに、ＣＥが発生したＴＡＧメモリ３２−２のＷＡＹに対して縮退処理が行なわれる（ステップＳ１６）。そして、ＣＰＵ３−２により、ＳＣ４へ縮退処理完了の通知が行なわれる（ステップＳ１７）。
縮退処理完了通知を受けたリクエスト制御部４４では、ＣＥが発生したＴＡＧ＿ＣＰメモリ４２−２のＷＡＹに対して縮退処理が行なわれる（ステップＳ１８）。そして、リクエスト制御部４４により、運用管理部６に対して、ＣＥに関するエラー情報が通知され（ステップＳ１９）、運用管理部６の制御情報に故障情報が記録される（ステップＳ２０）。その後、情報処理システム１′では、運用が継続される（ステップＳ２１）。
【０１２０】
一方、ステップＳ１４において、リクエスト制御部４４により、稼動しているＷＡＹ数が１以下と判断された場合（ステップＳ１４のＹｅｓルート）、リクエスト制御部４４から運用管理部６に対して、ＣＥが発生し、ＣＰＵ３−２の縮退処理を行なうことが割り込みで通知される（ステップＳ２２）。
割り込み通知後、運用管理部６では、自身で管理する制御情報に、被疑対象のＴＡＧ＿ＣＰメモリ４２−２に対応したＴＡＧメモリ３２を有するＣＰＵ３−２を示す情報とＷＡＹ情報とが故障情報として記録される（ステップＳ２３）。そして、運用管理部６により、情報処理システム１′で実行中のＯＳが再起動される（ステップＳ２４）。
【０１２１】
ＯＳの再起動後、運用管理部６により、制御情報の故障情報が読み込まれ（ステップＳ２５）、故障情報に記録されているＣＰＵ３−２は、立ち上げ処理が行なわれず、他の正常なＣＰＵ３−１、３−３及び３−４についてのみ立ち上げ処理が行なわれる。つまり、運用管理部６により、被疑箇所に対応するＣＰＵ３−２が縮退処理される（ステップＳ２６）。その後、情報処理システム１′では、運用が再開される（ステップＳ２７）。
【０１２２】
一方、ステップＳ１２において、検出されたエラーがＣＥではない、つまりＵＥであると判断された場合（ステップＳ１２のＮｏルート）、リクエスト制御部４４により、ＵＥが発生したＴＡＧ＿ＣＰメモリ４２−２において稼動しているＷＡＹ数が所定の数（ここでは１）以下か否かが判断される（ステップＳ２８）。
稼動しているＷＡＹ数が１よりも大きいと判断された場合（ステップＳ２８のＮｏルート）、図４を用いて上述したステップＳ２〜Ｓ１０の処理が行なわれる（ステップＳ２９）。
【０１２３】
すなわち、ＴＡＧ＿ＣＰメモリ制御部４１からリクエスト制御部４４にＴＡＧ＿ＣＰエラー通知が通知され、リクエスト制御部４４により、コマンド制御部４３に対してＵＥ検出リクエストの保留指示が通知される（ステップＳ２）。そして、コマンド制御部４３内でＵＥ検出リクエストが保留状態として保持される。
次いで、リクエスト制御部４４により、ＵＥが検出されたＴＡＧ＿ＣＰメモリ４２−２に対応するＣＰＵ３−２に対して、ＵＥ通知リクエストが通知される（ステップＳ３）。
【０１２４】
ＣＰＵ３−２では、被疑箇所に対応するＣＭ３１−２のＷＡＹの縮退処理が行なわれ（ステップＳ４）、リクエスト処理部４４に対して、縮退処理完了通知が送信される（ステップＳ５）。
また、リクエスト制御部４４により、ＳＣ４内で被疑箇所に対応したＷＡＹの縮退処理が行なわれる（ステップＳ６）。
【０１２５】
ＣＰＵ３−２から縮退処理完了通知が通知され、ＵＥが検出されたＴＡＧ＿ＣＰメモリ４２−２のＷＡＹの縮退処理の完了後、リクエスト処理部４４により、コマンド制御部４３に対してＵＥ検出リクエストの処理再開の指示が通知される（ステップＳ７）。コマンド制御部４３内では、ＵＥ検出リクエストに係る処理が再開（再発行）される。
そして、リクエスト制御部４４により、運用管理部６に対して、ＵＥに関するエラー情報が割り込み通知される（ステップＳ８）。
【０１２６】
割り込み通知が入力されると、運用管理部６のファームウェアにより、運用管理部６が管理する制御情報に対して、縮退されたＷＡＹに関する情報が故障情報として格納され（ステップＳ９）、情報処理システム１′による運用が継続される（ステップＳ１０）。
一方、ステップＳ２８において、リクエスト制御部４４により、稼動しているＷＡＹ数が１以下と判断された場合（ステップＳ２８のＹｅｓルート）、リクエスト制御部４４から運用管理部６に対して、ＵＥが発生し、ＣＰＵ３−２の縮退処理を行なうことが割り込み通知される（ステップＳ２２）。以降、ＵＥが発生したＴＡＧ＿ＣＰメモリ４２に対応するＣＰＵ３−２について、上述したステップＳ２３以降の処理が行なわれる。
【０１２７】
このように、第２実施形態としての情報処理システム１′（特にＳＣ４）によれば、上述した第１実施形態と同様の効果を得ることができる。
また、第２実施形態の一例としての情報処理システム１′によれば、リクエスト制御部４４により、ＣＥの発生回数がカウントされ、ＣＥの発生回数が所定の閾値よりも大きい場合に、ＣＥ検出リクエストがＣＰＵ３に通知される。
【０１２８】
これにより、ＣＥの発生回数が所定の閾値以下の場合には、ＷＡＹの縮退処理が行なわれないため、ＷＡＹの縮退処理に伴う情報処理システム１′の性能低下を抑えることができる。
〔３〕その他
以上、本発明の好ましい実施形態及び変形例について詳述したが、本発明は、かかる特定の実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【０１２９】
例えば、上述した第１及び第２実施形態においては、ＳＢ２内のＣＰＵ３が４つの場合について説明したが、ＣＰＵ３の個数は、これに限定されるものではなく、１つでも良いし、他の数でも良い。ＣＰＵ３がいずれの数の場合でも、ＳＣ４内に、各ＴＡＧメモリ３２（ＣＰＵ３）に対応したＴＡＧ＿ＣＰメモリ４２が備えられれば良い。
また、上述した第１及び第２実施形態においては、ＵＥが検出されたリクエストについては、ＣＰＵ３及びＳＣ４における対象のＷＡＹの縮退処理が完了するまでは処理を保留するが、これに限定されるものではない。例えば、ＳＣ４は、ＵＥが検出された際に、キャッシュタグデータから、他のＣＰＵ３、つまりＵＥが検出されたＴＡＧ＿ＣＰメモリ４２に対応するＣＰＵ３とは異なるＣＰＵ３に最新のデータがあることが確認できた場合、ＵＥ検出リクエストに対しては通常通り処理を行なっても良い。なお、他のＣＰＵに最新のデータがある場合は、ＵＥが検出されたリクエストに対する他ＷＡＹのＴＡＧ＿ＣＰメモリ４２のキャッシュタグデータのステータスは、ＭＯＳＩプロトコルにおいては、例えば“Ｍ”又は“Ｏ”である。
【０１３０】
例えば、ＵＥ検出リクエストについて、通常処理の過程でアドレスロックを外す処理、つまりＵＥ検出リクエストについて通常通り処理を行ない、当該処理の完了後にロックレジスタ４５ａからアドレスを削除する処理を抑止する。そして、ＣＰＵ３の縮退処理に伴うＣＭ３１のデータの掃き出し処理が完了した後に、当該アドレスロックを外す処理を行なう。このために、ロックレジスタ４５ａで保持されるアドレスや、パイプ部４７を通過するデータに、リクエストに係るステータスが“Ｍ”や“Ｏ”であることを示す情報が付加されることが好ましい。
【０１３１】
あるいは、ＣＰＵ３の縮退処理に伴うＣＭ３１のデータの掃き出し処理が完了するまでは、ＵＥが複数回発生してしまうのを許容することでも良い。
上述のように、ＵＥが発生したＴＡＧ＿ＣＰメモリ４２に対応するＣＰＵ３と、ＵＥ検出リクエストの要求元のＣＰＵ３及び最新データを保持しているＣＰＵ３とが異なるＣＰＵの場合には、ＵＥ検出リクエストの保留による処理遅延を防ぐことができる。
【０１３２】
さらに、上述した第２実施形態における図９に示すフローチャートにおいて、ステップＳ１４のＹｅｓルートからのステップＳ２２〜ステップＳ２７の処理、つまり、ＴＡＧ＿ＣＰメモリ４２にＣＥが発生し、且つＣＥが発生したＴＡＧ＿ＣＰメモリ４２で稼働しているＷＡＹが所定の数以下の場合の処理は、これに限定されるものではない。例えば、情報処理システム１′は、ステップＳ２２〜ステップＳ２７の処理を実行せずに、そのまま運用を継続してもよい。
【０１３３】
また、上述した第２実施形態における図９に示すフローチャートにおいて、ステップＳ２８のＹｅｓルートからのステップＳ２２〜ステップＳ２７の処理、つまり、ＴＡＧ＿ＣＰメモリ４２にＵＥが発生し、且つＵＥが発生したＴＡＧ＿ＣＰメモリ４２で稼働しているＷＡＹが所定の数以下の場合の処理は、これに限定されるものではない。例えば、情報処理システム１′は、ステップＳ２２〜ステップＳ２７の処理を実行せずに、ＳＣ４がＯＳに対して最後のＷＡＹでＵＥが発生した旨を通知し、ＯＳでは処理中のプロセスを全て終了させた後に終了（Shutdown）処理を行なっても良い。
【０１３４】
さらに、第１実施形態及び第２実施形態における図４に示すフローチャートにおいて、ステップＳ６の処理は、ステップＳ３〜ステップＳ５の処理の前、或いはステップＳ３〜ステップＳ５の間に行なわれても良い。つまり、リクエスト処理部４４によるＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹの縮退処理は、当該ＷＡＹに対応するＣＰＵ３のＷＡＹの縮退処理よりも前に行なわれても良いし、並行して行なわれても良い。
【符号の説明】
【０１３５】
１，１′    情報処理システム（情報処理装置）
２    ＳＢ
３，３−１，３−２，３−３，３−４    ＣＰＵ（演算処理装置）
３００，３００−１，３００−２，３００−３，３００−４    ＣＰＵ
３１，３１−１，３１−２，３１−３，３１−４    ＣＭ（キャッシュメモリ）
３１０−１，３１０−２，３１０−３，３１０−４    ＣＭ（キャッシュメモリ）
３２，３２−１，３２−２，３２−３，３２−４    ＴＡＧメモリ（第１タグメモリ）
３２０−１，３２０−２，３２０−３，３２０−４    ＴＡＧメモリ
４，４００    ＳＣ（システムコントローラ）
４０ａ    ラッチ回路
４１，４１−１，４１−２，４１−３，４１−４    ＴＡＧ＿ＣＰメモリ制御部
４１ａ    比較器
４２，４２−１，４２−２，４２−３，４２−４    ＴＡＧ＿ＣＰメモリ（第２タグメモリ）
４２０，４２０−１，４２０−２，４２０−３，４２０−４    ＴＡＧ＿ＣＰメモリ
４３    コマンド制御部
４３ａ    キュー
４４    リクエスト制御部
４５    アドレスロックレジスタ部
４５ａ    ロックレジスタ
４５ｂ    アドレス競合検査部
４５ｂａ    比較器
４６    レジスタ部
４６ａ    レジスタ設定変更部
４６ｂ    構成制御レジスタ
４７    パイプ部
４７ａ−１〜４７ａ−ｎ，４７ｂ−１〜４７ｂ−ｏ    ラッチ回路
４７ｃ    結果確定部
４８    第１Ｉ／Ｆ部
４９    第２Ｉ／Ｆ部
５，５００    メモリ
６，６００    運用管理部
７    記憶部
８    ＸＢＵ
９    ＸＢ
【図１】
2012120660.tif 000003
【図２】
2012120660.tif 000004
【図３】
2012120660.tif 000005
【図４】
2012120660.tif 000006
【図５】
2012120660.tif 000007
【図６】
2012120660.tif 000008
【図７】
2012120660.tif 000009
【図８】
2012120660.tif 000010
【図９】
2012120660.tif 000011
【図１０】
2012120660.tif 000012
【図１１】
2012120660.tif 000013
【図１２】
2012120660.tif 000014
【図１３】
2012120660.tif 000015
【手続補正書】
【提出日】平成25年11月15日(2013.11.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
キャッシュメモリ及び第１タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置であって、
前記システムコントローラは、
前記演算処理装置から受信したリクエストを保持し、当該リクエストが要求先において処理されなかった場合に当該リクエストを再発行するコマンド制御部と、
前記第１タグメモリに記憶されるデータの複製データを保持する第２タグメモリと、
前記第２タグメモリから読み出されたデータが訂正不可能なエラーであるＵＥ（Uncorrectable Error）を起こした場合に、前記ＵＥが発生した第２タグメモリのウェイ情報を前記演算処理装置に通知するリクエスト制御部とを有し、
前記演算処理装置は、前記リクエスト制御部から前記ＵＥが発生した通知を受けると、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記リクエスト制御部へ通知し、
前記リクエスト制御部は、前記ＵＥが発生した場合に、前記第２タグメモリのＵＥが発生したウェイを縮退させるとともに、前記演算処理装置から、前記第１タグメモリの縮退処理が完了した旨の通知を受信した後、前記コマンド制御部に当該ＵＥに係るリクエストを再発行させる指示を行なうことを特徴とする、情報処理装置。
【請求項２】
前記リクエスト制御部は、前記ＵＥが発生した場合に、前記コマンド制御部に対して前記ＵＥに係るリクエストを保留させる指示を行なうことを特徴とする、請求項１記載の情報処理装置。
【請求項３】
前記システムコントローラは、
前記ＵＥが発生した場合に、前記演算処理装置から前記第１タグメモリの縮退処理が完了した旨の通知を受信するとともに、前記第２タグメモリのＵＥが発生したウェイを縮退させるまでは、他のリクエストによる前記第２タグメモリの当該ＵＥが発生したデータへのアクセスを抑止するアドレスロックレジスタ部を有することを特徴とする、請求項１又は請求項２記載の情報処理装置。
【請求項４】
前記アドレスロックレジスタ部は、
リクエスト内のアドレス情報を保持するロックレジスタを備えるとともに、
前記ＵＥが発生した場合に、当該ＵＥに係るリクエスト内のアドレス情報を抽出し、抽出したアドレス情報を前記ロックレジスタに保持させ、当該ＵＥに係るリクエストの後発リクエスト内のアドレス情報が、前記ロックレジスタに保持された前記ＵＥに係るリクエスト内の前記アドレス情報と一致した場合、前記コマンド制御部に対して当該後発リクエストを再発行させる指示を行なうことを特徴とする、請求項３記載の情報処理装置。
【請求項５】
前記情報処理装置は、
前記情報処理装置に係る制御を行なう運用管理部を有し、
前記リクエスト制御部は、前記第２タグメモリのＵＥが発生したウェイを縮退させた後、前記運用管理部に対して、前記ＵＥに関するエラー情報を通知し、
前記運用管理部は、前記リクエスト制御部からの通知に基づいて、縮退されたウェイに関する情報を保持するとともに、前記情報処理装置において実行されるＯＳ（Operating System）が再起動した場合に、保持している縮退させたウェイに関する情報に基づいて、前記第１及び第２タグメモリの当該ウェイを縮退させることを特徴とする、請求項１〜４のいずれか１項記載の情報処理装置。
【請求項６】
キャッシュメモリ及び第１タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置のキャッシュ制御方法であって、
前記システムコントローラにおいて、
前記第１タグメモリに記憶されるデータの複製データを保持する第２タグメモリから読み出されたデータが訂正不可能なエラーであるＵＥ（Uncorrectable Error）を起こした場合に、前記ＵＥが発生した前記第２タグメモリのウェイ情報を前記演算処理装置に通知し、
前記演算処理装置において、
前記ＵＥが発生した通知を受けると、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記システムコントローラへ通知して、
前記システムコントローラにおいて、
前記第２タグメモリのＵＥが発生したウェイを縮退するとともに、前記演算処理装置から、前記第１タグメモリの縮退処理が完了した旨の通知を受信した後、当該ＵＥに係るリクエストを再発行させることを特徴とする、情報処理装置のキャッシュ制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１３４
【補正方法】変更
【補正の内容】
【０１３４】
さらに、第１実施形態及び第２実施形態における図４に示すフローチャートにおいて、ステップＳ６の処理は、ステップＳ３〜ステップＳ５の処理の前、或いはステップＳ３〜ステップＳ５の間に行なわれても良い。つまり、リクエスト処理部４４によるＵＥが発生したＴＡＧ＿ＣＰメモリ４２のＷＡＹの縮退処理は、当該ＷＡＹに対応するＣＰＵ３のＷＡＹの縮退処理よりも前に行なわれても良いし、並行して行なわれても良い。
〔４〕付記
以上の第１及び第２実施形態に関し、更に以下の付記を開示する。
（付記１）
キャッシュメモリ及び第１タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置であって、
前記システムコントローラは、
前記演算処理装置から受信したリクエストを保持し、当該リクエストが要求先において処理されなかった場合に当該リクエストを再発行するコマンド制御部と、
前記第１タグメモリに記憶されるデータの複製データを保持する第２タグメモリと、
前記第２タグメモリから読み出されたデータが訂正不可能なエラーであるＵＥ（Uncorrectable Error）を起こした場合に、前記ＵＥが発生した第２タグメモリのウェイ情報を前記演算処理装置に通知するリクエスト制御部とを有し、
前記演算処理装置は、前記リクエスト制御部から前記ＵＥが発生した通知を受けると、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記リクエスト制御部へ通知し、
前記リクエスト制御部は、前記ＵＥが発生した場合に、前記第２タグメモリのＵＥが発生したウェイを縮退させるとともに、前記演算処理装置から、前記第１タグメモリの縮退処理が完了した旨の通知を受信した後、前記コマンド制御部に当該ＵＥに係るリクエストを再発行させる指示を行なうことを特徴とする、情報処理装置。
（付記２）
前記リクエスト制御部は、前記ＵＥが発生した場合に、前記コマンド制御部に対して前記ＵＥに係るリクエストを保留させる指示を行なうことを特徴とする、付記１記載の情報処理装置。
（付記３）
前記システムコントローラは、
前記ＵＥが発生した場合に、前記演算処理装置から前記第１タグメモリの縮退処理が完了した旨の通知を受信するとともに、前記第２タグメモリのＵＥが発生したウェイを縮退させるまでは、他のリクエストによる前記第２タグメモリの当該ＵＥが発生したデータへのアクセスを抑止するアドレスロックレジスタ部を有することを特徴とする、付記１又は付記２記載の情報処理装置。
（付記４）
前記アドレスロックレジスタ部は、
リクエスト内のアドレス情報を保持するロックレジスタを備えるとともに、
前記ＵＥが発生した場合に、当該ＵＥに係るリクエスト内のアドレス情報を抽出し、抽出したアドレス情報を前記ロックレジスタに保持させ、当該ＵＥに係るリクエストの後発リクエスト内のアドレス情報が、前記ロックレジスタに保持された前記ＵＥに係るリクエスト内の前記アドレス情報と一致した場合、前記コマンド制御部に対して当該後発リクエストを再発行させる指示を行なうことを特徴とする、付記３記載の情報処理装置。
（付記５）
前記システムコントローラは、
前記第２タグメモリのウェイを縮退することを示す縮退フラグを保持するレジスタ部を有し、
前記リクエスト制御部は、前記レジスタ部に対して、ＵＥが発生した前記第２タグメモリのウェイに係る縮退フラグを設定することにより、前記第２タグメモリのＵＥが発生したウェイを縮退させることを特徴とする、付記１〜４のいずれか１項記載の情報処理装置。
（付記６）
前記情報処理装置は、前記キャッシュメモリ及び前記第１タグメモリを有する前記演算処理装置を複数備え、
前記システムコントローラは、前記複数の演算処理装置にそれぞれ備えられた前記複数の第１タグメモリに対応して、前記第２タグメモリを複数備えることを特徴とする、付記１〜５のいずれか１項記載の情報処理装置。
（付記７）
前記情報処理装置は、
前記情報処理装置に係る制御を行なう運用管理部を有し、
前記リクエスト制御部は、前記第２タグメモリのＵＥが発生したウェイを縮退させた後、前記運用管理部に対して、前記ＵＥに関するエラー情報を通知し、
前記運用管理部は、前記リクエスト制御部からの通知に基づいて、縮退されたウェイに関する情報を保持するとともに、前記情報処理装置において実行されるＯＳ（Operating System）が再起動した場合に、保持している縮退させたウェイに関する情報に基づいて、前記第１及び第２タグメモリの当該ウェイを縮退させることを特徴とする、付記１〜６のいずれか１項記載の情報処理装置。
（付記８）
前記リクエスト制御部は、前記第２タグメモリにおいてＵＥが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部は、前記リクエスト制御部から通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるＯＳを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、付記７記載の情報処理装置。
（付記９）
前記リクエスト制御部は、前記第２タグメモリから読み出されたデータが訂正可能なエラーであるＣＥ（Correctable Error）を起こした場合に、前記ＣＥが発生した第２タグメモリのウェイ情報を前記演算処理装置に通知し、
前記演算処理装置は、前記リクエスト制御部から前記ＣＥが発生した通知を受けると、当該ＣＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記リクエスト制御部へ通知し、
前記リクエスト制御部は、前記ＣＥが発生した場合に、前記第２タグメモリのＣＥが発生したウェイを縮退させることを特徴とする、付記７記載の情報処理装置。
（付記１０）
前記リクエスト制御部は、前記第２タグメモリにおいてＣＥが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該ＣＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部は、前記リクエスト制御部から通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるＯＳを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、付記９記載の情報処理装置。
（付記１１）
キャッシュメモリ及び第１タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置のキャッシュ制御方法であって、
前記システムコントローラにおいて、
前記第１タグメモリに記憶されるデータの複製データを保持する第２タグメモリから読み出されたデータが訂正不可能なエラーであるＵＥ（Uncorrectable Error）を起こした場合に、前記ＵＥが発生した前記第２タグメモリのウェイ情報を前記演算処理装置に通知し、
前記演算処理装置において、
前記ＵＥが発生した通知を受けると、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記システムコントローラへ通知して、
前記システムコントローラにおいて、
前記第２タグメモリのＵＥが発生したウェイを縮退するとともに、前記演算処理装置から、前記第１タグメモリの縮退処理が完了した旨の通知を受信した後、当該ＵＥに係るリクエストを再発行させることを特徴とする、情報処理装置のキャッシュ制御方法。
（付記１２）
前記システムコントローラにおいて、
前記第２タグメモリから読み出されたデータが前記ＵＥを起こした場合に、前記ＵＥに係るリクエストを保留させることを特徴とする、付記１１記載の情報処理装置のキャッシュ制御方法。
（付記１３）
前記システムコントローラにおいて、
前記演算処理装置から前記第１タグメモリの縮退処理が完了した旨の通知を受信するとともに、前記第２タグメモリのＵＥが発生したウェイを縮退させるまでは、他のリクエストによる前記第２タグメモリの当該ＵＥが発生したデータへのアクセスを抑止することを特徴とする、付記１１又は付記１２記載の情報処理装置のキャッシュ制御方法。
（付記１４）
前記システムコントローラにおいて、
前記ＵＥが発生した場合に、当該ＵＥに係るリクエスト内のアドレス情報を抽出し、抽出したアドレス情報を保持するとともに、当該ＵＥに係るリクエストの後発リクエスト内のアドレス情報が、前記保持している前記ＵＥに係るリクエスト内の前記アドレス情報と一致した場合、当該後発リクエストを再発行させることを特徴とする、付記１３記載の情報処理装置のキャッシュ制御方法。
（付記１５）
前記システムコントローラにおいて、
前記ＵＥが発生した場合に、前記システムコントローラが備えるレジスタ部に対して、ＵＥが発生した前記第２タグメモリのウェイを縮退することを示す縮退フラグを設定することにより、前記第２タグメモリのＵＥが発生したウェイを縮退することを特徴とする、付記１１〜１４のいずれか１項記載の情報処理装置のキャッシュ制御方法。
（付記１６）
前記情報処理装置は、前記キャッシュメモリ及び前記第１タグメモリを有する前記演算処理装置を複数備え、
前記システムコントローラは、前記複数の演算処理装置にそれぞれ備えられた前記複数の第１タグメモリに対応して、前記第２タグメモリを複数備えることを特徴とする、付記１１〜１５のいずれか１項記載の情報処理装置のキャッシュ制御方法。
（付記１７）
前記情報処理装置は、
前記情報処理装置に係る制御を行なう運用管理部を有し、
前記システムコントローラにおいて、
前記第２タグメモリのＵＥが発生したウェイを縮退させた後、前記運用管理部に対して、前記ＵＥに関するエラー情報を通知し、
前記運用管理部において、
前記システムコントローラからの通知に基づいて、縮退されたウェイに関する情報を保持するとともに、前記情報処理装置において実行されるＯＳ（Operating System）が再起動した場合に、保持している縮退させたウェイに関する情報に基づいて、前記第１及び第２タグメモリの当該ウェイを縮退させることを特徴とする、付記１１〜１６のいずれか１項記載の情報処理装置のキャッシュ制御方法。
（付記１８）
前記システムコントローラにおいて、
前記第２タグメモリにおいてＵＥが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該ＵＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部において、
前記システムコントローラから通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるＯＳを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、付記１７記載の情報処理装置のキャッシュ制御方法。
（付記１９）
前記システムコントローラにおいて、
前記第２タグメモリから読み出されたデータが訂正可能なエラーであるＣＥ（Correctable Error）を起こした場合に、前記ＣＥが発生した第２タグメモリのウェイ情報を前記演算処理装置に通知し、
前記演算処理装置において、
前記システムコントローラから前記ＣＥが発生した通知を受けると、当該ＣＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリのウェイを縮退させて、前記第１タグメモリのウェイの縮退処理が完了したことを前記システムコントローラへ通知し、
前記システムコントローラにおいて、
前記ＣＥが発生した場合に、前記第２タグメモリのＣＥが発生したウェイを縮退させることを特徴とする、付記１７記載の情報処理装置のキャッシュ制御方法。
（付記２０）
前記システムコントローラにおいて、
前記第２タグメモリにおいてＣＥが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該ＣＥが発生した前記第２タグメモリのウェイに対応する前記第１タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部において、
前記システムコントローラから通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるＯＳを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、付記１９記載の情報処理装置のキャッシュ制御方法。
【国際調査報告】
2012120660.tif 000016
2012120660.tif 000017