(57)【要約】  本公開は、バスノードと、バス監視モジュールの所在する第１バスを監視し、監視情報を生成するように配置されるバス監視モジュールと、第２バスを介してバス監視モジュールから監視情報を取得するように配置される情報記憶モジュールと、バスノードの主装置と補助装置とを接続するように配置される第１バスと、情報記憶モジュールとバス監視モジュールとを接続するように配置される第２バスとを備え、第２バスは第１バスから独立している、バス監視システム、方法および装置を提供する。本公開では、関連技術における、バス異常時にバス監視情報を取得できないという技術課題を解決している。【選択図】図４
2020525944.tif 000002
【特許請求の範囲】
【請求項１】
バスノードと、
バス監視モジュールの所在する第１バスを監視し、監視情報を生成するように配置されるバス監視モジュールと、
第２バスを介して前記バス監視モジュールから前記監視情報を取得するように配置される情報記憶モジュールと、
前記バスノードの主装置と補助装置とを接続するように配置される前記第１バスと、
前記情報記憶モジュールと前記バス監視モジュールとを接続するように配置される前記第２バスとを備え、
前記第２バスは前記第１バスから独立している、バス監視システム。
【請求項２】
前記第２バスは、前記バスノードの所在するチップのデータをバックアップすることと、経路のトラフィックを拡張することと、拡張して指定の用途として用いることとの少なくとも１つを実行するように配置される、請求項１に記載のシステム。
【請求項３】
前記監視情報の保存完了の指示を検出したときに、前記バスノードの所在するチップに対してリセット操作を行うように配置されるチップリセットモジュールと、
前記監視情報を基に故障分析するように配置される故障分析モジュールと、をさらに備える、請求項１に記載のシステム。
【請求項４】
前記監視情報を保存するように配置される記憶モジュールをさらに備える、請求項１に記載のシステム。
【請求項５】
前記第２バスは、さらに前記情報記憶モジュールと前記記憶モジュールとを接続するように配置される、請求項４に記載のシステム。
【請求項６】
バス監視モジュールの所在する第１バスを監視して監視情報を生成することと、
第２バスを介して前記バス監視モジュールから前記監視情報を取得することと、を含み、
前記第２バスは前記第１バスから独立している、バス監視方法。
【請求項７】
第２バスを介してバス監視モジュールから監視情報を取得することは、
イベントトリガーに応じて、第２バスを介してバス監視モジュールから監視情報を取得することと、
状態照会に応じて、第２バスを介してバス監視モジュールから監視情報を取得することと、
連続記憶に応じて、第２バスを介してバス監視モジュールから監視情報を取得することとのうちの１つを含む、請求項６に記載の方法。
【請求項８】
第２バスを介して前記バス監視モジュールから前記監視情報を取得した後に、
前記監視情報を保存することをさらに含む、請求項６に記載の方法。
【請求項９】
前記監視情報を保存した後に、
バスノードの所在するチップに対してリセット操作を実行することと、
前記リセット操作が完了した後に、前記監視情報に基づいて故障分析を行うことと、をさらに含む、請求項６に記載の方法。
【請求項１０】
バスノードの所在するチップに対してリセット操作を実行することは、
前記監視情報の保存完了の指示を検出したときに、バスノードの所在するチップに対してリセット操作を行うことを含む、請求項９に記載の方法。
【請求項１１】
前記監視情報に基づいて故障分析を行うことは、
前記監視情報によって前記チップのアクセスモデルを推定することと、
前記アクセスモデルに基づいて故障タイプを特定することと、を含む、請求項９に記載の方法。
【請求項１２】
前記監視情報に基づいて故障分析を行うことは、
すべての主装置を巡回して、目下の主装置に直結しているバスノード番号を読み取ることと、
前記バスノード番号に基づいて、対応するバスノードの履歴アクセス情報を読み取ることと、
前記履歴アクセス情報を分析して、前記目下の主装置がアクセスを行ったかどうかを検出することと、
アクセスが行われたときに、アクセスしたアドレスが正当な範囲内にあるかどうかを判断することと、
アクセスしたアドレスが正当な範囲内にないときに、主装置番号、アクセスアドレス、アクセス属性のうち少なくとも１つのノード情報を記録することと、
前記ノード情報によって不正アクセスの主装置を特定することと、を含む、請求項９に記載の方法。
【請求項１３】
前記監視情報に基づいて故障分析を行った後に、
故障バスノードを確定することと、
目下のバスノードがアクセスを行うときに、前記故障バスノードのアクセスアドレスが正当であるかどうかを検出することと、
前記故障バスノードのアクセスアドレスが不正であるときに、前記故障バスノードへのアクセスを禁止することと、をさらに含む、請求項９に記載の方法。
【請求項１４】
バス監視モジュールの所在する第１バスを監視して監視情報を生成することは、
第１バスを介してバスノードのアクセス情報を監視し、前記アクセス情報をバス監視モジュールに保存して前記バスノードの監視情報を得ることを含む、請求項６に記載の方法。
【請求項１５】
第２バスを介して前記バス監視モジュールから前記監視情報を取得することは、
目下のアクセス情報が前記バスノードの異常を示したときに、第２バスを介して前記バス監視モジュールから前記監視情報を取得することと、
目下のアクセス情報が前記バスノードの正常を示したときに、第２バスを介して前記バス監視モジュールから前記監視情報を取得することと、を含む、請求項６に記載の方法。
【請求項１６】
バス監視モジュールの所在する第１バスを監視し、監視情報を生成するように配置される監視モジュールと、
第２バスを介して、前記バス監視モジュールから前記監視情報を取得するように配置される取得モジュールと、を備え、
前記第２バスは前記第１バスから独立している、バス監視装置。
【請求項１７】
前記取得モジュールは、
イベントトリガーに応じて、第２バスを介してバス監視モジュールから監視情報を取得するように配置される第１取得ユニットと、
状態照会に応じて、第２バスを介してバス監視モジュールから監視情報を取得するように配置される第２取得ユニットと、
連続記憶に応じて、第２バスを介してバス監視モジュールから監視情報を取得するように配置される第３取得ユニットとのうちの１つを含む、請求項１６に記載の装置。
【請求項１８】
前記監視情報を保存するように配置された記憶モジュールをさらに備える、請求項１６に記載の装置。
【請求項１９】
前記記憶モジュールに前記監視情報を保存した後に、バスノードの所在するチップに対してリセット操作を実行するように配置されたリセットモジュールと、
前記監視情報に基づいて故障分析を行うように配置された分析モジュールと、をさらに備える、請求項１８に記載の装置。
【請求項２０】
前記分析モジュールが前記監視情報に基づいて故障分析を行った後に、故障バスノードを確定するように配置される確定モジュールと、
目下のバスノードによるアクセスを行うときに、前記故障バスノードのアクセスアドレスが正当かどうかを検出するように配置される検出モジュールと、
前記故障バスノードのアクセスアドレスが不正な場合、前記故障バスノードへのアクセスを禁止するように配置される処理モジュールと、をさらに備える、請求項１９に記載の装置。
【請求項２１】
記憶されたプログラムを含む記憶媒体であって、前記プログラムが実行されるときに、請求項６から１５のいずれか一項に記載の方法が実行される、記憶媒体。
【請求項２２】
プログラムの実行に用いられるプロセッサであって、前記プログラムを実行するときに、請求項６から１５のいずれか一項に記載の方法を実行するプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本公開はプロセッサ分野に関し、具体的にはバス監視システム、方法および装置に関するものである。
【背景技術】
【０００２】
モバイル通信システムの製品性能が向上するにつれて、それに使用されるチップにおける集積プロセッサの数と周辺装置の数はますます多くなり、バスはますます複雑になっている。故障を特定しやすくするために、関連技術におけるチップは、バス監視モジュールを設け、各バスノードのアクセス情報を監視する役割を果たしており、図１に示すように、図１は本公開の関連技術におけるバス監視装置図である。このような方式では、バス異常が発生した場合、プロセッサまたは周辺装置はバスを介してアクセスできなくなり、バス監視情報を取得できず、故障の特定が困難である。
関連技術に存在する上記課題について、現時点ではまだ有効な解決策が見出されていない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本公開の実施例は、関連技術における、バス異常時にバス監視情報を取得できないという技術問題を少なくとも解決するためのバス監視システム、方法および装置を提供する。
【課題を解決するための手段】
【０００４】
本公開の一実施例では、バスノードと、バス監視モジュールの所在する第１バスを監視し、監視情報を生成するためのバス監視モジュールと、第２バスを介して前記バス監視モジュールから前記監視情報を取得するための情報記憶モジュールと、前記バスノードの主装置と補助装置とを接続するための前記第１バスとを備えるバス監視システムを提供する。前記第２バスは、前記情報記憶モジュールと前記バス監視モジュールとを接続するために用いられ、前記第１バスから独立している。
【０００５】
任意で、前記第２バスは、前記バスノードの所在するチップのデータをバックアップすることと、経路を拡張することと、拡張して指定の用途として用いることとの少なくとも１つにさらに用いられる。
【０００６】
任意で、前記システムは、前記監視情報の保存完了の指示を検出したときに、前記バスノードの所在するチップに対してリセット操作を行うためのチップリセットモジュールと、前記監視情報を基に故障分析をするための故障分析モジュールと、をさらに備える。
【０００７】
任意で、前記システムは、前記監視情報を保存するための記憶モジュールをさらに備える。
【０００８】
任意で、前記第２バスは、前記情報記憶モジュールと前記記憶モジュールと接続するためにさらに用いられる。
【０００９】
本公開のもう１つの実施例は、バス監視モジュールの所在する第１バスを監視して監視情報を生成することと、第２バスを介して前記バス監視モジュールから前記監視情報を取得することとを含み、前記第２バスは前記第１バスから独立している、バス監視方法を提供する。
【００１０】
任意で、第２バスを介してバス監視モジュールから監視情報を取得することは、イベントトリガーに応じて、第２バスを介してバス監視モジュールから監視情報を取得することと、状態照会に応じて、第２バスを介してバス監視モジュールから監視情報を取得することと、連続記憶に応じて、第２バスを介してバス監視モジュールから監視情報を取得することとのうちの１つを含む。
【００１１】
任意で、第２バスを介して前記バス監視モジュールから前記監視情報を取得した後に、前記方法は、前記監視情報を保存することをさらに含む。
【００１２】
任意で、前記監視情報を保存した後に、前記方法は、バスノードの所在するチップに対してリセット操作を実行することと、前記リセット操作が完了した後に、前記監視情報に基づいて故障分析を行うこととをさらに含む。
【００１３】
任意で、前記バスノードの所在するチップに対してリセット操作を実行することは、前記監視情報の保存完了指示を検出したときに、前記バスノードの所在するチップに対してリセット操作を行うことを含む。
【００１４】
任意で、前記監視情報に基づいて故障分析を行うことは、前記監視情報によって前記チップのアクセスモデルを推定することと、前記アクセスモデルに基づいて故障タイプを特定することとを含む。
【００１５】
任意で、前記監視情報に基づいて故障分析を行うことは、すべての主装置を巡回して、目下の主装置に直結しているバスノード番号を読み取ることと、前記バスノード番号に基づいて、対応するバスノードの履歴アクセス情報を読み取ることと、前記履歴アクセス情報を分析して、前記目下の主装置がアクセスを行ったかどうかを検出することと、アクセスが行われたときに、アクセスしたアドレスが正当な範囲内にあるかどうかを判断することと、アクセスしたアドレスが正当な範囲内にないときに、主装置番号、アクセスアドレス、アクセス属性のうち少なくとも１つのノード情報を記録することと、前記ノード情報によって不正アクセスの主装置を特定することと、を含む。
【００１６】
任意で、前記監視情報に基づいて故障分析を行った後に、前記方法は、故障バスノードを確定することと、目下のバスノードがアクセスを行うときに、前記故障バスノードのアクセスアドレスが正当であるかどうかを検出することと、前記故障バスノードのアクセスアドレスが不正であるときに、前記故障バスノードへのアクセスを禁止することとをさらに含む。
【００１７】
任意で、バス監視モジュールの所在する第１バスを監視して、監視情報を生成することは、第１バスを介してバスノードのアクセス情報を監視し、前記アクセス情報をバス監視モジュールに保存して前記バスノードの監視情報を得ることを含む。
【００１８】
任意で、第２バスを介して前記バス監視モジュールから前記監視情報を取得することは、目下のアクセス情報が前記バスノードの異常を示したときに、第２バスを介して前記バス監視モジュールから前記監視情報を取得することと、目下のアクセス情報が前記バスノードの正常を示したときに、第２バスを介して前記バス監視モジュールから前記監視情報を取得することとを含む。
【００１９】
本公開のもう１つの実施例は、バス監視モジュールの所在する第１バスを監視し、監視情報を生成するためのバス監視モジュールと、第２バスを介して、前記バス監視モジュールから前記監視情報を取得するための取得モジュールと、を備え、前記第２バスは前記第１バスから独立している、バス監視装置を提供する。
【００２０】
任意で、前記取得モジュールは、イベントトリガーに応じて、第２バスを介してバス監視モジュールから監視情報を取得するための第１取得ユニットと、状態照会に応じて、第２バスを介してバス監視モジュールから監視情報を取得するための第２取得ユニットと、連続記憶に応じて、第２バスを介してバス監視モジュールから監視情報を取得するための第３取得ユニットとのうちの１つを含む。
【００２１】
任意で、前記装置は、前記記憶モジュールに前記監視情報を保存した後に、バスノードの所在するチップに対してリセット操作を実行するためのリセットモジュールと、前記監視情報に基づいて故障分析を行うための分析モジュールと、をさらに備える。
【００２２】
任意で、前記装置は、前記分析モジュールが前記監視情報に基づいて故障分析を行った後に、故障バスノードを確定するための確定モジュールと、目下のバスノードによるアクセスを行うときに、前記故障バスノードのアクセスアドレスが正当かどうかを検出するための検出モジュールと、前記故障バスノードのアクセスアドレスが不正な場合、前記故障バスノードへのアクセスを禁止するための処理モジュールと、をさらに備える。
【００２３】
任意で、前記装置は、前記監視情報を保存するための記憶モジュールをさらに備える。
【００２４】
本公開のもう１つの実施例は、記憶媒体をさらに提供する。当該記憶媒体は、バス監視モジュールの所在する第１バスを介して監視して、監視情報を生成するステップと、第２バスを介して前記バス監視モジュールから前記監視情報を取得するステップと、を実行するためのプログラムコードを記憶するように配置されている。
【００２５】
本公開により、第１バスを基に第２バスをさらに加え、且つ第２バスを用いて監視情報を取得することで、バス異常時にもバス監視情報を取得できるよう保証し、関連技術における、バス異常時にバス監視情報を取得できないという技術課題を解決して、バスノードの監視効率を向上させている。
【図面の簡単な説明】
【００２６】
ここで説明する図面は、本公開についてさらに理解するために用いられ、本願の一部を構成し、本公開の例示的な実施例およびその説明は本公開を解釈するために用いられ、本公開に対する不当な限定を構成するものではない。
【図１】本公開の関連技術におけるバス監視装置図である。
【図２】本公開の実施例によるバス監視方法のフロー図である。
【図３】本公開の実施例によるバス監視装置の構造ブロック図である。
【図４】本公開の実施例によるバス監視システムの構造ブロック図である。
【図５】本公開の実施例のバス監視装置のブロック図である。
【図６】本公開の実施例の情報記憶モジュールの構造図である。
【図７】本公開の実施例のバストポロジの構造図である。
【図８】本公開の実施例における、イベント方式を用いてバス異常を特定するフロー図である。
【図９】本公開の実施例における、照会方式を用いてバス異常を特定するフロー図である。
【図１０】本公開の実施例における、ＲＡＭ記憶情報を用いてバス異常を特定するフロー図である。
【図１１】本公開の実施例における、連続記憶方式を用いてバス異常を特定するフロー図である。
【本発明を実施するための形態】
【００２７】
以下、図面を参考にしながら実施例を組み合わせて本公開を詳しく説明する。なお、本願の実施例および実施例における特徴は、矛盾することがなければ互いに任意に組み合わせることができる。
本公開の明細書、特許請求の範囲および上記図面における「第一」、「第二」などの用語は、類似する対象を区別するために用いたもので、特定の順序または前後の順序を表すために用いたのではない。
【００２８】
実施形態１
本実施例ではバス監視方法を提供し、図２は本公開の実施例によるバス監視方法のフロー図であり、図２に示すように、当該フローは以下のステップを含む。
ステップＳ２０２、バス監視モジュールの所在する第１バスを監視し、監視情報を生成する。
ステップＳ２０４、第２バスを介してバス監視モジュールから監視情報を取得する。
上記ステップにより、第１バスを基に第２バスをさらに追加し、且つ第２バスを用いて監視情報を取得し、バス異常時にもバス監視情報を取得できるよう保証し、関連技術における、バス異常時にバス監視情報を取得できないという技術課題を解決して、バスノードの監視効率を向上させている。
任意で、上記ステップの実行主体は、バスノードであってよく、具体的にはプロセッサ、チップ、バス管理装置等であってよいが、これらに限定されない。
任意で、ステップＳ２０４の後に、本実施例の方案は、監視情報を保存するステップＳ２０６を含んでよい。
任意で、第２バスを介してバス監視モジュールから監視情報を取得することは、イベントトリガーに応じて、第２バスを介してバス監視モジュールから監視情報を取得することと、状態照会に応じて、第２バスを介してバス監視モジュールから監視情報を取得することと、連続記憶に応じて、第２バスを介してバス監視モジュールから監視情報を取得することとのうちの１つを含む。
任意で、監視情報を保存することは、ローカルＲＯＭ空間に監視情報を保存すること、ローカルＲＡＭ空間に監視情報を保存すること、リモートＲＯＭ空間に監視情報を保存すること、リモートＲＡＭ空間に監視情報を保存することであってよいがこれらに限定されない。具体的に、ＲＯＭはＦｌａｓｈ（フラッシュメモリ）であってよく、ＲＡＭはＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ＳＤＲＡＭ）であってよい。
任意で、監視情報を保存した後に、方法はさらに以下のステップを含む。
ステップＳ１１、バスノードの所在するチップに対してリセット操作を実行する。
ステップＳ１２、前記リセット操作が完了した後に、監視情報に基づいて故障分析を行う。
本実施例において、バスノードの所在するチップに対してリセット操作を実行することは、監視情報の保存完了指示を検出した際に、バスノードの所在するチップに対してリセット操作を行うことを含む。
任意で、監視情報に基づく故障分析は以下のステップを含む。
ステップＳ２１、監視情報によってチップのアクセスモデルを推定する。アクセスモデルはチップ内の各バスノードの接続アクセス関係に基づいて構築される。
ステップＳ２２、アクセスモデルに基づいて故障タイプを特定する。
任意で、監視情報に基づく故障分析は、以下のステップを含む。
ステップＳ３１、すべての主装置（ｍａｓｔｅｒ）を巡回して、目下の主装置に直結しているバスノード番号を読み取る。
ステップＳ３２、バスノード番号に基づいて、対応するバスノードの履歴アクセス情報を読み取る。
ステップＳ３３、前記履歴アクセス情報を分析して、前記目下の主装置がアクセスを行ったかどうかを検出する。
ステップＳ３４、アクセスが行われたときに、アクセスしたアドレスが正当な範囲内にあるかどうかを判断する。
ステップＳ３５、アクセスしたアドレスが正当な範囲内にないときに、主装置番号、アクセスアドレス、アクセス属性のうち少なくとも１つのノード情報を記録する。
ステップＳ３６、ノード情報によって不正アクセスの主装置を特定する。
任意で、監視情報に基づいて故障分析を行った後に、方法はさらに以下のステップを含む。
ステップＳ４１、故障バスノードを確定する。
ステップＳ４２、目下のバスノードがアクセスを行うときに、前記故障バスノードのアクセスアドレスが正当であるかどうかを検出する。
ステップＳ４３、故障バスノードのアクセスアドレスが不正であるときに、故障バスノードへのアクセスを禁止する。
任意で、第２バスを介してバス監視モジュールから監視情報を取得することは、目下のアクセス情報がバスノードの異常を示したときに、第２バスを介してバス監視モジュールから監視情報を取得することと、目下のアクセス情報がバスノードの正常を示したときに、第２バスを介してバス監視モジュールから監視情報を取得することとを含む。
任意で、バス監視モジュールの所在する第１バスを監視し、監視情報を生成することは、第１バスを介してバスノードのアクセス情報を監視し、前記アクセス情報をバス監視モジュールに保存して前記バスノードの監視情報を得ることを含む。
以上の実施の形態の説明により、当業者は、上記実施例に係る方法が、ソフトウェアに、必要な汎用ハードウェアプラットフォームを加えるという方式で実現することができ、当然ながらハードウェアを介してもよいが、多くの場合、前者のほうがより好ましい実施の形態であると明らかに理解することができる。このような理解に基づけば、本公開の技術案は、本質的な、または従来技術に寄与する部分を、ソフトウェア製品という形態で体現することができ、当該コンピュータソフトウェア製品は、記憶媒体（例えば、ＲＯＭ／ＲＡＭ、磁気ディスク、光ディスク）に記憶され、端末装置（携帯電話、コンピュータ、サーバ、またはネットワークデバイスなどであってよい）に本公開の各実施例に記載の方法を実行させるための若干の指令を含むものである。
【００２９】
実施形態２
本実施例では、上記実施例および好ましい実施の形態を実現するためのバス監視装置、システムをさらに提供するが、既に説明した点については改めて説明しない。以下で使用する「モジュール」という用語は、所定の機能を実現できるソフトウェアおよび／またはハードウェアの組み合わせのことをいう。以下の実施例で説明する装置は、ソフトウェアで実現することが好ましいが、ハードウェア、またはソフトウェアとハードウェアの組み合わせとすることも考慮可能である。
図３は本公開の実施例における、チップ等、特にマルチプロセッサチップに応用することのできるバス監視装置の構造ブロック図であり、図３に示すように当該装置は、バス監視モジュールの所在する第１バスを監視し、監視情報を生成するための監視モジュール３０と、第２バスを介して、バス監視モジュールから監視情報を取得するための取得モジュール３２と、を備える。
任意で、前記装置は、監視情報を保存するための記憶モジュールをさらに含む。
任意で、取得モジュールは、イベントトリガーに応じて、第２バスを介してバス監視モジュールから監視情報を取得するための第１取得ユニットと、状態照会に応じて、第２バスを介してバス監視モジュールから監視情報を取得するための第２取得ユニットと、連続記憶に応じて、第２バスを介してバス監視モジュールから監視情報を取得するための第３取得ユニットとのうちの１つを含む。
任意で、装置は、記憶モジュールに監視情報を保存した後に、バスノードの所在するチップに対してリセット操作を実行するためのリセットモジュールと、監視情報に基づいて故障分析を行うための分析モジュールと、をさらに備える。
任意で、装置は、監視情報に基づいて故障分析を行った後に、故障バスノードを確定するための確定モジュールと、目下のバスノードによるアクセスを行うときに、故障バスノードのアクセスアドレスが正当かどうかを検出するための検出モジュールと、故障バスノードのアクセスアドレスが不正な場合、故障バスノードへのアクセスを禁止するための処理モジュールと、をさらに備える。
図４は本公開の実施例によるバス監視システムの構造ブロック図であり、図４に示すように、バスノード４０と、バス監視モジュールの所在する第１バスを監視し、監視情報を生成するためのバス監視モジュール４２と、第２バスを介してバス監視モジュールから監視情報を取得するための情報記憶モジュール４４と、バスノードの主装置と補助装置とを接続するための第１ノード４８と、情報記憶モジュールとバス監視モジュールとを接続し、情報記憶モジュールと記憶モジュールとを接続するための第２ノード５０とを備え、第２バスは第１バスから独立している。
任意で、システムは、監視情報を保存するための記憶モジュール４６をさらに含み、任意で、第２バスは、情報記憶モジュールと記憶モジュールとを接続するためにさらに用いられる。
任意で、第２バスは、バスノードの所在するチップのデータをバックアップすることと、経路のトラフィックを拡張することと、拡張して指定の用途として用いることとの少なくとも１つにさらに用いられる。
任意で、システムは、監視情報の保存完了指示を検出したときに、バスノードの所在するチップに対してリセット操作を行うためのチップリセットモジュールと、監視情報を基に故障分析するための故障分析モジュールと、をさらに備える。
なお、上記の各モジュールは、ソフトウェアまたはハードウェアによって実現してよく、後者については、上記モジュールが同一のプロセッサに配置される、または、上記の各モジュールが任意の組み合わせという形態で異なるプロセッサにそれぞれ配置されるという方式で実現してよいが、これらに限定されない。
【００３０】
実施形態３
本実施例は本公開による任意の実施例であり、具体的な実例および場面を組み合わせて本出願を補足し、詳細に説明する。
本実施例が提供するのは、マルチプロセッサチップにおいて、バス監視モジュールを基に、第２バスと情報記憶モジュールを加えてバスノード情報の記憶を完了し、バス異常が発生したときに、バス監視情報を取得して異常分析を行うことができるよう保証するというものである。本実施例の方案は、バス異常のときにバスノードの監視情報を取得でき、迅速かつ正確に故障を特定することを保証している。
本公開のマルチプロセッサチップバス監視装置は、バス監視モジュール、情報記憶モジュール、メモリ、チップリセットモジュールおよび故障分析モジュールを含み、図５は本公開の実施例のバス監視装置のブロック図である。
本公開の装置の情報記憶モジュールは、第２バス（図４に示す）を介して、バス監視モジュール（第１バスを監視する）から監視情報を読み取ってメモリに記憶し、記憶が完了したら、チップリセットモジュールにチップをリセットするように通知し、故障分析モジュールはメモリから監視情報を取得して異常分析を行う。
前記第１バス（図４のバス０〜バスＮはすべて第１バスに属する）は、マスターデバイス（主装置）とスレーブデバイス（補助装置）を接続する通路である。プロセッサ、周辺装置などのマスターデバイスは、第１バスを介してＤＤＲ、バス監視ユニットなどのスレーブデバイスにアクセスする。
前記第２バスは、情報記憶モジュールがバス監視モジュールおよびメモリにアクセスし、第２バスを介してバス監視モジュールの監視情報をメモリに記憶するためのものである。第２バスは第１バスから独立しており、即ち、第１バスに異常が発生したときでも、第２バスがバス監視モジュールにアクセスできる。
前記第２バスは、チップのバックアップ、トラフィックの拡張にも利用できる。
前記バスノードは、複数のバス（バス０〜バスＮ）の出入り口であり、バス監視モジュールは、１つまたは複数のバスノードを監視することができる。
前記バス監視モジュールは、バスノードのバス（バス０〜バスＮ）アクセス情報をキャプチャするものであり、前記バス監視モジュールは、配置部と、監視部と、イベント発生部とを含む。配置部は配置情報を受信し、監視部は配置に従ってバス監視を行い、キャプチャされた監視情報をバス監視モジュールのレジスタ空間に書き込み、イベント発生部は、異常時にイベントを発生し、異常状態を設定する。
前記情報記憶モジュールは、バス監視情報の記憶及びメモリ空間管理を担当し、前記情報記憶モジュールは、配置部、読み書き操作部およびイベント処理部を含む。図６は本公開の実施例の情報記憶モジュールの構造図であり、図６は情報記憶モジュールの構造図である。
前記情報記憶モジュールは、バス監視モジュールの所在する第１バスから独立した第２バスを使用しており、第１バスが異常な状況下において、情報記憶モジュールが依然として動作可能であるよう保証する。
前記配置部は、照会、イベントトリガーおよび連続記憶を含む操作方式を主に構成する。前記照会方式は、バス監視モジュール状態の照会を指し、前記イベントトリガーは、バス監視モジュール異常イベントの応答を意味し、前記連続トリガモードは、情報記憶モジュールがバス監視モジュールのキャプチャしたアクセス情報を連続して記憶するということを指す。
前記読み書き操作部は、バス監視モジュールの監視情報をメモリに書き込み、配置によって操作方式が制御される。前記読み書き操作部は、バスノード管理メモリの記憶空間に応じて、各バスノード情報の正確性を保証する。
前記イベント処理部は、バス監視モジュールから送られてきた異常イベントの受信と、記憶操作完了後に読み書き完了イベントを生成することと完了フラグの設置を主に完了させる。
前記情報記憶モジュールは、１つまたは複数のバス監視モジュールの情報記憶を完了することができる。
前記メモリは、バスを監視するチップ内のＲＯＭ／ＲＡＭ空間であってよく、監視情報を格納するためのチップ外ＲＡＭ／ＲＯＭ空間であってもよい。
前記チップリセットモジュールはチップリセット操作を実行する。主に、情報記憶モジュールの実行状態照会または情報記憶モジュールからの完了イベントの受信を担当し、状態またはイベントに応じてチップリセット操作を実行する。
前記故障分析モジュールは問題の特定と分析を担当する。メモリにおけるバス監視ノードのアクセス情報から、バス異常時のチップアクセスモデルを推定し、異常アクセスを見つける。
本実施例のマルチプロセッサチップバス監視方法は、以下のステップを含む。
第１ステップ、バス監視モジュールが第１バスアクセス情報をキャプチャする。
第２ステップ、情報記憶モジュールが異なる操作方式に応じて第２バスを介してバス監視モジュールから監視情報を取得し、監視情報をメモリに記憶する。前記操作方式は、イベントトリガー、状態照会、連続記憶を含む。前記メモリはフラッシュなどのチップ内／外のＲＯＭであってもよく、ＤＤＲのようなチップ内／外のＲＡＭであってもよく、ＲＡＭであれば、リセット中に情報が失われないことを保証する必要がある。前記情報記憶モジュールは記憶完了後に完了イベントの生成と完了フラグの設置を行い、記憶が完了したことを示す。前記チップリセットモジュールは、記憶完了指示を検出した後に、チップをリセットする。
第３ステップ、故障分析モジュールが、バス監視情報と、異常原因を分析して得た分析結果をメモリからエクスポートし、分析結果に基づいて的確な保護と修復を行う。
図７は本公開の実施例のバストポロジ構成図である。
各マスター（主装置）はバスノードに接続され、バスノード間は互いに接続され、最終的にスレーブデバイスに接続され、バスノード４のように、接続されたマスターはマスター７であり、接続された前段のノードはバスノード０とバスノード１であり、接続された後段のノードはバスノード５とバスノード６である。
チップバスサブシステムはマスターと監視ノードを統一して番号を付け、システム稼動時にバスノードを監視し、バスノード情報を記憶し、バス異常後に監視バスノード情報をエクスポートし、ノード情報を分析し、アクセス番号に接続したあとアクセスモデルを確立する。
本実施形態は以下の実例をさらに含む。
【００３１】
実施例１
本実施例は、イベント方式を用いて情報を取得してバス異常を特定する実施例を提供する。
図８は本公開の実施例における、イベント方式を用いてバス異常を特定するフロー図であり、フロー部分の処理ステップは以下の通りである。
ステップ１：バス監視モジュールを初期化し、各バスノードの監視情報を設定する。
マスターとバスノードの番号を設定し、マスターとノードに対してそれぞれ統一して番号を付ける。監視のアドレス範囲をチップ全体のアドレス空間に設定する。アクセスのプロパティを読み書きに設定する。監視モードを連続監視モードに設定する。イネーブルバスを監視する。
ステップ２：情報記憶モジュールの初期化。操作方式をイベントトリガーに設定する。ノード範囲はすべてのバスノードである。情報をチップ内ＲＯＭ空間に記憶する。
ステップ３：アクセス情報のキャプチャ。ステップ１、２の完了後、バス監視モジュールは、情報をキャプチャし始め、各バスノードは、情報をキャプチャレジスタに保存する。
ステップ４：監視情報の記憶。バス異常時に、バス監視モジュールはイベントを生成して情報記憶モジュールに送り、情報記憶モジュールがイベントを受信すると、各バスノードのキャプチャレジスタから監視情報を読み取り、各バスノードの監視情報を指定された空間に記憶し、情報記憶モジュールは記憶完了後に完了フラグの設定と完了イベントの生成を行う。
ステップ５：チップリセット。チップリセットモジュールは、完了フラグのセットが照会されるかまたは完了イベントの受信後、チップリセットを実行し、チップリセット後、プロセッサはＲＯＭから監視情報を読み取り、これらの情報をファイルに保存する。
ステップ６：故障分析モジュールは監視情報をエクスポートして分析し、バス異常の原因を特定し、全てのマスターを巡回して、目下のマスターに直結しているバスノード番号を読み取り、バスノード番号に基づいて、対応するバスノードのアクセス情報を読み取り、アクセス情報を分析し、マスター番号に基づいて、目下のマスターがバスノードにアクセスしたかどうかを検出し、アクセスした場合、アクセスしたアドレスが正当な範囲内にあるかどうかを判断し、アドレスが不正アクセスの場合、マスター番号、アクセスアドレス、アクセス属性のうち少なくとも１つを記録し、記録した情報に基づいて不正アドレスにアクセスするマスターを探し出す。
ステップ７：不正アクセスアドレスのマスターに対してアドレス保護を行う。マスターのアクセス前に、アクセスアドレスが正当かどうかを検出し、アドレスが不正であるものに対しアクセスを禁じる。
【００３２】
実施例２
本実施例では、照会方式を用いて情報を取得してバス異常を特定する実施例を提供する。
図９は本公開の実施例における、照会方式を用いてバス異常を特定するフロー図であり、フロー部分の処理ステップは以下の通りである。
ステップ１：実施例１と同じである。
ステップ２：情報記憶モジュールの初期化。
１）  操作方式を照会方式に設定する。
２）  ノード範囲はすべてのバスノードである。
３）  情報をチップ外ＲＯＭ空間に記憶する。
ステップ３：実施例１と同じである。
ステップ４：監視情報の記憶。情報記憶モジュールは、バス監視モジュールのステータスレジスタを定期的に照会し、バス異常の状態フラグが照会されればバス異常であり、情報記憶モジュールは、各バスノードのキャプチャレジスタから監視情報を読み取り、各バスノードの監視情報を指定された空間に記憶し、情報記憶モジュールは記憶完了後に完了フラグの設定と完了イベントの生成を行う。
ステップ５、６、７：実施例１と同じである。
【００３３】
実施例３
マルチプロセッサチップＲＯＭのアクセス効率は低いため、本実施例では、ＲＡＭ記憶情報を用いてバス異常を特定する実施例を提供する。ＲＯＭを使用する実施例と比較して、一般的にはＲＡＭを使用する方が速度がより速い。
図１０は本公開の実施例における、ＲＡＭ記憶情報を用いてバス異常を特定するフロー図であり、フロー部分の処理ステップは以下の通りである。
ステップ１：実施例１と同じである。
ステップ２：情報記憶モジュールの初期化。操作方式をイベントトリガーに設定する。ノード範囲はすべてのバスノードである。情報をチップ外ＲＡＭ空間に記憶する。
ステップ３：実施例１と同じである。
ステップ４：監視情報の記憶。バス異常時に、バス監視モジュールはイベントを生成して情報記憶モジュールに送信し、情報記憶モジュールはイベントを受信した後、各バスノードのキャプチャレジスタから監視情報を読み取り、パワーダウンせずにリセットする場合、ＲＡＭ空間のコンテンツは失われないという特性を利用して、各バスノードの監視情報をＲＡＭに記憶し、情報記憶モジュールは記憶完了後に完了フラグの設定と完了イベントの生成を行う。
ステップ５：チップリセット。チップリセットモジュールは、完了フラグのセットが照会されるかまたは完了イベントの受信後、チップリセットを実行し、ＲＡＭがチップ内の空間である場合、チップリセットの種類はパワーダウンせずのリセットであることを保証する必要がある。ＲＡＭがチップ外の空間であれば、当該メモリの所在するチップはパワーダウンせずのリセットが保証される。
ステップ６、７：実施例１と同じである。
【００３４】
実施例４
本実施例は、起動してからバス異常イベントを受信するまでバス監視情報を記憶し続ける情報記憶モジュールを提供する。
このような実施例は、前記のものとはいくつか異なるところがあり、本実施例は、より多くのバス監視情報を得ることができるが、実施例１、２、３はバス異常時の最後の情報しか得られない。図１１は本公開の実施例における、連続記憶方式を用いてバス異常を特定するフロー図であり、本実施例はより複雑な場面でのバス異常を特定することができる。
フロー部分の処理ステップは以下の通りである。
ステップ１：バス監視モジュールを初期化し、各バスノードの監視情報を設定する。
マスターとバスノードの番号を設定し、マスターとノードに対しそれぞれ統一して番号を付ける。監視のアドレス範囲をチップ全体のアドレス空間に設定する。アクセスプロパティを読み書きに設定する。監視モードを連続監視モードに設定する。イネーブルバスを監視する。
ステップ２：情報記憶モジュールの初期化。操作方式を連続記憶に設定し、連続記憶する個数は設定可能である。ノード範囲はすべてのバスノードである。チップ内のＲＡＭ空間に記憶し、空間の初期アドレスとサイズを設定する。
ステップ３：実施例１と同じである。
ステップ４：監視情報の記憶。情報記憶モジュールは、バス監視に情報が書き込まれたことを確認すると、当該監視情報を対応のＲＡＭ空間に書き込み、ＲＡＭ空間の初期アドレスとサイズに応じて継続的に上書き保存し、バス異常がトリガされたとき、バス監視モジュールがイベント番号を生成し、情報記憶モジュールに通知し、情報記憶モジュールは最後の情報を保存した後、記憶を停止し、情報記憶モジュールは記憶完了後に完了フラグの設定と完了イベントの生成を行う。
ステップ５：チップリセット。チップリセットモジュールは状態判断またはイベント受信後、パワーダウンせずにチップリセットを行う。
ステップ６：故障分析モジュールが監視情報をエクスポートして分析し、バス異常の原因を特定する。最後の情報に至るまで監視情報を順次に読み取る。全てのマスターを巡回して、目下のマスターに直結するバスノード番号を読み取り、バスノード番号に基づいて、対応するバスノードの履歴アクセス情報を読み取り、履歴アクセス情報を分析し、マスター番号に基づいて、目下のマスターがアクセスを開始したかどうかを検出し、アクセス開始した場合、アクセスしたアドレスが正当な範囲内にあるかどうかを判断し、アドレスが不正アクセスの場合、マスター番号、アクセスアドレス、アクセス属性の少なくとも１つを記憶し、記録した情報に基づいて不正アドレスにアクセスするマスターを探し出す。
ステップ７：不正アクセスアドレスのマスターに対してアドレス保護を行う。マスターのアクセス開始前に、アクセスアドレスが正当かどうかを検出し、アドレスが不正であるものに対しアクセスを禁じる。
本実施例の方案では、バス監視モジュールを基に情報記憶モジュール、第２バスおよびメモリを追加し、バス異常時にバス監視情報を取得できるように保証する。
取得したバス監視情報に基づき、故障分析モジュールはバス異常の原因を迅速に特定し、分析結果に基づいて保護または誤りを訂正し、バス異常が再度トリガされないようにして、システムの安定性を向上させる。
【００３５】
実施形態４
本公開の実施例は記憶媒体をさらに提供する。任意で、本実施例において、上記記憶媒体は、以下のステップを実行するためのプログラムコードを記憶するように配置されてよい。
Ｓ１、バス監視モジュールの所在する第１バスを監視し、監視情報を生成する。
Ｓ２、第２バスを介してバス監視モジュールから監視情報を取得する。
任意で、本実施例において、上記記憶媒体は、ＵＳＢディスク、リードオンリーメモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ポータブルハードディスク、磁気ディスクまたは光ディスクなど、プログラムコードを記憶することができる様々な媒体を含んでよいが、これらに限定されない。
任意で、本実施例において、プロセッサは、記憶媒体に記憶されているプログラムコードに基づいて、バス監視モジュールの所在する第１バスを監視し、監視情報を生成する。
任意で、本実施例において、プロセッサは、記憶媒体に記憶されているプログラムコードに基づいて、第２バスを介してバス監視モジュールから監視情報を取得する。
任意で、本実施例の具体例は、上記実施例および任意の実施の形態で説明した例を参照することができ、本実施例では改めて説明しない。
明らかに、上記の本公開の各モジュールまたは各ステップは汎用の計算装置によって実現でき、単一の計算装置に集約したり、複数の計算装置からなるネットワークに分散したりしてよく、任意で、計算装置が実行可能なプログラムコードで実現してもよく、それを記憶装置に記憶して計算装置によって実行してもよい。また、場合によっては、こことは異なる順序で図示または説明されたステップを実行したり、各集積回路モジュールとしてそれぞれ製作したり、それらのうちの複数のモジュールまたはステップを単一の集積回路モジュールとして製作して実現したりすることができる。このように、本公開は、特定のハードウェアおよびソフトウェアの組み合わせに一切限定されない。
上記は本公開の好適な実施例に過ぎず、本公開を限定するものではなく、当業者にとって、本公開は様々な変更および変化が可能である。本公開の精神と原則の範囲内において行ったいかなる修正、均等な置換、改善等も本公開の請求範囲に含まれる。
【産業上の実用性】
【００３６】
本公開はプロセッサ領域に適用され、バス異常時にもバス監視情報を取得できるよう保証し、関連技術における、バス異常時にバス監視情報を取得できないという技術課題を解決して、バスノードの監視効率を向上させている。
【図１】
2020525944.tif 000003
【図２】
2020525944.tif 000004
【図３】
2020525944.tif 000005
【図４】
2020525944.tif 000006
【図５】
2020525944.tif 000007
【図６】
2020525944.tif 000008
【図７】
2020525944.tif 000009
【図８】
2020525944.tif 000010
【図９】
2020525944.tif 000011
【図１０】
2020525944.tif 000012
【図１１】
2020525944.tif 000013
【国際調査報告】
2020525944.tif 000014
2020525944.tif 000015
2020525944.tif 000016
2020525944.tif 000017