(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-06
(54)【発明の名称】自動車システムのための動的に再構成可能なインフィールドセルフテスト能力
(51)【国際特許分類】
G06F 11/36 20060101AFI20240130BHJP
【FI】
G06F11/36 196
G06F11/36 176
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023544372
(86)(22)【出願日】2021-12-06
(85)【翻訳文提出日】2023-07-21
(86)【国際出願番号】 US2021061935
(87)【国際公開番号】W WO2022164512
(87)【国際公開日】2022-08-04
(32)【優先日】2021-01-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】507364838
【氏名又は名称】クアルコム,インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100163522
【氏名又は名称】黒田 晋平
(72)【発明者】
【氏名】キラン・クマール・マリペッディ
(72)【発明者】
【氏名】ラフル・グラティ
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GB08
5B042HH18
5B042HH19
5B042HH49
(57)【要約】
様々な実施形態は、安全要件へのそれらの適合を検証するためにテストを必要とするサブシステムを識別するように構成された、コンポーネント(たとえば、車両先進運転支援システムにおけるプロセッサ)を含む。コンポーネントは、サブシステムがPON時、POFF時、実行時間中、またはそれらの組合せにおいてテストされることを、適合の検証が必要とするかどうかどうかを判定し、識別されたサブシステムをテストするための達成可能な並列性を動的に決定し、各識別されたサブシステム上でビルトインセルフテスト(BIST)を実施または実行するためのカバレージレベル要件を動的に決定し、決定された並列のレベルにおいて、および決定されたカバレージレベルにおいて、サブシステム上でBISTを実施または実行してもよい。
【特許請求の範囲】
【請求項1】
車両中に含まれた電子コンポーネントをインフィールドテストする方法であって、
プライマリブートプロセッサの専用ローカルスーパバイザ安全マネージャコンポーネントにおいて、前記車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信するステップと、
前記専用ローカルスーパバイザ安全マネージャコンポーネントによって、前記サブシステムのリスト中の各サブシステムについて、前記サブシステムが電源投入(PON)時、電源切断(POFF)時、または実行時間中にテストされることを、安全要件への適合の検証が必要とするかどうかどうかを判定するステップと、
前記専用ローカルスーパバイザ安全マネージャコンポーネントによって、前記サブシステムのリスト中の各サブシステムについて、そのサブシステム上でビルトインセルフテスト(BIST)を実施するために必要とされるカバレージレベルを動的に決定するステップと、
前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施するステップと
を含む方法。
【請求項2】
前記方法が、前記専用ローカルスーパバイザ安全マネージャコンポーネントによって、前記サブシステムのリスト中の各サブシステムのための並列性のレベルを動的に決定するステップをさらに含み、前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施するステップが、前記決定された並列性のレベルにおいて、および前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施するステップを含む、請求項1に記載の方法。
【請求項3】
前記車両の前記セーフティクリティカル自動車アプリケーションに関連付けられる前記サブシステムのリストを受信するステップが、前記プライマリブートプロセッサの外部にあるプロセッサから、前記サブシステムのリストを受信するステップを含む、請求項1に記載の方法。
【請求項4】
前記プライマリブートプロセッサの外部にある前記プロセッサから、前記サブシステムのリストを受信するステップが、前記プライマリブートプロセッサの外部にある自動車安全度水準D(ASIL-D)プロセッサから、前記サブシステムのリストを受信するステップを含む、請求項3に記載の方法。
【請求項5】
前記車両の前記セーフティクリティカル自動車アプリケーションに関連付けられる前記サブシステムのリストを受信するステップが、前記プライマリブートプロセッサ中に含まれるプロセッサから、前記サブシステムのリストを受信するステップを含む、請求項1に記載の方法。
【請求項6】
前記プライマリブートプロセッサ内に含まれる前記プロセッサから、前記サブシステムのリストを受信するステップが、前記プライマリブートプロセッサ中に含まれる自動車安全度水準D(ASIL-D)プロセッサから、前記サブシステムのリストを受信するステップを含む、請求項5に記載の方法。
【請求項7】
Boot_Configピンに基づいて、安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかどうかを判定するステップをさらに含む、請求項1に記載の方法。
【請求項8】
2つの汎用入力/出力(GPIO)コンポーネント上の値に基づいて、PONまたはPOFF時に安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかどうかを判定するステップをさらに含む、請求項1に記載の方法。
【請求項9】
コンピューティングデバイスであって、
プライマリブートプロセッサを備え、前記プライマリブートプロセッサが、
車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信することと、
前記サブシステムのリスト中の各サブシステムについて、前記サブシステムが電源投入(PON)時、電源切断(POFF)時、または実行時間中にテストされることを、安全要件への適合の検証が必要とするかどうかどうかを判定することと、
前記サブシステムのリスト中の各サブシステムについて、そのサブシステム上でビルトインセルフテスト(BIST)を実施するために必要とされるカバレージレベルを動的に決定することと、
前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施することと
を行うようにプロセッサ実行可能ソフトウェア命令で構成される、コンピューティングデバイス。
【請求項10】
前記プライマリブートプロセッサが、
前記サブシステムのリスト中の各サブシステムのための並列性のレベルを動的に決定することと、
前記決定された並列性のレベルにおいて、および前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施することによって、前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施することと
を行うようにさらに構成される、請求項9に記載のコンピューティングデバイス。
【請求項11】
前記プライマリブートプロセッサが、前記プライマリブートプロセッサの外部にあるプロセッサから、前記サブシステムのリストを受信することによって、前記車両の前記セーフティクリティカル自動車アプリケーションに関連付けられる前記サブシステムのリストを受信するように構成される、請求項9に記載のコンピューティングデバイス。
【請求項12】
前記プライマリブートプロセッサが、前記プライマリブートプロセッサの外部にある自動車安全度水準D(ASIL-D)プロセッサから、前記サブシステムのリストを受信することによって、前記プライマリブートプロセッサの外部にある前記プロセッサから、前記サブシステムのリストを受信するように構成される、請求項11に記載のコンピューティングデバイス。
【請求項13】
前記プライマリブートプロセッサが、前記プライマリブートプロセッサ中に含まれるプロセッサから、前記サブシステムのリストを受信することによって、前記車両の前記セーフティクリティカル自動車アプリケーションに関連付けられる前記サブシステムのリストを受信するように構成される、請求項9に記載のコンピューティングデバイス。
【請求項14】
前記プライマリブートプロセッサが、前記プライマリブートプロセッサ中に含まれる自動車安全度水準D(ASIL-D)プロセッサから、前記サブシステムのリストを受信することによって、前記プライマリブートプロセッサ内に含まれる前記プロセッサから、前記サブシステムのリストを受信するように構成される、請求項13に記載のコンピューティングデバイス。
【請求項15】
前記プライマリブートプロセッサが、Boot_Configピンに基づいて、安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかどうかを判定するように構成される、請求項9に記載のコンピューティングデバイス。
【請求項16】
前記プライマリブートプロセッサが、2つの汎用入力/出力(GPIO)コンポーネント上の値に基づいて、PONまたはPOFF時に安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかどうかを判定するように構成される、請求項9に記載のコンピューティングデバイス。
【請求項17】
車両における使用のためのコンピューティングデバイスであって、
プライマリブートプロセッサの専用ローカルスーパバイザ安全マネージャコンポーネントにおいて、前記車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信するための手段と、
前記専用ローカルスーパバイザ安全マネージャコンポーネントによって、前記サブシステムのリスト中の各サブシステムについて、前記サブシステムが電源投入(PON)時、電源切断(POFF)時、または実行時間中にテストされることを、安全要件への適合の検証が必要とするかどうかどうかを判定するための手段と、
前記専用ローカルスーパバイザ安全マネージャコンポーネントによって、前記サブシステムのリスト中の各サブシステムについて、そのサブシステム上でビルトインセルフテスト(BIST)を実施するために必要とされるカバレージレベルを動的に決定するための手段と、
前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施するための手段と
を備えるコンピューティングデバイス。
【請求項18】
前記コンピューティングデバイスが、前記専用ローカルスーパバイザ安全マネージャコンポーネントによって、前記サブシステムのリスト中の各サブシステムのための並列性のレベルを動的に決定するための手段をさらに備え、前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施するための手段が、前記決定された並列性のレベルにおいて、および前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施するための手段を備える、請求項17に記載のコンピューティングデバイス。
【請求項19】
前記車両の前記セーフティクリティカル自動車アプリケーションに関連付けられる前記サブシステムのリストを受信するための手段が、前記プライマリブートプロセッサの外部にあるプロセッサから、前記サブシステムのリストを受信するための手段を備える、請求項17に記載のコンピューティングデバイス。
【請求項20】
前記プライマリブートプロセッサの外部にある前記プロセッサから、前記サブシステムのリストを受信するための手段が、前記プライマリブートプロセッサの外部にある自動車安全度水準D(ASIL-D)プロセッサから、前記サブシステムのリストを受信するための手段を備える、請求項19に記載のコンピューティングデバイス。
【請求項21】
前記車両の前記セーフティクリティカル自動車アプリケーションに関連付けられる前記サブシステムのリストを受信するための手段が、前記プライマリブートプロセッサ中に含まれるプロセッサから、前記サブシステムのリストを受信するための手段を備える、請求項17に記載のコンピューティングデバイス。
【請求項22】
前記プライマリブートプロセッサ内に含まれる前記プロセッサから、前記サブシステムのリストを受信するための手段が、前記プライマリブートプロセッサ中に含まれる自動車安全度水準D(ASIL-D)プロセッサから、前記サブシステムのリストを受信するための手段を備える、請求項21に記載のコンピューティングデバイス。
【請求項23】
Boot_Configピンに基づいて、安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかどうかを判定するための手段をさらに備える、請求項17に記載のコンピューティングデバイス。
【請求項24】
2つの汎用入力/出力(GPIO)コンポーネント上の値に基づいて、PONまたはPOFF時に安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかどうかを判定するための手段をさらに備える、請求項17に記載のコンピューティングデバイス。
【請求項25】
車両中に含まれた電子コンポーネントをインフィールドテストするための動作をプロセッサに実施させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した、非一時的コンピュータ可読記憶媒体であって、前記動作が、
前記車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信することと、
前記サブシステムのリスト中の各サブシステムについて、前記サブシステムが電源投入(PON)時、電源切断(POFF)時、または実行時間中にテストされることを、安全要件への適合の検証が必要とするかどうかどうかを判定することと、
前記サブシステムのリスト中の各サブシステムについて、そのサブシステム上でビルトインセルフテスト(BIST)を実施するために必要とされるカバレージレベルを動的に決定することと、
前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施することと
を含む、非一時的コンピュータ可読記憶媒体。
【請求項26】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記サブシステムのリスト中の各サブシステムのための並列性のレベルを動的に決定することをさらに含む、動作をプロセッサに実施させるように構成され、前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施することが、前記決定された並列性のレベルにおいて、および前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施することを含む、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項27】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、
前記車両の前記セーフティクリティカル自動車アプリケーションに関連付けられる前記サブシステムのリストを受信することが、プライマリブートプロセッサの外部にある自動車安全度水準D(ASIL-D)プロセッサから、前記サブシステムのリストを受信することを含むように、動作をプロセッサに実施させるように構成される、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項28】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記車両の前記セーフティクリティカル自動車アプリケーションに関連付けられる前記サブシステムのリストを受信することが、プライマリブートプロセッサ中に含まれる自動車安全度水準D(ASIL-D)プロセッサから、前記サブシステムのリストを受信することを含むように、動作をプロセッサに実施させるように構成される、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項29】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、Boot_Configピンに基づいて、安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかどうかを判定することをさらに含む、動作をプロセッサに実施させるように構成される、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項30】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、2つの汎用入力/出力(GPIO)コンポーネント上の値に基づいて、PONまたはPOFF時に安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかどうかを判定することをさらに含む、動作をプロセッサに実施させるように構成される、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、その内容全体がすべての目的のために参照により本明細書に組み込まれる、2022年1月29日に出願された"Dynamically Re-Configurable In-Field Self-Test Capability For Automotive Systems"と題する米国特許出願第17/161,731号の優先権の利益を主張する。
【背景技術】
【0002】
過去数年にわたって、現代の自動車は、自走式の機械的車両から、車両の機能、特徴、および動作の多数を制御する、多数のプロセッサ、センサ、およびシステムオンチップ(SOC)を含む、強力で複雑な電気機械システムに変わってきている。より最近では、メーカーは、車両の動作を自動化し、適応させ、または拡張する、セーフティクリティカル自動運転システム(SCADS:Safety Critical Automated Driving System)および先進運転支援システム(ADAS:Advanced Driver Assistance System)を自動車に装備し始めている。たとえば、ADASは、潜在的な路上の危険を自動的に検出するために、自動車のセンサ(たとえば、加速度計、レーダー、ライダー、地理空間測位など)から収集された情報を使用し、検出された危険を避けるために、車両の動作の全部または一部分(たとえば、ブレーキ、ステアリングなど)の制御を担うように構成される場合がある。ADASと一般的に関連付けられる特徴および機能には、アダプティブクルーズコントロール、自動車線検出、車線逸脱警告、自動ステアリング、自動ブレーキ、および自動事故回避がある。
【0003】
自動車が走行する速度、ならびに自動車が同乗者および歩行者の生命に及ぼす重大な危険のために、今日の自動車は、安全規格およびリスク分類スキームにますます依存している。1つのそのような規格は、様々な安全要件を規定する自動車安全度水準(ASIL:Automotive Safety Integrity Level)リスク分類スキームを含む、国際標準化機構(ISO)26262路上走行車の機能安全(Functional Safety For Road Vehicles)(本明細書では、ISO26262)において規定されている。車両機能またはシステムは、4つの次第により厳しくなるASILレベル、ASIL A、ASIL B、ASIL C、およびASIL Dのうちの1つに分類される場合がある。ASIL Aは、最低または最も厳しくない完全性要件を含み、ASIL Dは、最高または最も厳しい完全性要件を含む。
【発明の概要】
【課題を解決するための手段】
【0004】
様々な態様は、車両中に含まれた電子コンポーネントをインフィールドテストする方法を含み、方法は、プライマリブートプロセッサの専用ローカルスーパバイザ安全マネージャコンポーネントにおいて、車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信するステップと、専用ローカルスーパバイザ安全マネージャコンポーネントによって、サブシステムのリスト中の各サブシステムについて、サブシステムが電源投入(PON)時、電源切断(POFF)時、または実行時間中にテストされることを、安全要件への適合の検証が必要とするかどうかどうかを判定するステップと、専用ローカルスーパバイザ安全マネージャコンポーネントによって、サブシステムのリスト中の各サブシステムについて、そのサブシステム上でビルトインセルフテスト(BIST:built in self test)を実施するために必要とされるカバレージレベルを動的に決定するステップと、決定されたカバレージレベルにおいて、サブシステム上でBISTを実施するステップとを含んでもよい。
【0005】
いくつかの態様は、専用ローカルスーパバイザ安全マネージャコンポーネントによって、サブシステムのリスト中の各サブシステムのための並列性のレベルを動的に決定するステップを含んでもよく、決定されたカバレージレベルにおいて、サブシステム上でBISTを実施するステップが、決定された並列性のレベルにおいて、および決定されたカバレージレベルにおいて、サブシステム上でBISTを実施するステップを含む。いくつかの態様では、車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信するステップが、プライマリブートプロセッサの外部にあるプロセッサから、サブシステムのリストを受信するステップを含んでもよい。いくつかの態様では、プライマリブートプロセッサの外部にあるプロセッサから、サブシステムのリストを受信するステップが、プライマリブートプロセッサの外部にある自動車安全度水準D(ASIL-D)プロセッサから、サブシステムのリストを受信するステップを含んでもよい。
【0006】
いくつかの態様では、車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信するステップが、プライマリブートプロセッサ中に含まれるプロセッサから、サブシステムのリストを受信するステップを含んでもよい。いくつかの態様では、プライマリブートプロセッサ内に含まれるプロセッサから、サブシステムのリストを受信するステップが、プライマリブートプロセッサ中に含まれる自動車安全度水準D(ASIL-D)プロセッサから、サブシステムのリストを受信するステップを含んでもよい。
【0007】
いくつかの態様は、Boot_Configピンに基づいて、安全マネージャサブシステム(SMSS:safety manager subsystem)上でBISTを実施するかどうかどうかを判定するステップを含んでもよい。いくつかの態様は、2つの汎用入力/出力(GPIO)コンポーネント上の値に基づいて、PONまたはPOFF時に安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかどうかを判定するステップを含んでもよい。
【0008】
さらなる態様は、上記で説明した方法の動作を実施するように構成されたコンピューティングデバイスを含んでもよい。さらなる態様は、上記で説明した方法の機能を実施するための様々な手段を有するコンピューティングデバイスを含んでもよい。さらなる態様は、上記で説明した方法の機能を実施するための様々な手段を有するコンピューティングデバイスを含んでもよい。さらなる態様は、上記で説明した方法の動作をプロセッサに実施させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した、非一時的コンピュータ可読記憶媒体を含んでもよい。
【0009】
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、特許請求の範囲の例示的な実施形態を示し、上で与えられた一般的な説明および下記の発明を実施するための形態とともに、特許請求の範囲の特徴を説明するのに役立つ。
【図面の簡単な説明】
【0010】
【
図1】コンピューティングデバイス中に含まれ、様々な実施形態によって構成されてもよい、例示的なシステムオンチップのコンポーネントを示すブロック図である。
【
図2A】いくつかの実施形態による、インフィールドセルフテストを実施するために好適な専用ローカルスーパバイザ安全マネージャを備えた例示的なプロセッサを示すブロック図である。
【
図2B】車両中に含まれ、コンポーネントが予想されるように、または関連する安全規格に従って正しく動作中であるかどうかを自己決定するように実施形態によって構成されてもよい、コンポーネントを示すブロック図である。
【
図2C】車両中に含まれ、コンポーネントが予想されるように、または関連する安全規格に従って正しく動作中であるかどうかを自己決定するように実施形態によって構成されてもよい、コンポーネントを示すブロック図である。
【
図2D】いくつかの実施形態による、プリント回路板、システムオンチップ、またはシステムインパッケージ内に含まれている、インフィールドセルフテストを実施するために好適な専用ローカルスーパバイザ安全マネージャを備えた例示的なプロセッサを示すブロック図である。
【
図2E】いくつかの実施形態による、車両中に含まれ、コンポーネントが予想されるように、または関連する安全規格に従って正しく動作中であるかどうかを自己決定するように構成されてもよい、コンポーネントを示すブロック図である。
【
図2F】いくつかの実施形態による、車両中に含まれ、コンポーネントが予想されるように、または関連する安全規格に従って正しく動作中であるかどうかを自己決定するように構成されてもよい、コンポーネントを示すブロック図である。
【
図3】いくつかの実施形態による、車両中に含まれた電子コンポーネントのインフィールドテストを実施する方法を示すプロセスフロー図である。
【
図4】いくつかの実施形態による、車両中に含まれ、セルフテストを実施するように構成されることが可能である、電子コンポーネントのコンポーネントブロック図である。
【発明を実施するための形態】
【0011】
様々な実施形態について、添付の図面を参照して詳細に説明する。可能な場合はいつでも、同じまたは同様の部分を指すために、図面全体にわたって同じ参照番号が使用される。特定の例および実装形態に対してなされる言及は、例示を目的としており、特許請求の範囲を限定するものではない。
【0012】
様々な実施形態は、コンポーネントが予想されるように、または関連する安全規格に従って正しく動作中であるかどうかどうかを判定するために、インフィールドセルフテストを実施するように構成される、超高速、安全、およびセキュアなコンポーネント(たとえば、プロセッサ、システムオンチップなど)を含む。いくつかの実施形態では、コンポーネント(たとえば、車両の先進運転支援システムにおけるプロセッサなど)は、安全要件への適合を検証するためにテストを必要とするサブシステムを識別するように構成されてもよい。そのようなコンポーネントは、識別されたサブシステムが電源投入(PON)時、電源切断(POFF)時、実行時間中、またはそれらの組合せにおいてテストされることを、適合の検証が必要とするかどうかどうかを判定してもよい。次いで、コンポーネントは、識別されたサブシステムをテストするための達成可能な並列性を動的に決定し、各識別されたサブシステム上でビルトインセルフテスト(BIST)を実施または実行するためのカバレージレベル要件(たとえば、60%、80%、90%など)を動的に決定し、並列に、かつ決定されたカバレージレベルにおいて、識別されたサブシステム上でBISTを実施または実行してもよい。
【0013】
様々な実施形態は、システムコンポーネントを監視するための従来の解決策の制限の多くを克服する。したがって、様々な実施形態は、セーフティクリティカルシステムおよびサブシステムの安全性および信頼性を向上させてもよい。したがって、様々な実施形態は、車両の先進運転支援システム(ADAS)を含むかまたは実装するシステムオンチップ(SOC)など、車両の動作を制御または自動化することを担う現在および将来の自動車アプリケーションにおいて実装されてもよく、したがって、車両の安全性および信頼性を向上させてもよい。
【0014】
「コンポーネント」、「モジュール」、「システム」などの用語は、限定はしないが、特定の動作または機能を実施するように構成される、ハードウェア、ファームウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、または実行中のソフトウェアなどの、コンピュータ関連エンティティを指すために、本明細書で使用されてもよい。たとえば、コンポーネントは、限定はしないが、プロセッサ上で実行しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであってもよい。例として、コンピューティングデバイス上で実行しているアプリケーションとコンピューティングデバイスの両方は、コンポーネントと呼ばれる場合がある。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に存在してもよく、コンポーネントは、1つのプロセッサもしくはコア上で局所化されてもよく、かつ/または2つ以上のプロセッサもしくはコアの間で分散されてもよい。加えて、これらのコンポーネントは、様々な命令および/またはデータ構造を記憶した様々な非一時的コンピュータ可読媒体から実行してもよい。コンポーネントは、ローカルプロセスおよび/またはリモートプロセス、関数呼出しまたはプロシージャ呼出し、電子信号、データパケット、メモリ読取り/書込み、ならびに他の知られているネットワーク、コンピュータ、プロセッサ、および/またはプロセス関連の通信方法によって通信してもよい。
【0015】
「システムオンチップ」(SOC)という用語は、単一の基板上に統合された複数のリソースおよび/またはプロセッサを含んでいる、単一の集積回路(IC)チップを指すために、本明細書で使用される。単一のSOCは、デジタル、アナログ、混合信号、および無線周波数機能のための回路を含んでもよい。単一のSOCはまた、任意の数の汎用および/または専用プロセッサ(デジタル信号プロセッサ、モデムプロセッサ、ビデオプロセッサなど)、メモリブロック(たとえば、ROM、RAM、フラッシュなど)、ならびにリソース(たとえば、タイマー、電圧レギュレータ、発振器など)を含んでもよい。SOCはまた、統合されたリソースおよびプロセッサを制御するため、ならびに周辺デバイスを制御するためのソフトウェアを含んでもよい。
【0016】
「システムインパッケージ」(SIP)という用語は、2つ以上のICチップ、基板、またはSOC上で複数のリソース、計算ユニット、コア、および/またはプロセッサを含んでいる、単一のモジュールまたはパッケージを指すために、本明細書で使用されてもよい。たとえば、SIPは、その上で複数のICチップまたは半導体ダイが垂直構成で積層される、単一の基板を含んでもよい。同様に、SIPは、その上で複数のICまたは半導体ダイが単一化基板(unifying substrate)にパッケージングされる、1つまたは複数のマルチチップモジュール(MCM)を含んでもよい。SIPはまた、単一のマザーボード上、または単一のワイヤレスデバイス内などで、高速通信回路を介して互いに結合され、極めて近接してパッケージングされた、複数の独立したSOCを含んでもよい。SOCの近接性によって、高速通信、ならびにメモリおよびリソースの共有が容易になる。
【0017】
「マルチコアプロセッサ」という用語は、プログラム命令を読み取り、実行するように構成された、2つ以上の独立した処理コア(たとえば、CPUコア、インターネットプロトコル(IP)コア、グラフィックスプロセッサユニット(GPU)コアなど)を含んでいる、単一の集積回路(IC)チップまたはチップパッケージを指すために、本明細書で使用されてもよい。SOCは、複数のマルチコアプロセッサを含んでもよく、SOCにおける各プロセッサは、コアと呼ばれる場合がある。
【0018】
「ビルトインセルフテスト」(BIST)という用語は、コンポーネント(たとえば、SOC、SIPなど)がそれ自体をテストすることを可能にし、それによって、コンポーネントまたはシステムによる外部テスト機器への依存を低下させる、ハードウェアおよび/またはソフトウェアを指すために、本明細書で使用される。コンポーネントのBIST能力は、「インフィールド」のロジックビルトインセルフテスト(LBIST:logic built-in self-test)および/またはメモリビルトインセルフテスト(MBIST:memory built-in self-test)を含んでもよい。そのようなBIST能力を備えたコンポーネントは、永続的な障害を検出し、電源投入(PON)、電源切断(POFF)時、実行時間中に定期的に、オンデマンドで、かつ/またはユーザがプログラム可能な間隔においてフィールドテストを実施してもよい。そのような「フィールドテスト」は、コンポーネントがそれ自体を評価すること、およびその様々な下位コンポーネント(たとえば、回路、プロセッサ、コア、メモリ、ソフトウェア、ファームウェアなど)が正しく、または予想されるように動作中であるかどうかどうかを判定することを可能にしてもよい。
【0019】
「コンテキスト外安全要素」(SEooC:safety element out of context)という用語は、その車両のために特別に、または相手先商標製造会社、サプライヤ、もしくは技術ベンダーによって開発されていない、車両のコンピュータ化されたコンポーネントを指すために、本明細書で使用される。むしろ、SEooCコンポーネントは、コンポーネントが車両内で、または車両によってどのように使用されることになるかを予期する仮定または「仮定された使用事例」に基づいて、設計および構成される。SEooCコンポーネントが完全性要件(たとえば、ASIL-Dなど)に適合することを、検証することが重要である。いくつかの自動車安全規格が、非SEooCコンポーネントとは異なる、SEooCコンポーネントのためのテストおよび安全要件のセットを規定する場合がある。
【0020】
「セーフティクリティカル自動車アプリケーション」という句は、車両の安全な動作にとって重要である機能を指すために、本明細書で使用される。セーフティクリティカル自動車アプリケーションの例は、米国自動車技術者協会(SAE)L1~L5自動運転システム、先進運転支援システム(ADAS)、計器クラスタ、車内インフォテインメント(IVI)、ディスプレイシステム、サラウンドビューシステム、エアバッグシステム、制動システム、パワーステアリングシステム、電子スロットル制御システムなどを含む場合がある。セーフティクリティカル自動車アプリケーションは、中央処理ユニット(CPU)、デジタル信号プロセッサ(DSP)、ネットワーク処理ユニット(NPU)、ニューラルネットワーク信号プロセッサ(NSP)、専用ハードウェアアクセラレータ、SoCインフラストラクチャコアなどの使用を伴ってもよく、それらのいずれかまたはすべてがSEooCコンポーネントであってもよい。
【0021】
セーフティクリティカル自動車アプリケーションに関連付けられたコンポーネントは、そのコンポーネントが予想されるように、かつ/または様々な安全規格および/もしくはリスク分類スキームに従って、正しく動作中であるかどうかを自己評価および自己決定するための、ビルトインセルフテスト(BIST)能力を備えてもよい。しかしながら、従来の解決策を使用すると、重要な機能安全要件への適合を保証するために、コンポーネントのBIST能力を使用することに関連する、いくつかのコンフィギュアビリティおよび並列性の課題がある。これらの課題は、ブートキーパフォーマンスインジケータ(KPI)にわたる、相手先商標製造会社(OEM)にわたる、および/またはSEooCコンポーネントのための仮定される使用事例にわたる、構造的フィールドテストをサポートするとき、多種多様になる場合がある。
【0022】
たとえば、従来の解決策を使用すると、(たとえば、ブートKPIを最適化するためのブートプロセスの間などに)いくつかのコア上で同時にまたは並列に、複数のオンデマンドの構造的インフィールドテストを実行することが困難である。加えて、SOCまたはSIP中に含まれたサブシステムのいずれかまたはすべてのために、電源投入(PON)、電源切断(POFF)時、または実行時間中に定期的に(ミッションモード)セルフテストを実施することに関するコンフィギュアビリティを提供することが困難である。また、BIST能力を介してテストされる必要があるサブシステムに関するコンフィギュアビリティを提供すること、および/またはより高いASILセーフティクリティカル使用事例のためのデバッグもしくはカバレージ拡張のための追加のオンデマンドの構造的インフィールドテストを実行することも困難である場合がある。
【0023】
様々な実施形態は、従来の解決策の上記で説明した技術的課題および制限を克服するように構成されたコンポーネント(たとえば、ADAS SOC、プロセッサなど)を含む。コンポーネントは、いくつかの安全要件へのそれらの適合を検証するためにテストを必要とするサブシステムを識別すること、安全要件へのそれらの適合を検証するために、識別されたサブシステムがシステムパワーアップもしくは電源投入(PON)時、システムパワーダウンもしくは電源切断(POFF)時、実行時間中、またはそれらの組合せにおいてテストされるべきであるかどうかどうかを判定すること、および関連する安全要件へのそれらの適合を検証するために、(たとえば、PON、POFF、実行時間などにおいて)識別されたサブシステムのビルトインセルフテスト(BIST)を実施することを行うように構成されてもよい。いくつかの実施形態では、コンポーネントは、PON、POFF、および/または実行時間においてBISTを実施または実行するための動的構成サポートを提供するように構成されてもよい。
【0024】
いくつかの実施形態は、動的に構成可能な階層型安全スーパバイザモデルを含んでもよい。動的に構成可能な階層型安全スーパバイザモデルは、ローカルスーパバイザおよびグローバルスーパバイザを含んでもよく、ローカルスーパバイザおよびグローバルスーパバイザは、セーフティクリティカル自動車アプリケーションに関連付けられたコンポーネントおよびサブシステムの完全性を保証するために、互いに連動して作動するように構成されてもよい。
【0025】
いくつかの実施形態では、ビルトインセルフテスト(BIST)の実行は、外部プロセッサ(たとえば、ASIL Dプロセッサなど)によって制御されてもよい。外部プロセッサは、セーフティクリティカル自動車アプリケーションに関連付けられたサブシステムを識別すること、識別されたサブシステムのリストを生成すること、および評価のためにコンポーネントにサブシステムのリストを送信することを行うように構成されてもよい。リストの受信に応答して、コンポーネントは、受信されたリスト中に含まれたサブシステムを評価し、かつ/または受信されたリスト中に含まれたサブシステムにBISTを実施させてもよい。いくつかの実施形態では、リストは、相手先商標製造会社(OEM)安全要件、ブートKPI、PON、POFF、安全レベル、IVI、またはADASなど、様々なニーズに基づいて生成されてもよい。
【0026】
いくつかの実施形態では、コンポーネントは、ブート時間最適化をサポートするように構成されてもよい。いくつかの実施形態では、コンポーネントは、サブシステムのリスト(たとえば、外部プロセッサから受信されたリストなど)中に含まれたいくつかのサブシステム上で、BISTを行うための達成可能な並列性を動的に決定するように構成されてもよい。
【0027】
いくつかの実施形態では、コンポーネントは、動的構成サポートを提供し、かつ/または各サブシステム上でBISTを実施または実行するためのカバレージ要件(たとえば、60%、80%、90%など)を動的に選択するように構成されてもよい。
【0028】
カバレージ要件を動的に選択することによって、いくつかの実施形態によるコンポーネントは、セーフティクリティカルサブシステムの、OEM固有のブートキーパフォーマンスインジケータ(KPI)駆動型カバレージ選択を可能にしてもよい。加えて、カバレージ要件の動的選択は、コンポーネントが(たとえば、カーツークラウド(car to cloud)サービス、機能拡張を生じるオーバージエア(OTA)更新などの一部として)厳しいASIL要件に適合することを可能にしてもよい。
【0029】
様々な実施形態は、システムオンチップ(SOC)を含む、いくつかのシングルプロセッサおよびマルチプロセッサコンピュータシステム中で実装され、かつ/または含まれてもよい。
図1は、様々な実施形態を実装するコンピューティングデバイスにおいて使用されてもよい、例示的なシステムオンチップ(SOC)100アーキテクチャを示す。SOC100は、デジタル信号プロセッサ(DSP)103、モデムプロセッサ104、グラフィックスプロセッサ106、モバイルディスプレイプロセッサ(MDP)107、アプリケーションプロセッサ108、ならびにリソースおよび電力管理(RPM:resource and power management)プロセッサ117などの、いくつかの異種プロセッサを含んでもよい。SOC100はまた、異種プロセッサ103、104、106、107、108、117のうちの1つまたは複数に接続された1つまたは複数のコプロセッサ110(たとえば、ベクトルコプロセッサ)を含んでもよい。プロセッサの各々は、1つまたは複数のコア、および独立/内部クロックを含んでもよい。各プロセッサ/コアは、他のプロセッサ/コアから独立した動作を実施してもよい。たとえば、SOC100は、第1のタイプのオペレーティングシステム(たとえば、FreeBSD、LINUX、OS Xなど)を実行するプロセッサと、第2のタイプのオペレーティングシステム(たとえば、Microsoft Windows)を実行するプロセッサとを含んでもよい。いくつかの実施形態では、アプリケーションプロセッサ108は、SOC100のメインプロセッサ、中央処理ユニット(CPU)、マイクロプロセッサユニット(MPU)、算術論理ユニット(ALU)などであってもよい。グラフィックスプロセッサ106は、グラフィックス処理ユニット(GPU)であってもよい。
【0030】
SOC100は、センサデータ、アナログデジタル変換、ワイヤレスデータ送信を管理するための、かつ電子ディスプレイにおけるレンダリングのために符号化オーディオおよびビデオ信号を処理することなどの他の特殊な動作を実施するための、アナログ回路およびカスタム回路114を含んでもよい。SOC100は、プロセッサ、およびコンピューティングデバイス上で実行中のソフトウェアクライアント(たとえば、ウェブブラウザ)をサポートするために使用される、電圧レギュレータ、発振器、位相ロックループ、周辺ブリッジ、データコントローラ、メモリコントローラ、システムコントローラ、アクセスポート、タイマー、および他の同様のコンポーネントなどの、システムコンポーネントおよびリソース116をさらに含んでもよい。SOC100はまた、1つまたは複数のカメラ(たとえば、フロントカメラ、サラウンドビューカメラ、運転者監視カメラ、リアカメラ、および関連する回路など)、カメラファームウェアからのビデオディスプレイデータ、画像処理、ビデオ前処理、ビデオフロントエンド(VFE)、インラインJPEG、高精細度ビデオコーデックなどの動作を含み、提供し、制御し、かつ/または管理する、専用回路(CAM)105も含む。CAM105は、独立処理ユニットであってもよく、かつ/または独立もしくは内部クロックを含んでもよい。
【0031】
システムコンポーネントおよびリソース116、カスタム回路114、ならびに/またはCAM105は、カメラ、電子ディスプレイ、ワイヤレス通信デバイス、外部メモリチップなどの周辺デバイスとインターフェースするための回路を含んでもよい。プロセッサ103、104、106、107、108は、再構成可能論理ゲートのアレイを含み、かつ/またはバスアーキテクチャ(たとえば、CoreConnect、AMBAなど)を実装してもよい、インターコネクト/バスモジュール124を介して、1つまたは複数のメモリ要素112、システムコンポーネントおよびリソース116、カスタム回路114、CAM105、およびRPM117にインターコネクトされてもよい。通信は、高性能ネットワークオンチップ(NoC)などの高度なインターコネクト部によって行われてもよい。
【0032】
SOC100は、クロック118および電圧レギュレータ120などの、SOCの外部のリソースと通信するための入力/出力インターフェースモジュール126をさらに含んでもよい。SOCの外部のリソース(たとえば、クロック118または電圧レギュレータ120)は、内部SOCプロセッサ/コア(たとえば、DSP103、モデムプロセッサ104、グラフィックスプロセッサ106、アプリケーションプロセッサ108など)のうちの2つ以上によって共有されてもよい。
【0033】
いくつかの実施形態では、SOC100は、自動車中に含まれてもよい、コンピューティングデバイス102中に含まれてもよい。コンピューティングデバイス102は、電話ネットワーク、インターネット、ネットワークサーバとの、または車両内部の他の電子制御ユニット(ECU)への通信のための通信リンクを含んでもよい。コンピューティングデバイス102とネットワークサーバとの間の通信は、電話ネットワーク、インターネット、プライベートネットワーク、車両ネットワーク、またはそれらの任意の組合せを通して達成されてもよい。
【0034】
SOC100はまた、スピーカーを含むセンサからセンサデータを収集するために好適である追加のハードウェアおよび/またはソフトウェアコンポーネント、ユーザインターフェース要素(たとえば、入力ボタン、タッチスクリーンディスプレイなど)、マイクロフォンアレイ、物理条件(たとえば、ロケーション、方向、運行、向き、振動、圧力など)を監視するためのセンサ、カメラ、コンパス、全地球測位システム(GPS)レシーバ、通信回路(たとえば、Bluetooth(登録商標)、WLAN、Wi-Fiなど)、ならびに現代の電子デバイスのよく知られている他のコンポーネント(たとえば、加速度計など)を含んでもよい。
【0035】
上記で説明したコンピューティングデバイス102およびSOC100に加えて、様々な実施形態は、多種多様なコンピューティングシステムにおいて実装されてもよく、コンピューティングシステムは、単一のプロセッサ、複数のプロセッサ、マルチコアプロセッサ、またはそれらの任意の組合せを含んでもよい。
【0036】
図2A~
図2Fは、いくつかの実施形態による、セーフティクリティカル自動車アプリケーションの論理およびメモリの完全性を検証または保証するために使用されることが可能である、動的に構成可能な階層型安全スーパバイザモデルを含むかまたは実装する、基板、SIP、またはSOC中に含まれてもよい例示的なコンポーネントを示す。詳細には、
図2Aは、アプリケーションプロセッササブシステム(APSS)202と、カメラ204と、デジタル信号プロセッサ(DSP)206と、様々な内部プロセッサコア(IP)208と、セルフテストサーバ(STS)210と、ローカル安全スーパバイザ212とを含む、SOC/SIP200を示す。APSS202は、プライマリブートプロセッサとして動作するように構成されてもよい。APSS(ブートプロセッサ)202およびローカル安全スーパバイザ212は、STS210、およびSOC200の外側にあるグローバル安全スーパバイザ214と通信するように各々構成されてもよい。いくつかの実施形態(たとえば、
図2Dおよび
図2Eに示す実施形態など)では、グローバル安全スーパバイザ214は、同じSoC200上に含まれてもよい。
【0037】
APSS202は、ローカル安全スーパバイザ212をテストするために、STS210と通信するように構成されてもよい。ローカル安全スーパバイザ212は、SOC200上のコンポーネント202~208のいずれかまたはすべてをテストするために、STS210と通信するように構成されてもよい。ローカル安全スーパバイザ212は、グローバル安全スーパバイザ214に機能安全割込みを送信するように構成されてもよい。
【0038】
ローカル安全スーパバイザ212は、コンポーネント202~208、212、214のいずれかまたはすべてからの入力を受信するように構成される、専用ローカルスーパバイザ安全マネージャであってもよい。ローカル安全スーパバイザ212は、入力(たとえば、CPU入力、GPU入力など)のうちの1つまたは複数に基づいて、誤り出力(ERROR)、障害出力(FAULT)、および/または割込み出力(INTERRUPT)を生成するように構成されてもよい。ローカル安全スーパバイザ212は、システムパワーアップ、パワーダウン中、および/または現地で実行時間中にデバイス上で、BIST動作などのアクションまたは動作を開始するために、生成された出力(または障害アグリゲータもしくは任意の他の車載処理ユニット)をグローバル安全スーパバイザ214に送信するか、またはグローバル安全スーパバイザ214に代わってアクションを取ってもよい。いくつかの実施形態では、ローカル安全スーパバイザ212は、(たとえば、STS210などを介して)生成された出力をAPSS202に送信してもよい。
【0039】
いくつかの実施形態では、ローカル安全スーパバイザ212は、SOC200上のコンポーネントおよびサブシステムのいずれかまたはすべてを監視するように構成されてもよい。
【0040】
図2Bおよび
図2Cは、SAEレベル1からレベル5までに及ぶ自動運転システム、または同等の自動運転システムにおいて使用するために好適な、動的に構成可能な階層型安全スーパバイザモデルを含む、SoC/SIPを示す。
【0041】
詳細には、
図2Bは、APSS202の形態のプライマリブートプロセッサと、電力管理集積回路(PMIC)222、224と、ASIL D SOC226とを含む、SIP220を示す。PMIC222、224の各々は、監督(SUP)223、225コンポーネントを含んでもよい。ASIL D SOC226は、中央障害コレクタ230を含む、専用CPUグローバル安全スーパバイザコア228を含んでもよい。ローカル安全スーパバイザ212は、ローカルスーパバイザとして動作するように構成されてもよく、専用CPUグローバル安全スーパバイザコア228は、グローバルスーパバイザとして動作するように構成されてもよい。
【0042】
図2Cは、2つのプライマリブートプロセッサ202a、202bと、監督(SUP)223、225、243コンポーネントを各々含む3つのPMIC222、224、242と、ASIL D SOC226とを含む、SIP240を示す。
図2Cに示した例では、ローカル安全スーパバイザ212a、212bコンポーネントは、ローカルスーパバイザとして動作するように構成されてもよく、専用CPUグローバル安全スーパバイザコア228は、グローバルスーパバイザとして動作するように構成されてもよい。
【0043】
ローカルスーパバイザおよびグローバルスーパバイザは、ハードウェアコンポーネントが正しくまたは予想されるように動作中であることを検証するために、(たとえば、実行時間中などに)それらのコンポーネントにインフィールドBISTを実施させることによって、セーフティクリティカル使用事例またはセーフティクリティカル自動車アプリケーションに関わるハードウェアコンポーネントの完全性を保証するように動作してもよい。したがって、ローカルスーパバイザおよびグローバルスーパバイザは、SOC/SIPの寿命にわたっていかなるインフィールドの構造上の障害をも検出するために、セーフティクリティカルコンポーネントの論理およびメモリのためのセルフテストに関する要件の履行を保証してもよい。
【0044】
プライマリブートプロセッサAPSS202は、ブート構成ピン252の値に基づいて、PONまたはPOFF時にローカル安全スーパバイザ上でBISTを実施するように構成されてもよい。プライマリブートプロセッサAPSS202は、4つの異なる状態(たとえば、PON、POFF、NO_BIST、Future-use)を表すために、2つの汎用入力/出力(GPIO)ピンを割り当ててもよい。いくつかの実施形態では、プライマリブートプロセッサAPSS202は、制限されたあらかじめ定義された選択肢を用いて、静的テーブルから構成選択を実施するように構成されてもよい。
【0045】
グローバルスーパバイザは、SIP上のコンポーネントおよびシステムのいずれかまたはすべてを監視し、ブートconfigピン252およびSPIインターフェース254に基づいて、他のサブシステムのBISTを行うために、ローカルスーパバイザをガイドするように構成されてもよい。
【0046】
ローカルスーパバイザおよびグローバルスーパバイザは、いくつかの安全要件へのそれらの適合を検証するためにテストを必要とするサブシステムを識別すること、(たとえば、安全要件へのそれらの適合を検証するために)識別されたサブシステムがPON時、POFF時、実行時間中、またはそれらの組合せにおいてテストされるべきであるかどうかどうかを判定すること、識別されたサブシステムのための達成可能な並列性を動的に決定すること、各識別されたサブシステム上でBISTを実施または実行するためのカバレージ要件(たとえば、60%、80%、90%など)を動的に決定すること、および識別されたサブシステム上でBISTを実施または実行することを行うために、通信インターフェースを介して、上記で説明したように、互いに連動して作動するように構成されてもよい。グローバル安全スーパバイザは、SPIインターフェース254、またはUART、I2C、イーサネット、CANなどのような任意の他の通信インターフェースを使用して、ローカル安全スーパバイザに構成情報(たとえば、302~314)を共有してもよい。
【0047】
図3は、いくつかの実施形態による、電子コンポーネントが予想されるように、または関連する安全規格に従って正しく動作中であるかどうかどうかを判定するための、車両中に含まれた電子コンポーネントをインフィールドテストする方法300を示す。方法300における動作の全部または部分は、マイクロコントローラ(MCU)、プロセッサ、処理コア、または
図1および
図2A~
図2Eに示されたAP/CPU108に結合された専用ローカルスーパバイザ安全マネージャ212など、車両中に含まれたコンポーネントによって実施されてもよい。
【0048】
いくつかの実施形態では、ブートプロセッサがローカル安全スーパバイザのLBISTおよびMBISTを完了した後、ローカル安全スーパバイザは、制御を取り、グローバル安全スーパバイザとの安全な通信チャネルを確立してもよい。この安全な通信チャネルは、任意のタイプのシリアルまたはパラレル通信インターフェース(たとえば、SPI、I2C、UART、イーサネット、CANなど)であることが可能である。グローバル安全スーパバイザは、ローカル安全スーパバイザに様々な可能な構成を通知するために、これらの安全な通信チャネルを使用してもよい。
【0049】
図3を参照すると、ブロック302において、コンポーネント(たとえば、ローカル安全スーパバイザ212)は、車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信してもよい。いくつかの実施形態では、コンポーネントは、専用CPUローカルスーパバイザコア212(
図2B)などの外部プロセッサから、サブシステムのリストを受信してもよい。いくつかの実施形態では、コンポーネントは、プライマリブートプロセッサの外部にある自動車安全度水準D(ASIL-D)プロセッサから、サブシステムのリストを受信してもよい。いくつかの実施形態では、リストは、OEM安全要件、ブートKPI、PON、POFF、安全レベル、IVI、またはADASなど、ニーズまたは要件に基づいて生成されてもよい。
図2Dおよび
図2Eを参照しながら例示および説明した実施形態など、いくつかの実施形態では、テストされるべきサブシステムのリストは、同じSoC内のASIL Dサブシステムから受信されてもよい。
【0050】
ブロック304において、コンポーネントは、識別されたサブシステムの各々について、サブシステムが電源投入(PON)時、電源切断(POFF)時、または実行時間中にテストされることを、安全要件への適合の検証が必要とするかどうかどうかを判定してもよい。PON時、ローカル安全スーパバイザは、場合によっては、テストケースの最小セットを実行してもよい。たとえば、MBISTは、検証するために書込みおよび読出しをするために、0x0000または0xFFFFなどのテストパターンを使用して実行してもよい。POFF時、テストパターンは、0xAAAA、0x5555、0x00FF、0xFF00、0xAA55、0x55AAなどに増加されてもよく、テストパターンリストが増大してもよい。
【0051】
ブロック306において、コンポーネントは、識別されたサブシステムの各々のための永続的な障害検出のための並列性のレベルを動的に決定してもよい。並列性のレベルは、電流引き込み要件、電力配信ネットワーク(PDN)分析、並列に実行することができるサブシステムまたは周辺機器またはIPブロックを決定する熱シナリオなどに依存してもよい。この情報は、前もってシステム特性化チームによって収集されてもよく、かつ/またはコア/サブシステム/IP/周辺機器の異なる可能な組合せをサポートするために、SoCソフトウェアによってキャプチャされてもよい。最終使用事例要件に基づいて、SoCソフトウェアは、電流、PDN、および熱プロファイルを満たす可能性が最も低い時間において、システムがセルフテストを実行することを保証するために、並列に実行することができるコア/サブシステム/IP/周辺機器を動的に選定してもよい。
【0052】
ブロック308において、コンポーネントは、基礎をなす自動車使用事例要件に基づいて、セルフテストが実施されることを、サブシステムが必要とするかどうかを動的に決定してもよい。
【0053】
ブロック310において、コンポーネントは、ブートKPI要件に基づいて、セルフテストが実施されることを、サブシステムが必要とするかどうかを動的に決定してもよい。
【0054】
ブロック312において、コンポーネントは、そのサブシステム上でBISTを実施するために必要とされるカバレージレベルを動的に決定してもよい。いくつかの実施形態では、コンポーネントは、Boot_Configピンに基づいて、安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかどうかを判定してもよい。グローバル安全スーパバイザもまた、PON、POFF時にローカル安全スーパバイザ上でセルフテストを実行すること、または決して実行しないことのいずれかのために、ブートconfig GPIOピンを介して、ブートプロセッサに通知してもよい。したがって、GPIOブートconfigピンが使用されてもよい。
【0055】
ブロック314において、コンポーネントは、決定された並列性のレベルにおいて、および決定されたカバレージレベルにおいて、識別されたサブシステム上でBISTを実施してもよい。加えて、各安全使用事例は、セルフテストがPONまたはPOFF時に実行されることに基づいて、異なる安全カバレージレベルを選定することを望む場合がある。
【0056】
様々な実施形態は、車両内の様々な電子コンポーネント上に実装されてもよく、その一例が車両ディスプレイユニット400の形態で
図4に示されている。車両ディスプレイユニット400は、内部メモリ404に結合されたプロセッサ402と、ディスプレイ412と、スピーカー414とを含んでもよい。加えて、車両ディスプレイユニット400は、プロセッサ402に結合されたワイヤレスデータリンクおよび/またはセルラー電話トランシーバ408に接続されてもよい、電磁放射を送信および受信するためのアンテナ410を含んでもよい。車両ディスプレイユニット400はまた、ユーザ入力を受信するためのメニュー選択ボタンまたはロッカースイッチ420を含んでもよい。
【0057】
車両ディスプレイユニット400は、マイクロフォンから受信された音をワイヤレス送信に適したデータパケットにデジタル化するとともに、受信された音データパケットを復号して、音を生成するためにスピーカーに提供されるアナログ信号を生成する、音声符号化/復号(CODEC)回路406を含むことができる。また、プロセッサ402、ワイヤレストランシーバ408、およびCODEC406のうちの1つまたは複数は、デジタル信号プロセッサ(DSP)回路(個別に図示せず)を含んでもよい。
【0058】
プロセッサ402は、以下で説明する様々な実施形態の機能を含む、様々な機能を実施するようにソフトウェア命令(アプリケーション)によって構成されることが可能である任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、あるいは1つまたは複数の多重プロセッサチップであってもよい。いくつかのモバイルデバイスでは、ワイヤレス通信機能に専用の1つのプロセッサ、および他のアプリケーションを実行するのに専用の1つのプロセッサなどの、複数のプロセッサ402が設けられてもよい。通常、ソフトウェアアプリケーションは、アクセスされ、プロセッサ402にロードされる前に、内部メモリ404に記憶されてもよい。プロセッサ402は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含んでもよい。
【0059】
実装例について、以下の段落において説明する。以下の実装例のうちのいくつかについて、例示的な方法に関して説明するが、さらなる例示的な実装形態は、以下の実装例の方法の動作を実施するようにプロセッサ実行可能命令で構成されたプライマリブートプロセッサを含む、車両における使用のためのコンピューティングデバイスによって実装される、以下の段落において説明する例示的な方法と、以下の実装例の方法の機能を実施するための手段を含む、車両における使用のためのコンピューティングデバイスによって実装される、以下の段落において説明する例示的な方法と、車両における使用のためのコンピューティングデバイスのプロセッサに以下の実装例の方法の動作を実施させるように構成されたプロセッサ実行可能命令を記憶した、非一時的プロセッサ可読記憶媒体として実装される、以下の段落において説明する例示的な方法とを含んでもよい。
【0060】
例1.車両中に含まれた電子コンポーネントをインフィールドテストする方法は、プライマリブートプロセッサの専用ローカルスーパバイザ安全マネージャコンポーネントにおいて、車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信するステップと、専用ローカルスーパバイザ安全マネージャコンポーネントによって、サブシステムのリスト中の各サブシステムについて、サブシステムがPON時、POFF時、または実行時間中にテストされることを、安全要件への適合の検証が必要とするかどうかどうかを判定するステップと、専用ローカルスーパバイザ安全マネージャコンポーネントによって、サブシステムのリスト中の各サブシステムについて、そのサブシステム上でBISTを実施するために必要とされるカバレージレベルを動的に決定するステップと、決定されたカバレージレベルにおいて、サブシステム上でBISTを実施するステップとを含む。
【0061】
例2.方法が、専用ローカルスーパバイザ安全マネージャコンポーネントによって、サブシステムのリスト中の各サブシステムのための並列性のレベルを動的に決定するステップをさらに含み、決定されたカバレージレベルにおいて、サブシステム上でBISTを実施するステップが、決定された並列性のレベルにおいて、および決定されたカバレージレベルにおいて、サブシステム上でBISTを実施するステップを含む、例1の方法。
【0062】
例3.車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信するステップが、プライマリブートプロセッサの外部にあるプロセッサから、サブシステムのリストを受信するステップを含む、例1または例2のいずれかの方法。
【0063】
例4.プライマリブートプロセッサの外部にあるプロセッサから、サブシステムのリストを受信するステップが、プライマリブートプロセッサの外部にあるASIL-Dプロセッサから、サブシステムのリストを受信するステップを含む、例3の方法。
【0064】
例5.車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信するステップが、プライマリブートプロセッサ中に含まれるプロセッサから、サブシステムのリストを受信するステップを含む、例1から4のいずれかの方法。
【0065】
例6.プライマリブートプロセッサ内に含まれるプロセッサから、サブシステムのリストを受信するステップが、プライマリブートプロセッサ中に含まれるASIL-Dプロセッサから、サブシステムのリストを受信するステップを含む、例5の方法。
【0066】
例7.Boot_Configピンに基づいて、SMSS上でBISTを実施するかどうかどうかを判定するステップをさらに含む、例1から6のいずれかの方法。
【0067】
例8.2つのGPIOコンポーネント上の値に基づいて、PONまたはPOFF時にSMSS上でBISTを実施するかどうかどうかを判定するステップをさらに含む、例1から7のいずれかの方法。
【0068】
いくつかの異なるタイプのメモリおよびメモリ技術が利用可能であるか、または将来において企図され、それらのいずれかまたはすべてが、様々な実施形態を実装するシステムおよびコンピューティングデバイス中に含まれ、それにおいて使用されてもよい。そのようなメモリ技術/タイプは、磁気抵抗RAM(M-RAM)、抵抗ランダムアクセスメモリ(ReRAMまたはRRAM)、相変化ランダムアクセスメモリ(PC-RAM、PRAM、またはPCM)、強誘電体RAM(F-RAM)、スピン転送トルク磁気抵抗ランダムアクセスメモリ(STT-MRAM)、および3次元クロスポイント(3D-XPOINT)メモリなど、不揮発性ランダムアクセスメモリ(NVRAM)を含んでもよい。そのようなメモリ技術/タイプはまた、プログラマブル読取り専用メモリ(PROM)、フィールドプログラマブル読取り専用メモリ(FPROM)、ワンタイムプログラマブル不揮発性メモリ(OTP NVM)など、不揮発性または読取り専用メモリ(ROM)技術を含んでもよい。そのようなメモリ技術/タイプは、ダイナミックランダムアクセスメモリ(DRAM)、ダブルデータレート(DDR)同期ダイナミックランダムアクセスメモリ(DDR SDRAM)、スタティックランダムアクセスメモリ(SRAM)、および擬似スタティックランダムアクセスメモリ(PSRAM)など、揮発性ランダムアクセスメモリ(RAM)技術をさらに含んでもよい。様々な実施形態を実装するシステムおよびコンピューティングデバイスはまた、FLASHメモリなど、電子的(ソリッドステート)不揮発性コンピュータ記憶媒体を含むかまたは使用してもよい。上述のメモリ技術の各々は、たとえば、車両の先進運転支援システム(ADAS)、システムオンチップ(SOC)、または他の電子コンポーネントにおいて、またはそれによって使用するための命令、プログラム、制御信号、および/またはデータを記憶するために好適な要素を含む。個々のタイプのメモリ、インターフェース、規格、またはメモリ技術に関係する用語および/または技術的詳細に対するいかなる言及も例示目的にすぎず、請求項の文言に具体的に記載されない限り、特許請求の範囲を特定のメモリシステムまたは技術に限定するものではない。
【0069】
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供したものであり、様々な実施形態のステップが提示された順序で実施されなければならないことを要求または暗示するものではない。当業者なら諒解するように、上記の実施形態におけるステップの順序は、任意の順序で実施されてもよい。「その後」、「次いで」、「次に」などの語は、ステップの順序を限定するものではなく、これらの語は単に、方法の説明を通じて読者を導くために使用される。さらに、たとえば、冠詞"a"、"an"、または"the"を使用する、単数形での請求項の要素へのいかなる言及も、その要素を単数形に限定するものとして解釈すべきではない。
【0070】
本出願で使用する「コンポーネント」、「コンパレータ」、「エンコーダ」、「要素」、「システム」などの用語は、限定はしないが、特定の動作または機能を実施するように構成される、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなど、コンピュータ関連エンティティを含むものとする。たとえば、コンポーネントは、限定はしないが、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであってもよい。例として、コンピューティングデバイス上で実行しているアプリケーションとコンピューティングデバイスの両方は、コンポーネントと呼ばれる場合がある。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に存在してもよく、コンポーネントは、1つのプロセッサもしくはコア上で局所化されてもよく、かつ/または2つ以上のプロセッサもしくはコアの間で分散されてもよい。加えて、これらのコンポーネントは、様々な命令および/またはデータ構造を記憶した様々な非一時的コンピュータ可読媒体から実行してもよい。コンポーネントは、ローカルプロセスおよび/またはリモートプロセス、関数呼出しまたはプロシージャ呼出し、電子信号、データパケット、メモリ読取り/書込み、ならびに他の知られているネットワーク、コンピュータ、プロセッサ、および/またはプロセス関連の通信方法によって通信してもよい。
【0071】
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装されてもよい。ハードウェアとソフトウェアとのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上記で説明されている。そのような機能がハードウェアとして実装されるのか、それともソフトウェアとして実装されるのかは、特定の適用例およびシステム全体に課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装してもよいが、そのような実装決定は、特許請求の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
【0072】
本明細書で開示する実施形態に関して説明する様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェアコンポーネント、または本明細書で説明する機能を実施するように設計されたそれらの任意の組合せを用いて実装または実施されてもよい。汎用プロセッサはマルチプロセッサであってもよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマルチプロセッサの組合せ、複数のマルチプロセッサ、DSPコアと連携する1つまたは複数のマルチプロセッサ、または任意の他のそのような構成として実装されてもよい。代替的に、いくつかのステップまたは方法は、所与の機能に特有の回路によって実施されてもよい。
【0073】
1つまたは複数の例示的な実施形態では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装されてもよい。ソフトウェアにおいて実装される場合、機能は、非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体上の1つまたは複数のプロセッサ実行可能命令またはコードとして記憶されてもよい。本明細書で開示する方法またはアルゴリズムのステップは、非一時的コンピュータ可読またはプロセッサ可読記憶媒体上に存在する場合があるプロセッサ実行可能ソフトウェアモジュールにおいて具現化されてもよい。非一時的コンピュータ可読またはプロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスされてもよい任意の記憶媒体であってもよい。限定ではなく例として、そのような非一時的コンピュータ可読またはプロセッサ可読媒体は、RAM、ROM、EEPROM、FLASHメモリ、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用される場合があり、かつコンピュータによってアクセスされる場合がある任意の他の媒体を含んでもよい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、非一時的コンピュータ可読およびプロセッサ可読媒体の範囲に含まれる。追加として、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれてもよい、非一時的プロセッサ可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せまたはセットとして存在してもよい。
【0074】
開示する実施形態の前述の説明は、任意の当業者が特許請求の範囲を製作または使用することを可能にするために提供される。これらの実施形態への様々な修正が当業者には容易に明らかになり、本明細書において定義される一般原理は、特許請求の範囲から逸脱することなく他の実施形態に適用されてもよい。したがって、特許請求の範囲は、本明細書に示す実施形態に限定されることを意図しておらず、以下の特許請求の範囲、ならびに本明細書で開示する原理および新規の特徴と一致する最も広い範囲を与えられるべきである。
【符号の説明】
【0075】
100 システムオンチップ(SOC)、SOC
102 コンピューティングデバイス
103 デジタル信号プロセッサ(DSP)、異種プロセッサ、プロセッサ、DSP
104 モデムプロセッサ、異種プロセッサ、プロセッサ
105 専用回路(CAM)、CAM
106 グラフィックスプロセッサ、異種プロセッサ、プロセッサ
107 モバイルディスプレイプロセッサ(MDP)、異種プロセッサ、プロセッサ
108 アプリケーションプロセッサ、異種プロセッサ、プロセッサ、AP/CPU
110 コプロセッサ
112 メモリ要素
114 アナログ回路およびカスタム回路、カスタム回路
116 システムコンポーネントおよびリソース
117 リソースおよび電力管理(RPM)プロセッサ、異種プロセッサ、RPM
118 クロック
120 電圧レギュレータ
124 インターコネクト/バスモジュール
126 入力/出力インターフェースモジュール
200 SOC/SIP、SOC、SoC
202 アプリケーションプロセッササブシステム(APSS)、APSS(ブートプロセッサ)、APSS、コンポーネント、プライマリブートプロセッサAPSS
202a、202b プライマリブートプロセッサ
204 カメラ、コンポーネント
206 デジタル信号プロセッサ(DSP)、コンポーネント
208 様々な内部プロセッサコア(IP)、コンポーネント
210 セルフテストサーバ(STS)、STS
212 ローカル安全スーパバイザ、コンポーネント、専用ローカルスーパバイザ安全マネージャ、専用CPUローカルスーパバイザコア
212a、212b ローカル安全スーパバイザ
214 グローバル安全スーパバイザ、コンポーネント
220、240 SIP
222、224 電力管理集積回路(PMIC)、PMIC
223、225、243 監督(SUP)
226 ASIL D SOC
228 専用CPUグローバル安全スーパバイザコア
230 中央障害コレクタ
242 PMIC
252 ブート構成ピン、ブートconfigピン
254 SPIインターフェース
400 車両ディスプレイユニット
402 プロセッサ
404 内部メモリ
406 音声符号化/復号(CODEC)回路、CODEC
408 ワイヤレスデータリンクおよび/またはセルラー電話トランシーバ、ワイヤレストランシーバ
410 アンテナ
412 ディスプレイ
414 スピーカー
420 メニュー選択ボタンまたはロッカースイッチ
【手続補正書】
【提出日】2023-07-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピューティングデバイスであって、
プライマリブートプロセッサであって、
車両のセーフティクリティカル自動車アプリケーションに関連付けられるサブシステムのリストを受信することと、
前記
受信されたサブシステムのリスト中の各サブシステムについて、前記サブシステムが電源投入(PON)時、電源切断(POFF)時、または実行時間中にテストされることを、安全要件への適合の検証が必要とするかどうかを判定
することと、
前記
受信されたサブシステムのリスト中の各サブシステムについて、そのサブシステム上でビルトインセルフテスト(BIST)を実施するために必要とされるカバレージレベルを動的に
決定することと、
前記安全要件への適合を検証するために、PON、POFF、または実行時間において、前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを
実施することと
を行うようにプロセッサ実行可能ソフトウェア命令で構成される、プライマリブートプロセッサ
を備える、コンピューティングデバイス。
【請求項2】
前記
プライマリブートプロセッサが、
前記
受信されたサブシステムのリスト中の各サブシステムのための並列性のレベルを動的に
決定することと、
前記安全要件への適合を検証するために、PON、POFF、または実行時間において、前記決定された並列性のレベルにおいて、および前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを実施すること
によって、前記安全要件への適合を検証するために、PON、POFF、または実行時間において、前記決定されたカバレージレベルにおいて、前記サブシステム上でBISTを
実施することと
を行うようにさらに
構成される、請求項1に記載の
コンピューティングデバイス。
【請求項3】
前記プライマリブートプロセッサが、前記プライマリブートプロセッサの外部にあるプロセッサから前記サブシステムのリストを受信することによって、前記車両の前記セーフティクリティカル自動車アプリケーションに関連付けられる前記サブシステムのリストを受信するように構成される、請求項
1に記載のコンピューティングデバイス。
【請求項4】
前記プライマリブートプロセッサが、前記プライマリブートプロセッサの外部にある自動車安全度水準D(ASIL-D)プロセッサから前記サブシステムのリストを受信することによって、前記プライマリブートプロセッサの外部にある前記プロセッサから、前記サブシステムのリストを受信するように構成される、請求項
3に記載のコンピューティングデバイス。
【請求項5】
前記プライマリブートプロセッサが、前記プライマリブートプロセッサ中に含まれるプロセッサから前記サブシステムのリストを受信することによって、前記車両の前記セーフティクリティカル自動車アプリケーションに関連付けられる前記サブシステムのリストを受信するように構成される、請求項
1に記載のコンピューティングデバイス。
【請求項6】
前記プライマリブートプロセッサが、前記プライマリブートプロセッサ中に含まれる自動車安全度水準D(ASIL-D)プロセッサから、前記サブシステムのリストを受信することによって、前記プライマリブートプロセッサ内に含まれる前記プロセッサから前記サブシステムのリストを受信するように構成される、請求項
5に記載のコンピューティングデバイス。
【請求項7】
前記プライマリブートプロセッサが、Boot_Configピンに基づいて、安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかを判定するように構成される、請求項
1に記載のコンピューティングデバイス。
【請求項8】
前記プライマリブートプロセッサが、2つの汎用入力/出力(GPIO)コンポーネント上の値に基づいて、PONまたはPOFF時に安全マネージャサブシステム(SMSS)上でBISTを実施するかどうかを判定するように構成される、請求項
1に記載のコンピューティングデバイス。
【国際調査報告】