IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テキサス インスツルメンツ インコーポレイテッドの特許一覧

特表2024-513541マルチチップシステムのための冗長通信
<>
  • 特表-マルチチップシステムのための冗長通信 図1
  • 特表-マルチチップシステムのための冗長通信 図2
  • 特表-マルチチップシステムのための冗長通信 図3A
  • 特表-マルチチップシステムのための冗長通信 図3B
  • 特表-マルチチップシステムのための冗長通信 図3C
  • 特表-マルチチップシステムのための冗長通信 図3D
  • 特表-マルチチップシステムのための冗長通信 図4
  • 特表-マルチチップシステムのための冗長通信 図5
  • 特表-マルチチップシステムのための冗長通信 図6
  • 特表-マルチチップシステムのための冗長通信 図7
  • 特表-マルチチップシステムのための冗長通信 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-26
(54)【発明の名称】マルチチップシステムのための冗長通信
(51)【国際特許分類】
   G06F 15/167 20060101AFI20240318BHJP
   G06F 15/78 20060101ALI20240318BHJP
【FI】
G06F15/167 615Z
G06F15/78 530
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023526497
(86)(22)【出願日】2021-10-28
(85)【翻訳文提出日】2023-06-27
(86)【国際出願番号】 US2021056935
(87)【国際公開番号】W WO2022094008
(87)【国際公開日】2022-05-05
(31)【優先権主張番号】17/463,232
(32)【優先日】2021-08-31
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【代理人】
【識別番号】230129078
【弁護士】
【氏名又は名称】佐藤 仁
(72)【発明者】
【氏名】スリラマクリシュナン ゴヴィンダラヤン
(72)【発明者】
【氏名】ミヒル ナレンドラ モディ
(72)【発明者】
【氏名】プリシヴィ シャンカール イェヤディ アナンサ
【テーマコード(参考)】
5B045
5B062
【Fターム(参考)】
5B045BB25
5B045BB38
5B045DD10
5B062CC04
(57)【要約】
電子デバイスであって、第1のデータセットを特定する第1のメモリ要求(706)と入力メモリアドレスとを提供することによって、第1のデータセットを第2の構成要素に送信するように構成される第1の構成要素と、第1の伝送インターフェース(712)に結合されるトランザクション追跡ユニット(710)とを含む。トランザクション追跡ユニット(710)は、第1のメモリ要求(706)を受信し、第1のデータセットの少なくとも第1の部分を特定する第2のメモリ要求(716A)を、第1の伝送インターフェース(712)を介して第2の構成要素に送信し、第2の構成要素からの第2のメモリ要求への応答(736A)を受信し、応答(736A)が第2のメモリ要求に対応していると判定し、第2のメモリ要求(716A)への受け取った応答(736A)に基づいて、出力応答(738)を第1の構成要素に提供するように構成される。

【特許請求の範囲】
【請求項1】
電子デバイスであって、
第1の構成要素であって、第1のデータセットを特定する第1のメモリ要求と入力メモリアドレスとを提供することによって、前記第1のデータセットを第2の構成要素に送信するように構成される、前記第1の構成要素と、
第1の伝送インターフェースに結合されるトランザクション追跡ユニットと、
を含み、
前記トランザクション追跡ユニットが、
前記第1のメモリ要求を受信し、
前記第1のデータセットの少なくとも第1の部分を特定する第2のメモリ要求を、前記第1の伝送インターフェースを介して前記第2の構成要素に送信し、
前記第2のメモリ要求への応答を前記第2の構成要素から受信し、
前記応答が前記第2のメモリ要求に対応していると判定し、
前記第2のメモリ要求への前記受け取った応答に基づいて、出力応答を前記第1の構成要素に提供する、
ように構成される、
電子デバイス。
【請求項2】
請求項1に記載の電子デバイスであって、前記トランザクション追跡ユニットが、メモリマップされた領域として前記第1の構成要素に提示される、電子デバイス。
【請求項3】
請求項2に記載の電子デバイスであって、前記トランザクション追跡ユニットの伝送ポリシーが、前記メモリマップされた領域の、前記入力メモリアドレスがあるサブ領域に基づく、電子デバイス。
【請求項4】
請求項1に記載の電子デバイスであって、前記トランザクション追跡ユニットが、第2の伝送インターフェースに結合され、前記トランザクション追跡ユニットがさらに、或る伝送ポリシーに基づいて、前記第1のデータセットの少なくとも第2の部分を前記第2の伝送インターフェースを介して前記第2の構成要素に送信するように構成される、電子デバイス。
【請求項5】
請求項4に記載の電子デバイスであって、前記第1の伝送インターフェースが、前記第2の伝送インターフェースとは異なるタイプの伝送インターフェースである、電子デバイス。
【請求項6】
請求項4に記載の電子デバイスであって、前記第2の部分が、前記第1の部分のコピーである、電子デバイス。
【請求項7】
請求項1に記載の電子デバイスであって、前記トランザクション追跡ユニットがさらに、或る伝送ポリシーに基づいて、
第2のデータセットを特定する第3のメモリ要求を受信し、
前記第1のデータセットに関連する第1のタイプのデータと前記第2のデータセットに関連する第2のタイプのデータとに基づいて、前記第1のデータセットと第2のデータセットとの部分について送信順序を判定し、
前記送信順序に基づいて、前記第1のデータセット及び前記第2のデータセットを送信する、
ように構成される、電子デバイス。
【請求項8】
請求項1に記載の電子デバイスであって、前記トランザクション追跡ユニットが第2の伝送インターフェースに結合され、前記トランザクション追跡ユニットがさらに、前記第1の伝送インターフェース又は前記第2の伝送インターフェースのいずれかを介して前記応答を受け取るように構成される、電子デバイス。
【請求項9】
請求項1に記載の電子デバイスであって、前記トランザクション追跡ユニットが第2の伝送インターフェースに結合され、前記トランザクション追跡ユニットがさらに、或る伝送ポリシーに基づいて、
前記第1の伝送インターフェースを介して前記応答の第1のバージョンを受け取り、
前記第2の伝送インターフェースを介して前記応答の第2のバージョンを受け取り、
前記第1のバージョンと前記第2のバージョンとを比較して、前記第1のバージョンと前記第2のバージョンとが同じであると判定し、
前記応答の前記第1のバージョン又は前記第2のバージョンの一方を前記出力応答を介して前記第1の構成要素に提供する、
ように構成される、電子デバイス。
【請求項10】
請求項1に記載の電子デバイスであって、前記トランザクション追跡ユニットが第2の伝送インターフェースに結合され、前記トランザクション追跡ユニットがさらに、或る伝送ポリシーに基づいて、
前記第1の伝送インターフェースを介して前記応答の第1のバージョンを受け取り、
前記第2の伝送インターフェースを介して前記応答の第2のバージョンを受け取り、
前記第1のバージョンと前記第2のバージョンとを比較して、前記第1のバージョンと前記第2のバージョンとが異なると判定し、
エラーが検出された旨の指示を出力する、
ように構成される、電子デバイス。
【請求項11】
請求項1に記載の電子デバイスであって、前記トランザクション追跡ユニットが、少なくとも3つの伝送インターフェースに結合され、前記トランザクション追跡ユニットがさらに、或る伝送ポリシーに基づいて、
前記少なくとも3つの伝送インターフェースを介して応答のセットを受け取り、
前記応答のセットの応答を比較して、前記応答の出力バージョンを判定し、前記応答セットの少なくとも2つの応答が同じであり、
前記応答の前記出力バージョンを前記出力応答として提供する、
ように構成される、電子デバイス。
【請求項12】
回路であって、
トランザクション追跡ユニットであって、遠隔構成要素から第1の伝送インターフェースを介して第1のメッセージを受け取るように構成される前記トランザクション追跡ユニットと、
前記トランザクション追跡ユニットに結合されるメモリマップされたポートと、
を含み、
前記メモリマップされたポートが、前記第1のメッセージをローカル構成要素に出力し、前記ローカル構成要素から応答を受け取るように構成され、
前記トランザクション追跡ユニットがさらに、
前記受け取った応答が、前記遠隔構成要素からの前記第1のメッセージに対応すると判定し、
前記応答の少なくとも第1の部分を、前記第1の伝送インターフェースを介して前記遠隔構成要素に出力する、
ように構成される、
回路。
【請求項13】
請求項12に記載の回路であって、前記トランザクション追跡ユニットが、メモリマップされた領域として前記ローカル構成要素に提示される、回路。
【請求項14】
請求項12に記載の回路であって、前記トランザクション追跡ユニットが第2の伝送インターフェースに結合され、前記トランザクション追跡ユニットがさらに、或る伝送ポリシーに基づいて、前記応答の少なくとも第2の部分を、前記第2の伝送インターフェースを介して前記遠隔構成要素に出力するように構成される、回路。
【請求項15】
請求項12に記載の回路であって、前記トランザクション追跡ユニットが第2の伝送インターフェースに結合され、前記トランザクション追跡ユニットがさらに、
第2のメッセージを前記遠隔構成要素から前記第2の伝送インターフェースを介して受信し、
前記第2のメッセージを前記第1のメッセージにマップする、
ように構成される、回路。
【請求項16】
請求項15に記載の回路であって、前記トランザクション追跡ユニットがさらに、
前記第1のメッセージと前記第2のメッセージとを比較して、前記第1のメッセージと前記第2のメッセージとが異なると判定し、
エラーが検出された旨の指示を出力する、
ように構成される、回路。
【請求項17】
請求項15に記載の回路であって、前記トランザクション追跡ユニットがさらに、
前記第1及び第2のメッセージが受信された伝送技術を判定し、
前記判定された伝送技術に基づいて、前記応答の前記第1の部分及び前記応答の第2の部分を出力する、
ように構成される、回路。
【請求項18】
データを送信するための方法であって、前記方法が、
第2の構成要素に送信するため、マップされた入力メモリアドレスに関連する第1のデータを第1の構成要素から受信することと、
前記第1のデータの少なくとも第1の部分を第1の伝送インターフェースを介して前記第2の構成要素に送信することと、
前記第2の構成要素への前記送信の指示を記録することと、
前記第2の構成要素から前記送信への応答を受け取ることと、
前記応答が前記送信の前記記録された指示に対応すると判定することと、
前記第1の構成要素に前記応答を提供することと、
を含む、方法。
【請求項19】
請求項18に記載の方法であって、前記第1のデータの少なくとも第2の部分を第2の伝送インターフェースを介して前記第2の構成要素に送信することをさらに含む、方法。
【請求項20】
請求項19に記載の方法であって、前記第1の伝送インターフェースが、前記第2の伝送インターフェースとは異なるタイプの伝送インターフェースである、方法。
【発明の詳細な説明】
【背景技術】
【0001】
機械学習(ML)は、コンピューティング環境のますます重要な部分になってきている。機械学習は人工知能(AI)の一種であり、MLは、ソフトウェアシステムが、データからパターンを認識し学習することを、直接プログラムすることなく、できるようにする助けとなる。ニューラルネットワーク(NN)は、入力データを評価するために重み付けされた、リンクされ、階層化される関数(例えば、ノード、ニューロンなど)のセットを利用するMLの一種である。畳み込みニューラルネットワーク(CNN)と称することがある幾つかのNNにおいて、受け取った入力に基づいてNN層において畳み込み演算が実施され得、重みCNNは、画像認識及び分類、予測及び推奨システム、音声及び言語の認識及び翻訳などの、認識及び分類のための幅広い応用例においてしばしば用いられる。
【0002】
MLがますます有用になるにつれ、NN及びCNNなどの複数の複雑なML技法を、高い可用性を有するデバイスにおいて効率的に実行したいという要望がある。例えば、部分的又は完全に自動化された運転応用例に対して、複数のMLモデルをリアルタイムで同時に実行して、オブジェクト、経路、軌道などを識別、認識、及び/又は予測し得る。これらのMLモデルは、例えば、部分的なハードウェア障害、多数の入力、悪天候などによる性能低下など、MLモデルの性能に影響を与え得る問題がある場合でも、利用可能にする必要があり得る。
【発明の概要】
【0003】
本記載は電子デバイスに関し、電子デバイスは、第1のデータセットを特定する第1のメモリ要求と入力メモリアドレスとを提供することによって、第1のデータセットを第2の構成要素に送信するように構成されるローカル構成要素と、第1の伝送インターフェースに結合されるトランザクション追跡ユニットとを含み、トランザクション追跡ユニットは、第1のメモリ要求を受信し、第1のデータセットの少なくとも第1の部分を特定する第2のメモリ要求を、第1の伝送インターフェースを介して第2の構成要素に送信し、第2の構成要素からの第2のメモリ要求への応答を受信し、応答が第2のメモリ要求に対応していると判定し、第2のメモリ要求への受け取った応答に基づいて、出力応答を第1の構成要素に提供するように構成される。
【0004】
本記載の別の態様が、或る回路に関し、この回路は、遠隔構成要素から第1の伝送インターフェースを介して第1のメッセージを受け取るように構成されるトランザクション追跡ユニットと、追跡ユニットに結合されるメモリマップされたポートとを含み、メモリマップされたポートは、第1のメッセージをローカル構成要素に出力し、ローカル構成要素から応答を受け取るように構成され、追跡ユニットはさらに、受け取った応答が遠隔構成要素からの第1のメッセージに対応すると判定し、応答の少なくとも第1の部分を、第1の伝送インターフェースを介して遠隔構成要素に出力するように構成される。
【0005】
本記載の別の態様が、データを送信するための方法に関し、この方法は、マップされた入力メモリアドレスに関連する第1のデータを第2の構成要素に送信するため第1の構成要素から受信することと、第1のデータの少なくとも第1の部分を第1の伝送インターフェースを介して第2の構成要素に送信することと、第2の構成要素への送信のステータスを記録することと、第2の構成要素から送信への応答を受け取ることと、応答が、記録された送信に対応すると判定することと、第1の構成要素に応答を提供することとを含む。
【図面の簡単な説明】
【0006】
様々な例の詳細な説明について、添付の図面を参照する。
【0007】
図1】本記載の態様に従った、冗長通信経路を介して結合される処理システムのブロック図である。
【0008】
図2】本記載の態様に従ったデータフローを示すブロック図である。
【0009】
図3A】本記載の態様に従った、トランザクション追跡及び分配モジュール(TTDM)に対する例示の動作モードを図示するブロック図である。
図3B】本記載の態様に従った、トランザクション追跡及び分配モジュール(TTDM)に対する例示の動作モードを図示するブロック図である。
図3C】本記載の態様に従った、トランザクション追跡及び分配モジュール(TTDM)に対する例示の動作モードを図示するブロック図である。
図3D】本記載の態様に従った、トランザクション追跡及び分配モジュール(TTDM)に対する例示の動作モードを図示するブロック図である。
【0010】
図4】本記載の態様に従った、送信動作モードにおけるTTDMのブロック図である。
【0011】
図5】本記載の態様に従った、トランザクションマッピングテーブルを図示するテーブルである。
【0012】
図6】本記載の態様に従った、受信動作モードにおけるTTDMのブロック図である。
【0013】
図7】本記載の態様に従った、TTDM間のデータフローを図示するブロック図である。
【0014】
図8】本記載の態様に従った、データを送信するための技法を図示するフローチャートである。
【発明を実施するための形態】
【0015】
安全性又はミッションクリティカルなシステムなど、高度な可用性が望まれるシステムにおいて、ML技法を含むソフトウェアがますます用いられている。また、このようなシステムにおいて用いられるソフトウェアはますます複雑になっており、コンピューティングワークロードが増えていることを示し得る。このようなシステムは、しばしば、例えば、複数の中央処理装置(CPU)コア、より性能を上げた又は落としたCPUコア、MLコア、グラフィックス処理ユニット(GPU)コアなどの複数のコンピューティングコアを有し、また、メモリ、通信リンクなどを増やし、複数のソフトウェアモジュールが並行に実行され得ることによって、システムを並列化することによって、増加するワークロードを扱えるようにスケーリングされ得る。例えば、複数のコアを有することは、性能のスケーリングを助け、或るレベルの冗長性を提供する。例えば、複数のコアは、一つ又は複数のCPUに障害がある場合に備えて冗長性を提供する助けとなる。別の例として、複数のコアは、連鎖ソフトウェアの性能の増大の助けともなり得、ここでは、一つのソフトウェアモジュールの出力が、並行に実行される別のモジュールに入力され得る。場合によっては、冗長性及び可用性を高める助けとするために冗長通信経路が提供され得ることがある。
【0016】
図1は、本記載の態様に従った、冗長通信経路を介して結合される構成要素のブロック図100である。本明細書で用いられるように、構成要素は、伝送インターフェースを介して別の構成要素にアクセスし得る電子デバイスを含む。例として、他の構成要素にアクセスし得る構成要素が、プロセッサ、プロセッサパッケージ、コントローラ、ダイレクトメモリアクセス/入出力デバイスなどを含み得る。アクセスされ得る構成要素は、他のプロセッサ、プロセッサパッケージ、及び/又はコントローラを含み得、I/Oデバイス、ネットワークデバイス、ダブルデータレートランダムアクセスメモリなどのメモリ、及び/又は、他のタイプのランダムアクセスメモリなどを含み得る。図示するように、ブロック図100は、MLモデル又は他のソフトウェアなどの第1のアプリケーション104を実行し得るプロセッサコアなどの、第1の構成要素102を含む。場合によっては、例えば、第2のアプリケーション108のための、別のプロセッサコアなどの第2の構成要素106にデータを送信したい要望があり得、第2のアプリケーション108は、第2の構成要素106上で実行され、第1のアプリケーション104の別のインスタンスを含む、任意のソフトウェアであり得る。この第1のアプリケーション104は、第1のトランザクション追跡及び分配モジュール(TTDM)110を介して第2のアプリケーション108に情報を送信し得る。TTDM110は、或るアプリケーション又は他のプロセスが、読み出し、書き込み、及び/又はその他の方式でメモリ要求を提供し得る、マップされたメモリ領域として提示されるプロキシメモリウィンドウを介して情報を受け得る。第1のアプリケーション104は、TTDM110によって管理されるマップされたメモリ領域に対して、読み出し又は書き込み要求などのトランザクションを開始することによって、TTDM110に情報を渡し得る。
【0017】
TTDMのマップされたメモリ領域は、TTDMを介する伝送インターフェースへのアクセスを提供し得る。これらのマップされたメモリ領域は、ローカルメモリではなく、第1のTTDM110のメモリ(例えば、キャッシュメモリ、レジスタ、DRAM(ダイナミックランダムアクセスメモリ)など)に対応し得る。マップされたメモリ領域は、サイズに関して構成可能であり得、単一の連続領域ではなく複数の領域を含み得る。場合によっては、マップされたメモリ領域の一つ又は複数の部分が、第1のTTDM110を介して他の構成要素にデータを送信するために予約され得、別の一つ又は複数の部分が、第1のTTDM110を介して他の構成要素からデータを受け取るために予約され得る。場合によっては、マップされたメモリ領域の一つ又は複数の部分が、第1のTTDM110への命令のために予約され得、別の一つ又は複数の部分が、他の構成要素に送信されるデータのために予約され得る。マップされたメモリ領域を用いて別の構成要素とデータの送信及び/又は受信を行うと、そのアプリケーションからトランスポートプロトコルを分離する助けとなり、そのアプリケーションがさまざまな伝送技術を用いて機能し得る助けとなる。
【0018】
第1のTTDM110が情報を受け取った後、第1のTTDM110は、一つ又は複数の伝送技術を介して、情報の一つ又は複数の部分を第2の構成要素106の第2のTTDM112に送信する。伝送技術は、構成要素間のデータ経路を提供する。伝送技術の例には、周辺構成要素相互接続(PCI)バス、イーサネット、ハイパーリンク伝送などのバスアーキテクチャが含まれる。第1のTTDM110は、ここでは、第1の伝送技術114及び第2の伝送技術116である、複数の伝送技術に結合される。複数の伝送技術は、通信経路に冗長性を提供する助けとなり得る。第1のTTDM110は、伝送技術114及び/又は116の一方又は両方を介して第1のアプリケーション104から第2のTTDM112及び第2のアプリケーション108にメッセージを送信するかどうかを判定し得る。例えば、第1のTTDM110は、メッセージを複製し得、第1の伝送技術114及び第2の伝送技術116の両方でメッセージを送信し得る。
【0019】
図2は、本記載の態様に従ったデータフローを示すブロック図200である。この例では、SoC202が、CPUコア204の第1のセットを含み得る。場合によっては、SoC202は、CPUコア206の第2のセットも含み得る。このCPUコア206の第2のセットは、例えば、提供する性能は低下するがCPUコア204の第1のセットよりも消費電力を小さくすることによって、或いは、リアルタイム又は安全性アプリケーションなど、或るタイプのワークロードについて最適化されることによって、CPUコア204の第1のセットを補うために用いられ得る。SoC202はまた、一つ又は複数のDSP及び/又はMLコア208、並びにメモリ210を含み得る。SoC202は、SoC202の構成要素を共に結合する相互接続212を含み、構成要素間の通信を提供する。SoC202はまた、TTDM216を含むメモリコントローラモジュール214を含む。SoC202は、伝送インターフェース周辺機器218のセットも含む。伝送インターフェース周辺機器218は、マップされたメモリ領域を用いて、データが送信又は受信され得、アクセスされ得る、一つ又は複数の構成要素を含み得る。この例では、伝送インターフェース周辺機器218は、第1のPCIエクスプレス(PCIe)インターフェース220、第2のPCIeインターフェース222、第1のハイパーリンクインターフェース224、及び第2のハイパーリンクインターフェース226を含む。ここで、伝送インターフェース周辺機器218に含まれる構成要素は例であり、伝送技術を用いてアクセス可能な他の構成要素も伝送インターフェース周辺機器218に含まれ得る。
【0020】
TTDM216は、構成要素間の通信のためのプロキシとして機能し得る。例えば、CPUコア204の第1のセットのCPUコアなどの構成要素が、PCIeインターフェース220及び222及び/又はハイパーリンクインターフェース224及び226を介して結合されるセンサなどの別の構成要素にデータを送信したい場合、CPUコアは、データを、アドレス情報及び/又はデータをどのように送信するかの指示とともに、TTDM216にマップされたメモリ領域に書き込み得る(240)。TTDM216は、アドレス情報及び/又はデータをどのように送信するかの指示に基づいて、用いる適切な伝送技術を判定し得る。場合によっては、データをどのように送信するかに関するポリシーが、事前に構成され得る。この例において、TTDM216は、例えばアドレス情報に基づいて、データが、PCIeインターフェース220及び222並びにハイパーリンクインターフェース224及び226を介して結合される構成要素を意図したものであると判定し得る。TTDM216は、例えば、データをどのように送信するかの指示、PCIeインターフェース220及び222及び/又はハイパーリンクインターフェース224及び226、並びにTTDM216の構成に基づいて、どのインターフェースを用いるかを判定し得る。次いで、TTDM216は、判定されたインターフェースと互換性のあるフォーマットにデータを変換する。例えば、TTDM216が第2のPCIeインターフェース222を介してデータを送信すると判定した場合、TTDM216は、データをPCIeと互換性のあるフォーマットに変換し得る。同様に、TTDM216が、PCIeインターフェースとハイパーリンクインターフェースとの両方を介してデータを送信すると判定した場合、TTDM216は、データをPCIeと互換性のあるフォーマットに変換し得、データのコピーをハイパーリンクと互換性のあるフォーマットに変換し得る。次いで、TTDM216は、判定されたインターフェースを介してデータを送信する(242)。PCIeインターフェース220及び222及び/又はハイパーリンクインターフェース224などの一つ又は複数のインターフェースを介して、応答244がTTDM216によって受信され得る。次いで、TTDM216は、この応答をCPUコアに転送し得る(246)。
【0021】
この例におけるSoC202は、SoC202がしばしば利用可能な、接続性、サービス、及び/又はインターフェースを提供する標準周辺機器228のセットも含み得る。この例では、標準周辺機器228のセットは、ユニバーサルシリアルバス(USB)230、マルチメディアカード(MMC)232、ディスプレイ234接続性、並びに、例えばGPU又は他の画像処理ハードウェアを介するグラフィック動作236を含む。場合によっては、標準周辺機器228のセットは、伝送インターフェースに結合され得、伝送インターフェースによってアクセス可能な構成要素を含み得る。標準周辺機器228のこのような構成要素は、TTDM216を介してプロセッサコアなどの他の構成要素とのトランザクションを開始し得、それに参加し得る。
【0022】
図3A図3Dは、本記載の態様に従った、TTDMに対する例示の動作モードを図示するブロック図である。TTDMは、データを送信及び受信するための複数の動作モードをサポートし得る場合がある。場合によっては、TTDMは、或る動作モードで動作するように事前構成され得、又は、TTDMに対する動作モードが構成可能であり得る。例えば、TTDMは、TTDMのメモリマップされた領域のどのサブ領域においてメモリ動作が受信されるかに基づいて、サポートされている複数の動作モード間で切り替える。図3Aにおいて、TTDM302が、負荷均衡モードで動作するように構成され得る。この負荷均衡モードにおいて、TTDM302は、構成要素304から入力データを受けとり得る。次いで、TTDM302は、どの伝送技術306を用いるかを判定し得る。この判定は、例えば、伝送技術306にかかる負荷量に基づき得る。例えば、TTDM302は、様々な伝送技術306上で受け取るデータ量を追跡し得、次いで、伝送されている量がより少ないデータに関連する伝送技術を用いるように判定する。伝送技術にかかる負荷量は、直接測定されるのではなく、推定され得る場合がある。例えば、TTDM302は、パターン又はローテーションに基づいて、伝送技術306のうちのどの伝送技術を用いるかを判定し得る。TTDM302は、第1の伝送技術に関する第1のデータセット、第2の伝送技術に関する第2のデータセットなどを送信し得る。場合によっては、TTDM302は、構成要素304から受け取るデータを複数のデータセットに分割し得、これらのデータセットを異なる伝送技術を介して送信し得る。TTDM302は、データと送信されたデータセットとをどのように組み合せるかについての指示を含み得る。第2のTTDM(図示せず)が、ターゲット構成要素(例えば、遠隔構成要素)にデータを転送する前に、データをどのように結合するかについての指示に基づいて、分割されたデータセットを受け取り、組み合わせ得る。
【0023】
図3Bにおいて、TTDM302は、規制された帯域幅モードで動作するように構成され得る。この規制された帯域幅モードにおいて、TTDM302は、周辺機器312からデータを受信し得る。このデータはクレデンシャル(credential)指示314を含み得る。TTDM302は、クレデンシャル指示314に基づいて、データをターゲット構成要素316に送信する伝送技術を優先順位付け及び/又は判定し得る。一例として、データは、そのデータに関連する優先順位を示すクレデンシャル指示314を含み得る。次いで、より高い優先順位のクレデンシャルに関連するデータが、より低い優先順位のクレデンシャルに関連するデータの前に、その伝送技術を用いてTTDM302によって送信され得る。別の例として、複数の伝送技術がある場合、TTDM302は、優先順位の低いクレデンシャルに関連するデータと比較して優先順位の高いクレデンシャルに関連するデータを、異なる伝送技術を介して送信し得、そのため、サービス品質の差動的な取り扱いを提供する助けとなる。複数の伝送技術があるさらに別の例として、TTDM302は、安全性の低いクレデンシャルに関連するデータと比較して安全性の高いクレデンシャルに関連するデータを、異なる伝送技術を介して送信し得る。
【0024】
図3Cにおいて、TTDM302は、任意の受け取った応答モードで動作するように構成され得る。この任意の受け取った応答モードにおいて、TTDM302は、ターゲット構成要素に送信するために構成要素322からデータを受け取り得る。次いで、TTDM302は、第1の伝送技術324及び第2の伝送技術326を含む複数の伝送技術を介して、データの複数のコピーを送信し得る。この例では、データのコピーが第1の伝送技術324及び第2の伝送技術326を介して送信される。ターゲット構成要素(図示せず)のTTDMが、送信されたデータの一つ又は複数のコピーを受け取り得、そのデータをターゲット構成要素に転送し得る。ターゲット構成要素は、次いで、ターゲット構成要素のTTDMを介して構成要素322に応答を送信し得る。ターゲット構成要素のTTDMは、一つ又は複数の伝送技術を用い得る。場合によっては、応答は、データの送信に用いられたのと同じ伝送技術を用いて、又はデータの送信に用いられたのと同じ数の伝送技術を用いて送信され得る。応答は、一つ又は複数の伝送技術の異なるセットを用いて送信され得る場合もある。
【0025】
この例において、応答は、データの送信に用いられたのと同じ伝送技術、例えば、第1の伝送技術324、及び第2の伝送技術326、を介して送信され得る。この例に示すように、幾つかの理由により、第2の伝送技術326を介して応答が受信されない。例えば、第2の伝送技術326がターゲット構成要素のTTDMへのデータの送信に失敗した場合、又は、第2の伝送技術326がTTDM302への応答の送信に失敗した場合、応答が受信されないことがある。いずれの受け取った応答モードでも、何らかの応答が受信される場合、TTDM302は、構成要素322への応答の送信に進み得る。複数の応答が受信される場合、TTDM302は、第1の受け取った応答を構成要素322に送信し得、その後受け取る応答を破棄する場合がある。TTDM302が第2の伝送技術326による応答を予想しており、時間枠内に応答を受け取らない場合、TTDM302は、第2の伝送技術326が失敗した旨の指示を送信し得、例えばそれにより警告を発する場合がある。この例における複数の伝送技術324は、TTDM302に結合されるすべての伝送技術よりも少ないことがある。
【0026】
データは、ターゲット構成要素からのデータ及び/又はターゲット構成要素のためのデータの要求を指し得、応答は、ターゲット構成要素から要求されるデータ、エラーメッセージ、及び/又は、確認応答を指し得る。
【0027】
図3Dにおいて、TTDM302が、ベストオブN応答モードで動作するように構成され得る。構成要素332から第1の伝送技術334及び第2の伝送技術336によるTTDM302を介するデータの初期の送信、並びにターゲット構成要素(図示せず)による、そのターゲット構成要素の関連するTTDMを介する応答が、任意の受け取った応答モードに関して上述したものと実質的に同様であり得る。この例において、応答は、データの送信に用いられたのと同じ伝送技術、例えば、第1の伝送技術334及び第2の伝送技術336、を介して送信され得る。この例に示すように、幾つかの理由により、第2の伝送技術336を介して応答は破損しない。例えば、静電気放電、放射線誘発エラー、ビットフリップなどにより、応答が破損し得る。
【0028】
ベストオブN応答モードにおいて、TTDM302は、伝送技術から受け取った応答を比較する比較器論理328を含み得る。比較器論理328は、受け取った応答を比較して、どの応答が最もよく受け取った応答であるかを判定し得る。例えば、TTDM302が3つの伝送技術から応答を受け取り、それらの応答のうちの2つが一致する場合、TTDM302は、一致する応答のうちの一つを構成要素332に送信するように進み得る。同数の不一致応答が存在する場合、比較器論理338は、エラーを検出し得、是正措置を講じ得る。この例において、比較器論理338は、第1の伝送技術334を介して受け取った応答を、第2の伝送技術336を介して受け取った破損した応答と比較し得、これら2つの応答が異なっていると判定し得、送信にエラーがあったことを示す。次いで、TTDM302は、再送信を要求することによるなどの是正措置を講じるか、又はエラーが検出された旨の指示を送信し得る。例えば、上記の例の破損した応答の代わりに、第1の伝送技術334を介して応答が受け取らされ、第2の伝送技術336を介して応答が受け取られない場合、TTDM302は、受け取った応答と比較する応答がなかったので、応答を構成要素332に送信するように進み得る。
【0029】
図4は、本記載の態様に従った、送信動作モードにおけるTTDM450のブロック図400である。図4において、送信動作の間用いられるTTDM450の部分が示されており、TTDMが、図4のTTDM450及び図6のTTDM650の両方において図示される部分を含み得る。図示されるように、TTDM450は、要求側構成要素(例えば、ローカル構成要素)に結合され得る構成要素ポート402を含む。構成要素ポート402はトランザクション追跡モジュール404に結合され、トランザクション追跡モジュール404は、追跡ホワイトボード406及び入出力(I/O)バッファ408を含む。追跡ホワイトボード406は、TTDM450の未処理トランザクションのリストを維持し得、ターゲット構成要素からの応答に対してターゲット構成要素に送信されたトランザクションを記録する。I/Oバッファ408は、ターゲット構成要素から読み出されターゲット構成要素に書き込まれるデータを格納し得る。
【0030】
構成要素ポート402は、クレデンシャル情報などの入力情報を他の構成要素に渡す助けとなるため、分配モジュール412などの他の構成要素にも結合され得る。トランザクション追跡モジュール404は、トランザクションマッピングテーブル410、分配モジュール412、及び応答ハンドラモジュール414に結合される。トランザクションマッピングテーブル410は、構成ポート416からの構成入力に結合され、それを受け取る。トランザクションマッピングテーブル410は、トランザクションを追跡する助けとなり、構成要素ポート402からターゲット構成要素アドレス空間へのマップされたメモリアドレス間のマッピングを含み得る。構成ポート416は、TTDM450について制御及びステータス情報を格納するように構成される制御及びステータスメモリマップされたレジスタ418のセットにも結合される。トランザクションマッピングテーブル410は、動作モードを管理する助けとなるよう、制御及びステータスメモリマップされたレジスタ418のセットに結合され、それにアクセスし得る。
【0031】
分配モジュール412は、トランザクション生成モジュール420、タイムアウトハンドラモジュール422、及び負荷均衡モジュール424を含み得る。分配モジュール412は、TTDM450の動作モードを管理するための構成可能なポリシーエンジンとして機能し得る。タイムアウトハンドラモジュール422は、未処理トランザクションがタイムアウトしたかどうかを追跡するためのタイムアウト状態機械を実装し得る。負荷均衡モジュール424は、複数の伝送技術にわたってトランザクションを均衡させる助けとなり得、クレジットに基づく負荷均衡、伝送技術に基づくレート制限、又はデータに関連するクレデンシャルによって判定されるデータのタイプに基づくレート制限を管理する助けとなるように構成され得る。分配モジュール412及び応答ハンドラモジュール414は、伝送ポート426に結合され得る。伝送ポート426は、一つ又は複数の伝送技術(図示せず)に結合され得る。
【0032】
TTDM450は、構成ポート416を介して構成され得る。構成ポート416は、構成メモリ領域への書込みが構成ポート416に入力されるように、構成メモリ領域にマップされ得る。場合によっては、構成メモリ領域は、入出力動作のために用いられ得るTTDM450のマップされたメモリ領域とは別のメモリアドレスを有する。
【0033】
場合によっては、TTDM450のマップされたメモリ領域は、様々な機能に対応し得る2つ又はそれ以上のサブ領域を含み得る。例えば、サブ領域が、TTDM450の異なる動作モードに対応し得る。例えば、一つのサブ領域へのデータの書込みが、書き込まれたデータを負荷均衡モードを介して送信する旨の指示に対応し得、別のサブ領域へのデータの書込みが、書き込まれたデータをベストオブN応答モードを介して送信する旨の指示に対応し得る。トランザクションマッピングテーブル410は、これらのサブ領域からの入力、及びターゲット構成要素に送られる要求のマッピングを追跡する助けとなり得る。
【0034】
一例として、ターゲット構成要素の特定の位置Aにデータを書き込むための書込み要求{WR、A}が、構成要素ポート402上でTTDM450のマップされたメモリ範囲の或るメモリサブ範囲において受信され得る。この書込み要求は、トランザクション追跡モジュール404の追跡ホワイトボード406に記録され得、分配モジュール412に送信され得る。トランザクション追跡モジュール404はまた、トランザクションマッピングテーブル410に書込み要求が受信されるメモリサブ範囲を送信し得る(428)。次いで、トランザクションマッピングテーブル410は、書込み要求が受信されたメモリサブ範囲に対応する動作モードを判定し得る。トランザクションマッピングテーブル410は、動作モードの指示をトランザクション生成器420に送信し得る。指示された動作モードに基づいて、トランザクション生成器は、書込み要求を一つ又は複数の伝送技術と互換性のあるフォーマットにアドレス指定及び変換し得、一つ又は複数の伝送技術に出力するため、変換された書込み要求を伝送ポート426に送り得る。一例として、書込み要求のコピーが2つの伝送技術を介して送信されることを動作モードが示している場合、トランザクション生成器420は、書込み要求の2つのコピーを生成し、アドレス指定された伝送技術に出力するため、書込み要求のこれら2つのコピーを伝送ポート426に送信し得る(430)。書込み要求の第1のコピー{Wr,A1}が、2つの伝送技術のうちの第1の伝送技術にアドレス指定(A1)され得る。書込み要求の第2のコピー{Wr,A2}が、2つの伝送技術のうちの第2の伝送技術にアドレス指定(A2)され得る。追跡ホワイトボードは、アドレスAに対する書込み要求が、第1の伝送技術の第1のアドレスA1に対して送られ、第2の伝送技術のアドレスA2に対して送られ、これらの要求が両方とも保留中であること(例えば、[A,{A1,pend},{A2,pend}])を示すように更新され得る(432)。
【0035】
この例を続けると、ターゲット構成要素は、書込み要求を実施し得、第1の伝送技術{RespWR,A1}及び第2の伝送技術{RespWR,A2}を介して応答を送信し得る。これらの応答は、伝送ポート426において受信され得、応答ハンドラ414に送信され得る(434)。応答ハンドラ414は、TTDM450の動作モードに基づいて応答を記録し得る。この例において、TTDM450は、任意の一つの応答動作モードにあり得、第1の伝送技術又は第2の伝送技術のいずれかを介して応答が受信されると、応答ハンドラ414は、その応答をI/Oバッファ408に格納し得る。追跡ホワイトボード406は、書込み要求について応答が受信されたことを示すように更新され得る。例えば、応答が第1の伝送技術を介して受信されたが、第2の伝送技術によって受信されていない場合、追跡ホワイトボード406は、[A,{A1,received},{A2,pend}]として更新され得る。場合によっては、追跡ホワイトボード406は、トランザクションに関連する動作モードに関する情報を記録し得る。この情報は、要求側構成要素への応答はいつ適切であるか(たとえば、単一の応答を受信されるとき、N個の応答のうち最良のものが判定されるときなど)、及び、構成要素ポート402による出力のために送信される応答(436)を判定するために用いられ得る。
【0036】
図5は、本記載の態様に従った、トランザクションマッピングテーブルを図示する表500である。トランザクションマッピングテーブルは、トランザクション追跡モジュールに含まれ得、トランザクションマッピングテーブルは、メモリマップされた領域の或るサブ領域をTTDMの或る動作モードにマッピングする。図示するように、トランザクションマッピングテーブルは、TTDMによってサポートされる動作モードに対応する複数の領域1、2、...Nを定義する情報を含み得る。各サブ領域は、ベースメモリアドレス、サブ領域のサイズ、その領域に対応する動作モード、及び、その動作モードに関連する任意のパラメータに関連し得る。場合によっては、TTDMによってサポートされる動作モードは、事前定義され得、位置、サイズ、或るサブ領域に関連する動作モードなどの動作モードの態様が、例えば、構成ポートを介して受信された構成情報によって、構成され得る。
【0037】
図6は、本記載の態様に従った、受信動作モードにおけるTTDM650のブロック図600である。図6において、受信動作の間用いられるTTDM650の部分が示されており、TTDMが、図4のTTDM450及び図6のTTDM650の両方において図示される部分を含み得る。図示するように、TTDM650は、要求側構成要素(例えば、遠隔構成要素)への一つ又は複数の伝送技術(図示せず)に結合され得る伝送ポート602を含む。TTDM450と同様に、TTDM650についても、伝送ポート602はトランザクション追跡モジュール604に結合され、トランザクション追跡モジュール604は、追跡ホワイトボード606及び入出力(I/O)バッファ608を含む。追跡ホワイトボード606は、TTDM650の未処理トランザクションのリストを維持し得、ターゲット構成要素からの応答に対してターゲット構成要素に送信されるトランザクションを記録する。I/Oバッファ608は、ターゲット構成要素から読み出されターゲット構成要素に書き込まれるデータを格納し得る。
【0038】
トランザクション追跡モジュール604は、トランザクションマッピングテーブル610、分配モジュール612、及び応答生成モジュール614に結合される。トランザクションマッピングテーブル610は、構成ポート616からの構成入力に結合され、それを受け取る。トランザクションマッピングテーブル610は、トランザクションを追跡する助けとなり、伝送ポート602を介して供給元構成要素から受信される入力と構成要素アドレス空間との間のマッピングを含み得る。構成ポート616は、TTDM650についての制御及びステータス情報を格納するように構成される制御及びステータスメモリマップされたレジスタ618のセットにも結合される。トランザクションマッピングテーブル610は、制御及びステータスメモリマップされたレジスタ618のセットに結合され、それにアクセスして、動作モードを管理する助けとなる。分配モジュール612は、トランザクション生成モジュール620及びタイムアウトハンドラモジュール622を含み得る。分配モジュール612は、ターゲット構成要素のマップされたターゲットメモリ領域へのローカルトランザクションを生成するプロキシとして機能し得る。タイムアウトハンドラモジュール622は、未処理トランザクションがタイムアウトしたかどうかを追跡するためのタイムアウト状態機械を実装し得る。分配モジュール612は、構成要素ポート626に結合され得、構成要素ポート626は、ターゲット構成要素(例えば、ローカル構成要素)に結合され得る。構成要素ポート626は、トランザクション追跡モジュール604に結合され得、トランザクション追跡モジュール604は応答生成器614に結合され得る。応答生成器614は、伝送ポート602に結合され得る。応答生成器614は、供給元構成要素への応答を生成するための状態機械実装を含み得、ターゲットTTDM650側の構成可能な動作モードを実装し得る。
【0039】
書込み要求が受信されるときのターゲットTTDM650の動作を追跡すると、伝送ポート602において、TTDM QE02などの供給元TTDMからN個の書込み要求が受信され得る。TTDM QE02及び図QEに関して記載した前の例を継続すると、書込み要求の2つのコピー{Wr,A1}及び{Wr,A2}が、それぞれ第1の伝送技術及び第2の伝送技術を介して伝送ポート602において受信され得る。書込み要求は、書込み要求が受信された供給元伝送技術(例えば、{Wr,A,Src_A1}、{Wr,A,Src_A2})の指示とともに、トランザクション追跡モジュール604に渡され得る。追跡ホワイトボード606は、アドレスAに対する書込み要求が第1の伝送技術のアドレスA1で受信され、第2の伝送技術のアドレスA2でも受信されたことと、書込み要求のステータスとを(例えば、[A,{SRC_A1,received},[SRC_A2,received}])記録するように更新され得る。受信された書込み要求のアドレスAは、トランザクションマッピングテーブル610に送られ得、そこで書込み要求のアドレスは、ターゲット構成要素の対応するアドレスに変換され得る。この変換されたアドレスは、構成要素ポート626においてターゲット構成要素に出力するための適切な書込み要求(例えば、{Wr,A})を生成するために、トランザクション生成モジュール620に入力され得る。複数の書込み要求が同じアドレスに対して受信される場合、トランザクション生成モジュール620は、複数の書込み要求をターゲット構成要素に対する単一の書込み要求にマージし得る。例えば、トランザクション生成モジュール620は、ターゲット構成要素に送られる未処理要求を追跡し得る。
【0040】
ターゲット構成要素は、書込み要求に応答して、構成要素ポート626においてTTDM650に入力される単一の応答(例えば、Resp{Wr,A})を出力し得る。この応答は、構成要素ポート626からトランザクション追跡モジュール604に入力され得る。追跡ホワイトボードは、ターゲット構成要素からの応答が受信されたこと(例えば、[A,{SRC_A1,resp.},{SRC_A2,received}])を示すように更新され得る。場合によっては、トランザクション追跡モジュール604が、既に完了した書込み要求に関連する書込み要求の別のコピーを別の伝送技術などから受け取る場合、トランザクション追跡モジュール604は、この書込み要求のコピーを破棄し得る。トランザクション追跡モジュール604は、書込み要求への応答、及び書込み要求への応答を送るために用いられる伝送技術の指示(例えば、Resp{Wr,A1},Resp{Wr,A2})を応答生成器614に出力し得る。場合によって、応答生成器614に対する出力が、I/Oバッファ608にバッファリングされ得る。例えば、応答生成器614が送るべき応答をキューに入れているか又は応答生成器614がビジーである場合、書込み要求への応答は一時的にバッファリングされ得る。場合によって、この指示は、書込み要求が受信された伝送技術に基づき得る。次いで、応答生成器614は、対応する伝送技術に対する書込み要求のコピーを生成し得、書込み要求を伝送ポート602に出力して適切な伝送技術に出力し得る。
【0041】
図7は、本記載の態様に従った、TTDM間のデータフローを図示するブロック図700である。図700は、要求側TTDM702からターゲットTTDM704へのメモリ読出し要求のためのデータフローを図示する。要求側TTDM702は、ターゲット構成要素のためのアドレスAに対する要求側構成要素(図示せず)から読出し要求706(例えば、{Rd,A})を受け取り得る。読出し要求706の受け取った後、トランザクション追跡モジュール710の追跡ホワイトボード708が更新され得る。追跡ホワイトボード708は、読出し要求の読出しアドレス(例えば、Addr)、並びに、異なる伝送技術を介して送られ得る読出し要求のコピー(R1,R2)のためのアドレス情報(例えば、addr)及び要求ステータス(例えば、status)を含む情報を記録し得る。この例において、アドレスAに対する読出し要求の2つのコピーが、第1の伝送技術のためのアドレス空間に対応するアドレスA1と、第2の伝送技術のためのアドレス空間に対応するアドレスA2とに変換され得る。追跡ホワイトボード708は、読出し要求が、いずれも保留中である、A1に対する読出し要求のコピー及びA2に対する読出し要求のコピーに関連すること(例えば、[A,{A1,pend},{A2,pend}])を記録し得る。読出し要求に対応するエントリが追跡ホワイトボード708のどこに位置するかを識別するために、追跡ホワイトボード708の書き戻し指標が用いられ得る。トランザクション追跡モジュール710は、読出し要求のコピーへの応答を格納するために、受信バッファ752(例えば、I/Oバッファ)に空間を割り当てることもできる(750)。受信バッファ752は、読出し要求が送信されたアドレス、応答のための第1のファーストインファーストアウトバッファ空間(FIFO)に対するポインタ、及び追跡ホワイトボード708指標に対する書き戻しポインタも含み得る。読出し要求の2つのコピー(例えば、{Rd,A1}及び{Rd,A2})は、第1の伝送技術712(例えば、A1)及び第2の伝送技術714(例えば、A2)に対応するマップされたメモリアドレスの出力ポートに配置され得、対応する伝送技術でターゲットTTDM704に送信され得る(716A及び716B)。
【0042】
ターゲットTTDM704において、読出し要求のコピーは、伝送技術にマップされたアドレスの入力ポートにおいて受信され得る。この例において、読出し要求の第1のコピーが、第1の伝送技術718にマップされたアドレスA1において受信され得、読出し要求の第2のコピーが、第2の伝送技術720に対応するアドレスA2において受信され得る。受信された読出し要求は、読出し要求が受信された伝送技術(例えば、Src_A1及びSrc_A2)を示す供給元指示とともに、ターゲットTTDM704のトランザクション追跡モジュール722に入力され得る。ターゲットTTDM704の追跡ホワイトボード724は、受信された読出し要求に関する情報により更新され得る。追跡ホワイトボード724は、読出し要求のアドレス(例えば、Addr)、並びに、読出し要求の受信されたコピーについてのアドレス情報(例えば、SRC1-addr、SRC2-addr)及び対応する要求ステータスを記録し得る。この例において、追跡ホワイトボード724は、アドレスAへの読出し要求があることを示すエントリ[A,{SRC_A1,recvd}、{SRC_A2,responded}]を有し、このエントリは、この要求の第1のコピーが第1の伝送技術に対応するアドレスA1において受信され、この要求の第2のコピーが第2の伝送技術に対応するアドレスA2において受信され、この構成要素からの応答が受信されたことを示す。例えば、伝送技術同士が同期していないことがあり、幾つかの要求が他の要求より先に到着し得る。場合によって、或る伝送技術に関するメッセージが、他の構成要素(図示せず)を介して中継され得る。読出し要求のコピーに対してなんの応答も受信されていないことを追跡ホワイトボード724が示す場合、アドレスAに対する単一の読出し要求728(例えば、{Rd,A})がターゲット構成要素に送られ得る。
【0043】
トランザクション追跡モジュール722は、構成要素からの読出し要求への応答を受け取るために、送信バッファ726内に空間を割り当てることもできる。送信バッファ726は、読出し要求のアドレスA、応答データを格納するためのFIFO空間に対するポインタ、及び追跡ホワイトボード724指標に対するポインタを含み得る。送信バッファ726は、ターゲット構成要素から単一の応答が予期されるように割り当てられた単一空間を有し得る。
【0044】
次いで、ターゲット構成要素は、トランザクション追跡モジュール722に渡される応答730(例えば、Resp{Rd,A})をターゲットTTDM704に送り得る。この応答は、送信バッファ726に格納され得、追跡ホワイトボード724は、応答が受信されたことを示すように更新され得る。次いで、トランザクション追跡モジュール722は、応答のコピーを、要求が受信された伝送技術を介して生成させ送り得る。この例において、追跡ホワイトボード724は、読出し要求の供給元が、第1の伝送技術に対応するアドレスA1、及び第2の伝送技術に対応するアドレスA2だったことを示すので、応答の2つのコピー(例えば、Resp{Rd,A1}及びResp{Rd,A2})が生成され得、第1の伝送技術のためのアドレス空間に対応するアドレスA1及び第2の伝送技術のためのアドレス空間に対応するアドレスA2に送信され得る(732A及び732B)。これらのコピーは、第1の伝送技術718(例えばA1)及び第2の伝送技術720(例えばA2)に対応するマップされたメモリアドレスの出力ポートに配置され得、対応する伝送技術を介して要求側TTDM702に送信され得る(734A及び734B)。
【0045】
要求側TTDM702において、応答のコピーは、伝送技術にマップされたアドレスの入力ポートにおいて受信され得る。この例において、読出し要求の第1のコピーが、第1の伝送技術712にマップされたアドレスA1において受信され得、読出し要求の第2のコピーが、第2の伝送技術714に対応するアドレスA2において受信され得る。受信された応答(例えば、Resp{Rd,Src_A1}及びResp{Rd,Src_A2})は、応答が受信された伝送技術(例えば、Src_A1及びSrc_A2)を示す供給元指示とともに、供給元TTDM702のトランザクション追跡モジュール710に入力され得る(736A及び735B)。トランザクション追跡モジュール710は、受け取った応答が読出し要求に関連する動作モード(例えば、任意の受け取った応答モード、ベストオブN応答モードなど)を満たすと判定し得る。次いで、トランザクション追跡モジュール710は、受け取った応答(例えば、Resp{Rd,A})のコピーを選択し得、受け取った応答を、要求側構成要素への出力738のため出力ポート上に配置し得る。
【0046】
図示するように、フェイルセーフドメイン740が、要求側TTDM702及びターゲットTTDM704によって定義され得、ここで、単一の要求が複数の独立した要求に変換されて、ターゲット構成要素に要求を送信し、逆に供給元構成要素に応答を送信する際のエラーに対する、或るレベルの冗長性が提供され得る。
【0047】
図8は、本記載の態様に従った、データを送信するための技法を図示するフローチャート800である。場合により、この技術は、電子デバイス及び/又は回路によって実施され得る。場合により、この技法を実施するための命令は、フラッシュストレージ、磁気ディスク、光メディア、電気的にプログラム可能な読出し専用メモリ(EPROM)、電気的に消去可能なプログラマブル読出し専用メモリ(EEPROM)などの半導体ベースのメモリデバイスなど、非一時的なコンピュータ可読媒体に格納され得る。ブロック802において、第2の構成要素に送信するためのマップされた入力メモリアドレスに関連する第1のデータが、第1の構成要素からマップされた入力メモリアドレスを介して受信される。例えば、ローカル構成要素は、遠隔構成要素(例えば、ターゲット構成要素)への送信ためのデータをTTDMのマップされたメモリ位置に送り得る。TTDMは、メモリマップされた入力メモリアドレスを介してデータを受け取り得る。場合により、TTDMは、データを受け取り、動作モードを判定し得る。場合により、動作モードは、データが受信されたマップされたメモリ入力メモリアドレスのメモリレンジに基づいて判定され得る。ブロック804において、第1のデータの少なくとも第1の部分が、第1の伝送インターフェースを介して、第2の構成要素に送信される。場合により、TTDMは、判定された動作モードを適用してデータを送信し得る。例えば、TTDMは、複数の伝送インターフェースを介して複数の伝送技術に結合され得る。TTDMは、判定された動作モードに基づいて、複数の伝送技術のうちのどの伝送技術を用いてデータを送信するかを判定し得る。例えば、どの伝送技術を用いるかは、伝送技術にかかる負荷量、データに関連するクレデンシャル、及び/又は、複数の伝送技術を用いるべきであるとの指示に基づいて判定し得る。ブロック806において、第2の構成要素への送信のステータスが記録され得る。例えば、遠隔構成要素への未処理送信のステータスがTTDMによって記録され得る。ブロック808において、送信に対する応答が、第2の構成要素から受信される。例えば、応答は、伝送技術の一つ又は複数を介して受信され得る。ブロック810において、応答は、記録された送信に対応すると判定される。例えば、応答は、対応する要求の指示を含み得、TTDMは、応答を対応する記録された要求にマップし得、追跡情報を更新し得る。ブロック812において、応答は、第1の構成要素に提供される。例えば、応答の内容をローカル構成要素に出力するため、応答の内容が、マップされたメモリ領域の一部に書き込まれ得る。
【0048】
場合により、別の電子デバイス及び/又は回路が、送信されたデータを受け取るための技法を実施し得る。この技法を実施するための命令は、非一時的なコンピュータ可読媒体に格納される場合がある。この技法は、第1の伝送インターフェースを介して遠隔構成要素から第1のメッセージを受け取ることを含み得る。例えば、TTDMが、或る伝送技術を介して遠隔構成要素からデータを受け取り得る。場合により、構成要素は、第2の伝送インターフェースに結合され得、構成要素はさらに、第2の伝送インターフェースから第2のデータを受け取り得る。受け取った第2のデータは、第1のメッセージと関連し得る。例えば、第1のデータ及び第2のデータはいずれも、ターゲット構成要素のための示されたアドレスを含み得、第1のデータ及び第2のデータは、単一の要求にマージされ得る。幾つかの例において、第1のメッセージと第2のメッセージを比較して、第1のメッセージ及び第2のメッセージが異なると判定され得る。次いで、エラーが検出された旨の指示が出力され得る。
【0049】
この技法はまた、第1のメッセージをローカル構成要素に出力することを含み得る。例えば、TTDMは、メッセージをローカル構成要素に出力し得る。TTDMは、メッセージのステータスを判定する助けとするためにメッセージを記録し得る。出力することは、メモリマップされたポートを介して成され得る。場合により、メモリマップされたポートは、メモリマップされた領域として表され得る。この技法は、ローカル構成要素からの応答を受け取ることも含み得る。例えば、ローカル構成要素が、メッセージを受信し得、そのメッセージへの応答をTTDMに送信し得る。この技法はまた、受信された応答が遠隔構成要素からの第1のメッセージに対応すると判定することを含み得る。例えば、応答は、その応答が対応するメッセージの指示を含み得、TTDMは、メッセージの記録を更新し得る。場合により、応答は、メモリマップされた入力メモリアドレスを介して受信され得る。場合によって、TTDMは、応答を受信し得、動作モードを判定し得る。場合により、動作モードは、応答が受信されたマップされたメモリ入力メモリアドレスのメモリレンジに基づいて判定され得る。この技法はまた、応答の少なくとも第1の部分を、第1の伝送インターフェースを介して遠隔構成要素に出力することを含み得る。例えば、TTDMは、遠隔TTDMに送信するため伝送技術に応答の一部を出力し得る。場合により、TTDMは、判定された動作モードを適用して応答を送信し得る。例えば、TTDMは、複数の伝送インターフェースを介して複数の伝送技術に結合され得る。TTDMは、判定された動作モードに基づいて、複数の伝送技術のうちのどの伝送技術を用いて応答を送信するかを判定し得る。
【0050】
本記載において、「結合する」という用語は、本記載と矛盾しない機能的関係を可能にする、接続、通信、又は信号経路を包含し得る。例えば、デバイスAが、或る動作を実施するためにデバイスBを制御するための信号を生成する場合、(a)第1の例において、デバイスAが直接接続によってデバイスBに結合され、或いは、(b)第2の例において、デバイスAは、介在する構成要素Cを介してデバイスBに結合され、この場合、介在する構成要素Cは、デバイスAによって生成される制御信号を介してデバイスBがデバイスAによって制御されるように、デバイスAとデバイスBとの間の機能的関係を変更させない。
【0051】
特許請求の範囲内で、記載した実施例における改変が可能であり、他の実施例が可能である。
図1
図2
図3A
図3B
図3C
図3D
図4
図5
図6
図7
図8
【国際調査報告】