JP5630565B2 - 情報処理装置,及びキャッシュ制御方法 - Google Patents

情報処理装置,及びキャッシュ制御方法 Download PDF

Info

Publication number
JP5630565B2
JP5630565B2 JP2013503290A JP2013503290A JP5630565B2 JP 5630565 B2 JP5630565 B2 JP 5630565B2 JP 2013503290 A JP2013503290 A JP 2013503290A JP 2013503290 A JP2013503290 A JP 2013503290A JP 5630565 B2 JP5630565 B2 JP 5630565B2
Authority
JP
Japan
Prior art keywords
request
tag
memory
way
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013503290A
Other languages
English (en)
Other versions
JPWO2012120660A1 (ja
Inventor
金野 雄次
雄次 金野
黒田 康弘
康弘 黒田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2012120660A1 publication Critical patent/JPWO2012120660A1/ja
Application granted granted Critical
Publication of JP5630565B2 publication Critical patent/JP5630565B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories

Landscapes

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

Description

本件は、情報処理装置,及びキャッシュ制御方法に関する。
近年、処理の高速化や耐障害性の向上を図るため、対称型マルチプロセッシング(SMP;Symmetric Multi Processor)方式を用いた、SMPサーバシステムが用いられることがある。
SMPは、複数のCPU(Central Processing Unit)が同等な立場で処理を分担するマルチプロセッサ手法であり、CPUキャッシュを同期させる機能や処理に用いられる各種資源を管理する機能を備える。
SMPサーバシステムは、複数のCPUやシステムコントローラ(System Controller;以下、SCという)や、RAM(Random Access Memory)等のメモリのほか、システムを制御するファームウェアが搭載された運用管理部などにより構成される。
このようなSMPサーバシステムでは、処理速度の向上のために、CPUのキャッシュタグ(TAG)データのコピー(TAG_CP)をSC内に備えることがある。この場合、各CPUからの問い合わせに対し、対象CPUの前段にあるSCにより、TAG_CPが参照されて応答が返される。これにより、スヌープ方式による高速なキャッシュアクセスを実現し、CPUのキャッシュメモリ(Cache Memory;以下、CMという)の同期処理の高速化を実現する。
なお、スヌープ方式とは、キャッシュコヒーレンシのアルゴリズムの一つであり、他のキャッシュと更新状態の情報を交換することで、どのキャッシュに最新のデータが格納されているかを把握することができ、最新のデータを取得することができるものである。
また、近年、CPUのCMにおいて、キャッシュライン数の増加に伴い、複数のWAYによるデータ格納構造であるセットアソシアティブ構成が採用されている。
セットアソシアティブ構成では、CPUのCMにおいて、キャッシュライン毎に複数のWAYが備えられ、各WAYにデータが格納される。
キャッシュタグデータは、CPU内部のTAGメモリ及びSC内部のTAG_CPメモリにそれぞれ格納され、インデックスと呼ばれるメモリの物理アドレスの一部を使用したアドレスにより管理される。キャッシュタグデータは、CPUからのリクエストに応じて、インデックスにより特定されるCM内の一のキャッシュラインから、一のWAYを絞り込み、CMから所望のデータを取得するのに用いられる。
なお、CM、TAGメモリ及びTAG_CPメモリとしては、いずれもSRAM(Static RAM)等のRAMが挙げられる。
上述したSMPサーバシステムでは、CPU、CM、TAGメモリ又はTAG_CPメモリ等の障害が検出されると、運用管理部によって、異常が発生した箇所をシステムから切り離す縮退処理が行なわれる。この縮退処理により、システムの動作を中断することなく運用を継続することができ、耐障害性の向上が実現される。
特にミッションクリティカルな分野で使用される大規模SMPサーバシステムで、TAG_CPメモリ等の故障が発生した場合、システムの性能が低下することになるとしても、被疑箇所を切り離して運用を継続することが望ましい。このため、従来のSMPサーバシステムには、CPU内部のTAGメモリやSC内部のTAG_CPメモリの固定的な1ビット(bit)故障が発生した場合、被疑箇所のWAYを動的に縮退し、運用を停止させずに故障箇所を切り離す仕組みが実装されている。
なお、1ビット故障では、キャッシュタグデータに含まれるエラー訂正符号(Error Correcting Code;以下、ECCという)により、エラーの訂正が可能である。以下、1ビット故障を訂正可能エラー又はCE(Correctable Error)という。
以下、SC内のTAG_CPメモリでCEが発生した場合の、システムの縮退処理の動作を説明する。
図10は、SC400内のTAG_CPメモリ420−2でCEが発生した場合の縮退範囲を示す図であり、図11は、SC400内のTAG_CPメモリ420−2でCEが発生した場合の縮退処理を説明するためのフローチャートである。
図10に例示するように、SMPサーバシステムでは、システムボード(SB;System Board:以下、SBという)200と、運用管理部600とが備えられる。
また、SB200には、CPU300−1〜300−4と、SC400と、メモリ500とが備えられる。なお、以下の説明においてCPU300−1〜300−4を区別しない場合には、単にCPU300という。
各CPU300−1〜300−4には、それぞれCM310−1〜310−4及びTAGメモリ320−1〜320−4が備えられる。なお、CM310−1〜310−4及びTAGメモリ320−1〜320−4の符号におけるハイフン“−”の右側の数字は、CM310−1〜310−4及びTAGメモリ320−1〜320−4が、それぞれ対応する数字のCPU300−1〜300−4に備えられることを示す。
さらに、SC400には、TAGメモリ320−1〜320−4に対応したTAG_CPメモリ420−1〜420−4が備えられる。なお、以下の説明においてTAG_CPメモリ420−1〜420−4を区別しない場合には、単にTAG_CPメモリ420という。
図10及び図11に示すように、システムの運用中、SC400内のTAG_CPメモリ420−2にCEが発生し、SC400により検出された場合(ステップS101)、SC400からCEが発生したTAG_CPメモリ420に対応するCPU300−2に対して、被疑箇所の情報が通知される(ステップS102)。なお、この情報には、ECCにより訂正された被疑箇所のインデックスと、WAY番号とが含まれる。
CPU300−2では、通知された被疑箇所に対応したTAGメモリ320−2内のWAYのデータがメモリに掃き出されるとともに、当該WAYの縮退処理が行なわれる(ステップS103)。そして、CPU300−2により、SC400へ縮退処理完了の通知が行なわれる(ステップS104)。
縮退処理完了通知を受けたSC400では、被疑箇所のWAYに対して縮退処理が行なわれる(ステップS105)。そして、SC400により、運用管理部600に対して、縮退処理を行なったCPU300−2のWAY番号を含むエラー通知が行なわれ(ステップS106)、運用管理部600の制御情報に故障情報が記録される(ステップS107)。その後、SMPサーバシステムでは運用が継続される(ステップS108)。
上述の如く、CPU300−2内部のTAGメモリ320−2の一部(WAY)及びSC400内部のTAG_CPメモリ420−2の一部(WAY)が縮退される(図10中、「縮退範囲」参照)。これにより、システムに多少の性能低下は発生するものの、縮退処理は動的に行なわれるため、運用の停止を回避することができる。
なお、ステップS107において運用管理部600の制御情報に記録された故障情報は、例えばSMPサーバシステムで実行中のOS(Operating System)の再起動等によってCPU及びSC内の縮退状態がリセットされた場合に、被疑箇所のWAYを再度縮退させるために用いられる。
ところで、SC内部のTAG_CPメモリにエラーの訂正が不可能な故障が発生した場合、SCは、ECCによりエラーの訂正を行なうことができず、キャッシュコヒーレンシを保つことができない。このため、従来のSMPサーバシステムには、SC内のTAG_CPメモリでエラーの訂正が不可能な故障が発生した場合、被疑箇所に対応するCPUを縮退し、運用を一度停止させて故障箇所を切り離す仕組みが実装されている。
なお、エラーの訂正が不可能な故障とは、キャッシュタグに含まれるECCによってもエラーを訂正することが不可能な故障であり、例えば、2ビット以上の領域の故障である。以下、2ビット以上の領域の故障(多ビット故障)を、訂正不可能エラー又はUE(Uncorrectable Error)という。
以下、SC内のTAG_CPメモリでCEが発生した場合の、システムの縮退処理の動作を説明する。
図12は、図10に示すものと同様の構成のSB200及び運用管理部600において、SC400内のTAG_CPメモリ420−2でUEが発生した場合の縮退範囲を示す図である。また、図13は、SC400内のTAG_CPメモリ420−2でUEが発生した場合の縮退処理を説明するためのフローチャートである。
図12及び図13に示すように、システムの運用中、SC400内のTAG_CPメモリ420−2にUEが発生し、SC400により検出された場合(ステップS111)、SC400から運用管理部600に対して、UEが発生したことが割り込みで通知される(ステップS112)。
運用管理部600では、割り込み通知に基づいて、被疑箇所に対応したCPU300−2を示す情報とWAY番号とが故障情報として、運用管理部600の制御情報に記録される(ステップS113)。そして、運用管理部600により、SMPサーバシステムで実行中のOSが再起動される(ステップS114)。
OSの再起動後、運用管理部600により、制御情報の故障情報が読み込まれ(ステップS115)、故障情報に記録されているCPU300−2は、立ち上げ処理が行なわれず、他の正常なCPU300−1、300−3及び300−4についてのみ立ち上げ処理が行なわれる。つまり、運用管理部600により、被疑箇所に対応するCPU300−2及び被疑箇所に対応するTAG_CPメモリ420−2が縮退処理された状態で、OSが立ち上がる(ステップS116,図12中、「縮退範囲」参照)。その後、SMPサーバシステムでは、運用が再開される(ステップS117)。
このように、SC400内部のTAG_CPメモリ420でUEが発生した場合には、SMPサーバシステムの運用が停止し、被疑箇所を含む全コンポーネント(例えば1つのCPU300全体)を縮退後、運用を再開するという手法が採られる。
なお、他に、キャッシュメモリを搭載した複数のCPUを備えたマルチプロセッサシステムにおいて、メモリコントロール/コヒーレンシ制御装置が備えるタグメモリから索引されたタグ索引結果に訂正不可能障害が発生した場合であっても、動作を継続できるようにする技術が知られている。
具体的には、メモリコントロール/コヒーレンシ制御装置が、タグメモリから索引されたタグ索引結果に訂正不可能障害を検出した場合、各CPUに対して、訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータを主記憶装置に掃き出すように指示する。これにより、データのコヒーレンシを保障することができる。
なお、訂正不可能障害が検出されたタグ索引結果に関連する可能性がある全てのデータとは、キャッシュメモリに格納されているデータの内の、下位アドレスがタグ索引時に用いられた下位アドレスと一致する全てのデータをいう。
特開2008−52550号公報
従来、TAG_CPメモリにおける訂正不可能エラー(UE)の発生頻度が低かったため、図12及び図13に例示したように、UEが発生した場合には、被疑箇所に対応したCPU及び被疑箇所のSC内のTAG_CPメモリを縮退処理させる運用が行なわれていた。
しかしながら、UEが発生した場合の上述した手法では、運用が停止する時間が発生し、SMPサーバシステムの可用性が低下するという問題がある。
また、近年、LSI(Large Scale Integration)内部の集積度が増すことによりCM容量が増加している。また、SMPサーバシステムに搭載されるCPU数の増加に伴い、SMPサーバシステム内の総CM容量が増加している。このようなSMPサーバシステム内のCM容量の増加によって、以前に比べてUEが発生する確率が高くなっている。
このように、UEの発生確率が高くなっている現状において、SMPサーバシステムの可用性が低下する場面(頻度)が増加するという問題もある。
さらに、上述したメモリコントロール/コヒーレンシ制御装置を用いた技術では、訂正不可能エラーが検出された場合でもデータのコヒーレンシを保障することができるが、以下の(i)及び(ii)に示す問題がある。
(i)メモリコントロール/コヒーレンシ制御装置内のタグ部で訂正不可能エラーが発生してタグ部の一部が縮退された場合、CPUは、タグ部の一部が縮退されたことを知らないため、CPUから、縮退されたタグ部の一部を再使用するようなリクエストが送信される可能性がある。このようなリクエストが送信された場合、メモリコントロール/コヒーレンシ制御装置は、リクエストに従ったタグ部の使用が不可能であるという応答、或いはキャッシュをタグ部に登録せずに使用するという応答をCPUに返すことになる。
このような場合、以下の(i−1)〜(i−3)に示す状況において、それぞれシステムの性能低下が発生するという問題がある。
(i−1)CPUは、上述の応答を受けることを許容していない場合、つまり上述の応答に対する処理が定義されておらず対応できない場合には、動作不能に陥る可能性がある。
(i−2)また、CPUは、上述の応答を許容し動作を行なう場合でも、CPUによる処理によっては、縮退されたタグ部の一部を再使用するようなリクエストがメモリコントロール/コヒーレンシ制御装置に繰り返し出力されるおそれがある。このような状況では、CPU及びメモリコントロール/コヒーレンシ制御装置間で、上述したリクエスト及び応答が繰り返し行なわれるため、システムの性能低下を招くことになる。
(i−3)或いは、メモリコントロール/コヒーレンシ制御装置は、タグ索引時に用いられた下位アドレスと同じ下位アドレスの別WAYのデータの掃き出し指示を、リクエストに対する応答を返す前に、リクエスト要求元のCPUに対して行なうことが考えられる。この場合、メモリコントロール/コヒーレンシ制御装置は、CPUによる掃き出し完了後、元のリクエストに対する応答を要求元のCPUに返すような動作を行なう。これにより、データのコヒーレンシを保つことはできるが、上述の如く、CPUにより上述の応答に対する処理が行なわれ、システムの性能低下を招くことになる。
(ii)また、メモリコントロール/コヒーレンシ制御装置は、エントリの縮退状態を示すエントリ使用不可フラグをタグメモリに備える。しかし、タグメモリのアドレスライン系で故障が発生した場合には、エントリ使用不可フラグ自体を正しく読み出せない可能性がある。
すなわち、タグメモリのアドレスライン系で故障が発生した場合、タグメモリのセルに対するアクセスが正常に行なわれず、エントリ使用不可フラグ自体を正しく読み出せないことがある。従って、実際にはエントリ使用不可フラグに縮退を示す情報が設定されている場合であっても、システムからは縮退したように見えず、リトライが行なわれる度にUEの発生が検出されて、処理不能に陥る可能性がある。
なお、エントリ使用不可フラグを、タグメモリではなく、例えばエントリ毎にラッチで備えることも考えられるが、物量的に困難である。
上述の点に鑑み、本件の目的の1つは、情報処理装置の可用性の向上を実現することである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
本件の情報処理装置は、キャッシュメモリ及び第1タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置であって、前記システムコントローラは、前記演算処理装置から受信したリクエストを保持し、当該リクエストが要求先において処理されなかった場合に当該リクエストを再発行するコマンド制御部と、前記第1タグメモリに記憶されるデータの複製データを保持する第2タグメモリと、前記第2タグメモリから読み出されたデータが訂正不可能なエラーであるUEを起こした場合に、前記UEが発生した第2タグメモリのウェイ情報を前記演算処理装置に通知するリクエスト制御部とを有し、前記演算処理装置は、前記リクエスト制御部から前記UEが発生した通知を受けると、当該UEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリのウェイを縮退させて、前記第1タグメモリのウェイの縮退処理が完了したことを前記リクエスト制御部へ通知し、前記リクエスト制御部は、前記UEが発生した場合に、前記第2タグメモリのUEが発生したウェイを縮退させるとともに、前記演算処理装置から、前記第1タグメモリの縮退処理が完了した旨の通知を受信した後、前記コマンド制御部に当該UEに係るリクエストを再発行させる指示を行なうものである。
また、本件のキャッシュ制御方法は、キャッシュメモリ及び第1タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置のキャッシュ制御方法であって、前記システムコントローラにおいて、前記第1タグメモリに記憶されるデータの複製データを保持する第2タグメモリから読み出されたデータが訂正不可能なエラーであるUEを起こした場合に、前記UEが発生した前記第2タグメモリのウェイ情報を前記演算処理装置に通知し、前記演算処理装置において、前記UEが発生した通知を受けると、当該UEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリのウェイを縮退させて、前記第1タグメモリのウェイの縮退処理が完了したことを前記システムコントローラへ通知して、前記システムコントローラにおいて、前記演算処理装置から、前記第2タグメモリのUEが発生したウェイを縮退するとともに、前記第1タグメモリの縮退処理が完了した旨の通知を受信した後、当該UEに係るリクエストを再発行するものである。
開示の技術によれば、情報処理装置の可用性の向上を実現することができる。
第1実施形態の一例としての情報処理システムの構成を示す図である。 第1実施形態の一例としてのシステムコントローラの構成を示す図である。 第1実施形態の一例としてのシステムコントローラ内のキャッシュタグメモリでUEが発生した場合の縮退範囲を示す図である。 第1実施形態の一例としてのシステムコントローラ内のキャッシュタグメモリでUEが発生した場合の縮退処理を説明するためのフローチャートである。 第2実施形態の一例としての情報処理システムの構成を示す図である。 第2実施形態の一例としてのメモリのアドレスマップを示す図である。 第2実施形態の一例としてのTAG_CPメモリの構成を示す図である。 第2実施形態の一例としてのシステムコントローラの構成を示す図である。 第2実施形態の一例としてのシステムコントローラ内のキャッシュタグメモリでCE又はUEが発生した場合の縮退処理を説明するためのフローチャートである。 システムコントローラ内のTAG_CPメモリでCEが発生した場合の縮退範囲を示す図である。 システムコントローラ内のTAG_CPメモリでCEが発生した場合の縮退処理を説明するためのフローチャートである。 システムコントローラ内のTAG_CPメモリでUEが発生した場合の縮退範囲を示す図である。 システムコントローラ内のTAG_CPメモリでUEが発生した場合の縮退処理を説明するためのフローチャートである。
以下、図面を参照して本発明の実施の形態を説明する。
〔1〕第1実施形態
〔1−1〕第1実施形態の構成
図1は、第1実施形態の一例としての情報処理システム1の構成を示す図である。
図1に示すように、情報処理システム(情報処理装置)1は、SB2と、運用管理部6とを備える。
情報処理システム1は、例えば、SMPサーバシステムである。
また、第1実施形態における情報処理システム1は、SC4内のTAG_CPメモリ42においてCEが発生した場合に、図11に示す上述した手法により、運用を継続することができる。なお、第1実施形態においては、CEが発生した場合の情報処理システム1の動作については、その詳細な説明を省略する。
第1実施形態における情報処理システム1は、SC4内のTAG_CPメモリ42においてUEが発生した場合に、後述の如く、UEが発生したTAG_CPメモリ42のWAY及び当該WAYに対応するCPU3のTAGメモリ32のWAYを動的に縮退させることで、運用を継続させることができる。
SB2は、少なくとも1つ(第1実施形態においては4つ)のCPU3−1〜3−4と、SC4と、RAM等のメモリ5とを備える。なお、以下の説明においてCPU3−1〜3−4を区別しない場合には、単にCPU3という。
CPU3−1〜3−4は、それぞれSC4に接続され、情報処理システム1における種々の制御や演算を行なう演算処理装置であり、例えば、記憶部(図示省略)に格納されたプログラムをメモリ5に展開して実行することにより、種々の機能を実現する。
CPU3−1〜3−4は、それぞれCM31−1〜31−4及びTAGメモリ(第1タグメモリ)32−1〜32−4を備える。以下の説明においてCM31−1〜31−4を区別しない場合には、単にCM31という。また、TAGメモリ32−1〜32−4を区別しない場合には、単にTAGメモリ32という。
なお、CM31−1〜31−4及びTAGメモリ32−1〜32−4の符号におけるハイフン“−”の右側の数字は、CM31及びTAGメモリ32が、それぞれ対応する数字のCPU3−1〜3−4に備えられることを示す。
CM31は、CPU3とメモリ5との間で転送されるデータを格納する。なお、第1実施形態においては、CM31が、nWAYセットアソシアティブ方式を採用する場合について例示する。
TAGメモリ32は、CM31で保持されるデータの参照情報であるキャッシュタグデータを格納する。
また、第1実施形態におけるCPU3は、SC4からCEが発生した通知(CE通知リクエスト)又はUEが発生した通知(UE通知リクエスト)を受信すると、当該CE又はUEが発生したTAG_CPメモリ42のWAYに対応するTAGメモリ32のWAYを動的に縮退させる。そして、CPU3は、WAYの縮退後、TAGメモリ32のWAYの縮退処理が完了したことをSC4へ通知する。
なお、以下、CE又はUEが発生した(検出された)TAG_CPメモリ42のキャッシュタグデータを、被疑箇所ともいう。
SC(システムコントローラ)4は、CPU3及びメモリ5間のアクセスを制御するとともに、CPU3と他のCPU3又はSB2の外部の処理装置との通信制御を行なうLSIである。なお、第1実施形態においては、CPU3及びSC4は、キャッシュコヒーレンシのアルゴリズムとしてスヌープ方式を採用する場合について例示する。
また、第1実施形態におけるSC4は、TAGメモリ32−1〜32−4に対応したTAG_CPメモリ(第2タグメモリ)42−1〜42−4を備える。
TAG_CPメモリ42−1〜42−4は、対応するTAGメモリ32−1〜32−4に記憶されるデータの複製データを保持する。以下の説明においてTAG_CPメモリ42−1〜42−4を区別しない場合には、単にTAG_CPメモリ42という。
なお、CM31、TAGメモリ32及びTAG_CPメモリ42としては、いずれも、例えばSRAM等のRAMが挙げられる。
SC4は、CPU3のキャッシュタグデータのコピーをTAG_CPメモリ42に格納することで、各CPU3からのメモリ5へのアクセス要求等のリクエストに対し、TAG_CPメモリ42を参照してリクエストに応じた所定の処理を行ない、要求元のCPU3に応答を返す。これにより、スヌープ方式による高速なキャッシュアクセスを実現し、CPU3のCM31の同期処理の高速化を実現する。
また、SC4は、情報処理システム1の運用中に、TAG_CPメモリ42において訂正不可能エラー(UE)が発生すると、CPU3からのリクエストのうちのUEが検出されたリクエスト(以下、UE検出リクエストという)に係る処理を保留する。
そして、SC4は、UEが検出されたTAG_CPメモリ42に対応するCPU3に対して、エラー情報を含むUE通知リクエストを出力する。なお、エラー情報には、被疑箇所に対応するWAY情報(例えばWAYの番号等)が含まれる。UE通知リクエストを受信したCPU3は、エラー情報に基づいて、TAGメモリ32のWAYを動的に縮退させ、WAYの縮退後、縮退処理が完了した旨の縮退処理完了通知をSC4へ通知する。
また、SC4は、TAG_CPメモリ42のUEが発生したWAYを縮退させる。
さらに、SC4は、CPU3から縮退処理完了通知を受信するとともに、TAG_CPメモリ42のWAYの縮退処理の完了後、UE発生リクエストに係る処理を再開する。
また、SC4は、運用管理部6に対してCE又はUEに関するエラー情報を割り込み通知する。
SC4の詳細な構成については、後述する。
メモリ5は、種々のデータやプログラムを一時的に格納する記憶領域であって、CPU3がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、第1実施形態におけるメモリ5は、CPU3−1〜3−4のいずれからもアクセス可能であり、CPU3−1〜3−4により共有して用いられる。
運用管理部6は、情報処理システム1を制御するファームウェアが搭載されており、SC4からのCE又はUEに関するエラー情報の割り込み通知に基づいて、CPU3及びSC4において縮退されたWAYに関する情報を故障情報として格納する。なお、縮退されたWAYに関する情報には、被疑箇所に対応したCPU3の情報(例えばCPUの番号等)及びWAY情報が含まれる。
また、運用管理部6は、例えば情報処理システム1で実行中のOSの再起動等によってCPU3及びSC4内の縮退状態がリセットされた場合に、故障情報に基づいて、被疑箇所に対応するWAYを再度縮退させる。なお、運用管理部6としては、サービスプロセッサが挙げられる。
なお、情報処理システム1は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶部(図示省略)を備えることができる。記憶部は、SC4を介して各CPU3からアクセス可能に構成することができる。
〔1−2〕第1実施形態のシステムコントローラの構成
図2は、第1実施形態の一例としてのSC4の構成を示す図である。
図2に示すように、SC4は、複数(第1実施形態においては4つ)のTAG_CPメモリ制御部41−1〜41−4と、コマンド制御部43と、リクエスト制御部44と、アドレスロックレジスタ部45と、レジスタ部46とを備える。
コマンド制御部43は、CPU3から受信したリクエスト(コマンド)を保持するとともに、リクエストをTAG_CPメモリ制御部41−1〜41−4及びアドレスロックレジスタ部45へ転送するための制御を行なう。
また、コマンド制御部43は、CPU3から受信したリクエストについてSC4内で処理が完了するまでは、当該リクエストを保持する。つまり、コマンド制御部43は、リクエストの要求先であるTAG_CPメモリ制御部41において、リクエストが処理中の場合や、リクエストが処理されなかった場合には、当該リクエストを保持する。
さらに、第1実施形態においては、コマンド制御部43は、CPU3から受信したリクエストが要求先のTAG_CPメモリ制御部41において処理されなかった場合、保持しているリクエストを再発行する。
なお、コマンド制御部43は、TAG_CPメモリ制御部41における処理が完了すると、キュー43aから該当するリクエストを削除する。
TAG_CPメモリ制御部41−1〜41−4は、TAG_CPメモリ42−1〜42−4にそれぞれ対応して備えられ、コマンド制御部43から転送されるリクエストに係る処理を実行する。なお、以下の説明においてTAG_CPメモリ制御部41−1〜41−4を区別しない場合には、単にTAG_CPメモリ制御部41という。
具体的には、TAG_CPメモリ制御部41は、コマンド制御部43から転送されるリクエストに含まれるメモリ5の実アドレス(PA;Physical Address)から、キャッシュラインを特定するインデックス及びWAYを特定するエントリアドレス(以下、登録アドレスという)を抽出する。そして、TAG_CPメモリ制御部41は、対応するTAG_CPメモリ42−1〜42−4内から、抽出したインデックス及び登録アドレスに対応するキャッシュタグデータを検索する。
なお、検索によりリクエストに係るキャッシュタグデータがTAG_CPメモリ42内でヒット又はミスヒットした場合、その後の処理の内容は、リクエストの内容とキャッシュタグデータのステータスとに応じて決定される。これらの処理の内容の決定は、既知の種々の手法に実現することができるため、ここではその詳細な説明は省略する。
また、TAG_CPメモリ制御部41は、TAG_CPメモリ42でCE又はUEが検出された場合、リクエスト制御部44に対して、被疑箇所の通知(TAG_CPエラー通知)を行なう。
リクエスト制御部44は、TAG_CPメモリ42から読み出されたデータがCE又はUEを起こした場合に、CE又はUEが発生したTAG_CPメモリ42のWAY情報をCPU3に通知する。
具体的には、リクエスト制御部44は、TAG_CPメモリ42でCE又はUEが検出され、TAG_CPメモリ42からTAG_CPエラー通知を受けると、被疑箇所のインデックス及びWAY情報を含むCE通知リクエスト又はUE通知リクエストをCPU3に発行する。CE又はUE通知リクエストが通知されたCPU3は、当該リクエストに基づいて、CE又はUEが発生したTAG_CPメモリ42のWAYに対応するTAGメモリ32のWAYについて縮退処理を行ない、縮退処理完了通知をリクエスト制御部44へ通知する。
また、リクエスト制御部44は、TAG_CPメモリ42からUEが検出されたTAG_CPエラー通知を受けると、コマンド制御部43に対して、UE検出リクエストの保留指示を通知する。コマンド制御部43は、リクエスト制御部44から保留指示が通知されると、UE検出リクエストを保留状態として保持する。
さらに、リクエスト制御部44は、CE又はUEが発生した場合に、CE又はUEが発生したTAG_CPメモリ42のWAYを縮退させる。また、リクエスト制御部44は、UEが発生した場合に、CPU3からTAGメモリ32の縮退処理完了通知を受信した後、コマンド制御部43にUE検出リクエストを再発行させる指示を行なう。
具体的には、リクエスト制御部44は、TAG_CPメモリ42からTAG_CPエラー通知を受けると、レジスタ部46に対して、CE又はUEが検出されたTAG_CPメモリ42のWAYの縮退設定を行なう。
また、リクエスト制御部44は、UEが発生した場合に、CPU3から縮退処理完了通知を受信すると、コマンド制御部43に対して、UE検出リクエストの処理再開(再発行)の指示を通知する。コマンド制御部43は、リクエスト制御部44からUE検出リクエストの処理再開の指示が通知されると、UE検出リクエストの保留状態を解除して当該リクエストの処理を再開(当該リクエストを再発行)する。
さらに、リクエスト制御部44は、CE又はUEが発生したTAG_CPメモリ42のWAYを縮退させた後、運用管理部6に対して、CE又はUEに関するエラー情報を割り込み通知する。割り込み通知を受けた運用管理部6は、リクエスト制御部44から通知されたエラー情報に基づいて、運用管理部6が管理する制御情報に対して、縮退させたWAYに関する情報を故障情報として保持する。なお、故障情報には、被疑箇所に対応したCPU3の情報及びWAY情報が含まれる。
また、運用管理部6は、情報処理システム1で実行中のOSが再起動した場合に、保持している故障情報に基づいて、TAGメモリ32及びTAG_CPメモリ42の当該WAYを縮退させる。
なお、リクエスト制御部44は、運用管理部6に対して割り込み通知するCE又はUEに関するエラー情報に、縮退させたWAYに関する情報を含めても良いし、含めなくても良い。リクエスト制御部44がエラー情報に縮退させたWAYに関する情報を含めない場合、運用管理部6は、リクエスト制御部44からのエラー情報の割り込み通知を受信すると、レジスタ部46から被疑箇所に対応したCPU3の情報及びWAY情報を取得し、保持するようにしても良い。
レジスタ部46は、使用可能なTAG_CPメモリ42−1〜42−4のWAYを示す構成情報を保持する。
構成情報には、TAG_CPメモリ42−1〜42−4のWAY毎に、有効又は無効の状態が含まれ、リクエスト制御部44からの設定変更要求に応じて、レジスタ部46により有効又は無効の状態が設定される。
有効又は無効の状態は、例えば有効を示す“0”及び無効を示す“1”のビットを用いた縮退フラグによって表すことができる。
換言すれば、レジスタ部46は、TAG_CPメモリ42−1〜42−4のWAYを縮退することを示す縮退フラグを保持するといえる。
すなわち、リクエスト制御部44は、レジスタ部46に対して、CE又はUEが発生したTAG_CPメモリ42のWAYに係る縮退フラグを設定することにより、当該WAYを縮退させる。
なお、図示を省略しているが、CPU3−1〜3−4も、使用可能なTAGメモリ32−1〜32−4のWAYを示す構成情報を保持するレジスタ部を備える。
従って、CPU3によるTAGメモリ32のWAYの縮退処理も、リクエスト制御部44による縮退処理と同様に、対応するTAGメモリ32のWAYに係る縮退フラグがCPU3によってレジスタ部に設定されることにより行なわれる。
アドレスロックレジスタ部45は、ロックレジスタ45aを備え、SC4内で処理中のリクエスト内のアドレス情報をロックレジスタ45aに保持する。
具体的には、アドレスロックレジスタ部45は、コマンド制御部43から転送されるリクエスト内の実アドレスから全てのアドレス(フルアドレス)とインデックスとを抽出し、抽出したフルアドレス、つまりSC4内で処理中のリクエストに係るフルアドレスをロックレジスタ45aに保持する。
また、アドレスロックレジスタ部45は、後発リクエスト内の実アドレスにおけるフルアドレスが、ロックレジスタ45aに保持されたリクエスト内の実アドレスにおけるフルアドレスと一致した場合、当該後発リクエストに係るフルアドレスがビジー状態である旨(フルアドレスビジー)をコマンド制御部43に通知する。コマンド制御部43では、フルアドレスビジーが通知されると、後発リクエストを再度TAG_CPメモリ制御部41及びアドレスロックレジスタ部45へそれぞれ転送し、後発リクエストを再発行(リトライ)する。
このように、アドレスロックレジスタ部45は、コマンド制御部43から転送される後発リクエストに係る処理をキャンセル及びリトライさせて、処理中のリクエストと競合しないようにガード(ロック)するガード(ロック)機能を備える。
また、アドレスロックレジスタ部45は、SC4内で処理中のリクエストに係る処理が完了した場合、ロックレジスタ45aから当該リクエストに係るアドレス情報を削除し、当該リクエストのロックを解除する。
さらに、第1実施形態におけるアドレスロックレジスタ部45は、上述した処理に加えて、UEが発生した際には、CPU3及びSC4における被疑箇所の縮退処理が完了するまで、UE検出リクエストにおける被疑箇所のフルアドレスをロックレジスタ45aに保持する。そして、後発リクエスト内の実アドレスにおけるフルアドレスが、ロックレジスタ45aに保持された被疑箇所のフルアドレスと一致した場合、アドレスロックレジスタ部45は、後発リクエストのフルアドレスビジーをコマンド制御部43に通知する。
すなわち、アドレスロックレジスタ部45は、CPU3からTAGメモリ32の縮退処理完了通知を受信するとともに、リクエスト制御部44がTAG_CPメモリ42のUEが発生したWAYを縮退させるまでは、他のリクエストによる当該UEが発生したTAG_CPメモリ42へのアクセスを抑止する。
つまり、第1実施形態におけるアドレスロックレジスタ部45は、UE検出リクエストによりUEが検出された場合、当該UE検出リクエスト内のアドレス情報をロックレジスタ45aに保持してロックし、CPU3からの縮退処理完了通知を受信した場合に、当該リクエストのロックを解除する。
これにより、他のリクエストによってUE検出リクエストにおけるフルアドレスが参照されないように、被疑箇所をガードすることができる。
なお、アドレスロックレジスタ部45は、UE検出リクエストのアドレスがロックレジスタ45aに保持されている場合、同一インデックスであって且つフルアドレスが不一致のときには、被疑箇所と同一インデックスの領域についてもガードすることができる。これにより、UE発生後の縮退処理中に、後発リクエストによるTAG_CPメモリ42の被疑箇所と同一インデックスの領域への参照を抑止することができる。このため、アドレスロックレジスタ部45は、アドレス比較のビット幅を可変にできるように構成されることが好ましい。
このように、第1実施形態におけるアドレスロックレジスタ部45は、ガード機能により、処理中のリクエストと競合しないように後発リクエストに係る処理をガードするとともに、UEが発生した場合に被疑箇所をガードすることができる。
〔1−3〕第1実施形態の情報処理システムのUE発生時の動作
次に、上述の如く構成された情報処理システム1におけるSC4のTAG_CPメモリ42でUEが発生した場合の縮退処理について説明する。
図3は、第1実施形態の一例としてのSC4内のTAG_CPメモリ42−2でUEが発生した場合の縮退範囲を示す図であり、図4は、第1実施形態の一例としてのSC4内のTAG_CPメモリ42−2でUEが発生した場合の縮退処理を説明するためのフローチャートである。
はじめに、図3及び図4に示すように、システムの運用中、TAG_CPメモリ42−2でUEが検出された場合(ステップS1)、SC4内のTAG_CPメモリ制御部41により、リクエスト制御部44に対してTAG_CPエラー通知が行なわれる。
TAG_CPエラー通知が入力されると、リクエスト制御部44により、コマンド制御部43に対してUE検出リクエストの保留指示が通知される(ステップS2)。コマンド制御部43では、保留指示の通知を受けて、UE検出リクエストが保留状態として保持される。
次いで、リクエスト制御部44により、UEが検出されたTAG_CPメモリ42−2に対応するCPU3−2に対して、UEが検出された被疑箇所のインデックス及びWAY情報を含むUE通知リクエストが通知される(ステップS3)。
CPU3−2では、受信したUE通知リクエストに基づいて、被疑箇所に対応するCM31−2のWAYの全エントリがメモリ5に退避され、当該WAYの縮退処理が行なわれる(ステップS4,図3中、TAGメモリ32−2の「縮退範囲」参照)。具体的には、CPU3により、CPU3内のレジスタ部に対して被疑箇所に対応したWAYを無効にする設定変更要求が出力され、レジスタ部では、構成情報において被疑箇所に対応したWAYに縮退フラグが設定され、当該WAYが無効にされる。その後、CPU3−2からリクエスト処理部44に対して、縮退処理完了通知が送信される(ステップS5)。
また、リクエスト制御部44では、SC4内で被疑箇所に対応したWAYの縮退処理が行なわれる(ステップS6,図3中、TAG_CPメモリ42−2の「縮退範囲」参照)。具体的には、リクエスト処理部44により、レジスタ部46に対して被疑箇所に対応したWAYを無効にする設定変更要求が出力され、レジスタ部46では、構成情報において被疑箇所に対応したWAYに縮退フラグが設定され、当該WAYが無効にされる。
なお、上述したCPU3−2及びTAG_CPメモリ42−2の縮退処理が完了するまで、アドレスロックレジスタ部45により、他のリクエストによって被疑箇所が参照されないように、被疑箇所がガードされる。これにより、UEの多重発生を防ぐことができる。なお、縮退処理完了通知が入力されると、アドレスロックレジスタ部45により、ロックレジスタ45aに保持されたUE検出リクエストに係るアドレス情報が削除され、当該リクエストのロックが解除される。
上述したCPU3−2及びTAG_CPメモリ42−2の縮退処理の完了後、リクエスト処理部44により、コマンド制御部43に対して、保留状態であったUE検出リクエストの処理再開の指示が通知される(ステップS7)。コマンド制御部43では、処理再開指示の通知を受けて、UE検出リクエストに係る処理が再開される。
また、リクエスト制御部44により、運用管理部6に対して、UEに関するエラー情報が割り込み通知される(ステップS8)。
割り込み通知が入力されると、運用管理部6のファームウェアにより、運用管理部6が管理する制御情報に対して、縮退させたWAYに関する情報が、故障情報として記録される(ステップS9)。
そして、情報処理システム1による運用が継続される(ステップS10)。
上述の処理により、CPU3及びSC4において、被疑箇所に対応したWAYの縮退処理が動的に行なわれるため、TAG_CPメモリ42においてUEが発生した場合でも、運用の停止を回避することができる。
上述のように、第1実施形態の一例としての情報処理システム1によれば、SC4のリクエスト制御部44により、TAG_CPメモリ42でUEが発生した場合に、UE通知リクエストがCPU3に通知される。そして、CPU3により、受信したUE通知リクエストに基づいてUEが発生したWAYに対応したWAYの縮退処理が行なわれる。また、リクエスト制御部44により、TAG_CPメモリ42のUEが発生したWAYの縮退処理が行なわれる。
これにより、情報処理システム1は、上述した図10及び図11等に例示するようなTAG_CPメモリ420にCEが発生した場合と同様に、UEが検出されたWAYに対応する、CPU3内のTAGメモリ32のWAY及びSC4内のTAG_CPメモリ42のWAYを動的に縮退することができる。
従って、システムの継続運用が可能になり、情報処理システム1の可用性の向上を実現することができる。
また、UE検出に伴う縮退処理をWAY単位で行なうことができるため、上述した図12及び図13等に例示するような、UEが発生した場合にCPU300単位及びSC400のTAG_CPメモリ420単位で縮退を行なう従来の手法と比較して、縮退範囲をより限定することができる。
さらに、TAG_CPメモリ42内の被疑箇所に対応するWAYの縮退処理に加えて、CPU3のTAGメモリ32内の被疑箇所に対応するWAYの縮退処理も行なわれる。
従って、CPU3側の縮退処理完了後は、当該CPU3から被疑箇所へのリクエストが発行されないため、CPU3の処理負担を抑えることができ、UEが発生した際の情報処理システム1の大幅な性能の低下を抑止することができる。
さらに、TAG_CPメモリ42−1〜42−4は、CPU3−1〜3−4内のTAGメモリ32−1〜32−4と一対一に対応する。従って、TAG_CPメモリ42の一部(WAY)が縮退しても、CPU3は被疑箇所に対応するCPU3以外の他のCPU3へのアクセスを行なうことができるため、CPU3からのリクエスト発行のリトライによる性能低下を防ぐことができる。
また、第1実施形態の一例としての情報処理システム1によれば、SC4のリクエスト制御部44により、CPU3からTAGメモリ32の縮退処理完了通知を受信した後に、コマンド制御部43にUE検出リクエストを再発行させる指示が行なわれる。
これにより、縮退処理の完了後にコマンド制御部43によってUE検出リクエストが再発行されるため、UE検出リクエストを発行したCPU3は、要求先において処理されなかったUE検出リクエストのリトライを行なわずに済む。
従って、UE検出リクエストに係る縮退処理に伴うCPU3の処理負担を抑えることができ、UEが発生した際の情報処理システム1の性能の低下を抑止することができる。
さらに、第1実施形態の一例としての情報処理システム1によれば、アドレスロックレジスタ部45により、CPU3及びSC4において被疑箇所に対応するWAYが縮退されるまでは、他のリクエストによる被疑箇所へのアクセスが抑止される。
これにより、UE検出リクエスト及び被疑箇所への後発リクエストのような、要求元において処理されなかったリクエストが、コマンド制御部43によって再発行される。
従って、他のリクエストによってUEが検出されたキャッシュタグデータが参照されないように、被疑箇所をガードすることができ、キャッシュコヒーレンシを保つことができる。つまり、上述した図13に例示するようなUEが発生したTAG_CPメモリ42に対応するCPU3自体の縮退のためのOS再起動が不要となるため、システムの継続運用が可能になり、情報処理システム1の可用性の向上を実現することができる。
また、アドレスロックレジスタ部45によるUE発生被疑箇所のガードは、後発リクエストが、処理中のリクエストと競合しないようにガードするガード機能を利用して実現される。
さらに、第1実施形態の一例としての情報処理システム1によれば、アドレスロックレジスタ部45により、UE検出リクエストのアドレスがロックレジスタ45aに保持されている場合、同一インデックスであって且つフルアドレスが不一致のときには、被疑箇所と同一インデックスの領域についてもガードされる。なお、この場合、アドレスロックレジスタ部45は、アドレス比較のビット幅を可変にできるように構成される。
これにより、UE発生後の縮退処理中に、後発リクエストによるTAG_CPメモリ42の被疑箇所と同一インデックスの領域への参照を抑止することができる。
従って、上述したアドレスロックレジスタ部45のガード機能による後発リクエストのリトライ条件に、UE検出リクエスト内の実アドレスにおけるフルアドレス又はインデックスと一致した場合を加えることによって、被疑箇所のガードを実現することができ、新たな回路を設けずに済むため、情報処理システム1の製造及び保守コストを減少させることができる。
さらに、第1実施形態の一例としての情報処理システム1によれば、レジスタ部46により、TAG_CPメモリ42のWAYを縮退することを示す縮退フラグが保持される。
これにより、TAG_CPメモリ42内に縮退フラグを備える構成と比較して、例えばアドレスライン系で故障が発生した場合でも、リクエスト処理部44は、確実に縮退フラグの設定を行なうことができ、UEの縮退処理を確実に行なうことができる。
〔2〕第2実施形態
〔2−1〕第2実施形態の構成
次に、図5〜図9を参照しながら、第2実施形態としての情報処理システム(情報処理装置)1′の構成について説明する。なお、図5において既述の符号と同一の符号は同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
図5は、第2実施形態の一例としての情報処理システム1′の構成を示す図である。
図5に示すように、第2実施形態における情報処理システム1′は、複数(図5に示す例では16個)のSB2と、運用管理部6と、複数(図5に示す例では4つ)のクロスバー(Cross Bar;以下、XBという)9とを備える。
そして、情報処理システム1′は、これら複数のSB2の全て若しくは一部を使用したSMPサーバシステムとして機能する。
XB9は、複数のSB2間でのデータ転送機能を有するLSIであり、クロスバーユニット(Cross Bar Unit;図5中、XBUと表記)8に実装される。
運用管理部6は、第1実施形態と同様の構成であり、情報処理システム1′全体、つまり各SB2内のCPU3及びSC4を制御するファームウェアを搭載する。また、運用管理部6は、運用管理部6が管理する制御情報において、各SB2における縮退されたCPU3の情報及びWAY情報を故障情報として保持する。
また、情報処理システム1′は、第1実施形態と同様に、各SB2内のSC4からアクセス可能な記憶部(図示省略)を備えても良い。
第2実施形態におけるSC4は、第1実施形態と同様に、自SB2内のCPU3から発行されたリクエストに係る処理を実行することができる。また、第2実施形態におけるSC4は、複数のSB2間における通信のインターフェース機能を備え、他のSB2内のCPU3により、XB9を経由して自SB2内へのリクエストが発行された場合、当該リクエストに係る処理を実行することができる。
なお、第2実施形態においては、CM31のキャッシュラインが256バイト(Byte)でありWAYが12である場合について例示する。
以下、第2実施形態におけるTAG_CPメモリ42の構成について説明する。
図6は、第2実施形態の一例としてのメモリ5のアドレスマップを示す図であり、図7は、第2実施形態の一例としてのTAG_CPメモリ42の構成を示す図である。なお、図7に示す例においては、各WAYのテーブルにおける1行が、1つのキャッシュタグデータに対応する。
図6に示すように、第2実施形態におけるメモリ5は、キャッシュライン(256バイト)単位(ブロック)でSC4により管理される。
第2実施形態におけるSC4内のTAG_CPメモリ42は、キャッシュタグデータを、図7に示す形態で管理する。
すなわち、TAG_CPメモリ42では、メモリ5の実アドレス(PA)のうちの41:19ビットがキャッシュタグデータの登録アドレスとして格納される。
また、TAG_CPメモリ42では、キャッシュのステータス(STS;Status)の7:0ビットが、キャッシュタグデータに格納される。
さらに、TAG_CPメモリ42では、キャッシュタグデータのエラー訂正符号(ECC)が、7ビットのデータとしてキャッシュタグデータに付加される。
そして、上述した登録アドレス及びステータスを格納するTAG_CPメモリ42のアドレスには、メモリ5の実アドレスの一部であるインデックスが使用される。
なお、第2実施形態においては、キャッシュラインを示すインデックスが11ビットであり、キャッシュライン数が2048である場合について例示する。すなわち、図7に示す例においては、メモリ5の実アドレスのうちの18:8ビットがインデックスアドレスに割り当てられる。
従って、図6に示すメモリ5のアドレスマップにおいて、同じインデックスになるブロック(例えばA0及びB0)は、図7に示すように同じインデックスアドレスに割り当てられる。また、これら同じインデックスになるブロックは、順にWAY0、WAY1…WAY11に格納される。
なお、キャッシュタグデータにおけるステータスは、例えばMOSIプロトコルにおける4状態で表される。MOSIプロトコルとは、M(Modified;変更)、O(Owned;所有)、S(Shared;共有)、及びI(Invalid;無効)の4つのキャッシュステータスを採用するプロトコルである。
また、SC4は、TAG_CPメモリ42においてCE又はUEが検出された場合、第1実施形態と同様の動作を行なうが、図8を参照しながら、より具体的な構成例について説明する。なお、図8において既述の符号と同一の符号は同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
図8は、第2実施形態の一例としてのSC4の構成を示す図である。
図8に例示するSC4は、第1実施形態におけるSC4に加えて、パイプ部47と、第1I/F(Interface)部48と、第2I/F部49とをさらに備える。
また、図8に例示するSC4は、第1実施形態におけるSC4に加えて、TAG_CPメモリ制御部41が比較器41aを備え、リクエスト制御部44がアドレス競合検査部45bを備え、レジスタ部46がレジスタ設定変更部46a及び構成制御レジスタ46bを備える。
さらに、図8に例示するSC4内のコマンド制御部43は、CPU3から受信したリクエストを保持するキュー43aを備え、キュー43a内のリクエストを、パイプ部47へ順に転送するとともに、パイプ部47経由でTAG_CPメモリ制御部41及びアドレスロックレジスタ部45へ順に転送するための制御を行なう。また、コマンド制御部43は、転送したリクエストに係る処理が完了するまでは、当該リクエストを保持する。また、保持するリクエストの再発行(リトライ)の指示を受けると、コマンド制御部43は、再発行の指示に係るリクエストを、再度キュー43aに登録し再発行を行なう。
図8に示すように、パイプ部47は、複数のラッチ回路47a−1〜47a−n及び47b−1〜47b−o(図8中、m、n及びoはそれぞれ備えられるラッチ回路の数,なお、m<nである)と、結果確定部47cとを備える。
パイプ部47は、コマンド制御部43からのリクエストをラッチ回路47a−1に入力するとともに、当該リクエストを、ラッチ回路47a−1からラッチ回路47a−2並びにTAG_CPメモリ制御部41及びアドレスロックレジスタ部45に対してそれぞれ出力する。
ラッチ回路47a−2に入力されたリクエストは、TAG_CPメモリ制御部41における検索処理との待ち合わせのため、ラッチ回路47a−2〜47a−nを順に通過して、結果確定部47cに出力される。
一方、TAG_CPメモリ制御部41及びアドレスロックレジスタ部45に入力されたリクエストは、TAG_CPメモリ制御部41において検索処理が行なわれ、キャッシュ検索結果としてラッチ回路47b−1に出力される。キャッシュ検索結果は、ラッチ回路47b−1〜47b−oを順に通過して、結果確定部47cに出力される。
結果確定部47cは、ラッチ回路47a−1〜47a−nを通過したリクエストと、ラッチ回路47b−1〜47b−oを通過したキャッシュ検索結果とに基づいて、リクエストの転送先を確定し、第1I/F部48に出力する。
第1I/F部48は、パイプ部47の結果確定部47cから出力されたリクエストを、結果確定部47cによって確定された転送先、例えば自SB2内のCPU3やメモリ5、又はXB9を経由して他のSB2内のSC4等へ送信する。
なお、図8に示す例においては、第1I/F部48は、CPU3又はメモリ5に対してリクエストを送信するが、例えば、CPUI/F部及びメモリI/F部のように機能を分割しても良い。
ここで、ラッチ回路47a−1〜47a−n及び47b−1〜47b−o並びに後述するラッチ回路40aは、例えばそれぞれがフリップフロップ(Flip-Flop)である。これらのラッチ回路47a−1〜47a−n及び47b−1〜47b−oにより、リクエストとキャッシュ検索結果とが結果確定部47cに入力されるタイミングの調整が行なわれる。
TAG_CPメモリ制御部41−1〜41−4は、コマンド制御部43からのリクエストを入力されると、第1実施形態と同様に、当該リクエストに含まれるメモリ5の実アドレスから、インデックス及び登録アドレスを抽出する。そして、TAG_CPメモリ制御部41−1〜41−4は、それぞれのTAG_CPメモリ42−1〜42−4内から、抽出したインデックス及び登録アドレスに対応するキャッシュタグデータを検索する。
なお、第2実施形態においては、上述の如く、インデックスはメモリ5の実アドレスのうちの18:8ビットであり、登録アドレスはメモリ5の実アドレスのうちの41:19ビットである。
具体的には、図8に示すように、TAG_CPメモリ制御部41は、リクエストから抽出したインデックスに基づいて、TAG_CPメモリ42から同じインデックスの登録アドレスを抽出する。そして、TAG_CPメモリ制御部41は、リクエストから抽出した登録アドレス(図8中、上位PA[41:19]参照)と、TAG_CPメモリ42から抽出した登録アドレスとを比較器41aで比較し、一致するか否かを判定する。
一致した場合、つまりリクエストに係るキャッシュタグデータがTAG_CPメモリ42内でヒットした場合には、TAG_CPメモリ制御部41は、TAG_CPメモリ42から抽出した一致した登録アドレスが含まれるキャッシュタグデータを参照する。
なお、検索によりリクエストに係るキャッシュタグデータがTAG_CPメモリ42内でヒット又はミスヒットした場合、その後の処理の内容は、リクエストの内容とキャッシュタグデータのステータスとに応じて決定される。これらの処理の内容の決定は、既知の種々の手法に実現することができるため、ここではその詳細な説明は省略する。
リクエスト制御部44は、第1実施形態と同様の動作を行なう。
なお、図8に示す例においては、リクエスト制御部44は、TAG_CPメモリ42においてUEが発生した場合、UEが発生したTAG_CPメモリ42のWAYの縮退処理を行なうため、レジスタ設定変更部46aに対して設定変更要求を通知する。
レジスタ設定変更部46aは、構成情報が保持されている構成制御レジスタ46bに対して、設定変更要求に基づいた縮退フラグの設定を行なう。
また、リクエスト制御部44は、UEが発生した場合、SC4と運用管理部6との間のインターフェース機能を備える第2I/F部49に対して、エラー情報の割り込み通知を出力する。第2I/F部49は、割り込み通知が入力されると運用管理部6に対して当該割り込み通知を出力する。
また、SC4は、例えばCE又はUEが発生した場合に、CE又はUEが発生したTAG_CPメモリ42において稼動しているWAY数が所定の数(例えば1)以下である場合には、CE又はUEが発生したTAG_CPメモリ42及び対応するCPU3自体の縮退を行なっても良い。
つまり、TAG_CPメモリ42にCE又はUEが発生し、且つCE又はUEが発生したTAG_CPメモリ42のWAYの稼動数が所定の数以下の場合、CE又はUEが発生したWAYの縮退処理を行なうと、当該TAG_CPメモリ42において稼動するWAYが無くなる。そこで、第2実施形態においては、リクエスト制御部44は、CE又はUEが発生したTAG_CPメモリ42のWAYの稼動数が所定の数以下の場合、CE又はUEが発生したTAG_CPメモリ42全体を縮退するとともに、当該TAG_CPメモリ42に対応するCPU3自体を縮退させる。
なお、この場合の縮退処理は、上述した図13に例示する手法により行なうことができる。また、リクエスト制御部44は、CE又はUEが発生した場合に、構成制御レジスタ46bに設定された縮退フラグ等の設定情報を読み込むことで、CE又はUEが発生したTAG_CPメモリ42において稼働しているWAY数を把握することができる。
また、リクエスト制御部44は、CEが発生した回数をカウントし、CEの発生回数が所定の閾値よりも大きい場合に、CE検出リクエストをCPU3に通知しても良い。
運用管理部6は、例えば情報処理システム1′で実行中のOSの再起動によってCPU3及びSC4内の縮退状態がリセットされた場合に、運用管理部6内に格納された故障情報に基づいて、被疑箇所に対応するWAYを再度縮退させる。その際、運用管理部6は、第2I/F部59を介して、レジスタ設定変更部46aに対し、故障情報に基づいて設定変更要求を通知する。
レジスタ設定変更部46aは、リクエスト制御部44からの設定変更要求と同様に、構成情報が保持されている構成制御レジスタ46bに対して、設定変更要求に基づいた縮退フラグの設定を行なう。
なお、第2実施形態におけるCPU3においても、構成制御レジスタ(図示省略)が備えられており、運用管理部6は、CPU3が備える構成制御レジスタに対しても、設定変更を行なうことができる。
アドレスロックレジスタ部45は、コマンド制御部43からのリクエストを入力されると、第1実施形態と同様に、当該リクエスト内のアドレス情報をロックレジスタ45aに保持する。
具体的には、図8に示すように、アドレスロックレジスタ部45は、コマンド制御部43から転送されるリクエスト内の実アドレスからフルアドレス(例えば、第2実施形態においては41:3ビット)とインデックスとを抽出し、抽出したフルアドレスをロックレジスタ45aに保持する。
また、アドレスロックレジスタ部45は、処理中のリクエスト内の実アドレスにおけるフルアドレスと、ロックレジスタ45aに保持されたリクエスト内の実アドレスにおけるフルアドレスとを比較する、アドレス競合検査部45bを備える。
なお、アドレス競合検査部45bは、図8に示す例においては、リクエスト制御部44内に備えられているが、アドレスロックレジスタ部45と結線されており、アドレスロックレジスタ部45の一機能として動作する。なお、アドレス競合検査部45bは、アドレスロックレジスタ部45内に備えられても良い。
アドレス競合検査部45bは、比較器45baを備え、後発リクエスト内の実アドレスにおけるフルアドレスが、ラッチ回路40aに入力されたタイミングで、ラッチ回路40aから比較器45baのPA[41:3]に入力される。また、ロックレジスタ45aに保持されたリクエスト内の実アドレスにおけるフルアドレスが、ロックレジスタ45a(図8中、アドレスロックレジスタ部45内のREG_ADRS[41:3])から比較器45baのREG_ADRS[41:3]に入力される。
そして、アドレス競合検査部45bにおいて、比較器45baにより、入力された二つのフルアドレスが一致したと判定された場合には、比較器45baは、当該後発リクエストに係るフルアドレスがビジー状態である旨(フルアドレスビジー)をコマンド制御部43に通知する。
このように、第2実施形態におけるアドレスロックレジスタ部45は、第1実施形態と同様に、コマンド制御部43から転送される後発リクエストに係る処理をキャンセル及びリトライさせて、処理中のリクエストと競合しないようにガードするガード機能を備える。
また、アドレスロックレジスタ部45は、第1実施形態と同様に、上述した処理に加えて、UEが発生した際には、CPU3及びSC4による被疑箇所の縮退処理が完了するまで、UE検出リクエストにおける被疑箇所のフルアドレスをロックレジスタ45aに保持する。
これにより、アドレス競合検査部45bは、後発リクエストに係るフルアドレス(PA[41:3])とUE検出リクエストにおける被疑箇所のフルアドレス(REG_ADRS[41:3])とが一致した場合、第1実施形態と同様に、後発リクエストのフルアドレスビジーをコマンド制御部43に通知する。
すなわち、アドレスロックレジスタ部45は、CPU3からTAGメモリ32の縮退処理完了通知を受信するとともに、リクエスト制御部44がTAG_CPメモリ42のUEが発生したWAYを縮退させるまでは、他のリクエストによる当該UEが発生したTAG_CPメモリ42へのアクセスを抑止する。
このように、第2実施形態におけるアドレスロックレジスタ部45は、第1実施形態と同様に、ガード機能により、処理中のリクエストと競合しないように後発リクエストに係る処理をガードするとともに、UEが発生した場合に被疑箇所をガードすることができる。
なお、図8に示す例においては、パイプ部47の結果確定部47cと、第1I/F部48との間から、各TAG_CPメモリ制御部41及びアドレスロックレジスタ部45へステータス更新用のラインが設けられている。これにより、リクエストが結果確定部47cから出力された段階で、各TAG_CPメモリ制御部41におけるステータスの更新及びアドレスロックレジスタ部45におけるロックの制御が行なわれる。
つまり、アドレスロックレジスタ部45は、UEが発生した場合に、結果確定部47cからステータス更新用のラインを介してロックの維持を示す情報を入力され、ロックレジスタ45aにおいてUE検出リクエストに係るロックを維持することができる。
〔2−2〕第2実施形態の情報処理システムのCE又はUE発生時の動作
次に、上述の如く構成された情報処理システム1′におけるSC4のTAG_CPメモリ42でCE又はUEが発生した場合の縮退処理について説明する。
図9は、第2実施形態の一例としてのSC4内のTAG_CPメモリ42−2でCE又はUEが発生した場合の縮退処理を説明するためのフローチャートである。
はじめに、図9に示すように、システムの運用中、TAG_CPメモリ42−2でエラーが発生し、TAG_CPメモリ制御部41−2によって検出された場合(ステップS11)、SC4により、検出されたエラーがCEであるか否かが判断される(ステップS12)。
検出されたエラーがCEであると判断された場合(ステップS12のYesルート)、リクエスト制御部44により、CEの発生数が所定の閾値より大きいか否かが判断される(ステップS13)。
CE発生数が所定の閾値以下であると判断された場合(ステップS13のNoルート)、リクエスト制御部44により、CE発生数をカウントするカウンタの値がインクリメントされ、情報処理システム1′の運用に戻る。
一方、CE発生数が所定の閾値より大きいと判断された場合(ステップS13のYesルート)、リクエスト制御部44により、CEが発生したTAG_CPメモリ42−2において稼動しているWAY数が所定の数(ここでは1)以下か否かが判断される(ステップS14)。
稼動しているWAY数が1よりも大きいと判断された場合(ステップS14のNoルート)、リクエスト制御部44からCEが発生したTAG_CPメモリ42−2に対応するCPU3−2に対して、CE通知リクエストが通知される(ステップS15)。なお、このリクエストには、ECCにより訂正された被疑箇所のインデックスと、WAY情報とが含まれる。
CPU3−2では、被疑箇所の情報の通知により、CEが発生したTAGメモリ32−2内のWAYのキャッシュデータがメモリに掃き出されるとともに、CEが発生したTAGメモリ32−2のWAYに対して縮退処理が行なわれる(ステップS16)。そして、CPU3−2により、SC4へ縮退処理完了の通知が行なわれる(ステップS17)。
縮退処理完了通知を受けたリクエスト制御部44では、CEが発生したTAG_CPメモリ42−2のWAYに対して縮退処理が行なわれる(ステップS18)。そして、リクエスト制御部44により、運用管理部6に対して、CEに関するエラー情報が通知され(ステップS19)、運用管理部6の制御情報に故障情報が記録される(ステップS20)。その後、情報処理システム1′では、運用が継続される(ステップS21)。
一方、ステップS14において、リクエスト制御部44により、稼動しているWAY数が1以下と判断された場合(ステップS14のYesルート)、リクエスト制御部44から運用管理部6に対して、CEが発生し、CPU3−2の縮退処理を行なうことが割り込みで通知される(ステップS22)。
割り込み通知後、運用管理部6では、自身で管理する制御情報に、被疑対象のTAG_CPメモリ42−2に対応したTAGメモリ32を有するCPU3−2を示す情報とWAY情報とが故障情報として記録される(ステップS23)。そして、運用管理部6により、情報処理システム1′で実行中のOSが再起動される(ステップS24)。
OSの再起動後、運用管理部6により、制御情報の故障情報が読み込まれ(ステップS25)、故障情報に記録されているCPU3−2は、立ち上げ処理が行なわれず、他の正常なCPU3−1、3−3及び3−4についてのみ立ち上げ処理が行なわれる。つまり、運用管理部6により、被疑箇所に対応するCPU3−2が縮退処理される(ステップS26)。その後、情報処理システム1′では、運用が再開される(ステップS27)。
一方、ステップS12において、検出されたエラーがCEではない、つまりUEであると判断された場合(ステップS12のNoルート)、リクエスト制御部44により、UEが発生したTAG_CPメモリ42−2において稼動しているWAY数が所定の数(ここでは1)以下か否かが判断される(ステップS28)。
稼動しているWAY数が1よりも大きいと判断された場合(ステップS28のNoルート)、図4を用いて上述したステップS2〜S10の処理が行なわれる(ステップS29)。
すなわち、TAG_CPメモリ制御部41からリクエスト制御部44にTAG_CPエラー通知が通知され、リクエスト制御部44により、コマンド制御部43に対してUE検出リクエストの保留指示が通知される(ステップS2)。そして、コマンド制御部43内でUE検出リクエストが保留状態として保持される。
次いで、リクエスト制御部44により、UEが検出されたTAG_CPメモリ42−2に対応するCPU3−2に対して、UE通知リクエストが通知される(ステップS3)。
CPU3−2では、被疑箇所に対応するCM31−2のWAYの縮退処理が行なわれ(ステップS4)、リクエスト処理部44に対して、縮退処理完了通知が送信される(ステップS5)。
また、リクエスト制御部44により、SC4内で被疑箇所に対応したWAYの縮退処理が行なわれる(ステップS6)。
CPU3−2から縮退処理完了通知が通知され、UEが検出されたTAG_CPメモリ42−2のWAYの縮退処理の完了後、リクエスト処理部44により、コマンド制御部43に対してUE検出リクエストの処理再開の指示が通知される(ステップS7)。コマンド制御部43内では、UE検出リクエストに係る処理が再開(再発行)される。
そして、リクエスト制御部44により、運用管理部6に対して、UEに関するエラー情報が割り込み通知される(ステップS8)。
割り込み通知が入力されると、運用管理部6のファームウェアにより、運用管理部6が管理する制御情報に対して、縮退されたWAYに関する情報が故障情報として格納され(ステップS9)、情報処理システム1′による運用が継続される(ステップS10)。
一方、ステップS28において、リクエスト制御部44により、稼動しているWAY数が1以下と判断された場合(ステップS28のYesルート)、リクエスト制御部44から運用管理部6に対して、UEが発生し、CPU3−2の縮退処理を行なうことが割り込み通知される(ステップS22)。以降、UEが発生したTAG_CPメモリ42に対応するCPU3−2について、上述したステップS23以降の処理が行なわれる。
このように、第2実施形態としての情報処理システム1′(特にSC4)によれば、上述した第1実施形態と同様の効果を得ることができる。
また、第2実施形態の一例としての情報処理システム1′によれば、リクエスト制御部44により、CEの発生回数がカウントされ、CEの発生回数が所定の閾値よりも大きい場合に、CE検出リクエストがCPU3に通知される。
これにより、CEの発生回数が所定の閾値以下の場合には、WAYの縮退処理が行なわれないため、WAYの縮退処理に伴う情報処理システム1′の性能低下を抑えることができる。
〔3〕その他
以上、本発明の好ましい実施形態及び変形例について詳述したが、本発明は、かかる特定の実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、上述した第1及び第2実施形態においては、SB2内のCPU3が4つの場合について説明したが、CPU3の個数は、これに限定されるものではなく、1つでも良いし、他の数でも良い。CPU3がいずれの数の場合でも、SC4内に、各TAGメモリ32(CPU3)に対応したTAG_CPメモリ42が備えられれば良い。
また、上述した第1及び第2実施形態においては、UEが検出されたリクエストについては、CPU3及びSC4における対象のWAYの縮退処理が完了するまでは処理を保留するが、これに限定されるものではない。例えば、SC4は、UEが検出された際に、キャッシュタグデータから、他のCPU3、つまりUEが検出されたTAG_CPメモリ42に対応するCPU3とは異なるCPU3に最新のデータがあることが確認できた場合、UE検出リクエストに対しては通常通り処理を行なっても良い。なお、他のCPUに最新のデータがある場合は、UEが検出されたリクエストに対する他WAYのTAG_CPメモリ42のキャッシュタグデータのステータスは、MOSIプロトコルにおいては、例えば“M”又は“O”である。
例えば、UE検出リクエストについて、通常処理の過程でアドレスロックを外す処理、つまりUE検出リクエストについて通常通り処理を行ない、当該処理の完了後にロックレジスタ45aからアドレスを削除する処理を抑止する。そして、CPU3の縮退処理に伴うCM31のデータの掃き出し処理が完了した後に、当該アドレスロックを外す処理を行なう。このために、ロックレジスタ45aで保持されるアドレスや、パイプ部47を通過するデータに、リクエストに係るステータスが“M”や“O”であることを示す情報が付加されることが好ましい。
あるいは、CPU3の縮退処理に伴うCM31のデータの掃き出し処理が完了するまでは、UEが複数回発生してしまうのを許容することでも良い。
上述のように、UEが発生したTAG_CPメモリ42に対応するCPU3と、UE検出リクエストの要求元のCPU3及び最新データを保持しているCPU3とが異なるCPUの場合には、UE検出リクエストの保留による処理遅延を防ぐことができる。
さらに、上述した第2実施形態における図9に示すフローチャートにおいて、ステップS14のYesルートからのステップS22〜ステップS27の処理、つまり、TAG_CPメモリ42にCEが発生し、且つCEが発生したTAG_CPメモリ42で稼働しているWAYが所定の数以下の場合の処理は、これに限定されるものではない。例えば、情報処理システム1′は、ステップS22〜ステップS27の処理を実行せずに、そのまま運用を継続してもよい。
また、上述した第2実施形態における図9に示すフローチャートにおいて、ステップS28のYesルートからのステップS22〜ステップS27の処理、つまり、TAG_CPメモリ42にUEが発生し、且つUEが発生したTAG_CPメモリ42で稼働しているWAYが所定の数以下の場合の処理は、これに限定されるものではない。例えば、情報処理システム1′は、ステップS22〜ステップS27の処理を実行せずに、SC4がOSに対して最後のWAYでUEが発生した旨を通知し、OSでは処理中のプロセスを全て終了させた後に終了(Shutdown)処理を行なっても良い。
さらに、第1実施形態及び第2実施形態における図4に示すフローチャートにおいて、ステップS6の処理は、ステップS3〜ステップS5の処理の前、或いはステップS3〜ステップS5の間に行なわれても良い。つまり、リクエスト処理部44によるUEが発生したTAG_CPメモリ42のWAYの縮退処理は、当該WAYに対応するCPU3のWAYの縮退処理よりも前に行なわれても良いし、並行して行なわれても良い。
〔4〕付記
以上の第1及び第2実施形態に関し、更に以下の付記を開示する。
(付記1)
キャッシュメモリ及び第1タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置であって、
前記システムコントローラは、
前記演算処理装置から受信したリクエストを保持し、当該リクエストが要求先において処理されなかった場合に当該リクエストを再発行するコマンド制御部と、
前記第1タグメモリに記憶されるデータの複製データを保持する第2タグメモリと、
前記第2タグメモリから読み出されたデータが訂正不可能なエラーであるUE(Uncorrectable Error)を起こした場合に、前記UEが発生した第2タグメモリのウェイ情報を前記演算処理装置に通知するリクエスト制御部とを有し、
前記演算処理装置は、前記リクエスト制御部から前記UEが発生した通知を受けると、当該UEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリのウェイを縮退させて、前記第1タグメモリのウェイの縮退処理が完了したことを前記リクエスト制御部へ通知し、
前記リクエスト制御部は、前記UEが発生した場合に、前記第2タグメモリのUEが発生したウェイを縮退させるとともに、前記演算処理装置から、前記第1タグメモリの縮退処理が完了した旨の通知を受信した後、前記コマンド制御部に当該UEに係るリクエストを再発行させる指示を行なうことを特徴とする、情報処理装置。
(付記2)
前記リクエスト制御部は、前記UEが発生した場合に、前記コマンド制御部に対して前記UEに係るリクエストを保留させる指示を行なうことを特徴とする、付記1記載の情報処理装置。
(付記3)
前記システムコントローラは、
前記UEが発生した場合に、前記演算処理装置から前記第1タグメモリの縮退処理が完了した旨の通知を受信するとともに、前記第2タグメモリのUEが発生したウェイを縮退させるまでは、他のリクエストによる前記第2タグメモリの当該UEが発生したデータへのアクセスを抑止するアドレスロックレジスタ部を有することを特徴とする、付記1又は付記2記載の情報処理装置。
(付記4)
前記アドレスロックレジスタ部は、
リクエスト内のアドレス情報を保持するロックレジスタを備えるとともに、
前記UEが発生した場合に、当該UEに係るリクエスト内のアドレス情報を抽出し、抽出したアドレス情報を前記ロックレジスタに保持させ、当該UEに係るリクエストの後発リクエスト内のアドレス情報が、前記ロックレジスタに保持された前記UEに係るリクエスト内の前記アドレス情報と一致した場合、前記コマンド制御部に対して当該後発リクエストを再発行させる指示を行なうことを特徴とする、付記3記載の情報処理装置。
(付記5)
前記システムコントローラは、
前記第2タグメモリのウェイを縮退することを示す縮退フラグを保持するレジスタ部を有し、
前記リクエスト制御部は、前記レジスタ部に対して、UEが発生した前記第2タグメモリのウェイに係る縮退フラグを設定することにより、前記第2タグメモリのUEが発生したウェイを縮退させることを特徴とする、付記1〜4のいずれか1項記載の情報処理装置。
(付記6)
前記情報処理装置は、前記キャッシュメモリ及び前記第1タグメモリを有する前記演算処理装置を複数備え、
前記システムコントローラは、前記複数の演算処理装置にそれぞれ備えられた前記複数の第1タグメモリに対応して、前記第2タグメモリを複数備えることを特徴とする、付記1〜5のいずれか1項記載の情報処理装置。
(付記7)
前記情報処理装置は、
前記情報処理装置に係る制御を行なう運用管理部を有し、
前記リクエスト制御部は、前記第2タグメモリのUEが発生したウェイを縮退させた後、前記運用管理部に対して、前記UEに関するエラー情報を通知し、
前記運用管理部は、前記リクエスト制御部からの通知に基づいて、縮退されたウェイに関する情報を保持するとともに、前記情報処理装置において実行されるOS(Operating System)が再起動した場合に、保持している縮退させたウェイに関する情報に基づいて、前記第1及び第2タグメモリの当該ウェイを縮退させることを特徴とする、付記1〜6のいずれか1項記載の情報処理装置。
(付記8)
前記リクエスト制御部は、前記第2タグメモリにおいてUEが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該UEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部は、前記リクエスト制御部から通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるOSを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、付記7記載の情報処理装置。
(付記9)
前記リクエスト制御部は、前記第2タグメモリから読み出されたデータが訂正可能なエラーであるCE(Correctable Error)を起こした場合に、前記CEが発生した第2タグメモリのウェイ情報を前記演算処理装置に通知し、
前記演算処理装置は、前記リクエスト制御部から前記CEが発生した通知を受けると、当該CEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリのウェイを縮退させて、前記第1タグメモリのウェイの縮退処理が完了したことを前記リクエスト制御部へ通知し、
前記リクエスト制御部は、前記CEが発生した場合に、前記第2タグメモリのCEが発生したウェイを縮退させることを特徴とする、付記7記載の情報処理装置。
(付記10)
前記リクエスト制御部は、前記第2タグメモリにおいてCEが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該CEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部は、前記リクエスト制御部から通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるOSを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、付記9記載の情報処理装置。
(付記11)
キャッシュメモリ及び第1タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置のキャッシュ制御方法であって、
前記システムコントローラにおいて、
前記第1タグメモリに記憶されるデータの複製データを保持する第2タグメモリから読み出されたデータが訂正不可能なエラーであるUE(Uncorrectable Error)を起こした場合に、前記UEが発生した前記第2タグメモリのウェイ情報を前記演算処理装置に通知し、
前記演算処理装置において、
前記UEが発生した通知を受けると、当該UEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリのウェイを縮退させて、前記第1タグメモリのウェイの縮退処理が完了したことを前記システムコントローラへ通知して、
前記システムコントローラにおいて、
前記第2タグメモリのUEが発生したウェイを縮退するとともに、前記演算処理装置から、前記第1タグメモリの縮退処理が完了した旨の通知を受信した後、当該UEに係るリクエストを再発行させることを特徴とする、情報処理装置のキャッシュ制御方法。
(付記12)
前記システムコントローラにおいて、
前記第2タグメモリから読み出されたデータが前記UEを起こした場合に、前記UEに係るリクエストを保留させることを特徴とする、付記11記載の情報処理装置のキャッシュ制御方法。
(付記13)
前記システムコントローラにおいて、
前記演算処理装置から前記第1タグメモリの縮退処理が完了した旨の通知を受信するとともに、前記第2タグメモリのUEが発生したウェイを縮退させるまでは、他のリクエストによる前記第2タグメモリの当該UEが発生したデータへのアクセスを抑止することを特徴とする、付記11又は付記12記載の情報処理装置のキャッシュ制御方法。
(付記14)
前記システムコントローラにおいて、
前記UEが発生した場合に、当該UEに係るリクエスト内のアドレス情報を抽出し、抽出したアドレス情報を保持するとともに、当該UEに係るリクエストの後発リクエスト内のアドレス情報が、前記保持している前記UEに係るリクエスト内の前記アドレス情報と一致した場合、当該後発リクエストを再発行させることを特徴とする、付記13記載の情報処理装置のキャッシュ制御方法。
(付記15)
前記システムコントローラにおいて、
前記UEが発生した場合に、前記システムコントローラが備えるレジスタ部に対して、UEが発生した前記第2タグメモリのウェイを縮退することを示す縮退フラグを設定することにより、前記第2タグメモリのUEが発生したウェイを縮退することを特徴とする、付記11〜14のいずれか1項記載の情報処理装置のキャッシュ制御方法。
(付記16)
前記情報処理装置は、前記キャッシュメモリ及び前記第1タグメモリを有する前記演算処理装置を複数備え、
前記システムコントローラは、前記複数の演算処理装置にそれぞれ備えられた前記複数の第1タグメモリに対応して、前記第2タグメモリを複数備えることを特徴とする、付記11〜15のいずれか1項記載の情報処理装置のキャッシュ制御方法。
(付記17)
前記情報処理装置は、
前記情報処理装置に係る制御を行なう運用管理部を有し、
前記システムコントローラにおいて、
前記第2タグメモリのUEが発生したウェイを縮退させた後、前記運用管理部に対して、前記UEに関するエラー情報を通知し、
前記運用管理部において、
前記システムコントローラからの通知に基づいて、縮退されたウェイに関する情報を保持するとともに、前記情報処理装置において実行されるOS(Operating System)が再起動した場合に、保持している縮退させたウェイに関する情報に基づいて、前記第1及び第2タグメモリの当該ウェイを縮退させることを特徴とする、付記11〜16のいずれか1項記載の情報処理装置のキャッシュ制御方法。
(付記18)
前記システムコントローラにおいて、
前記第2タグメモリにおいてUEが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該UEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部において、
前記システムコントローラから通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるOSを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、付記17記載の情報処理装置のキャッシュ制御方法。
(付記19)
前記システムコントローラにおいて、
前記第2タグメモリから読み出されたデータが訂正可能なエラーであるCE(Correctable Error)を起こした場合に、前記CEが発生した第2タグメモリのウェイ情報を前記演算処理装置に通知し、
前記演算処理装置において、
前記システムコントローラから前記CEが発生した通知を受けると、当該CEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリのウェイを縮退させて、前記第1タグメモリのウェイの縮退処理が完了したことを前記システムコントローラへ通知し、
前記システムコントローラにおいて、
前記CEが発生した場合に、前記第2タグメモリのCEが発生したウェイを縮退させることを特徴とする、付記17記載の情報処理装置のキャッシュ制御方法。
(付記20)
前記システムコントローラにおいて、
前記第2タグメモリにおいてCEが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該CEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリを有する演算処理装置を示す情報を通知し、
前記運用管理部において、
前記システムコントローラから通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるOSを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、付記19記載の情報処理装置のキャッシュ制御方法。
1,1′ 情報処理システム(情報処理装置)
2 SB
3,3−1,3−2,3−3,3−4 CPU(演算処理装置)
300,300−1,300−2,300−3,300−4 CPU
31,31−1,31−2,31−3,31−4 CM(キャッシュメモリ)
310−1,310−2,310−3,310−4 CM(キャッシュメモリ)
32,32−1,32−2,32−3,32−4 TAGメモリ(第1タグメモリ)
320−1,320−2,320−3,320−4 TAGメモリ
4,400 SC(システムコントローラ)
40a ラッチ回路
41,41−1,41−2,41−3,41−4 TAG_CPメモリ制御部
41a 比較器
42,42−1,42−2,42−3,42−4 TAG_CPメモリ(第2タグメモリ)
420,420−1,420−2,420−3,420−4 TAG_CPメモリ
43 コマンド制御部
43a キュー
44 リクエスト制御部
45 アドレスロックレジスタ部
45a ロックレジスタ
45b アドレス競合検査部
45ba 比較器
46 レジスタ部
46a レジスタ設定変更部
46b 構成制御レジスタ
47 パイプ部
47a−1〜47a−n,47b−1〜47b−o ラッチ回路
47c 結果確定部
48 第1I/F部
49 第2I/F部
5,500 メモリ
6,600 運用管理部
7 記憶部
8 XBU
9 XB

Claims (10)

  1. キャッシュメモリ及び第1タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置であって、
    前記システムコントローラは、
    前記演算処理装置から受信したリクエストを保持し、当該リクエストが要求先において処理されなかった場合に当該リクエストを再発行するコマンド制御部と、
    前記第1タグメモリに記憶されるデータの複製データを保持する第2タグメモリと、
    前記第2タグメモリから読み出されたデータが訂正不可能なエラーであるUE(Uncorrectable Error)を起こした場合に、前記UEが発生した第2タグメモリのウェイ情報を前記演算処理装置に通知するリクエスト制御部とを有し、
    前記演算処理装置は、前記リクエスト制御部から前記UEが発生した通知を受けると、当該UEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリのウェイを縮退させて、前記第1タグメモリのウェイの縮退処理が完了したことを前記リクエスト制御部へ通知し、
    前記リクエスト制御部は、前記UEが発生した場合に、前記第2タグメモリのUEが発生したウェイを縮退させるとともに、前記演算処理装置から、前記第1タグメモリの縮退処理が完了した旨の通知を受信した後、前記コマンド制御部に当該UEに係るリクエストを再発行させる指示を行なうことを特徴とする、情報処理装置。
  2. 前記リクエスト制御部は、前記UEが発生した場合に、前記コマンド制御部に対して前記UEに係るリクエストを保留させる指示を行なうことを特徴とする、請求項1記載の情報処理装置。
  3. 前記システムコントローラは、
    前記UEが発生した場合に、前記演算処理装置から前記第1タグメモリの縮退処理が完了した旨の通知を受信するとともに、前記第2タグメモリのUEが発生したウェイを縮退させるまでは、他のリクエストによる前記第2タグメモリの当該UEが発生したデータへのアクセスを抑止するアドレスロックレジスタ部を有することを特徴とする、請求項1又は請求項2記載の情報処理装置。
  4. 前記アドレスロックレジスタ部は、
    リクエスト内のアドレス情報を保持するロックレジスタを備えるとともに、
    前記UEが発生した場合に、当該UEに係るリクエスト内のアドレス情報を抽出し、抽出したアドレス情報を前記ロックレジスタに保持させ、当該UEに係るリクエストの後発リクエスト内のアドレス情報が、前記ロックレジスタに保持された前記UEに係るリクエスト内の前記アドレス情報と一致した場合、前記コマンド制御部に対して当該後発リクエストを再発行させる指示を行なうことを特徴とする、請求項3記載の情報処理装置。
  5. 前記システムコントローラは、
    前記第2タグメモリのウェイを縮退することを示す縮退フラグを保持するレジスタ部を有し、
    前記リクエスト制御部は、前記レジスタ部に対して、UEが発生した前記第2タグメモリのウェイに係る縮退フラグを設定することにより、前記第2タグメモリのUEが発生したウェイを縮退させることを特徴とする、請求項1〜4のいずれか1項記載の情報処理装置。
  6. 前記情報処理装置は、
    前記情報処理装置に係る制御を行なう運用管理部を有し、
    前記リクエスト制御部は、前記第2タグメモリのUEが発生したウェイを縮退させた後、前記運用管理部に対して、前記UEに関するエラー情報を通知し、
    前記運用管理部は、前記リクエスト制御部からの通知に基づいて、縮退されたウェイに関する情報を保持するとともに、前記情報処理装置において実行されるOS(Operating System)が再起動した場合に、保持している縮退させたウェイに関する情報に基づいて、前記第1及び第2タグメモリの当該ウェイを縮退させることを特徴とする、請求項1〜のいずれか1項記載の情報処理装置。
  7. 前記リクエスト制御部は、前記第2タグメモリにおいてUEが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該UEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリを有する演算処理装置を示す情報を通知し、
    前記運用管理部は、前記リクエスト制御部から通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるOSを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、請求項6記載の情報処理装置。
  8. 前記リクエスト制御部は、前記第2タグメモリから読み出されたデータが訂正可能なエラーであるCE(Correctable Error)を起こした場合に、前記CEが発生した第2タグメモリのウェイ情報を前記演算処理装置に通知し、
    前記演算処理装置は、前記リクエスト制御部から前記CEが発生した通知を受けると、当該CEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリのウェイを縮退させて、前記第1タグメモリのウェイの縮退処理が完了したことを前記リクエスト制御部へ通知し、
    前記リクエスト制御部は、前記CEが発生した場合に、前記第2タグメモリのCEが発生したウェイを縮退させることを特徴とする、請求項6記載の情報処理装置。
  9. 前記リクエスト制御部は、前記第2タグメモリにおいてCEが発生した際に稼働中のウェイが所定の数以下である場合、前記運用管理部に対して、当該CEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリを有する演算処理装置を示す情報を通知し、
    前記運用管理部は、前記リクエスト制御部から通知された前記演算処理装置を示す情報を保持するとともに、前記情報処理装置において実行されるOSを再起動させ、保持している前記演算処理装置を示す情報に基づいて、当該演算処理装置を縮退させることを特徴とする、請求項8記載の情報処理装置。
  10. キャッシュメモリ及び第1タグメモリを有する演算処理装置と、前記演算処理装置と他の処理装置との通信制御を行なうシステムコントローラとを有する情報処理装置のキャッシュ制御方法であって、
    前記システムコントローラにおいて、
    前記第1タグメモリに記憶されるデータの複製データを保持する第2タグメモリから読み出されたデータが訂正不可能なエラーであるUE(Uncorrectable Error)を起こした場合に、前記UEが発生した前記第2タグメモリのウェイ情報を前記演算処理装置に通知し、
    前記演算処理装置において、
    前記UEが発生した通知を受けると、当該UEが発生した前記第2タグメモリのウェイに対応する前記第1タグメモリのウェイを縮退させて、前記第1タグメモリのウェイの縮退処理が完了したことを前記システムコントローラへ通知して、
    前記システムコントローラにおいて、
    前記第2タグメモリのUEが発生したウェイを縮退するとともに、前記演算処理装置から、前記第1タグメモリの縮退処理が完了した旨の通知を受信した後、当該UEに係るリクエストを再発行させることを特徴とする、情報処理装置のキャッシュ制御方法。
JP2013503290A 2011-03-09 2011-03-09 情報処理装置,及びキャッシュ制御方法 Expired - Fee Related JP5630565B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/055488 WO2012120660A1 (ja) 2011-03-09 2011-03-09 情報処理装置,及びキャッシュ制御方法

Publications (2)

Publication Number Publication Date
JPWO2012120660A1 JPWO2012120660A1 (ja) 2014-07-07
JP5630565B2 true JP5630565B2 (ja) 2014-11-26

Family

ID=46797663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013503290A Expired - Fee Related JP5630565B2 (ja) 2011-03-09 2011-03-09 情報処理装置,及びキャッシュ制御方法

Country Status (3)

Country Link
US (1) US20140006721A1 (ja)
JP (1) JP5630565B2 (ja)
WO (1) WO2012120660A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646869B2 (en) 2010-03-02 2017-05-09 Micron Technology, Inc. Semiconductor devices including a diode structure over a conductive strap and methods of forming such semiconductor devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097019A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited キャッシュ制御装置およびキャッシュ制御方法
JP2008046701A (ja) * 2006-08-11 2008-02-28 Nec Computertechno Ltd マルチプロセッサシステム及びその動作方法
JP2008052550A (ja) * 2006-08-25 2008-03-06 Nec Computertechno Ltd マルチプロセッサシステム及びメモリコントロール/コヒーレンシ制御装置並びにコヒーレンシ保証方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097027A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited 縮退制御装置および縮退制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097019A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited キャッシュ制御装置およびキャッシュ制御方法
JP2008046701A (ja) * 2006-08-11 2008-02-28 Nec Computertechno Ltd マルチプロセッサシステム及びその動作方法
JP2008052550A (ja) * 2006-08-25 2008-03-06 Nec Computertechno Ltd マルチプロセッサシステム及びメモリコントロール/コヒーレンシ制御装置並びにコヒーレンシ保証方法

Also Published As

Publication number Publication date
US20140006721A1 (en) 2014-01-02
JPWO2012120660A1 (ja) 2014-07-07
WO2012120660A1 (ja) 2012-09-13

Similar Documents

Publication Publication Date Title
US9065706B2 (en) Information processing apparatus, computer-readable recording medium, and control method
EP2673711B1 (en) Method and system for reducing write latency for database logging utilizing multiple storage devices
US7343515B1 (en) System and method for performing error recovery in a data processing system having multiple processing partitions
US6594785B1 (en) System and method for fault handling and recovery in a multi-processing system having hardware resources shared between multiple partitions
US9798577B2 (en) Transactional storage accesses supporting differing priority levels
US8190951B2 (en) Handling of errors in a data processing apparatus having a cache storage and a replicated address storage
US8856588B2 (en) Information processing apparatus, control method, and computer-readable recording medium
US9389973B2 (en) Memory error propagation for faster error recovery
TWI428742B (zh) 用於本地代理器資料及記憶體管理的裝置、方法及系統
US10613792B2 (en) Efficient enforcement of barriers with respect to memory move sequences
JPH0239254A (ja) データ処理システム及びそのキヤツシユ記憶システム
BR112016021217B1 (pt) Aumento de protocolo de coerência para indicar o estado da transação
US9977742B2 (en) Cache coherency
US8826097B2 (en) Memory scrubbing
US10152322B2 (en) Memory move instruction sequence including a stream of copy-type and paste-type instructions
US20110320863A1 (en) Dynamic re-allocation of cache buffer slots
KR100406575B1 (ko) 멀티프로세서 데이터 처리 시스템에서 복구 불가능한에러를 허용하는 방법 및 장치
US10346164B2 (en) Memory move instruction sequence targeting an accelerator switchboard
US9727489B1 (en) Counter-based victim selection in a cache memory
TWI451242B (zh) 具有分散式快取記憶體之多處理器系統的容錯
EP2105838B1 (en) Cache control apparatus, information processing apparatus, and cache control method
JP2010231619A (ja) 情報処理装置
JP5630565B2 (ja) 情報処理装置,及びキャッシュ制御方法
US9727488B1 (en) Counter-based victim selection in a cache memory
US20180052607A1 (en) Migration of memory move instruction sequences between hardware threads

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140819

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140922

R150 Certificate of patent or registration of utility model

Ref document number: 5630565

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees