(57)【要約】【課題】大規模な分散システムの同期化を可能とする。【解決手段】データ処理システムであって、トランザクション要求を生成する複数のトランザクション要求生成装置、トランザクション要求を受信する受信装置を含む複数の装置、同期化装置、上記装置を相互接続する少なくとも１つの相互接続装置とを有する。同期化装置は、トランザクション装置の１つによって生成されたシステム同期化要求の受信に応答して、トランザクション要求の少なくとも一部の進捗を判定するために複数の同期化要求を生成し、この複数の同期化要求をマルチキャストするため、データ処理システムの装置の少なくとも１部に同期化要求を出力するマルチキャスト回路と、複数の同期化要求に対する応答を収集し、全ての応答が受信されたという判定に応答して、システム同期化要求の１つに対する応答を出力するする収集回路を含む。【選択図】図２
2013037693.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なる種類のシステム同期化要求の１つの受信に応答して、データ処理システムを介して送られるトランザクション要求の少なくとも一部の進捗を判定する同期化装置において、前記データ処理システムは、前記トランザクション要求を生成する複数のトランザクション要求生成装置、及び、前記トランザクション要求を受信する複数の受信装置を含む複数の装置と、前記同期化装置と、並びに、前記装置の少なくとも一部を相互接続するための少なくとも１つの相互接続装置とを含み、
前記システム同期化要求は、前記複数のトランザクション生成装置の１つにより生成され、前記トランザクション要求の少なくとも一部の進捗について問い合せる要求を含み、
前記同期化装置は、
前記データ処理システムから要求を受信して、要求と応答を前記データ処理システムに出力するための少なくとも１つのポートと、
前記少なくとも１つのポートにおいて受信された前記システム同期化要求の前記種類を識別するためのシステム同期化要求識別回路と、
マルチキャスト回路へと出力される受信された保留中のシステム同期化要求を記憶するためのバッファ回路と、
前記マルチキャスト回路に出力するため、次の保留中のシステム同期化要求を選択するための調停回路とを含み、
前記マルチキャスト回路は、前記システム同期化要求の受信に応答して、複数の同期化要求を生成し、前記複数の同期化要求を、マルチキャストするために前記データ処理システム内の前記装置の少なくとも１部に出力するよう構成されており、前記同期化要求は、前記装置の前記それぞれの少なくとも一部のそれぞれにおける前記トランザクション要求の前記少なくとも一部の前記進捗について問い合せ、更に、前記同期化装置は、
前記複数の同期化要求に対する応答を収集する収集回路であって、前記応答は、前記問い合わせられた進行が、前記各装置において発生したということを確認し、前記収集回路が、前記システム同期化要求の１つに応答して生成された前記複数の同期化要求の全てに対する応答が受信された時を判定し、前記応答全てが受信されたという判定に応答して、前記システム同期化要求の前記１つに対する応答を出力するよう構成された前記収集回路
を含むことを特徴とする同期化装置。
【請求項２】
前記調停回路は、前記システム同期化要求の前記種類、及び、前記システム同期化要求の要求元に基づいて、前記マルチキャスト回路に出力するための次の前記保留中のシステム同期化要求を選択するよう構成されることを特徴とする請求項１に記載の同期化装置。
【請求項３】
前記同期化装置は、前記システム同期化要求に加えて、複数のシステム保守要求を実行するよう構成され、前記調停回路は、前記マルチキャスト回路に出力するための次の前記システム保守要求、及び、前記システム同期化要求を選択するよう構成されることを特徴とする請求項１または２に記載の同期化装置。
【請求項４】
前記システム同期化要求は、前記トランザクション要求の前記少なくとも一部が完了したことの確認を要求することを特徴とする請求項１〜３の何れか１項に記載の同期化装置。
【請求項５】
進捗が前記システム同期化要求によって問い合わせられる前記トランザクション要求の前記少なくとも一部は、前記システム同期化要求を生成した前記トランザクション生成装置によって以前に出力されたトランザクション要求の少なくとも一部を含むことを特徴とする請求項４に記載の同期化装置。
【請求項６】
前記システム同期化要求は、前記トランザクション要求の前記少なくとも１部が、その送信先装置において受信されたことの確認を要求することを特徴とする請求項５に記載の同期化装置。
【請求項７】
前記同期化装置は、前記同期化要求をマルチキャストの宛先となる、前記少なくとも一部の装置を識別する少なくとも１つのターゲットリストを記憶するためのデータストアを含むことを特徴とする請求項１〜６の何れか１項に記載の同期化装置。
【請求項８】
前記データ処理システムは、セキュリティが確保された処理ドメイン、及び、セキュリティが確保されていない処理ドメインを含み、前記データストアは、前記セキュリティが確保されていない処理ドメインからはアクセス不可能なセキュリティが確保されたデータストアであることを特徴とする請求項７に記載の同期化装置。
【請求項９】
前記データストアは、複数のターゲットリストを含み、前記ターゲットリストの少なくとも１つが、前記複数のトランザクション生成装置の前記少なくとも１つに対応し、これによって、前記ターゲットリストの１つに対応する前記複数のトランザクション生成装置の１つからの前記システム同期化要求の受信に応答して、前記生成された同期化要求は、前記対応するターゲットリストの中の前記少なくとも一部の装置へと送られることを特徴とする請求項７または８に記載の同期化装置。
【請求項１０】
前記同期化装置は、前記セキュリティが確保された（処理）ドメイン内で生成された更新信号に受信に応答して、前記少なくとも１つのターゲットリストの少なくとも１つを更新することを特徴とする請求項８または９に記載の同期化装置。
【請求項１１】
前記データストアは、複数のターゲットリストを記憶するよう構成され、前記ターゲットリストの少なくとも１つは、前記システム同期化要求の前記種類の少なくとも１つ、及び、前記複数のトランザクション生成装置の前記少なくとも１つに対応し、これによって、前記複数のトランザクション生成装置の前記少なくとも１つからの少なくとも１つの前記種類の前記システム同期化要求の受信に応答して、前記生成された同期化要求は、前記対応ターゲットリストの前記少なくとも一部の装置に送られることを特徴とする請求項７〜１０の何れか１項に記載の同期化装置。
【請求項１２】
前記システム同期化要求は、同期化バリアトランザクション要求、メモリー保守同期化要求、及び、完了中断処理要求の少なくとも１つを含むことを特徴とする請求項１〜１１の何れか１項に記載の同期化装置。
【請求項１３】
前記同期化バリアトランザクション要求を含む前記システム同期化要求に応答して、前記マルチキャスト回路は、複数のバリアトランザクション要求を前記複数の同期化要求として生成するよう構成され、前記複数のバリアトランザクション要求は、前記同期化バリアトランザクション要求を生成した前記トランザクション生成装置によって発行された全ての保留中のトランザクション要求が完了したという確認を、前記少なくとも一部の装置から要求し、前記複数のバリアトランザクション要求に対する前記応答は、保留中のトランザクションが完了したということを示すことを特徴とする請求項１２に記載の同期化装置。
【請求項１４】
前記メモリー保守同期化要求を含む前記システム同期化要求に応答して、前記システム同期化要求は、前記トランザクション生成装置によって発行された複数のメモリー保守操作要求の進捗について問い合せる要求を含み、前記複数の同期化要求に対する前記応答は、前記各装置が、前記メモリー保守操作要求を完了したことを示すことを特徴とする請求項１２または１３に記載の同期化装置。
【請求項１５】
前記局所電源停止要求を含む前記システム同期化要求に応答して、前記マルチキャスト回路は、前記複数の同期化要求として、前記各装置が、全ての保留中のトランザクション要求を完了したことの確認を要求する要求を生成することを特徴とする請求項１２〜１４の何れか１項に記載の同期化装置。
【請求項１６】
トランザクション生成装置において、
複数の装置に出力するための複数のトランザクション要求を生成するよう構成されたトランザクション生成装置と、
前記複数の装置によって実行されるトランザクション要求の少なくとも一部の進捗について問い合わせる複数の異なる種類のシステム同期化要求を生成するよう構成されたシステム同期化要求生成装置と、
前記システム同期化要求を同期化装置に出力する出力ポートとを含み、
前記トランザクション生成装置は、前記同期化装置から、前記システム同期化要求に対する応答を受信するまで、新たなトランザクション要求を出力しないよう構成されることを特徴とするトランザクション生成装置。
【請求項１７】
データ処理システムにおいて、
複数のトランザクション要求生成装置を含む複数の装置であって、前記トランザクション生成装置の少なくとも１つが、請求項１６に基づく前記トランザクション生成装置である複数の装置と、前記トランザクション要求を受信するための少なくとも１つの受信装置と、並びに、同期化装置とを含み、
前記同期化装置は、
前記トランザクション生成装置から前記同期化要求を受信する少なくとも１つのポートと、
前記少なくとも１つのポートにおいて受信された前記システム同期化要求の前記種類を識別するためのシステム同期化要求識別回路と、
マルチキャスト回路に出力するための受信されたシステム同期化要求を記憶するためのバッファ回路と、
前記マルチキャスト回路に出力するために、次の前記保留中のシステム同期化要求を選択するための調停回路とを含み、
前記マルチキャスト回路は、前記システム同期化要求の受信に応答して、複数の同期化要求を生成し、更に、前記複数の同期化要求を、マルチキャストするために、前記データ処理システムの前記装置の少なくとも１部に出力するよう構成されており、前記同期化要求は、前記装置の前記それぞれの少なくとも一部のそれぞれにおける前記トランザクション要求の前記少なくとも一部の前記進捗について問い合せ、更に、前記同期化装置は、
前記複数の同期化要求に対する応答を収集する収集回路であって、前記応答は、前記問い合わせられた進捗が、前記各装置において発生したということを確認し、前記収集回路は、前記システム同期化要求の１つに応答して生成された前記複数の同期化要求の全てに対する応答が受信された時を判定し、前記応答の全てが受信されたという判定に応答して、前記システム同期化要求の前記１つに対する応答を出力するよう構成された前記収集回路
を含むことを特徴とするデータ処理システム。
【請求項１８】
データ処理システムを介して送信されるトランザクション要求の少なくとも１部の進捗を判定する方法において、前記データ処理システムは、複数のトランザクション要求生成装置、前記トランザクション要求を受信するための複数の受信装置、同期化装置、並びに、前記装置の少なくとも一部を相互接続する少なくとも１つの相互接続装置を含む複数の装置を有し、前記方法は、
前記複数のトランザクション要求生成装置の１つから受信した前記トランザクション要求の少なくとも一部の進捗について問い合わせる複数のシステム同期化要求を受信するステップであって、前記システム同期化要求の少なくとも一部は、トランザクション要求の種々の要素の進捗に関する様々な種類の問い合せであるステップと、
前記マルチキャスト回路に出力するため、前記受信された保留中のシステム同期化要求の１つを選択するステップと、
前記選択された保留中のシステム同期化要求を受信し、複数の同期化要求を生成して、前記複数の同期化要求を前記データ処理システムの前記装置の少なくとも１部にマルチキャストするステップであって、前記同期化要求は、前記各装置のそれぞれにおける前記トランザクション要求の前記少なくとも一部の進捗について問合せるステップと、
前記複数の同期化要求に対する応答を収集するステップと、
前記システム同期化要求の１つから生成された前記複数の同期化要求全てに対する応答を受信した時を判定し、前記応答全てが受信されたと判定されたことに応答して、前記システム同期化要求の１つに対する応答を出力するステップと
を含むことを特徴とする方法。
【請求項１９】
トランザクション要求の進捗について問い合わせる方法において、
複数の装置に出力するための複数のトランザクション要求を生成するステップと、
前記複数の装置により実行されるトランザクション要求の少なくとも一部の進捗について問い合わせる複数のシステム同期化要求を生成するステップであって、前記複数のシステム同期化要求の少なくとも一部は、種類が異なるステップと、
更に、前記システム同期化要求を同期化装置に出力するステップと、
前記システム同期化要求に対する応答が、前記同期化装置から受信されるまで、新たな要求を出力しないステップとを含むことを特徴とする方法。
【請求項２０】
複数の異なる種類のシステム同期化要求の１つの受信に応答して、データ処理システムを介して送られるトランザクション要求の少なくとも１部の進捗を判定する同期化手段において、前記データ処理システムは、トランザクション要求を生成する複数の起動装置手段、及び、前記トランザクション要求を受信する複数の受信装置手段を含む複数の装置手段と、前記同期化手段と、並びに、前記装置手段の少なくとも一部を相互接続するための少なくとも１つの相互接続手段を有し、
前記システム同期化要求は、前記複数のトランザクション生成装置の１つにより生成され、前記トランザクション要求の前記少なくとも一部に関する進捗について問い合せる要求を含み、前記同期化手段は、
前記データ処理システムから要求を受信し、要求と応答を前記データ処理システムに出力するための少なくとも１つのポート手段と、
前記少なくとも１つのポートにおいて受信された前記システム同期化要求の前記種類を識別するシステム同期化要求識別手段と、
マルチキャスト回路に出力される受信された保留中のシステム同期化要求を記憶するためのバッファ手段と、
前記マルチキャスト回路に出力するため、次の保留中のシステム同期化要求を１つ選択する調停手段と、
前記システム同期化要求の受信に応答して、複数の同期化要求を生成し、前記複数の同期化要求を、マルチキャストするために、前記データ処理システムの前記装置手段の少なくとも一部へと出力するマルチキャスト手段であって、前記同期化要求は、前記装置手段のそれぞれにおける前記トランザクション手段の前記少なくとも一部の前記進捗について問い合わせる、マルチキャスト手段と、
前記複数の同期化要求に対する応答を収集する収集手段であって、前記応答は、前記問い合せられた進捗が前記各装置手段において発生したことを確認し、前記収集手段は、システム同期化要求の１つに応答して生成された前記複数の同期化要求の全てに対する応答を受信した時を判定し、前記応答全てを受信したという判定に応答して、前記システム同期化要求の前記１つに応答を出力するための前記収集手段と
を含むことを特徴とする同期化手段。
【請求項２１】
起動装置手段において、
複数の装置に出力するための複数のトランザクション要求を生成するためのトランザクション生成手段と、
前記複数の装置により実行されるトランザクション要求の少なくとも一部の進捗について問い合わせる複数の異なる種類のシステム同期化要求を生成するためのシステム同期化要求生成手段と、
前記システム同期化要求を同期化装置に出力するための出力ポート手段とを含み、
前記トランザクション生成手段は、前記同期化装置から、前記システム同期化要求に対する応答を受信するまで、新たなトランザクション要求を出力しないよう構成されることを特徴とする起動装置手段。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野は、相互接続装置を介して接続する複数の装置を含むシステムのデータ処理技術分野に関し、具体的には、この様な分散システムの種々の構成要素を同期化する方法に関する。
【背景技術】
【０００２】
１つ以上の相互接続装置で相互接続した多数の装置を含む分散システムが、知られている。これらの相互接続装置を介して流れるトランザクション要求は、種々の経路を取ることがあり、様々な形で遅延する場合がある。これによって、トランザクションの順番が変化するという重大なおそれがある。このことは、トランザクションによっては、問題となることもあれば、問題とならないこともあるが、場合によっては、予測されない結果をもたらすおそれのあるプログラム順序の変化が起こる。
【０００３】
それ故、トランザクション要求フローのある時点でのシステム同期化が重要であり、トランザクション要求生成装置は、その時点以前のトランザクションの進捗合いを見極めるよう、システムを介してマルチキャストする何らかの同期化要求を生成する機能を備えることがある。トランザクション要求生成装置は、すべてのマルチキャスト同期化要求に対する応答を受信すると、先行トランザクションが要求地点に達して、次トランザクション要求の発行が安全であると認識する。
【０００４】
この様な同期化要求の１つの例として、バリア（barrier）要求がある。バリア要求は、この要求に応じてトランザクション要求の順序を保つために生成される。したがって、トランザクション要求生成装置は、次トランザクション要求を発行する前に、先行トランザクション要求が完了しているか、または、この要求が少なくともシステムの要求地点に達していることが重要であるトランザクション要求ストリーム内のある地点において、バリアを生成することができる。したがって、保留中（pending）のトランザクション要求がすべて発行され、複数のバリアトランザクションが生成、送信されて、進捗が監視されるトランザクション要求を追跡する。複数のバリアトランザクションすべてに対する応答が受信されると、次トランザクション要求を発行できる。
【０００５】
トランザクション要求生成装置、及び、受信装置の数の増加に伴ってより複雑となったシステムでは、同期化要求の生成と配付、そして、各トランザクション要求生成装置における応答を収集するための回路が重要である。とりわけ、トランザクション生成装置は、同期化要求を送る全ての送信先装置を把握している必要があり、バリアを送信して、各送信先装置からの応答を追跡しなければならない。
【０００６】
システム構成要素のハードウェアを不必要に増やさずに、大規模な分散システムの同期化を可能とすることが求められるであろう。
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明の第１態様では、複数の異なる種類のシステム同期化要求の１つの受信に応答して、データ処理システムを介して送られるトランザクション要求の少なくとも一部の進捗を判定する同期化装置を提供しており、上記データ処理システムは、トランザクション要求を生成する複数のトランザクション要求生成装置、及び、トランザクション要求を受信する複数の受信装置を有する複数の装置と、同期化装置と、並びに、上記複数の装置の少なくとも一部を相互接続する少なくとも１つの相互接続装置とを含み、システム同期化要求は、複数のトランザクション生成装置の１つにより生成され、トランザクション要求の少なくとも一部の進捗について問い合せる要求を含み、上記同期化装置は、データ処理システムから要求を受信し、要求と応答をデータ処理システムに出力するための少なくとも１つのポートと、少なくとも１つのポートにおいて受信されたシステム同期化要求の種類を識別するシステム同期化要求識別回路と、マルチキャスト回路に出力するべき受信した保留中のシステム同期化要求を記憶するためのバッファ回路と、マルチキャスト回路に出力するため、次の保留中のシステム同期化要求を選択するための調停回路とを含み、マルチキャスト回路は、システム同期化要求の受信に応答して、複数の同期化要求を生成して、この複数の要求を、マルチキャストするためにデータ処理システムの複数の装置の少なくとも１部に出力するよう構成されており、同期化要求は、装置の少なくとも一部のそれぞれにおけるトランザクション要求の少なくとも一部の進捗を問い合せ、更に、上記同期化装置は、複数の同期化要求に対する応答を収集する収集回路であって、この応答は、問い合わせされた進捗が各装置において発生したということを確認し、上記収集回路が、システム同期化要求の１つに応答して作成された複数の同期化要求の全てに対する応答が受信された時を判定し、全ての応答が受信されたという判定に応答して、システム同期化要求の１つに対する応答を出力するよう構成された収集回路を含む。
【０００８】
本発明では、大規模分散システムにおける、ハードウェア数及びシステム同期化時の帯域要件の増加の問題を認識している。本発明は、この問題を、要求される同期化要求を作成してから、これを該当装置にマルチキャストすることにより、各トランザクション生成装置からの複数の異なるシステム同期化要求に応答する集中型の同期化装置を提供することで解決している。更に、この同期化装置は、マルチキャストした同期化要求に対する応答を収集して、全ての応答を収集したら、システム同期化要求を発行したトランザクション生成装置に応答する。
【０００９】
同期化を一元的に行うことにより、各トランザクション生成装置は、独自の同期化回路を必要とせず、システム同期化要求を生成して、これを特定の装置に送って、応答を待つだけで良い。従って、要求生成マルチキャスト回路、及び、応答収集回路は、多くのトランザクション生成装置から使用可能な１つの装置に配置できる。しかも、マルチキャスト同期化要求に応答する装置は、システム同期化要求元を特定して、応答を装置に送る必要はなく、同期化要求に対する応答を同期化装置に送るだけで良いので、これら応答のルーティング処理が容易となる。
【００１０】
更に、調停回路を同期化装置内に提供することにより、種々の同期化要求の順序を制御でき、想定される衝突を解決可能であり、優先度がこの中央装置に付与される。これによって、各トランザクション生成装置、及び、受信装置において、従来技術における装置で見られる複雑なハンドシェーキング機構を用いてフローを制御する必要が避けられる。
【００１１】
注意すべき点として、トランザクション生成装置は、トランザクションを生成する全ての装置であり、それ故、データプロセッサーまたはグラフィックエンジンの様なシステム内のマスター、若しくは、起動（initiator）装置であり得る。受信装置は、トランザクション要求を受信する全装置であり、トランザクション要求の最終的な送り先でなくても良く、コヒーレンスコントローラ、または、他の相互接続の様な中間の装置であっても良い。
【００１２】
ある実施形態では、調停回路は、システム同期化要求の種類、及び、システム同期化要求の要求元に応じ、マルチキャスト回路に出力するため、保留中のシステム同期化要求の中の次の１つを選ぶよう構成される。
【００１３】
システム同期化要求の順序付け、及び、優先順位付けは、要求の種類と要求元、及び、記憶された優先順位付けアルゴリズムに基づいて、調停回路によって実行可能である。種々の要求元からのシステム同期化要求同士の衝突は、データ処理システムにおいて複雑なフロー制御を行うことなく、調停回路により識別、取り組み可能である。
【００１４】
ある実施形態では、同期化装置は、システム同期化要求と併せて、複数のシステム保守要求を実行するよう構成されており、調停回路は、マルチキャスト回路に出力されるシステム保守要求、及び、システム同期化要求のうちの次の１つを選ぶよう構成される。
【００１５】
同期化要求を一元的に制御する他、実施形態によっては、同期化装置は、更に、システム保守要求を受信、処理できる。これらの要求は、一般的に、メモリーを対象としない要求であり、メモリー保守要求、構成要求、及び、エラー処理要求が含まれる。この要求には、これらがマルチキャストされ、応答が収集されるという点において、同期化要求用のものと類似の回路による処理が求められる。更に、要求の一部は、同期化要求と関連していることもあり、要求を同じ装置で処理すれば、要求のフロー制御が容易となるので都合が良い。
【００１６】
システム同期化要求は、多くの方法でトランザクション要求の少なくとも一部の進捗を追跡できるが、実施形態によっては、トランザクション要求が完了したことの確認が要求される。
【００１７】
進捗が問い合せられているトランザクション要求の一部が、どの部分であっても、ある実施形態では、このトランザクション要求の一部は、システム同期化要求を生成したトランザクション要求生成装置が以前に出力した要求である。
【００１８】
一般的に、システム同期化要求を生成する装置は、以前生成した要求によるシステム全体への影響に依存する可能性のある次の要求を発行する前に、以前に生成した要求がどの様に進行しているかを把握したいと思っている。従って、トランザクション要求の一部は、システム同期化要求を生成した装置から発行されたトランザクション要求の少なくとも一部であることが多い。
【００１９】
ある実施形態では、システム同期化要求は、トランザクション要求の少なくとも一部が、送信先装置において受信されたことに関する確認を要求する。
【００２０】
しかし、場合によっては、トランザクション要求が完了、つまり、最終的な宛先において目的とする操作が実行されたことを知ることが望ましいことがある。別の場合では、トランザクション要求がその送信先装置において、受信されたことを確認することで充分な場合もあり、それは、このことが次のトランザクション要求の発行にとって充分であり得るからである。これは、例えば、送信先装置が、受信トランザクション要求の順序が変わることを許容しない場合であり得る。
【００２１】
ある実施形態では、同期化装置は、同期化要求をマルチキャストするため、少なくとも一部の装置を識別する少なくとも１つのターゲットリストを記憶するためのデータストアを含む。
【００２２】
システム同期化要求に応答して同期化要求がマルチキャストされる装置を、リストとして同期化装置内に記憶することができる。これは、情報を一元的に記憶して、適切な装置への同期化要求のマルチキャストを可能とする便利な手法となれる。追跡される過去のトランザクションの送り先、そして、生成した同期化要求のマルチキャスト先を知ることは複雑な問題となることがあり、接続に基づく同期化装置へのリストの記憶、及び、システムのルーティングがこれらの情報を同期化装置に供給するにには都合の良い方法である。更に、この方法は、フロー制御を可能とし、場合によっては、ある数のシステム同期化要求を任意の時点で処理することも可能であり、これによって、矛盾する要件を含む可能性のある同期化メッセージを大量に送信先装置に送ることが防止される。
【００２３】
ある実施形態では、データ処理システムは、セキュリティが確保された処理領域(secure processing domain)、及び、セキュリティが確保されていない処理領域(non-secure processing domain)を含み、データストアは、セキュリティが確保されていない処理領域からのアクセスが禁止されているセキュリティが確保されたデータストアである。
【００２４】
この場合の様に、装置のターゲットリストが安全に記憶されること、つまり、リストは、必要に応じて、セキュリティが確保されたシステムから更新されるが、セキュリティが確保されていない処理領域においては更新できないことが有利である場合がある。これによって、システムの誤作動の原因となりうる、これらリストをユーザが誤って更新することが防止される。
【００２５】
ある実施形態では、データストアは、複数のターゲットリストを含み、このターゲットリストの少なくとも１つは、複数のトランザクション生成装置の少なくとも１つに対応し、これによって、リストの１つに対応する複数のトランザクション生成装置の１つからのシステム同期化要求の受信に応答して、生成された同期化要求は、対応ターゲットリスト中の少なくとも一部の装置へと送られる。
【００２６】
同期化要求が送られる装置は、システム同期化要求を作成したトランザクション生成装置によって決まる。これは、種々のトランザクション生成装置が、他の装置とやりとりするよう構成、ルーティングされることによって、同期化要求は、トランザクション生成装置がやりとりする装置のみに送られるからである。それ故、これらのトランザクション生成装置に対応する複数のリストを記憶することが便利であり、同期化装置は、システム同期化要求の到来元を判定する際に必要とされるリストを選択できる。
【００２７】
ある実施形態では、同期化装置は、セキュリティが確保された領域において生成された更新信号の受信に応答して、少なくとも１つのターゲットリストの少なくとも１つを更新する。
【００２８】
ターゲットリストを更新できれば、便利な場合もある。トランザクション生成装置が通信する装置は、時間の経過にともなって変化することがある。例えば、各装置を種々の領域内に配置して、種々の装置と通信したり、通信先装置の電源を停止できるよう、装置のルーティングアルゴリズムを再プログラムできる。一元的なリストの記憶は、要求時の更新を実行する上で便利で、効率が良い。ある実施形態では、同期化装置は、複数の異なる種類のシステム同期化要求を処理するよう構成されており、データストアは、複数のターゲットリストを記憶するよう構成され、ターゲットリストの少なくとも１つは、システム同期化要求の種類の少なくとも１つ、及び、複数のトランザクション生成装置の少なくとも１つに対応しており、これによって、複数のトランザクション生成装置の少なくとも１つから少なくとも１つのシステム同期化要求の受信に応答して、生成された同期化要求が、該当ターゲットリストにおける少なくとも一部の装置へと送られる。
【００２９】
様々な種類のシステム同期化要求がある場合、マルチキャスト同期化要求を受信する必要のある装置は、同期化要求の種類で決まることがあるため、データストアの中にシステム同期化要求の種類に依存するターゲットリストのある方が望ましい場合がある。
【００３０】
ある実施形態では、トランザクション生成装置ごと、及び、トランザクション生成装置が発行可能なシステム同期化要求の種類ごとに、ターゲットリストが存在することがある。
【００３１】
実施形態によっては、システム同期化要求は、同期化バリアトランザクション要求、メモリー保守同期化要求、及び、完了中断処理要求の少なくとも１つを含む。
【００３２】
システム同期化要求は、トランザクション要求の進捗について問い合わせる複数の異なる要求を含んでも良い。これらの要求は、同期化バリアトランザクション要求である場合もあれば、メモリー保守同期化要求である場合もあり、更には、電源停止、または、再構成要求前に実行され得る完了中断処理要求の場合もある。
【００３３】
ある実施形態では、同期化バリアトランザクション要求を含むシステム同期化要求に応答して、マルチキャスト回路は、複数のバリアトランザクション要求を複数の同期化要求として生成するよう構成され、複数のバリアトランザクション要求は、同期化バリアトランザクション要求を生成したトランザクション生成装置から発行される保留中の全てのトランザクション要求が完了したという確認を、少なくとも一部の装置から要求し、複数のバリアトランザクション要求に対する応答は、保留中のトランザクションが完了したということを示している。
【００３４】
システム同期化要求が、同期化バリアトランザクション要求である場合、同期化装置は、バリアトランザクション要求を複数の同期化要求として発行する。これらのバリアトラザンクション要求は、該当装置に送られ、関連する先行トランザクションの少なくとも一部が完了した時に応答する。このため、バリアトランザクション要求すべてに対する応答が、同期化装置において受信された時、同期化（装置）は応答する。
【００３５】
ある実施形態では、メモリー保守同期化要求を含むシステム同期化要求に応答して、このシステム同期化要求は、トランザクション生成装置から発行された複数のメモリー保守操作要求の進捗について問い合せる要求を含み、複数の同期化要求に対する応答は、各装置が、メモリー保守操作要求を完了したことを示す。
【００３６】
更に、メモリー保守同期化要求は、操作の進捗を監視する要求でもある。この場合、メモリー保守同期化要求は、メモリー保守操作の進捗を問い合わせる。例えば、複数の装置において、テーブルルックアサイドバッファを更新する場合、メモリー保守同期化要求を用いて、これらのテーブルを使用する次トランザクションが発行される前に、各装置において更新が完了していることを確認できる。この場合、問い合わせられる装置は一般的に、同じメモリー領域に関連するテーブルルックアサイドバッファを有する他のトランザクション生成装置である。
【００３７】
ある実施形態では、完了中断処理要求を含むシステム同期化要求に応答して、マルチキャスト回路は、複数の同期化要求として、各装置が保留中のトランザクション要求すべてを完了したという確認を要求する要求を生成するよう構成される。
【００３８】
同期化システム同期化要求が、完了中断処理要求の場合では、装置により実行されるトランザクション要求が完了したということを分かっていることが重要である。この場合、トランザクション生成装置、及び、受信装置の双方が問い合せられることがあり、この様な場合では、順序付け要求が存在し、同期化装置は、最初に完了中断処理要求をトランザクション生成装置へと出力して、処理を完了したという応答を受信した時のみにおいて、完了中断処理要求を受信装置に出力できる。
【００３９】
本発明の第２態様では、トランザクション生成装置を提供しており、このトランザクション生成装置は、複数の装置に出力するための複数のトランザクション要求を生成するよう構成されたトランザクション生成装置と、複数の装置によって実行されるトランザクション要求の少なくとも１部の進捗について問い合わせるシステム同期化要求を生成するよう構成されたシステム同期化要求生成装置と、並びに、システム同期化要求を同期化装置に出力する出力ポートとを含み、トランザクション生成装置は、同期化装置から、システム同期化要求に対する応答を受信するまで、これ以上要求を出力しないよう構成される。
【００４０】
中央同期化装置を提供することによって、プロセッサーコア、グラフィックエンジン、ＤＭＡコントローラの様な一般的には起動装置であるトランザクション生成装置が、同期化要求そのものをマルチキャスティングせずに、同期化装置に送られるシステム同期化要求を１つ生成し、これに対する応答を待機するだけで、データ処理システムにおけるトランザクション要求の進捗について問い合わせることが可能となる。
【００４１】
本発明の第２態様では、トランザクション生成装置を提供しており、このトランザクション生成装置は、複数の装置に出力するための複数のトランザクション要求を生成するよう構成されたトランザクション生成装置と、複数の装置により実行されるトランザクション要求の少なくとも一部の進捗について問い合わせる複数の異なる種類のシステム同期化要求を生成するよう構成されたシステム同期化要求生成装置と、及び、システム同期化要求を同期化装置へと出力するための出力ポートとを含み、トランザクション生成装置は、同期化装置からのシステム同期化要求に対する応答を受信するまで、これ以上要求を出力しないよう構成される。
【００４２】
本発明の第３態様は、複数の装置を含むデータ処理システムを含み、複数の装置は、複数のトランザクション要求生成装置であって、このトランザクション要求生成装置の少なくとも１つは、本発明の第２態様に基づくトランザクション要求生成装置、更に、上記装置は、トランザクション要求を受信する少なくとも１つの受信装置、及び、同期化装置を含み、この同期化装置は、トランザクション要求生成装置から同期化要求を受信する少なくとも１つのポートと、少なくとも１つのポートにおいて受信されたシステム同期化要求の種類を識別するシステム同期化要求識別回路と、マルチキャスト回路に出力する受信された出力システム同期化要求を記憶するバッファ回路と、マルチキャスト回路に出力するため、次の保留中のシステム同期化要求を選択する調停回路を含み、マルチキャスト回路は、システム同期化要求の受信に応答して、複数の同期化要求を生成し、この複数の同期化要求を、マルチキャストするために、データ処理システムにおける装置の少なくとも一部に出力するよう構成されており、同期化要求は、装置の少なくとも一部の夫々におけるトランザクション要求の少なくとも一部の進捗について問い合わせ、上記同期化装置は、更に、複数の同期化要求に対する応答を収集する収集回路であって、この応答は、問い合わせされた進行が各装置において発生したということを確認し、この収集回路は、システム同期化要求の1つに応答して生成される複数の同期化要求の全てに対する応答を受信した時を判定し、この応答全てが受信されたという判定に応答して、システム同期化要求の1つに対する応答を出力する収集回路とを含む。
【００４３】
この様なシステムでは、受信装置は、種々の生成装置からの同時保留同期化要求を選択するために、フロー制御を行ったり、或いは、優先順位付け機構、または、調停機構を備える必要がない。何故ならば、同期化装置が、この処理を実行するからである。
【００４４】
本発明の第４態様では、データ処理システムを介して送信されるトランザクション要求の少なくとも１部の進捗を判定する方法を提供しており、上記データ処理システムは、複数の装置を含み、複数の装置は、複数のトランザクション要求生成装置、トランザクション要求を受信するための複数の受信装置、同期化装置、並びに、装置の少なくとも一部を相互接続する少なくとも１つの相互接続装置を含み、上記方法は、複数のトランザクション要求生成装置の１つから受信したトランザクション要求の少なくとも一部の進捗について問い合わせる複数のシステム同期化要求を受信するステップを含み、システムの同期化要求の少なくとも一部は、トランザクション要求の種々の要素の進捗に関する種々の種類の問い合せであり、上記方法は、更に、マルチキャスト回路に出力するため、受信された保留中のシステム同期化要求の１つを選択するステップと、選択された保留中のシステム同期化要求を受信するステップと、複数の同期化要求を生成し、この複数の同期化要求をデータ処理システムの装置の少なくとも１つにマルチキャストするステップとを含み、この同期化要求は、各装置におけるトランザクション要求の少なくとも一部の進捗について問合せ、更に、上記方法は、複数の同期化要求に対する応答を収集するステップと、システム同期化要求の一つから生成された複数の同期化要求全てに対する応答を受信した時を判定し、応答全てを受信したことを判定したことに応答して、システム同期化要求の１つに対する応答を出力するステップを含む。
【００４５】
本発明の第５態様では、トランザクション要求の進捗について問い合わせる方法を提供しており、この方法は、複数の装置に出力するための複数のトランザクション要求を生成するステップと、複数の装置により実行されるトランザクション要求の少なくとも一部の進捗について問い合わせる複数のシステム同期化要求を生成するステップとを含み、複数のシステム同期化要求の少なくとも一部は、種類が異なり、更に、上記方法は、システム同期化要求を同期化装置に出力するステップと、同期化装置からシステム同期化要求に対する応答を受信するまで、新たに要求を出力しないステップとを含む。
【００４６】
本発明の第６態様では、複数の異なる種類のシステム同期化要求の１つの受信に応答して、データ処理システムを介して送られるトランザクション要求の少なくとも１部の進捗を判定する同期化手段を提供しており、上記データ処理システムは、トランザクション要求を生成する複数の起動装置手段、及び、トランザクション要求を受信する複数の受信装置手段とを含む複数の装置手段と、同期化手段と、並びに、装置手段の少なくとも一部を相互接続するための少なくとも１つの相互接続手段とを含み、システム同期化要求は、複数のトランザクション生成装置の１つにより生成され、トランザクション要求の少なくとも一部に関する進捗について問い合せる要求を含み、上記同期化手段は、データ処理システムから要求を受信し、要求と応答をデータ処理システムに出力するための少なくとも１つのポート手段と、少なくとも１つのポートにおいて受信されたシステム同期化要求の種類を識別するシステム同期化要求識別手段と、受信されたマルチキャスト回路に出力される保留中のシステム同期化要求を記憶するバッファ手段と、マルチキャスト回路に出力するため、次の保留中のシステム同期化要求を選択する調停手段と、システム同期化要求の受信に応答して、複数の同期化要求を生成し、作成した複数の同期化要求を、マルチキャストするために、データ処理システムの装置手段の少なくとも一部に出力するマルチキャスト手段とを含み、同期化要求は、各装置手段におけるトランザクション要求の少なくともの進捗について問い合わせ、更に、上記同期化手段は、複数の同期化要求に対する応答を収集する収集手段であって、この応答は、問い合わせされた進行が各装置において発生したということを確認し、上記収集手段は、システム同期化要求の１つに応答して生成された複数の同期化要求の全てに対する応答を受信した時を判定し、応答全てを受信したという判定に応答して、システムの同期化要求の１つに応答を出力するための収集手段を含む。
【００４７】
本発明の第７態様では、起動装置手段を提供しており、この起動装置手段は、複数の装置に出力するための複数のトランザクション要求を生成するトランザクション生成手段と、複数の装置により実行されるトランザクション要求の少なくとも一部の進捗について問い合わせる複数の異なる種類のシステム同期化要求を生成するシステム同期化要求生成手段と、及び、システム同期化要求を同期化装置に出力するための出力ポート手段とを含み、トランザクション生成手段は、同期化装置からシステム同期化要求の応答を受信するまで、新たにトランザクション要求を出力しないよう構成される。
【００４８】
本発明の上記、及び、他の目的、特徴、並びに、利点は、添付の図面と併せて読まれる例示的な実施形態に関する以下の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態に基づくデータ処理システムを説明している。
【図２】本発明の実施形態に基づく同期化装置を説明している。
【図３】本発明の実施形態に基づくトランザクション要求生成装置を説明している。
【図４】本発明の実施形態に基づくデータ処理システムを通して流れる同期化要求を説明している。
【図５】本発明の実施形態に基づくデータ処理システムを介したメモリー保守同期化要求の流れを説明している。
【図６ａ】本発明の実施形態に基づくデータ処理システムを介した静止同期化要求の流れを説明している。
【図６ｂ】静止、及び、静止解除同期化要求に応答したトランザクション要求の流れを説明する状態空間の流れ図を示す。
【図７】本発明の実施形態に基づくデータ処理システムにおけるメモリー保守同期化要求に応答したノード間のトランザクションフローを説明する状態空間の流れ図を示す。
【図８】本発明の実施形態に基づくトランザクション生成装置において実行される方法の工程を説明する流れ図を示す。
【図９】本発明の実施形態に基づく同期化装置により実行される方法における工程を説明している。
【図１０】本発明の実施形態に基づいて、システム保守要求の処理を可能とする同期化装置を一般的に説明している。
【発明を実施するための形態】
【００５０】
図１では、本発明の実施形態に基づくデータ処理システム５を極めて概略的に示している。データ処理システム５は、システムの要求側ノードとして捉えられる複数のトランザクション生成装置を含み、これらを、この図ではノードＲＮ０，ＲＮ１，ＲＮ２からＲＮＮとして示している。これらノードは、相互接続装置１０を介して、様々なホームノードＨＮ０，ＨＮ１，ＨＮ２，ＨＮ３、及び、ＨＮ４と相互接続する。ホームノードは、中間装置として見なすことができ、システム内のコヒーレンス点、または、シリアライズ（直列化）点となることが可能である。これらのノードは、コヒーレンスコントローラ等であり得る。これらのホームノードは、例えば、メモリーコントローラ、または、入出力空間と接続する。
【００５１】
トランザクション要求は、相互接続装置１０を介し、要求側ノードからホームノードを経て、受信装置へと送られる。トランザクション要求が、相互接続装置１０内で順序が入れ替わってから、異なる経路を介して、受信装置に到達することで、トランザクションが互いに追い抜き合うような設定がある。つまり、他の要求を発行する前に、あるトランザクション要求の確実な進行を保証する同期化機構が重要である。この問題に対処するため、本データ処理システムには、同期化装置２０が含まれる。この同期化装置は、混合(miscellaneous)ノードＭＮにあるものと見なされ、要求側ノードＲＮの１つが生成したシステム同期化要求に応答して、同期化要求を生成し、これらを関係する装置へとマルチキャストする。次に、同期化装置は、これらの装置からのこれらの同期化要求に対する応答を収集して、これが全ての応答を収集した時、１つの応答を、同期化装置がシステム同期化要求を受信した要求側ノードＲＮに発行する。これによって、要求側ノードＲＮが、同期化要求を１つ生成して、これに対する１つの応答を待機できる。これらの同期化要求と応答を処理するのに必要とされる論理回路が、同期化装置２０内に一元配置される。
【００５２】
図２は、同期化装置２０をより詳細に示す。この実施形態では、同期化装置２０は、システムのトランザクション生成装置の１つから発行され、入力ポート２５で受信されたシステム同期化要求を検知するシステム同期化要求検知装置３０を備える。これらの受信された保留中の同期化要求は、同期化要求生成装置３７に出力される前にバッファ３２内に記憶される。調停回路３４は、受信したシステム同期化要求の種類、及び、システム同期化要求を送ったトランザクション生成装置を特定して、同期化装置２０が、次のシステム同期化要求を処理できる時に、（同期化要求）生成装置３７に出力するシステム同期化要求を選択する。本発明の実施形態では、幾つかのシステム同期化要求を、任意の時点で処理可能であり、この処理を終えると、応答が生成されて、これは調停回路３４に出力されて、そこで、次の要求を選択する。この例では、任意の時点で、システム同期化要求を１つだけ処理している。
【００５３】
調停回路３４は、想定される衝突、考えられるものとしては、種々のトランザクション要求からの同期化要求同士の衝突を特定して、更に、全ての保留中のシステム同期化要求の優先度を判定して、出力するシステム同期化要求を選ぶ。
【００５４】
システム同期化要求を同期化生成装置３７に出力する時、同期化装置２０は、出力されるシステム同期化要求の種類、及び、システム同期化要求を送ったトランザクション生成装置に対応するデータストア３５内のターゲットリストにアクセスする。次に、同期化装置は、特定されたターゲットリストの中にリストされている各装置に送るのに適した同期化要求生成装置３７を用いて、複数の同期化要求を生成する。そして、同期化要求マルチキャスト装置３９が、生成された同期化要求をターゲットリストの中でリストされている装置へと発行する。応答収集装置４０内のカウンター４１が、同期化要求マルチキャスト装置３９から発行される同期化要求の数で更新される。
【００５５】
そして、同期化装置２０は、各同期化要求に対する応答を待機して、応答収集装置４０が、これらの応答を受信し、受信された各応答について、カウンター４１を減少させる。カウンター４１がゼロに達すると、応答生成装置４５は、システム同期化要求に対する応答を生成して、この応答をシステム同期化要求を送ったトランザクション生成装置に送る。これによって、トランザクション生成装置は、システム同期化要求を１つだけ生成して、この要求に対する１つの応答を待つだけで良い。このトランザクション生成装置は、それ自体が同期化を管理する場合に必要とされるであろうマルチキャスト回路または応答収集回路の何れも備える必要がない。応答が発行されると、システム同期化要求は完了し、調停回路３４が、保留中のシステム同期化要求を選択できる。
【００５６】
本実施形態では、要求と応答を受信し、且つ、要求と応答を出力するための入力ポート２５、及び、（データ）処理システムからの更新信号を受信するための追加ポート２６がある。この更新信号は、同期化信号を送る必要のある装置のターゲットリストを更新できる。システムの一部の電源が落ちた時、或いは、複数の装置のドメイン、及び、装置の相互接続に対する何らかの再構成が発生した場合、トランザクション要求が送られ、この要求が辿り着く必要のある装置が変化することがあるので、ターゲットリストを更新できるということが重要となる場合がある。
【００５７】
ある実施形態においては、セキュリティが確保されたドメインで動作するプロセスからのみ更新できるよう、ターゲットリストを記憶するデータストアが、セキュリティが確保されたデータストアである場合が有利であることがある。これによって、ユーザが誤ってターゲットリストを更新することが防止され、システムからのみによって、確実に更新される。
【００５８】
図３は、本発明に基づくトランザクション生成装置５０の一例を示す。この実施形態では、トランザクション生成装置５０は、処理装置である。この装置は、トランザクションを生成する処理コア５２を含み、トランザクションは、送信トランザクションバッファ５５の中に記憶される。調停装置６０は、発行する送信トランザクションを選択して、保留中のトランザクションは、これが送信先装置により受け付けられ、または、完了されたことを示す応答を待機しつつ、保留トランザクションバッファ６５に記憶される。
【００５９】
更に、次のトラザンクション要求を発行する前に、その前のトランザクション要求を終えていることが重要である、トランザクション要求フローのある地点においてシステム同期化要求を生成するシステム同期化要求生成装置７０が、備えられている。この様な発行されたシステム同期化要求に応答して、調停装置６０は、（送信トランザクション）バッファ５５の全ての送信トランザクションを発行し、更に、これらのトランザクションが完了した時、システム同期化要求を発行して、応答検知装置７５からの応答を検知するまで、これ以上トランザクションを発行しない。システム同期化要求に対する応答を検知すると、調停装置６０は、新たなトランザクションを出力できる。
【００６０】
図４は、データ処理システムの１例を示し、トランザクション要求の流れを示している。トランザクション要求生成装置５０は、種々の受信装置８０、８２、８４によって受信される様々なトランザクション要求を生成する。そして、トランザクション生成装置５０は、システム同期化バリア要求を同期化装置２０に送って、システム同期化バリアからの応答を受信するまで、トランザクション要求を新たに発行しない。
【００６１】
同期化装置２０は、記憶されているターゲットリストから、受信装置８０、８２、８４と通信するトランザクション生成装置５０を判定したら、バリアを生成し、これを各装置へとマルチキャストする。各装置がバリアに応答すると、同期化装置２０は、トランザクション生成装置５０から受信したシステム同期化バリアに応答して、それに対応してトランザクション生成装置５０は、トランザクション要求を発行し続ける。
【００６２】
図５は、トランザクション生成装置５０が、同期化装置２０に対してシステムメモリー保守同期化要求を生成する際の本発明の実施形態に基づくデータシステムにおけるトランザクションフローの別の例を示す。この要求は、メモリー保守操作の進捗を要求している。したがって、同期化装置２０は、ターゲットリストから、メモリー保守操作を受けるであろうトランザクション生成装置を判定し、メモリー保守同期化要求をこれらの装置にそれぞれに送る。この例では、それらのトランザクション生成装置は、トランザクション生成装置５２、５４である。各トランザクション生成装置からの応答を受信したら、同期化装置２０は、システムメモリー保守同期化要求に応答して、それによりトランザクション生成装置５０は、メモリー保守操作全てが、（トランザクション生成）装置５２、５４により実行されたことを把握して、トランザクションを発行し続けることができる。
【００６３】
図６ａは、本発明の実施形態に基づくデータ処理システムにおける静止要求の流れを概略的に示す。静止要求とは、装置が、保留中のトランザクション要求の実行を終えた時を問い合わせて、これ以上のトランザクション要求の出力を抑止する要求である。
【００６４】
この例では、起動装置５０が、システム静止同期化要求を発行して、これに応答して、同期化装置２０は、静止同期化要求を生成して、これらの要求をシステムの種々の装置へとマルチキャストしている。これらの装置は、相互依存性を有し得、それ故、同期化装置２０によって送られた静止要求に関する何らかのタイミング制約を伴う場合がある。これについては、図６ｂにおいて詳細に示す。図６ａから分かるように、受信装置、及び、起動装置は共に、これらの静止要求を受信でき、これによって、同期化装置２０は、適切なターゲットリストを参照して、静止要求を、適切な順序で適切な装置へと送る。そして、同期化装置は、応答を待機して、装置全てからの応答を受信すると、これを（起動）装置５０に送り、これによって、この装置は、保留中の処理中のトランザクション要求を完了したということを確認して、要求はこれ以上発行されなくなる。更に、同期化装置は、この確認を要求した電源停止要求、または、再構成要求等の要求も送信できる。
【００６５】
図６ｂでは、システムが静止する時に発生する手順を説明する状態空間流れ図を示している。ＲＮ０が、システム同期化静止要求をＭＮの同期化装置に発行し得る。そして、ＭＮは、静止要求をＲＮ１、ＲＮ２へと発行して、これら装置からの応答を待機する。ＭＮは応答を受信すると、静止要求をＨＮ（ホームノード）に発行して、そこからの応答を待機する。ＲＮ１とＲＮ２が、トランザクション要求をコヒーレントコントローラの様なホームノードＨＮに発行し得るので、ＭＮは、処理をこの順序で実行する。このため、ホームノードＨＮが、要求側ノードと同時に静止要求を受信し、保留中のトランザクションを完了させて、迅速に応答する場合、ホームノードは、トランザクション要求を実行しているＲＮ１、または、ＲＮ２の一方からのトランザクション要求を後になって受信し得るが、この要求を処理することはできない。したがって、確実にシステムが正確に動作するよう、トランザクション生成装置は、受信装置が静止要求を受信する前に、停止して、同期化装置に応答する。ここで理解すべき点は、ＭＮが最初に静止されるべき種々の要求側ノードの組み合わせを選択して、必要に応じて他の要求側ノードが続くような複雑なフロー制御も、必要に応じて使用できる。
【００６６】
全ての装置から応答を受信したら、要求されている装置が全て静止されたことを通知する応答がＲＮ０に送られる。静止要求は、例えば、電源停止の間、或いは、相互接続用のルーティングテーブルが更新されている場合に使用できる。ルーティングテーブルを更新したいと思う場合、更新が実行される間は、トランザクション要求を発行するべきではない。このため、保留中のトランザクション要求を完了させる必要があり、トランザクション要求がこれ以上発行されないよう、装置を静止させる。そして、ルーティングテーブルは、再プログラムされて、同期化装置20の対応するターゲットリストが更新される。データ処理システムの一部の電源が落ちたことが原因で、システム静止要求が送られる場合、同期化装置２０の中でも、ターゲットリストが更新され得る。
【００６７】
低電力モードが終了したか、または、ルーティングテーブルが再プログラムされたら、システムは、静止解除され、システム静止解除要求が送られる。この要求は、同期化装置ＭＮで受信され、同期化装置ＭＮは、その静止解除信号を適切な装置すべての同時送信することができる。この際、タイミング要求がないので、要求を纏めて送ることができる。全ての装置から応答を受信したら、応答が、トランザクション要求生成装置ＲＮ０へと送られて、それは通常の方法で動作し続けることができる。
【００６８】
図７は、トランザクション要求のタイミングを説明する状態空間流れ図を示す。この図では、メモリー保守操作要求後に送られるシステム同期化要求を示している。例えば、プロセッサーにより送られた命令の仮想アドレスをデータ処理システム内に記憶されたデータが使用する物理アドレスへと変換するため、特定の変換ルックアサイドバッファを使用するメモリー保守ユニットを備える場合がある。メモリー保守操作によって、これらの変換テーブルが更新され、次命令において新たな変換を使用する時、同じメモリー空間にアクセスする変換ルックアサイドバッファも全て更新されていることを知ることが重要である。従って、ルックアサイドバッファを確実に更新するよう、同期化要求が求められる。
【００６９】
この様な場合では、保留中のトランザクション要求が全て確実に完了するよう、システムバリア同期化要求を送ることができる。従って、この例では、システムバリア同期化要求に応答して、混合ノードＭＮにおける同期化装置は、バリアを生成して、これを該当受信装置ＨＮ０、ＨＮ１へと送る。これらのバリアに対する応答は、受信装置ＨＮ０、ＨＮ１から送られて、全ての応答を受信したら、ＭＮにおける同期化装置は、システムバリア同期化要求に応答する。
【００７０】
この応答を受信した時、ＲＮ０は、保留中のトランザクション要求が完了したことを知っているが、バリア応答（ここでは図示せず）を受信する前に要求を送った全てのメモリー保守操作が完了したことについては把握していない。これらのメモリー保守操作は、トランザクション要求が受信装置により実行されている間に、トランザクション生成装置によって実行されても良い。このため、トランザクション生成装置は、システムメモリー保守同期化要求を、混合ノードＭＮにおける同期化装置へと送信する。そして、同期化装置は、メモリー保守同期化要求を、メモリー保守同期化要求を生成している装置ＲＮ０と同じメモリー空間にアクセスするテーブルルックアサイドバッファを備えた全ての変換生成装置へと発行する。この場合、この変換生成装置は、ＲＮ１である。同期化装置において同期化要求に対する応答を受信すると、この同期化装置は、全てのメモリー保守操作が実行されたということを認識し、この時、テーブルルックアサイドバッファは整合性を保っており、システムメモリー保守要求に対する応答を送信でき、トランザクション生成装置ＲＮ０は、トランザクション要求を新たに発行できる。
【００７１】
図７の状態空間図では、メモリー保守操作要求を示していない。これらの要求は、ＲＮ０によって出力可能であり、この要求全てに対する応答を受信すると、メモリー保守同期化要求が送られる。しかしながら、一部の実施形態では、これらのメモリー保守操作要求は、更に、トランザクション生成装置自体ではなく、同期化装置により管理可能である。この様な場合、ＲＮ０は、一連のこれらの操作の実行を要求するシステムメモリー保守要求を同期化装置に出力し、同期化装置は、これら要求の複数を生成して、これをターゲットリストから決定された要求装置へと出力する。この様な場合では、一連のメモリー保守要求の出力、及び、順序は、ＭＮの同期化装置によって制御され、このメモリー保守要求全てが受信されたことに応答して、応答がＲＮ０に送られて、それに応答してＲＮ０は、（メモリー）保守操作全てが完了した時について問い合わせるシステムメモリー保守同期化要求を発行する。
【００７２】
図７で示す状態空間の流れ図におけるトランザクション生成装置ＲＮ０において実行される方法手順を、図８において説明している。最初に、保留中の全てのトランザクションが発行済であるかどうかを、トランザクション生成装置が判定する。バリアが存在する時、システム同期化要求を生成して、これを同期化装置へと送る。
【００７３】
このバリアに対する応答を待機し、応答を１つ受信したら、トランザクション生成装置は、システムメモリー保守要求を生成して、これを同期化装置へと送信する。
【００７４】
次に、このシステムメモリー保守要求に対する応答を待機して、応答を受信したら、トランザクション生成装置は、メモリー保守操作、及び、全ての先行トランザクション要求が完了したことを認識して、トランザクション要求を新たに発行できる。
【００７５】
図９は、本発明の一実施形態に基づく同期化装置において実行される方法の流れ図を示す。システム同期化要求の受信に応答して、同期化装置は、保留中の要求をバッファに記憶し、システム同期化要求の要求元、及び、要求の種類を判定する。同期化装置が、次の同期化要求を処理できれば、調停回路が、システム同期化要求の要求源と要求の種類、並びに、処理中の他の要求に基づいて、保留中の同期化要求を１つ選択する。そして、選択された要求の要求元、及び、要求の種類に対応するターゲット装置のリストを選択する。同期化要求の要求元は、要求を生成した特定のトランザクション生成装置であり、要求の種類は、実行される同期化の種類である。
【００７６】
次に、同期化装置は、選択されたリストのターゲット装置に対する同期化要求を生成して、その同期化要求をターゲット装置へとマルチキャストする。
【００７７】
次に、同期化装置は、同期化要求からの応答を受信して、リスト内のターゲット装置の全てからの応答が受信される時を判定する。同期化装置は、同期化要求の出力の数に設定され、応答受信の度に減少されるカウンターによって判定を行う。
【００７８】
全ての応答を受信したら、同期化装置は、システム同期化要求に対する応答を作成して、これを出力する。
【００７９】
ある実施形態では、システム同期化要求の受信と処理に加え、同期化装置２０は、更に、他のシステム要求、つまり、エラー処理要求、メモリー保守要求、及び、構成要求の様なメモリーを対象としていない要求も処理できる。図１０では、図２の装置と類似しているが、これらの更なるシステム保守要求を受信し、この要求間を調停するよう構成された同期化装置２０を示している。
【００８０】
したがって、同期化装置２０は、システム同期化要求、及び、他のシステム保守要求の双方を受信、特定するシステム保守要求検知装置を含む。これらの要求は、バッファ３２に記憶され、調停装置３４は、要求生成マルチキャスト装置３８に出力するための要求を１つ選択する。この実施形態では、要求生成マルチキャスト装置３８は、任意の時点において、４つのシステム保守要求を処理可能であり、処理中の４つの要求は、記憶部３３に記憶される。
【００８１】
調停装置３４による処理のための新たなシステム保守要求の受信に応答して、要求生成装置は、このシステム保守要求に関連するターゲットリストの（データ）ストア３５から取得したターゲットリストの中から、生成する必要のある要求の数、及び、生成した要求の送り先を判定する。次いで、このシステム保守要求用のカウンター４２が、要求生成装置により決定された数で更新され、応答収集装置４０は、現在有効なシステム保守要求のそれぞれに対する応答を収集して、それらの応答がどの要求に応答したものであるかを特定し、適切なカウンターを減少させる。カウンターがゼロに達すると、信号をバッファ３３に送って、そこに記憶されたシステム保守要求を削除し、新たなシステム保守要求を要求する信号を調停装置３４に送る。この様にして、調停装置３４が、次に実行する要求を判定しつつ、同期化装置２０は、４つのシステム同期化要求を１度に実行できる。
【００８２】
本発明の例示的な実施形態を、添付の図面を参照して詳細に説明してきたが、本発明は、これらの厳密な実施形態に限定されず、添付の請求項で定められる本発明の範囲、及び、精神を逸脱することなく、当分野の技術者によって、種々の変更、並びに、改良を実行できることを理解するべきである。例えば、以下の従属請求項の特徴の種々の組み合わせを、本発明の範囲を逸脱せずに、独立請求項の特徴と併用できる。
【図１】
2013037693.tif 000003
【図２】
2013037693.tif 000004
【図３】
2013037693.tif 000005
【図４】
2013037693.tif 000006
【図５】
2013037693.tif 000007
【図６ａ】
2013037693.tif 000008
【図６ｂ】
2013037693.tif 000009
【図７】
2013037693.tif 000010
【図８】
2013037693.tif 000011
【図９】
2013037693.tif 000012
【図１０】
2013037693.tif 000013
【外国語明細書】
2013037693000001.pdf