(57)【要約】  チップ間およびチップ内のノード通信のための統一されたシステムおよび方法が開示される。一態様において、コンピューティングデバイス内のチップの各々を接続する単一の統一された低速バスが提供される。チップは、物理層インターフェースおよび関連するゲートウェイを介してバスに結合する。ゲートウェイは、インターフェースファブリック内のすべてのノードの状態を要約する状態テーブルを記憶するメモリを含む。ノードが状態変化を経験する時に、そのノードは、関連するローカルゲートウェイに更新を供給する。次いで、ローカルゲートウェイは、スカウトメッセージを使用して、状態変化に関する情報をリモートゲートウェイにメッセージングする。第1のノードが第2のノードへの信号を準備している時に、第1のノードは、第2のノードの現在の状態を判定するために、関連するローカルゲートウェイにある状態テーブルをチェックする。第2のノードの状態に基づいて、第1のノードは、メッセージを送り、または他の適当なアクションを行うことができる。
2018528540.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイス内のネットワークノードの状態テーブルをデータ設定するための方法であって、
バスに結合された第1の集積回路(IC)をアクティブ化するステップと、
前記第1のICに関連する第1のノードを第1のゲートウェイに登録するステップと、
前記第1のICに関連する前記第1のノードに関する情報で前記第1のゲートウェイにある第1の状態テーブルをデータ設定するステップと、
前記第1の状態テーブル内で示される可用性に基づいて、前記第1のICに関連する前記第1のノードの間のチップ内通信を可能にするステップと
を含む方法。
【請求項２】
前記バスに結合された第2のICをアクティブ化するステップと、
前記第2のICに関連する第2のノードを第2のゲートウェイに登録するステップと、
前記第2のICに関連する前記第2のノードに関する情報で前記第2のゲートウェイにある第2の状態テーブルをデータ設定するステップと、
前記第2のゲートウェイによって、前記第1のゲートウェイに構成データを要求するステップと、
前記第1のゲートウェイにある前記第1の状態テーブルからの前記第1のICに関連する前記第1のノードに関する前記情報に基づいて、前記第1のICに関連する前記第1のノードに関する前記情報で前記第2のゲートウェイにある前記第2の状態テーブルをデータ設定するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記第2のゲートウェイから、前記バスを介して、前記第2の状態テーブル内に記憶された前記第2のICに関連する前記第2のノードに関する前記情報をブロードキャストするステップをさらに含む、請求項2に記載の方法。
【請求項４】
第1のノードが状態を変更することに応答して、前記第1のノードの変更された状態を反映するように前記第1の状態テーブルを更新するステップをさらに含む、請求項1に記載の方法。
【請求項５】
前記第1のノードの前記変更された状態に関する情報を用いて前記第1のゲートウェイにおいてスカウトメッセージを生成するステップと、
前記第1のゲートウェイから前記バスに通信可能に結合されたリモートゲートウェイに前記スカウトメッセージを送るステップと
をさらに含む、請求項4に記載の方法。
【請求項６】
第2のゲートウェイにおいて前記スカウトメッセージを受信するステップと、
前記スカウトメッセージに基づいて第2の状態テーブルを更新するステップと
をさらに含む、請求項5に記載の方法。
【請求項７】
前記第1の状態テーブル内で示される前記可用性に基づいて、前記第1のICに関連する前記第1のノードの間の前記チップ内通信を可能にするステップは、
前記第1のゲートウェイにおいて、前記第1のIC内の初期ノードから前記第1のIC内の宛先ノードへのメッセージ要求を受信するステップと、
前記第1の状態テーブル内の前記第1のICに関連する前記第1のノードに関する前記情報に基づいて、前記宛先ノードが利用可能であるかどうかを判定するステップと、
前記宛先ノードが利用可能である場合に、前記メッセージ要求に関連するメッセージを送るように前記初期ノードに命令するステップと
を含む、請求項1に記載の方法。
【請求項８】
前記宛先ノードが利用可能でないとの判定に応答して、前記宛先ノードがウェイク可能であるかどうかを判定するステップと、
前記宛先ノードがウェイク可能であるとの判定に応答して、前記宛先ノードにウェイクコマンドを送るステップと、
前記宛先ノードをウェイクした後に、前記メッセージ要求に関連する前記メッセージを送るように前記初期ノードに命令するステップと
をさらに含む、請求項7に記載の方法。
【請求項９】
前記第1のIC内の初期ノードから第2のICにある宛先ノードへのメッセージ要求を受信するステップと、
前記第1の状態テーブル内の前記宛先ノードに関する情報に基づいて、前記宛先ノードが利用可能であるかどうかを判定するステップと、
前記宛先ノードが利用可能である場合に、前記メッセージ要求に関連するメッセージを前記バスを介して送るように前記初期ノードに命令するステップと
をさらに含む、請求項1に記載の方法。
【請求項１０】
コンピューティングデバイス内のネットワークノードの状態テーブルをデータ設定するための方法であって、
第1のノードを有する第1の集積回路(IC)をコンピューティングデバイス内のバスに結合するステップと、
第2のノードを有する第2のICを前記コンピューティングデバイス内の前記バスに結合するステップと、
前記第1のICに関連する第1のゲートウェイから、前記第1のノードに関する状態および構成情報を受信するステップと、
前記第1のノードに関する前記状態および構成情報で、前記第2のICに関連する第2のゲートウェイにある状態テーブルをデータ設定するステップと
を含む方法。
【請求項１１】
前記第2のノードに関する第2の状態および構成情報で前記第2のゲートウェイにある前記状態テーブルをデータ設定するステップをさらに含む、請求項10に記載の方法。
【請求項１２】
前記第1のノードのうちの1つの状態の変化を示す更新を前記第1のゲートウェイから受信するステップをさらに含む、請求項10に記載の方法。
【請求項１３】
前記第1のノードのうちの前記1つの前記状態の前記変化を示す前記更新を用いて前記第2のゲートウェイにある前記状態テーブルを更新するステップをさらに含む、請求項12に記載の方法。
【請求項１４】
前記第2のICによって、前記第2のICが前記バスに結合されることに応答して前記第1のノードに関する前記状態および構成情報を要求するステップをさらに含む、請求項10に記載の方法。
【請求項１５】
コンピューティングデバイス内のネットワークノードの状態テーブルを更新するための方法であって、
第1の集積回路(IC)内の第1のゲートウェイにおいて、前記第1のIC内の第1のノードから状態変化指示を受信するステップと、
前記状態変化指示に応答して、前記第1のノードの状態変化を反映するように前記第1のゲートウェイにある第1の状態テーブルを更新するステップと、
第2のIC内の第2のゲートウェイへのスカウトメッセージを生成するステップであって、前記スカウトメッセージは、前記第1のノードの前記状態変化を示す、生成するステップと
を含む方法。
【請求項１６】
コンピューティングデバイス内のネットワークノードの状態テーブルを更新するための方法であって、
第1の集積回路(IC)内の第1のゲートウェイにおいて、第2のIC内の第2のゲートウェイからスカウトメッセージを受信するステップであって、前記スカウトメッセージは、前記第2のIC内のノードの状態変化を示す、受信するステップと、
前記スカウトメッセージに応答して、前記ノードの前記状態変化を反映するように前記第1のゲートウェイにある第1の状態テーブルを更新するステップと
を含む方法。
【請求項１７】
送信機および受信機を含むノードと、
ゲートウェイであって、
バスに結合され、第1のプロトコルを介してその上で通信するように構成された外部インターフェースと、
前記ノードに通信可能に結合され、前記第1のプロトコルを介してその間で通信するように構成された内部インターフェースと
を含むゲートウェイと
を含む集積回路(IC)。
【請求項１８】
前記ノードは、前記ゲートウェイの前記内部インターフェースに直接に結合される、請求項17に記載のIC。
【請求項１９】
前記ノードは、ネットワークオンチップ(NoC)を介して前記ゲートウェイの前記内部インターフェースに結合される、請求項17に記載のIC。
【請求項２０】
前記ゲートウェイを制御するように構成された制御システムをさらに含む、請求項17に記載のIC。
【請求項２１】
前記制御システムは、前記ゲートウェイ内に位置決めされる、請求項20に記載のIC。
【請求項２２】
前記制御システムは、前記ゲートウェイの外部にある、請求項20に記載のIC。
【請求項２３】
前記ゲートウェイの前記内部インターフェースに結合された複数のノードをさらに含む、請求項20に記載のIC。
【請求項２４】
前記制御システムは、前記複数のノードの間でアービトレートするように構成される、請求項23に記載のIC。
【請求項２５】
前記制御システムは、前記第1のプロトコルを実行するように構成される、請求項20に記載のIC。
【請求項２６】
前記ノードは、前記IC内の第2のノードと通信するように構成される、請求項17に記載のIC。
【請求項２７】
前記ノードは、前記ICの外部の第2のノードと通信するように構成される、請求項17に記載のIC。
【請求項２８】
前記ノードは、ナビゲーション回路、センサ回路、Always On Processor(AOP)回路、オーディオ回路、およびモデム回路のうちの少なくとも1つとして動作するように構成された回路網を含む、請求項17に記載のIC。
【請求項２９】
第1のノードと、
第2のノードと、
バスに結合され、前記第1のノードおよび前記第2のノードからの情報を制御するように動作可能になるように構成された外部インターフェースを含むゲートウェイと、
前記第1のノードおよび前記第2のノードを前記ゲートウェイに通信可能に結合する共通回路網と
を含む集積回路(IC)。
【請求項３０】
第1の送信機および第1の送信機を含む第1のノードと、
第1のゲートウェイであって、
第1の外部インターフェースと、
前記第1のノードに通信可能に結合され、第1のプロトコルを介してその間で通信するように構成された第1の内部インターフェースと
を含む第1のゲートウェイと
を含む第1の集積回路(IC)と、
第2の送信機および第2の送信機を含む第2のノードと、
第2のゲートウェイであって、
第2の外部インターフェースと、
前記第2のノードに通信可能に結合され、前記第1のプロトコルを介してその間で通信するように構成された第2の内部インターフェースと
を含む第2のゲートウェイと
を含む第2のICと、
前記第1のICの前記第1のゲートウェイおよび前記第2のICの前記第2のゲートウェイに結合され、前記第1のプロトコルを使用してその間で信号を搬送するように構成されたバスと
を含むコンピューティングシステム。
【請求項３１】
前記コンピューティングシステムは、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、スマートフォン、タブレット、ファブレット、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤ、および自動車からなる群から選択されたデバイスである、請求項30に記載のコンピューティングシステム。
【請求項３２】
ノードと、
前記ノードに通信可能に結合されたゲートウェイであって、
バスに結合されるように構成されたインターフェースと、
前記バスに関連するノードの可用性に関するデータを記憶するように構成されたルックアップテーブルと
を含むゲートウェイと、
前記ノードおよび前記ゲートウェイに動作可能に結合された制御システムであって、
前記ノードの状態に関する状態更新を受信し、
ノード対ノード通信の間の信頼性を増進するために前記バスに関連する他のゲートウェイに前記ノードの前記状態に関する情報を送る
ように構成された制御システムと
を含む集積回路(IC)。
【請求項３３】
前記ゲートウェイに通信可能に接続された複数のノードをさらに含む、請求項32に記載のIC。
【請求項３４】
前記制御システムは、前記ゲートウェイ内に位置決めされる、請求項32に記載のIC。
【請求項３５】
前記制御システムは、前記ゲートウェイの外部に位置決めされる、請求項32に記載のIC。
【請求項３６】
前記制御システムは、
前記ノードからメッセージ要求を受信し、
前記メッセージ要求からの宛先識別子を前記ルックアップテーブルと比較し、
前記ルックアップテーブル内の前記データに基づいて受信ノードの可用性を判定する
ようにさらに構成される、請求項32に記載のIC。
【請求項３７】
前記制御システムは、前記受信ノードが前記ルックアップテーブル内の前記データに基づいて利用可能ではないと前記制御システムが判定する場合に、前記ノードからのメッセージの送信を阻むようにさらに構成される、請求項36に記載のIC。
【請求項３８】
前記制御システムは、
前記ノードからメッセージ要求を受信し、
前記メッセージ要求が信頼性を要求するかどうかを判定し、
前記メッセージ要求が信頼性を要求しない場合に、前記メッセージ要求に関連するメッセージを第2のノードに送るように前記ノードに命令する
ようにさらに構成される、請求項32に記載のIC。
【請求項３９】
前記制御システムは、
前記受信ノードのウェイクオンコマンド能力を判定し、
前記受信ノードにウェイクコマンドを送る
ようにさらに構成される、請求項36に記載のIC。
【請求項４０】
前記受信ノードの前記可用性を判定するように構成された前記制御システムは、前記IC内の受信ノードの可用性を判定する、請求項36に記載のIC。
【請求項４１】
前記受信ノードの前記可用性を判定するように構成された前記制御システムは、前記ICの外部に位置決めされた受信ノードの可用性を判定する、請求項36に記載のIC。
【請求項４２】
前記制御システムは、前記ICの外部に位置決めされた第2のノードの状態に関するリモート状態更新を受信するようにさらに構成される、請求項32に記載のIC。
【請求項４３】
ノード対ノード通信を容易にするための方法であって、
ゲートウェイにおいて、ローカルノードから状態更新を受信するステップと、
リモートゲートウェイに前記状態更新をブロードキャストするステップと
を含む方法。
【請求項４４】
前記状態更新をブロードキャストするステップは、前記ローカルノードが使用不能であることを前記リモートゲートウェイに知らせるステップを含む、請求項43に記載の方法。
【請求項４５】
前記状態更新をブロードキャストするステップは、前記ローカルノードがスリープしていることを前記リモートゲートウェイに知らせるステップを含む、請求項43に記載の方法。
【請求項４６】
前記ローカルノードがスリープしていることを前記リモートゲートウェイに知らせるステップは、前記ローカルノードがコマンド時にウェイク可能であることを前記リモートゲートウェイに知らせるステップをさらに含む、請求項45に記載の方法。
【請求項４７】
リモートゲートウェイから第2の状態更新を受信するステップをさらに含む、請求項43に記載の方法。
【請求項４８】
前記第2の状態更新を用いてルックアップテーブルを更新するステップをさらに含む、請求項47に記載の方法。
【請求項４９】
前記ローカルノードからメッセージ要求を受信するステップをさらに含む、請求項47に記載の方法。
【請求項５０】
前記第2の状態更新が、前記メッセージ要求に関連する宛先ノードが使用不能であったことを示す場合に、前記ローカルノードからメッセージを送ることを阻むステップをさらに含む、請求項49に記載の方法。
【請求項５１】
システムリセットを強制する方法であって、
アービトレーションフェーズ中に、アービトレーションに勝つためにゲートウェイから最も緊急の優先順位値をアサートするステップと、
前記アービトレーションに勝った後に、バスタイムアウトを強制するために前記ゲートウェイからデータを送らないステップと、
前記バスタイムアウトに応答して、システムリセットを開始するステップと
を含む方法。
【請求項５２】
ノード状態と前記ゲートウェイにある状態テーブル内の情報との間のエラーを検出するステップと、
前記エラーの検出に応答して、前記システムリセットが必要であると判定するステップと
をさらに含む、請求項51に記載の方法。
【請求項５３】
前記最も緊急の優先順位値をアサートするステップは、すべて論理1をアサートするステップを含む、請求項51に記載の方法。
【請求項５４】
前記最も緊急の優先順位値をアサートするステップは、すべて論理0をアサートするステップを含む、請求項51に記載の方法。
【請求項５５】
前記アービトレーションに勝った後に、前記ゲートウェイからクロック信号を送らないステップをさらに含む、請求項51に記載の方法。
【請求項５６】
前記アービトレーションに勝つために前記ゲートウェイから前記最も緊急の優先順位値をアサートするステップは、複数のゲートウェイから同時に前記最も緊急の優先順位値をアサートするステップを含む、請求項51に記載の方法。
【請求項５７】
遅いゲートウェイが前記システムリセットを開始する前に前記バスタイムアウトを検出することを可能にするためにタイマを実行させるステップをさらに含む、請求項51に記載の方法。
【請求項５８】
ゲートウェイであって、
バスに結合するように構成されたバスインターフェースと、
アービトレーションフェーズ中に、アービトレーションに勝つために前記バス上で最も緊急の優先順位値をアサートし、
前記アービトレーションに勝った後に、バスタイムアウトを強制するために前記バス上でデータを送らず、
前記バスタイムアウトに応答して、システムリセットを開始する
ように構成された制御システムと
を含むゲートウェイ
を含む集積回路(IC)。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権出願
本願は、その全体が参照により本明細書に組み込まれている、2015年9月10日に出願した米国特許出願第14/850104号、名称「UNIFIED SYSTEMS AND METHODS FOR INTERCHIP AND INTRACHIP NODE COMMUNICATION」の優先権を主張するものである。
【０００２】
本開示の技術は、全般的には、コンピューティングデバイス内のノードの間の通信を容易にするための構造および方法に関する。
【背景技術】
【０００３】
コンピューティングデバイスが現代の社会において普及してきた。コンピューティングデバイスの普及は、部分的には、そのようなコンピューティングデバイス上で使用可能にされる、増加し続ける多数の機能によって駆り立てられる。増加する機能性は、より高速のプロセッサ、より大きくより高速のメモリ要素、および特定のタスクを実行するように構成された特殊化された集積回路(IC)の包含によって使用可能にされる。歴史的に、新しい機能または新しいICがコンピューティングデバイスに追加される時には、バスが、新しい機能に関連するノードがコンピューティングデバイスの他のノードと通信することを可能にするのに使用される。バスは、ユニバーサル非同期受信機/送信機(UART:Universal asynchronous receiver/transmitter)、Inter-Integrated Circuit(I2C)、シリアルペリフェラルインターフェース(SPI)などの既存の低速標準規格またはペリフェラルコンポーネントインターコネクト(PCI)、PCIエクスプレス(PCIe)、ユニバーサルシリアルバス(USB)、もしくは類似物などの既存の高速標準規格のルールに従うことができる。
【０００４】
既存の標準規格は、ある種の特定の所期の目的には適するが、各バスの導電要素が、ある設計判断基準に従い、かつ/または電磁妨害(EMI)放出限度もしくは電磁両立性(electromagnetic compatibility、EMC)標準規格(たとえば、米国連邦通信委員会(FCC)によって発布された標準規格など)に従うように作られる形でルーティングされなければならないので、異なる標準規格に従って動作するバスの増殖は、デバイス設計を難しくする。様々な複数のプロトコルが使用される時には、異なるプロトコルの間のプロトコル変換をサポートする必要もある場合がある。そのような変換要件は、ICの複雑さを増加させる。ノードの間の通信は、異なる標準規格によってセットされる異なるスリープ/ウェイクルールに従って動作するノードによってさらに複雑にされる可能性がある。クロック信号が、各バス上で送られる可能性があり、これが、EMI放出限度またはEMC標準規格の準拠の難しさを高める可能性がある。さらに、ICが複数のバスに結合される場合に、ICは、結合ごとに1つの、異なるインターフェースを有する可能性がある。そのようなインターフェースは、コンピューティングデバイス内で重複し、IC内の空間を消費し、コンピューティングデバイスの設計を難しくする可能性がある。バスが、ICの内部にある(たとえば、システムネットワークオンチップ(SNOC:system network on chip))時であっても、複数の物理層およびプロトコル層の要件がある可能性があり、その各々が、設計の複雑さを高める。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
設計者が、コンピューティングデバイス内の様々なバスの包含に関する競合する要件を調停できる場合であっても、設計者は、それでも、チップ内通信をチップ間通信と調停するという難事に直面する。設計者が、チップ内通信とチップ間通信との両方のルーティングという問題およびEMIを制御するという問題を解決できる場合であっても、様々な要素が通信を受信するためにウェイクしていることを確かにするという問題が残る。したがって、単一のIC内のノードの間ならびに別々のIC上のノードの間の信頼できる通信を可能にする一貫したノード対ノード通信システムの必要が残っている。
【課題を解決するための手段】
【０００６】
詳細な説明で開示される態様は、チップ間およびチップ内のノード通信のための統一されたシステムおよび方法を含む。例示的な態様において、時々外部バスまたはチップ間バスと呼ばれる、コンピューティングデバイス内のチップの各々を接続する単一の統一された低速バスが提供される。チップは、物理層インターフェースおよび関連するゲートウェイを介してバスに結合する。ゲートウェイは、インターフェースファブリック内のすべてのノードの状態を要約する状態テーブルを記憶するメモリを含む。状態テーブルは、システム初期化時に当初にデータ設定される。ノードが状態変化を経験する時に、そのノードは、関連するローカルゲートウェイに更新を供給する。次いで、ローカルゲートウェイは、スカウトメッセージを使用して、状態変化に関する情報をリモートゲートウェイにメッセージングする。この形において、各ゲートウェイは、ネットワーク内の任意のノードの状態に関して参照が行われ得る更新された状態テーブルを有する。第1のノードが第2のノードへの信号を準備している時に、第1のノードは、第2のノードの現在の状態を判定するために、関連するローカルゲートウェイにある状態テーブルをチェックする。第2のノードの状態に基づいて、第1のノードは、メッセージを送り、メッセージを保持し、ウェイクコマンドと共に送り、または他の適当なアクションを行うことができる。すべての低速バスを単一の統一された物理層インターフェースを有する単一の統一されたバスに合併することによって、コンピューティングデバイスの集積回路(IC)内の空間が、重複した物理層インターフェースのために使用されず、不必要な重複した導電要素が、ICを接続するのに必要ではなく、レイアウト設計が、単純化される。さらに、より少数のバスは、より少数のクロック信号が要求されることを意味し、これは、電力消費が低減され得ることを意味する。設計は、様々なインターフェースブロックをサポートする必要を除去することによって、同様に単純化される。さらに、異なるソフトウェアおよび/またはブリッジソフトウェアが、ノードの間でメッセージを送るためにしばしば必要になる異種システムとは対照的に、ソフトウェア統一性が保証される。
【０００７】
本開示の例示的な態様は、ゲートウェイが受信されたメッセージ内の一貫しない挙動を検出する状況において、バスが、アービトレーションプロセスの操作を介して再初期化されることを可能にする。すなわち、ゲートウェイが、ゲートウェイの内部状態と衝突するイベントを検出する時に、ゲートウェイは、ゲートウェイがアービトレーションに勝つことを保証するために、次のアービトレーションサイクル中に特殊なアービトレーション識別子を送る。アービトレーションに勝った後に、次いで、ゲートウェイは、データを送らず、これが、リセットタイムアウトを強制する。リセットタイムアウトは、再初期化を強制し、この再初期化は、状態テーブルが再データ設定され、メッセージトラフィックが以前に検出されたエラーなしで再開することを可能にする。
【０００８】
これに関して、一態様において、コンピューティングデバイス内のネットワークノードの状態テーブルをデータ設定するための方法が提供される。この方法は、バスに結合された第1のICをアクティブ化するステップを含む。この方法は、第1のICに関連する第1のノードを第1のゲートウェイに登録するステップをも含む。この方法は、第1のICに関連する第1のノードに関する情報で第1のゲートウェイにある第1の状態テーブルをデータ設定するステップをも含む。この方法は、第1の状態テーブル内で示される可用性に基づいて、第1のICに関連する第1のノードの間のチップ内通信を可能にするステップをも含む。
【０００９】
別の態様において、コンピューティングデバイス内のネットワークノードの状態テーブルをデータ設定するための方法が提供される。この方法は、第1のノードを有する第1のICをコンピューティングデバイス内のバスに結合するステップを含む。この方法は、第2のノードを有する第2のICをコンピューティングデバイス内のバスに結合するステップをも含む。この方法は、第1のICに関連する第1のゲートウェイから、第1のノードに関する状態および構成情報を受信するステップをも含む。この方法は、第1のノードに関する状態および構成情報で、第2のICに関連する第2のゲートウェイにある状態テーブルをデータ設定するステップをも含む。
【００１０】
別の態様において、コンピューティングデバイス内のネットワークノードの状態テーブルを更新するための方法が提供される。この方法は、第1のIC内の第1のゲートウェイにおいて、第1のIC内の第1のノードから状態変化指示を受信するステップを含む。この方法は、状態変化指示に応答して、第1のノードの状態変化を反映するように第1のゲートウェイにある第1の状態テーブルを更新するステップをも含む。この方法は、第2のIC内の第2のゲートウェイへのスカウトメッセージを生成するステップであって、スカウトメッセージは、第1のノードの状態変化を示す、生成するステップをも含む。
【００１１】
別の態様において、コンピューティングデバイス内のネットワークノードの状態テーブルを更新するための方法が提供される。この方法は、第1のIC内の第1のゲートウェイにおいて、第2のIC内の第2のゲートウェイからスカウトメッセージを受信するステップであって、スカウトメッセージは、第2のIC内のノードの状態変化を示す、受信するステップを含む。この方法は、スカウトメッセージに応答して、ノードの状態変化を反映するように第1のゲートウェイにある第1の状態テーブルを更新するステップをも含む。
【００１２】
これに関して、一態様において、ICが提供される。ICは、ノードを含む。ノードは、送信機および受信機を含む。ICは、ゲートウェイをも含む。ゲートウェイは、バスに結合され、第1のプロトコルを介してその上で通信するように構成された外部インターフェースを含む。ゲートウェイはノードに通信可能に結合され、第1のプロトコルを介してその間で通信するように構成された内部インターフェースをも含む。
【００１３】
別の態様において、ICが提供される。ICは、第1のノードを含む。ICは、第2のノードをも含む。ICは、ゲートウェイをも含む。ゲートウェイは、バスに結合され、第1のノードおよび第2のノードからの情報を制御するように動作可能になるように構成された外部インターフェースを含む。ICは、第1のノードおよび第2のノードをゲートウェイに通信可能に結合する共通回路網をも含む。
【００１４】
別の態様において、コンピューティングシステムが提供される。コンピューティングシステムは、第1のICを含む。第1のICは、第1のノードを含む。第1のノードは、第1の送信機および第1の受信機を含む。第1のICは、第1のゲートウェイをも含む。第1のICは、第1の外部インターフェースをも含む。第1のゲートウェイは、第1のノードに通信可能に結合され、第1のプロトコルを介してその間で通信するように構成された第1の内部インターフェースをも含む。コンピューティングシステムは、第2のICをも含む。第2のICは、第2のノードを含む。第2のノードは、第2の送信機および第2の受信機を含む。第2のICは、第2のゲートウェイをも含む。第2のゲートウェイは、第2の外部インターフェースを含む。第2のゲートウェイは、第2のノードに通信可能に結合され、第1のプロトコルを介してその間で通信するように構成された第2の内部インターフェースをも含む。コンピューティングシステムは、第1のICの第1のゲートウェイおよび第2のICの第2のゲートウェイに結合され、第1のプロトコルを使用してその間で信号を搬送するように構成されたバスをも含む。
【００１５】
これに関して、一態様において、ICが提供される。ICは、ノードを含む。ICは、ノードに通信可能に結合されたゲートウェイをも含む。ゲートウェイは、バスに結合されるように構成されたインターフェースを含む。ゲートウェイは、バスに関連するノードの可用性に関するデータを記憶するように構成されたルックアップテーブルをも含む。ICは、ノードおよびゲートウェイに動作可能に結合された制御システムをも含む。制御システムは、ノードの状態に関する状態更新を受信するように構成される。制御システムは、ノード対ノード通信の間の信頼性を増進するためにバスに関連する他のゲートウェイにノードの状態に関する情報を送るようにも構成される。
【００１６】
別の態様において、ノード対ノード通信を容易にするための方法が提供される。この方法は、ゲートウェイにおいて、ローカルノードから状態更新を受信するステップを含む。この方法は、リモートゲートウェイに状態更新をブロードキャストするステップをも含む。
【００１７】
例示的な態様において、システムリセットを強制する方法が開示される。この方法は、アービトレーションフェーズ中に、アービトレーションに勝つためにゲートウェイから最も緊急の優先順位値をアサートするステップを含む。この方法は、アービトレーションに勝った後に、バスタイムアウトを強制するためにゲートウェイからデータを送らないステップをも含む。この方法は、バスタイムアウトに応答して、システムリセットを開始するステップをも含む。
【００１８】
別の例示的な態様において、ICが開示される。ICは、ゲートウェイを含む。ゲートウェイは、バスに結合するように構成されたバスインターフェースを含む。ゲートウェイは、制御システムをさらに含む。制御システムは、アービトレーションフェーズ中に、アービトレーションに勝つためにバス上で最も緊急の優先順位値をアサートするように構成される。制御システムは、アービトレーションに勝った後に、バスタイムアウトを強制するためにバス上でデータを送らないようにさらに構成される。制御システムは、バスタイムアウトに応答して、システムリセットを開始するようにさらに構成される。
【図面の簡単な説明】
【００１９】
【図１】チップ対チップ通信のための複数の通信バスおよび複数のプロトコルを有する例示的な従来のコンピューティングシステムを示すブロック図である。
【図２】本開示の例示的な態様による単一外部バスを有する例示的なコンピューティングシステムを示すブロック図である。
【図３】複数のノードを有する第2のチップに結合された複数のノードを有する第1のチップを示す単純化されたブロック図である。
【図４】図2のコンピューティングシステムの初期化中のゲートウェイ内のシステムトポロジおよび状態テーブルのデータ設定を示す流れ図である。
【図５】本開示の例示的な態様による例示的なシステムトポロジおよび状態テーブルを示す図である。
【図６】ノードがどのようにゲートウェイに登録するのかを示す信号フロー図である。
【図７】ノードの状態の変化によって生成されるスカウトメッセージを用いる図5のシステムトポロジおよび状態テーブルの更新を示す流れ図である。
【図８】本開示のプロトコルの例示的な態様による例示的なスカウトメッセージを示す図である。
【図９】チップ内の第2のノードと通信するノードを示す信号図である。
【図１０】第2のリモートノードと通信するノードを示す信号図である。
【図１１】本開示のプロトコルの例示的な態様による標準メッセージの構造を示す表である。
【図１２】本開示の例示的な態様によるアービトレーションプロセスを示す信号図である。
【図１３】バス上のアービトレーションに続くバスホールトの例示的なバスシーケンスを示す図である。
【図１４】バスがキーパー回路を有しないが、ワイヤANDアービトレーションを有する、バスホールトの代替の例示的なバスシーケンスを示す図である。
【発明を実施するための形態】
【００２０】
ここで、図面に関して、本開示の複数の例示的な態様について説明する。「例示的」という単語は、本明細書では、「例、実例、または例示として働く」を意味するのに使用される。本明細書で「例示的」と説明されるすべての態様は、必ずしも、他の態様より好ましいまたは有利であると解釈されるべきではない。
【００２１】
詳細な説明内で開示される態様は、チップ間およびチップ内のノード通信のためのシステムおよび方法を含む。例示的な態様において、コンピューティングデバイス内のチップの各々を接続する、時々外部バスまたはチップ間バスと呼ばれる単一の統一された低速バスが設けられる。チップは、物理層インターフェースおよび関連するゲートウェイを介してバスに結合する。ゲートウェイは、インターフェースファブリック内のすべてのノードの状態を要約する状態テーブルを記憶するメモリを含む。状態テーブルは、システム初期化時に当初にデータ設定される。ノードが状態変化を経験する時に、ノードは、関連するローカルゲートウェイに更新を供給する。次いで、ローカルゲートウェイは、スカウトメッセージを使用して、状態変化に関する情報をリモートゲートウェイにメッセージングする。この形において、各ゲートウェイは、ネットワーク内の任意のノードの状態に関して参照が行われ得る更新された状態テーブルを有する。第1のノードが第2のノードへの信号を準備している時に、第1のノードは、第2のノードの現在の状態を判定するために、ローカルな関連するゲートウェイにある状態テーブルをチェックする。第2のノードの状態に基づいて、第1のノードは、メッセージを送り、メッセージを保持し、ウェイクコマンドと共に送り、または他の適当なアクションを行うことができる。すべての低速バスを単一の統一された物理層インターフェースを有する単一の統一されたバスに合併することによって、コンピューティングデバイスの集積回路内の空間が、重複した物理層インターフェースのために使用されず、不必要な重複した導電要素が、集積回路を接続するのに必要ではなく、レイアウト設計が、単純化される。さらに、より少数のバスは、より少数のクロック信号が要求されることを意味し、これは、電力消費が低減され得ることを意味する。設計は、様々なインターフェースブロックをサポートする必要を除去することによって、同様に単純化される。さらに、異なるソフトウェアおよび/またはブリッジソフトウェアが、ノードの間でメッセージを送るためにしばしば必要になる異種システムとは対照的に、ソフトウェア統一性が保証される。
【００２２】
本開示の例示的な態様は、ゲートウェイが受信されたメッセージ内の一貫しない挙動を検出する状況において、バスが、アービトレーションプロセスの操作を介して再初期化されることを可能にする。すなわち、ゲートウェイが、ゲートウェイの内部状態と衝突するイベントを検出する時に、ゲートウェイは、ゲートウェイがアービトレーションに勝つことを保証するために、次のアービトレーションサイクル中に特殊なアービトレーション識別子を送る。アービトレーションに勝った後に、次いで、ゲートウェイは、データを送らず、これが、リセットタイムアウトを強制する。リセットタイムアウトは、再初期化を強制し、この再初期化は、状態テーブルが再データ設定され、メッセージトラフィックが以前に検出されたエラーなしで再開することを可能にする。
【００２３】
本開示の例示的な態様に対処する前に、従来のコンピューティングシステム10の短い概要が、図1を参照して提供される。従来のコンピューティングシステム10の概要は、本開示の例示的な態様を対比させるのを助けるために提供され、従来のシステムの短所を示す。本開示の例示的な態様の議論は、下で図2を参照して開始される。
【００２４】
これに関して、図1は、従来のコンピューティングシステム10のブロック図であり、従来のコンピューティングシステム10は、第1のIC 12を含み、第1のIC 12は、アプリケーションプロセッサ(本明細書では時々「AP」と呼ばれる)とすることができる。第1のIC 12は、複数のサブシステム14(1)〜14(N)を含み、サブシステムは、全地球的航法衛星システム(GNSS)(本明細書では時々「ナビ(Nav)」と呼ばれる)などのナビゲーションシステム、3G、4G、および/またはロングタームエボリューション(LTE)用のセルラーモデムなどのモデム、センササブシステム、Always On Processor(AOP)サブシステム、オーディオサブシステム、および類似物を含むことができる。複数のサブシステム14(1)〜14(N)の各サブシステムが、他のノードとの通信のためにサブシステムのアプリケーション層アクティビティをプロトコルスタック内の下位層に変換する、それに関連するノード(図示せず)を有する場合があることを諒解されたい。従来のコンピューティングシステム10は、さらに、他のIC 16(1)〜16(6)を含む場合がある。6つの他のIC 16(1)〜16(6)が図示されているが、他のIC 16(1)〜16(6)などのより多数またはより少数の他のICが、従来のコンピューティングシステム10内に存在する場合があることを諒解されたい。例示的な態様において、他のIC 16(1)および16(2)は、モバイルデバイスモデム(MDM)であり、他のIC 16(4)は、WIFIまたはBLUETOOTH(登録商標)システム(時々WIFI/BTと呼ばれる)などの近距離無線通信モデム(NFCM)である。他のIC 16(5)は、オーディオコーデックまたは音声コーデックなどのワイヤレスコーデックデバイス(時々WCDと呼ばれる)とすることができ、他のIC 16(6)は、電力管理IC(PMIC)とすることができる。第1のIC 12および他のIC 16(1)〜16(6)が、従来のコンピューティングシステム10内のプリント回路基板(PCB)上に取り付けられたそれ自体のチップを有する場合があることを諒解されたい。そのような取付けは、チップのピンをソケットに挿入すること、ピンをPCBにはんだ付けすること、またはよく理解されている他の技法によって行われ得る。
【００２５】
図1の参照を続けると、第1のIC 12は、通信バス18(1)〜18(6)を介して他のIC 16(1)〜16(6)と通信する。通信バス18(1)〜18(6)の各々が、異なるプロトコルに従って動作し、異なる本数のワイヤを有するサブバスを含む場合があることを諒解されたい。たとえば、通信バス18(2)は、2ワイヤ(2W)ペリフェラルコンポーネントインターコネクト(PCI)エクスプレス(PCIe)バス、4ワイヤ(4W)ユニバーサル非同期受信機/送信機(UART)ホストコントローラインターフェース(UARTHCI)バス、2ワイヤUART BLUETOOTH Low Energy(UART BLE)バス、および4ワイヤUART mobility/mobile assisted wireless-fidelity(WiFi) connectivity(UART MAWC)バスを含む。他のバスは、システム電力管理インターフェース(SPMI:system power management interface)標準規格、汎用入力/出力(GPIO:general purpose input/output)標準規格、シリアルペリフェラルインターフェース(SPI)標準規格、UART GeoFencing(UART GF)、UART wireless connectivity interface, version 2(UARTWCI2)、または他の標準規格に準拠する可能性がある。各バスおよび/またはサブバスに関して、チップは、別々のインターフェースを必要とする場合があり、これが重複する場合がある。サブバスのすべてに伴う通信バス18(1)〜18(6)の各々のルーティングが、複雑になる可能性があることを諒解されたい。さらに、各バスの各ワイヤは、ピンまたは接点を必要とし、これは、素早く商業的に非実用的になる。さらに、これらの通信バス18(1)〜18(6)の各々は、電磁妨害(EMI)アグレッサ(aggressor)またはEMIビクティム(victim)として働く可能性があり、これは、通信バス18(1)〜18(6)のルーティングの複雑さを高める。要するに、従来のコンピューティングシステム10は、改善され得る。
【００２６】
これに関して、本開示の例示的な態様は、コンピューティングシステム内の低速バスを単一の低速バスに合併し、チップ内レベルとチップ間レベルとの両方におけるノード対ノード通信を可能にするプロトコルを実施する。そのような合併は、バスのルーティングを単純化し、EMIの機会を低減し、チップ上のピンカウントを減少させる。さらに、そのような合併は、サブシステムノードおよびそれらの対応する制御ソフトウェアに、異種システム内での多数のAPIの要件ではなく単一の共通アプリケーションプログラミングインターフェース(API)を厳守させることによって全体的なシステムソフトウェアを単純化する。
【００２７】
これに関して、図2は、アプリケーションプロセッサとすることのできる第1のIC 32を有する例示的なコンピューティングシステム30を示す。第1のIC 32は、複数のサブシステム(長方形として図示されているが、番号のラベルは付けられていない)を含む場合がある。上で注記したように、サブシステムは、ナビゲーションサブシステム、モデムサブシステム、センササブシステム、オーディオサブシステム、AOPサブシステム、および類似物を含むことができる。複数のサブシステムの各々は、関連するノードを有する。したがって、第1のIC 32は、ノード34(1)〜34(N)を有する。ノード34(1)〜34(N)が、それぞれの送信機34(1)Tx〜34(N)Txおよびそれぞれの受信機34(1)Rx〜34(N)Rxを有することを諒解されたい。コンピューティングシステム30は、他のIC 36(1)〜36(M)をさらに含むことができる(6つを図示)。外部バス38が、第1のIC 32および他のIC 36(1)〜36(M)を結合する。例示的な態様において、外部バス38は、低速バスである。他のIC 36(1)は、その中にノード40(1)〜40(P)を有し、他のIC 36(2)は、その中にノード42を有し、他のIC 36(3)は、その中に複数のノード44(1)〜44(Q)を有する。他のIC 36(1)〜36(M)のさらなる他のICは、その中に様々な個数のノードを有することができる(明示的にはラベルを付けられていないが、図示されている)。やはり、ノード40(1)〜40(P)、42、および44(1)〜44(Q)の各々が、それ自体のそれぞれの送信機および受信機(図示せず)を有することを諒解されたい。第1のIC 32は、ゲートウェイ46(図内では「GW」というラベルをも付けられている)を含む。ゲートウェイ46は、ノード34(1)〜34(N)に結合される内部インターフェースと、外部バス38に結合される外部インターフェースとを含む。同様に、他のIC 36(1)〜36(M)は、ゲートウェイ46に類似するそれぞれのゲートウェイ48(1)〜48(M)(やはり図内では「GW」と呼ばれる)を含む。USBおよびPCIeバスなどの他のバスが残っている場合があるが、一般に、これらは高速バスである。本明細書で使用される時に、低速バスは、50〜100Mbpsまでの速度を有するバスである。対照的に、高速バスは、数百から数千MbpsまたはGbpsである。例示的な態様において、外部バス38の周波数は、57.6MHzとすることができ、これは、多くのセルラー設計内に見られる共通の19.2MHzの倍数であり、低速バスとして分類される。
【００２８】
ノードおよびゲートウェイのある種の特徴をよりよく示すために、図3は、図2のコンピューティングシステム30から抽出された部分的なコンピューティングシステム50の単純化されたブロック図を提供する。部分的なコンピューティングシステム50は、制御システム51(図内では「CS」というラベルを付けられている)を有する第1のIC 32、制御システム52(図内では「CS」というラベルを付けられている)を有する他のIC 36(1)、ならびに第1のIC 32および他のIC 36(1)を結合する外部バス38を含む。外部バス38は、第1のワイヤ上でクロック信号(SCLK)、第2のワイヤ上でデータ信号(SDATA)を搬送することのできる2ワイヤバスとすることができる。第1のIC 32のゲートウェイ46は、ポイントツーポイント結合53によってノード34(1)〜34(N)に直接に結合される。本明細書で使用される時に、そのような直接結合は、1対1物理接続を含むように定義される。能動要素および受動要素が、ノード34(1)〜34(N)の所与のノードとゲートウェイ46との間に存在する可能性があるが、接続は、ゲートウェイ46を通過せずに第1のIC 32内のノード34(1)〜34(N)の任意の他のノードに通信可能には接続しない。対照的に、他のIC 36(1)のノード40(1)〜40(P)は、ネットワークオンチップ(NoC) 54を介するなど、ゲートウェイ48(1)に間接的に結合される。図3は、ポイントツーポイント結合53を有する第1のIC 32およびNoC 54を有する他のIC 36(1)を示すが、例示的な態様において、これらのシステムは、相互に排他的である。すなわち、第1のIC 32がポイントツーポイント結合53を有する場合に、他のIC 36(1)は、NoC 54ではなくポイントツーポイント結合53を同様に有する。同様に、他のIC 36(1)がNoC 54を有する場合に、第1のIC 32は、同様にNoC 54を有する。図示のように、制御システム51および52が、それぞれのゲートウェイ46および48(1)の内部にあるが、本開示が、それに限定されず、制御システム51および52が、それぞれのゲートウェイ46および48(1)の外部にあってもよいことにも留意されたい。
【００２９】
図3の参照を続けると、外部バス38は、第1のIC 32および他のIC 36(1)をアービトレーションクロックマネージャ(ACM) 56に結合することができる。代替案では、ACM 58が、他のIC 36(1)(または、第1のIC 32などの別のIC)内に存在することができる。ACM 56またはACM 58の機能は、アービトレーション期間中に外部バス38のSCLKをソーシングすることである。上で注記したように、ゲートウェイ46および48(1)は、外部バス38に結合するためにそれぞれの外部インターフェース60および62を含む。同様に、ゲートウェイ46は、ノード34(1)〜34(N)に結合するために内部インターフェース64を含むことができる。内部インターフェース64は、必要または望みに応じて、単一の要素または複数の要素とすることができる。同様に、ゲートウェイ48(1)は、NoC 54に結合する内部インターフェース66を含むことができる。例示的な態様において、内部インターフェース64は、内部ノード34(1)〜34(N)に接続するポートのセットを有することができる。各ポートは、ポート論理IDレジスタのセットを有し、その結果、ノード34(1)〜34(N)のノードが、複数の論理ノードIDに応答できるようになる。例示的なポートテーブルは、信頼できる、オンライン、ウェイク可能、最大伝送単位(MTU)、および送信可(CTS)という条件の状態を定義するレジスタを含む。信頼性が、個々の論理ノードの機能とされ得るが、ゲートウェイが、ポート内のすべての論理ノードのパラメータの共通のセット(たとえば、オンライン、ウェイク可能、MTU、CTS)を提供できることに留意されたい。異なる実施態様は、属性を異なって区分することができる。
【００３０】
図4は、図2のコンピューティングシステム30の初期化中のゲートウェイ(たとえば、ゲートウェイ46またはゲートウェイ48(1)〜48(P)のうちの1つ)内のシステムトポロジおよび状態テーブル100(図5参照)のデータ設定プロセス70を示す流れ図である。プロセス70は、コンピューティングシステム30が、外部バス38に接続された第1のIC 32と共にアクティブ化すること(ブロック72)から始まる。第1のノード34(1)〜34(N)が、第1のゲートウェイ46に登録する(ブロック74)。この登録は、容易に理解されるように、ゲートウェイ46からの懇請に応答して、ノード34(1)〜34(N)が電力を受け取ることに応答して、または別のコマンドから行われ得る。第1のゲートウェイ46が、ノード34(1)〜34(N)に関する情報でシステムトポロジおよび状態テーブル100(図5参照)をデータ設定する(ブロック76)。この時点で、チップ内通信(すなわち、ノード34(1)〜34(N)の間の)が可能である(ブロック78)が、ゲートウェイ46は、チップ間通信を阻む。
【００３１】
図4の参照を続けると、少し後に、他のIC 36(1)〜36(M)のうちの1つまたは複数がアクティブ化される。例示のために、他のIC 36(1)がアクティブ化され、第2のゲートウェイ48(1)がブートする(ブロック80)。本明細書内で使用される時に、第1および第2が、要素の間で弁別する際の便宜のために使用され、必ずしも厳密に時間的なラベルではないことに留意されたい。たとえば、他のIC 36(3)が、第1の時刻にアクティブ化され、IC 32がその後にアクティブ化することができ、したがって、他のIC 36(3)が、プロセス70に関して「第1」になることができる。容易に理解されるように、さらに他の時間的順序が可能である。第2のゲートウェイ48(1)は、登録するように第2のノード40(1)〜40(P)にシグナリングする(ブロック82)。第2のゲートウェイ48(1)は、第1のゲートウェイ46に、第1のゲートウェイ46に関連するノード34(1)〜34(N)の構成データを要求する(ブロック84)。第2のノード40(1)〜40(P)は、第2のゲートウェイ48(1)に登録し(ブロック86)、第2のゲートウェイ48(1)は、それ自体のシステムトポロジおよび状態テーブルをデータ設定する。本開示の例示的な態様において、IC 32およびIC 36(1)〜36(M)が、お互いと独立に構成されるが、別の例示的な態様において、第1のゲートウェイ46が、第2のゲートウェイ48(1)を構成することができることに留意されたい。
【００３２】
図4の参照を続けると、第2のゲートウェイ48(1)は、第2のノード40(1)〜40(P)の状態およびプロパティをブロードキャストする外部バス38上のスカウトメッセージを送る(ブロック88)。スカウトメッセージに関するさらなる情報は、下で図8を参照して提供される。第1のゲートウェイ46は、第2のノード40(1)〜40(P)に関する情報を用いてローカルシステムトポロジおよび状態テーブルを更新する。第1のゲートウェイ46は、第1のノード34(1)〜34(N)の状態およびプロパティを有するスカウトメッセージを外部バス38上で第2のゲートウェイ48(1)に送る(ブロック90)。第2のゲートウェイ48(1)は、第1のノード34(1)〜34(N)に関する情報を用いてローカルシステムトポロジおよび状態テーブルを更新する。システムトポロジおよび状態テーブルがリモートノードに関する情報を用いて更新された後に、チップ間通信は、図9および図10を参照して下でより詳細に説明されるように、通信に含まれるノードの可用性に従って発生することができる。
【００３３】
図5は、本開示の例示的な態様による例示的なシステムトポロジおよび状態テーブル100である。システムトポロジおよび状態テーブル100は、ノードアドレスフィールド102、ノードが内部的に存在するフィールド104、ノードが外部的に存在するフィールド106、ノードがアウェイクしているフィールド108、ウェイクオンメッセージが許可されるフィールド110、信頼できる配送が必要とされるフィールド112、ノード送信可(CTS)状態フィールド114、および最大伝送単位(MTU)サイズフィールド116などのフィールドを含むことができる。本開示の例示的な態様において、MTUは、バッファをオーバーフローさせず、同様の要因のためにすべての受信ノードに関してシステム設計者によって決定される。より大きいMTUがより大きいバッファサイズを、したがってより大きいSOCエリアを暗示するという点で、SOCエリアとMTUとバッファサイズとの間に直接の関係がある。フィールド104、106、108、110、および112が、単一のビットまたは単純なY/N指示とされ得ることに留意されたい。他のフィールド102、114、および116は、単一のビットより大きいものとされ得る。フィールド104および106が、内部または外部を示すか、ノードの位置を示すために単一の指示を使用するためにノードの位置の相互に排他的な性質と、指示を欠くノードの他の位置を推論するのにそのような指示に不在(たとえば、ノードが内部的に存在するフィールド104だけが存在する場合に、ここでの正のビットの不在は、必ず、ノードが外部的に存在することを示す)とに頼る単一のフィールドに合併され得ることにさらに留意されたい。
【００３４】
図6は、ノード(たとえば、ノード34(1))がリセット時または初期化時にどのようにゲートウェイ(たとえば、ゲートウェイ46)に登録するのかを示す信号フロー図130である。ノード34(1)が、ノードハードウェア(HW) 132およびノードソフトウェア(SW) 134を含むことを諒解されたい。同様に、ゲートウェイ46は、ゲートウェイ(図内ではGWとして参照される)ポートマネージャ140、ゲートウェイルーティングテーブル142(たとえば、システムトポロジおよび状態テーブル100)、ゲートウェイ外部バスマネージャ144、およびゲートウェイ構成SW 146を含む。当初に、ハードウェアまたはソフトウェアコマンドがリセットを開始する。ノード34(1)は、状態レジスタ(図示せず)内にリセット条件を書き込むことができる。リセット条件は、コールド/サブシステムハードウェアリセット、ゲートウェイリセット要求、ソフトウェアリセット要求、またはデバッグリセットとすることができる。ノード34(1)は、ゲートウェイ46が準備ができているかどうかを調べるためにテストすることができる。ゲートウェイ46が準備ができた後に、信号フロー図130の初期化プロセスが始まる。
【００３５】
図6の参照を続けると、当初に、ポートテーブルがアンロックされ、ゲートウェイ構成SW 146によって変更され得る。ゲートウェイ構成SW 146は、信号150を用いて、ポートテーブル内に論理ノードID、有効、信頼できる/信頼できないを書き込む。また、ゲートウェイ構成SW 146は、信号152を用いてゲートウェイ46をイネーブルする。代替案では、ゲートウェイ46が自動イネーブルされる。ゲートウェイポートマネージャ140は、信号154を用いてゲートウェイ46が準備ができていることをノードHW 132に指示し、これは、ノードHW 132に、ゲートウェイ読取状態レジスタ(図示せず)を更新させる。ノードHW 132は、ゲートウェイポートマネージャ140にノードリセットコマンド156を送り、ゲートウェイポートマネージャ140は、ポートフラグ値をチェックする。ポートフラグ値は、ディスエーブルにセットされなければならない。ポートフラグ値は、ウォームリセット条件時にポートおよびルーティングテーブルをリセットするのに使用される。
【００３６】
図6の参照を続けると、ゲートウェイポートマネージャ140は、ノードHW 132にリセット肯定応答(ACK) 158を送る。ノードHW 132は、ノードSW 134にノード初期化割込み160を送る。その一方で、ゲートウェイ構成SW 146は、信号162を用いて、ポートテーブル内に論理ノードID、有効、信頼できる/信頼できないを書き込むことができる。ゲートウェイ構成SW 146は、ノード初期化割込み160によってトリガされ得る。ノードHW 132は、コマンド164を用いて自動イネーブルビットをセットする。ノードSW 134は、ノードHW 132にイネーブルノードコマンド166を送る。ノードHW 132は、ゲートウェイポートマネージャ140にポートCONFコマンド(時々CMDと呼ばれる)168を送り、ゲートウェイポートマネージャ140は、ポートCONF ACK 170を応答し、ポートテーブルがゲートウェイ構成SW 146によって変更され得ないようにポートテーブルをロックする(書込保護または「WP」)。
【００３７】
図6の参照を続けると、ノードHW 132は、ゲートウェイポートマネージャ140にRX_MTU CMD 172を送り、ゲートウェイポートマネージャ140は、コマンド174を用いてゲートウェイルーティングテーブル142内にローカル、有効、信頼できる、RX_MTUをセットする。ゲートウェイポートマネージャ140は、ノードHW 132にMTU ACK 176を送る。その一方で、ゲートウェイルーティングテーブル142は、コマンド178を用いて、デフォルト値によってHDRをセットする。ノードHW 132は、ゲートウェイポートマネージャ140にウェイク可能CMD 180を送り、ゲートウェイポートマネージャ140は、コマンド182を用いてゲートウェイルーティングテーブル142内にウェイク可能/ウェイク不能(NW)ビットをセットする。ゲートウェイポートマネージャ140は、ノードHW 132にウェイクACK 184を送る。ノードHW 132は、ゲートウェイポートマネージャ140にCTS CMD 186を送り、ゲートウェイポートマネージャ140は、コマンド188を用いてゲートウェイルーティングテーブル142内でCTSビットをセットする。ゲートウェイポートマネージャ140は、ノードHW 132にCTS ACK 190を送る。ノードHW 132は、ゲートウェイポートマネージャ140にオン/オフCMD 192を送り、ゲートウェイポートマネージャ140は、コマンド194を用いてゲートウェイルーティングテーブル142内でオン/オフビットをセットする。ゲートウェイポートマネージャ140は、ノードHW 132にオン/オフACK 196を送る。ノードHW 132は、ゲートウェイポートマネージャ140に構成終了(CONFDONE) CMD 198を送る。次いで、ゲートウェイルーティングテーブル142は、ゲートウェイ外部バスマネージャ144に、ノード状態変化と共にスカウントコマンド200を送る。ゲートウェイポートマネージャ140は、ノードHW 132にCONFDONE ACK 202を送り、ポートテーブルは、アンロックされ、ゲートウェイ構成SW 146によって変更され得る。信号およびコマンド170〜202は、ポートテーブル内のノードIDごとに繰り返される。ノードHW 132は、ノードSW 134にノード構
成終了割込み204を送ることによって終了する。
【００３８】
例示的な態様において、ポートは、論理ノードIDの動的作成の場合に使用すべきノードの状態を維持しなければならない。これは、イネーブル(オンライン)、オン/オフ、ウェイク可能、Rx_MTU、およびCTSなどのノードの状態が、論理ノードIDが作成される時のポートの状態を継承することを可能にする。論理ノードIDが、論理ノードID値をセットしまたは変更することによって動的に作成され得ることに留意されたい。ゲートウェイ内のポートは、すべての可能な論理ノードIDおよびそれらの状態を追跡する。一例として、物理ノードは、ID a、b、c、およびdを有する4つの論理ノードを有することができる。変化する条件は、ID eでの新しい論理ノード(およびそのパラメータ)の動的作成を引き起こす。それを行う際に、論理ノードeは、論理ノードaを置換する。作成後に、論理ノードのゲートウェイリストは、b、c、d、およびeに更新される。論理ノードaのパラメータは、望まれる場合に、ノードソフトウェア内で保持され得る。
【００３９】
図7は、ノードの状態の変化によって生成されるスカウトメッセージを用いる図5のシステムトポロジおよび状態テーブル100の更新を示す流れ図である。具体的には、プロセス220は、ノード34(1)が通常動作中に状態を変化させることから始まる(ブロック222)。たとえば、ノード34(1)は、スリープモードに入ることができる。第1のゲートウェイ46は、ノード34(1)の状態変化について知る(ブロック224)。ノード34(1)は、状態変化の前にこの状態変化についてゲートウェイ46に先を見越して知らせることができ、ゲートウェイ46は、状態変化に関してノード34(1)〜34(N)を周期的にポーリングすることができ、または、他の技法が、必要または望みに応じて使用され得る。状態変化について知った後に、第1のゲートウェイ46は、ローカルシステムトポロジおよび状態テーブル100を更新する(ブロック226)。
【００４０】
図7の参照を続けると、第1のゲートウェイ46は、ローカルシステムトポロジおよび状態テーブル100内の変化をブロードキャストするスカウトメッセージを外部バス38を介して送る(ブロック228)。第2のゲートウェイ48(1)は、スカウトメッセージを受信し(ブロック230)、そのローカルシステムトポロジおよび状態テーブル100を更新する(ブロック232)。
【００４１】
図8は、本開示のプロトコルの例示的な態様による例示的なスカウトメッセージ250である。スカウトメッセージ250は、アイドルフィールド252、開始フィールド254、スカウト識別子フィールド256、バージョン(「ver」)フィールド258、優先順位フィールド260、ハンドオーバフィールド262、メッセージヘッダ264、および1つから4つまでのスカウトコマンド266(1つだけ図示)を含むことができる。ハンドオーバフィールド262は、スカウトメッセージ250のアービトレーションフェーズを終了し、データフェーズを開始する。
【００４２】
すべてのシステムトポロジおよび状態テーブル100がデータ設定され、更新された後に、図2のコンピューティングシステム30のノードは、コンピューティングシステム30の高水準機能を遂行するためにお互いと通信することができる。これに関して、図9は、第1のIC 32内の第2のノード34(2)と通信するノード34(1)の信号図270である。ノード34(1)は、ゲートウェイ46にメッセージ要求272を送る。メッセージ要求272は、信頼性要件などの属性を含むことができる。ゲートウェイ46は、信頼性が要求されるかどうかをチェックする(信号274)。信頼性が要求されない場合には、ゲートウェイ46は、メッセージを送るようにノード34(1)に命令し(信号276)、ノード34(1)は、メッセージ278を送る。
【００４３】
図9の参照を続けると、信頼性が要求される場合には、ゲートウェイ46は、宛先ノード34(2)が利用可能であるかどうかを調べるためにシステムトポロジおよび状態テーブル100をチェックする(信号280)。テーブル100が、宛先ノード34(2)が利用可能であることを示す場合に(信号282)、ゲートウェイ46は、メッセージを送るようにノード34(1)に命令し(信号284)、ノード34(1)は、メッセージ278を送る。
【００４４】
図9の参照を続けると、信頼性が要求され、宛先ノード34(2)が利用可能ではなく、ウェイク可能ではない場合に(信号286)、次いで、ゲートウェイ46は、メッセージを保持しまたは破棄するようにノード34(1)に命令する(信号288)。
【００４５】
図9の参照を続けると、信頼性が要求され、宛先ノード34(2)が利用可能ではないが、ウェイク可能である場合に(信号290)、ゲートウェイ46は、宛先ノード34(2)にウェイクコマンド292を送る。宛先ノード34(2)は、ウェイクの確認を送り(信号294)、ゲートウェイ46は、メッセージを送るようにノード34(1)に命令する(信号296)。ノード34(1)は、メッセージ278を送る。
【００４６】
システムトポロジおよび状態テーブル100をチェックすることによって、信頼性が、メッセージ転送において保証される。改善された信頼性は、より少ないメッセージが再送されるという点で帯域幅の節約を可能にする。そのような信頼性は、ノードが異なる電力ドメイン、異なるクロックドメイン、および/または異なるウェイク可能性パラメータを有する場合であっても達成される。
【００４７】
信号図270は、チップ内ノード対ノード通信を議論するが、図10は、他のIC 36(1)〜36(M)のうちの1つなどのリモートIC上の第2のノード40(1)と通信するノード34(1)の信号図310である。ノード34(1)は、ゲートウェイ46にメッセージ要求312を送る。メッセージ要求312は、信頼性要件などの属性を含むことができる。ゲートウェイ46は、信頼性が要求されるかどうかをチェックする(信号314)。信頼性が要求されない場合には、ゲートウェイ46は、メッセージを送るようにノード34(1)に命令し(信号316)、ノード34(1)は、リモート宛先ノード40(1)に外部バス38を介してメッセージ318を送る。
【００４８】
図10の参照を続けると、信頼性が要求される場合に、ゲートウェイ46は、リモート宛先ノード40(1)が利用可能であるかどうかを調べるために、システムトポロジおよび状態テーブル100をチェックする(信号320)。テーブル100は、コンピューティングシステム30内のすべてのノードの状態を供給するために以前に送られたスカウトメッセージに基づいて最新でなければならない。テーブル100が、リモート宛先ノード40(1)が利用可能であることを示す場合に(信号322)、ゲートウェイ46は、メッセージを送るようにノード34(1)に命令し(信号324)、ノード34(1)は、リモート宛先ノード40(1)に外部バス38を介してメッセージ318を送る。
【００４９】
図10の参照を続けると、信頼性が要求され、リモート宛先ノード40(1)が利用可能ではなく、ウェイク可能ではない場合に(信号326)、次いで、ゲートウェイ46は、メッセージを保持しまたは破棄するようにノード34(1)に命令する(信号328)。
【００５０】
図10の参照を続けると、信頼性が要求され、リモート宛先ノード40(1)が利用可能ではないが、ウェイク可能である場合に(信号330)、ゲートウェイ46は、外部バス38を介してリモート宛先ノード40(1)にウェイクコマンド332を送る。リモート宛先ノード40(1)は、外部バス38を介してウェイクの確認を送り(信号334)、ゲートウェイ46は、メッセージを送るようにノード34(1)に命令する(信号336)。ノード34(1)は、メッセージ318を送る。
【００５１】
外部バス38上で使用される新しいプロトコルを解説するのを助けるために、図11は、本開示のプロトコルの例示的な態様による標準メッセージの構造を示すテーブル350である。標準メッセージは、標準またはスカウト(Std_or_Scout) 352、バージョン354、優先順位レベル356、バックオフビット358、ノードサブID 360、クロックハンドオーバ362、巡回冗長検査(CRC)存在364、HDRモード366、宛先ノードID 368、長さ370、ペイロード372、CRC 374、およびバスパーク376などのフィールドを有することができる。標準メッセージの他の構造および/または配置が可能であるが、図11内に示された構造は、本開示の例示的な態様に適する。
【００５２】
図12は、本開示の例示的な態様によるアービトレーションプロセス400の信号図である。アービトレーションプロセス400は、外部バス38上で使用される新しいプロトコルを解説するのを助けるために提供される。他のアービトレーションプロセスが可能であるが、アービトレーションプロセス400は、本開示の例示的な態様に適する。アービトレーションプロセス400は、以前のシーケンス期間402の終りの後、バスアイドル期間404の後に開始する。バスアイドル期間404中に、SCLKは、SDATAと同様に休眠中である。アービトレーションフェーズ406は、アービトレーション開始408と共に始まり、アービトレーション開始408は、チップのうちの1つ(または複数)がSDATA信号線上で要求を開始する時に始まる。メッセージ開始の検出時に、アービトレーションシーケンス410が始まり、ACM 58が、SCLKを駆動する(412に表されている)。様々な要求するゲートウェイは、それらのそれぞれのメッセージ優先順位に従ってSDATAを駆動し(全般的に414)、優先順位が確立される。優先順位が区立された後に、クロックハンドオーバ期間416が始まり、その後に、勝つゲートウェイが、SCLKを駆動し(418に示されている)、データフェーズ422内に適当なSDATA(420に示されている)を供給する。
【００５３】
アービトレーションフェーズ406内に、複数のゲートウェイ46および48(1)〜48(M)が、一意のメッセージ優先順位値を送信することによって、外部バス38へのアクセスに関して競合することができる。外部バス38は、ゲートウェイ46および48(1)〜48(M)のうちの複数がアービトレーションフェーズ406中に送信する時に、最も緊急の優先順位値が、より低い緊急優先順位値を有するゲートウェイ46および48(1)〜48(M)をオーバーライドするように構成される。この優先順位方式を達成するために、メッセージ優先順位値は、最上位ビット(MSB)を最初に送信され、それらが外部バス38に出力したビットが外部バス38の実際の値であることを確認するために、ゲートウェイ46および48(1)〜48(M)のすべてが外部バス38を感知する。ゲートウェイ46および48(1)〜48(M)のうちの1つが、そのゲートウェイが送信したばかりの値と等しくないビット値を検出する時には必ず、そのゲートウェイは、バックオフし、メッセージ優先順位値の後続ビットの送信を試みない。勝つゲートウェイは、そのメッセージ優先順位値のすべてのビットが適切に送信された(すなわち、優先順位ビットが、ゲートウェイ46および48(1)〜48(M)の別の1つによってプリエンプトされなかった)ことを検出したゲートウェイである。勝つゲートウェイは、そのメッセージをデータフェーズ422中に送信する許可を与えられる。ゲートウェイが、そのメッセージの送信を終了する時に、外部バス38は、ゲートウェイ46および48(1)〜48(M)のいずれもが外部バス38へのアクセスを要求できるアイドル状態に戻る。
【００５４】
ゲートウェイ46および48(1)〜48(M)のうちの1つが、その初期状態において回復不能なエラーを検出する時に、そのゲートウェイは、システム全体のリセットを発生させる一意のバスアクセス要求を送ることができる。一意のバスアクセス要求は、バスエラーホールトシーケンスと呼ばれる。バスエラーホールトシーケンスを実施するために、アービトレーションプロセス内の最も緊急の優先順位値が、バスエラーホールトシーケンスを送信するために予約されている。例示的な態様において、この優先順位値は、コンピューティングシステム30内のメッセージ優先順位値の割り当てに依存して、すべて1またはすべて0のいずれかとされ得る。バスエラーホールトシーケンスは、ゲートウェイ46および48(1)〜48(M)のいずれかによって送信され得、ゲートウェイ46および48(1)〜48(M)のうちの複数がバスエラーホールトシーケンスを同時に送信することが、許される。バスエラーホールトシーケンスに最も緊急の優先順位値を使用することによって、バスエラーホールトシーケンスを送信しないゲートウェイ46および48(1)〜48(M)が、アービトレーションフェーズ406に勝つことを諒解されたい。次いで、勝つゲートウェイは、データフェーズ422内にデータを送信しない。すべての勝つゲートウェイがいかなるデータを送信しないので、アービトレーションフェーズ406において引き分けがある場合であっても、競合はない。データフェーズ422内のメッセージの欠如は、最終的に、ゲートウェイ46および48(1)〜48(M)の各々内のリセットタイマをトリガし、これは、システムエラーを引き起こし、すべてのゲートウェイ46および48(1)〜48(M)をリセットさせる。例示的な態様において、システムエラーは、ゲートウェイ46および48(1)〜48(M)の各々において判定される。ゲートウェイ46および48(1)〜48(M)は、ゲートウェイ46および48(1)〜48(M)のうちで最も遅いものがリセット条件を内部的に宣言することもできるように、ゲートウェイ46および48(1)〜48(M)のうちで最も遅いものがフリーズした外部バス38を検出する機会を有するまで、ゲートウェイ46および48(1)〜48(M)が再始動するのを防ぐ第2のタイマを有することができる。
【００５５】
説明したばかりのシステムリセットを反映する信号図500が、図13内で提供される。信号図500は、アービトレーションプロセス400が以前のシーケンス期間402の終りの後、バスアイドル期間404の後に開始するという点で、図12のアービトレーションプロセス400の信号図に類似する。バスアイドル期間404中に、SCLKは、SDATAと同様に休眠中である。アービトレーションフェーズ406は、アービトレーション開始408と共に開始し、アービトレーション開始408は、チップのうちの1つがSDATA信号線上でメッセージを開始する時に始まる。メッセージ開始の検出時に、アービトレーションシーケンス410が始まり、ACM 58が、SCLKを駆動する(412に表されている)。要求するゲートウェイは、SDATA信号線上でデータ414'をアサートし、優先順位が確立される。図示されているように、データ414'は、非ゼロ復帰逆転(NRZI:non-return to zero inverted)フォーマットで符号化され、このフォーマットでは、値の変化が1であり、値の変化なしが0である。それぞれの優先順位値を送信するゲートウェイ46および48(1)〜48(M)は、外部バス38の状態を変更するために遷移を駆動することによって論理1を送信し、次いで、高インピーダンス状態に移る。外部バス38上の信号は、キーパー回路(図示せず)を使用してその現在の状態に保たれ、その結果、外部バス38は、外部バス38を能動的に駆動するゲートウェイがない場合に現在の論理状態に保たれるようになる。ゲートウェイ46および48(1)〜48(M)のうちの1つは、外部バス38の状態を変更しないことによって論理0を送る。この方法を使用すると、論理1は、論理0に優先する。バスエラーホールトシーケンスを送っているゲートウェイ46および48(1)〜48(M)のいずれもが、最も緊急の優先順位値を送っており、したがって、他のより高い優先順位値は存在することができず、したがって、バスエラーホールトシーケンスを送っているゲートウェイ46および48(1)〜48(M)のいずれもが、アービトレーションフェーズ406に勝つ。最も緊急の優先順位値を送信するゲートウェイ46および48(1)〜48(M)のすべてが、外部バス38上で同一の値をアサートしているので、競合の問題はない。
【００５６】
図13の参照を続けると、アービトレーションフェーズ406に勝った後に、勝つゲートウェイは、データフェーズ422中にデータを送信しない502。同様に、勝つゲートウェイは、時刻506にバスタイムアウト条件が発生するまで、SCLKを0に駆動する(504に表されている)。バスタイムアウト条件の検出は、前に示したようにシステムリセットを引き起こす。
【００５７】
同様に、図14は、外部バス38がワイヤAND機能を実施するバスエラーホールトシーケンスの信号図600を示す。すなわち、外部バス38は、キーパー回路の代わりにプルアップ抵抗(図示せず)を有し、すべて0の優先順位値は、最も緊急の値である(全般的に414"に表されている)。論理0は、ゲートウェイ46および48(1)〜48(M)のうちの1つが外部バス38をロウにプルすることによって送信され、論理1は、ゲートウェイ46および48(1)〜48(M)のうちの1つが外部バス38を駆動しないことによって送信される。ゲートウェイのどれもが外部バス38を駆動しない場合には、プルアップ抵抗が、外部バス38を論理1にプルする。しかし、図示されているように、ゲートウェイ46および48(1)〜48(M)のうちの少なくとも1つが、最も緊急の優先順位値をアサートし、アービトレーションフェーズ406に勝つ。次いで、前に説明したように、勝つゲートウェイは、データフェーズ422中にデータを送信せず502、バスタイムアウト条件が時刻506に発生するまで、SLCKを0に駆動する(504に表されている)。
【００５８】
本明細書で開示される態様によるチップ間およびチップ内の通信のためのインターフェースファブリックは、任意のプロセッサベースのデバイス内で提供されまたはこれに統合され得る。例は、限定なしに、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、スマートフォン、タブレット、ファブレット、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤおよび自動車を含む。
【００５９】
当業者は、本明細書で開示される態様に関連して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムが、電子ハードウェア、メモリ内または別のコンピュータ可読媒体内に記憶されプロセッサまたは他の処理デバイスによって実行される命令、またはその両方の組合せとして実施され得ることをさらに諒解されよう。本明細書で説明されるデバイスは、例として、任意の回路、ハードウェア構成要素、IC、またはICチップ内で使用され得る。本明細書で開示されるメモリは、任意のタイプおよびサイズのメモリであり得、所望の任意のタイプの情報を記憶するように構成され得る。この互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、その機能性に関して上記で全般的に説明された。そのような機能性がどのようにして実施されるのかは、システム全体に課せられる、特定の適用例、設計選択、および/または設計制約に依存する。当業者は、特定の適用例ごとに様々な方式で記載の機能を実装してもよいが、そのような実装決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
【００６０】
本明細書で開示される態様に関連して説明される様々な例示的な論理ブロック、モジュール、および回路は、本明細書で説明される機能を実行するように設計された、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲート論理もしくはトランジスタ論理、個別ハードウェア構成要素、またはその任意の組合せを用いて実施されまたは実行され得る。プロセッサは、マイクロプロセッサとすることができるが、代替案では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることができる。プロセッサは、コンピューティングデバイスの組合せ(たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成)としても実施され得る。
【００６１】
本明細書で開示される態様は、ハードウェアと、ハードウェア内に記憶され、たとえばランダムアクセスメモリ(RAM)、フラッシュメモリ、読取専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で既知の任意の他の形のコンピュータ可読媒体内に存在することのできる命令とにおいて実施され得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、これに情報を書き込むことができるようにプロセッサに結合される。代替案では、記憶媒体は、プロセッサと一体である場合がある。プロセッサおよび記憶媒体は、ASIC内に存在する場合がある。ASICは、リモート局内に存在する場合がある。代替案では、プロセッサおよび記憶媒体は、リモート局、基地局、またはサーバ内に個別構成要素として存在する場合がある。
【００６２】
本明細書の例示的な態様のいずれかで説明される動作ステップが、例および議論を提供するために説明されることにも留意されたい。上述の動作は、図示されたシーケンス以外の多数の異なるシーケンスにおいて実行される場合がある。さらに、単一の動作ステップにおいて説明された動作は、実際にはいくつかの異なるステップにおいて実行される場合がある。さらに、例示的な態様において議論される1つまたは複数の動作ステップが、組み合わされる場合がある。流れ図内に示された動作ステップが、当業者に容易に明らかになる多数の異なる変更の対象になり得ることを理解されたい。当業者は、情報および信号が様々な異なる技術および技法のいずれを使用して表されてもよいことをも理解されよう。たとえば、上記の説明全体を通じて参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表されてもよい。
【００６３】
本開示の前の説明は、当業者が本開示を製作しまたは使用することを可能にするために提供されるものである。本開示の様々な変更が、当業者には容易に明らかになり、本明細書において定義される一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用される場合がある。したがって、本開示は、本明細書において説明された例および設計には限定されないものとし、本明細書において開示される原理および新規の特徴と一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００６４】
10  コンピューティングシステム
12  第1のIC
14(1)〜14(N)  サブシステム
16(1)〜16(6)  他のIC
18(1)〜18(6)  通信バス
30  コンピューティングシステム
32  第1のIC
34(1)〜34(N)  ノード
34(1)Tx〜34(N)Tx  送信機
34(1)Rx〜34(N)Rx  受信機
36(1)〜36(M)  他のIC
38  外部バス
40(1)〜40(P)  ノード
42  ノード
44(1)〜44(Q)  ノード
46  ゲートウェイ
48(1)〜48(M)  ゲートウェイ
50  部分的なコンピューティングシステム
51  制御システム
52  制御システム
53  ポイントツーポイント結合
54  ネットワークオンチップ(NoC)
56  アービトレーションクロックマネージャ(ACM)
58  ACM
60  外部インターフェース
62  外部インターフェース
64  内部インターフェース
66  内部インターフェース
70  データ設定プロセス
100  システムトポロジおよび状態テーブル
102  ノードアドレスフィールド
104  ノードが内部的に存在するフィールド
106  ノードが外部的に存在するフィールド
108  ノードがアウェイクしているフィールド
110  ウェイクオンメッセージが許可されるフィールド
112  信頼できる配送が必要とされるフィールド
114  ノード送信可(CTS)状態フィールド
116  最大伝送単位(MTU)サイズフィールド
130  信号フロー図
132  ノードハードウェア(HW)
134  ノードソフトウェア(SW)
140  ゲートウェイポートマネージャ
142  ゲートウェイルーティングテーブル
144  ゲートウェイ外部バスマネージャ
146  ゲートウェイ構成SW
150  信号
152  信号
154  信号
156  ノードリセットコマンド
158  リセット肯定応答(ACK)
160  ノード初期化割込み
162  信号
164  コマンド
166  イネーブルノードコマンド
168  ポートCONFコマンド
170  ポートCONF ACK
172  RX_MTU CMD
174  コマンド
176  MTU ACK
178  コマンド
180  ウェイク可能CMD
182  コマンド
184  ウェイクACK
186  CTS CMD
188  コマンド
190  CTS ACK
192  オン/オフCMD
194  コマンド
196  オン/オフACK
198  構成終了(CONFDONE) CMD
200  スカウントコマンド
202  CONFDONE ACK
204  ノード構成終了割込み
220  プロセス
250  スカウトメッセージ
252  アイドルフィールド
254  開始フィールド
256  スカウト識別子フィールド
258  バージョンフィールド
260  優先順位フィールド
262  ハンドオーバフィールド
264  メッセージヘッダ
266  スカウトコマンド
270  信号図
272  メッセージ要求
274  信号
276  信号
278  メッセージ
280  信号
282  信号
284  信号
286  信号
288  信号
290  信号
292  ウェイクコマンド
294  信号
296  信号
310  信号図
312  メッセージ要求
314  信号
316  信号
318  メッセージ
320  信号
322  信号
324  信号
326  信号
328  信号
330  信号
332  ウェイクコマンド
334  信号
336  信号
350  テーブル
352  標準またはスカウト(Std_or_Scout)
354  バージョン
356  優先順位レベル
358  バックオフビット
360  ノードサブID
362  クロックハンドオーバ
364  巡回冗長検査(CRC)存在
366  HDRモード
368  宛先ノードID
370  長さ
372  ペイロード
374  CRC
376  バスパーク
400  アービトレーションプロセス
402  以前のシーケンス期間
404  バスアイドル期間
406  アービトレーションフェーズ
408  アービトレーション開始
410  アービトレーションシーケンス
414'  データ
416  クロックハンドオーバ期間
422  データフェーズ
500  信号図
506  時刻
600  信号図
【図１】
2018528540.tif 000003
【図２】
2018528540.tif 000004
【図３】
2018528540.tif 000005
【図４】
2018528540.tif 000006
【図５】
2018528540.tif 000007
【図６】
2018528540.tif 000008
【図７】
2018528540.tif 000009
【図８】
2018528540.tif 000010
【図９】
2018528540.tif 000011
【図１０】
2018528540.tif 000012
【図１１】
2018528540.tif 000013
【図１２】
2018528540.tif 000014
【図１３】
2018528540.tif 000015
【図１４】
2018528540.tif 000016
【手続補正書】
【提出日】平成30年3月13日(2018.3.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングデバイス内のネットワークノードの状態テーブルをデータ設定するための方法であって、
バスに結合された第1の集積回路(IC)をアクティブ化するステップであって、前記第1のICは、第1のゲートウェイを含み、前記第1のICに関連する複数の第1のノードを有する、アクティブ化するステップと、
前記第1のICに関連する前記複数の第1のノードを前記第1のゲートウェイに登録するステップと、
前記第1のICに関連する前記複数の第1のノードに関する情報で前記第1のゲートウェイにある第1の状態テーブルをデータ設定するステップと、
前記第1の状態テーブル内で示される可用性に基づいて、前記第1のICに関連する前記複数の第1のノードの間のチップ内通信を可能にするステップであって、前記第1の状態テーブル内で示される前記可用性に基づいて、前記第1のICに関連する前記第1のノードの間の前記チップ内通信を可能にするステップは、
前記第1のゲートウェイにおいて、前記第1のIC内の初期ノードから前記第1のIC内の宛先ノードへのメッセージ要求を受信するステップと、
前記第1の状態テーブル内の前記第1のICに関連する前記複数の第1のノードに関する前記情報に基づいて、前記宛先ノードが利用可能であるかどうかを判定するステップと、
前記宛先ノードが利用可能である場合に、前記メッセージ要求に関連するメッセージを送るように前記初期ノードに命令するステップと
を含む、可能にするステップと
を含む方法。
【請求項２】
前記バスに結合された第2のICをアクティブ化するステップであって、前記第2のICは、第2のゲートウェイを含み、関連する複数の第2のノードを有する、アクティブ化するステップと、
前記第2のICに関連する前記複数の第2のノードを前記第2のゲートウェイに登録するステップと、
前記第2のICに関連する前記複数の第2のノードに関する情報で前記第2のゲートウェイにある第2の状態テーブルをデータ設定するステップと、
前記第2のゲートウェイによって、前記第1のゲートウェイに構成データを要求するステップと、
前記第1のゲートウェイにある前記第1の状態テーブルからの前記第1のICに関連する前記複数の第1のノードに関する前記情報に基づいて、前記第1のICに関連する前記複数の第1のノードに関する前記情報で前記第2のゲートウェイにある前記第2の状態テーブルをデータ設定するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記第2のゲートウェイから、前記バスを介して、前記第2の状態テーブル内に記憶された前記第2のICに関連する前記複数の第2のノードに関する前記情報をブロードキャストするステップをさらに含む、請求項2に記載の方法。
【請求項４】
第1のノードが状態を変更することに応答して、前記第1のノードの変更された状態を反映するように前記第1の状態テーブルを更新するステップをさらに含む、請求項1に記載の方法。
【請求項５】
前記第1のノードの前記変更された状態に関する情報を用いて前記第1のゲートウェイにおいてスカウトメッセージを生成するステップと、
前記第1のゲートウェイから前記バスに通信可能に結合されたリモートゲートウェイに前記スカウトメッセージを送るステップと
をさらに含む、請求項4に記載の方法。
【請求項６】
第2のゲートウェイにおいて前記スカウトメッセージを受信するステップと、
前記スカウトメッセージに基づいて第2の状態テーブルを更新するステップと
をさらに含む、請求項5に記載の方法。
【請求項７】
前記宛先ノードが利用可能でないとの判定に応答して、前記宛先ノードがウェイク可能であるかどうかを判定するステップと、
前記宛先ノードがウェイク可能であるとの判定に応答して、前記宛先ノードにウェイクコマンドを送るステップと、
前記宛先ノードをウェイクした後に、前記メッセージ要求に関連する前記メッセージを送るように前記初期ノードに命令するステップと
をさらに含む、請求項1に記載の方法。
【請求項８】
前記第1のIC内の前記初期ノードから第2のICにある宛先ノードへの前記メッセージ要求を受信するステップと、
前記第1の状態テーブル内の前記宛先ノードに関する情報に基づいて、前記宛先ノードが利用可能であるかどうかを判定するステップと、
前記宛先ノードが利用可能である場合に、前記メッセージ要求に関連する前記メッセージを前記バスを介して送るように前記初期ノードに命令するステップと
をさらに含む、請求項1に記載の方法。
【請求項９】
コンピューティングデバイス内のネットワークノードの状態テーブルをデータ設定するための方法であって、
複数の第1のノードを有する第1の集積回路(IC)をコンピューティングデバイス内のバスに結合するステップであって、前記第1のICは、第1のゲートウェイに関連する、結合するステップと、
第2のノードを有する第2のICを前記コンピューティングデバイス内の前記バスに結合するステップであって、前記第2のICは、第2のゲートウェイを含む、結合するステップと、
前記第1のゲートウェイから、前記複数の第1のノードに関する状態および構成情報を受信するステップと、
前記複数の第1のノードに関する前記状態および構成情報で、前記第2のICに関連する前記第2のゲートウェイにある状態テーブルをデータ設定するステップと
を含む方法。
【請求項１０】
前記第2のノードに関する第2の状態および構成情報で前記第2のゲートウェイにある前記状態テーブルをデータ設定するステップをさらに含む、請求項9に記載の方法。
【請求項１１】
前記複数の第1のノードのうちの1つの状態の変化を示す更新を前記第1のゲートウェイから受信するステップをさらに含む、請求項9に記載の方法。
【請求項１２】
前記複数の第1のノードのうちの前記1つの前記状態の前記変化を示す前記更新を用いて前記第2のゲートウェイにある前記状態テーブルを更新するステップをさらに含む、請求項11に記載の方法。
【請求項１３】
前記第2のICによって、前記第2のICが前記バスに結合されることに応答して前記複数の第1のノードに関する前記状態および構成情報を要求するステップをさらに含む、請求項9に記載の方法。
【請求項１４】
コンピューティングデバイス内のネットワークノードの状態テーブルを更新するための方法であって、
第1の集積回路(IC)内の第1のゲートウェイにおいて、前記第1のIC内の第1のノードから状態変化指示を受信するステップと、
前記状態変化指示に応答して、前記第1のノードの状態変化を反映するように前記第1のゲートウェイにある第1の状態テーブルを更新するステップと、
第2のIC内の第2のゲートウェイへのスカウトメッセージを生成するステップであって、前記スカウトメッセージは、前記第1のノードの前記状態変化を示す、生成するステップと
を含む方法。
【請求項１５】
コンピューティングデバイス内のネットワークノードの状態テーブルを更新するための方法であって、
第1の集積回路(IC)内の第1のゲートウェイにおいて、第2のIC内の第2のゲートウェイからスカウトメッセージを受信するステップであって、前記スカウトメッセージは、前記第2のIC内のノードの状態変化を示す、受信するステップと、
前記スカウトメッセージに応答して、第2のIC内の前記ノードの前記状態変化を反映するように前記第1のゲートウェイにある第1の状態テーブルを更新するステップと
を含む方法。
【請求項１６】
送信機および受信機を含むノードと、
ゲートウェイであって、
外部バスに結合され、第1のプロトコルを介してその上で通信するように構成された外部インターフェースと、
前記ノードに通信可能に結合され、前記第1のプロトコルを介してその間で通信するように構成され、前記ゲートウェイを制御するように構成された制御システムをさらに含む内部インターフェースであって、前記制御システムは、前記ノードと前記ゲートウェイの前記内部インターフェースに結合された1つまたは複数の他のノードとの間でアービトレートするように構成され、前記ノードおよび前記1つまたは複数の他のノードは、前記ゲートウェイに登録され、前記ゲートウェイは、前記ノードおよび前記1つまたは複数の他のノードの状態を含む状態テーブルを記憶するためのメモリを含み、前記制御システムは、前記状態テーブルに基づいてアービトレートするように構成される、内部インターフェースと
を含むゲートウェイと
を含む集積回路(IC)。
【請求項１７】
前記ノードは、前記ゲートウェイの前記内部インターフェースに直接に結合される、請求項16に記載のIC。
【請求項１８】
前記ノードは、ネットワークオンチップ(NoC)を介して前記ゲートウェイの前記内部インターフェースに結合される、請求項16に記載のIC。
【請求項１９】
前記制御システムは、前記ゲートウェイ内に位置決めされる、請求項16に記載のIC。
【請求項２０】
前記制御システムは、前記ゲートウェイの外部にある、請求項16に記載のIC。
【請求項２１】
前記ゲートウェイの前記内部インターフェースに結合された前記1つまたは複数の他のノードをさらに含む、請求項16に記載のIC。
【請求項２２】
前記制御システムは、前記第1のプロトコルを実行するように構成される、請求項16に記載のIC。
【請求項２３】
前記ノードは、前記IC内の第2のノードと通信するように構成される、請求項16に記載のIC。
【請求項２４】
前記ノードは、前記ICの外部の第2のノードと通信するように構成される、請求項16に記載のIC。
【請求項２５】
前記ノードは、ナビゲーション回路、センサ回路、Always On Processor(AOP)回路、オーディオ回路、およびモデム回路のうちの少なくとも1つとして動作するように構成された回路網を含む、請求項16に記載のIC。
【請求項２６】
第1の送信機および第1の送信機を含む第1のノードと、
第1のゲートウェイであって、
外部バスに結合され、第1のプロトコルを介してその上で通信するように構成された第1の外部インターフェースと、
前記第1のノードに通信可能に結合され、前記第1のプロトコルを介してその間で通信するように構成され、前記第1のゲートウェイを制御するように構成された制御システムをさらに含む第1の内部インターフェースであって、前記制御システムは、前記第1のノードと前記第1のゲートウェイの前記第1の内部インターフェースに結合された1つまたは複数の他のノードとの間でアービトレートするように構成され、前記第1のノードおよび前記1つまたは複数の他のノードは、前記第1のゲートウェイに登録され、前記第1のゲートウェイは、前記第1のノードおよび前記1つまたは複数の他のノードの状態を含む状態テーブルを記憶するためのメモリを含み、前記制御システムは、前記状態テーブルに基づいてアービトレートするように構成される、第1の内部インターフェースと
を含む第1のゲートウェイと
を含む第1の集積回路(IC)と、
第2の送信機および第2の送信機を含む第2のノードと、
第2のゲートウェイであって、
前記外部バスに結合され、前記第1のプロトコルを介してその上で通信するように構成された第2の外部インターフェースと、
前記第2のノードに通信可能に結合され、前記第1のプロトコルを介してその間で通信するように構成され、前記第2のゲートウェイを制御するように構成された制御システムをさらに含む第2の内部インターフェースであって、前記制御システムは、前記第2のノードと前記第2のゲートウェイの前記第2の内部インターフェースに結合された1つまたは複数の他のノードとの間でアービトレートするように構成され、前記第2のノードおよび前記1つまたは複数の他のノードは、前記第2のゲートウェイに登録され、前記第2のゲートウェイは、前記第2のノードおよび前記1つまたは複数の他のノードの状態を含む状態テーブルを記憶するためのメモリを含み、前記制御システムは、前記状態テーブルに基づいてアービトレートするように構成される、第2の内部インターフェースと
を含む第2のゲートウェイと
を含む第2のICと、
前記第1のICの前記第1のゲートウェイおよび前記第2のICの前記第2のゲートウェイに結合され、前記第1のプロトコルを使用してその間で信号を搬送するように構成された前記外部バスと
を含むコンピューティングシステム。
【請求項２７】
前記コンピューティングシステムは、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、スマートフォン、タブレット、ファブレット、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤ、および自動車からなる群から選択されたデバイスである、請求項26に記載のコンピューティングシステム。
【請求項２８】
ノードと、
前記ノードに通信可能に結合された内部インターフェースと、外部バスに通信可能に結合可能な外部インターフェースとを有するゲートウェイであって、
前記ノードおよび前記外部バスに関連するノードの可用性に関するデータを記憶するように構成されたルックアップテーブル
を含むゲートウェイと、
前記ノードおよび前記ゲートウェイに動作可能に結合された制御システムであって、
前記ノードの状態に関する状態更新を受信し、
ノード対ノード通信の間の信頼性を増進するために前記外部バスに関連する他のICに関連する他のゲートウェイに前記ノードの前記状態に関する情報を送る
ように構成された制御システムと
を含む集積回路(IC)。
【請求項２９】
前記ゲートウェイに通信可能に接続された複数のノードをさらに含む、請求項28に記載のIC。
【請求項３０】
前記制御システムは、前記ゲートウェイ内に位置決めされる、請求項28に記載のIC。
【請求項３１】
前記制御システムは、前記ゲートウェイの外部に位置決めされる、請求項28に記載のIC。
【請求項３２】
前記制御システムは、
前記ノードからメッセージ要求を受信し、
前記メッセージ要求からの宛先識別子を前記ルックアップテーブルと比較し、
前記ルックアップテーブル内の前記データに基づいて受信ノードの可用性を判定する
ようにさらに構成される、請求項28に記載のIC。
【請求項３３】
前記制御システムは、前記受信ノードが前記ルックアップテーブル内の前記データに基づいて利用可能ではないと前記制御システムが判定する場合に、前記ノードからのメッセージの送信を阻むようにさらに構成される、請求項32に記載のIC。
【請求項３４】
前記制御システムは、
前記ノードからメッセージ要求を受信し、
前記メッセージ要求が信頼性を要求するかどうかを判定し、
前記メッセージ要求が信頼性を要求しない場合に、前記メッセージ要求に関連するメッセージを第2のノードに送るように前記ノードに命令する
ようにさらに構成される、請求項28に記載のIC。
【請求項３５】
前記制御システムは、
前記受信ノードのウェイクオンコマンド能力を判定し、
前記受信ノードにウェイクコマンドを送る
ようにさらに構成される、請求項32に記載のIC。
【請求項３６】
前記受信ノードの前記可用性を判定するように構成された前記制御システムは、前記IC内の受信ノードの可用性を判定する、請求項32に記載のIC。
【請求項３７】
前記受信ノードの前記可用性を判定するように構成された前記制御システムは、前記ICの外部に位置決めされた受信ノードの可用性を判定する、請求項32に記載のIC。
【請求項３８】
前記制御システムは、前記ICの外部に位置決めされた第2のノードの状態に関するリモート状態更新を受信するようにさらに構成される、請求項28に記載のIC。
【請求項３９】
ノード対ノード通信を容易にするための方法であって、
ローカルノードにあるローカルシステムトポロジおよび状態テーブル内の変化を反映するために、ゲートウェイにおいて、前記ローカルノードから状態更新を受信するステップと、
前記状態更新に基づいて、リモートゲートウェイにあるローカルシステムトポロジおよび状態テーブルを更新するために、前記リモートゲートウェイに前記状態更新をブロードキャストするステップと
を含む方法。
【請求項４０】
前記状態更新をブロードキャストするステップは、前記ローカルノードが使用不能であることを前記リモートゲートウェイに知らせるステップを含む、請求項39に記載の方法。
【請求項４１】
前記状態更新をブロードキャストするステップは、前記ローカルノードがスリープしていることを前記リモートゲートウェイに知らせるステップを含む、請求項39に記載の方法。
【請求項４２】
前記ローカルノードがスリープしていることを前記リモートゲートウェイに知らせるステップは、前記ローカルノードがコマンド時にウェイク可能であることを前記リモートゲートウェイに知らせるステップをさらに含む、請求項41に記載の方法。
【請求項４３】
リモートゲートウェイから第2の状態更新を受信するステップをさらに含む、請求項39に記載の方法。
【請求項４４】
前記第2の状態更新を用いてルックアップテーブルを更新するステップをさらに含む、請求項43に記載の方法。
【請求項４５】
前記ローカルノードからメッセージ要求を受信するステップをさらに含む、請求項43に記載の方法。
【請求項４６】
前記第2の状態更新が、前記メッセージ要求に関連する宛先ノードが使用不能であったことを示す場合に、前記ローカルノードからメッセージを送ることを阻むステップをさらに含む、請求項45に記載の方法。
【請求項４７】
システムリセットを強制する方法であって、
アービトレーションフェーズ中に、外部バスに通信可能に結合されたゲートウェイにおいて、内部状態における回復不能エラーを検出するステップと、
前記ゲートウェイから、最も緊急の優先順位値をアサートし、該アサーションに応答して、前記ゲートウェイによってアービトレーションに勝つステップと、
前記アービトレーションに勝った後に、前記勝ったゲートウェイからデータを送らず、データを送らないことに応答してバスタイムアウトを強制するステップと、
前記バスタイムアウトに応答して、システムリセットを開始するステップと
を含む方法。
【請求項４８】
ノード状態と前記ゲートウェイにある状態テーブル内の情報との間のエラーを検出するステップと、
前記エラーの検出に応答して、前記システムリセットが必要であると判定するステップと
をさらに含む、請求項47に記載の方法。
【請求項４９】
前記最も緊急の優先順位値をアサートするステップは、すべて論理1をアサートするステップを含む、請求項47に記載の方法。
【請求項５０】
前記最も緊急の優先順位値をアサートするステップは、すべて論理0をアサートするステップを含む、請求項47に記載の方法。
【請求項５１】
前記アービトレーションに勝った後に、前記ゲートウェイからクロック信号を送らないステップをさらに含む、請求項47に記載の方法。
【請求項５２】
前記アービトレーションに勝つために前記ゲートウェイから前記最も緊急の優先順位値をアサートするステップは、複数のゲートウェイから同時に前記最も緊急の優先順位値をアサートするステップを含む、請求項47に記載の方法。
【請求項５３】
遅いゲートウェイが前記システムリセットを開始する前に前記バスタイムアウトを検出することを可能にするためにタイマを実行させるステップをさらに含む、請求項47に記載の方法。
【請求項５４】
ゲートウェイであって、
外部バスに結合するように構成されたバスインターフェースと、
アービトレーションフェーズ中に、
前記ゲートウェイにおいて内部状態における回復不能エラーを検出し、
前記ゲートウェイから、最も緊急の優先順位値をアサートし、
該アサーションに応答して、前記ゲートウェイによってアービトレーションに勝ち、
前記アービトレーションに勝った後に、前記勝ったゲートウェイからデータを送らず、データを送らないことに応答してバスタイムアウトを強制し、
前記バスタイムアウトに応答して、システムリセットを開始する
ように構成された制御システムと
を含むゲートウェイ
を含む集積回路(IC)。
【国際調査報告】
2018528540.tif 000017
2018528540.tif 000018
2018528540.tif 000019
2018528540.tif 000020
2018528540.tif 000021