(57)【要約】  強く順序付けられた書込みトランザクションを弱く順序付けられたドメイン内のデバイスにブリッジすること、ならびに、関連する装置、方法、およびコンピュータ可読媒体が示される。一態様では、ホストブリッジデバイスは、1つまたは複数の強く順序付けられた生産者デバイスから強く順序付けられた書込みトランザクションを受信するように構成される。ホストブリッジデバイスは、弱く順序付けられたドメイン内の1つまたは複数の消費者デバイスに強く順序付けられた書込みトランザクションを発行する。ホストブリッジデバイスは、1つまたは複数の消費者デバイスのうちの第1の消費者デバイスによって受け入れられない第1の書込みトランザクションを検出する。第1の書込みトランザクションに続いて発行され、それぞれの消費者デバイスによって受け入れられた1つまたは複数の書込みトランザクションの各々について、ホストブリッジデバイスは、それぞれの消費者デバイスに取消しメッセージを送る。ホストブリッジデバイスは、第1の書込みトランザクションと、第1の書込みトランザクションに続いて発行された1つまたは複数の書込みトランザクションとをリプレイする。
2017528827.tif 000002
【特許請求の範囲】
【請求項１】
ホストブリッジデバイスを含む装置であって、前記ホストブリッジデバイスが、
1つまたは複数の強く順序付けられた生産者デバイスから複数の強く順序付けられた書込みトランザクションを受信し、
弱く順序付けられたドメイン内の1つまたは複数の消費者デバイスに前記複数の強く順序付けられた書込みトランザクションを発行し、
前記1つまたは複数の消費者デバイスのうちの第1の消費者デバイスによって受け入れられない前記複数の強く順序付けられた書込みトランザクションのうちの第1の書込みトランザクションを検出し、
前記第1の書込みトランザクションに続いて発行され、前記1つまたは複数の消費者デバイスのそれぞれの消費者デバイスによって受け入れられた1つまたは複数の書込みトランザクションの各々について、前記それぞれの消費者デバイスに取消しメッセージを送り、
前記第1の書込みトランザクションと、前記第1の書込みトランザクションに続いて発行された前記1つまたは複数の書込みトランザクションとをリプレイするように構成された、装置。
【請求項２】
前記複数の強く順序付けられた書込みトランザクションを記憶するように構成されたトランザクションバッファを備え、
前記ホストブリッジデバイスが、前記1つまたは複数の消費者デバイスに前記複数の強く順序付けられた書込みトランザクションを発行する前に、前記トランザクションバッファ内に前記複数の強く順序付けられた書込みトランザクションを記憶するように構成された、請求項1に記載の装置。
【請求項３】
前記1つまたは複数の消費者デバイスのうちの第2の消費者デバイスによって受け入れられ、依存性の対象とならない、前記トランザクションバッファ内に記憶された前記複数の強く順序付けられた書込みトランザクションのうちの第2の書込みトランザクションを検出し、
前記トランザクションバッファから前記第2の書込みトランザクションを除去するようにさらに構成された、請求項2に記載の装置。
【請求項４】
前記第1の消費者デバイスから再試行応答を受信することによって、前記第1の消費者デバイスによって受け入れられない前記第1の書込みトランザクションを検出するように構成された、請求項1に記載の装置。
【請求項５】
前記それぞれの消費者デバイスにゼロ長データを期待する要求を送ることによって、前記それぞれの消費者デバイスに前記取消しメッセージを送るように構成された、請求項1に記載の装置。
【請求項６】
1つまたは複数の周辺コンポーネント相互接続(PCI)生産者デバイスから前記複数の強く順序付けられた書込みトランザクションを受信するように構成された、請求項1に記載の装置。
【請求項７】
集積回路(IC)に組み込まれた請求項1に記載の装置。
【請求項８】
セットトップボックス、娯楽ユニット、ナビゲーションデバイス、通信デバイス、固定位置データユニット、モバイル位置データユニット、モバイル電話、セルラー電話、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤから構成されたグループから選択されたデバイスに組み込まれた請求項1に記載の装置。
【請求項９】
ホストブリッジデバイスを備える装置であって、前記ホストブリッジデバイスが、
1つまたは複数の強く順序付けられた生産者デバイスから複数の強く順序付けられた書込みトランザクションを受信するための手段と、
弱く順序付けられたドメイン内の1つまたは複数の消費者デバイスに前記複数の強く順序付けられた書込みトランザクションを発行するための手段と、
前記1つまたは複数の消費者デバイスのうちの第1の消費者デバイスによって受け入れられない前記複数の強く順序付けられた書込みトランザクションのうちの第1の書込みトランザクションを検出するための手段と、
前記第1の書込みトランザクションに続いて発行され、前記1つまたは複数の消費者デバイスのそれぞれの消費者デバイスによって受け入れられた1つまたは複数の書込みトランザクションの各々について、前記それぞれの消費者デバイスに取消しメッセージを送るための手段と、
前記第1の書込みトランザクションと、前記第1の書込みトランザクションに続いて発行された前記1つまたは複数の書込みトランザクションとをリプレイするための手段と
を備える、装置。
【請求項１０】
強く順序付けられた書込みトランザクションを弱く順序付けられたドメインにブリッジするための方法であって、
ホストブリッジデバイスによって、1つまたは複数の強く順序付けられた生産者デバイスから複数の強く順序付けられた書込みトランザクションを受信するステップと、
弱く順序付けられたドメイン内の1つまたは複数の消費者デバイスに前記複数の強く順序付けられた書込みトランザクションを発行するステップと、
前記1つまたは複数の消費者デバイスのうちの第1の消費者デバイスによって受け入れられない前記複数の強く順序付けられた書込みトランザクションのうちの第1の書込みトランザクションを検出するステップと、
前記第1の書込みトランザクションに続いて発行され、前記1つまたは複数の消費者デバイスのそれぞれの消費者デバイスによって受け入れられた1つまたは複数の書込みトランザクションの各々について、前記それぞれの消費者デバイスに取消しメッセージを送るステップと、
前記第1の書込みトランザクションと、前記第1の書込みトランザクションに続いて発行された前記1つまたは複数の書込みトランザクションとをリプレイするステップと
を備える方法。
【請求項１１】
前記1つまたは複数の消費者デバイスに前記複数の強く順序付けられた書込みトランザクションを発行する前に、トランザクションバッファ内に前記複数の強く順序付けられた書込みトランザクションを記憶するステップをさらに備える、請求項10に記載の方法。
【請求項１２】
前記1つまたは複数の消費者デバイスのうちの第2の消費者デバイスによって受け入れられ、依存性の対象とならない、前記トランザクションバッファ内に記憶された前記複数の強く順序付けられた書込みトランザクションのうちの第2の書込みトランザクションを検出するステップと、
前記トランザクションバッファから前記第2の書込みトランザクションを除去するステップと
をさらに備える、請求項11に記載の方法。
【請求項１３】
前記第1の消費者デバイスによって受け入れられない前記第1の書込みトランザクションを検出するステップが、前記第1の消費者デバイスから再試行応答を受信するステップを備える、請求項10に記載の方法。
【請求項１４】
前記それぞれの消費者デバイスに前記取消しメッセージを送るステップが、前記それぞれの消費者デバイスにゼロ長データを期待する要求を送るステップを備える、請求項10に記載の方法。
【請求項１５】
前記1つまたは複数の強く順序付けられた生産者デバイスから前記複数の強く順序付けられた書込みトランザクションを受信するステップが、1つまたは複数の周辺コンポーネント相互接続(PCI)生産者デバイスから前記複数の強く順序付けられた書込みトランザクションを受信するステップを備える、請求項10に記載の方法。
【請求項１６】
プロセッサに、
1つまたは複数の強く順序付けられた生産者デバイスから複数の強く順序付けられた書込みトランザクションを受信させ、
弱く順序付けられたドメイン内の1つまたは複数の消費者デバイスに前記複数の強く順序付けられた書込みトランザクションを発行させ、
前記1つまたは複数の消費者デバイスのうちの第1の消費者デバイスによって受け入れられない前記複数の強く順序付けられた書込みトランザクションのうちの第1の書込みトランザクションを検出させ、
前記第1の書込みトランザクションに続いて発行され、前記1つまたは複数の消費者デバイスのそれぞれの消費者デバイスによって受け入れられた1つまたは複数の書込みトランザクションの各々について、前記それぞれの消費者デバイスに取消しメッセージを送らせ、
第1の書込みトランザクションと、前記第1の書込みトランザクションに続いて発行された前記1つまたは複数の書込みトランザクションとをリプレイさせるコンピュータ実行可能命令を記憶した非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記プロセッサに、さらに、前記1つまたは複数の消費者デバイスに前記複数の強く順序付けられた書込みトランザクションを発行する前に、トランザクションバッファ内に前記複数の強く順序付けられた書込みトランザクションを記憶させる前記コンピュータ実行可能命令を記憶した請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記プロセッサに、さらに、
前記1つまたは複数の消費者デバイスのうちの第2の消費者デバイスによって受け入れられ、依存性の対象とならない、前記トランザクションバッファ内に記憶された前記複数の強く順序付けられた書込みトランザクションのうちの第2の書込みトランザクションを検出させ、
前記トランザクションバッファから前記第2の書込みトランザクションを除去させる前記コンピュータ実行可能命令を記憶した請求項17に記載の非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記プロセッサに、さらに、前記第1の消費者デバイスから再試行応答を受信することによって、前記第1の消費者デバイスによって受け入れられない前記第1の書込みトランザクションを検出させる前記コンピュータ実行可能命令を記憶した請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記プロセッサに、さらに、前記それぞれの消費者デバイスにゼロ長データを期待する要求を送ることによって、前記それぞれの消費者デバイスに前記取消しメッセージを送らせる前記コンピュータ実行可能命令を記憶した請求項16に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本出願は、参照によりその全体が本明細書に組み込まれている、2014年9月12日に出願した、「BRIDGING STRONGLY ORDERED WRITE TRANSACTIONS TO DEVICES IN WEAKLY ORDERED DOMAINS, AND RELATED APPARATUSES, METHODS, AND COMPUTER-READABLE MEDIA」と題する、米国特許出願第14/484,624号の優先権を主張するものである。
【０００２】
本開示の技術は、全体的に、プロセッサベースのコンピュータシステム内のバス相互接続を介してポステッド書込みトランザクション(posted write transactions)をパイプライン化することに関する。
【背景技術】
【０００３】
周辺コンポーネント相互接続(PCI)ベースの相互接続を含むものなどの最新のプロセッサベースのコンピュータシステムは、しばしば、一連の書込みトランザクションを発行および/または受信し得る1つまたは複数の周辺デバイスを含む。そのようなデバイスは、一般に、「強く順序付けられた(strongly ordered)」ドメインまたは「弱く順序付けられた(weakly ordered)」ドメインに属するものとして特徴付けられ得る。強く順序付けられたドメイン内のデバイスは、順序付け関係がすべての書込みトランザクション間で維持されることを条件とする仕様の下で動作する。順序付け関係は、消費者(consumer)デバイスで書込みトランザクションが完了する順序が、書込みトランザクションが生産者(producer)デバイスによって送られた順序と同じであることを規定する。対照的には、弱く順序付けられたドメインにおける一連の書込みトランザクションは、(2つのトランザクション間のアドレス重複のような特別の状況がなければ)いかなる固有の順序も持たない。したがって、弱く順序付けられたドメインでは、シリーズ内の書込みトランザクションが消費者デバイスに到達する順序は、書込みトランザクションが送られた順序と必ずしも同じではない。
【０００４】
強く順序付けられたドメイン内の生産者デバイス(すなわち、「強く順序付けられたデバイス」)が弱く順序付けられたドメイン(すなわち、「弱く順序付けられたドメイン」)内の消費者デバイスに一連の書込みトランザクションを送るとき、一連の書込みトランザクションが消費の準備ができていることが消費者デバイスに通知される前に、すべての書込みトランザクションが消費者デバイスによって見られることが重要である。しかしながら、書込みトランザクションの到着の順序は、弱く順序付けられたドメインでは保証されないので、書込みトランザクションは、それらの元の順序から外れて消費者デバイスによって見られる可能性があり、それは、いくつかの状況では問題となる可能性がある。たとえば、消費者デバイスは、シリーズ内のすべての書込みトランザクションが完了する前に、書込みトランザクションが消費の準備ができているという通知を受信する可能性がある。これは、不完全なまたは破損したデータによりシステムの不安定性をもたらす可能性がある。したがって、書込みトランザクションが弱く順序付けられたドメインにわたるときに書込みトランザクションに関するシリアル化された順序付け関係を提供するための機構が必要である。
【０００５】
当技術分野で知られる1つの手法は、一度に1つずつ書込みトランザクションを発行し、次の書込みトランザクションを送る前に前の書込みトランザクションの完了を待つことによってこの要件に対処する。しかしながら、この手法は、許容できないほど長いデータ転送時間をもたらす可能性があり、それは、システム性能に悪影響を及ぼす可能性がある。別の公知の手法は、書込みトランザクションの再試行を検出することによって書込みトランザクションのパイプライン化を提供するように構成され、すべての後続の書込みトランザクションを再試行するようにさらに構成された集中型システムアービタを提供する。いくつかの手法の下で、集中型システムアービタは、それ自体、受信デバイスに代わって書込みトランザクションを順番に再発行する責任を負う可能性がある。集中型システムアービタは、書込みトランザクション間のシリアル化された順序付け関係を保証し得るが、同期して通信する必要があることがある複数の分散型アービタを必要とするより大きいコンピュータシステムでは、拡大がうまくできない可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００６】
詳細な説明で開示される態様は、強く順序付けられた書込みトランザクションを、弱く順序付けられたドメイン内のデバイスにブリッジすることを含む。関連する装置、方法、およびコンピュータ可読媒体も開示される。この点に関して、ホストブリッジデバイスを含む装置が提供される。ホストブリッジデバイスは、1つまたは複数の強く順序付けられた生産者デバイスから複数の強く順序付けられた書込みトランザクションを受信するように構成される。ホストブリッジデバイスは、弱く順序付けられたドメイン内の1つまたは複数の消費者デバイスに複数の強く順序付けられた書込みトランザクションを発行するようにさらに構成される。ホストブリッジデバイスはまた、1つまたは複数の消費者デバイスのうちの第1の消費者デバイスによって受け入れられない複数の強く順序付けられた書込みトランザクションのうちの第1の書込みトランザクションを検出するように構成される。ホストブリッジデバイスは、加えて、第1の書込みトランザクションに続いて発行され、1つまたは複数の消費者デバイスのそれぞれの消費者デバイスによって受け入れられた1つまたは複数の書込みトランザクションの各々について、それぞれの消費者デバイスに取消しメッセージを送るように構成される。ホストブリッジデバイスは、第1の書込みトランザクションと、第1の書込みトランザクションに続いて発行された1つまたは複数の書込みトランザクションとをリプレイ(replay)するようにさらに構成される。
【０００７】
別の態様では、ホストブリッジデバイスを備える装置が提供される。ホストブリッジデバイスは、1つまたは複数の強く順序付けられた生産者デバイスから複数の強く順序付けられた書込みトランザクションを受信するための手段を備える。ホストブリッジデバイスは、弱く順序付けられたドメイン内の1つまたは複数の消費者デバイスに複数の強く順序付けられた書込みトランザクションを発行するための手段をさらに備える。ホストブリッジデバイスはまた、1つまたは複数の消費者デバイスのうちの第1の消費者デバイスによって受け入れられない複数の強く順序付けられた書込みトランザクションのうちの第1の書込みトランザクションを検出するための手段を備える。ホストブリッジデバイスは、加えて、第1の書込みトランザクションに続いて発行され、1つまたは複数の消費者デバイスのそれぞれの消費者デバイスによって受け入れられた1つまたは複数の書込みトランザクションの各々について、それぞれの消費者デバイスに取消しメッセージを送る手段を備える。ホストブリッジデバイスは、第1の書込みトランザクションと、第1の書込みトランザクションに続いて発行された1つまたは複数の書込みトランザクションとをリプレイするための手段をさらに備える。
【０００８】
別の態様では、強く順序付けられた書込みトランザクションを弱く順序付けられたドメインにブリッジするための方法が提供される。方法は、ホストブリッジデバイスによって、1つまたは複数の強く順序付けられた生産者デバイスから複数の強く順序付けられた書込みトランザクションを受信するステップを備える。方法は、弱く順序付けられたドメイン内の1つまたは複数の消費者デバイスに複数の強く順序付けられた書込みトランザクションを発行するステップをさらに備える。方法はまた、1つまたは複数の消費者デバイスのうちの第1の消費者デバイスによって受け入れられない複数の強く順序付けられた書込みトランザクションのうちの第1の書込みトランザクションを検出するステップを備える。方法は、加えて、第1の書込みトランザクションに続いて発行され、1つまたは複数の消費者デバイスのそれぞれの消費者デバイスによって受け入れられた1つまたは複数の書込みトランザクションの各々について、それぞれの消費者デバイスに取消しメッセージを送るステップを備える。方法は、第1の書込みトランザクションと、第1の書込みトランザクションに続いて発行された1つまたは複数の書込みトランザクションとをリプレイするステップをさらに備える。
【０００９】
別の態様では、プロセッサに1つまたは複数の強く順序付けられた生産者デバイスから複数の強く順序付けられた書込みトランザクションを受信させるコンピュータ実行可能命令を記憶した非一時的コンピュータ可読媒体が提供される。コンピュータ実行可能命令はさらに、プロセッサに、弱く順序付けられたドメイン内の1つまたは複数の消費者デバイスに複数の強く順序付けられた書込みトランザクションを発行させる。コンピュータ実行可能命令はまた、プロセッサに、1つまたは複数の消費者デバイスのうちの第1の消費者デバイスによって受け入れられない複数の強く順序付けられた書込みトランザクションのうちの第1の書込みトランザクションを検出させる。コンピュータ実行可能命令は、加えて、プロセッサに、第1の書込みトランザクションに続いて発行され、1つまたは複数の消費者デバイスのそれぞれの消費者デバイスによって受け入れられた1つまたは複数の書込みトランザクションの各々について、それぞれの消費者デバイスに取消しメッセージを送らせる。コンピュータ実行可能命令はさらに、プロセッサに、第1の書込みトランザクションと、第1の書込みトランザクションに続いて発行された1つまたは複数の書込みトランザクションとをリプレイさせる。
【図面の簡単な説明】
【００１０】
【図１】強く順序付けられた書込みトランザクションを弱く順序付けられたドメイン内の消費者デバイスにブリッジするように構成されたホストブリッジデバイスを含む例示的なプロセッサベースのコンピュータシステムのブロック図である。
【図２Ａ】強く順序付けられた書込みトランザクションを消費者デバイスに発行し、受け入れられない書込みトランザクションを検出し、書込みトランザクションおよびその後の書込みトランザクションを取消し、リプレイする図1のホストブリッジデバイスを示すブロック図である。
【図２Ｂ】強く順序付けられた書込みトランザクションを消費者デバイスに発行し、受け入れられない書込みトランザクションを検出し、書込みトランザクションおよびその後の書込みトランザクションを取消し、リプレイする図1のホストブリッジデバイスを示すブロック図である。
【図２Ｃ】強く順序付けられた書込みトランザクションを消費者デバイスに発行し、受け入れられない書込みトランザクションを検出し、書込みトランザクションおよびその後の書込みトランザクションを取消し、リプレイする図1のホストブリッジデバイスを示すブロック図である。
【図３】図1のホストブリッジデバイスの状態遷移を示す例示的な状態機械の図である。
【図４Ａ】強く順序付けられた書込みトランザクションを弱く順序付けられたドメイン内の消費者デバイスにブリッジするための例示的なプロセスを示すフローチャートである。
【図４Ｂ】強く順序付けられた書込みトランザクションを弱く順序付けられたドメイン内の消費者デバイスにブリッジするための例示的なプロセスを示すフローチャートである。
【図５】図1のホストブリッジデバイスを含み得る例示的なプロセッサベースのシステムのブロック図である。
【発明を実施するための形態】
【００１１】
ここで図面を参照し、本開示のいくつかの例示的な対応を説明する。「例示的(exemplary)」という用語は、本明細書では、「例、事例、または例示としての役割を果たす」ことを意味するために使用される。本明細書で「例示的」と記載された任意の態様は、必ずしも他の態様よりも好ましい、または有利であると解釈されるべきであるとは限らない。
【００１２】
詳細な説明で開示される態様は、強く順序付けられた書込みトランザクションを弱く順序付けられたドメイン内のデバイスにブリッジすることを含む。関連するデバイス、方法、およびコンピュータ可読媒体も開示される。この点に関して、ホストブリッジデバイスは、1つまたは複数の強く順序付けられた生産者デバイスから複数の強く順序付けられた書込みトランザクションを受信するように構成される。ホストブリッジデバイスは、弱く順序付けられたドメイン内の1つまたは複数の消費者デバイスに複数の強く順序付けられた書込みトランザクションを発行するようにさらに構成される。ホストブリッジデバイスはまた、1つまたは複数の消費者デバイスのうちの第1の消費者デバイスによって受け入れられない複数の強く順序付けられた書込みトランザクションのうちの第1の書込みトランザクションを検出するように構成される。ホストブリッジデバイスは、加えて、第1の書込みトランザクションに続いて発行され、1つまたは複数の消費者デバイスのそれぞれの消費者デバイスによって受け入れられた1つまたは複数の書込みトランザクションの各々について、それぞれの消費者デバイスに取消しメッセージを送るように構成される。ホストブリッジデバイスは、第1の書込みトランザクションと、第1の書込みトランザクションに続いて発行された1つまたは複数の書込みトランザクションとをリプレイするようにさらに構成される。
【００１３】
この点に関して、図1は、強く順序付けられた書込みトランザクションを弱く順序付けられたドメイン内の消費者デバイスにブリッジするように構成されたホストブリッジデバイス12を提供する例示的なプロセッサベースのコンピュータシステム10を示す。プロセッサベースのコンピュータシステム10は、他の要素の中でも、公知のデジタル論理素子、半導体回路、処理コア、および/またはメモリ構造、またはそれらの組合せのうちのいずれか1つを包含し得る。本明細書において説明する態様は、要素の任意の特定の構成には限定されず、開示される技法は、半導体ダイまたはパッケージ上の種々の構造またはレイアウトに容易に拡張することができる。
【００１４】
本明細書で使用される場合、いくつかの態様における単一の「書込みトランザクション」は、複数の段階を含み得ることが理解されるべきである。非限定的な例として、書込みトランザクションは、ホストブリッジデバイス12が書込みトランザクションのアドレスを消費者デバイスに送るアドレス段階を含み得る。アドレス段階には次いで、プロセッサによる処理および/またはメモリデバイスによる記憶のためにホストブリッジデバイス12によってデータが送られるデータ段階が続き得る。
【００１５】
図1中のプロセッサベースのコンピュータシステム10は、1つまたは複数の生産者デバイス14(0)〜14(X)(ここで、X≧0)を含む。1つまたは複数の生産者デバイス14(0)〜14(X)は、書込みトランザクションが生成された同じ順序で書込みトランザクションが宛先に到達することを期待して、一連の1つまたは強く順序付けられた書込みトランザクション(図示せず)を生成するよう構成される。したがって、1つまたは複数の生産者デバイス14(0)〜14(X)は、強く順序付けられたドメイン16に属するものと考えられ得る。いくつかの態様では、1つまたは複数の生産者デバイス14(0)〜14(X)は、周辺コンポーネント相互接続(PCI)仕様に準拠する周辺デバイスまたは相互接続などの強く順序付けられた周辺デバイスを備え得る。
【００１６】
プロセッサベースのコンピュータシステム10はまた、1つまたは複数の消費者デバイス18(0)〜18(Y)(ここで、Y≧0)を含む。1つまたは複数の消費者デバイス18(0)〜18(Y)の各々は、書込みトランザクションが生成された順序に無関係であり得る順序で一連の書込みトランザクションを受信するように構成される。したがって、1つまたは複数の消費者デバイス18(0)〜18(Y)は、弱く順序付けられたドメイン20内に存在すると考えられ得る。いくつかの態様は、1つまたは複数の消費者デバイス18(0)〜18(Y)が各書込みトランザクションのためのデータを消費するためのプロセッサおよび/または各書込みトランザクションのためのデータを含むメモリデバイスを含み得ると規定し得る。
【００１７】
書込みトランザクションは、1つまたは複数の生産者デバイス14(0)〜14(X)から、双方向矢印22および24によって図1中に表されるバス相互接続を介して、1つまたは複数の消費者デバイス18(0)〜18(Y)に通信され得る。強く順序付けられたドメイン16内の生産者デバイス14のうちの1つが弱く順序付けられたドメイン20内の消費者デバイス18のうちの1つに一連の強く順序付けられた書込みトランザクションを通信するとき、すべての書込みトランザクションは、一連の書込みトランザクションが消費のための準備ができていることを消費者デバイス18が通知される前に受信されなければならない。しかしながら、書込みトランザクションの到着の順序は、弱く順序付けられたドメイン20において保証されないので、消費者デバイス18は、書込みトランザクションをそれらの元の順序から外れて受信する可能性があり、それは、不完全なまたは破損したデータによりシステムの不安定性を引き起こす可能性がある。
【００１８】
したがって、弱く順序付けられたドメイン20内の消費者デバイス18への強く順序付けられた書込みトランザクションのブリッジングを提供するために、ホストブリッジデバイス12が提供される。ホストブリッジデバイス12は、書込みトランザクションが消費者デバイス18によって受け入れられない状態を検出し、書込みトランザクションおよびすべてのその後に送られた書込みトランザクションを取り消し、リプレイするための機構を提供する。図1に見られるように、ホストブリッジデバイス12のいくつかの態様は、生産者デバイス14から受信され、消費者デバイス18に発行されるべき書込みトランザクションを記憶するためのトランザクションバッファ26を含み得る。トランザクションバッファ26は、発行されているが、消費者デバイス18によってまだ受け入れられていない書込みトランザクションを保持し得る。ホストブリッジデバイス12は、したがって、許容され得ないシステム性能のペナルティを受けることなく、書込みトランザクションが弱く順序付けられたドメイン20内の消費者デバイス18に正しい順序で発行されることを保証し得る。
【００１９】
図1中のホストブリッジデバイス12によって提供されるブリッジング機構の動作を説明するために、図2A〜図2Cが提供される。図2Aは、弱く順序付けられたドメイン20内の消費者デバイス18に強く順序付けられた書込みトランザクションを発行する図1のホストブリッジデバイス12を示すブロック図である。図2Bは、受け入れられない書込みトランザクションを検出するホストブリッジデバイス12を示し、図2Cは、書込みトランザクションおよび後続の書込みトランザクションを取り消し、リプレイするホストブリッジデバイス12を示す。明瞭にするために、図1の要素は、図2A〜図2Cを説明する際に参照される。
【００２０】
図2Aでは、ホストブリッジデバイス12は、強く順序付けられたドメイン16内の生産者デバイス14から双方向矢印22によって表されるバス相互接続を介して強く順序付けられた書込みトランザクション28(0)〜28(4)を受信している。この例では、強く順序付けられた書込みトランザクション28は、以下の順序、28(0)、28(1)、28(2)、28(3)、および28(4)において発行されたと仮定する。したがって、生産者デバイス14が動作する仕様は、強く順序付けられた書込みトランザクション28がその順序で消費者デバイス18によって見られることになることを規定する。
【００２１】
ホストブリッジデバイス12は、強く順序付けられた書込みトランザクション28をトランザクションバッファ26に記憶する。ホストブリッジデバイス12は、次いで、各々の強く順序付けられた書込みトランザクション28を、弱く順序付けられたドメイン20内の適切な消費者デバイス18に発行する。図2Aに見られるように、ホストブリッジデバイス12は、強く順序付けられた書込みトランザクション28(0)を消費者デバイス18(0)に発行し、強く順序付けられた書込みトランザクション28(1)を消費者デバイス18(Y)に発行する。ホストブリッジデバイス12はさらに、強く順序付けられた書込みトランザクション28(2)を消費者デバイス18(1)に発行し、強く順序付けられた書込みトランザクション28(3)を消費者デバイス18(Y)に発行し、強く順序付けられた書込みトランザクション28(4)を消費者デバイス18(0)に発行する。
【００２２】
(非限定的な例として、通信経路長などの)様々な要因のために、強く順序付けられた書込みトランザクション28は、強く順序付けられた書込みトランザクション28が発行された順序に対応しない順序でそれぞれの消費者デバイス18によって見られ得る。ホストブリッジデバイス12は、したがって、それぞれ、強く順序付けられた書込みトランザクション28を発行した結果を示す消費者デバイス18(0)〜18(Y)からの信号を受信するように構成される。図2Aの例では、受諾応答30および32は、それぞれの消費者デバイス18(0)および18(Y)によるそれぞれの強く順序付けられた書込みトランザクション28(0)および28(1)のアドレス段階および/またはデータ段階の受諾を示す。対照的に、消費者デバイス18(1)によって送られる再試行応答34は、強く順序付けられた書込みトランザクション28(2)が消費者デバイス18(1)によって受け入れられなかったことを示す。強く順序付けられた書込みトランザクション28(2)は、受け入れられず、後続の強く順序付けられた書込みトランザクション28(3)および28(4)は、受け入れられたので、強く順序付けられた書込みトランザクション28は、それらが発行された順序で受信されなかったことがわかる。
【００２３】
ここで図2Bを参照すると、強く順序付けられた書込みトランザクション28のシリアル化を維持するために、ホストブリッジデバイス12は、強く順序付けられた書込みトランザクション28(2)の後に発行された強く順序付けられた書込みトランザクション28(3)および28(4)を「元に戻す(undo)」必要がある。そうするために、ホストブリッジデバイス12は、消費者デバイス18(0)に「トランザクション28(4)を取り消す(CXL TXN)」ために取消しメッセージ36を発行する。取消しメッセージ36は、以前に受け入れられた強く順序付けられた書込みトランザクション28(4)が消費者デバイス18(0)によって削除または無視されるべきであることを消費者デバイス18(0)に示す。いくつかの態様では、取消しメッセージ36は、長さゼロのデータを期待する消費者デバイス18(0)への要求を備え得る。いくつかの態様は、取消しメッセージ36が、強く順序付けられた書込みトランザクション28(4)のデータ段階中に書込みトランザクションデータを伴う所望の書込みストローブ(図示せず)を備え得ることを規定し得る。消費者デバイス18(0)は、書込みストローブが無効であることを検出すると、強く順序付けられた書込みトランザクション28(4)を破棄または無視する。
【００２４】
同様に、ホストブリッジデバイス12は、消費者デバイス18(Y)に「トランザクション28(3)を取り消す(CXL TXN)」ために取消しメッセージ38を発行する。取消しメッセージ38は、以前に受け入れられた強く順序付けられた書込みトランザクション28(3)が消費者デバイス18(Y)によって削除または無視されるべきであることを消費者デバイス18(Y)に示す。
【００２５】
引き続き図2Bを参照すると、ホストブリッジデバイス12は、図2Aの強く順序付けられた書込みトランザクション28(0)および28(1)が両方ともそれぞれの消費者デバイス18(0)および18(Y)によって受け入れられたことを決定する。ホストブリッジデバイス12はまた、図2Aの強く順序付けられた書込みトランザクション28(0)および28(1)のいずれもが依存性の対象とならない(以前に発行されたが、受け入れられていない書込みトランザクションに依存しない)ことを決定する。したがって、図2Bでは、ホストブリッジデバイス12は、トランザクションバッファ26内に以前に記憶された強く順序付けられた書込みトランザクション28(0)および28(1)を除去している。いくつかの態様では、これは、追加の強く順序付けられた書込みトランザクション28が生産者デバイス14から受信されることを可能にするためにトランザクションバッファ26内の空間を開放し得る。
【００２６】
ここで図2Cに戻ると、ホストブリッジデバイス12は、強く順序付けられた書込みトランザクション28(2)とその後の強く順序付けられた書込みトランザクション28(3)および28(4)とをリプレイする。ホストブリッジデバイス12のいくつかの態様は、強く順序付けられた書込みトランザクション28(2)を消費者デバイス18(1)に再発行し、強く順序付けられた書込みトランザクション28(3)を消費者デバイス18(Y)に再発行し、強く順序付けられた書込みトランザクション28(4)を消費者デバイス18(0)に再発行することによって、強く順序付けられた書込みトランザクション28(2)〜28(4)をリプレイすることを規定し得る。このようにして、弱く順序付けられたドメイン20における強く順序付けられた書込みトランザクション28のシリアル化は、維持され得る。
【００２７】
いくつかの態様では、図1のホストブリッジデバイス12の動作ロジックは、各保留中の強く順序付けられた書込みトランザクション28の状態を追跡するための状態機械を含み得る。この点に関して、図3は、図2A〜図2Cの強く順序付けられた書込みトランザクション28のうちの1つに対応し、ホストブリッジデバイス12内の状態遷移を示す例示的な状態機械40を示す。ホストブリッジデバイス12は、強く順序付けられた書込みトランザクション28のうちの1つの現在の状態を各々が表す複数の状態機械40を維持し得ることが理解されるべきである。ホストブリッジデバイス12の態様は、図3に示すものよりも多い状態、少ない状態、または異なる状態を有する他の状態機械を利用し得ることがさらに理解されるべきである。図3の状態機械40を説明する際、図1および図2A〜図2Cの要素が、明瞭にするために参照される。
【００２８】
図3中の状態機械40は、成功(SUCCESS)状態42、再試行(RETRY)状態44、リセット(RESET)状態46、およびゼロ長書込み(ZLW: ZERO-LENGTH WRITE)状態48の4つの状態を含む。ホストブリッジデバイス12が、強く順序付けられた書込みトランザクション28のうちの1つに対して状態機械40を割り振るとき、状態機械40は、デフォルトで成功状態42において開始する。状態機械40は、以下の方法のうちの1つにおいて成功状態42から遷移する。
【００２９】
状態機械40に対応する強く順序付けられた書込みトランザクション28がそれぞれの消費者デバイス18によって受け入れられない場合、状態機械40は、矢印50によって示されるようにリセット状態46に遷移する。
【００３０】
状態機械40に対応する強く順序付けられた書込みトランザクション28が、任意の以前の強く順序付けられた書込みトランザクション28がそのそれぞれの消費者デバイス18によって受け入れられない前に、それぞれの消費者デバイス18によって受け入れられる場合、状態機械40は、矢印52によって示されるようにZLW状態48に遷移する。
【００３１】
以前の強く順序付けられた書込みトランザクション28が、状態機械40に対応する強く順序付けられた書込みトランザクション28が応答を受信する前にそのそれぞれの消費者デバイス18によって受け入れられない場合、状態機械40は、矢印54によって示されるように再試行状態44に遷移する。
【００３２】
そうでなければ、状態機械40は、矢印56によって示されるように成功状態42に留まる。
【００３３】
再試行状態44は、状態機械40に対応する強く順序付けられた書込みトランザクション28が取り消され、リプレイされなければならないことを示す。状態機械40は、以下の方法のうちの1つにおいて再試行状態44から遷移し得る。
【００３４】
状態機械40に対応する強く順序付けられた書込みトランザクション28がそれぞれの消費者デバイス18によって受け入れられない場合、状態機械40は、矢印58によって示されるようにリセット状態46に遷移する。
【００３５】
状態機械40に対応する強く順序付けられた書込みトランザクション28がそれぞれの消費者デバイス18によって受け入れられる場合、状態機械40は、矢印60によって示されるようにZLW状態48に遷移する。
【００３６】
そうでなければ、状態機械40は、矢印62によって示されるように再試行状態44に留まる。
【００３７】
ZLW状態48は、状態機械40に対応する強く順序付けられた書込みトランザクション28が(たとえば、書込みトランザクションのアドレス段階において)成功応答を受信したが、取り消されなければならないことを示す。したがって、状態機械40に対応する強く順序付けられた書込みトランザクション28は、(たとえば、書込みトランザクションのデータ段階において)ゼロバイトデータを生成し、やり直さなければならない。状態機械40は、以下の方法のうちの1つにおいてZLW状態48から遷移し得る。
【００３８】
状態機械40に対応する強く順序付けられた書込みトランザクション28がゼロバイトデータ(図示せず)の生成を完了したとき、状態機械40は、矢印64によって示されるようにリセット状態46に遷移する。
【００３９】
そうでなければ、状態機械40は、矢印65によって示されるようにZLW状態48に留まる。
【００４０】
リセット状態46は、状態機械40に対応する強く順序付けられた書込みトランザクション28をリプレイさせる。状態機械40は、矢印66によって示されるように、次のプロセッサクロックサイクルにおいて成功状態42に遷移することによって、リセット状態46から遷移し得る。
【００４１】
強く順序付けられた書込みトランザクションを弱く順序付けられたドメイン内の消費者デバイスにブリッジするための例示的なプロセッサを示すために、図4Aおよび図4Bが提供される。図4Aは、強く順序付けられた書込みトランザクション28を受信し、強く順序付けられた書込みトランザクション28を弱く順序付けられたドメイン20に発行し、必要ならば、強く順序付けられた書込みトランザクション28を取り消すための図1のホストブリッジデバイス12の動作を示す。図4Bは、強く順序付けられた書込みトランザクション28をリプレイし、オプションでホストブリッジデバイス12のトランザクションバッファ26をクリアするための動作を示す。
【００４２】
図4Aでは、動作は、ホストブリッジデバイス12が1つまたは複数の強く順序付けられた生産者デバイス14から複数の強く順序付けられた書込みトランザクション28を受信して開始する(ブロック68)。上述したように、生産者デバイス14は、PCI仕様に準拠する周辺デバイスまたは相互接続などの、強く順序付けられたメモリデバイスまたは周辺デバイスを備え得る。いくつかの態様では、ホストブリッジデバイス12は複数の強く順序付けられた書込みトランザクション28を、トランザクションバッファ26内にオプションで記憶し得る(ブロック70)。ホストブリッジデバイス12は、次いで、強く順序付けられた書込みトランザクション28を弱く順序付けられたドメイン20内の1つまたは複数の消費者デバイス18に発行する(ブロック72)。消費者デバイス18は、非限定的な例として、弱く順序付けられたメモリデバイスを備え得る。
【００４３】
ホストブリッジデバイス12は、次に、1つまたは複数の消費者デバイス18のうちの第1の消費者デバイス18(1)によって受け入れられない複数の強く順序付けられた書込みトランザクション28のうちの第1の書込みトランザクション28(2)を検出する(ブロック74)。いくつかの態様は、第1の消費者デバイス18(1)によって受け入れられない第1の書込みトランザクション28(2)を検出することが、ホストブリッジデバイス12が第1の消費者デバイス18(1)から再試行応答34を受信すること(ブロック76)を含み得ることを規定し得る。第1の書込みトランザクション28(2)に続いて発行され、1つまたは複数の消費者デバイス18のうちのそれぞれの消費者デバイス18(Y)、18(0)によって受け入れられた1つまたは複数の書込みトランザクション28(3)、28(4)の各々について、ホストブリッジデバイス12は、取消しメッセージ38、36をそれぞれの消費者デバイス18(Y)、18(0)に送る(ブロック78)。いくつかの態様では、取消しメッセージ38、36は、それぞれの消費者デバイス18(Y)、18(0)へのゼロ長データを期待する要求を備え得る(ブロック80)。動作は次いで、図4Bのブロック82で継続する。
【００４４】
図4Bでは、ホストブリッジデバイス12は次いで、第1の書込みトランザクション28(2)と、第1の書込みトランザクション28(2)に続いて発行された1つまたは複数の書込みトランザクション28(3)、28(4)とをリプレイする(ブロック82)。このようにして、強く順序付けられた書込みトランザクション28のシリアル化は、弱く順序付けられたドメイン20内で維持され得る。いくつかの態様は、ホストブリッジデバイス12が、1つまたは複数の消費者デバイス18のうちの第2の消費者デバイス18(0)によって受け入れられ、依存性の対象とならない、トランザクションバッファ26内に記憶された複数の強く順序付けられた書込みトランザクション28のうちの第2の書込みトランザクション28(0)を検出する(ブロック84)。ホストブリッジデバイス12は次いで、トランザクションバッファ26から第2の書込みトランザクション28(0)を除去し得る(ブロック86)。
【００４５】
本明細書で開示される態様に従って強く順序付けられた書込みトランザクションを弱く順序付けられたドメイン内のデバイスにブリッジすることは、任意のプロセッサベースのデバイスにおいて提供され得、または任意のプロセッサベースのデバイスに組み込まれ得る。例は、限定はしないが、セットトップボックス、娯楽ユニット、ナビゲーションデバイス、通信デバイス、固定位置データユニット、モバイル位置データユニット、モバイル電話、セルラー電話、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤを含む。
【００４６】
この点に関して、図5は、図1に示すホストブリッジデバイス(HBD)12を用い得るプロセッサベースのシステム88の一例を示す。この例では、プロセッサベースのシステム88は、1つまたは複数のプロセッサ92を各々が含む1つまたは複数の中央処理装置(CPU)90を含む。CPU90は、一時的に記憶されたデータへの迅速なアクセスのためにプロセッサ92に結合されたキャッシュメモリ94を有し得る。CPU90は、システムバス96に結合され、プロセッサベースのシステム88内に含まれるマスタデバイスおよびスレーブデバイスと連結し得る。よく知られているように、CPU90は、システムバス96を介してアドレス情報、制御情報、およびデータ情報を交換することによってこれらの他のデバイスと通信する。たとえば、CPU90は、メモリコントローラ100と1つまたは複数のメモリユニット102(0)〜102(N)とを含み得るメモリシステム98にバストランザクション要求を通信し得る。
【００４７】
他のマスタデバイスおよびスレーブデバイスは、システムバス96に接続され得る。図5に示すように、これらのデバイスは、例として、1つまたは複数の入力デバイス104と、1つまたは複数の出力デバイス106と、1つまたは複数のネットワークインターフェースデバイス108と、1つまたは複数のディスプレイコントローラ110とを含み得る。入力デバイス104は、限定はしないが、入力キー、スイッチ、音声プロセッサなどを含む任意のタイプの入力デバイスを含み得る。出力デバイス106は、限定はしないが、オーディオ、ビデオ、他の視覚的インジケータなどを含む任意のタイプの出力デバイスを含み得る。ネットワークインターフェースデバイス108は、ネットワーク112との間でデータの交換を可能にするように構成された任意のデバイスであり得る。ネットワーク112は、限定はしないが、ワイヤードまたはワイヤレスネットワーク、施設または公衆ネットワーク、ローカルエリアネットワーク(LAN)、ワイドローカルエリアネットワーク(WLAN)、およびインターネットを含む任意のタイプのネットワークであり得る。ネットワークインターフェースデバイス108は、所望の任意のタイプの通信プロトコルをサポートするように構成され得る。
【００４８】
CPU90はまた、1つまたは複数のディスプレイ114に送られる情報を制御するために、システムバス96を介してディスプレイコントローラ110にアクセスするように構成され得る。ディスプレイコントローラ110は、表示されるべき情報をディスプレイ114に適したフォーマットに処理する1つまたは複数のビデオプロセッサ116を介して、情報を表示されるようにディスプレイ114に送る。ディスプレイ114は、限定はしないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイなどを含む任意のタイプのディスプレイを含み得る。
【００４９】
本明細書で開示されるいくつかの態様は、図1の強く順序付けられたドメイン16が、図5の入力デバイス104、出力デバイス106、ネットワークインターフェースデバイス108、およびディスプレイコントローラ110のうちの1つまたは複数を備えることを規定し得る。図1の弱く順序付けられたドメイン20は、図5のシステム96、メモリシステム98、およびCPU90を備え得る。したがって、ホストブリッジデバイス12は、強く順序付けられたドメイン16のデバイスから弱く順序付けられたドメイン20内のデバイスへの書込みトランザクションのブリッジングを提供するように動作し得る。非限定的な例として、入力デバイス104からメモリシステム98への書込みトランザクション(図示せず)は、ホストブリッジデバイス12によってブリッジされ得る。このようにして、ホストブリッジデバイス12は、強く順序付けられたドメイン16内の入力デバイス104からの書込みトランザクションが弱く順序付けられたドメイン20内のメモリシステム98によって正しい順序で処理されることを保証し得る。
【００５０】
当業者は、本明細書で開示される態様に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムが、電子ハードウェア、メモリもしくは別のコンピュータ可読媒体内に記憶され、プロセッサもしくは他の処理デバイスによって実行される命令、または両方の組合せとして実装され得ることをさらに理解するであろう。本明細書で説明されるマスタデバイスおよびスレーブデバイスは、例として、任意の回路、ハードウェアコンポーネント、集積回路(IC)、またはICEBERGチップ内で用いられ得る。本明細書において開示されるメモリは、任意のタイプおよびサイズのメモリとすることができ、所望の任意のタイプの情報を記憶するように構成することができる。この互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップは、それらの機能の点から一般的に上記で説明されている。そのような機能がどのように実現されるかは、特定の適用例、設計上の選択、および/またはシステム全体に課された設計制約によって決まる。当業者は、説明された機能を特定の適用例ごとに様々な方法で実現することができるが、そのような実装形態の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００５１】
本明細書で開示される態様に関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェアコンポーネント、または、本明細書で説明される機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。プロセッサは、マイクロプロセッサであり得るが、代替では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装することができる。
【００５２】
本明細書で開示される態様は、ハードウェアにおいて、およびハードウェア内に記憶された命令において具体化され得、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読出し専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または、当該技術分野で周知の任意の他の形態のコンピュータ可読媒体内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替では、記憶媒体は、プロセッサと一体化され得る。プロセッサおよび記憶媒体は、ASIC内に存在する場合がある。ASICは、リモート局内に存在する場合がある。代替形態では、プロセッサおよび記憶媒体は、個別構成要素として、リモート局、基地局、またはサーバ内に存在する場合がある。
【００５３】
本明細書中の例示的な態様のいずれかで説明される動作ステップは、例および議論を提供するために説明されることにも留意されたい。説明される動作は、図示された順番以外の多数の異なる順番で実行され得る。さらに、単一の動作ステップにおいて説明される動作は、実際にはいくつかの異なるステップにおいて実行される場合がある。さらに、例示的な態様において論じられる1つまたは複数の動作ステップが組み合わせられる場合がある。フローチャート図に示された動作ステップは、当業者には容易に明らかであるように、多数の異なる変更を受け得ることが理解されるべきである。当業者は、情報および信号が様々な異なる技術および技法のいずれかを使用して表され得ることも理解するであろう。たとえば、上記の説明全体を通して参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表される場合がある。
【００５４】
本開示の上記の説明は、当業者が本開示を作成または仕様することを可能にするために提供される。本開示に対する様々な修正は、当業者に容易に明らかになり、本明細書で定義する一般原理は、本開示の趣旨または範囲を逸脱することなく、他の変形形態に適用される場合がある。したがって、本開示は、本明細書に記載の例および設計に限定されることを意図するものではなく、本明細書で開示される原理および新規の特徴と一致する最も広い範囲が与えられるべきである。
【符号の説明】
【００５５】
10  プロセッサベースのコンピュータシステム
12  ホストブリッジデバイス
14(0)〜14(X)  生産者デバイス
16  強く順序付けられたドメイン
18(0)〜18(Y)  消費者デバイス
20  弱く順序付けられたドメイン
22  双方向矢印
24  双方向矢印
26  トランザクションバッファ
28(0)〜28(4)  強く順序付けられた書込みトランザクション
30  受諾応答
32  受諾応答
34  再試行応答
36  取消しメッセージ
38  取消しメッセージ
40  状態機械
42  成功状態
44  再試行状態
46  リセット状態
48  ゼロ長書込み(ZLW)状態
50  矢印
52  矢印
54  矢印
56  矢印
58  矢印
60  矢印
62  矢印
64  矢印
65  矢印
66  矢印
88  プロセッサベースのシステム
90  中央処理装置(CPU)
92  プロセッサ
94  キャッシュメモリ
96  システムバス
98  メモリシステム
100  メモリコントローラ
102(0)〜102(N)  メモリユニット
104  入力デバイス
106  出力デバイス
108  ネットワークインターフェースデバイス
110  ディスプレイコントローラ
112  ネットワーク
114  ディスプレイ
116  ビデオプロセッサ
【図１】
2017528827.tif 000003
【図２Ａ】
2017528827.tif 000004
【図２Ｂ】
2017528827.tif 000005
【図２Ｃ】
2017528827.tif 000006
【図３】
2017528827.tif 000007
【図４Ａ】
2017528827.tif 000008
【図４Ｂ】
2017528827.tif 000009
【図５】
2017528827.tif 000010
【国際調査報告】
2017528827.tif 000011
2017528827.tif 000012