(57)【要約】  【課題】  スヌープ処理におけるＳＣ間の同期エラーの復旧の可能性を向上させるシステム制御装置、システム制御方法を提供する。  【解決手段】  外部から受信したメモリアクセス要求を保持し、エラーリトライ指示に従って再び出力するローカルポート部１１と、メモリアクセス要求をブロードキャストするブロードキャスト出力部１２と、ブロードキャストされたメモリアクセス要求を受信するブロードキャスト入力部２１と、受信したメモリアクセス要求を保持するグローバルポート部２２と、スヌープ処理を行った結果であるキャッシュステイタスを送受信し、キャッシュステイタスに基づいて同期エラーを検出し、同期エラーとなったメモリアクセス要求を保持するローカルポート部１１へエラーリトライ指示を出力するスヌープ制御部２３とを備える。  【選択図】  図２
2006155110.tif 000002
【特許請求の範囲】
【請求項１】
メモリのスヌープ処理を行う情報処理装置であって、
外部から受信したメモリアクセス要求を出力するとともに保持し、エラーリトライ指示を受け取ると、保持しているメモリアクセス要求を再び出力するローカルポート部と、
前記ローカルポート部が出力するメモリアクセス要求を他のシステム制御装置へブロードキャストするブロードキャスト出力部と、
他のシステム制御装置からブロードキャストされたメモリアクセス要求を受信するブロードキャスト入力部と、
前記ブロードキャスト入力部により受信されたメモリアクセス要求を出力するとともに保持するグローバルポート部と、
前記グローバルポート部が出力するメモリアクセス要求についてスヌープ処理を行い、該スヌープ処理の検査結果を含むキャッシュステイタスを他のシステム制御装置へ送信し、他のシステム制御装置から受信したキャッシュステイタスに基づいてシステム制御装置間の同期エラーを検出し、同期エラーが発生した場合に同期エラーとなったメモリアクセス要求を保持する前記ローカルポート部へ前記エラーリトライ指示を出力するスヌープ制御部と、
を備えてなるシステム制御装置を複数有する情報処理装置。
【請求項２】
メモリに接続されるとともに該メモリのスヌープ処理を行うシステム制御装置であって、
外部から受信したメモリアクセス要求を出力するとともに保持し、エラーリトライ指示を受け取ると、保持しているメモリアクセス要求を再び出力するローカルポート部と、
前記ローカルポート部が出力するメモリアクセス要求を他のシステム制御装置へブロードキャストするブロードキャスト出力部と、
他のシステム制御装置からブロードキャストされたメモリアクセス要求を受信するブロードキャスト入力部と、
前記ブロードキャスト入力部により受信されたメモリアクセス要求を出力するとともに保持するグローバルポート部と、
前記グローバルポート部が出力するメモリアクセス要求についてスヌープ処理を行い、該スヌープ処理の検査結果を含むキャッシュステイタスを他のシステム制御装置へ送信し、他のシステム制御装置から受信したキャッシュステイタスに基づいてシステム制御装置間の同期エラーを検出し、同期エラーが発生した場合に同期エラーとなったメモリアクセス要求を保持する前記ローカルポート部へ前記エラーリトライ指示を出力するスヌープ制御部と、
を備えてなるシステム制御装置。
【請求項３】
請求項２に記載のシステム制御装置において、
前記スヌープ制御部はさらに、前記同期エラーが発生した場合に全てのグローバルポート部へリセット指示を出力し、
前記グローバルポート部はさらに、リセット指示を受け取ると、保持しているメモリアクセス要求をリセットすることを特徴とするシステム制御装置。
【請求項４】
請求項２または請求項３に記載のシステム制御装置において、
前記スヌープ制御部はさらに、スヌープ処理が正常に終了したメモリアクセス要求を保持している前記ローカルポート部と前記グローバルポートへリセット指示を出力し、
前記ローカルポート部と前記グローバルポート部はさらに、前記リセット指示を受け取ると、保持しているメモリアクセス要求をリセットすることを特徴とするシステム制御装置。
【請求項５】
メモリに接続されるとともにスヌープ処理を行うシステム制御方法であって、
外部から受信したメモリアクセス要求を出力するとともに保持するローカルポートステップと、
前記ローカルポートステップで出力されるメモリアクセス要求を他のシステム制御装置へブロードキャストするブロードキャストステップと、
他のシステム制御装置からブロードキャストされたメモリアクセス要求を受信するブロードキャスト受信ステップと、
前記ブロードキャスト受信ステップにより受信されたメモリアクセス要求を出力するとともに保持するグローバルポートステップと、
前記グローバルポートステップにより出力されるメモリアクセス要求についてスヌープ処理を行い、該スヌープ処理の検査結果を含むキャッシュステイタスを他のシステム制御装置へ送信し、他のシステム制御装置から受信したキャッシュステイタスに基づいてシステム制御装置間の同期エラーを検出し、同期エラーが発生した場合にエラーリトライ指示を出力するスヌープ制御ステップと、
前記エラーリトライ指示を受け取ると、前記ローカルポートステップが保持している同期エラーが発生したメモリアクセス要求を再び出力するエラーリトライステップと、
を備えてなるシステム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模構成の情報処理装置においてスヌープ処理を行うためのシステム制御装置、システム制御方法に関するものである。
【背景技術】
【０００２】
多数のＣＰＵ、ＩＯが実装された大規模構成の情報処理装置であるマルチプロセッサシステムについて説明する。ここでは、マルチプロセッサシステムの例として、従来のサーバーについて説明する。図５は、従来のサーバーの構成の一例を示すブロック図である。このサーバーは、複数のＳＢ（システム・ボード）１０１ａ，１０１ｂを備える。ここでは、ＳＢが２個の場合について説明する。ＳＢ１０１ａは、ＣＰＵ（Central Processing Unit）２ａ，２ｂ、ＩＯ（Input/Output）３ａ，３ｂ、ＭＥＭ（キャッシュメモリ）４ａ，４ｂ，４ｃ，４ｄ、ＳＣ（システム・コントローラー）１０５ａを備える。同様に、ＳＢ１０１ｂは、ＣＰＵ２ｃ，２ｄ、ＩＯ３ｃ，３ｄ、ＭＥＭ４ｅ，４ｆ，４ｇ，４ｈ、ＳＣ（システム・コントローラー）１０５ｂを備える。このように１つのＳＢ上には、１つのＳＣとそのＳＣが担当する複数のＣＰＵ、ＩＯ、キャッシュメモリが実装される。ＳＣ１０５ａ，１０５ｂは、担当するＣＰＵ、ＩＯからのメモリアクセスとＳＣ間通信を制御する。
【０００３】
図６は、従来のＳＣの構成の一例を示すブロック図である。以後ＳＣ１０５ａについて説明するが、ＳＣ１０５ｂも同様である。ＳＣ１０５ａは、複数のＬＰＴ（ローカルポート部）１１１、ブロードキャスト出力部１２、ブロードキャスト入力部２１、複数のＧＰＴ（グローバルポート部）１２２、スヌープ制御部１２３を備える。ＳＣ１０５ａは、キャッシュメモリの状態やデータ転送に関する資源の状態の検査を目的としてスヌープ処理を行う。ここで、スヌープ処理に関する動作の流れについて説明する。
【０００４】
図７は、従来のサーバーにおけるフェッチ要求に関する動作の一例を示すタイムチャートである。横軸は時間であり、上から順にＣＰＵ２ａ、ＣＰＵ２ｂ、ＳＣ１０５ａ、ＳＣ１０５ｂの動作を示す。ここでは、ＣＰＵ２ａがフェッチ要求を発行したことによりスヌープ処理を行う例であり、スヌープ処理が正常に終了した場合を示す。
【０００５】
まず、ＳＣ１０５ａは担当するＣＰＵ、ＩＯから、メモリアクセス要求を受信すると、ＳＣ１０５ａ内のローカルポート部１１１にセットする。図７の例では、フェッチ要求がＣＰＵ２ａから発行され、このメモリアクセス要求はＳＣ１０５ａのローカルポート部１１１にセットされている。さらに、メモリアクセスの対象となるデータについて全ＳＣに属するキャッシュメモリの状態を検査するため、ブロードキャスト出力部１２はローカルポート部１１１のメモリアクセス要求をブロードキャスト要求（ＢＣ要求）として、他の全てのＳＣにブロードキャストする。ブロードキャストされたメモリアクセス要求は、ローカルポート部１１１においてリセットされる。
【０００６】
ブロードキャストされたメモリアクセス要求は各ＳＣにあるブロードキャスト入力部２１で受信され、グローバルポート部１２２にセットされる。図７の例では、ＳＣ１０５ａ内のブロードキャスト出力部１２でブロードキャストされたＢＣ要求は、ＳＣ１０５ｂ内のブロードキャスト入力部２１で受信される。複数のグローバルポート部１２２の中から、全てのＳＣにおいて同一のメモリアクセス要求が選択され、全てのＳＣにおけるスヌープ制御部１２３は同時にスヌープ処理を行う。その後、各ＳＣはそれぞれの検査結果をＣＳＴ（キャッシュステイタス）として相互に通信し、スヌープ制御部１２３は全ＳＣからのＣＳＴを総合的に判定し、そのメモリアクセス要求に対する最終的な動作を判定する。ＳＣ間のスヌープ処理を全ＳＣで同期して行い、全ＳＣからのＣＳＴを固定タイミングで受信することにより、制御を容易にしている。
【０００７】
また、あるＳＣのグローバルポート部１２２から誤ったメモリアクセス要求が選択された場合に、この誤ったＣＳＴを使用してスヌープ制御部１２３が動作判定を行うことを防ぐために、スヌープ処理中のＣＳＴにメモリアクセス要求の情報を付加する。スヌープ制御部１２３は、全てのＳＣからのメモリアクセス要求の情報を比較することにより、ＳＣ間のスヌープ処理の同期エラーを検出する。
【０００８】
また、スヌープ制御部１２３の判定の結果が、メモリアクセス要求の対象アドレスに対する各種排他制御や各種資源の競合により、処理不可能と判定された場合は、グローバルポート部１２２からスヌープ処理のリトライを行う。
【０００９】
図７の例は、ＳＣ１０５ａ内のスヌープ制御部１２３によりフェッチ要求が処理可能と判定された場合であり、スヌープ制御部１２３は要求がセットされたグローバルポート部１２２に対してリセット指示を出す。グローバルポート部１２２。その後、スヌープ制御部１２３はメモリアクセス要求に応じたメモリアクセス処理を行う。図７の例では、キャッシュメモリにヒットしたＣＰＵ２ｂへコピー要求を出す。ＣＰＵ２ｂはキャッシュメモリのリードを行った後に、ＳＣ１０５ａへ応答を行う。ＳＣ１０５ａは、ＣＰＵ２ａへフェッチ応答を行う。
【００１０】
なお、本発明の関連ある従来技術として、例えば、下記に示す特許文献１が知られている。
【特許文献１】特開２００３−１５０５７３号公報  （第５−１２頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、ブロードキャスト処理中にエラーが発生した場合、またはブロードキャストを受信したグローバルポート部内部における何らかのエラーによって誤ったメモリアクセス要求を選択してスヌープ制御部へ出力し、ブロードキャスト元のスヌープ制御部でＳＣ間の同期エラーを検出した場合、通常のリトライ処理と同様にグローバルポート部からのリトライを行っても、原因がグローバルポート部内部にあるため、同期エラーの復旧は不可能である。
【００１２】
本発明は上述した問題点を解決するためになされたものであり、スヌープ処理におけるＳＣ間の同期エラーの復旧の可能性を向上させるシステム制御装置、システム制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決するため、本発明は、メモリのスヌープ処理を行う情報処理装置であって、外部から受信したメモリアクセス要求を出力するとともに保持し、エラーリトライ指示を受け取ると、保持しているメモリアクセス要求を再び出力するローカルポート部と、前記ローカルポート部が出力するメモリアクセス要求を他のシステム制御装置へブロードキャストするブロードキャスト出力部と、他のシステム制御装置からブロードキャストされたメモリアクセス要求を受信するブロードキャスト入力部と、前記ブロードキャスト入力部により受信されたメモリアクセス要求を出力するとともに保持するグローバルポート部と、前記グローバルポート部が出力するメモリアクセス要求についてスヌープ処理を行い、該スヌープ処理の検査結果を含むキャッシュステイタスを他のシステム制御装置へ送信し、他のシステム制御装置から受信したキャッシュステイタスに基づいてシステム制御装置間の同期エラーを検出し、同期エラーが発生した場合に同期エラーとなったメモリアクセス要求を保持する前記ローカルポート部へ前記エラーリトライ指示を出力するスヌープ制御部とを備えてなるシステム制御装置を複数有する情報処理装置。
【００１４】
また、本発明は、メモリに接続されるとともに該メモリのスヌープ処理を行うシステム制御装置であって、外部から受信したメモリアクセス要求を出力するとともに保持し、エラーリトライ指示を受け取ると、保持しているメモリアクセス要求を再び出力するローカルポート部と、前記ローカルポート部が出力するメモリアクセス要求を他のシステム制御装置へブロードキャストするブロードキャスト出力部と、他のシステム制御装置からブロードキャストされたメモリアクセス要求を受信するブロードキャスト入力部と、前記ブロードキャスト入力部により受信されたメモリアクセス要求を出力するとともに保持するグローバルポート部と、前記グローバルポート部が出力するメモリアクセス要求についてスヌープ処理を行い、該スヌープ処理の検査結果を含むキャッシュステイタスを他のシステム制御装置へ送信し、他のシステム制御装置から受信したキャッシュステイタスに基づいてシステム制御装置間の同期エラーを検出し、同期エラーが発生した場合に同期エラーとなったメモリアクセス要求を保持する前記ローカルポート部へ前記エラーリトライ指示を出力するスヌープ制御部とを備えたものである。
【００１５】
また、本発明に係るシステム制御装置において、前記スヌープ制御部はさらに、前記同期エラーが発生した場合に全てのグローバルポート部へリセット指示を出力し、前記グローバルポート部はさらに、リセット指示を受け取ると、保持しているメモリアクセス要求をリセットすることを特徴とするものである。
【００１６】
また、本発明に係るシステム制御装置において、前記スヌープ制御部はさらに、スヌープ処理が正常に終了したメモリアクセス要求を保持している前記ローカルポート部と前記グローバルポートへリセット指示を出力し、前記ローカルポート部と前記グローバルポート部はさらに、前記リセット指示を受け取ると、保持しているメモリアクセス要求をリセットすることを特徴とするものである。
【００１７】
また、本発明に係るシステム制御装置において、前記キャッシュステイタスはさらに、前記スヌープ処理の対象となるメモリアクセス要求の識別子を含み、前記スヌープ制御部はさらに、全てのシステム制御装置から得られる前記識別子を比較することにより同期エラーを検出することを特徴とするものである。
【００１８】
また、本発明は、メモリのスヌープ処理を行うシステム制御方法であって、外部から受信したメモリアクセス要求を出力するとともに保持するローカルポートステップと、前記ローカルポートステップが出力するメモリアクセス要求を他のシステム制御装置へブロードキャストするブロードキャストステップと、他のシステム制御装置からブロードキャストされたメモリアクセス要求を受信するブロードキャスト受信ステップと、前記ブロードキャスト受信ステップにより受信されたメモリアクセス要求を出力するとともに保持するグローバルポートステップと、前記グローバルポートステップが出力するメモリアクセス要求についてスヌープ処理を行い、該スヌープ処理の検査結果を含むキャッシュステイタスを他のシステム制御装置へ送信し、他のシステム制御装置から受信したキャッシュステイタスに基づいてシステム制御装置間の同期エラーを検出し、同期エラーが発生した場合にエラーリトライ指示を出力するスヌープ制御ステップと、前記エラーリトライ指示を受け取ると、前記ローカルポートステップが保持している同期エラーが発生したメモリアクセス要求を再び出力するエラーリトライステップとを備えたものである。
【００１９】
また、本発明に係るシステム制御方法において、前記スヌープ制御ステップはさらに、前記同期エラーが発生した場合に全てのグローバルポートステップへグローバルポートリセット指示を出力し、該グローバルポートリセット指示を受け取ると、保持しているメモリアクセス要求をリセットする前記グローバルポートリセットステップをさらに備えることを特徴とするものである。
【００２０】
また、本発明に係るシステム制御方法において、前記スヌープ制御ステップはさらに、スヌープ処理が正常に終了した場合に、リセット指示を出力し、該リセット指示を受け取ると、前記スヌープ処理が正常に終了したメモリアクセス要求をリセットするリセットステップを備えることを特徴とするものである。
【００２１】
また、本発明に係るシステム制御方法において、前記キャッシュステイタスはさらに、前記スヌープ処理の対象となるメモリアクセス要求の識別子を含み、前記スヌープ制御ステップはさらに、全てのシステム制御装置から得られる前記識別子を比較することにより同期エラーを検出することを特徴とするものである。
【００２２】
なお、システム制御装置とは、実施の形態におけるＳＣのことである。
【発明の効果】
【００２３】
本発明によれば、ブロードキャスト処理中、またはグローバルポート部内部の原因によりＳＣ間の同期エラーが発生した場合であっても、要求元ＳＣのローカルポート部からブロードキャスト処理をリトライすることにより、スヌープ処理の復旧の可能性を向上させる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００２５】
大規模構成の情報処理装置であるマルチプロセッサシステムの例として、サーバーについて説明する。図１は、本発明に係るサーバーの構成の一例を示すブロック図である。図１において、図５と同一符号は図５に示された対象と同一又は相当物を示しており、ここでの説明を省略する。図１のサーバーは、図５におけるＳＢ１０１ａ，１０１ｂの代わりにＳＢ１ａ，１ｂを備え、図５におけるＳＣ１０５ａ，１０５ｂの代わりにＳＣ５ａ，５ｂを備える。ここでは、ＳＣの数を２個としたが、３個以上であっても適用できる。
【００２６】
図２は、本発明に係るＳＣの構成の一例を示すブロック図である。図２において、図６と同一符号は図６に示された対象と同一又は相当物を示しており、ここでの説明を省略する。ＳＣ５ａは、図６におけるローカルポート部１１１の代わりにローカルポート部１１を備え、図６におけるグローバルポート部１２２の代わりにグローバルポート部２２を備え、図６におけるスヌープ制御部１２３の代わりにスヌープ制御部２３を備える。
【００２７】
次に、ＳＣ５ａの動作について説明する。ＳＣ５ｂの動作についても同様である。図３は、本発明に係るＳＣの動作の一例を示すフローチャートである。まず、ローカルポート部１１において、ＳＣ５ａが担当するＣＰＵ２ａ，２ｂ、ＩＯ３ａ，３ｂのいずれかからのメモリアクセス要求を受信し、セットしたか否かの判断を行う（Ｓ１１）。メモリアクセス要求を受信しない場合、処理Ｓ１１へ戻る（Ｓ１１，Ｎ）。次に、ブロードキャスト出力部１２は、他のＳＣに対してローカルポート部１１のメモリアクセス要求をブロードキャストする（Ｓ１２）。この例では、ＳＣ５ｂに対して送信される。
【００２８】
ここで、従来のローカルポート部１１１は、メモリアクセス要求のブロードキャストの実行時に内容をリセットしたが、本発明のローカルポート部１１は、スヌープ制御部２３からのリセット指示があるまでメモリアクセス要求を保持したままである。これは同期エラーに伴うエラーリトライ処理に備えるためであり、ローカルポート部１１の数は、ＳＣ５ａが担当するＣＰＵ、ＩＯが同時に発行し得るメモリアクセス要求の最大数だけ必要となる。
【００２９】
ブロードキャストされたメモリアクセス要求は各ＳＣにあるブロードキャスト入力部２１で受信され、グローバルポート部２２にセットされる（Ｓ１３）。グローバルポート部２１はＳＣ間で同期したスヌープ処理を行うために、保持されている有効なメモリアクセス要求の中から、全てのＳＣにおいて同一のメモリアクセス要求を選択し、スヌープ制御部２３へ出力する（Ｓ１４）。グローバルポート部２２もローカルポート部１１と同様、スヌープ制御部２３からの指示があるまでそのメモリアクセス要求を保持したままである。
【００３０】
スヌープ制御部２３はスヌープ処理を行い、検査結果をＣＳＴとして全ＳＣ間へ送信する（Ｓ１５）。ここで、スヌープ制御部２３は、処理中のメモリアクセス要求のＩＤを検査結果に付加したＣＳＴを送信する。次に、スヌープ制御部２３は他のＳＣからのＣＳＴを受信すると、処理中のメモリアクセス要求のＩＤとの比較を行うことにより、同期が正常に行われたか否かの判断を行う（Ｓ２１）。
【００３１】
同期エラーが発生していれば（Ｓ２１，Ｎ）、スヌープ制御部２３は全てのグローバルポート部２２へリセット指示を出力する（Ｓ２２）、さらに同期エラーが発生したメモリアクセス要求の発行元ＳＣであれば、このメモリアクセス要求に対応するローカルポート部１１へエラーリトライ指示を出力し（Ｓ２３）、処理Ｓ１２へ戻る。一方、同期が正常に行われていれば（Ｓ２１，Ｙ）、スヌープ制御部２３は他のＳＣから受信したＣＳＴと合わせて、メモリアクセスが処理可能か否かの判断を行う（Ｓ３１）。
【００３２】
ＣＳＴの判断結果が各種排他制御や各種資源の競合のため処理不可能を示す場合、ＣＳＴにエラーがある場合（Ｓ３１，Ｎ）、処理不可能となった要求に対応するグローバルポート部２２へリトライ指示を出力し（Ｓ３２）、処理Ｓ１４へ戻る。一方、処理可能であり、ＣＳＴが正常であれば（Ｓ３１，Ｙ）、メモリアクセス要求に応じたメモリアクセス処理を行い（Ｓ４１）、このメモリアクセス要求に対応するグローバルポート部２２へリセット指示を出力し（Ｓ４２）、さらにメモリアクセス要求の発行元ＳＣであればこのメモリアクセス要求に対応するローカルポート部１１へリセット指示を出力し（Ｓ４２）、このフローを終了する。
【００３３】
ここで、リセット指示を受け取ったローカルポート部１１とグローバルポート部２２は、対象となるメモリアクセス要求をリセットする。また、エラーリトライ指示を受け取ったローカルポート部１１は、対象となるメモリアクセス要求を再びブロードキャスト出力部１２へ出力する。また、通常のリトライ指示を受け取ったグローバルポート部２２は、対象となるメモリアクセス要求を再びスヌープ制御部２３へ出力する。
【００３４】
上述したように本発明では、スヌープ処理の同期エラーによるエラーリトライを、グローバルポート部２２からではなく発行元ＳＣのローカルポート部１１から行い、ブロードキャスト処理まで含めた再起動で解決しようと試みる。
【００３５】
図４は、本発明に係るサーバーにおけるフェッチ要求に関する動作の一例を示すタイムチャートである。図７と同様、横軸は時間であり、上から順にＣＰＵ２ａ、ＣＰＵ２ｂ、ＳＣ５ａ、ＳＣ５ｂの動作を示す。ここでは、図７と同様にＣＰＵ２ａがフェッチ要求を発行したことによりスヌープ処理を行う例であるが、スヌープ処理において同期エラーが発生した場合を示す。ＳＣ５ａにおけるスヌープ制御部２３はスヌープ処理の結果、ＣＳＴの比較により同期エラーを検出したため、ＳＣ５ａ，５ｂにおけるスヌープ制御部２３はグローバルポート部２２へリセット指示を行い、発行元のＳＣ５ａにおけるスヌープ制御部２３はローカルポート部１１へエラーリトライ指示を行う。発行元のＳＣ５ａにおけるローカルポート部１１からエラーリトライ処理を行い、以後、図７と同様の正常な動作が行われる。
【００３６】
（付記１）  メモリのスヌープ処理を行う情報処理装置であって、
外部から受信したメモリアクセス要求を出力するとともに保持し、エラーリトライ指示を受け取ると、保持しているメモリアクセス要求を再び出力するローカルポート部と、
前記ローカルポート部が出力するメモリアクセス要求を他のシステム制御装置へブロードキャストするブロードキャスト出力部と、
他のシステム制御装置からブロードキャストされたメモリアクセス要求を受信するブロードキャスト入力部と、
前記ブロードキャスト入力部により受信されたメモリアクセス要求を出力するとともに保持するグローバルポート部と、
前記グローバルポート部が出力するメモリアクセス要求についてスヌープ処理を行い、該スヌープ処理の検査結果を含むキャッシュステイタスを他のシステム制御装置へ送信し、他のシステム制御装置から受信したキャッシュステイタスに基づいてシステム制御装置間の同期エラーを検出し、同期エラーが発生した場合に同期エラーとなったメモリアクセス要求を保持する前記ローカルポート部へ前記エラーリトライ指示を出力するスヌープ制御部と、
を備えてなるシステム制御装置を複数有する情報処理装置。
（付記２）  メモリに接続されるとともに該メモリのスヌープ処理を行うシステム制御装置であって、
外部から受信したメモリアクセス要求を出力するとともに保持し、エラーリトライ指示を受け取ると、保持しているメモリアクセス要求を再び出力するローカルポート部と、
前記ローカルポート部が出力するメモリアクセス要求を他のシステム制御装置へブロードキャストするブロードキャスト出力部と、
他のシステム制御装置からブロードキャストされたメモリアクセス要求を受信するブロードキャスト入力部と、
前記ブロードキャスト入力部により受信されたメモリアクセス要求を出力するとともに保持するグローバルポート部と、
前記グローバルポート部が出力するメモリアクセス要求についてスヌープ処理を行い、該スヌープ処理の検査結果を含むキャッシュステイタスを他のシステム制御装置へ送信し、他のシステム制御装置から受信したキャッシュステイタスに基づいてシステム制御装置間の同期エラーを検出し、同期エラーが発生した場合に同期エラーとなったメモリアクセス要求を保持する前記ローカルポート部へ前記エラーリトライ指示を出力するスヌープ制御部と、
を備えてなるシステム制御装置。
（付記３）  付記２に記載のシステム制御装置において、
前記スヌープ制御部はさらに、前記同期エラーが発生した場合に全てのグローバルポート部へリセット指示を出力し、
前記グローバルポート部はさらに、リセット指示を受け取ると、保持しているメモリアクセス要求をリセットすることを特徴とするシステム制御装置。
（付記４）  付記２または付記３に記載のシステム制御装置において、
前記スヌープ制御部はさらに、スヌープ処理が正常に終了したメモリアクセス要求を保持している前記ローカルポート部と前記グローバルポートへリセット指示を出力し、
前記ローカルポート部と前記グローバルポート部はさらに、前記リセット指示を受け取ると、保持しているメモリアクセス要求をリセットすることを特徴とするシステム制御装置。
（付記５）  付記２乃至付記４のいずれかに記載のシステム制御装置において、
前記キャッシュステイタスはさらに、前記スヌープ処理の対象となるメモリアクセス要求の識別子を含み、
前記スヌープ制御部はさらに、全てのシステム制御装置から得られる前記識別子を比較することにより同期エラーを検出することを特徴とするシステム制御装置。
（付記６）  メモリのスヌープ処理を行うシステム制御方法であって、
外部から受信したメモリアクセス要求を出力するとともに保持するローカルポートステップと、
前記ローカルポートステップが出力するメモリアクセス要求を他のシステム制御装置へブロードキャストするブロードキャストステップと、
他のシステム制御装置からブロードキャストされたメモリアクセス要求を受信するブロードキャスト受信ステップと、
前記ブロードキャスト受信ステップにより受信されたメモリアクセス要求を出力するとともに保持するグローバルポートステップと、
前記グローバルポートステップで出力されるメモリアクセス要求についてスヌープ処理を行い、該スヌープ処理の検査結果を含むキャッシュステイタスを他のシステム制御装置へ送信し、他のシステム制御装置から受信したキャッシュステイタスに基づいてシステム制御装置間の同期エラーを検出し、同期エラーが発生した場合にエラーリトライ指示を出力するスヌープ制御ステップと、
前記エラーリトライ指示を受け取ると、前記ローカルポートステップが保持している同期エラーが発生したメモリアクセス要求を再び出力するエラーリトライステップと、
を備えてなるシステム制御方法。
（付記７）  付記６に記載のシステム制御方法において、
前記スヌープ制御ステップはさらに、前記同期エラーが発生した場合に全てのグローバルポートステップへグローバルポートリセット指示を出力し、
該グローバルポートリセット指示を受け取ると、保持しているメモリアクセス要求をリセットする前記グローバルポートリセットステップをさらに備えることを特徴とするシステム制御方法。
（付記８）  付記６または付記７に記載のシステム制御方法において、
前記スヌープ制御ステップはさらに、スヌープ処理が正常に終了した場合に、リセット指示を出力し、
該リセット指示を受け取ると、前記スヌープ処理が正常に終了したメモリアクセス要求をリセットするリセットステップを備えることを特徴とするシステム制御方法。
（付記９）  付記６乃至付記８のいずれかに記載のシステム制御方法において、
前記キャッシュステイタスはさらに、前記スヌープ処理の対象となるメモリアクセス要求の識別子を含み、
前記スヌープ制御ステップはさらに、全てのシステム制御装置から得られる前記識別子を比較することにより同期エラーを検出することを特徴とするシステム制御方法。
【図面の簡単な説明】
【００３７】
【図１】本発明に係るサーバーの構成の一例を示すブロック図である。
【図２】本発明に係るＳＣの構成の一例を示すブロック図である。
【図３】本発明に係るＳＣの動作の一例を示すフローチャートである。
【図４】本発明に係るサーバーにおけるフェッチ要求に関する動作の一例を示すタイムチャートである。
【図５】従来のサーバーの構成の一例を示すブロック図である。
【図６】従来のＳＣの構成の一例を示すブロック図である。
【図７】従来のサーバーにおけるフェッチ要求に関する動作の一例を示すタイムチャートである。
【符号の説明】
【００３８】
１ａ，１ｂ，１０１ａ，１０１ｂ  ＳＢ、２ａ，２ｂ，２ｃ，２ｄ  ＣＰＵ、３ａ，３ｂ，３ｃ，３ｄ  ＩＯ、４ａ，４ｂ，４ｃ，４ｄ，４ｅ，４ｆ，４ｇ，４ｈ  ＭＥＭ、５ａ，５ｂ，１０５ａ，１０５ｂ  ＳＣ、１１，１１１  ＬＰＴ、１２  ブロードキャスト出力部、２１  ブロードキャスト入力部、２２，１２２  ＧＰＴ、２３，１２３  スヌープ制御部。
【図１】
2006155110.tif 000003
【図２】
2006155110.tif 000004
【図３】
2006155110.tif 000005
【図４】
2006155110.tif 000006
【図５】
2006155110.tif 000007
【図６】
2006155110.tif 000008
【図７】
2006155110.tif 000009