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

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

▶ 地平▲線▼征程(杭州)人工智能科技有限公司の特許一覧

<>
  • 特許-チップモニタリング方法及び装置 図1
  • 特許-チップモニタリング方法及び装置 図2
  • 特許-チップモニタリング方法及び装置 図3
  • 特許-チップモニタリング方法及び装置 図4
  • 特許-チップモニタリング方法及び装置 図5
  • 特許-チップモニタリング方法及び装置 図6
  • 特許-チップモニタリング方法及び装置 図7(a)
  • 特許-チップモニタリング方法及び装置 図7(b)
  • 特許-チップモニタリング方法及び装置 図8
  • 特許-チップモニタリング方法及び装置 図9
  • 特許-チップモニタリング方法及び装置 図10
  • 特許-チップモニタリング方法及び装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】チップモニタリング方法及び装置
(51)【国際特許分類】
   G06F 11/07 20060101AFI20240814BHJP
   G06F 21/74 20130101ALI20240814BHJP
【FI】
G06F11/07 157
G06F21/74
【請求項の数】 11
(21)【出願番号】P 2023142755
(22)【出願日】2023-09-04
(65)【公開番号】P2024066984
(43)【公開日】2024-05-16
【審査請求日】2023-09-04
(31)【優先権主張番号】202211364803.6
(32)【優先日】2022-11-02
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】522373769
【氏名又は名称】地平▲線▼征程(杭州)科技有限公司
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】リンファン ジン
【審査官】北川 純次
(56)【参考文献】
【文献】国際公開第2021/110529(WO,A1)
【文献】国際公開第2012/147176(WO,A1)
【文献】特開2019-185130(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 21/74
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
第1の処理ユニット及び第2の処理ユニットを含むチップに適用されるチップモニタリング方法であって、
前記第1の処理ユニットが前記第1の処理ユニットのセキュア領域にアクセスしたときに、前記第1の処理ユニットと前記第2の処理ユニットとの共有メモリにアクセス情報を記憶するステップであって、前記アクセス情報は、アクセス状態識別子及び今回のアクセスのサービス種類識別子を含み、前記アクセス状態識別子は、前記第1の処理ユニットが前記セキュア領域へのアクセスを起動することを示す第1の識別子又は前記第1の処理ユニットが前記セキュア領域へのアクセスを完了したことを示す第2の識別子であるステップと、
前記第1の処理ユニットが前記セキュア領域にアクセスしたと確定されたときに前記第2の処理ユニットが計時を起動するステップと、
前記第2の処理ユニットが前記共有メモリから前記アクセス情報を読み取るステップと、
前記第2の処理ユニットが、前記計時時間と前記今回のアクセスに所要される実行時間とが満たされる予め設定された大小関係を確定し、前記アクセス情報における前記アクセス状態識別子が第1の識別子であると確定された場合、前記アクセス情報における前記サービス種類識別子に基づいて、前記第1の処理ユニットに故障が発生したサービス種類を確定するステップと、を含む、
ことを特徴とするチップモニタリング方法。
【請求項2】
前記今回のアクセスに所要される実行時間は、前記第2の処理ユニットが予め設定されたプロトコル及び前記アクセス情報に含まれた前記サービス種類識別子に基づいて決定されるた実行時間であり、ここで、前記予め設定されたプロトコルは、少なくとも1つのサービス種類識別子と実行時間との間の対応関係を含み、又は、
前記今回のアクセスに所要される実行時間は、前記アクセス情報に含まれた前記今回のアクセスに所要される実行時間である、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記アクセス情報は、前記今回のアクセスで呼び出される前記第1の処理ユニットのコア識別子をさらに含み、又は、
前記アクセス情報は、前記今回のアクセスで呼び出される前記第1の処理ユニットのコア識別子及びスレッド識別子をさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記第2の処理ユニットが前記サービス種類識別子に基づいて前記第1の処理ユニットに故障が発生したサービス種類を確定した後に、
前記アクセス情報が前記第1の処理ユニットのコア識別子さらに含む場合、前記第2の処理ユニットが前記コア識別子に基づいて故障が発生した前記第1の処理ユニットを確定するステップ、又は、
前記アクセス情報が前記今回のアクセスで呼び出される前記第1の処理ユニットのコア識別子及びスレッド識別子をさらに含む場合、前記第2の処理ユニットが前記コア識別子及び前記スレッド識別子に基づいて故障が発生した前記第1の処理ユニット及び故障が発生したスレッドを確定するステップ、をさらに含む、
ことを特徴とする請求項3に記載の方法。
【請求項5】
前記第2の処理ユニットが前記共有メモリから前記アクセス情報を読み取るステップは、
前記第2の処理ユニットが予め設定された第1の周期に基づいて前記共有メモリから前記アクセス情報を周期的に読み取るステップ、又は、
前記第2の処理ユニットが前記今回のアクセスに所要される実行時間及び前記アクセス情報の前記共有メモリへの記憶時刻に基づいて前記第2の処理ユニットが前記アクセス情報を読み取る目標時刻を確定し、前記第2の処理ユニットが前記目標時刻で前記共有メモリから前記アクセス情報を読み取るステップ、を含む、
ことを特徴とする請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記第1の処理ユニットと前記第2の処理ユニットとの共有メモリに前記アクセス情報を記憶するステップは、
前記第1の処理ユニットが前記今回のアクセスを起動したときに、前記共有メモリに前記今回のアクセスのサービス種類識別子及び前記第1の識別子を記憶するステップと、
前記第1の処理ユニットが前記今回のアクセスを完了した後に、前記第1の処理ユニットが前記共有メモリにおける前記第1の識別子を前記第2の識別子に更新するステップと、を含む、
ことを特徴とする請求項1~4のいずれか1項に記載の方法。
【請求項7】
前記第1の処理ユニットが前記セキュア領域にアクセスしたと確定されたときに前記第2の処理ユニットが計時を起動するステップは、
前記第2の処理ユニットが、前記第1の処理ユニットが前記セキュア領域にアクセスしたときに生成されたトリガ命令を取得するステップと、
前記第2の処理ユニットが、前記トリガ命令に応答して、前記計時を起動するステップと、を含む、
ことを特徴とする請求項1~4のいずれか1項に記載の方法。
【請求項8】
前記第1の処理ユニットが前記セキュア領域にアクセスするサービスの種類は、
キーの生成、キーの削除、キーのインポート、キーのエクスポート、対称的な暗号化・復号化、ハッシュ化、非対称的な暗号化・復号化、非対称的な署名及び署名検証のいずれか1つを含む、
ことを特徴とする請求項1~4のいずれか1項に記載の方法。
【請求項9】
第1の処理ユニット及び第2の処理ユニットを含むチップに適用されるチップモニタリング装置であって、
前記第1の処理ユニットが前記第1の処理ユニットのセキュア領域にアクセスしたときに、前記第1の処理ユニットと前記第2の処理ユニットとの共有メモリにアクセス情報を記憶するための記憶モジュールであって、前記アクセス情報は、アクセス状態識別子及び今回のアクセスのサービス種類識別子を含み、前記アクセス状態識別子は、前記第1の処理ユニットが前記セキュア領域へのアクセスを起動したことを示す第1の識別子又は前記第1の処理ユニットが前記セキュア領域へのアクセスを完了したことを示す第2の識別子である記憶モジュールと、
前記第1の処理ユニットが前記セキュア領域にアクセスしたと確定されたときに計時を起動するための計時モジュールと、
前記共有メモリから前記記憶モジュールに記憶された前記アクセス情報を読み取るための読み取りモジュールと、
前記計時モジュールにより決定された前記計時時間と前記今回のアクセスに所要される実行時間が満たされる予め設定された大小関係を確定し、前記読み取りモジュールにより読み取られた前記アクセス状態識別子が第1の識別子であると確定された場合、前記読み取りモジュールにより読み取られた前記サービス種類識別子に基づいて、前記第1の処理ユニットの故障起因となるサービス種類を確定するための決定モジュールと、を含む、
ことを特徴とするチップモニタリング装置。
【請求項10】
請求項1に記載のチップモニタリング方法を実行するためのコンピュータプログラムを記憶する、
ことを特徴とするコンピュータ可読記憶媒体。
【請求項11】
プロセッサと、
前記プロセッサが実行可能な命令を記憶するための記憶手段と、を含み、
前記プロセッサは、前記記憶手段から前記実行可能な命令を読み取ってこの実行可能な命令を実行することにより、請求項1に記載のチップモニタリング方法を実現する、
ことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、チップ技術の分野に関し、特に、チップモニタリング方法及び装置に関するものである。
【背景技術】
【0002】
科学技術の進歩に伴い、チップのアーキテクチャは、ますます複雑になる。現在のアーキテクチャでは、チップは、高性能なプライマリ・コア(プライマリ処理ユニットとも呼ばれる)を含むだけでなく、補助処理効果を有するセカンダリ・コア(セカンダリ処理ユニットとも呼ばれる)も含む。さらに、チップのセキュリティを高めるために、このアーキテクチャにおけるプライマリ・コアは、Trustzone技術をサポートすることができ、このTrustzone技術をサポートするプライマリ・コアは、通常、非セキュア領域とセキュア領域との切り替えが可能な専用ファームウェアを採用する。
【0003】
しかしながら、プライマリ・コアが非セキュア領域からセキュア領域に切り替えて対応するサービスを行うときに、故障が発生することがある。そのため、チップをモニタリングできる方法を如何に提供するかが緊要な課題となっている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、上記技術的課題を解決するためになされたものである。本開示の実施例は、チップモニタリング方法及び装置を提供する。
【課題を解決するための手段】
【0005】
本開示の一態様に係る第1の処理ユニット及び第2の処理ユニットを含むチップに適用されるチップモニタリング方法は、
前記第1の処理ユニットが前記第1の処理ユニットのセキュア領域にアクセスしたときに、前記第1の処理ユニットと前記第2の処理ユニットとの共有メモリにアクセス情報を記憶するステップであって、前記アクセス情報は、アクセス状態識別子及び今回のアクセスのサービス種類識別子を含み、前記アクセス状態識別子は、前記第1の処理ユニットが前記セキュア領域へのアクセスを起動することを示す第1の識別子又は前記第1の処理ユニットが前記セキュア領域へのアクセスを完了したことを示す第2の識別子であるステップと、
前記第1の処理ユニットが前記セキュア領域にアクセスしたと確定されたときに前記第2の処理ユニットが計時を起動するステップと、
前記第2の処理ユニットが前記共有メモリから前記アクセス情報を読み取るステップと、
前記第2の処理ユニットが、前記計時時間と前記今回のアクセスに所要される実行時間とが満たされる予め設定された大小関係を確定し、前記アクセス情報における前記アクセス状態識別子が第1の識別子であると確定された場合、前記アクセス情報における前記サービス種類識別子に基づいて、前記第1の処理ユニットに故障が発生したサービス種類を確定するステップと、を含む。
【0006】
本開示の実施例の別の態様に係る第1の処理ユニット及び第2の処理ユニットを含むチップに適用されるチップモニタリング装置は、
前記第1の処理ユニットが前記第1の処理ユニットのセキュア領域にアクセスしたときに、前記第1の処理ユニットと前記第2の処理ユニットとの共有メモリにアクセス情報を記憶するための記憶モジュールであって、前記アクセス情報は、アクセス状態識別子及び今回のアクセスのサービス種類識別子を含み、前記アクセス状態識別子は、前記第1の処理ユニットが前記セキュア領域へのアクセスを起動したことを示す第1の識別子又は前記第1の処理ユニットが前記セキュア領域へのアクセスを完了したことを示す第2の識別子である記憶モジュールと、
前記第1の処理ユニットが前記セキュア領域にアクセスしたと確定されたときに計時を起動するための計時モジュールと、
前記共有メモリから前記記憶モジュールに記憶された前記アクセス情報を読み取るための読み取りモジュールと、
前記計時モジュールにより決定された前記計時時間と前記今回のアクセスに所要される実行時間とが満たされる予め設定された大小関係を確定し、前記読み取りモジュールにより読み取られた前記アクセス状態識別子が第1の識別子であると確定された場合、前記読み取りモジュールにより読み取られた前記サービス種類識別子に基づいて、前記第1の処理ユニットの故障起因となるサービス種類を確定するための決定モジュールと、を含む。
【0007】
本開示の実施例の別の態様に係るコンピュータ可読記憶媒体は、本開示の上記の実施例のいずれかに記載のチップモニタリング方法を実行するためのコンピュータプログラムを記憶する。
【0008】
本開示の実施例の別の態様に係る電子機器は、
プロセッサと、
前記プロセッサが実行可能な命令を記憶するための記憶手段と、を含み、
前記プロセッサは、前記メモリから前記実行可能な命令を読み取ってこの実行可能な命令を実行することにより、本開示の上記の実施例のいずれかに記載のチップモニタリング方法を実現する。
【0009】
本開示の実施例は、チップモニタリング方法及び装置を提供し、この方法は、第1の処理ユニット及び第2の処理ユニットを含むチップに適用され、このチップには、第1の処理ユニットと第2の処理ユニットとの共有メモリが設置されている。この方法では、第1の処理ユニットが第1の処理ユニットのセキュア領域にアクセスしたときに、共有メモリにアクセス情報を記憶し、このアクセス情報は、第1の処理ユニットがセキュア領域へのアクセスを完了したか否かを示すことが可能なアクセス状態識別子及び今回のアクセスのサービス種類識別子を含み、第1の処理ユニットがセキュア領域にアクセスしたと確定されたときに第2の処理ユニットが計時を起動し、共有メモリからアクセス情報を読み取り、第2の処理ユニットが、計時時間と今回のアクセスに所要される実行時間とが満たされる予め設定された大小関係を確定し、アクセス情報におけるアクセス状態識別子が第1の識別子であると確定されたときに、アクセス情報におけるサービス種類識別子に基づいて、第1の処理ユニットに故障が発生したサービス種類を確定する。
【発明の効果】
【0010】
本開示の実施例に係る解決手段によれば、第1の処理ユニットに故障が発生したときに、第1の処理ユニットの故障の種類を確定し、それにより故障の原因を確定することができなかった従来技術の問題を解決し、チップへのモニタリングを実現することができる。
【図面の簡単な説明】
【0011】
図1】本開示が適用されるチップの構成図である。
図2】本開示の例示的な一実施例に係るチップモニタリング方法のフローを示す図である。
図3】本開示の別の例示的な一実施例に係るチップモニタリング方法のフローを示す図である。
図4】本開示の別の例示的な一実施例に係るチップモニタリング方法のフローを示す図である。
図5】本開示の別の例示的な一実施例に係るチップモニタリング方法のフローを示す図である。
図6】本開示の例示的な一実施例に係るチップ・アーキテクチャの概略図である。
図7(a)】本開示の例示的な一実施例に係る第1の処理ユニット及び第2の処理ユニットのインタラクションの概略図である。
図7(b)】本開示の別の例示的な一実施例に係る第1の処理ユニット及び第2の処理ユニットのインタラクションの概略図である。
図8】本開示の別の例示的な一実施例に係るチップモニタリング方法のフローを示す図である。
図9】本開示の例示的な一実施例に係るチップモニタリング装置の構成図である。
図10】本発明の別の例示的な一実施例に係るチップモニタリング装置の構成図である。
図11】本発明の例示的な一実施例に係る電子機器の構成図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら本開示による例示的な実施例を詳細に説明する。明らかに、説明される実施例は、本開示の一部の実施例に過ぎず、本開示の全ての実施例ではなく、本開示は、本明細書に説明される例示的な実施例に限定されない。
【0013】
なお、これらの実施例に述べる部品及びステップの相対的な配置、数字の表現式及び数値は、特に具体的に説明しない限り、本開示の範囲を限定しない。
[出願の概要]
【0014】
科学技術の進歩に伴い、チップのアーキテクチャは、ますます複雑になる。現在のアーキテクチャでは、チップは、高性能なプライマリ・コアを含むだけでなく、補助処理効果を有するセカンダリ・コアも含む。さらに、チップのセキュリティを高めるために、このアーキテクチャのプライマリ・コアは、Trustzone技術をサポートすることができ、この場合、このプライマリ・コアは、通常、セキュア領域(Secure)及び非セキュア領域(Non-secure)を含む。また、このTrustzone技術をサポートするプライマリ・コアは、通常、セキュア領域と非セキュア領域との切り替えが可能な専用ファームウェアを採用する。セキュア領域へのアクセスが必要とされるときに、プライマリ・コアは、セキュア・モニタ・コール(Secure Monitor Call、SMC)を呼び出すことができ、このSMC命令は、複数の種類を含み、これに応じて、例えば、キーの生成、キーの削除、暗号化・復号化、署名、及び署名検証などの複数の種類のサービスを実現することができる。
【0015】
しかしながら、プライマリ・コアは、各種類のサービスを実行するときに、故障(例えば、ハングアップ)が発生する可能性がある。プライマリ・コアがハングアップした後にチップが次に実行する必要のある機能に影響を及ぼさないように、一般にそれをモニタリングする。
【0016】
現在のチップモニタリングの解決手段では、デバッガを用いてプライマリ・コアをデバッグし、デバッグ中において、プライマリ・コアは、各種類のサービスに対応する操作を再実行し、デバッガは、プライマリ・コアが各種類のサービスに対応する操作を実行する過程で発生した問題を確定し、発生した問題に基づいて、プライマリ・コアがハングアップした原因を確定する。しかしながら、この解決手段の実現においてデバッガを配置する必要があり、プライマリ・コアは、各種類のサービスに対応する操作を再実行する必要があるため、実現方式が複雑であり、時間がかかるにより、広く応用されておらず、現在、通常、第2の解決手段を採用してチップをモニタリングする。
【0017】
チップモニタリングの第2の解決手段では、ログシステムに記載のログを照会するか、または、セカンダリ・コアにウォッチドッグというモニタリング・ソフトウェアを設置することで、プライマリ・コアへのモニタリングを実現する。この解決手段では、ログの記載又はウォッチドッグのモニタリングにより、プライマリ・コアが故障したか否かを確定することができる。
【0018】
しかしながら、ログには、通常、プライマリ・コアに故障が発生したか否かのみが記載されており、ウォッチドッグは、プライマリ・コアに故障が発生したか否かのみをモニタリングすることができる。つまり、関連技術におけるチップモニタリングの解決手段では、プライマリ・コアの故障の有無を確定することしかできず、プライマリ・コアの故障の原因を確定することはできない。
[例示的なシステム]
【0019】
本開示の実施例は、チップモニタリングが必要とされる応用シナリオに適用することができる。図1に示される構成の概略図を参照すると、このチップは、プライマリ・コア及びセカンダリ・コアを含み、このプライマリ・コアは、セキュア領域及び非セキュア領域を含み、プライマリ・コアは、命令(例えば、SMC命令)を呼び出すことでセキュア領域にアクセスすることができる。
【0020】
また、このチップは、プライマリ・コア及びセカンダリ・コアの共有メモリをさらに含み、プライマリ・コア及びセカンダリ・コアは、いずれもこの共有メモリにアクセスすることができる。
【0021】
ここで、プライマリ・コアは、セキュア領域にアクセスするときに、この共有メモリに、アクセス状態識別子及び今回のアクセスのサービス種類識別子を含むアクセス情報を記憶することができ、アクセス状態識別子は、プライマリ・コアが今回のセキュア領域へのアクセスを完了したか否かを特徴付けるために用いられる。
【0022】
セカンダリ・コアは、共有メモリにアクセスしてこの共有メモリに記憶されたアクセス情報を読み取り、このアクセス情報に基づいて、プライマリ・コアに故障が発生したか否か及びこの故障の種類を確定することで、チップへのモニタリングを実現することができる。
[例示的な方法]
【0023】
図2は、本開示の例示的な一実施例に係るチップモニタリング方法のフローを示す図である。本実施例は、第1の処理ユニット及び第2の処理ユニットを含むチップに適用されることができる。ここで、この第1の処理ユニットは、セキュア領域及び非セキュア領域を含む。
【0024】
一実行可能な設計では、この第1の処理ユニットは、チップのプライマリ・コアであり、第2の処理ユニットは、チップのセカンダリ・コアである。当然ながら、第1の処理ユニット及び第2の処理ユニットは、それぞれチップ内の他のモジュールであってもよく、本開示は、これに限定されない。
【0025】
このチップモニタリング方法は、図2に示すように、以下のステップS201~ステップS204を含む。
【0026】
ステップS201では、第1の処理ユニットが第1の処理ユニットのセキュア領域にアクセスしたときに、第1の処理ユニットと第2の処理ユニットとの共有メモリにアクセス情報を記憶する。
【0027】
ここで、このアクセス情報は、アクセス状態識別子及び今回のアクセスのサービス種類識別子を含む。アクセス状態識別子は、第1の処理ユニットがセキュア領域へのアクセスを起動することを示す第1の識別子又は第1の処理ユニットがセキュア領域へのアクセスを完了したことを示す第2の識別子である。
【0028】
この場合、アクセス情報におけるアクセス状態識別子により、第1の処理ユニットがセキュア領域へのアクセスを完了したか否かを確定することができる。
【0029】
一例では、第1の識別子は、「1」であり、第2の識別子は、「2」であり、これに応じて、第1の処理ユニットは、セキュア領域へのアクセスを起動した後に、第1の識別子である「1」を共有メモリに記憶し、第1の処理ユニットがセキュア領域へのアクセスを完了した後には、第1の処理ユニットは、共有メモリに記憶されたアクセス状態識別子を第2の識別子である「2」に修正する。この場合、共有メモリに記憶されたアクセス状態識別子は、第1の処理ユニットのセキュア領域へのアクセスがあったか否かを示すことができる。
【0030】
また、アクセス情報には、サービス種類識別子も含まれる。本開示では、第1の処理ユニットは、セキュア領域にアクセスすることで複数の種類のサービスを実現することができ、各種類のサービスに対して、対応するサービス種類識別子をそれぞれ予め設定することができる。この場合、サービス種類識別子に基づいて、第1の処理ユニットが今回セキュア領域にアクセスしたときの対応するサービス種類を確定することができる。
【0031】
ステップS202では、第1の処理ユニットがセキュア領域にアクセスしたと確定されたときに第2の処理ユニットが計時を起動する。
【0032】
第1の処理ユニットがセキュア領域にアクセスしたときに、第2の処理ユニットは、計時するためにタイマーを起動することができる。ここで、このタイマーは、第2の処理ユニット内に設置されてもよいし、チップ内において第2の処理ユニットと別に設置されてもよいし、本開示は、これに限定されない。
【0033】
ステップS203では、第2の処理ユニットが共有メモリからアクセス情報を読み取る。
【0034】
本開示では、共有メモリは、第1の処理ユニットと第2の処理ユニットとの間で共有されるメモリであり、この場合、第2の処理ユニットは、共有メモリにアクセスして第1の処理ユニットに記憶されたアクセス情報を読み取ることができる。
【0035】
ステップS204では、第2の処理ユニットが、計時時間と今回のアクセスに所要される実行時間とが満たされる予め設定された大小関係を確定し、アクセス情報におけるアクセス状態識別子が第1の識別子であると確定された場合、アクセス情報におけるサービス種類識別子に基づいて、第1の処理ユニットに故障が発生したサービス種類を確定する。
【0036】
本開示では、計時時間と今回のアクセスに要する実行時間とが満たされる予め設定された大小関係は、計時時間が今回のアクセスに所要される実行時間よりも長いことができる。
【0037】
アクセス情報におけるアクセス状態識別子が第1の識別子である場合、第1の処理ユニットがセキュア領域へのアクセスを完了していないことを示し、この場合、計時時間が今回のアクセスに所要される実行時間よりも長いと、第1の処理ユニットがセキュア領域にアクセスした時間が今回のアクセスに所要される実行時間を超えたがセキュア領域へのアクセスが未だ完了していないことを示し、さらに、第1の処理ユニットに故障が発生したことを示す。そのため、アクセス情報におけるサービス種類識別子に基づいて、第1の処理ユニットに故障が発生したサービス種類を確定して、チップへのモニタリングを実現することができる。
【0038】
本開示の実施例は、第1の処理ユニット及び第2の処理ユニットを含むチップに適用されるチップモニタリング方法を提供し、このチップには、第1の処理ユニットと第2の処理ユニットとの共有メモリが設置されている。この方法では、第1の処理ユニットは、第1の処理ユニットのセキュア領域にアクセスしたときに、共有メモリにアクセス情報を記憶し、このアクセス情報は、第1の処理ユニットがセキュア領域へのアクセスを完了したか否かを示すことが可能なアクセス状態識別子、及び今回のアクセスのサービス種類識別子を含み、第1の処理ユニットがセキュア領域にアクセスしたと確定されたときに第2の処理ユニットが計時を起動し、共有メモリからアクセス情報を読み取り、そして、第2の処理ユニットは、計時時間と今回のアクセスに所要されるる実行時間とが満たされる大小関係を確定し、アクセス情報におけるアクセス状態識別子が第1の識別子であると確定されたときに、アクセス情報におけるサービス種類識別子に基づいて、第1の処理ユニットに故障が発生したサービス種類を確定する。
【0039】
本開示の実施例に係る方法によれば、第1の処理ユニットに故障が発生した場合、第1の処理ユニットの故障の種類を確定することができ、それにより、故障の原因を確定することができなかった従来技術の問題を解決することができる。
【0040】
さらに、本開示の解決手段は、共有メモリに記憶されたアクセス情報に基づいて、第1の処理ユニットに故障が発生したサービスの種類を確定し、デバッガを用いてデバッグを行う必要はない。そのため、デバッガを用いてデバッグを行う従来の解決手段に比べて、デバッガを配置する必要がなく、チップへのモニタリングに所要される時間が短くなり、チップモニタリングの効率が向上されることができる。
【0041】
本開示のステップS204においては、第2の処理ユニットは、計時時間と今回のアクセスに所要される実行時間とが満たされる予め設定された大小関係を確定する必要がある。ここで、第2の処理ユニットは、今回のアクセスに所要される実行時間を複数の種類の方式で決定することができる。
【0042】
一実行可能な実現形態では、今回のアクセスに所要される実行時間は、アクセス情報に含まれる今回のアクセスに所要される実行時間である。
【0043】
この実現形態では、第1の処理ユニットは、共有メモリに記憶されたアクセス情報に今回のアクセスに所要される実行時間も含ませ、この場合、第2の処理ユニットは、共有メモリにアクセスすることで、共有メモリに記憶されたアクセス情報を取得し、さらに、このアクセス情報に基づいて今回のアクセスに所要される実行時間を決定することができる。
【0044】
一実行可能な設計では、第1の処理ユニットが各種類のサービスを実行することにそれぞれ対応する実行時間とサービス情報との間の対応関係を予め確定し、この対応関係を第1の処理ユニット又は第1の処理ユニットがアクセス可能な記憶モジュールに記憶することができる。この場合、第1の処理ユニットは、セキュア領域にアクセスしたときに、自身が実行するサービス情報及びこの対応関係に基づいて、今回のアクセスに所要される実行時間を決定し、共有メモリに今回のアクセスに所要される実行時間を記憶することにより、第1の処理ユニットが共有メモリに記憶したアクセス情報に、今回のアクセスに所要される実行時間も含まれることができる。
【0045】
ここで、この実行可能な設計では、対応関係におけるサービス情報は、第1の処理ユニットにより実行される異なる種類のサービスを区別することができ、例えば、このサービス情報は、サービス種類識別子を含むことができる。
【0046】
この実現形態では、第2の処理ユニットは、共有メモリにおけるアクセス情報を読み取ることで、今回のアクセスに所要される実行時間を決定することができるので、今回のアクセスに所要される実行時間をより効率的に決定することができる。
【0047】
別の実行可能な実現形態では、今回のアクセスに所要される実行時間は、第2の処理ユニットが予め設定されたプロトコル及びアクセス情報に含まれた前記サービス種類識別子に基づいて決定される実行時間であり、ここで、予め設定されたプロトコルは、少なくとも1つのサービス種類識別子と実行時間との間の対応関係を含む。
【0048】
この実現形態では、予め設定されたプロトコルを第2の処理ユニットに記憶しておくことができ、第2の処理ユニットは、共有メモリに記憶されたサービス種類識別子を読み取った後に、この予め設定されたプロトコルに含まれた対応関係及びこのサービス種類識別子に基づいて、今回のアクセスに所要される実行時間を決定することができる。
【0049】
この実現形態では、第1の処理ユニットは、今回のアクセスに所要される実行時間を共有メモリに記憶する必要がなく、これに応じて、第2の処理ユニットは、共有メモリにアクセスする方式で今回のアクセスに所要される実行時間を決定する必要がないので、第1の処理ユニット及び第2の処理ユニットがそれぞれ共有メモリとインタラクションするデータ量を減少させることができる。
【0050】
本開示の解決手段では、ステップS201において、第1の処理ユニットがアクセス状態識別子及び今回のアクセスのサービス種類識別子を含むアクセス情報を共有メモリに記憶する。さらに、このアクセス情報は、今回のアクセスで呼び出される第1の処理ユニットのコア識別子をさらに含むことができ、又は、このアクセス情報は、今回のアクセスで呼び出される第1の処理ユニットのコア識別子及びスレッド識別子をさらに含むことができる。
【0051】
これに応じて、図3に示すように、本開示の別の実施例に係るチップモニタリング方法は、上記図2に示す実施例に加えて、以下のステップS205をさらに含む。
【0052】
ステップS205では、アクセス情報が第1の処理ユニットのコア識別子をさらに含む場合、第2の処理ユニットがサービス種類識別子に基づいて第1の処理ユニットに故障が発生したサービス種類を確定した後に、第2の処理ユニットがコア識別子に基づいて故障が発生した第1の処理ユニットを確定する。
【0053】
同一のチップ内に複数の第1の処理ユニットを含むこともできる。この場合、チップ内の各第1の処理ユニットに、対応するコア識別子を予め割り当てることができ、異なる第1の処理ユニットのコア識別子は互いに異なる。また、第1の処理ユニットが共有メモリに記憶したアクセス情報は、第1の処理ユニットのコア識別子をさらに含む。この場合、第2の処理ユニットは、計時時間と今回のアクセスに所要される実行時間とが満たされる予め設定された大小関係を確定した後に、共有メモリに記憶されたコア識別子に基づいて、故障が発生した第1の処理ユニットを確定することができ、それによりチップへのモニタリングをさらに実現することができる。
【0054】
又は、図4に示すように、本開示の別の実施例に係るチップモニタリング方法は、上記図2に示す実施例に加えて、以下のステップS206をさらに含む。
【0055】
ステップS206では、アクセス情報が今回のアクセスで呼び出される第1の処理ユニットのコア識別子及びスレッド識別子をさらに含む場合、第2の処理ユニットがサービス種類識別子に基づいて第1の処理ユニットに故障が発生したサービス種類を確定した後に、第2の処理ユニットがコア識別子及びスレッド識別子に基づいて故障が発生した第1の処理ユニット及び故障が発生したスレッドを確定する。
【0056】
ここで、第2の処理ユニットは、スレッドを呼び出す方式で、対応する操作を実現することができる。この実施例では、各スレッドに、対応するスレッド識別子を予め割り当てることができ、異なるスレッドのスレッド識別子は互いに異なる。また、第1の処理ユニットが共有メモリに記憶したアクセス情報は、第1の処理ユニットのコア識別及びスレッド識別をさらに含む。この場合、第2の処理ユニットは、計時時間と今回のアクセスに所要される実行時間とが満たされる予め設定された大小関係を確定した後に、共有メモリに記憶されたコア識別子及びスレッドに基づいて、故障が発生した第1の処理ユニット及び第1の処理ユニットに故障が発生したスレッドを確定し、それにより、より正確なチップへのモニタリングを実現することができる。
【0057】
本開示のステップS203においては、第2の処理ユニットは、共有メモリからアクセス情報を読み取る。実際のモニタリングの過程では、このステップは、複数の種類の方式で実現されることができる。
【0058】
一実行可能な実現形態では、第2の処理ユニットが共有メモリからアクセス情報を読み取るステップは、第2の処理ユニットが予め設定された第1の周期に基づいて共有メモリからアクセス情報を周期的に読み取るステップを含む。
【0059】
この実現形態では、第2の処理ユニットは、タイマーを含むか、又はタイマーに接続されるようにしてもよく、このタイマーは、第1の周期ごとに対応するトリガ信号を生成し、第2の処理ユニットは、このトリガ信号を取得した後に共有メモリからアクセス情報を読み取る。
【0060】
この実現形態により、第2の処理ユニットは、共有メモリに周期的にアクセスする方式で、共有メモリにおけるアクセス情報を読み取り、それにより第1のユニットに故障が発生したか否かを適時に確定することができる。
【0061】
別の実行可能な実現形態では、第2の処理ユニットが共有メモリからアクセス情報を読み取るステップは、
第2の処理ユニットが今回のアクセスに所要される実行時間及びアクセス情報の共有メモリへの記憶時刻に基づいて第2の処理ユニットがアクセス情報を読み取る目標時刻を確定するステップと、
第2の処理ユニットが目標時刻で共有メモリからアクセス情報を読み取るステップと、
を含む。
【0062】
この実現形態では、第2の処理ユニットは、共有メモリにアクセスすることで、アクセス情報の共有メモリへの記憶時刻を確定し、そして、今回のアクセスに所要される実行時間及びアクセス情報の共有メモリへの記憶時刻に基づいて目標時刻を確定し、共有メモリにおけるアクセス情報を読み取るように、目標時刻で共有メモリに再度アクセスすることができる。
【0063】
ここで、目標時刻とアクセス情報の共有メモリへの記憶時刻との間の時間は、今回のアクセスに所要される実行時間以上であることができる。つまり、第1の処理ユニットが今回のサービスを実行するときに故障が発生しなければ、第1の処理ユニットが今回のアクセスを目標時刻で完了したこととなり、この場合、共有メモリに記憶されたアクセスは、第2の識別子として示される。
【0064】
一実行可能な設計では、目標時刻とアクセス情報の共有メモリへの記憶時刻との間の時間は、今回のアクセスに所要される実行時間と等しい。例えば、今回のアクセスに所要される実行時間を「a」とし、アクセス情報の共有メモリへの記憶時刻を第1の時刻とすると、目標時刻と第1の時刻前との差分は、「a」である。
【0065】
目標時刻と第1の時刻前との差分が「a」であるので、第1の時刻から目標時刻に到達したときの経過時間は、今回のアクセスに所要される実行時間であることを示し、この場合、第1の処理ユニットが今回のサービスの実行時に故障なく目標時刻で今回のアクセスを完了したこととなる。
【0066】
別の実行可能な設計では、目標時刻とアクセス情報の共有メモリへの記憶時刻との間の時間は、今回のアクセスに所要される実行時間よりも長い。この場合、時間「b」を予め設定すれば、目標時刻とアクセス情報の共有メモリへの記憶時刻との間の時間は、今回のアクセスに所要される実行時間「a」と時間「b」との和と等しく、すなわち、アクセス情報の共有メモリへの記憶時刻を第1の時刻とすると、目標時刻と第1の時刻前との差分は、「a」と「b」との和である。
【0067】
この場合に、目標時刻と第1の時刻との差分が「a」よりも大きければ、第1の時刻から目標時刻に到達したときの経過時間が今回のアクセスに所要される実行時間よりも長いことを示し、この場合、第1の処理ユニットが今回のサービスの実行時に故障なく目標時刻で今回のアクセスを完了したこととなる。
【0068】
また、この設計では、第1の処理ユニットに故障が発生したか否かを適時にモニタリングするために、通常、「b」を短い時間として設定し、すなわち、目標時刻とアクセス情報の共有メモリへの記憶時刻との間時間が今回のアクセスに所要される実行時間に近いので、第2の処理ユニットが、第1の処理ユニットに故障が発生したか否かを適時に確定することができる。
【0069】
第1の処理ユニットが今回のサービスを実行するときに故障が発生しなければ、第1の処理ユニットが目標時刻で今回のアクセスを完了したこととなり、これに応じて、共有メモリに記憶されたアクセスは、第2の識別子として示される。第1の処理ユニットが今回のサービスを実行するときに故障が発生すれば、第1の処理ユニットが目標時刻で今回のアクセスを完了することができず、これに応じて、共有メモリに記憶されたアクセスは、第1の識別子として示される。そのため、第2の処理ユニットが目標時刻で共有メモリから読み取ったアクセス情報により、第1の処理ユニットが今回のサービスを実行するときに故障が発生したか否かを確定することができる。
【0070】
この実現形態では、第2の処理ユニットが共有メモリにおけるアクセス情報を読み取る回数が少ないため、チップの消費電力を低減させることができる。
【0071】
上記実施例では、ステップS201において、第1の処理ユニットが第1の処理ユニットと第2の処理ユニットとの共有メモリにアクセス情報が記憶する操作を開示した。ステップS201は、図5に示すように、上記図2に示す実施例に加えて、以下のステップS2011~ステップS2012を含むことができる。
【0072】
ステップS2011では、第1の処理ユニットが今回のアクセスを起動したときに、共有メモリに今回のアクセスのサービス種類識別子及び第1の識別子を記憶する。
【0073】
つまり、第1の処理ユニットは、今回のアクセスを起動する度に、共有メモリに今回のアクセスのサービス種類識別子及び第1の識別子を記憶し、この第1の識別子により、第1の処理ユニットのセキュア領域へのアクセスを起動したこと及び第1の処理ユニットが今回のアクセスを完了していないことを示す。
【0074】
ステップS2012では、第1の処理ユニットが今回のアクセスを完了した後、第1の処理ユニットが共有メモリにおける第1の識別子を第2の識別子に更新する。
【0075】
この場合、第2の識別子により、第1の処理ユニットが今回のアクセスを完了したことを示すことができる。
【0076】
ステップS2012及びステップS2012の操作により、第1の処理ユニットは、自身が今回のアクセスを完了したか否かに応じて、対応するアクセス識別子を共有メモリに記憶し、第2の処理ユニットは、共有メモリに記憶されたアクセス識別子により、第1の処理ユニットが今回のアクセスを完了したか否かを確定することができる。
【0077】
本開示では、ステップS202において、第1の処理ユニットがセキュア領域にアクセスしったと確定されたときに第2の処理ユニットが計時を起動する操作を開示した。この操作は、複数の種類の方式で実現することができる。
【0078】
一実行可能な実現形態では、第1の処理ユニットがセキュア領域にアクセスしたと確定されたときに第2の処理ユニットが計時を起動するステップは、
第2の処理ユニットが、第1の処理ユニットがセキュア領域にアクセスしたときに生成されたトリガ命令を取得するステップと、
トリガ命令に応答して、第2の処理ユニットが計時を起動するステップと、
を含む。
【0079】
この実現形態では、第1の処理ユニットは、セキュア領域にアクセスしたときにトリガ命令を生成し、このトリガ命令を第2の処理ユニットに伝送する。第2の処理ユニットは、このトリガ命令を受信すると、計時を起動する。
【0080】
この実現形態によれば、第2の処理ユニットは、第1の処理ユニットにより生成されたトリガ命令に基づいて、計時を起動することができる。
【0081】
又は、別の実現形態では、第2の処理ユニットは、第1の処理ユニットの状態をモニタリングし、第1の処理ユニットがセキュア領域にアクセスすることをモニタリングしたときに計時を起動することができる。
【0082】
又は、第1の処理ユニットの状態をチップ内の他の処理ユニットによりモニタリングし、第1の処理ユニットがセキュア領域にアクセスしたことをモニタリングしたときにトリガ命令を生成し、第2の処理ユニットが計時を起動するように、このトリガ命令を第2の処理ユニットに伝送することもできる。
【0083】
当然ながら、第1の処理ユニットがセキュア領域にアクセスしたと確定されたときに第2の処理ユニットが計時を起動することを他の方式で実現することもでき、本開示は、これに限定されない。
【0084】
本開示に係るチップモニタリング方法によれば、第1の処理ユニットが第1の処理ユニットのセキュア領域にアクセスしたときに故障が発生したか否かを確定し、故障が発生したときに故障のサービス種類を確定することができる。ここで、第1の処理ユニットがセキュア領域にアクセスしたサービスの種類は、キーの生成、キーの削除、キーのインポート、キーのエクスポート、対称的な暗号化・復号化、ハッシュ化、非対称的な暗号化・復号化、非対称的な署名及び署名検証のいずれか1つを含むが、これらに限定されない。
【0085】
この場合、上記の各種類のサービス種類に、対応するサービス種類識別子を予め設定し、第1の処理ユニットが対応するサービスを実行するときに、対応するサービス種類識別子を共有メモリに記憶し、第2の処理ユニットは、共有メモリに記憶されたサービス種類識別子に基づいて、第1の処理ユニットがサービスを実行するサービス種類を確定することができる。
【0086】
当然ながら、このサービス種類は、他の種類であってもよく、本開示は、これに限定されない。
【0087】
本開示に係るチップモニタリング方法を明確にするために、図6により、チップ・アーキテクチャの概略図が開示される。図6を参照すると、このチップは、第1の処理ユニット、第2の処理ユニット、及び共有メモリを含む。第1の処理ユニット及び第2の処理ユニットは、いずれもこの共有メモリにアクセスすることができる。
【0088】
第1の処理ユニットは、セキュア領域及び非セキュア領域を含み、第1の処理ユニットは、命令を呼び出すことでセキュア領域にアクセスすることができ、例示的に、この命令は、SMC命令であってもよい。セキュア領域にアクセスする過程において、図6を参照すると、第1の処理ユニットの非セキュア領域がサービス請求の命令をセキュア領域に伝送することができ、また、今回のアクセスを完了した後に、セキュア領域は、フィードバックの命令を非セキュア領域に伝送することができる。
【0089】
また、第1の処理ユニットがセキュア領域にアクセスしたときに、本開示の上記各実施例に係る解決手段により、共有メモリにアクセス情報を記憶することができる。このアクセス情報は、アクセス状態識別子及び今回のアクセスのサービス種類識別子を含むことができる。また、このアクセス情報は、今回のアクセスに所要される実行時間をさらに含むことができる。さらに、このアクセス情報は、今回のアクセスで呼び出される第1の処理ユニットのコア識別子をさらに含むか、又は、今回のアクセスで呼び出される第1の処理ユニットのコア識別子及びスレッド識別子をさらに含むことができる。
【0090】
第2の処理ユニットが共有メモリからアクセス情報を読み取ることができる。具体的には、図6を参照すると、第2の処理ユニットのアプリケーションは、第1の処理ユニットがセキュア領域にアクセスしたと確定されたときに計時を起動し、共有メモリからアクセス情報を読み取り、本開示の上記の各実施例に係るチップモニタリング方法により、第1の処理ユニットの故障状況をモニタリングする。
【0091】
一実行可能な例では、第1の処理ユニットは、情報リストの方式で共有メモリにアクセス情報を記憶することができ、ここで、この情報リストは、対応するフィールドを設定し、対応するアクセス情報を各フィールドにより記憶することができる。この場合、アクセス情報は、アクセス状態識別子、今回のアクセスのサービス種類識別子、今回のアクセスに所要される実行時間及び今回のアクセスで呼び出される第1の処理ユニットのコア識別子及びスレッド識別子を含めば、この情報リストに含まれるフィールドは、今回のアクセスのサービス種類識別子を記憶するためのフィールド(例えば、Command idフィールド)、今回のアクセスに所要される実行時間を記憶するためのフィールド(例えば、Execution Timeフィールド)、今回のアクセスで呼び出される第1の処理ユニットのコア識別子を記憶するためのフィールド(例えば、Core idフィールド)及び今回のアクセスで呼び出される第1の処理ユニットのスレッド識別子を記憶するためのフィールド(例えば、Thread idフィールド)を含むことができる。
【0092】
図7(a)を参照すると、第1の処理ユニットが今回のアクセスの過程において故障が発生しなければ、第1の処理ユニットがセキュア領域にアクセスしたときに、非セキュア領域がサービス請求の命令(この命令は、SMC命令であってもよい)をセキュア領域に伝送し、今回のアクセスを完了した後に、セキュア領域は、フィードバックの命令を非セキュア領域に伝送する。
【0093】
図7(a)において、アクセス情報は、リストで表示され、このリストは、Message indexと呼ばれ、このリストには、Command idフィールド、Execution Timeフィールド、Core idフィールド及びThread idフィールドが含まれ、それらは、対応するアクセス情報をそれぞれ記憶するために用いられる。
【0094】
また、アクセス情報におけるアクセス状態識別子は、第1の処理ユニットのアクセス状態に応じて変化し、図7(a)において、第1の処理ユニットのセキュア領域へのアクセスが起動されると、第1の処理ユニットが共有メモリに記憶したアクセス状態識別子は、第1の識別子であり、第1の処理ユニットのセキュア領域へのアクセスが完了されると、第1の処理ユニットが共有メモリに記憶したアクセス状態識別子は、第2の識別子である。
【0095】
この場合、第2の処理ユニットは、予め設定された第1の周期に基づいて、共有メモリからアクセス情報を周期的に読み取るか、又は、目標時刻で共有メモリからアクセス情報を読み取ることができる。計時時間が今回のアクセスに所要される実行時間以下である場合、共有メモリにおけるアクセス状態識別子が第2の識別子であると読み取られ、今回のアクセスの過程において第1の処理ユニットに故障がなかったと確定する。
【0096】
図7(b)を参照すると、今回のアクセスの過程において第1の処理ユニットに故障があると、第1の処理ユニットがセキュア領域にアクセスしたときに、非セキュア領域は、サービス請求の命令をセキュア領域に伝送し、故障の発生により、今回のアクセスが完了されることができず、セキュア領域がフィードバックの命令を非セキュア領域に伝送しないので、これに応じて、第1の処理ユニットは、共有メモリにおける第1の識別子を第2の識別子に調整しない。
【0097】
この場合、第2の処理ユニットは、共有メモリにアクセスして第1の識別子を読み取った後には、始終第2の識別子を読み取ることができない。このため、第2の処理ユニットは、Command idフィールドに記憶されたサービス種類識別子に基づいて、第1の処理ユニットに故障が発生したサービス種類を確定し、Core idフィールドに記憶されたコア識別子に基づいて、故障が発生した第1の処理ユニットを確定し、Thread idフィールドに記憶されたスレッド識別子に基づいて、故障が発生したスレッドを確定することができる。
【0098】
本開示のチップモニタリング方法を明確にするために、別の実施例を開示し、この実施例は、第1の処理ユニット及び第2の処理ユニットにより実行される操作をそれぞれ開示する。図8を参照すると、この実施例では、第1の処理ユニットは、以下のステップS301~ステップS304を実行する。
【0099】
ステップS301では、第1の処理ユニットが第1の処理ユニットのセキュア領域へのアクセスを起動する。
【0100】
ここで、第1の処理ユニットがSMC命令をセキュア領域に送信したときに、第1の処理がこのセキュア領域へのアクセスを起動すると見なすことができる。
【0101】
ステップS302では、第1の処理ユニットが共有メモリにアクセス情報を記憶する。
【0102】
この場合、このアクセス情報におけるアクセス識別子は、第1の識別子である。
【0103】
ステップS303では、第1の処理ユニットが今回のサービスを実行する。
【0104】
ステップS304では、第1の処理ユニットに故障がないと、今回のアクセスに所要される実行時間内で今回のサービスを完了し、今回のサービスが完了した後に、第1の処理ユニットが共有メモリにおけるアクセス識別子を第1の識別子から第2の識別子に調整する。
【0105】
また、第2の処理ユニットは、以下のステップS401~ステップS4054を実行することができる。
【0106】
ステップS401では、第1の処理ユニットがセキュア領域にアクセスしたと確定されたときに第2の処理ユニットが計時を起動する。
【0107】
ここで、第1の処理ユニットは、セキュア領域へのアクセスを開始したときに、トリガ命令を第2の処理ユニットに伝送し、第2の処理ユニットは、このトリガ命令を受信した後に、第1の処理ユニットがセキュア領域にアクセスしたと確定し、計時を起動することができる。
【0108】
ステップS402では、第2の処理ユニットが、共有メモリからアクセス情報を読み取る。
【0109】
ステップS403では、第2の処理ユニットが、アクセス情報におけるアクセス識別子が第1の識別子であるか否かを判定し、第1の識別子でない場合、ステップS404の操作を実行する。
【0110】
また、第2の処理ユニットが、アクセス情報におけるアクセス識別子が第1の識別子でない(すなわち、第2の識別子である)と判定すると、第1の処理ユニットが今回のアクセスを完了したことを示し、第1の処理ユニットがセキュア領域に再度アクセスしたときに計時を再起動するように、ステップS401へ戻ることができる。
【0111】
ステップS404では、アクセス情報が第1の識別子であり、計時時間と今回のアクセスに所要される実行時間とが満たされる予め設定された大小関係であると、第2の処理ユニットが、アクセス情報におけるサービス種類識別子に基づいて、第1の処理ユニットに故障が発生したサービス種類を確定する。
【0112】
アクセス識別子が第1の識別子であり、計時時間と今回のアクセスに所要される実行時間とが満たされる予め設定された大小関係であると、第1の処理ユニットは、今回のアクセスに所要される実行時間内で今回のアクセスを完了することができなかったことを示し、今回のアクセスにおいて第1の処理ユニットに故障が発生したので、アクセス情報におけるサービス種類識別子に基づいて、第1の処理ユニットに故障が発生したサービス種類を確定することができる。
【0113】
ステップS405では、アクセス情報が第1の処理ユニットのコア識別子をさらに含むと、第2の処理ユニットがコア識別子に基づいて故障が発生した第1の処理ユニットを確定し、又は、アクセス情報が今回のアクセスで呼び出される第1の処理ユニットのコア識別及びスレッド識別をさらに含むと、第2の処理ユニットがコア識別子及びスレッド識別に基づいて故障が発生した第1の処理ユニット及び第1の処理ユニットに故障が発生したスレッドを確定する。
【0114】
上記のステップの操作によれば、第1の処理ユニットに故障が発生したか否かをモニタリングすることができ、故障が発生すると、第1の処理ユニットに故障が発生したサービス種類を確定することができ、さらに、故障が発生した第1の処理ユニット及び第1の処理ユニットに故障が発生したスレッドを確定することで、チップへのモニタリングを実現することができる。
[例示的な装置]
【0115】
図9は、本開示の例示的な一実施例に係るチップモニタリング装置の構成図である。このチップモニタリング装置は、端末機器、サーバなどの電子機器に設置され、本開示の上記いずれかの実施例のチップモニタリング方法を実行することができる。この電子機器内にチップが設置され、このチップは、第1の処理ユニット及び第2の処理ユニットを含む。
【0116】
このチップモニタリング装置は、図9に示すように、記憶モジュール201、計時モジュール202、読み取りモジュール203及び確定モジュール204を含む。
【0117】
記憶モジュール201は、第1の処理ユニットが前記第1の処理ユニットのセキュア領域にアクセスしたときに、第1の処理ユニットと前記第2の処理ユニットとの共有メモリにアクセス情報を記憶するために用いられ、ここで、アクセス情報は、アクセス状態識別子及び今回のアクセスのサービス種類識別子を含み、アクセス状態識別子は、第1の処理ユニットがセキュア領域へのアクセスを起動したことを示す第1の識別子、又は、第1の処理ユニットがセキュア領域へのアクセスを完了したことを示す第2の識別子であり、
計時モジュール202は、第1の処理ユニットが前記セキュア領域にアクセスしたと確定されたときに計時を起動するために用いられ、
読み取りモジュール203は、共有メモリから記憶モジュールに記憶されたアクセス情報を読み取るために用いられ、
決定モジュール204は、計時モジュール202により決定された計時時間と今回のアクセスに所要される実行時間とが認められる予め設定された大小関係を確定し、読み取りモジュール203により読み取られたアクセス状態識別子が第1の識別子であると確定された場合、読み取りモジュールにより読み取られたサービス種類識別子に基づいて、第1の処理ユニットの故障起因となるサービス種類を確定するために用いられる。
【0118】
一実行可能な例では、今回のアクセスに所要される実行時間は、第2の処理ユニットが予め設定されたプロトコル及びアクセス情報に含まれたサービス種類識別子に基づいて決定された実行時間であり、ここで、予め設定されたプロトコルは、少なくとも1つのサービス種類識別子と実行時間との間の対応関係を含み、又は、今回のアクセスに要する実行時間は、前記アクセス情報に含まれた今回のアクセスに所要される実行時間である。
【0119】
一実行可能な例では、アクセス情報は、前記今回のアクセスで呼び出される第1の処理ユニットのコア識別子をさらに含み、又は、アクセス情報は、今回のアクセスで呼び出される第1の処理ユニットのコア識別子及びスレッド識別子をさらに含む。
【0120】
さらに、決定モジュール204は、アクセス情報が第1の処理ユニットのコア識別子をさらに含んだ場合、第2の処理ユニットがサービス種類識別子に基づいて第1の処理ユニットに故障が発生したサービス種類を確定した後に、コア識別子に基づいて、故障が発生した第1の処理ユニットを確定するために用いられる。
【0121】
又は、決定モジュール204は、アクセス情報が第1の処理ユニットのコア識別子及びスレッド識別子をさらに含んだ場合、第2の処理ユニットがサービス種類識別子に基づいて第1の処理ユニットに故障が発生したサービス種類を確定した後に、故障が発生した第1の処理ユニット及び故障が発生したスレッドを確定するために用いられる。
【0122】
一実行可能な例では、読み取りモジュール203は、図10に示すように、第1の読み取りユニット2031を含む。第1の読み取りユニット2031は、予め設定された第1の周期に基づいて、共有メモリから前記アクセス情報を周期的に読み取るために用いられる。
【0123】
又は、別の実行可能な例では、読み取りモジュール203は、目標時刻確定ユニット2032及び第2の読み取りユニット2033を含む。
【0124】
ここで、目標時刻確定ユニット2032は、今回のアクセスに所要される実行時間及びアクセス情報の共有メモリへの記憶時刻に基づいて、第2の処理ユニットがアクセス情報を読み取る目標時刻を確定するために用いられ、
第2の読み取りユニット2033は、目標時刻で共有メモリからアクセス情報を読み取るために用いられる。
【0125】
一実行可能な例では、記憶モジュール201は、第1の記憶ユニット2011及び第2の記憶ユニット2012を含む。
【0126】
ここで、第1の記憶ユニット2011は、第1の処理ユニットが前記今回のアクセスを起動したときに、共有メモリに今回のアクセスのサービス種類識別子及び第1の識別子を記憶するために用いられ、
第2の記憶ユニット2012は、第1の処理ユニットが前記今回のアクセスを完了した後に、共有メモリにおける前記第1の識別子を第2の識別子に更新するために用いられる。
【0127】
一実行可能な例では、計時モジュール202は、命令取得ユニット2021及び計時起動ユニット2022を含む。
【0128】
ここで、命令取得ユニット2021は、第1の処理ユニットがセキュア領域にアクセスしたときに生成されたトリガ命令を取得するために用いられ、
計時起動ユニット2022は、前記トリガ命令に応答して、計時を起動するために用いられる。
【0129】
本開示の一実行可能な設計では、第1の処理ユニットがセキュア領域にアクセスするサービス種類は、キーの生成、キーの削除、キーのインポート、キーのエクスポート、対称的な暗号化・復号化、ハッシュ化、非対称的な暗号化・復号化、非対称的な署名及び署名検証のいずれか1つを含むが、これらに限定されない。
【0130】
本開示の実施例に係るチップモニタリング装置によれば、第1の処理ユニットに故障が発生したか否かをモニタリングすることができ、故障があると、第1の処理ユニットに故障が発生したサービス種類を確定することができ、さらに、故障が発生した第1の処理ユニット及び第1の処理ユニットに故障が発生したスレッドを確定することで、チップへのモニタリングを実現することができる。
[例示的な電子機器]
【0131】
以下、図11を参照しながら、本開示の実施例に係る電子機器を説明し、この電子機器のチップは、第1の処理ユニット及び第2の処理ユニットを含む。
【0132】
図11は、本発明の実施例に係る電子機器のブロック図を示す。電子機器11は、図11に示すように、1つ又は複数のプロセッサ111及び記憶手段112を含む。
【0133】
プロセッサ111は、中央処理ユニット(central processing unit、CPU)又はデータ処理機能及び/又は命令実行機能を有する他の形態の処理ユニットであってもよく、電子機器10の他のコンポーネントを制御して所望の機能を実行することができる。
【0134】
記憶手段112は、1つ又は複数のコンピュータプログラム製品を含むことができ、コンピュータプログラム製品は、例えば、揮発性メモリ及び/又は不揮発性メモリなどの様々な形態のコンピュータ可読記憶媒体を含むことができる。揮発性メモリは、例えば、ランダムアクセスメモリ(random access memory、RAM)及び/又はキャッシュメモリ(cache)などを含むことができる。不揮発性メモリは、例えば、リードオンリーメモリ(read-only memory、ROM)、ハードディスク、フラッシュメモリなどを含むことができる。1つ又は複数のコンピュータプログラム命令をコンピュータ可読記憶媒体に記憶することができ、プロセッサ111は、プログラム命令を実行することで、上記の本開示の各実施例におけるチップモニタリング方法及び/又は他の所望の機能を実現することができる。アクセス情報などの各種類のコンテンツをコンピュータ可読記憶媒体に記憶することができる。
【0135】
一例では、電子機器11は、バスシステム及び/又は他の形態の接続機構(図示せず)を介して互に接続される入力装置113及び出力装置114をさらに含むことができる。
【0136】
また、この入力装置113は、例えば、キーボードやマウスなどを含むことができる。
【0137】
出力装置114は、第1の処理ユニットに故障が発生したと確定されたサービス種類、故障が発生した第1の処理ユニットのコア識別子及び/又は故障が発生したスレッド識別子などを含む各種類の情報を外部に出力することができる。この出力装置114は、例えば、ディスプレイ、スピーカ、プリンタ、通信ネットワーク及びそれらに接続される遠隔出力機器などを含むことができる。
【0138】
当然ながら、簡略化のため、図10には、電子機器11内の本開示に関連するコンポーネントの一部のみが示されており、バスや入力/出力インタフェースなどのコンポーネントは省略された。これ以外、具体的な応用状況に応じて、電子機器11は、その他の任意の適切なコンポーネントをさらに含むことができる。
[例示的なコンピュータプログラム製品及びコンピュータ可読記憶媒体]
【0139】
本開示の実施例は、上記方法及び機器に加えて、コンピュータプログラム命令を含むコンピュータプログラム製品であることができる。前記コンピュータプログラム命令がプロセッサにより実行されると、前記プロセッサに、本明細書の上記の「例示的な方法」部分に記載の本開示の様々な実施例に係るチップモニタリング方法におけるステップを実行させることができる。
【0140】
1つ又は複数のプログラミング言語の任意の組み合わせによって、本開示の実施例の操作を実行するためのプログラムコードを作成することができ、前記プログラミング言語は、Java(登録商標)、C++などのオブジェクト指向プログラミング言語を含むことができ、例えば「C」言語又は類似のプログラミング言語などの一般的な手続き型プログラミング言語さらにを含むことができる。プログラムコードは、下記のように実行されることができ、すなわち、ユーザコンピューティングデバイス上で全体的に実行されてもよいし、ユーザ機器部分的にで実行されてもよいし、独立したソフトウェアパッケージとして実行されてもよいし、一部はユーザコンピューティングデバイス上で実行され、別の一部は遠隔コンピューティングデバイス上で実行されてもよいし、遠隔コンピューティングデバイスもしくはサーバ上で全体的に実行されてもよい。
【0141】
また、本開示の実施例は、また、本開示の実施例は、コンピュータプログラム命令が記憶されるコンピュータ可読記憶媒体であることもできる。前記コンピュータプログラム命令がプロセッサにより実行されると、プロセッサに、本明細書の上記の「例示的な方法」部分に記載の本開示の様々なの実施例に係るチップモニタリング方法におけるステップを実行させることができる。
【0142】
前記コンピュータ可読記憶媒体として、1種又は複数種の可読媒体の任意の組み合わせを採用することができる。可読媒体は、可読信号媒体又は可読記憶媒体であり得る。可読記憶媒体は、電気、磁気、光学、電磁気、赤外線、又は半導体のシステム、装置、又はデバイス、あるいはそれらの任意の組み合わせを含み得るが、これらに限定されない。可読記憶媒体のより具体的な例(非網羅的なリスト)には、1つ又は複数のワイヤを有する電気的接続、ポータブルディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ((EPROM:erasable programmable read-only memory又はフラッシュメモリ)、光ファイバ、コンパクトディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、光記憶デバイス、磁気記憶デバイス、又は上記の任意の適切な組み合わせが含まれる。
【0143】
以上、具体的な実施例を参照しながら本開示の基本的原理を説明してきたが、本開示に言及された利点、長所、効果などは、例示に過ぎず、限定的なものではない。本開示の様々な実施例がそれらの利点、長所、効果を必ずしも備えることではない。また、上記開示の具体的な細部は、例示的な作用及び理解しやすい作用のためにのものにすぎず、限定的なものではなく、上記細部は、本開示を必ずしも上記具体的な詳細により実現されるように制限するものではない。
【0144】
上記の説明は、例示及び説明のために提供される。さらに、この説明は、本開示の実施例を本明細書に開示された形態に制限することを意図しない。以上、複数の例示的な態様及び実施例を説明したが、当業者であれば、それらの特定の変形、修正、変更、追加、及びサブコンビネーションを認識することができる。
図1
図2
図3
図4
図5
図6
図7(a)】
図7(b)】
図8
図9
図10
図11