JP7389255B2 - 集積回路チップの潜在的な通信異常の検出 - Google Patents

集積回路チップの潜在的な通信異常の検出 Download PDF

Info

Publication number
JP7389255B2
JP7389255B2 JP2022533134A JP2022533134A JP7389255B2 JP 7389255 B2 JP7389255 B2 JP 7389255B2 JP 2022533134 A JP2022533134 A JP 2022533134A JP 2022533134 A JP2022533134 A JP 2022533134A JP 7389255 B2 JP7389255 B2 JP 7389255B2
Authority
JP
Japan
Prior art keywords
latency
component
operating time
time window
series
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022533134A
Other languages
English (en)
Other versions
JP2023504520A (ja
Inventor
ロンド マーチン
パネザー ガジンダー
Original Assignee
シーメンス インダストリー ソフトウェア インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シーメンス インダストリー ソフトウェア インコーポレイテッド filed Critical シーメンス インダストリー ソフトウェア インコーポレイテッド
Publication of JP2023504520A publication Critical patent/JP2023504520A/ja
Application granted granted Critical
Publication of JP7389255B2 publication Critical patent/JP7389255B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、システムオンチップ(SoC)またはマルチチップモジュール(MCM)内の部品間の通信の分析に関する。
従来、複数のコアデバイス(プロセッサ、メモリなど)を有する組み込みシステムは、プリント回路基板(PCB)に組み込まれ、バスを介してPCB上で接続されていた。組み込みシステムのトラフィックは、これらのバスを介して伝送されていた。この配置構成は、オシロスコープやロジックアナライザなどの監視ツールをPCBのバスに取り付けることができ、コアデバイスへの直接のアクセスが可能であるため、コアデバイスを監視するのに便利であった。
より小型な製品に対する市場の要求は、半導体技術における進歩に伴いシステムオンチップ(SoC)デバイスの開発につながる。SoCでは、組み込みシステムの複数のコアデバイスがシングルチップに集積されている。SoCでは、組み込みシステム内のトラフィックは、内部バスを介して伝送されており、したがって、監視ツールを直接システムバスに接続することはもはや不可能である。(複数のプロセッシングコアとより高い内部クロック周波数との統合につながるSoC技術の開発のために)結果としてアクセスが減少し、チップ周りで転送されるデータの量が増加すると、業界によって要求されるタイムスケール内でセキュリティ違反、バグ、および安全上の懸念についてシステムを監視する外部監視ツールの能力が低下してしまう。付加的に、複数のコアデバイスが同じシングルチップに組み込まれている場合、個々の各コアデバイスの動作は、他のコアデバイスとの相互作用ならびにトリガーやアラートなどのリアルタイムイベントのために、単独での動作とは異なる。
したがって、SoCデバイスの開発には、関連する監視技術の開発が必要であるが、これは、SoC上に何らかの監視機能を統合させることにつながる。現在では、SoC内の監視回路のために、コアデバイス(CPUなど)上でプログラムを実行するプロセッサの出力をトレースすることが知られている。このトレースデータは、一般に、オフチップ分析用に出力される。
コアデバイス間で通信を行うための通信回路の共有使用など、共有リソースのための競合がコアデバイスに与える影響について、より詳細な分析を生成することが望ましい。
発明の概要
第1の態様によれば、集積回路(IC)チップ上の部品間の通信における異常な待ち時間(latency)を検出する方法が提供されており、該方法は、以下のステップ、すなわち
(i)ICチップの第1の部品とICチップの他の部品との間の通信を監視するステップであって、各通信は、第1の部品から別の部品に送信されるコマンドと、他の部品から第1の部品によって受信される応答とを含むステップと、ただし、当該監視するステップは、一連の監視される時間窓の各々における通信回数を測定するステップと、一連の監視される時間窓における各通信の待ち時間を測定するステップとを含むものであり、
(ii)動作時間窓における通信回数と、動作時間窓における第1の部品の利用可能な機能停止時間(stall time)と、動作時間窓のための待ち時間ペナルティ係数とから、第1の部品の動作時間窓の各々について最大許容待ち時間を計算するステップと、
(iii)測定された待ち時間が、最大許容待ち時間より大きい場合、その測定された待ち時間を異常であると決定するステップとを含む。
動作時間窓のための待ち時間ペナルティ係数は、第1の部品が、動作時間窓における潜在的応答間で許容できる平均最小バイト数であってよい。
動作時間窓の最大許容待ち時間は、次式、
MTL=TS*BP/B
に従って計算されてよく、ここで、MTLは、動作時間窓iの最大許容待ち時間であり、TSは、動作時間窓iにおける第1の部品の利用可能な機能停止時間であり、BPは、動作時間窓iにおける待ち時間ペナルティ係数であり、Bは、動作時間窓iにおけるバイト数である。
ステップ(iii)は、一連の監視される時間窓の各々において測定された待ち時間の最大待ち時間を決定するサブステップと、最大待ち時間と最大許容待ち時間とを比較するサブステップと、最大待ち時間が、最大許容待ち時間より大きい場合、その最大待ち時間を異常であると決定するサブステップとを含む。
本方法は、各動作時間窓における第1の部品の利用可能な機能停止時間を、動作時間窓長さと、予約された処理時間とから計算するステップをさらに含み、予約された処理時間は、計算を実行するために第1の部品によって使用されるものである。
各動作時間窓における第1の部品の利用可能な機能停止時間は、次式、
TS=WL*(1-RS
に従って計算されてよく、ここで、TSは、動作時間窓iにおける第1の部品の利用可能な機能停止時間であり、WLは、動作時間窓iの長さであり、RSは、第1の部品が計算を実行するために予約された時間の割合である、
本方法は、一連の監視される時間窓の各々の帯域幅を、当該監視される時間窓における測定された通信回数から決定するステップをさらに含むことができる。
本方法は、第1の部品の一連の動作時間窓の各々についての帯域幅および待ち時間のセットを、請求項1記載のステップ(i)の一連の監視される時間窓の帯域幅および測定された待ち時間から決定するステップをさらに含むことができる。
各動作時間窓は、監視される各時間窓より大きくてよい。
本方法は、第1の部品の一連の動作時間窓の各々についての帯域幅および待ち時間のセットを形成するために、ステップ(i)の一連の監視される時間窓の帯域幅および測定された待ち時間を集約するステップを含むことができる。
第1の部品の一連の動作時間窓の各々の待ち時間は、一連の監視される時間窓の最大待ち時間であってよい。
本方法は、一連の動作時間窓の各々についての帯域幅および測定された待ち時間を相関させるステップをさらに含むことができる。
相関は、一連の動作時間窓の各々についての帯域幅および最大待ち時間を相関させるステップを含むことができる。
本方法は、ICチップ上の部品のセットの各部品と、ICチップの他の部品との間の通信を監視するステップをさらに含むことができ、セットの各部品の監視は、請求項1記載のステップ(i)によるものである。
本方法は、セットの各部品について、一連の監視される時間窓の各々の帯域幅を、当該監視される時間窓における測定された通信回数から決定するステップをさらに含むことができる。
本方法は、部品のセットの各部品について、一連の動作時間窓の各々についての帯域幅および測定された待ち時間を相関させるステップをさらに含むことができる。
相関は、一連の動作時間窓の各々についての帯域幅および最大待ち時間を相関させるステップを含むことができる。
相関は、相互に関連して時間的にシフトされる動作時間窓の帯域幅および最大待ち時間を相関させるステップを含むことができる。
本方法は、部品のセットの異なる部品の相関を比較するステップをさらに含むことができる。
第2の態様によれば、集積回路(IC)チップが提案されており、該集積回路チップ(IC)は、部品を含むシステム回路と、システム回路の部品間の通信を監視するように構成された監視回路とを含み、各通信は、第1の部品から別の部品に送信されるコマンドと、他の部品から第1の部品によって受信される応答とを含み、監視回路は、一連の監視される時間窓の各々における通信回数を測定するように構成されたカウンタと、第1の部品から別の部品にコマンドが送信されてから第1の部品によって応答が受信されるまでの間にかかる時間を測定するように構成された待ち時間タイマと、プロセッサとを含み、該プロセッサは、動作時間窓における通信回数と、動作時間窓における第1の部品の利用可能な機能停止時間と、動作時間窓のための待ち時間ペナルティ係数とから、第1の部品の動作時間窓の各々についての最大許容待ち時間を計算し、測定された待ち時間が、最大許容待ち時間より大きい場合、その測定された待ち時間を異常であると決定するように構成されている。
次に、本発明を添付の図面を参照して例示的に説明する。
例示的な集積回路チップデバイスの概略図である。 集積回路チップデバイス上の例示的な監視ネットワークおよびシステム回路の概略図である。 SoCの部品間の通信における異常な待ち時間を検出する方法のフローチャートである。 3つのCPUの通信において異常であると検出された待ち時間の測定値を示す図である。 SoCの部品についての帯域幅と待ち時間とを相関付ける方法を示すフローチャートである。
以下の開示では、集積回路チップ上の実装に適した監視アーキテクチャを説明する。この集積回路チップは、SoCまたはマルチチップモジュール(MCM)であってよい。
図1および図2は、例示的なシステムアーキテクチャおよび該システムアーキテクチャ内の部品の概略図である。これらの図面は、機能ブロックに関する構造を表している。当該技術分野でよく知られている機能を実行するための一部の機能ブロックは、これらの図面からはところどころで省かれている。図3および図5は、監視回路によって測定された統計データを分析する方法を描写するフローチャートである。各フローチャートは、そのフローチャートの方法が実行できる順序を表している。しかしながら、これらのフローチャートは、説明された方法が描写された順序で実行されることに限定することを意図したものではない。本方法のステップは、フローチャートに描写された順序に代わる順序で実行されてもよい。
図1は、SoC100のための例示的な監視ネットワークの一般的な構造を示す。監視回路101は、システム回路102を監視するように配置される。例えば、安全上またはセキュリティ上の問題に関連するコアデバイスの不適切な動作を検出する目的のためになどである。
図2は、SoCインターコネクト203を介して接続されたコアデバイス201,202を含む例示的なシステム回路を示す。これらのコアデバイス201a,201b,201Cは、マスタデバイスである。コアデバイス202a,202b,202cは、スレーブデバイスである。図2上でマスタデバイスおよびスレーブデバイスのナンバリング1,2,…Nによって示されているように、任意の数のコアデバイスをシステム回路内に好適に統合することができる。SoCインターコネクト203は、SoCのための通信バックボーンを形成し、これを介してマスタデバイスおよびスレーブデバイスが相互に通信する。これらの通信は、双方向である。
マスタデバイスは、ネットワーク内で読み出し/書き込み要求などのトラフィックを開始するものである。マスタデバイスの例には、DSP(デジタル信号プロセッサ)、ビデオプロセッサ、アプリケーションプロセッサ、CPU(中央演算処理装置)、GPU(グラフィックプロセッサユニット)などのプロセッサがある。任意のプログラマブルプロセッサが、マスタデバイスであってもよい。マスタデバイスの他の例には、1つの場所から別の場所にデータを移動するための従来のDMAなどのDMA(直接メモリアクセス)機能を有するもの、DMA機能を有する自律型コプロセッサ(暗号化エンジンなど)、およびDMA機能を有する周辺機器(イーサネットコントローラなど)がある。
スレーブデバイスは、マスタデバイスのコマンドに応答するデバイスである。スレーブデバイスの例には、オンチップメモリ、オフチップメモリ(DRAMなど)用のメモリコントローラ、周辺ユニットなどがある。
SoCインターコネクト20Sのトポロジーは、SoCに依存する。例えば、システム回路の周囲で通信を伝送するために、以下のタイプのネットワーク、すなわち、バスネットワーク、リングネットワーク、ツリーネットワーク、またはメッシュネットワークなどの任意の1つまたはそれらの組み合わせを含むことができる。
監視回路101は、監視インターコネクト205を介してコミュニケータ206に接続された監視ユニット204a,204bを含んでいる。
任意の数の監視ユニットを監視回路内に好適に統合することができる。各監視ユニットは、マスタデバイスとスレーブデバイスとの間の通信リンクに接続されている。この接続は、例えば、マスタデバイスとSoCインターコネクトとの間のインタフェースにおいて、マスタデバイスとSoCインターコネクトとの間であってもよい。またこの接続は、例えば、スレーブデバイスとSoCインターコネクトとの間のインタフェースにおいて、SoCインターコネクトとスレーブデバイスとの間であってもよい。各監視ユニットは、単一の通信リンクに接続されてもよい。代替的に、監視回路101のうちの1つまたは複数の監視ユニットが、複数の通信リンクに接続されてもよい。監視ユニット204は、監視される通信リンク上の通信を監視することによって、コアデバイスの動作を監視する。任意選択的に、監視ユニットは、それらが監視されているコアデバイスの動作を操作することが可能であってもよい。
コミュニケータ206は、オフチップのエンティティと通信するためのインタフェースであってよい。例えば、監視回路101は、コミュニケータ206を介してオフチップの分析器と通信することができる。コミュニケータ206は、付加的または代替的に、オンチップの他のエンティティと通信するように構成されてもよい。例えば、監視回路101は、コミュニケータ206を介してオンチップの分析器と通信することができる。図2は1つのコミュニケータ206を示しているが、任意の数のコミュニケータをSoC上に統合することができる。実装されるコミュニケータは、行われるべき接続のタイプに依存して選択される。例示的なコミュニケータには、JTAG、パラレルトレース入力/出力、およびオーロラベースの高速シリアルインターフェース、ならびにUSB、イーサネット、RS232、PCIeおよびCANなどのシステムインターフェースの再利用が含まれる。
監視インターコネクト205のトポロジーは、監視回路の周囲で通信を伝送するための以下のタイプのネットワーク、すなわち、バスネットワーク、リングネットワーク、ツリーネットワーク、またはメッシュネットワークのうちの任意の1つまたはそれらの組み合わせを含むことができる。監視ユニット204とコミュニケータ206との間の通信リンクは、双方向である。
マスタデバイス201によるSoCインターコネクト203の帯域幅要求、およびSoCインターコネクト203によるそのコマンドに提供される応答の待ち時間予想は、マスタデバイスごとに異なる。例えば、CPUによるメモリアクセスから生成される帯域幅は高くない場合があるが、CPUの要求に対する応答において提供される読み出しデータへの短い待ち時間が一般に要求される。これは、特に、キャッシュミスアクセスに対する応答の場合である。逆に、DMAメモリアクセスから高帯域幅が生成される場合があるが、応答において提供される読み出しデータへのより長い待ち時間が許容される場合がある。
複雑なSoCでは、数百または数千のマスタデバイスとスレーブデバイスとが存在する可能性がある。各マスタデバイスは、独自のトラフィックプロファイルを有する。その結果、各マスタデバイスは、データフローごととは対照的にグローバルに異なる可能性のある、独自の帯域幅期待値を有している。また、各マスタデバイスは、データフローごととは対照的にグローバルに異なる可能性のある、どれだけの待ち時間を許容するかという独自の期待値も有する。マスタデバイスの帯域幅および待ち時間期待値の両方は、SoCの支援が必要とされる作業負荷に依存して変化し得る。
SoCインターコネクト203は、有限のリソースである。異なるマスタデバイスから発生するデータフローは、内部バッファなどのインターコネクトリソースのために競合する。この結果として、異なるマスタデバイスによって生成されたトラフィック間の複雑な相互依存関係が生じる。SoC上のアクティブなマスタデバイスの数が多いほど、相互依存関係の複雑さも増大する。
各マスタデバイスは、読み出し要求に関して以下のようにスレーブデバイスと通信する。すなわち、マスタデバイスは、スレーブデバイスが受信する読み出し要求を送出し、その応答においてスレーブデバイスは、マスタデバイスが受信する読み出し結果を送出する。要求がマスタデバイスによって送出されてから応答がマスタデバイスによって受信されるまでの間にかかる時間は、通信の待ち時間である。同様に、各マスタデバイスは、書き込み要求に関して、スレーブデバイスと以下のように通信する。すなわち、マスタデバイスが書き込み要求を送出し、これをスレーブデバイスが受信し、スレーブデバイスは、データを消費し(例えばデータをメモリに書き込むことにより)、スレーブデバイスが書き込み応答を送出し、これをマスタデバイスが受信するように通信する。書き込み要求がマスタデバイスによって送出されてから応答がマスタデバイスによって受信されるまでの間にかかる時間は、書き込み通信の待ち時間である。
マスタデバイスは、読み出し要求が送出された直後に読み出し結果がそれによって要求されないように配置されてもよい。例えば、マスタデバイスは、読み出し要求を送出してから動作のために読み出し応答を必要とするまでの間に、読み出し応答内のデータに依存しない他の命令を実行するように配置されてもよい。したがって、各通信の待ち時間の度合いは、マスタデバイスによって許容され得る。これは、なぜなら、この待ち時間が、マスタデバイスに対してその通信の読み出し応答に依存しない他のアクティビティの陰に効果的に隠されているからである。ただし、待ち時間が十分に長いと、マスタデバイスは、その命令実行において、読み出し応答が受信されるまで進むことができない時点に到達する。この時点では、マスタデバイスは、任意のさらなる動作が実行される前に読み出し結果を待つ必要がある。例えば、CPUは、次に実行する命令が読み出し結果のデータを入力として必要とする場合には、読み出し結果の受信なしで命令ストリームの実行を進めることは不可能である。別の例として、CPUのパイプラインは、それが命令フェッチを待っている場合、命令の実行を継続することは不可能である。また別の例として、コピーを実行するDMAエンジンは、読み出し結果の受信なしで動作を継続することは不可能である。なぜなら、その読み出し結果のデータは、次の書き込みが実行できるようになる前に必要になるからである。マスタが任意のさらなる動作を進めることができなくなってからさらなる動作を進めることができるように読み出し結果を受信するまでの間の待ち時間は、機能停止時間として公知である。
マスタデバイスにとって理想的なのは、読み出し結果を待つ必要が全くなく、必要なときにはいつでもそれらが利用可能なことである。換言すれば、機能停止時間がゼロになることである。これは、(スレーブデバイスとの通信の最大速度と、読み出し結果を生成するためにスレーブデバイスによってかかる最小時間とによって決定される)最小待ち時間値と、マスタデバイスの機能無停止最大待ち時間との間の待ち時間を有する通信によって達成され得る。
しかしながら、通信の待ち時間が増大すると、いくつかは機能無停止最大待ち時間を上回るようになる。この時点から、マスタデバイスは、機能停止時間を経験し始める。待ち時間が増大すると、機能停止時間も増大する。マスタデバイスが許容できる機能停止時間の量は、実行中のタスク、そのタスクが実行できる速度、守るべき必要のある処理のデッドラインに依存して許容され得る。マスタデバイスの許容可能な機能停止時間は、その作業負荷に依存して変化する。作業負荷が増加すると、機能停止時間を許容する能力は低下する。
上述したように、図2の監視ユニット204は、マスタデバイス201とスレーブデバイス202との間の通信を監視する。これらの監視ユニットは、監視する通信から統計値を収集することができる。収集される統計値およびこれが行われる時間窓は、構成可能である。例えば、各監視ユニット204は、特定の通信パラメータを監視するように監視ユニットに命令するオンチップまたはオフチップ分析器から構成命令を受信することができる。分析器は、パラメータが監視される時間窓を指定することもできる。また分析器は、収集したデータがいつ分析器に報告されるべきかを指定することもできる。典型的には、分析器は、収集されたデータが定期的に報告されるように要求する。
したがって、監視ユニット204は、その接続された部品(マスタデバイス201またはスレーブデバイス202)の通信を、一連の監視される時間窓にわたって監視するように構成されてよい。監視される各時間窓の長さは、上述したように、分析器によって指定されてもよい。監視される時間窓は、非重複的であってもよい。例えば、監視される時間窓は、連続的であってもよい。代替的に、監視される時間窓は、重複的であってもよい。監視ユニット204は、監視される各時間窓における通信回数を測定することができる。例えば、監視ユニットがマスタデバイスを監視している場合、マスタデバイスによって送信された命令要求の数と、マスタデバイスによって受信された応答の数とを測定することができる。一方、監視ユニットがスレーブデバイスを監視している場合、スレーブデバイスに送信された命令要求の数と、スレーブデバイスによって送信された応答の数とを測定することができる。監視ユニット204は、監視される時間窓における各通信の待ち時間を測定することができる。
監視される時間窓における帯域幅は、監視される時間窓における通信回数と、監視される時間窓の長さとから導出されてもよい。監視される時間窓における最大待ち時間は、測定された待ち時間のうちの最も長い待ち時間である。監視される各時間窓の帯域幅および最大待ち時間は、監視ユニットによって決定されてもよい。次いで、監視ユニットは、以下の情報、すなわち、(i)監視される時間窓の帯域幅、(ii)監視される時間窓における最大待ち時間、任意選択的に(iii)監視される時間窓における通信回数、および任意選択に(iv)監視される時間窓における測定された待ち時間を分析器に報告することができる。代替的に、各監視される各時間窓の帯域幅および/または最大待ち時間は、分析器によって決定されてもよい。帯域幅および最大待ち時間の両方が分析器によって決定されるならば、監視ユニットは、以下の情報、すなわち、(i)監視される時間窓における通信回数、および(ii)監視される時間窓における測定された待ち時間を分析器に報告することができる。帯域幅が分析器によって決定され、最大待ち時間は監視ユニットによって決定されるならば、監視ユニットは、(i)監視される時間窓における通信回数、(ii)監視される時間窓における最大待ち時間、および任意選択的に(iii)監視される時間窓における測定された待ち時間を分析器に報告することができる。
一連の監視される時間窓にわたって測定されたデータは、その後、さらなる統計分析において、監視される部品の他のパラメータと組み合わせて使用することができる。図3~図5を参照して以下で説明される方法では、各部品の2つのパラメータが使用される。
第1のパラメータは、部品の動作時間窓である。各部品は、自然な動作時間窓長さを有している。例えば、各反復について利用可能な制限時間でもって周期的な活動を行うCPUの場合、当該部品の動作時間窓は、周期的な活動の各反復の時間になるであろう。別の例として、シリアルネットワークスロットに従って通信することを要求される部品の場合、当該部品の動作時間窓は、これらのネットワークタイムスロットの長さによって定められるであろう。部品の動作時間窓の長さは、当該部品を監視している監視ユニットによって使用される監視される時間窓の長さとは異なる可能性がある。典型的には、部品の動作時間窓は、監視される時間窓よりも長い。例えば、動作時間窓の長さは、10ms~100msの間であってよい。一方、監視される時間窓の長さは、0.5μs~10μsの間であってよい。以下で説明される本方法は、部品の一連の動作時間窓にわたってデータを分析する。
第2のパラメータは、部品の動作時間窓に対する待ち時間ペナルティ係数である。この待ち時間ペナルティ係数は、部品が、動作時間窓における待ち時間応答間で許容できる平均最小バイト数である。待ち時間応答とは,(少なくとも待ち時間応答の内容に依存する動作において)部品に機能停止を引き起こさせるものである。待ち時間ペナルティ係数は、部品の作業負荷と、部品に対して利用可能な同時処理とに依存する。部品が複数の命令を同時に処理できるならば、その全体的な作業負荷に応じて、その通信における待ち時間を許容する能力をより多く有することができる。
部品のこれら2つのパラメータは、予め定められている。例えば、それらは、システムアーキテクチャの情報知識から周知なものであってもよい。例えば、CPUは、周期的な動作を既知の周期で行うことが周知であってもよい。パラメータは、部品の特性を観察することから経験的に決定されてもよい。パラメータは、複数のパラメータ値がテストされ、テストされたパラメータ値の各々について評価された既知の待ち時間異常の分析が行われる、反復的な掃引プロセスによって決定されてもよい。次いで、結果として待ち時間異常が最もよく検出されるパラメータ値が、使用のために選択される。
次に、図2に示されているような集積回路チップ上の部品間の通信における異常な待ち時間を検出するための本方法について説明する。これらの待ち時間は、部品のその動作時間窓についての最大許容待ち時間よりも長い場合に異常として識別される。最大許容待ち時間は、上述した機能無停止最大待ち時間とは異なるものである。この機能無停止最大待ち時間は、部品がその動作を全く中断することなく耐えることができる通信における待ち時間の長さである。換言すれば、機能無停止最大待ち時間は、部品が無停止期間中にさらされる可能性のある最大待ち時間である。一方、最大許容待ち時間は、部品がその要求されたすべてのタスクを要求された時間内で実行しながら動作時間窓内で耐えることができる待ち時間の長さである。したがって、最大許容待ち時間は、部品に要求される動作を動作時間窓内で完了する一方で、この機能停止時間に順応することができる限り、部品のいくつかの機能停止時間を許容するものである。
次に、SoC上の部品の通信における異常な待ち時間を検出するための方法を図3を参照して説明する。例示的な実装では、部品は、マスタデバイス201であり、これは、SoCのスレーブデバイス202と、この部品に命令を送信し、送信した各命令についての応答を受信することによって通信を行う。ステップ301では、監視ユニット204は、(i)一連の監視される時間窓の各々における通信回数、および(ii)一連の監視される時間窓における各通信の待ち時間を測定することによって部品の通信を監視する。例えば、監視ユニット204は、新たな通信が検出されるたびに増分するように構成されたカウンタを含むことができる。監視ユニット204は、部品から送信される命令と、部品によって受信されるその命令に対する応答との間の時間を測定するように構成された待ち時間タイマを含むことができる。
次に、本方法は、ステップ302に進む。ステップ302では、プロセッサは、部品の各動作時間窓についての最大許容待ち時間を計算する。これを行うために、プロセッサは、ステップ301において一連の監視される時間窓において測定された通信回数から、動作時間窓における通信回数を決定する。例えば、プロセッサは、動作時間窓の長さを検索し、動作時間窓に適合する監視される時間窓の数を決定することができる。次いで、プロセッサは、監視される時間窓のどのセットが各動作時間窓上にマッピングされるかを決定する。プロセッサは、動作時間窓における通信回数を生成するために、その監視される時間窓のセットにおける通信回数を合計する。
プロセッサは、ステップ302の計算のための入力として、ステップ301で得られた一連の監視される時間窓における通信回数、動作時間窓における部品の利用可能な機能停止時間、およびその動作時間窓のための待ち時間ペナルティ係数を使用する。部品の動作時間窓に対する最大許容待ち時間は、次式、
MTL=TS*BP/B (式1)
によって決定されてもよい。ここで、MTLは、動作時間窓iの最大許容待ち時間であり、TSは、動作時間窓iにおける部品の利用可能な機能停止時間であり、BPは、動作時間窓iにおける待ち時間ペナルティ係数であり、Bは、動作時間窓iのバイト数である。
動作時間窓において部品によって許容され得る待ち時間ペナルティ事象の数は、次式、
PE=B/BP (式2)
によって与えられる。
したがって、換言すれば、動作時間窓iの最大許容待ち時間は、次式、
MTL=TS/PE (式3)
のように表すことができる。
ステップ302で最大許容待ち時間を決定する前に、プロセッサは、最初に、各動作時間窓における部品の利用可能な機能停止時間を計算することができる。これは、動作時間窓の長さと予約された処理時間とから計算される。予約された処理時間とは、各動作時間窓において、部品が送出した命令に対して受信された応答の処理を含む、プロセッサが計算を実行するために必要な時間である。部品の動作時間窓のための利用可能な機能停止時間は、次式、
TS=WL*(1-RS) (式4)
によって決定されてもよい。ここで、TSは、動作時間窓iにおける部品の利用可能な機能停止時間であり、WLは、動作時間窓iの長さであり、RSは、部品が、受信された応答の処理などの計算を行うために予約された時間の割合である。
部品の動作時間窓に対する最大許容待ち時間を決定した後、プロセッサは、次いで、ステップ306に進む。ステップ306では、プロセッサは、測定された待ち時間を最大許容待ち時間と比較する。測定された待ち時間が最大許容待ち時間より大きいならば、ステップ307において、プロセッサは、その測定された待ち時間を異常であると決定する。測定された待ち時間が最大許容待ち時間より小さいならば、ステップ308において、プロセッサは、測定された待ち時間が異常ではないと決定する。
ステップ306では、プロセッサは、ステップ301で測定された待ち時間の各々を最大許容待ち時間と比較することができる。代替的に、プロセッサは、ステップ301での測定された待ち時間のサブセットを最大許容待ち時間と比較することができる。例えば、一連の監視される時間窓の各々、その監視される時間窓における測定された待ち時間の最大待ち時間は、プロセッサがステップ306で最大許容待ち時間と比較するその監視される時間窓の唯一の測定された待ち時間であってもよい。各動作時間窓について、プロセッサは、その動作時間窓の最大待ち時間のセットを生成するために、その動作時間窓上にマッピングされる監視される時間窓のセットの最大待ち時間を集約することができる。次いで、それらは、その動作時間窓についての図3の方法の反復のためにステップ306において最大許容待ち時間と比較される最大待ち時間である。
ステップ307および308における通信の待ち時間が異常か否かの検出に続いて、この制御ループは、ステップ301にフィードバックし、そこでプロセッサは、図3の方法を次の動作時間窓のために実行する。したがって、図3の各反復は、新たな動作時間窓上で実行される。各動作時間窓は、先行の動作時間窓と非重複的であってもよい。例えば、動作時間窓は、連続的であってもよい。代替的に、動作時間窓は、重複的であってもよい。
上述したように、ステップ302~308は、監視ユニットにおいて、オンチップ分析器において、またはオフチップ分析器において実行されてよい。さらに、上述したように、一連の監視される時間窓における測定された待ち時間の最大待ち時間は、監視ユニットにおいて、または分析器において決定されてもよい。
図4は、3つのCPUの各々について測定された待ち時間を示している。測定された待ち時間は、フロアレベル(約400ns)から約1000nsまでの間で変化する。より長い待ち時間は、他のバスマスタからの競合によって引き起こされる。図3の方法によって異常として検出された測定された待ち時間は、グレーで示されている。測定された待ち時間のプロファイルは、3つのすべてのCPUについて同様である。しかしながら、異常であると検出された測定された待ち時間の数は,CPU0についてはゼロ、CPU1については一部、CPU2については大部分と大きく異なっている。これは、CPU0が僅かな通信アクティビティを有し、したがって、より長い最大許容待ち時間を有しているためである。一方、CPU2は、多くの通信アクティビティで非常にビジーであり、したがって、最大許容待ち時間が短くなっている。
図3に関して説明した方法は、部品に対して問題がある場合、通信における長い待ち時間を識別する。換言すれば、部品がその要求された時間枠においてその動作を完了できなくなることを引き起こす待ち時間が識別される。トラフィックが満たされた動作時間窓では、中程度の待ち時間でさえ問題があり、したがって、この方法によりフラグが立てられる。逆に、トラフィックが少ない動作時間窓では、時折の長い待ち時間は、部品の動作に対して問題とはならず、したがって、この方法によりフラグは立てられない。
次に、監視ユニットによって測定されたパラメータを分析することによって、SoCの異なる部品を比較するための方法を、図5を参照して説明する。
ステップ501では、監視される各時間窓の帯域幅が決定される。この帯域幅は、監視される時間窓における通信回数、および監視される時間窓の長さから導出することができる。
ステップ503では、プロセッサは、部品の一連の動作時間窓の各々についての帯域幅および待ち時間のセットを決定する。各動作時間窓について、プロセッサは、その動作時間窓の帯域幅のセットを生成するために、その動作時間窓上にマッピングされる監視される時間窓のセットの帯域幅を集約することができる。各動作時間窓について、プロセッサは、その動作時間窓の測定された待ち時間のセットを生成するために、その動作時間窓上にマッピングされる監視される時間窓のセットの測定された待ち時間を集約することができる。
プロセッサは、部品の一連の各動作時間窓についての待ち時間のセットを、対応する監視される時間窓の測定された待ち時間のサブセットであると決定することができる。例えば、各動作時間窓について、プロセッサは、その動作時間窓の最大待ち時間のセットを生成するために、その動作時間窓上にマッピングされる監視される時間窓のセットの最大待ち時間を集約することができる。
次いで、プロセッサは、ステップ505に進む。このステップ505では、プロセッサは、部品の一連の動作時間窓の各々についての帯域幅および待ち時間のセットを相関させる。プロセッサは、相互に関連して時間的にシフトされる動作時間窓についての帯域幅および待ち時間のセットを相関させることができる。
方法ステップ501~505は、比較すべき各成分について実行される。ステップ506では、プロセッサは、次いで、異なる成分の相関を比較する。
すべての成分について帯域幅と待ち時間との間の相関を比較することは、どのデータフローが相互に影響するかを理解するのに役立つ。したがって、SoC全体の動作が、通信回路203によってどのように影響されるかを理解するのに役立つ。相互に関連してシフトされる一連の動作時間窓において相関を実行することにより、時間的にはるかに離れている依存関係を検出することができるようになる。
どの程度の帯域幅をSoCの部品が必要とし、どの程度の待ち時間をそれが許容するかという特性は、SoC設計の時点では完全には分かっていない。また、それらは使用中にも変化する。本明細書で説明された方法は、これらのパラメータがSoC上の監視回路によって行われる非侵入型の測定値からオンザフライで計算されることを可能にする。したがって、説明された本方法は、異常な待ち時間を検出し、異なる部品についての相関データを比較することによって、通信回路を介した部品のデータフローが互いにどのように影響するかについての測定値を提供することが可能である。
図1および図2に示されたSoCの各部品は、専用のハードウェアに実装されてもよい。代替的に、図1および図2に示されたSoCの部品は、ソフトウェアに実装されてもよい。一部の部品は、ソフトウェアに実装され、一方、他の部品は専用のハードウェアに実装されてもよい。
説明したSoCは、好適には、コンピューティングベースのデバイス内に組み込まれる。コンピューティングベースのデバイスは、電子デバイスであってもよい。好適には、コンピューティングベースのデバイスは、本明細書に記載された方法を実施するためにデバイスの動作を制御するコンピュータ実行可能命令を処理するための1つ以上のプロセッサを含む。コンピュータ実行可能命令は、メモリなどの任意のコンピュータ可読媒体を使用して提供することができる。本明細書に記載された方法は、有形の記録媒体上の機械可読形態のソフトウェアによって実行されてよい。ソフトウェアは、本明細書に記載された方法を実施するために、コンピューティングベースデバイスで提供され得る。
上記の説明では、システム回路および監視回路が同じSoC上に含まれているものとして説明している。代替的な実装では、システム回路および監視回路は、MCMの2つ以上の集積回路チップにまたがって含まれている。MCMでは、集積回路チップは、典型的にはインターポーザー基板上に積層されるかまたは隣接して配置される。一部のシステム回路が、MCMの1つの集積回路チップ上に配置され、他のシステム回路は、MCMの異なる集積回路チップ上に配置されてもよい。同様に、監視回路は、MCMの複数の集積回路チップにわたって分散させてもよい。したがって、SoCの文脈での上述した方法および装置は、MCMの文脈にも適用される。
これにより出願人は、単独で、本明細書に記載された個々の各特徴および2つ以上のそのような特徴の任意の組み合わせを、そのような特徴もしくはそれらの組み合わせが、本明細書に開示された任意の問題を解決するかどうかにかかわらず、また請求の範囲に限定されることなく、そのような特徴もしくは組み合わせが、当業者に共通の一般的な知識に照らして本明細書全体に基づき実行できるような範囲で開示する。出願人は、本発明の態様が、任意のそのような個々の特徴もしくはそれらの組み合わせからなり得ることを示す。以上の説明から、当業者には、発明の範囲内で様々な変更を行ってよいことは明らかであろう。

Claims (20)

  1. 集積回路(IC)チップ上の監視回路が、前記ICチップ上の部品間の通信における異常な待ち時間を検出する方法であって、前記方法は、
    (i)前記ICチップの第1の部品と前記ICチップの他の部品との間の通信を監視するステップであって、各通信は、前記第1の部品から別の部品に送信されるコマンドと、前記他の部品から前記第1の部品によって受信される応答とを含み、該監視するステップは、
    一連の監視される時間窓の各々における通信回数を測定するステップと、
    前記一連の監視される時間窓における各通信の待ち時間を測定するステップと、
    を含む、ステップと、
    (ii)動作時間窓のバイト数と、前記動作時間窓における前記第1の部品の利用可能な機能停止時間と、前記動作時間窓のための待ち時間ペナルティ係数とから、前記第1の部品の動作時間窓の各々について最大許容待ち時間を計算するステップと、
    (iii)前記測定された待ち時間が、前記最大許容待ち時間より大きい場合、該測定された待ち時間を異常であると決定するステップと、
    を含む、方法。
  2. 動作時間窓のための前記待ち時間ペナルティ係数は、前記第1の部品が、前記動作時間窓における待ち時間応答間で許容できる平均最小バイト数である、請求項1記載の方法。
  3. 動作時間窓の前記最大許容待ち時間は、
    MTL=TS*BP/B
    に従って計算され、ここで、前記MTLは、動作時間窓iの前記最大許容待ち時間であり、前記TSは、動作時間窓iにおける前記第1の部品の前記利用可能な機能停止時間であり、前記BPは、動作時間窓iにおける前記待ち時間ペナルティ係数であり、前記Bは、動作時間窓iにおけるバイト数である、請求項2記載の方法。
  4. 請求項1記載の前記ステップ(iii)は、
    前記一連の監視される時間窓の各々において測定された待ち時間の最大待ち時間を決定するステップと、
    前記最大待ち時間と前記最大許容待ち時間とを比較するステップと、
    前記最大待ち時間が、前記最大許容待ち時間より大きい場合、該最大待ち時間を異常であると決定するステップと、
    を含む、請求項1から3までのいずれか1項記載の方法。
  5. 前記方法は、各動作時間窓における前記第1の部品の前記利用可能な機能停止時間を、動作時間窓長さと、予約された処理時間とから計算するステップをさらに含み、前記予約された処理時間は、計算を実行するために前記第1の部品によって使用されるものである、請求項1から4までのいずれか1項記載の方法。
  6. 前記各動作時間窓における前記第1の部品の前記利用可能な機能停止時間は、
    TS=WL*(1-RS
    に従って計算され、ここで、前記TSは、動作時間窓iにおける前記第1の部品の前記利用可能な機能停止時間であり、前記WLは、前記動作時間窓iの前記長さであり、前記RSは、前記第1の部品が計算を実行するために予約された時間の割合である、請求項5記載の方法。
  7. 前記方法は、前記一連の監視される時間窓の各々の帯域幅を、当該監視される時間窓における測定された通信回数から決定するステップをさらに含む、請求項1から6までのいずれか1項記載の方法。
  8. 前記方法は、前記第1の部品の一連の動作時間窓の各々についての帯域幅および待ち時間のセットを、請求項1記載のステップ(i)の前記一連の監視される時間窓の前記帯域幅および前記測定された待ち時間から決定するステップをさらに含む、請求項7記載の方法。
  9. 各動作時間窓は、監視される各時間窓よりも大きい、請求項8記載の方法。
  10. 前記方法は、前記第1の部品の前記一連の動作時間窓の各々についての前記帯域幅および前記待ち時間のセットを形成するために、ステップ(i)の前記一連の監視される時間窓の前記帯域幅および前記測定された待ち時間を集約するステップを含む、請求項8または9記載の方法。
  11. 前記第1の部品の前記一連の動作時間窓の各々の前記待ち時間は、前記一連の監視される時間窓の最大待ち時間である、請求項8から10までのいずれか1項記載の方法。
  12. 前記方法は、前記一連の動作時間窓の各々についての前記帯域幅および前記測定された待ち時間相関を求めるステップをさらに含む、請求項11記載の方法。
  13. 前記相関は、前記一連の動作時間窓の各々についての前記帯域幅および前記最大待ち時間相関である、請求項12記載の方法。
  14. 前記方法は、前記ICチップ上の部品のセットの各部品と、前記ICチップの他の部品との間の通信を監視するステップをさらに含み、前記セットの各部品の監視は、請求項1記載のステップ(i)によるものである、請求項11から13までのいずれか1項記載の方法。
  15. 前記方法は、前記セットの各部品について、前記一連の監視される時間窓の各々の前記帯域幅を、当該監視される時間窓における測定された通信回数から決定するステップをさらに含む、請求項14記載の方法。
  16. 前記方法は、前記部品のセットの各部品について、前記一連の動作時間窓の各々についての前記帯域幅および前記測定された待ち時間相関を求めるステップをさらに含む、請求項15記載の方法。
  17. 前記相関は、前記一連の動作時間窓の各々についての前記帯域幅および前記最大待ち時間相関である、請求項16記載の方法。
  18. 前記相関は、互いに時間的にシフトしている動作時間窓の前記帯域幅および前記最大待ち時間相関である、請求項16記載の方法。
  19. 前記方法は、前記部品のセットの異なる部品の相関を比較するステップをさらに含む、請求項16から18までのいずれか1項記載の方法。
  20. 集積回路(IC)チップであって、
    部品を含むシステム回路と、
    前記システム回路の前記部品間の通信を監視するように構成された監視回路と、
    を含み、
    各通信は、第1の部品からの部品に送信されるコマンドと、前記他の部品から前記第1の部品によって受信される応答とを含み、前記監視回路は、
    一連の監視される時間窓の各々における通信回数を測定するように構成されたカウンタと、
    前記第1の部品から別の部品にコマンドが送信されてから前記第1の部品によって応答が受信されるまでの間にかかる時間を測定するように構成された待ち時間タイマと、
    プロセッサと、
    を含み、前記プロセッサは、
    作時間窓のバイト数
    と、前記動作時間窓における前記第1の部品の利用可能な機能停止時間と、前記動作時間窓のための待ち時間ペナルティ係数とから、前記第1の部品の動作時間窓の各々についての最大許容待ち時間を計算し、
    前記測定された待ち時間が、前記最大許容待ち時間より大きい場合、その測定された待ち時間を異常であると決定する
    ように構成されている、
    集積回路(IC)チップ。
JP2022533134A 2019-12-03 2020-11-26 集積回路チップの潜在的な通信異常の検出 Active JP7389255B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1917654.4A GB2589594B (en) 2019-12-03 2019-12-03 Detecting anomalous latent communications in an integrated circuit chip
GB1917654.4 2019-12-03
PCT/EP2020/083478 WO2021110529A1 (en) 2019-12-03 2020-11-26 Detecting anomalous latent communications in an integrated circuit chip

Publications (2)

Publication Number Publication Date
JP2023504520A JP2023504520A (ja) 2023-02-03
JP7389255B2 true JP7389255B2 (ja) 2023-11-29

Family

ID=69146985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022533134A Active JP7389255B2 (ja) 2019-12-03 2020-11-26 集積回路チップの潜在的な通信異常の検出

Country Status (6)

Country Link
US (1) US11983087B2 (ja)
EP (1) EP4070198B1 (ja)
JP (1) JP7389255B2 (ja)
CN (1) CN114930302A (ja)
GB (1) GB2589594B (ja)
WO (1) WO2021110529A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000295312A (ja) 1999-04-05 2000-10-20 Nec Corp 端末応答監視自動制御装置および端末応答監視自動制御方法
JP2008152665A (ja) 2006-12-19 2008-07-03 Toshiba Corp 半導体集積回路の動作解析方法
JP2009025866A (ja) 2007-07-17 2009-02-05 Nec Electronics Corp メモリコントローラ、バスシステム、集積回路、及び、集積回路の制御方法。
WO2012049760A1 (ja) 2010-10-14 2012-04-19 富士通株式会社 ストレージ制御装置における基準時間設定方法
JP2014238670A (ja) 2013-06-06 2014-12-18 富士通株式会社 半導体回路装置、及び、電子装置
US20160003910A1 (en) 2011-10-21 2016-01-07 Renesas Electronics Corporation Semiconductor device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4369470B2 (ja) * 2006-12-26 2009-11-18 富士通株式会社 データ中継装置、ストレージ装置、および応答遅延監視方法
US8266281B1 (en) * 2010-04-22 2012-09-11 Imdb.Com, Inc. Collecting client-side performance metrics and latencies
US8417812B1 (en) * 2010-07-12 2013-04-09 Vmware, Inc. Methods and systems for detecting anomalies during IO accesses
US8929872B2 (en) * 2010-09-16 2015-01-06 Qualcomm Incorporated Management of paging channel monitoring
US9286257B2 (en) * 2011-01-28 2016-03-15 Qualcomm Incorporated Bus clock frequency scaling for a bus interconnect and related devices, systems, and methods
GB2490390B (en) * 2012-03-29 2014-01-29 Renesas Mobile Corp Method, apparatus and computer program for latency measurement
US8832330B1 (en) * 2013-05-23 2014-09-09 Nimble Storage, Inc. Analysis of storage system latency by correlating activity of storage system components with latency measurements
KR20150106224A (ko) 2014-03-11 2015-09-21 삼성전자주식회사 시스템-온-칩 및 그의 부하 불균형 검출 방법
US20160196231A1 (en) 2015-01-07 2016-07-07 Qualcomm Incorporated System and method for bus bandwidth management in a system on a chip
US10069713B2 (en) * 2015-11-13 2018-09-04 Raytheon Company Tracking data latency and availability for dynamic scheduling
US10114582B1 (en) * 2016-12-28 2018-10-30 EMC IP Holdinig Company LLC Dynamically selecting between sync and async replication modes
US10756990B1 (en) * 2017-09-22 2020-08-25 Equinix, Inc. Monitoring and performance improvement of enterprise applications using correlated data associated with a plurality of service layers
CN108319359B (zh) * 2017-12-29 2020-01-03 华中科技大学 一种基于微云的能耗优化方法
JP7004902B2 (ja) * 2018-02-05 2022-01-21 富士通株式会社 性能評価プログラム、および性能評価方法
US10785105B1 (en) * 2019-03-12 2020-09-22 Microsoft Technology Licensing, Llc Dynamic monitoring on service health signals
US11237893B2 (en) * 2019-06-26 2022-02-01 Western Digital Technologies, Inc. Use of error correction-based metric for identifying poorly performing data storage devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000295312A (ja) 1999-04-05 2000-10-20 Nec Corp 端末応答監視自動制御装置および端末応答監視自動制御方法
JP2008152665A (ja) 2006-12-19 2008-07-03 Toshiba Corp 半導体集積回路の動作解析方法
JP2009025866A (ja) 2007-07-17 2009-02-05 Nec Electronics Corp メモリコントローラ、バスシステム、集積回路、及び、集積回路の制御方法。
WO2012049760A1 (ja) 2010-10-14 2012-04-19 富士通株式会社 ストレージ制御装置における基準時間設定方法
US20160003910A1 (en) 2011-10-21 2016-01-07 Renesas Electronics Corporation Semiconductor device
JP2014238670A (ja) 2013-06-06 2014-12-18 富士通株式会社 半導体回路装置、及び、電子装置

Also Published As

Publication number Publication date
EP4070198B1 (en) 2023-08-30
WO2021110529A1 (en) 2021-06-10
EP4070198A1 (en) 2022-10-12
GB2589594B (en) 2023-10-11
JP2023504520A (ja) 2023-02-03
US11983087B2 (en) 2024-05-14
CN114930302A (zh) 2022-08-19
US20230004473A1 (en) 2023-01-05
GB2589594A (en) 2021-06-09
GB201917654D0 (en) 2020-01-15

Similar Documents

Publication Publication Date Title
Molka et al. Detecting memory-boundedness with hardware performance counters
Bin et al. Studying co-running avionic real-time applications on multi-core COTS architectures
US9632138B2 (en) Functional testing of an integrated circuit chip
US20030046614A1 (en) System and method for using embedded real-time analysis components
JP5153904B2 (ja) プログラムの動作推測方法及びプログラム
US9454424B2 (en) Methods and apparatus for detecting software inteference
US9140753B2 (en) Monitoring functional testing of an integrated circuit chip
Moro et al. Hardware performance sniffers for embedded systems profiling
CN106919462A (zh) 一种生成处理器故障记录的方法及装置
Abdel-Khalek et al. Post-silicon platform for the functional diagnosis and debug of networks-on-chip
Cabo et al. SafeSU: an extended statistics unit for multicore timing interference
Skitsas et al. DaemonGuard: O/S-assisted selective software-based Self-Testing for multi-core systems
Verner et al. Batch method for efficient resource sharing in real-time multi-GPU systems
JP7389255B2 (ja) 集積回路チップの潜在的な通信異常の検出
US10088523B2 (en) Debug adapter
Saeed et al. Memory latency distribution-driven regulation for temporal isolation in mpsocs
CN101458671B (zh) 外设访问控制方法、装置与系统
JP7425871B2 (ja) 集積回路チップにおいて観察された異常の原因識別
Ghosh et al. A framework for evaluation of debug path performance in SoC
Cao et al. A Communication-Centric Observability Selection for Post-Silicon System-on-Chip Integration Debug
Bertout Measurement-Based Timing Analysis on Heterogeneous MPSoCs: A Practical Approach
EP3722957A1 (en) Performance profiling
US10977075B2 (en) Performance profiling for a multithreaded processor
Lee et al. Performance modelling and evaluation for the XMP shared-bus multiprocessor architecture
JPH09101906A (ja) 並列計算機の性能測定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231116

R150 Certificate of patent or registration of utility model

Ref document number: 7389255

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150