(57)【要約】調停診断回路及び方法が、調停に基づくシステムにおいて診断情報を、及び／又は過剰な調停遅延の検出及び当該遅延に対する応答を提供する。一実施形態で、調停診断回路は、共有資源への調停アクセスを有する複数のエンティティに対する資源要求イベント及び対応の資源許諾イベントを含む調停イベントの時系列メモリトレースを保持する。当該トレースは、流動的であり整序されたリストとして見なされ得るものであるが、タイムスタンプされたイベント識別子を含んでも良く、識別子は調停関連エラー又は故障の分析を補助するものである。実際、１以上の実施形態では、調停診断回路が資源要求について経過時間を追跡し、資源許諾遅延違反を検出するものである。遅延違反及び他の調停状態情報のログをとることも可能であり、遅延違反の検出及び／又は様々な状態情報のキャプチャに応じて、（サブ）システムを凍結するものであってもよい。【選択図】図２
2009539159.tif 000002
【特許請求の範囲】
【請求項１】
共有資源への調停アクセスを有する２又は３以上のエンティティに対する調停イベントを検出することと、
前記調停イベントの時系列メモリトレースを保持することと
を含む資源調停診断処理方法。
【請求項２】
調停イベントを検出することは、資源要求及び対応の資源許諾を検出することを含む、請求項１に記載の方法。
【請求項３】
調停イベントを検出することは、資源解放を検出することをさらに含む、請求項２に記載の方法。
【請求項４】
前記調停イベントの時系列メモリトレースを保持することは、タイムスタンプされた調停イベントの流動的リストを保持することを含む、請求項１に記載の方法。
【請求項５】
タイムスタンプされた調停イベントの流動的リストを保持することは、資源要求イベント及び資源許諾イベントに対するタイムスタンプされたイベント識別子を格納することを含む、請求項４に記載の方法。
【請求項６】
資源解放イベントに対するタイムスタンプされたイベント識別子を格納することをさらに含む、請求項５に記載の方法。
【請求項７】
与えられた資源要求イベントの資源許諾遅延を、対応の遅延限界に対して比較することに基づいて、過剰な資源許諾遅延を検出することをさらに含む、請求項５に記載の方法。
【請求項８】
資源要求イベントを検出した後の経過時間を追跡し、前記２又は３以上のエンティティに定められる最大許諾遅延限界と前記経過時間とを比較することによって、前記資源許諾遅延を計算することをさらに含む、請求項７に記載の方法。
【請求項９】
過剰な資源許諾遅延を検出することに応じる以下の行動：
前記流動的リストに資源許諾遅延違反情報を格納する行動と、前記流動的リストを凍結する行動と、システム停止信号をアサートする行動と、遅延違反アラート信号をアサートする行動と、調停状態情報をキャプチャする行動と、前記共有資源への調停アクセスを有する前記２又は３以上のエンティティのうちの１又は２以上に対するエンティティ状態情報をキャプチャする行動と
のうちの１又は２以上を行うことをさらに含む、請求項７に記載の方法。
【請求項１０】
共有資源への調停アクセスを有する２又は３以上のエンティティに対する調停イベントを検出するインターフェース回路と、
前記調停イベントの時系列メモリトレースを保持する制御回路と
を備える調停診断回路。
【請求項１１】
前記調停診断回路は、資源要求及び対応の資源許諾を調停イベントとして検出する、請求項１０に記載の調停診断回路。
【請求項１２】
前記調停診断回路は、さらに、調停イベントとして資源解放を検出する、請求項１１に記載の調停診断回路。
【請求項１３】
前記インターフェース回路は、調停回路へ通信的に接続される信号送信インターフェースを備え、前記インターフェース回路は、前記調停回路から調停イベント信号を受信する、請求項１２に記載の調停診断回路。
【請求項１４】
前記制御回路は、タイムスタンプされた調停イベントの流動的リストを保持することによって、前記調停イベントの時系列メモリトレースを保持する、請求項１０に記載の調停診断回路。
【請求項１５】
前記制御回路は、資源要求イベント及び資源解放イベントに対するタイムスタンプされたイベント識別子を格納することによって、タイムスタンプされた調停イベントの流動的リストを保持する、請求項１４に記載の調停診断回路。
【請求項１６】
前記制御回路は、さらに、資源解放イベントに対するタイムスタンプされたイベント識別子を格納する、請求項１５に記載の調停診断回路。
【請求項１７】
前記制御回路は、さらに、与えられた資源要求イベントに対する資源許諾遅延を、対応の遅延限界に対して比較することに基づいて、過剰な資源許諾遅延を検出する、請求項１５に記載の調停診断回路。
【請求項１８】
前記制御回路は、さらに、資源要求イベントを検出した後の経過時間を追跡し、前記２又は３以上のエンティティに対して定められる最大許諾遅延限界と前記経過時間とを比較することによって、前記資源許諾遅延を計算する、請求項１７に記載の調停診断回路。
【請求項１９】
前記制御回路は、さらに、過剰な資源許諾遅延を検出することに応じる以下の行動：
前記流動的リストに資源許諾遅延違反情報を格納する行動と、前記流動的リストを凍結する行動と、システム停止信号をアサートする行動と、遅延違反アラート信号をアサートする行動と、調停状態情報をキャプチャする行動と、前記共有資源への調停アクセスを有する前記２又は３以上のエンティティのうちの１又は２以上に対するエンティティ状態情報をキャプチャする行動と
のうちの１又は２以上を行う、請求項１７に記載の調停診断回路。
【請求項２０】
前記制御回路は、さらに、調停イベントの前記時系列メモリトレースを格納するトレースメモリを備える、請求項１０に記載の調停診断回路。
【請求項２１】
前記トレースメモリの少なくとも一部が不揮発性メモリを備える、請求項２０に記載の調停診断回路。
【請求項２２】
共有資源への調停アクセスを有する２又は３以上のエンティティのそれぞれについて資源要求と対応の資源許諾との間の遅延時間を追跡することと、
前記遅延時間を１又は２以上の定められた遅延限界と比較することによって、資源許諾遅延違反を検出することと
を含む調停診断方法。
【請求項２３】
要求遅延違反を検出することに応じて、資源許諾遅延違反信号をアサートすることをさらに含む、請求項２２に記載の方法。
【請求項２４】
資源許諾遅延違反を検出することに応じて、調停状態情報をキャプチャすることをさらに含む、請求項２２に記載の方法。
【請求項２５】
前記２又は３以上のエンティティに対する、資源要求イベント及び対応の資源許諾イベントを含む調停イベントの時系列メモリトレースを保持することをさらに含む、請求項２２に記載の方法。
【請求項２６】
資源許諾遅延違反を検出することに応じて、調停イベントの前記時系列メモリトレースを凍結することをさらに含む、請求項２５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、バス又はメモリ等の共有システム資源の調停（ａｒｂｉｔｒａｔｉｏｎ）に関し、特に、調停診断に関する。
【背景技術】
【０００２】
現代電子装置は、様々なオペレーション機能を処理する処理システムを内蔵しており、かかる処理システムはますます高性能になっている。例えば移動体通信送受信器、携帯ゲームシステム、携帯情報端末等は、グラフィックス、オーディオ、通信及びディスプレイ処理サブシステムに支援されるマルチメディア機能を提供し、かかるマルチメディア機能はますます豊かになっている。色々なサブシステムは、一般的に、専用ハードウェア処理構成とソフトウェア処理構成とを備えるが、専用ハードウェア処理構成とソフトウェア処理構成とは、通例、メモリやバス等のような選択システム資源を共有する。このようなシステムにおいて、「アービタ（ａｒｂｉｔｅｒｓ：調停部）」は、個々の競合エンティティが行うアクセス要求を許諾、拒否及び保留することで、競合エンティティによる共有資源アクセスを調整する。例えばバスアービタは、２又は３以上の処理サブシステムにより、共有システムバスへのアクセスを管理し、各処理サブシステムは、バスへの独立したアクセスを必要とする。この役割において、アービタは、あるサブシステムに一時的にバスアクセスを許諾する一方で、他のサブシステムによるバスアクセスはブロックする。
【０００３】
資源調停は、このように、資源の共有を調整する機構を提供するが、同時にシステム診断を複雑化する。例えば、資源調停を用いる分散処理システムにおいて、調停処理は、耐えられるよりも長い間、共有資源アクセスから、任意のサブシステムをブロックし、システム全体の障害を引き起こす場合がある。様々なサブシステムに関する複雑な処理状態、当該サブシステム状態の「相互関係（ｉｎｔｅｒ‐ｒｅｌａｔｅｄｎｅｓｓ）」、及び、障害の地点及び時間における包括的調停状態情報の一般的使用不可能性のために、調停誘導障害を診断することは重大な課題をもたらすものである。
【発明の概要】
【０００４】
ある実施形態において、資源調停診断処理方法が、共有資源への調停アクセスを有する２又は３以上のエンティティに対する調停イベントを検出することと、調停イベントの時系列メモリトレースを保持することとを含む。例えば、コントローラが管理する資源要求イベント及び資源許諾イベントを検出するために、調停診断回路が、調停コントローラとインターフェースするものであってもよい。適宜、イベント追跡は資源解放イベントを含み、資源要求及び許諾オペレーションに関連する資源解放タイムを示している。
【０００５】
１又は２以上の実施形態において、調停イベントの時系列メモリトレースは、タイムスタンプされた調停イベントの流動的リストを含む。タイムスタンプされた情報は、関連の調停回路、調停診断回路によってローカルで生成されてもよく、又はシステムのいずれかの場所で生成され、参照信号として調停診断回路へ提供されてもよい。どちらにせよ、タイムスタンプは、資源許諾遅延、すなわち個々の資源要求と対応の資源許諾との間の遅延を定める１つの基準を与える。例えば要求をしているエンティティを過剰な資源許諾遅延が故障させたり、止めたり、さもなければ誤作動させる可能性があるシステムにおいて、遅延時間は重要である場合がある。
【０００６】
このように、調停診断方法は、１又は２以上の実施形態において、過剰な資源許諾遅延を検出することさらに含む。このような検出は、任意の資源要求イベントに対する資源許諾遅延を、対応の遅延限界に対して比較することに基づいてもよい。遅延限界は、調停診断回路へアクセス可能な１又は２以上のメモリに格納可能なものであるが、調停イベント追跡がアクティブになっている色々なエンティティに対して個別に定めてもよい。
【０００７】
また、効果的には、調停診断回路は、資源要求イベントを検出した後の経過時間を追跡し、２又は３以上のエンティティに対して定められた最大許諾遅延限界と経過時間とを比較することによって、資源許諾遅延を計算するものであってもよい。経過時間追跡は、例えば、要求イベントに対してキャプチャされるタイムスタンプ情報と１又は２以上のハードウェア又はソフトウェアタイミング機能とを用い、かかるタイミング機能は例えばシステムクロックによって駆動可能である。１又は２以上の実施形態において、調停診断方法は、過剰な資源許諾遅延を検出する１又は２以上の行動を行うことを含む。このような行動には、資源許諾遅延違反情報を流動的リストに格納することと、流動的リストを凍結することと、システム停止信号アサートすることと、遅延違反アラート信号をアサートすることと、調停状態情報をキャプチャすることと、共有資源への調停アクセスを有する２又は３以上のエンティティのうちの１又は２以上に対するエンティティ状態情報をキャプチャすることとのうち、１又は２以上が含まれる。
【０００８】
このように、少なくとも１つの実施形態において、調停診断方法は、共有資源への調停アクセスを有する２又は３以上のエンティティのそれぞれについて資源要求と対応の資源許諾との間の遅延時間を追跡することと、遅延時間を１又は２以上の定められた遅延限界と比較することによって資源許諾遅延違反を検出することとを含む。当該方法は、資源許諾遅延違反の検出に応じて資源許諾遅延違反信号をアサートすることをさらに含むものであり、資源許諾遅延違反を検出することに応じて調停状態情報キャプチャすることを含んでもよい。言うまでもなく、このような処理には、２又は３以上エンティティに対する、資源要求イベント及び対応の資源許諾イベントを含む調停イベントの時系列メモリトレースを保持することが含まれてもよい。
【０００９】
言うまでもなく、本発明は、上述の特徴及び効果に限定されるものではない。実際、当業者ならば、以下の発明を実施するための形態を読み、添付図面を見れば、追加的特徴及び効果を認めるであろう。
【図面の簡単な説明】
【００１０】
【図１】共有資源への調停アクセスを有する１又は２以上のエンティティについて描かれた、調停診断回路の一実施形態ブロック図である。
【図２】調停診断回路の一実施形態のブロック図である。
【図３】調停診断処理の一実施形態の論理流れ図である。
【図４】調停診断情報を含む時系列メモリトレースの一実施形態を示す表である。
【図５】調停診断処理の別の実施形態の論理流れ図である。
【図６】調停診断回路の別の実施形態のブロック図である。
【図７】調停診断情報を含む時系列メモリトレースの別の実施形態を示す表である。
【図８】図６の調停診断回路の一実施形態の回路の詳細のブロック図である。
【図９】調停診断処理論理の一実施形態の論理流れ図である。
【発明を実施するための形態】
【００１１】
図１は、調停診断回路１２の一実施形態を備えるシステム１０を示しており、調停診断回路１２は、共有資源への調停アクセス（ａｒｂｉｔｒａｔｅｄ  ａｃｃｅｓｓ）を有する２又は３以上のエンティティに対する調停イベントを検出し、調停イベントの時系列メモリトレースを保持するものである。例えば、図示するシステム１０は、調停回路（アービタ１４）と、共通メモリバス１６と、複数のバス２０‐１〜２０‐４をそれぞれ通してアービタ１４へ及び共通メモリバス１６へそれぞれ独立に接続される複数の処理エンティティ１８‐１〜１８‐４とを備える。さらに、処理エンティティ１８‐１〜１８‐４は、それぞれローカルメモリバス２２‐１〜２２‐４を有し、ローカルメモリバス２２‐１〜２２‐４は、処理エンティティ１８‐１〜１８‐４をＲＡＭ２４‐１〜２４‐４とＲＯＭ２６‐１〜２６‐４とに接続する。
【００１２】
上記において、プロセッサ１８‐１〜１８‐４は、ここで意図する共有資源の一種を代表する共通メモリバス１６への調停アクセスを有する。共有資源の他の非限定的な例には、１より多くのシステムエンティティにより共通で使用される、直接メモリアクセス（ＤＭＡ：Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラと、グラフィックス及び数値コプロセッサと、信号処理ハードウェアと、他のハードウェア及びソフトウェアサブシステムとが含まれる。
【００１３】
作動中、個々のプロセッサ１８は、対応のバスインターフェース（Ｉ／Ｆ）部を介してアービタ１４へ資源要求を提出する。共通メモリバス１６が割り当てに使用可能である場合は共通メモリバス１６へのアクセスを許諾し、共通メモリバス１６が使用可能でない場合は要求されたアクセスを拒否／保留することで、アービタ１４は、バスインターフェース部２０のそれぞれを介して上記資源要求の個々に応答する。
【００１４】
進行中の調停イベントの流動的リストを提供する時系列メモリトレースを保持することを目的に、調停診断回路１２は、少なくともいくつかの上記調停イベントを「監視（ｍｏｎｉｔｏｒ）」する。例えば、調停診断回路１２の一実施形態が制御回路３０とインターフェース回路３２とを備えるものであり、グローバル又はローカルタイミング信号ソースとなり得る１又は２以上の（トレース）メモリ回路３４とクロック回路３６とをさらに備えたり、又は少なくとも関連したりしてもよいものであることを、図２は示す。
【００１５】
制御回路３０とインターフェース回路３２とは、物理的又は機能的回路を備えてもよく、ハードウェア、ソフトウェア又はそれらのいかなる組み合わせで実施されてもよい、ということを当業者は了解するであろう。このように、調停診断回路１２は、ＡＳＩＣ、ＦＰＧＡ又は他のプログラム可能論理回路デバイスにおける専用マイクロプロセッサ回路又は専用プログラム論理回路のような専用ハードウェアを備えてもよく、又は例えばアービタ１４に備わる処理資源の一部を備えてもよい。
【００１６】
調停診断回路１２が独立型（ｓｔａｎｄ‐ａｌｏｎｅ）回路として機能的に又は物理的に実施されるか、又は別の回路内で実施されるかどうかにかかわらず、図３は、調停診断処理方法の一実施形態を示す。図示した方法は、例えばコンピュータプロダクト又は論理処理ハードウェアとして実施可能である。ともかく、図示した処理は進行中の調停を想定しており、このように処理は、共有資源への調停アクセスを有する２又は３以上のエンティティに対する調停イベントを検出すること（ステップ１００）から「開始する（ｂｅｇｉｎ）」。例えば、インターフェース回路３２はアービタ１４へ通信的に接続されており、それにより調停診断回路１２は、資源要求イベント、資源許諾イベント及び資源解放イベントのような少なくともいくつかの種類の調停イベントに対する調停イベント情報を受信することに基づいて、調停イベントを検出する。
【００１７】
調停診断回路１２が（少なくともいくつかの）調停イベントの時系列メモリトレースを保持することへと、処理は続く。例えば、１又は２以上の実施形態において、インターフェース回路３２は、資源要求及び資源許諾の通知をアービタ１４から受信し、当該通知を制御回路３０へ提供する。言い換えると、図４に示す実施形態のように、制御回路３０は調停イベント通知を用いて、時系列メモリトレース４０を保持する。流動的リストに保持されるイベントの数は、リストされるイベントとして保持されるエントリデータの豊富さとともに、時系列メモリトレース４０の「大きさ（ｓｉｚｅ）」を定める。一般的に、より大きなリストほど、調停関連システムエラーの診断により有用であるが、エントリ数、及び／又はエントリごとに格納されるイベント情報のフォーマット及び量は、特定のデザインの必要又は所望に応じて適応可能である。
【００１８】
図４を非限定的な例として、調停診断回路１２は、タイムスタンプされた調停イベントの整序リストとして時系列メモリトレースを保持するものである、ということが分かる。例えば、エンティティ「Ａ」がタイムスタンプ「１２３４５６」において共有資源を要求し、アービタ１４はタイムスタンプ「１２３４５７」において当該要求を許諾する。続いて、エンティティ「Ｃ」がタイムスタンプ「１２３４６５」において共有資源を要求し、エンティティＣはタイムスタンプ「１２３４６５」において拒否される。例のリストにおける他のエンティティについては自明である。
【００１９】
概して、調停診断回路１２は、調停イベントとして資源要求と、対応の資源許諾とを検出するものであり、さらに適宜、調停イベントとして資源解放を検出するものでもある。調停診断回路１２により検出され、ログをとられた特定の調停イベントにかかわらず、インターフェース回路３２の１又は２以上の実施形態は、アービタ１４へ通信的に接続される（又は内臓される）信号送信インターフェースを備えており、インターフェース回路３２は調停イベント信号をアービタ１４から受信するものである。
【００２０】
インターフェース回路３２を介した制御回路３０へのイベント情報の通信は、調停診断回路１２が、タイムスタンプされた調停イベントの流動的リストとして、調停イベントの時系列メモリトレース４０を保持することを可能にする。例えば、図４に見られるように、流動的リストを保持することは、資源要求イベント及び資源解放イベントに対するタイムスタンプされたイベント識別子を格納することを含む。タイムスタンプされた資源解放イベントは、調停診断回路１２によって追跡され、ログをとられる場合もある。いずれにせよ、調停診断回路１２は、タイムスタンプされたイベント識別子として調停イベントのログをとり、そのため、時系列メモリトレース４０は進行中の調停アクティビティの動「画」（ｍｏｖｉｎｇ  “ｐｉｃｔｕｒｅ”）を表す。時系列メモリトレース４０は、手動又は自動分析のために保存可能である。一実施形態においては、メモリ３４は、ＥＥＰＲＯＭ、ＦＬＡＳＨ又はバッテリーバック式（ｂａｔｔｅｒｙ‐ｂａｃｋｅｄ）ＳＲＡＭ等のような１又は２以上の不揮発性メモリ回路を備える。この点で、メモリ回路３４は、システムの実施の詳細に応じて、分散又は集中メモリ回路を備えることが可能であるということが留意されるべきであり、メモリ３４の１又は２以上の実施形態が揮発性メモリに基づく場合があるということがさらに理解されるべきである。
【００２１】
過剰な資源許諾遅延を識別することは、時系列メモリトレース４０に格納されるタイムスタンプされた資源要求イベント及び資源許諾イベントを有することによって支援される数多くの有用な診断分析を代表する１つである。つまり、公称の進行中オペレーションを続ける任意のエンティティの能力は、一般的に、共有資源への適時アクセスを得る当該エンティティの能力に依存し、それは、アービタ１４によるエンティティの資源要求の過剰に長い遅延が、誤った又は失敗したオペレーションを引き起こす場合があるということを意味する。
【００２２】
このように、調停診断回路１２の一実施形態において、制御回路３０は、任意の資源要求イベントの資源許諾遅延を、対応の遅延限界に対して比較することに基づいて、過剰な資源許諾遅延を検出するものである。このようなオペレーションは、１又は２以上の実施形態において、資源要求イベントを検出した後の経過時間を追跡することによって資源許諾遅延を計算することと、経過時間と共有資源への調停アクセスを有する２又は３以上のエンティティに対して定められる最大許諾遅延限界とを比較することとを含む。
【００２３】
図５は、過剰な資源許諾遅延を検出して応答するための、ハードウェア又はソフトウェアにおける調停診断回路１２によって実施可能である処理論理の一実施形態を示す。図示した処理は、進行中の共有資源調停を仮定しており、制御回路３０が過剰な許諾遅延を監視すること（ステップ１１０）から「開始（ｂｅｇｉｎ）」する。例えば、ある実施形態においては、制御回路３０は、任意の資源要求イベントの資源許諾遅延を、対応の遅延限界に対して比較することによって、過剰な資源許諾遅延を検出する。共有資源への調停アクセスを有するエンティティのうちの任意の１つ、例えば図１に示すプロセッサ１８のうちの任意の１つが耐えられる許容可能最大許諾遅延は、メモリ３４に、又はシステム１０のどこか他の場所のメモリに格納可能である。どこに格納されているにせよ、制御回路３０は、許諾遅延違反を定めることに、このような限界情報を使用可能である。
【００２４】
許諾遅延違反が発生すると（ステップ１１２）、制御回路３０が１又は２以上の行動を行うこと（ステップ１１４）へと処理は続く。調停診断回路１２がとる行動は、システム１０の必要又は所望にしたがって構成可能であり、どのエンティティの許諾遅延限界が違反されたかに基づいて変更可能である。つまり、許諾遅延違反は非決定的であるが、プロセッサ１８の１つにとっては依然としてシステムレベルで重要である場合があり、しかしながら、プロセッサ１８の別の１つにとっては、いかなる許諾遅延違反も決定的である場合がある。このように、制御回路３０は、許諾遅延違反の検出に応じて、次の行動のうちいずれか１又は２以上を行う場合がある。すなわち、資源許諾遅延違反情報を（調停イベントの）流動的リストに格納すること、流動的リストを凍結すること、システム停止信号をアサートすること、遅延違反アラート信号をアサートすること、調停状態情報をキャプチャすること、及び共有資源への調停アクセスを有する２又は３以上のエンティティのうちの１又は２以上に対するエンティティ状態情報をキャプチャすることのうちいずれか１又は２以上を行う場合がある。
【００２５】
再び、調停診断回路１２が資源許諾遅延違反の検出に応じてとる特定の行動は、どのエンティティが違反を受けているかにかかわらず、一様であることが可能である。１又は２以上の実施形態において、トレースメモリ３４、又は調停診断回路１２にアクセス可能である他のメモリは、遅延限界情報を格納し、いかなる遅延応答構成情報をも格納する。
【００２６】
遅延違反オペレーションを念頭に置いて、図６は制御回路３０の一実施形態を示しており、当該制御回路３０の一実施形態は、１又は２以上のハードウェア又はソフトウェアタイマ回路５０と、１又は２以上の比較回路５２と、１又は２以上の信号回路５４とを備える。図７の対応の時系列メモリトレース４０を例としてあげると、タイマ回路５０は、タイムスタンプに使用する同一のクロックソースを用いて、又はローカル又はグローバルクロックソースのいずれかを用いて、新たな資源要求イベントの検出に関する経過時間を追跡するものである。経過タイマクロックソースは、タイムスタンプ分割能に関連する適当な分割能を有するべきである。
【００２７】
このように、制御回路３０は、新たな資源要求イベントを検出し、時系列メモリトレース４０を含む流動的リストにおける対応のタイムスタンプされたイベント識別子のログをとり、タイマ回路５０における対応のタイミングハードウェア又はソフトウェアを割り当てることによって遅延タイマを開始する。そのソフトウェア又はハードウェア資源の限界内で、複数の対応の資源要求イベントに対する経過時間を追跡する必要に応じて、制御回路３０はこの処理を反復可能である。
【００２８】
ともかく、任意の資源要求イベントについて、経過時間値は、比較回路５２に備わるソフトウェア又はハードウェア比較回路への１つの入力として提供可能であり、他の入力は、要求エンティティに対して定められる対応の遅延限界となる。定められた遅延限界を経過時間が満たす又は超える場合、比較回路５２は、関連エンティティに対して遅延違反を示す。応じて、信号送信回路５４は、１又は２以上の所望の行動を開始する。
【００２９】
例えば、信号送信回路５４は、分散キャプチャメモリ６０‐１〜６０‐Ｎにシステム状態情報をキャプチャするよう信号送信する場合がある。そのような状態情報は、例えば、個々のエンティティに集められてもよいし、及び／又はシステムレベルで集められてもよい。このように、キャプチャメモリは、様々なエンティティの１つに、又は他のシステムエレメント（図示せず）に共同設置（ｃｏ‐ｌｏｃａｔｅｄ）又は集積されてもよい。言うまでもなく、時系列メモリトレース４０は、順序付けられた調停状態の比較的詳細な組を代表し、他のシステム又はエンティティ状態情報がキャプチャされているかどうかとは独立に、調停診断回路１２は、その目下の調停状態情報をキャプチャ可能である。調停診断回路１２が時系列メモリトレース４０を凍結するもの、及び／又はシステムオペレーションを凍結するものである実施形態においては、最後の２つのタイムスタンプされたイベントは発生しないであろう、すなわちエンティティ「Ｃ」の最大資源許諾遅延が違反されたことを検出すると流動的リストは凍結されるであろう、ということも留意されたい。
【００３０】
上述の処理論理を念頭に置いて、図８は、図６に示す調停診断回路１２の一実施形態に対する機能的な回路の詳細を示す。図示したタイム回路５０は、許諾遅延エラー信号送信のために、比較回路５２及び信号送信回路５４を駆動するための資源許諾遅延追跡をともに提供するレジスタ７０、７２及び７４と、追加回路７６と、遅延回路７８と、ゲート回路８０及び８２とを備える。
【００３１】
図９は、図８の機能的回路が実施する処理論理の一実施形態を示しており、そのような処理は、ハードウェア、ソフトウェア又はそれらのいかなる組み合わせを介した調停診断回路１２によって実施されてもよいということが理解されるべきである。さらに、そのような処理は、許諾遅延処理が複数のエンティティに対して同時に実行可能であるように、共有資源１６へのアクセスについて競合するエンティティ１８ごとに実施されてもよいということが理解されるべきである。
【００３２】
それを支援するために、少なくとも図８に示すタイム回路５０は、調停診断回路１２内で重複可能である。例えば、図８に示すいくつか又は全部の回路は、要求許諾遅延追跡が所望されるエンティティ１８ごとに重複可能である。特に、少なくとも１つの実施形態においては、監視されているエンティティ１８ごとに１つのレジスタ７０が例示され、レジスタ７２及び７４は、かかるエンティティ１８ごとに循環バッファとして実施可能である。レジスタ７２及び７４を循環バッファとして実施すると、タイムスタンプトレース情報がレジスタ７２及び７４に保持可能であり、最古のエントリは最新のエントリに上書きされる。
【００３３】
上述の点を念頭に置いて、進行中のシステムオペレーションを仮定すると、図示する処理は、レジスタ７０への最大許容許諾遅延値のロード（ステップ１２０）から「開始」する。例えば、図９がエンティティ１８のうちの特定の１つの許諾遅延追跡に関すると仮定すると、不揮発性メモリである場合があるものであるメモリ３４は、リセット又はシステムスタート時にレジスタ７０へ伝送可能である最大遅延値を格納する。
【００３４】
タイムスタンプ（ＴＳ：ｔｉｍｅ  ｓｔａｍｐ）カウントとして表現可能なものである最大遅延値をレジスタ７０にロードすると、監視されているエンティティ１８について要求イベントを監視すること（ステップ１２２）へと処理は続く。要求イベントの検出に応じて、目下タイムスタンプバス８４におけるタイムスタンプ値（ＴＳＶ：ｔｉｍｅ  ｓｔａｍｐ  ｖａｌｕｅ）は、ゲート８０を通してレジスタ７２へラッチ（ｌａｔｃｈ）される（ステップ１２４）。それと同時に、又はほぼ同時に、追加部７６が動作可能となり、結果はレジスタ７４へラッチされ、要求イベント信号の遅延されたバージョンを用いて比較部５２が動作可能となる（ステップ１２６及びステップ１２８）。このように、追加部７６は、レジスタ７２にキャプチャされた要求イベントＴＳＶと、レジスタ７０に格納される最大許諾遅延値とを追加し、その合計は、比較部５２が使用するためにレジスタ７４へ伝送される。
【００３５】
遅延エレメント７８を用いて、要求イベント信号の遅延されたバージョンすなわちＲＥＱ’を生成することが可能であり、遅延されていないバージョンはＲＥＱとして識別される。一般的に、必要な遅延時間の量は実施の詳細に依存し、時間の問題として設定されるであろう。データセットアップ及びを満たし、ＲＥＱ信号の実際のアサーションに関連する追加部７６に対するタイミング要求を保持するのに十分なだけ遅延すれば十分である。
【００３６】
どんな場合でも、対応の要求許諾イベントを監視すること（ステップ１３０）へと処理は続く。要求許諾イベントが検出される場合、比較部５２が、タイムスタンプバス８４における目下の（動的）更新ＴＳＶをレジスタ７４のコンテンツと比較すること（ステップ１３２）へと処理は続き、当該コンテンツはレジスタ７０とレジスタ７２との合計である。レジスタ７４に保持される合計、すなわち追加部７６からの値よりも目下のＴＳＶが大きい場合、比較部５２は、当該条件を許諾遅延違反として検出し、エラー信号をアサートし、このエラー信号は必要に応じて信号送信回路５４によって伝播可能である（ステップ１３４及び１３６）。診断に用いるために、この処理の一部として、レジスタ７２及び７４のコンテンツのコンテンツは凍結される場合もある、ということに留意されたい。
【００３７】
他方で、目下のＴＳＶがレジスタ７４に保持される合計を超えない場合、最大許諾遅延はいまだ違反されてはおらず、要求許諾イベントを監視すること（ステップ１３０）へと処理は戻る。このように、許諾遅延違反が発生する前に要求許諾イベントが発生する場合、要求許諾イベントが発生する際のタイムスタンプバス８４におけるＴＳＶをキャプチャすることへと処理は続き、それにより追加部７６からの合計値は上書きされ（ステップ１３８）、診断記録のため、実際の要求許諾タイムスタンプ情報は保存される。要求許諾信号は比較部を動作不能にすることにも使用され、それにより誤エラーアサーションが防止される（ステップ１４０）。
【００３８】
上述の処理は後続の要求イベント検出に対して繰り返されるということを、当業者は了解するであろう。さらに、言及したとおり、全てのこのような処理は、複数の要求エンティティ１８に対して同時に実行可能である。
【００３９】
このように、調停イベントの流動的リストをキャプチャせずとも、調停診断回路１２は、資源許諾遅延違反検出及び応答機能を提供するものであってもよい。概して、１又は２以上の実施形態において、調停診断回路１２は、共有資源への調停アクセスを有する１又は２以上のエンティティのそれぞれに対して、資源要求と対応の資源許諾との間の遅延時間を追跡する方法を実施する。このような実施形態において、調停診断回路１２は、定められた１又は２以上の遅延限界と遅延時間とを比較することによって、資源許諾遅延違反を検出する。
【００４０】
言うまでもなく、本発明は、上述の考察によって限定されるものではなく、添付図面によって限定されるものでもない。実際、本発明は、添付の特許請求の範囲及びその法的均等物によってのみ限定されるものである。
【図１】
2009539159.tif 000003
【図２】
2009539159.tif 000004
【図３】
2009539159.tif 000005
【図４】
2009539159.tif 000006
【図５】
2009539159.tif 000007
【図６】
2009539159.tif 000008
【図７】
2009539159.tif 000009
【図８】
2009539159.tif 000010
【図９】
2009539159.tif 000011
【手続補正書】
【提出日】平成20年3月25日(2008.3.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
資源要求及び対応の資源許諾を検出することを含んで、共有資源への調停アクセスを有する２又は３以上のエンティティに対する調停イベントを検出することと、
資源要求イベント及び資源許諾イベントに対するタイムスタンプされたイベント識別子を格納することを含んで、タイムスタンプされた調停イベントの流動的リストを保持することによって前記調停イベントの時系列メモリトレースを保持することと
を含む資源調停診断処理方法。
【請求項２】
調停イベントを検出することは、資源解放を検出することをさらに含む、請求項１に記載の方法。
【請求項３】
前記タイムスタンプされた調停イベントの流動的リストの一部として、資源解放イベントに対するタイムスタンプされたイベント識別子を格納することをさらに含む、請求項１に記載の方法。
【請求項４】
与えられた資源要求イベントの資源許諾遅延を、対応の遅延限界に対して比較することに基づいて、過剰な資源許諾遅延を検出することをさらに含む、請求項１に記載の方法。
【請求項５】
資源要求イベントを検出した後の経過時間を追跡し、前記２又は３以上のエンティティに定められる最大許諾遅延限界と前記経過時間とを比較することによって、前記資源許諾遅延を計算することをさらに含む、請求項４に記載の方法。
【請求項６】
過剰な資源許諾遅延を検出することに応じる以下の行動：
前記流動的リストに資源許諾遅延違反情報を格納する行動と、前記流動的リストを凍結する行動と、システム停止信号をアサートする行動と、遅延違反アラート信号をアサートする行動と、調停状態情報をキャプチャする行動と、前記共有資源への調停アクセスを有する前記２又は３以上のエンティティのうちの１又は２以上に対するエンティティ状態情報をキャプチャする行動と
のうちの１又は２以上を行うことをさらに含む、請求項５に記載の方法。
【請求項７】
資源要求及び対応の資源許諾を検出することを含んで、共有資源への調停アクセスを有する２又は３以上のエンティティに対する調停イベントを検出するインターフェース回路と、
資源要求イベント及び資源許諾イベントに対するタイムスタンプされたイベント識別子を格納することを含んで、タイムスタンプされた調停イベントの流動的リストを保持することによって前記調停イベントの時系列メモリトレースを保持する制御回路と
を備える調停診断回路。
【請求項８】
前記調停診断回路は、さらに、前記タイムスタンプされた調停イベントの流動的リストに格納する調停イベントとして資源解放を検出する、請求項７に記載の調停診断回路。
【請求項９】
前記インターフェース回路は、調停回路へ通信的に接続される信号送信インターフェースを備え、前記インターフェース回路は、前記調停回路から調停イベント信号を受信する、請求項７に記載の調停診断回路。
【請求項１０】
前記制御回路は、さらに、与えられた資源要求イベントに対する資源許諾遅延を、対応の遅延限界に対して比較することに基づいて、過剰な資源許諾遅延を検出する、請求項７に記載の調停診断回路。
【請求項１１】
前記制御回路は、さらに、資源要求イベントを検出した後の経過時間を追跡し、前記２又は３以上のエンティティに対して定められる最大許諾遅延限界と前記経過時間とを比較することによって、前記資源許諾遅延を計算する、請求項１０に記載の調停診断回路。
【請求項１２】
前記制御回路は、さらに、過剰な資源許諾遅延を検出することに応じる以下の行動：
前記流動的リストに資源許諾遅延違反情報を格納する行動と、前記流動的リストを凍結する行動と、システム停止信号をアサートする行動と、遅延違反アラート信号をアサートする行動と、調停状態情報をキャプチャする行動と、前記共有資源への調停アクセスを有する前記２又は３以上のエンティティのうちの１又は２以上に対するエンティティ状態情報をキャプチャする行動と
のうちの１又は２以上を行う、請求項１１に記載の調停診断回路。
【請求項１３】
前記制御回路は、さらに、調停イベントの前記時系列メモリトレースを格納するトレースメモリを備える、請求項７に記載の調停診断回路。
【請求項１４】
前記トレースメモリの少なくとも一部が不揮発性メモリを備える、請求項１３に記載の調停診断回路。
【請求項１５】
共有資源への調停アクセスを有する２又は３以上のエンティティのそれぞれについて資源要求と対応の資源許諾との間の遅延時間を追跡することと、
前記遅延時間を１又は２以上の定められた遅延限界と比較することによって、資源許諾遅延違反を検出することと
を含む調停診断方法。
【請求項１６】
要求遅延違反を検出することに応じて、資源許諾遅延違反信号をアサートすることをさらに含む、請求項１５に記載の方法。
【請求項１７】
資源許諾遅延違反を検出することに応じて、調停状態情報をキャプチャすることをさらに含む、請求項１５に記載の方法。
【請求項１８】
前記２又は３以上のエンティティに対する、資源要求イベント及び対応の資源許諾イベントを含む調停イベントの時系列メモリトレースを保持することをさらに含む、請求項１５に記載の方法。
【請求項１９】
資源許諾遅延違反を検出することに応じて、調停イベントの前記時系列メモリトレースを凍結することをさらに含む、請求項１８に記載の方法。
【国際調査報告】
2009539159.tif 000012
2009539159.tif 000013
2009539159.tif 000014