KR102600734B1 - 자동차 시스템들에 대한 동적 재구성가능 인-필드 셀프-테스트능력 - Google Patents
자동차 시스템들에 대한 동적 재구성가능 인-필드 셀프-테스트능력 Download PDFInfo
- Publication number
- KR102600734B1 KR102600734B1 KR1020237025327A KR20237025327A KR102600734B1 KR 102600734 B1 KR102600734 B1 KR 102600734B1 KR 1020237025327 A KR1020237025327 A KR 1020237025327A KR 20237025327 A KR20237025327 A KR 20237025327A KR 102600734 B1 KR102600734 B1 KR 102600734B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- subsystems
- delete delete
- list
- safety
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 50
- 238000012795 verification Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 description 46
- 230000015654 memory Effects 0.000 description 40
- 230000006870 function Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 6
- 239000000758 substrate Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007847 structural defect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/27—Built-in tests
-
- E—FIXED CONSTRUCTIONS
- E03—WATER SUPPLY; SEWERAGE
- E03C—DOMESTIC PLUMBING INSTALLATIONS FOR FRESH WATER OR WASTE WATER; SINKS
- E03C1/00—Domestic plumbing installations for fresh water or waste water; Sinks
- E03C1/02—Plumbing installations for fresh water
- E03C1/04—Water-basin installations specially adapted to wash-basins or baths
- E03C1/046—Adding soap, disinfectant, or the like in the supply line or at the water outlet
- E03C1/0465—Adding soap, disinfectant, or the like in the supply line or at the water outlet by mounting an independent soap dispenser to outlet of tap
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
- G06F11/2242—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Hydrology & Water Resources (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
여러 실시형태들은 안전성 요건의 이들의 준수를 검증하기 위하여 테스트를 요구하는 서브시스템들을 식별하도록 구성된 컴포넌트들 (예를 들어, 차량의 어드밴스드 운전자 보조 시스템 내의 프로세서) 을 포함한다. 컴포넌트들은 준수의 검증이, 서브시스템들이 PON에서, POFF에서, 런타임 동안 또는 이들의 조합에서 테스트되는 것을 요구하는지 여부를 결정하고, 식별된 서브시스템들을 테스트하기 위해 달성가능한 병렬성을 동적으로 결정하고, 각각의 식별된 서브시스템에 대해 빌트 인 셀프 테스트들(BIST들)을 수행하거나 실행하기 위한 커버리지 레벨 요건들을 동적으로 결정하고, 결정된 병렬성의 레벨에서 그리고 결정된 커버리지 레벨에서 서브시스템들에 대해 BIST들을 수행하거나 실행할 수 있다.
Description
관련된 출원들
본 출원은 발명의 명칭이 "Dynamically Re-Configurable In-Field Self-Test Capability For Automotive Systems"이고 2022년 1월 29일자로 출원된 미국 특허 출원 제17/161,731호에 대한 우선권의 이익을 주장하며, 그 전체 내용들은 모든 목적들을 위해 본 명세서에 참조에 의해 통합된다.
지난 수년 동안, 최신 자동차는 자체 추진 기계 차량으로부터, 차량의 많은 기능들, 피처들 및 동작들을 제어하는 다수의 프로세서들, 센서들, 및 시스템-온-칩들 (SOCs) 을 포함하는 강력하고 복잡한 전자기 시스템으로 바뀌었다. 더 최근에는, 제조업체들은 차량의 동작을 자동화, 조정, 또는 강화하는 SCADS (Safety Critical Automated Driving Systems) 및 ADAS들 (Advanced Driver Assistance Systems) 을 자동차에 탑재하기 시작하였다. 예를 들어, ADAS 는 잠재적인 도로 위험을 자동으로 검출하기 위해 자동차의 센서들 (예를 들어, 가속도계, 레이더, 라이다, 지리공간적 포지셔닝 등) 로부터 수집된 정보를 사용하고, 검출된 위험을 회피하기 위해 차량의 동작들 (예를 들어, 제동, 스티어링 등) 의 전부 또는 일부에 대한 제어를 가정하도록 구성될 수 있다. ADAS 와 일반적으로 연관된 피처들 및 기능들은 적응형 순항 제어, 자동화된 차선 검출, 차선 이탈 경고, 자동화된 조향, 자동화된 제동, 및 자동화된 사고 회피를 포함한다.
자동차의 주행 속도와 자동차가 탑승자와 보행자의 생명에 미치는 중대한 리스크에 기인하여 오늘날의 자동차는 안전 표준과 리스크 분류 방식에 점점 더 의존하고 있다. 하나의 이러한 표준은 ISO (International Organization for Standardization) 26262 Functional Safety For Road Vehicles (이하, ISO 26262 라고 함) 에서 정의되며, 이는 여러 안전성 요건들을 정의하는 ASIL (Automotive Safety Integrity Level) 리스크 분류 방식을 포함한다. 차량 기능 또는 시스템은 4개의 점진적으로 더 엄격한 ASIL 레벨들: ASIL A, ASIL B, ASIL C, 및 ASIL D 중 하나로 분류될 수 있다. ASIL A 는 가장 낮거나 가장 적은 엄격한 무결성 요건들을 포함하고, ASIL D는 가장 높거나 가장 큰 엄격한 무결성 요건들을 포함한다.
다양한 양태들은 차량에 포함된 전자 컴포넌트들을 인-필드 테스트하는 방법들을 포함하며, 이는 프라이머리 부트 프로세서의 전용 로컬 슈퍼바이저 안전 관리기 컴포넌트에서, 차량의 안전 필수 자동차 애플리케이션과 연관된 서브시스템들의 리스트를 수신하는 단계, 서브시스템들의 리스트에서 각각의 서브시스템에 대한 전용 로컬 슈퍼바이저 안전 관리기 컴포넌트에 의해, 안전성 요건의 준수의 검증이, 서브시스템이 PON (power-on) 시, POFF (power-off) 시, 또는 런타임 동안에 테스트되는 것을 요구하는지의 여부를 결정하는 단계, 서브시스템들의 리스트에서 각각의 서브시스템에 대한 전용 로컬 슈퍼바이저 안전 관리기 컴포넌트에 의해, 그 서브시스템에 대한 BIST (built in self test) 를 수행하기 위해 요구되는 커버리지 레벨을 동적으로 결정하는 단계, 및 결정된 커버리지 레벨에서 서브시스템들에 대해 BIST들을 수행하는 단계를 포함한다.
일부 양태들은 전용 로컬 슈퍼바이저 안전 관리기 컴포넌트에 의해 서브시스템들의 리스트 내의 각각의 서브시스템에 대한 병렬성 레벨을 동적으로 결정하는 것을 포함할 수 있고, 여기서 결정된 커버리지 레벨에서 서브시스템들에 대해 BIST들을 수행하는 것은 결정된 병렬성 레벨 및 결정된 커버리지 레벨에서 서브시스템들에 대해 BIST들을 수행하는 것을 포함한다. 일부 양태들에서, 차량의 안전 필수 자동차 애플리케이션과 연관된 서브시스템들의 리스트를 수신하는 것은 프라이머리 부트 프로세서 외부의 프로세서로부터 서브시스템들의 리스트를 수신하는 것을 포함할 수 있다. 일부 양태들에서, 프라이머리 부트 프로세서 외부의 프로세서로부터 서브시스템들의 리스트를 수신하는 것은 프라이머리 부트 프로세서 외부에 있는 ASIL-D (Automotive Safety Integrity Level D) 프로세서로부터 서브시스템들의 리스트를 수신하는 것을 포함할 수도 있다.
일부 양태들에서, 차량의 안전 필수 자동차 애플리케이션과 연관된 서브시스템들의 리스트를 수신하는 것은 프라이머리 부트 프로세서 내에 포함된 프로세서로부터 서브시스템들의 리스트를 수신하는 것을 포함할 수 있다. 일부 양태들에서, 프라이머리 부트 프로세서 내에 포함된 프로세서로부터 서브시스템들의 리스트를 수신하는 것은 프라이머리 부트 프로세서 내에 포함된 ASIL-D (Automotive Safety Integrity Level D) 프로세서로부터 서브시스템들의 리스트를 수신하는 것을 포함할 수도 있다.
일부 양태들은 Boot_Config 핀에 기초하여 세션 관리 서브시스템 (SMSS; session manager subsystem) 에 대해 BIST를 수행할지의 여부를 결정하는 것을 포함할 수 있다. 일부 양태들은 2개의 범용 입력/출력 (general-purpose input/output; GPIO) 컴포넌트들에 대한 값들에 기초하여 PON 또는 POFF 에서 안전 관리기 서브시스템 (SMSS; safety manager subsystem) 에 대해 BIST를 수행할지의 여부를 결정하는 것을 포함할 수 있다.
추가의 양태들은 위에 논의된 방법들의 동작들을 수행하도록 구성된 컴퓨팅 디바이스를 포함할 수도 있다. 다른 양태들은 위에 논의된 방법의 기능을 수행하기 위한 여러 수단을 갖는 컴퓨팅 디바이스를 포함할 수도 있다. 다른 양태들은 위에 논의된 방법의 기능을 수행하기 위한 여러 수단을 갖는 컴퓨팅 디바이스를 포함할 수도 있다. 추가의 양태들은, 프로세서로 하여금 위에 논의된 방법들의 동작들을 수행하게 하도록 구성된 프로세서-실행가능 소프트웨어 명령들이 저장된 비-일시적인 프로세서 판독가능 저장 매체를 포함할 수도 있다.
본 명세서에 통합되고 본 명세서의 부분을 구성하는 첨부 도면들은 청구항들의 예시적인 실시예들을 예시하고, 위에서 제공된 일반적인 설명 및 아래에 제공되는 상세한 설명과 함께, 청구항들의 특징들을 설명하는 역할을 한다.
도 1 은 여러 실시형태들에 따라 구성되고 컴퓨팅 디바이스에 포함될 수도 있는 일 예의 시스템 온 칩의 컴포넌트들을 예시하는 블록 다이어그램이다.
도 2a 는 일부 실시형태들에 따른 인-필드 셀프-테스트들을 수행하기에 적합한 전용 로컬 슈퍼바이저 안전 관리기가 설치된 일 예의 프로세서를 예시하는 블록 다이어그램이다.
도 2b 및 도 2c 는 이들이 예상되는 대로, 또는 관련 완전성 표준들을 준수하여 정확하게 동작하는지의 여부를 자체-결정하기 위해, 실시형태들에 따라 구성되고 차량내 포함될 수도 있는 컴포넌트들을 예시하는 블록 다이어그램들이다.
도 2d 는 일부 실시형태들에 따라, 인쇄 회로 기판, 시스템 온 칩, 또는 시스템 인 패키지 내에 포함된 인-필드 셀프 테스트들을 수행하기에 적합한 전용 로컬 슈퍼바이저 안전 관리기가 설치된 일 예의 프로세서를 예시하는 블록 다이어그램이다.
도 2e 및 도 2f 는 일부 실시형태들에 따라 이들이 예상되는 대로, 또는 관련 완전성 표준들을 준수하여 정확하게 동작하는지의 여부를 자체-결정하도록 구성되고 차량내 포함될 수도 있는 컴포넌트들을 예시하는 블록 다이어그램들이다.
도 3 은 일부 실시형태들에 따라, 차량 내 포함된 전자 컴포넌트들의 인-필드 테스팅을 수행하는 방법을 예시하는 프로세스 플로우 다이어그램이다.
도 4 는 일부 실시형태들에 따라 셀프 테스트들을 수행하도록 구성되고 차량내 포함될 수 있는 전자 컴포넌트의 컴포넌트 블록 다이어그램이다.
도 1 은 여러 실시형태들에 따라 구성되고 컴퓨팅 디바이스에 포함될 수도 있는 일 예의 시스템 온 칩의 컴포넌트들을 예시하는 블록 다이어그램이다.
도 2a 는 일부 실시형태들에 따른 인-필드 셀프-테스트들을 수행하기에 적합한 전용 로컬 슈퍼바이저 안전 관리기가 설치된 일 예의 프로세서를 예시하는 블록 다이어그램이다.
도 2b 및 도 2c 는 이들이 예상되는 대로, 또는 관련 완전성 표준들을 준수하여 정확하게 동작하는지의 여부를 자체-결정하기 위해, 실시형태들에 따라 구성되고 차량내 포함될 수도 있는 컴포넌트들을 예시하는 블록 다이어그램들이다.
도 2d 는 일부 실시형태들에 따라, 인쇄 회로 기판, 시스템 온 칩, 또는 시스템 인 패키지 내에 포함된 인-필드 셀프 테스트들을 수행하기에 적합한 전용 로컬 슈퍼바이저 안전 관리기가 설치된 일 예의 프로세서를 예시하는 블록 다이어그램이다.
도 2e 및 도 2f 는 일부 실시형태들에 따라 이들이 예상되는 대로, 또는 관련 완전성 표준들을 준수하여 정확하게 동작하는지의 여부를 자체-결정하도록 구성되고 차량내 포함될 수도 있는 컴포넌트들을 예시하는 블록 다이어그램들이다.
도 3 은 일부 실시형태들에 따라, 차량 내 포함된 전자 컴포넌트들의 인-필드 테스팅을 수행하는 방법을 예시하는 프로세스 플로우 다이어그램이다.
도 4 는 일부 실시형태들에 따라 셀프 테스트들을 수행하도록 구성되고 차량내 포함될 수 있는 전자 컴포넌트의 컴포넌트 블록 다이어그램이다.
다양한 실시형태들은 동반된 도면들을 참조하여 상세하게 설명될 것이다. 가능한 경우마다, 동일한 참조 번호들은 동일하거나 유사한 부분들을 지칭하기 위하여 도면들의 전반에 걸쳐 이용될 것이다. 특정 예들 및 구현들에 대해 행해진 참조들은 예시적인 목적들이고, 청구항들의 범위를 제한하도록 의도되지 않는다.
여러 실시형태들은 컴포넌트들이 예상되는 대로, 또는 관련 완전성 표준들을 준수하여 정확하게 동작하는지의 여부를 자체-결정하도록 인-필드 셀프 테스트들을 수행하도록 구성되는 초고속, 안전, 및 보안 컴포넌트들 (예를 들어, 프로세서들, 시스템 온 칩 등) 을 포함한다. 일부 실시형태들에서, 컴포넌트 (예를 들어, 차량의 어드밴스드 운전자 보조 시스템 내의 프로세서 등) 는 안전성 요건의 준수를 검증하기 위한 테스트를 요구하는 서브시스템들을 식별하도록 구성될 수 있다. 이러한 컴포넌트들은 준수의 검증이, 식별된 서브시스템들이 파워-온 (PON) 시, 파워-오프 (POFF) 시, 런타임 동안 또는 이들의 조합에서 테스트되는 것을 요구하는지 여부를 결정할 수 있다. 그 다음, 컴포넌트들은 식별된 서브시스템들을 테스트하기 위한 달성가능한 병렬성을 동적으로 결정하고, 각각의 식별된 서브시스템 상에서 빌트 인 셀프 테스트들 (BIST들) 을 수행하거나 실행하기 위한 커버리지 레벨 요건들 (예를 들어, 60%, 80%, 90% 등) 을 동적으로 결정하고, 식별된 서브시스템들에 대해 BIST들을 병렬로 그리고 결정된 커버리지 레벨에서 수행하거나 실행할 수 있다.
여러 실시형태들은 시스템 컴포넌트들을 모니터링하기 위한 통상의 솔루션들의 대부분의 제약들을 극복한다. 이와 같이, 다양한 실시형태들은 안전 필수 시스템들 및 서브시스템들의 안전 및 신뢰성을 개선할 수 있다. 이에 따라, 여러 실시형태들은 차량들의 동작을 제어 또는 자동화하는 것을 담당하는 현재 및 미래 자동차 애플리케이션들, 이를 테면, 차량의 ADAS (advanced driver assistance system) 를 포함 또는 구현하여, 따라서 차량들의 신뢰성 및 신뢰도를 개선할 수도 있는 SOCs (system on chips) 으로 구현될 수도 있다.
용어들 "컴포넌트", "모듈", "시스템" 등은, 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어와 같지만 이에 한정되지 않는 컴퓨터 관련 엔터티를 지칭하도록 본 명세서에서 사용될 수도 있으며, 이들은 특정 동작들 또는 기능들을 수행하도록 구성된다. 예를 들어, 컴포넌트는 프로세서 상에서 구동되는 프로세스, 프로세서, 오브젝트, 실행가능물(executable), 실행 스레드(thread of execution), 프로그램, 및/또는 컴퓨터일 수도 있지만, 이에 한정되지 않는다. 예시로서, 컴퓨팅 디바이스 상에서 구동하는 애플리케이션 및 컴퓨팅 디바이스 양자는 컴포넌트로서 지칭될 수도 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수도 있고, 컴포넌트는 하나의 프로세서 또는 코어에 로컬화되고 그리고/또는 둘 이상의 프로세서들 또는 코어들 사이에서 분산될 수도 있다. 또한, 이들 컴포넌트들은 다양한 명령들 및/또는 데이터 구조들이 저장된 다양한 비일시적 컴퓨터 판독가능 매체들로부터 실행할 수도 있다. 컴포넌트들은 로컬 및/또는 원격 프로세스들, 기능 또는 절차 콜들, 전자 신호들, 데이터 패킷들, 메모리 판독/기입들, 및 다른 알려진 네트워크, 컴퓨터, 프로세서, 및/또는 프로세스 관련 통신 방법들에 의해 통신할 수도 있다.
용어 "시스템 온 칩" (SOC) 은 단일 기판 상에 집적된 다수의 리소스들 및/또는 프로세서들을 포함하는 단일 집적 회로(IC) 칩을 지칭하도록 본 명세서에서 사용된다. 단일 SOC는 디지털, 아날로그, 혼합 신호, 및 무선 주파수(radio-frequency) 기능들을 위한 회로부를 포함할 수도 있다. 단일의 SOC 는 또한 임의의 수의 범용 및/또는 특수화 프로세서들 (디지털 신호 프로세서들, 모뎀 프로세서들, 비디오 프로세서들 등), 메모리 블록들 (예를 들어, ROM, RAM, 플래시 등) 및 리소스들 (예를 들어, 타이머들, 전압 레귤레이터들, 오실레이터들 등) 을 포함할 수도 있다. SOC들은 또한, 주변 디바이스들을 제어하기 위한 뿐만 아니라 통합된 리소스들 및 프로세서들을 제어하기 위한 소프트웨어를 포함할 수도 있다.
용어 "시스템 인 패키지 (system in a package)" (SIP) 는 2 이상의 IC 칩들, 기판들, 또는 SOC들 상에 다수의 리소스들, 계산 유닛들, 코어들 및/또는 프로세서들을 포함하는 단일의 모듈 또는 패키지를 지칭하도록 본 명세서에서 사용될 수도 있다. 예를 들어, SIP 는, 다수의 IC 칩들 또는 반도체 다이들이 수직 구성으로 적층된 단일의 기판을 포함할 수도 있다. 유사하게, SIP 는, 다수의 IC들 또는 반도체 다이들이 통합 기판에 패키징되는 하나 이상의 멀티-칩 모듈들 (MCM들) 을 포함할 수도 있다. SIP 는 또한, 고속 통신 회로부를 통해 함께 커플링되고 그리고 단일 마더보드 상에서 또는 단일 무선 디바이스에서와 같이 매우 근접하여 패키징된 다중의 독립적인 SOC들을 포함할 수도 있다. SOC들의 근접성은 고속 통신들 및 메모리 및 리소스들의 공유를 용이하게 한다.
용어 "멀티코어 프로세서" 는 프로그램 명령들을 판독 및 실행하도록 구성된 2 이상의 독립적인 프로세싱 코어들 (예를 들어, CPU 코어, 인터넷 프로토콜 (IP) 코어, 그래픽 프로세서 유닛 (GPU) 코어 등) 을 포함하는 단일 집적 회로 (IC) 칩 또는 칩 패키지를 지칭하도록 본 명세서에서 사용될 수도 있다. SOC 는 다중의 멀티코어 프로세서들을 포함할 수 있고, SOC 에서의 각각의 프로세서는 코어로서 지칭될 수도 있다.
용어 BIST "(built-in self-test)" 는 컴포넌트 (예를 들어, SOC, SIP 등) 가 셀프-테스트하는 것을 허용하여 이에 의해, 외부 테스트 장비에 대한 컴포넌트 또는 시스템의 의존성을 감소시키는 하드웨어 및/또는 소프트웨어를 지칭하는데 본 명세서에서 사용된다. 컴포넌트들의 BIST 능력들은 "인-필드" LBIST (logic built-in self-test) 및/또는 MBIST (memory built-in self-test) 를 포함할 수도 있다. 이러한 BIST 능력들이 탑재된 컴포넌트는 영구적인 결함을 검출하고 파워-온 (PON) 시, 파워-오프 (POFF) 시, 동작 동안에 주기적으로, 온-디맨드로, 및/또는 사용자 프로그래밍가능 간격으로 필드-테스트들을 수행할 수도 있다. 이러한 "필드 테스트들"은 컴포넌트가 자신을 평가하고 그의 다양한 서브 컴포넌트들 (예를 들어, 회로들, 프로세서들, 코어들, 메모리들, 소프트웨어, 펌웨어 등) 이 정확하게 또는 예상된 바와 같이 동작하고 있는지 여부를 결정하는 것을 허용할 수 있다.
용어 SEooC ("safety element out of context") 는 그 차량을 위해 또는 원래의 장비 제조자, 공급자 또는 기술 벤더에 의해 특별히 개발되지 않은 차량의 컴퓨터화된 컴포넌트들을 지칭하기 위해 본 명세서에서 사용된다. 오히려, SEooC 컴포넌트들은 컴포넌트가 차량에서 또는 차량에 의해 어떻게 사용될 것인지를 예상하는 가정들 또는 "가정된 사용 케이스들"에 기초하여 설계 및 구성된다. SEooC 컴포넌트들이 무결성 요건들 (예를 들어, ASIL-D 등)을 준수하는지 검증하는 것이 중요하다. 일부 자동차 안전 표준들은 비-SEooC 컴포넌트들과 SEooC 컴포넌트들에 대한 상이한 세트의 테스트 및 안전성 요건들을 정의할 수 있다.
어구 "안전 필수 자동차 애플리케이션"은 차량의 안전 동작에 중요한 기능들을 지칭하는데 본 명세서에서 사용된다. 안전 필수 자동차 애플리케이션들의 예들은 SAE (Society of Automotive Engineers) L1-L5 자동화 주행 시스템, ADAS (advanced driver assistance systems), 계기판 클러스터, IVI (in-vehicle infotainment), 디스플레이 시스템들, 서라운드 뷰 시스템들, 에어백 시스템들, 제동 시스템들, 파워 스티어링 시스템들, 전자 스로틀 제어 시스템들 등을 포함할 수도 있다. 안전 필수 자동차 애플리케이션들은 CPU들 (centralized processing units), DSP들 (digital signal processor), NPU들 (network processing units), NSP들 (neural network signal processors), 전용 하드웨어 가속기들, SoC 인프라스트럭처 코어 등의 사용을 수반할 수도 있고, 이들의 어느 것 또는 전부는 SEooC 컴포넌트들일 수도 있다.
안전 필수 자동차 애플리케이션과 연관된 컴포넌트들에는 그 컴포넌트가, 예상된 바와 같이, 그리고/또는 다양한 안전 표준 및/또는 위험 분류 방식들에 따라 정확하게 동작하고 있는지를 자체 평가하고 자체 결정하기 위한 BIST (built-in self-test) 능력들이 탑재될 수도 있다. 그러나, 종래의 솔루션들을 사용하여, 주요 기능 안전성 요건들의 준수를 보장하기 위해 컴포넌트의 BIST 능력들을 사용하는 것과 연관된 다수의 구성능력 및 병렬성 도전과제들이 존재한다. KPI (boot key performance indicators) 에 걸쳐, OEM (Original Equipment Manufacturer) 에 걸쳐 그리고/또는 SEooC 컴포넌트에 대한 가정된 사용 케이스에 걸쳐 구조적 필드 테스트를 지원할 때 이러한 도전과제는 여러 배가 될 수 있다.
예를 들어, 통상의 솔루션들을 사용하여, (예를 들어, 부트 KPI들 등을 최적화하기 위한 부트 프로세스 동안에) 수개의 코어들을 동시에 또는 병렬로 다수의 온-디맨드 구조적 인-필드 테스트들을 실행하는 것은 도전과제로 된다. 또한, SOC 또는 SIP에 포함된 임의의 또는 모든 서브시스템들에 대해 파워-온 (PON), 파워-오프 (POFF), 또는 런타임 동안 주기적으로 (미션 모드) 셀프-테스트를 수행하는 것과 관련된 구성능력을 제공하는 것은 도전과제이다. 또한, BIST 능력을 통해 테스트될 필요가 있는 서브시스템에 관련된 구성능력을 제공하고/하거나 더 높은 ASIL 안전 필수 사용 케이스에 대한 디버그 또는 커버리지 향상을 위해 추가적인 주문형 구조적 현장 테스트를 실행하는 것은 도전과제일 수 있다.
다양한 실시형태들은 통상적인 솔루션들의 상술된 기술적 과제들 및 제한들을 극복하도록 구성된 컴포넌트들 (예를 들어, ADAS SOC들, 프로세서들 등) 을 포함한다. 컴포넌트들은 안전성 요건들의 이들의 준수를 검증하기 위하여, 그리고 관련 안전성 요건들의 이들의 준수를 검증하기 위해 (예를 들어, PON, POFF, 런타임에서 등) 식별된 서브시스템들의 BIST들 (built-in self-tests) 을 수행하기 위하여, 특정 안전성 요건들의 이들의 준수를 검증하는데 테스트가 요구되는 서브시스템들을 식별하고, 시스템 파워 업 시 또는 파워-온 (PON) 시에, 시스템 파워 다운시 또는 파워 오프 (POFF) 시에, 런타임 동안에, 또는 이들의 조합에서 식별된 서브시스템들이 테스트되어야 하는지의 여부를 결정하도록 구성될 수도 있다. 일부 실시형태들에서, 컴포넌트는 PON, POFF 및/또는 런타임에서 BIST들을 수행하거나 실행하기 위한 동적 구성 지원을 제공하도록 구성될 수 있다.
일부 실시형태들은 동적으로 구성가능한 계층적 안전 슈퍼바이저 모델을 포함할 수 있다. 동적으로 구성가능한 계층적 안전 슈퍼바이저 모델은 로컬 슈퍼바이저 및 글로벌 슈퍼바이저를 포함할 수 있으며, 이들은 안전 필수 자동차 애플리케이션과 연관된 컴포넌트들 및 서브시스템들의 무결성을 보장하기 위해 서로 함께 작동하도록 구성될 수 있다.
일부 실시형태들에서, BIST들 (built-in self-tests) 의 실행은 외부 프로세서 (예를 들어, ASIL D 프로세서 등) 에 의해 제어될 수 있다. 외부 프로세서는 안전 필수 자동차 애플리케이션들과 연관된 서브시스템들을 식별하고, 식별된 서브시스템들의 리스트를 생성하고, 평가를 위해 서브시스템들의 리스트를 컴포넌트에 전송하도록 구성될 수 있다. 리스트를 수신하는 것에 응답하여, 컴포넌트는 수신된 리스트에 포함된 서브시스템들을 평가할 수 있고 그리고/또는 수신된 리스트에 포함된 서브시스템들이 BIST들을 수행하게 할 수 있다. 일부 실시형태들에서, 리스트는 OEM (original equipment manufacturer) 안전성 요건들, 부트 KPI들, PON, POFF, 안전 레벨, IVI 또는 ADAS와 같은 다양한 요구들에 기초하여 생성될 수 있다.
일부 실시형태들에서, 컴포넌트는 부트 시간 최적화들을 지원하도록 구성될 수 있다. 일부 실시형태들에서, 컴포넌트는 서브시스템들의 리스트 (예를 들어, 외부 프로세서로부터 수신된 리스트 등) 에 포함된 특정 서브시스템들에 대해 BIST를 수행하기 위한 달성가능한 병렬성을 동적으로 결정하도록 구성될 수 있다.
일부 실시형태들에서, 컴포넌트는 각각의 서브시스템에 대해 BIST들을 수행하거나 실행하기 위한 동적 구성 지원을 제공하고/하거나 커버리지 요건들 (예를 들어, 60%, 80%, 90% 등) 을 동적으로 선택하도록 구성될 수 있다.
커버리지 요건들을 동적으로 선택하는 것에, 일부 실시형태들에 따른 컴포넌트는 안전 필수 서브시스템들의 OEM 특정 부트 KPI (key performance indicator) 구동 커버리지 선택을 허용할 수 있다. 또한, 커버리지 요건들의 동적 선택은 컴포넌트들이 엄격한 ASIL 요건들 (예를 들어, 자동차-클라우드 서비스들의 일부로서, 기능 강화들을 초래하는 OTA (over the air) 업데이트들 등) 을 준수하게 할 수 있다.
다양한 실시형태들은 시스템 온 칩 (system-on-chip; SOC) 을 포함하는, 다수의 단일 프로세서 및 멀티프로세서 컴퓨터 시스템들 상에서 구현 및/또는 포함될 수도 있다. 도 1 은 다양한 실시형태들을 구현하는 컴퓨팅 디바이스들에서 사용될 수도 있는 일 예의 시스템 온 칩 (SOC) (100) 아키텍처를 예시한다. SOC (100) 는 디지털 신호 프로세서 (DSP) (103), 모뎀 프로세서 (104), 그래픽 프로세서 (106), 모바일 디스플레이 프로세서 (MDP) (107), 애플리케이션 프로세서 (108), 및 리소스 및 전력 관리 (RPM) 프로세서 (117) 와 같은, 다수의 이종 프로세서들을 포함할 수도 있다. SOC (100) 는 또한, 이종 프로세서들 (103, 104, 106, 107, 108, 117) 중 하나 이상에 접속된 하나 이상의 코프로세서들 (110) (예를 들어, 벡터 코프로세서) 을 포함할 수도 있다. 프로세서들의 각각은 하나 이상의 코어들, 및 독립/내부 클록을 포함할 수도 있다. 각각의 프로세서/코어는 다른 프로세서들/코어들로부터 독립적인 동작들을 수행할 수도 있다. 예를 들어, SOC (100) 는 오퍼레이팅 시스템의 제 1 타입 (예를 들어, FreeBSD, LINUX, OS X 등) 을 실행하는 프로세서 및 오퍼레이팅 시스템의 제 2 타입 (예를 들어, Microsoft Windows) 을 실행하는 프로세서를 포함할 수도 있다. 일부 실시형태들에서, 애플리케이션 프로세서 (108) 는 SOC (100) 의 메인 프로세서, 중앙 프로세싱 유닛 (CPU), 마이크로프로세서 유닛 (MPU), 산술 논리 유닛 (ALU) 등일 수도 있다. 그래픽 프로세서 (106) 는 그래픽 프로세싱 유닛 (GPU) 일 수도 있다.
SOC (100) 는 센서 데이터, 아날로그-디지털 변환들, 무선 데이터 송신들을 관리하기 위한, 그리고 다른 전문화된 동작들을 수행하기 위한, 이를 테면 전자 디스플레이 상에 렌더링하기 위한 인코딩된 오디오 및 비디오 신호들을 프로세싱하기 위한, 아날로그 회로부 및 커스텀 회로부 (114) 를 포함할 수도 있다. SOC (100) 는 시스템 컴포넌트들 및 리소스들 (116), 이를 테면, 전압 레귤레이터들, 오실레이터들, 위성 동기 루프들, 주변 브릿지들, 데이터 제어기들, 메모리 제어기들, 시스템 제어기들, 액세스 포트들, 타이머 및 컴퓨팅 디바이스 상에서 실행하는 프로세서들 및 소프트웨어 클라이언트들 (예를 들어, 웹 브라우저) 을 지원하는데 사용되는 다른 유사한 컴포넌트들을 더 포함할 수도 있다. SOC (100) 는 또한 하나 이상의 카메라들 (예를 들어, 프론트 카메라, 서라운드 뷰 카메라, 드라이버 모니터링 카메라, 리어 카메라 및 연관된 회로부 등) 의 동작, 카메라 펌웨어로부터의 비디오 디스플레이 데이터, 이미지 프로세싱, 비디오 프리프로세싱, 비디오 프론트-엔드 (VFE), 인-라인 JPEG, 고해상도 비디오 코덱 등을 포함하고 제공하고 제어하고/하거나 관리하는 특수 회로부 (CAM) (105) 를 포함한다. CAM (105) 은 독립적인 프로세싱 유닛일 수 있고/있거나 독립적인 또는 내부 클록을 포함할 수 있다.
시스템 컴포넌트들 및 리소스들 (116) 또는 커스텀 회로부 (114) 및/또는 CAM (105) 은 카메라들, 전자 디스플레이들, 무선 통신 디바이스들, 외부 메모리 칩들 등과 같이 주변기기 디바이스들과 인터페이스하기 위한 회로부를 포함할 수도 있다. 프로세서들 (103, 104, 106, 107, 108) 은 재구성가능한 로직 게이트들의 어레이를 포함하고/하거나 버스 아키텍처 (예를 들어, CoreConnect, AMBA 등) 를 구현할 수도 있는 상호접속부/버스 모듈 (124) 을 통해 하나 이상의 메모리 엘리먼트들 (112), 시스템 컴포넌트들, 및 리소스들 (116), 커스텀 회로부 (114), CAM (105), 및 RPM (117) 에 상호접속될 수도 있다. 통신은 고성능 네트워크 온 칩 (networks-on chip; NoCs) 과 같은 어드밴스드 상호접속부들에 의해 제공될 수도 있다.
SOC (100) 는 클록 (118) 및 전압 레귤레이터 (120) 와 같이 SOC 외부의 리소스들과 통신하기 위한 입력/출력 인터페이스 모듈 (126) 을 더 포함할 수도 있다. SOC 외부의 리소스들 (예를 들어, 클럭 (118), 또는 전압 레귤레이터 (120)) 은 내부 SOC 프로세서들/코어들 (예를 들어, DSP (103), 모뎀 프로세서 (104), 그래픽 프로세서 (106), 애플리케이션 프로세서 (108) 등) 중 2 개 이상에 의해 공유될 수도 있다.
일부 실시형태들에서, SOC (100) 는 자동차에 포함될 수 있는 컴퓨팅 디바이스 (102) 에 포함될 수 있다. 컴퓨팅 디바이스 (102) 는 전화 네트워크, 인터넷, 네트워크 서버, 또는 차량 내부의 다른 전자 제어 유닛 (ECU) 과의 통신을 위한 통신 링크를 포함할 수 있다. 컴퓨팅 디바이스 (102) 와 네트워크 서버 사이의 통신은 전화 네트워크, 인터넷, 사설 네트워크, 차량 네트워크, 또는 이들의 임의의 조합을 통해 달성될 수 있다.
SOC (100) 는 또한, 스피커들, 사용자 인터페이스 엘리먼트들 (예를 들어, 입력 버튼들, 터치 스크린 디스플레이 등), 마이크로폰 어레이들, 물리적 컨디션들 (예를 들어, 위치, 방향, 모션, 배향, 진동, 압력 등) 을 모니터링하기 위한 센서들, 카메라들, 컴파스들, GPS (Global Positioning System) 수신기들, 통신 회로부 (예를 들어, Bluetooth®, WLAN, Wi-Fi 등), 및 현대 전자 디바이스들의 다른 널리 공지된 컴포넌트들 (예를 들어, 가속도계 등) 을 포함하여, 센서들로부터 센서 데이터를 수집하기에 적합한 추가적인 하드웨어 및/또는 소프트웨어 컴포넌트들을 포함할 수도 있다.
위에서 논의된 컴퓨팅 디바이스 (102) 및 SOC (100) 에 더하여, 다양한 실시형태들은 단일 프로세서, 다중 프로세서들, 멀티코어 프로세서들, 또는 이들의 임의의 조합을 포함할 수도 있는 매우 다양한 컴퓨팅 시스템들에서 구현될 수도 있다.
도 2a-2f 는 일부 실시형태들에 따라, 안전 필수 자동차 애플리케이션들의 로직 및 메모리의 무결성을 검증하거나 보장하는 데 사용될 수 있는 동적으로 구성 가능한 계층적 안전 슈퍼바이저 모델을 포함하거나 구현하는 보드, SIP, 또는 SOC에 포함될 수 있는 일 예의 컴포넌트들을 예시한다. 특히, 도 2a 는 애플리케이션 프로세서 서브시스템 (APSS)(202), 카메라 (204), 디지털 신호 프로세서 (DSP)(206), 다양한 내부 프로세서 코어 (IP)(208), 셀프 테스트 서버 (STS)(210) 및 로컬 안전 관리기 (212) 를 포함하는 SOC/SIP (200) 를 예시한다. APSS (202) 는 프라이머리 부트 프로세서로서 동작하도록 구성될 수도 있다. APSS (부트 프로세서)(202) 및 로컬 안전 관리기 (212) 는 각각 SOC (200) 외부에 있는 STS (210) 및 글로벌 안전 관리기 (214) 와 통신하도록 구성될 수 있다. 일부 실시형태들 (예를 들어, 도 2d 및 2e 에서 설명된 실시형태들 등) 에서, 글로벌 안전 슈퍼바이저 (214) 는 동일한 SoC (200) 상에 포함될 수도 있다.
APSS (202) 는 로컬 안전 관리기 (212) 를 테스트하기 위해 STS (210) 와 통신하도록 구성될 수 있다. 로컬 안전 관리기 (212) 는 SOC (200) 상의 컴포넌트들 (202-208) 중 임의의 것 또는 전부를 테스트하기 위해 STS (210) 와 통신하도록 구성될 수 있다. 로컬 안전 관리기 (212) 는 기능 안전 인터럽트를 글로벌 안전 관리기 (214) 에 전송하도록 구성될 수 있다.
로컬 안전 슈퍼바이저 (212) 는 컴포넌트들 (202-208, 212, 214) 중 임의의 것 또는 전부로부터 입력들을 수신하도록 구성되는 전용 로컬 슈퍼바이저 안전 관리기일 수 있다. 로컬 안전 관리기 (212) 는 입력들 (예를 들어, CPU 입력, GPU 입력 등) 중 하나 이상에 기초하여 에러 출력 (ERROR), 결함 출력 (FAULT) 및/또는 인터럽트 출력 (INTERRUPT) 을 생성하도록 구성될 수 있다. 로컬 안전 슈퍼바이저 (212) 는 생성된 출력 (또는 결함 애그리게이터 또는 임의의 다른 온-보드 프로세싱 유닛) 을 글로벌 안전 슈퍼바이저 (214) 에 전송하거나 글로벌 안전 슈퍼바이저 (214) 를 대신하여 액션을 취하여 시스템 파워 업, 파워 다운 동안 및/또는 현장에서의 런타임 동안 디바이스에 대해 BIST 동작과 같은 액션 또는 동작을 개시할 수 있다. 일부 실시형태들에서, 로컬 안전 관리기 (212) 는 생성된 출력을 (예를 들어, STS (210) 등을 통해) APSS (202) 에 전송할 수 있다.
일부 실시형태들에서, 로컬 안전 관리기 (212) 는 SOC (200) 상의 컴포넌트들 및 서브시스템들 중 임의의 것 또는 전부를 모니터링하도록 구성될 수 있다.
도 2b 및 2c 는 SAE Level 1 내지 Level 5 또는 동등한 자동 주행 시스템에서 자동 주행 시스템에 사용하기에 적합한 동적으로 구성가능한 계층적 안전 관리기 모델을 포함하는 SoC/SIP를 도시한다.
특히, 도 2b 는 APSS (202) 형태의 프라이머리 부트 프로세서, 전력 관리 집적 회로 (PMIC)(222, 224) 및 ASIL D SOC (226) 를 포함하는 SIP (220) 를 예시한다. PMIC들 (222, 224) 각각은 SUP (supervision) (223, 225) 컴포넌트를 포함할 수도 있다. ASIL D SOC (226) 는 중앙 집중형 결함 컬렉터 (230) 를 포함하는 전용 CPU 글로벌 안전 슈퍼바이저 코어들 (228) 을 포함할 수 있다. 로컬 안전 슈퍼바이저 (212) 는 로컬 슈퍼바이저로서 동작하도록 구성될 수 있고, 전용 CPU 글로벌 안전 슈퍼바이저 코어들 (228) 은 글로벌 슈퍼바이저로서 동작하도록 구성될 수 있다.
도 2c 는 2개의 프라이머리 부트 프로세서 (202a, 202b), SUP (supervision)(223, 225, 243) 컴포넌트를 각각 포함하는 3개의 PMIC들 (222, 224, 242) 및 ASIL D SOC (226) 를 포함하는 SIP (240) 를 도시한다. 도 2c 에 예시된 예에서, 로컬 안전 관리기 (212a, 212b) 컴포넌트들은 로컬 관리기로서 동작하도록 구성될 수 있고, 전용 CPU 글로벌 안전 관리기 코어들 (228) 은 글로벌 관리기로서 동작하도록 구성될 수 있다.
로컬 및 글로벌 슈퍼바이저들은 안전 필수 사용 케이스 또는 안전 필수 자동차 애플리케이션들에 관련된 하드웨어 컴포넌트들이 하드웨어 컴포넌트들이 정확하게 또는 예상대로 동작하고 있는지를 검증하기 위해 그러한 컴포넌트들이 인-필드 BIST를 수행하게 하는 것에 의해 그러한 컴포넌트들의 무결성을 보장하도록 동작할 수 있다. 이와 같이, 로컬 및 글로벌 슈퍼바이저들은 SOC/SIP의 수명에 걸쳐 임의의 현장 구조적 결함들을 검출하기 위해 안전 필수 컴포넌트의 로직 및 메모리에 대한 셀프-테스트와 관련된 요건들의 이행을 보장할 수 있다.
프라이머리 부트 프로세서 APSS (202) 는 부트 구성 핀들 (252) 의 값들에 기초하여 PON 또는 POFF 에서 로컬 안전 슈퍼바이저에 대해 BIST 를 수행하도록 구성될 수 있다. 프라이머리 부트 프로세서 APSS (202) 는 4개의 상이한 상태들 (예를 들어, PON, POFF, NO_BIST, Future-사용) 을 나타내기 위해 2개의 범용 입력/출력 (GPIO) 핀들을 할당할 수 있다. 일부 실시형태들에서, 프라이머리 부트 프로세서 APSS (202) 는 제한된 미리 정의된 선택들을 갖는 정적 테이블로부터의 구성 선택을 수행하도록 구성될 수 있다.
글로벌 슈퍼바이저는 SIP 상의 컴포넌트들 및 시스템들 중 임의의 것 또는 전부를 모니터링하고, 부트 구성 핀들 (252) 및 SPI 인터페이스 (254) 에 기초하여 다른 서브시스템들의 BIST 를 수행하도록 로컬 슈퍼바이저를 안내하도록 구성될 수 있다.
로컬 및 글로벌 슈퍼바이저들은 특정 안전성 요건들의 이들의 준수를 검증하도록 테스팅을 요구하는 서브시스템들을 식별하고, 식별된 서브시스템들이 (예를 들어, 안전성 요건들의 이들의 준수를 검증하기 위하여) PON 시, POFF 시, 런타임 동안에 또는 이들의 조합에서 테스트되어야 하는지 여부를 결정하고, 식별된 서브시스템들에 대한 달성가능한 병렬성을 동적으로 결정하고, 각각의 식별된 서브시스템들에 대해 BIST들을 수행하거나 실행하기 위한 커버리지 요건들 (예를 들어, 60%, 80%, 90% 등) 을 동적으로 결정하고, 식별된 서브시스템에서 BIST를 수행하거나 실행하도록 통신 인터페이스들을 통해 위에서 설명된 바와 같이 서로 함께 작업하도록 구성될 수 있다. 글로벌 안전 슈퍼바이저는 SPI 인터페이스 (254) 또는 UART, I2C, 이더넷, CAN 등과 같은 임의의 다른 통신 인터페이스들을 사용하여 구성 정보 (예를 들어, 302-314) 를 로컬 안전 슈퍼바이저에게 공유할 수 있다.
도 3 은 일부 실시형태들에 따라 이들이 예상되는 대로, 또는 관련 완전성 표준들을 준수하여 정확하게 동작하는지의 여부를 결정하기 위해 차량내 포함된 인-필드 테스팅 전자 컴포넌트들의 방법 (300) 을 예시한다. 방법 (300) 에서의 동작들의 전부 또는 부분들은 마이크로컨트롤러 (MCU), 프로세서, 프로세서 코어, 또는 차량내 포함된 컴포넌트들, 이를 테면, 도 1 및 2a-2e 에 예시된 AP/CPU (108) 에 커플링된 전용 로컬 슈퍼바이저 안전 관리기 (202) 에 의해 수행될 수도 있다.
일부 실시형태들에서, 부트 프로세서가 로컬 안전 슈퍼바이저의 LBIST 및 MBIST를 완료한 후에, 로컬 안전 슈퍼바이저는 제어를 취하고 글로벌 안전 슈퍼바이저와의 안전한 통신 채널을 확립할 수 있다. 이 안전한 통신 채널은 임의의 타입의 직렬 또는 병렬 통신 인터페이스 (예를 들어, SPI, I2C, UART, 이더넷, CAN 등) 일 수 있다. 글로벌 안전 슈퍼바이저는 이러한 안전 통신 채널을 사용하여 다양한 가능한 구성을 로컬 안전 슈퍼바이저에게 알릴 수 있다.
도 3 을 참조하면, 블록 (302) 에서, 컴포넌트 (예를 들어, 로컬 안전 관리기 (212)) 는 차량의 안전 필수 자동차 애플리케이션과 연관된 서브시스템들의 리스트를 수신할 수 있다. 일부 실시형태들에서, 컴포넌트는 전용 CPU 로컬 슈퍼바이저 코어들 (212)(도 2b) 과 같은 외부 프로세서로부터 서브시스템들의 리스트를 수신할 수 있다. 일부 실시형태들에서, 컴포넌트는 프라이머리 부트 프로세서 외부에 있는 ASIL-D (Automotive Safety Integrity Level D) 프로세서로부터 서브시스템들의 리스트를 수신할 수 있다. 일부 실시형태들에서, 리스트는 OEM 안전성 요건들, 부트 KPI들, PON, POFF, 안전 레벨, IVI 또는 ADAS와 같은 요구들 또는 요건들에 기초하여 생성될 수 있다. 도 2d 및 도 2e 를 참조하여 예시되고 설명된 실시형태들과 같은 일부 실시형태들에서, 테스트될 서브시스템들의 리스트는 동일한 SoC 내의 ASIL D 서브시스템으로부터 수신될 수 있다.
블록 (304) 에서, 컴포넌트는 식별된 서브시스템들 각각에 대해, 안전성 요건의 준수의 검증이, 서브시스템이 온 파워-온 (PON) 시, 온 파워-오프 (POFF) 시, 또는 런타임 동안 테스트되는 것을 요구하는지 여부를 결정할 수 있다. PON 에서, 로컬 안전 슈퍼바이저는 선택적으로 테스트 케이스의 최소 세트를 실행할 수 있다. 예를 들어, MBIST는 기록 및 판독할 0x0000 또는 0xFFFF와 같은 테스트 패턴을 사용하여 실행하여 검증할 수 있다. POFF 에서, 테스트 패턴들은 0xAAAA, 0x5555, 0x00FF, 0xFF00, 0xAA55, 0x55AA 등으로 증가될 수 있고, 테스트 패턴 리스트는 증가할 수 있다.
블록 (306) 에서, 컴포넌트는 식별된 서브시스템들 각각에 대한 영구 결함 검출을 위한 병렬성 레벨을 동적으로 결정할 수 있다. 병렬성 레벨은 현재 도출된 요건들, PDN (power delivery network) 분석, 병렬로 실행할 수 있는 서브시스템들, 또는 주변기기들 또는 IP 블록들을 결정하는 서멀 시나리오들 등에 의존할 수도 있다. 이 정보는 시스템 특성 팀 업프론트에 의해 수집되고/되거나 코어들/서브시스템들/IP들/주변기기들의 상이한 가능한 조합들을 지원하도록 SoC 소프트웨어에 의해 캡처될 수도 있다. 최종 사용 케이스 요건들에 기초하여, SoC 소프트웨어는 시스템이 현재, PDN 및 열 프로파일을 충족하는 최소 가능한 시간에 셀프-테스트들을 실행하는 것을 보장하기 위해 병렬로 실행될 수 있는 코어들/서브시스템들/IP들/주변기기들을 동적으로 선택할 수 있다.
블록 (308) 에서, 컴포넌트는 서브시스템들이 기본 자동차 사용 케이스 요건들에 기초하여 셀프-테스트가 수행될 것을 요구하는지 여부를 동적으로 결정할 수 있다.
블록 (310) 에서, 컴포넌트는 서브시스템들이 부트 KPI 요건들에 기초하여 셀프-테스트가 수행될 것을 요구하는지 여부를 동적으로 결정할 수 있다.
블록 (312) 에서, 컴포넌트는 그 서브시스템에 대해 BIST 를 수행하기 위해 요구되는 커버리지 레벨을 동적으로 결정할 수 있다. 일부 실시형태들에서, 컴포넌트는 Boot_Config 핀들에 기초하여 SMSS (safety manager subsystem) 에 대해 BIST 를 수행할지 여부를 결정할 수 있다. 글로벌 안전 슈퍼바이저는 또한 부트 구성 GPIO 핀들을 통해 부트 프로세서에 통지하여 PON, POFF 에서 로컬 안전 슈퍼바이저에 대한 셀프-테스트를 실행할 수 있거나 또는 전혀 수행하지 않을 수도 있다. 따라서 GPIO 부트 구성 핀이 사용될 수 있다.
블록 (314) 에서, 컴포넌트는 결정된 병렬성 레벨 및 결정된 커버리지 레벨에서 식별된 서브시스템들에 대해 BIST들을 수행할 수 있다. 또한, 각각의 안전 사용 케이스는 PON 또는 POFF에서 실행되는 셀프-테스트에 기초하여 상이한 안전 커버리지 레벨을 선택하기를 원할 수 있다.
다양한 실시형태들은 차량 내 각종 전자 컴포넌트에서 구현될 수 있으며, 그 일 예가 차량 디스플레이 유닛 (400) 의 형태로 도 4 에 예시된다. 차량 디스플레이 유닛 (400) 은 내부 메모리 (404), 디스플레이 (412), 및 스피커 (414) 에 커플링된 프로세서 (402) 를 포함할 수도 있다. 부가적으로, 차량 디스플레이 유닛 (400) 은 프로세서 (402) 에 커플링된 셀룰러 전화 트랜시버 (408) 및/또는 무선 데이터 링크에 접속될 수도 있는 전자기 방사를 전송 및 수신하기 위한 안테나 (410) 를 포함할 수도 있다. 차량 디스플레이 유닛 (400) 은 또한 사용자 입력들을 수신하기 위한 메뉴 선택 버튼들 또는 로커 스위치들 (420) 을 포함할 수도 있다.
차량 디스플레이 유닛 (400) 은 또한, 마이크로폰으로부터 수신된 사운드를 무선 송신에 적합한 데이터 패킷들로 디지털화하고 수신된 사운드 데이터 패킷들을 디코딩하여 사운드를 생성하기 위해 스피커에 제공되는 아날로그 신호들을 생성하는 사운드 인코딩/디코딩 (CODEC) 회로 (406) 를 포함할 수도 있다. 또한, 프로세서 (402), 무선 트랜시버 (408) 및 CODEC (406) 중 하나 이상은 디지털 신호 프로세서 (DSP) 회로 (별도로 도시 안됨) 를 포함할 수도 있다.
프로세서들 (402) 은 하기에서 설명된 다양한 실시형태들의 기능들을 포함하여 다양한 기능들을 수행하기 위해 소프트웨어 명령들 (애플리케이션들) 에 의해 구성될 수 있는 임의의 프로그래밍가능 마이크로프로세서, 마이크로컴퓨터 또는 다중의 프로세서 칩 또는 칩들일 수도 있다. 일부 이동 디바이스들에서는, 무선 통신 기능들에 전용인 하나의 프로세서 및 다른 애플리케이션들을 실행하는 것에 전용인 하나의 프로세서와 같은, 다중 프로세서들 (402) 이 제공될 수도 있다. 통상적으로, 소프트웨어 애플리케이션들은, 프로세서 (402) 에 액세스 및 로딩되기 전에 내부 메모리 (404) 에 저장될 수도 있다. 프로세서 (402) 는 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 포함할 수도 있다.
구현 예들이 다음의 단락들에서 기술된다. 다음의 구현 예들 중 일부가 예시의 방법들에 관하여 설명되지만, 추가적인 예시의 구현들은: 다음의 구현 예들의 방법들의 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성된 프라이머리 부트 프로세서를 포함하는 차량에 사용하기 위한 컴퓨팅 디바이스에 의해 구현되는 다음의 단락들에서 논의되는 예시의 방법들; 다음의 구현 예들의 방법들의 기능들을 수행하기 위한 수단을 포함하는 차량에 사용하기 위한 컴퓨팅 디바이스에 의해 구현되는 다음의 단락들에서 논의되는 예시적인 방법들을 포함할 수도 있고; 그리고 다음의 단락들에서 논의되는 예시적인 방법들이 차량에 사용하기 위한 컴퓨팅 디바이스의 프로세서로 하여금 다음의 구현 예들의 방법들의 동작들을 수행하게 하도록 구성된 프로세서-실행가능 명령들을 저장한 비일시적 프로세서-판독가능 저장 매체로서 구현될 수 있다.
예 1. 차량에 포함된 전자 컴포넌트들을 인-필드 테스트하는 방법은: 프라이머리 부트 프로세서의 전용 로컬 슈퍼바이저 안전 관리기 컴포넌트에서, 차량의 안전 필수 자동차 애플리케이션과 연관된 서브시스템들의 리스트를 수신하는 단계; 서브시스템들의 리스트에서 각각의 서브시스템에 대한 전용 로컬 슈퍼바이저 안전 관리기 컴포넌트에 의해, 안전성 요건의 준수의 검증이, 서브시스템이 PON 시, POFF 시, 또는 런타임 동안에 테스트되는 것을 요구하는지의 여부를 결정하는 단계; 서브시스템들의 리스트에서 각각의 서브시스템에 대한 전용 로컬 슈퍼바이저 안전 관리기 컴포넌트에 의해, 그 서브시스템에 대한 BIST 를 수행하기 위해 요구되는 커버리지 레벨을 동적으로 결정하는 단계; 및 결정된 커버리지 레벨에서 서브시스템들에 대해 BIST들을 수행하는 단계를 포함한다.
예 2. 예 1 의 방법은, 전용 로컬 슈퍼바이저 안전 관리기 컴포넌트에 의해 서브시스템들의 리스트 내의 각각의 서브시스템에 대한 병렬성 레벨을 동적으로 결정하는 단계를 더 포함하고, 결정된 커버리지 레벨에서 서브시스템들에 대해 BIST들을 수행하는 것은 결정된 병렬성 레벨 및 결정된 커버리지 레벨에서 서브시스템들에 대해 BIST들을 수행하는 것을 포함한다.
예 3. 예 1 또는 예 2 의 방법에서, 차량의 안전 필수 자동차 애플리케이션과 연관된 서브시스템들의 리스트를 수신하는 것은 프라이머리 부트 프로세서 외부의 프로세서로부터 서브시스템들의 리스트를 수신하는 것을 포함한다.
예 4. 예 3 의 방법에서, 프라이머리 부트 프로세서 외부의 프로세서로부터 서브시스템들의 리스트를 수신하는 것은 프라이머리 부트 프로세서 외부에 있는 ASIL-D 프로세서로부터 서브시스템들의 리스트를 수신하는 것을 포함한다.
예 5. 예 1-4 의 어느 방법에서, 차량의 안전 필수 자동차 애플리케이션과 연관된 서브시스템들의 리스트를 수신하는 것은 프라이머리 부트 프로세서 내에 포함된 프로세서로부터 서브시스템들의 리스트를 수신하는 것을 포함한다.
예 6. 예 5 의 방법에서, 프라이머리 부트 프로세서 내에 포함된 프로세서로부터 서브시스템들의 리스트를 수신하는 것은 프라이머리 부트 프로세서 내에 포함된 ASIL-D 프로세서로부터 서브시스템들의 리스트를 수신하는 것을 포함한다.
예 7. 예 1-6 의 어느 방법에서, Boot_Config 핀에 기초하여 SMSS 에 대해 BIST 를 수행할지의 여부를 결정하는 단계를 더 포함한다.
예 8. 예 1-7 의 어느 방법에서, 2개의 GPIO 컴포넌트들에 대한 값들에 기초하여 PON 또는 POFF 에서 SMSS에 대해 BIST 를 수행할지 여부를 결정하는 단계를 더 포함한다.
다수의 상이한 타입들의 메모리들 및 메모리 기술들이 미래에 이용가능하거나 고려되며, 이들 중 임의의 것 또는 전부는 다양한 실시형태들을 구현하는 시스템들 및 모바일 디바이스들에 포함되고 사용될 수도 있다. 이러한 메모리 기술/타입은 NVRAM (random-access memories) 이를 테면, M-RAM (Magnetoresistive RAM), ReRAM 또는 RRAM (resistive random access memory), PC-RAM, PRAM 또는 PCM (phase-change random-access memory), F-RAM (ferroelectric RAM), STT-MRAM (spin-transfer torque magnetoresistive random-access memory), 및 3D-XPOINT (three-dimensional cross point) 메모리를 포함할 수도 있다. 이러한 메모리 기술들/유형들은 또한, 비휘발성 또는 ROM (read-only memory) 기술, 이를 테면, PROM (programmable read-only memory), FPROM (field programmable read-only memory), OTP NVM (one-time programmable non-volatile memory) 을 포함할 수도 있다. 이러한 메모리 기술들/유형들은 휘발성 RAM (random-access memory) 기술들, 이를 테면, DRAM (dynamic random-access memory), DDR SDRAM (DDR (double data rate) synchronous dynamic random-access memory), SRAM (static random-access memory), 및 PSRAM (pseudostatic random-access memory) 를 더 포함할 수도 있다. 다양한 실시형태들을 구현하는 시스템들 및 컴퓨팅 디바이스들은 또한 FLASH 메모리와 같은 전자(솔리드 스테이트) 비휘발성 컴퓨터 저장 매체들을 포함하거나 사용할 수도 있다. 위에 언급된 메모리 기술들의 각각은 예를 들어, 차량의 ADAS (advanced driver assistance system), SOC (system on chip) 또는 다른 전자 컴포넌트에 의해 또는 그 내에 사용하기 위한 명령들, 프로그램들, 제어 신호들 및/또는 데이터를 저장하기에 적합한 엘리먼트들을 포함한다. 개별 타입의 메모리, 인터페이스, 표준 또는 메모리 기술에 관련된 용어 및/또는 기술적 상세들에 대한 임의의 참조들은, 오직 예시적인 목적일 뿐, 청구항 언어로 명확하게 기재되지 않으면 청구항들의 범위를 특정 메모리 시스템 또는 기술로 한정하도록 의도되지 않는다.
전술한 방법 설명들 및 프로세스 플로우 다이어그램들은 단지 예시적인 예들로서 제공될 뿐이고, 다양한 실시형태들의 단계들이 제시된 순서로 수행되어야만 함을 요구하거나 의미하도록 의도되지 않는다. 당업자에 의해 인식될 바와 같이, 전술한 실시형태들에 있어서의 단계들의 순서는 임의의 순서로 수행될 수도 있다. "그 후에", "그 후", "다음" 등과 같은 단어들은 단계들의 순서를 한정하도록 의도되지 않으며; 이들 단어들은 방법들의 설명을 통해 독자를 안내하도록 단순히 사용된다. 게다가, 예를 들어, 관사들 "a", "an" 또는 "the" 를 사용하여 단수로의 청구항 엘리먼트들에 대한 임의의 언급은 그 엘리먼트를 단수로 한정하는 것으로 해석되지는 않는다.
본 출원에서 사용된 바와 같이, 용어들 "컴포넌트", "모듈", "엘리먼트", "시스템" 등은, 특정한 동작들 또는 기능들을 수행하도록 구성되는, 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 중인 소프트웨어와 같은, 그러나 이에 한정되지 않는, 컴퓨터 관련 엔티티를 포함한다. 예를 들어, 컴포넌트는 프로세서 상에서 구동되는 프로세스, 프로세서, 오브젝트, 실행가능물, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수도 있지만, 이에 한정되지 않는다. 예시로서, 컴퓨팅 디바이스 상에서 구동하는 애플리케이션 및 컴퓨팅 디바이스 양자는 컴포넌트로서 지칭될 수도 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수도 있고, 컴포넌트는 하나의 프로세서 또는 코어에 로컬화되고 그리고/또는 둘 이상의 프로세서들 또는 코어들 사이에서 분산될 수도 있다. 또한, 이들 컴포넌트들은 다양한 명령들 및/또는 데이터 구조들이 저장된 다양한 비일시적 컴퓨터 판독가능 매체들로부터 실행할 수도 있다. 컴포넌트들은 로컬 및/또는 원격 프로세스들, 기능 또는 절차 콜들, 전자 신호들, 데이터 패킷들, 메모리 판독/기입들, 및 다른 알려진 네트워크, 컴퓨터, 프로세서, 및/또는 프로세스 관련 통신 방법들에 의해 통신할 수도 있다.
본 명세서에 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록, 모듈, 회로, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 양쪽의 조합에서 구현될 수도 있다. 하드웨어 및 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위하여, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 일반적으로 그들의 기능성의 관점에서 설명되었다. 이러한 기능성이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지는 전체 시스템에 부과된 설계 제약들 및 특정한 애플리케이션에 의존한다. 당업자들은 설명된 기능성을 각각의 특정한 애플리케이션을 위한 다양한 방법들로 구현할 수도 있지만, 이러한 구현 결정들은 청구항들의 범위로부터의 이탈을 야기시키는 것으로 해석되지 않아야 한다.
본 명세서에 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 로직들, 논리 블록들, 모듈들, 및 회로들을 구현하는데 사용되는 하드웨어는 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계되는 이들의 임의의 조합에서 구현 또는 수행될 수도 있다. 범용 프로세서는 멀티프로세서일 수도 있지만, 대안적으로, 그 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 멀티프로세서의 조합, 복수의 멀티프로세서들, DSP 코어와 결합된 하나 이상의 멀티프로세서들, 또는 임의의 기타 다른 구성물로서 구현될 수도 있다. 대안적으로, 일부 단계들 또는 방법들은, 주어진 기능에 특정한 회로부에 의해 수행될 수도 있다.
하나 이상의 예시적인 실시형태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 소프트웨어에서 구현된다면, 그 기능들은 하나 이상의 프로세서-실행가능 명령들 또는 코드로서 비-일시적인 컴퓨터 판독가능 저장 매체 또는 비-일시적인 프로세서 판독가능 저장 매체 상에 저장될 수도 있다. 본 명세서에서 개시된 방법 또는 알고리즘의 단계들은, 비일시적 컴퓨터 판독가능 또는 프로세서 판독가능 저장 매체 상에 상주할 수도 있는 프로세서-실행가능 소프트웨어 모듈에서 구현될 수도 있다. 비일시적 컴퓨터 판독가능 또는 프로세서 판독가능 저장 매체들은 컴퓨터 또는 프로세서에 의해 액세스될 수도 있는 임의의 저장 매체들일 수도 있다. 제한이 아닌 예로서, 그러한 비일시적 컴퓨터 판독가능 또는 프로세서 판독가능 매체들은 RAM, ROM, EEPROM, 플래시 메모리, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 본 명세서에서 사용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 통상적으로 데이터를 자기적으로 재생하지만 디스크 (disc) 는 레이저를 이용하여 데이터를 광학적으로 재생한다. 위의 조합들이 또한, 비일시적인 컴퓨터 판독가능 및 프로세서 판독가능 매체들의 범위 내에 포함된다. 부가적으로, 방법 또는 알고리즘의 동작들은, 코드들 및/또는 명령들 중 하나 또는 그 임의의 조합 또는 그 세트로서 비일시적 프로세서 판독가능 매체 및/또는 컴퓨터 판독가능 매체 상에 상주할 수도 있으며, 이들은 컴퓨터 프로그램 제품에 통합될 수도 있다.
개시된 실시형태들의 전술한 설명은 당업자로 하여금 청구항들을 제조 또는 이용하게 할 수 있도록 제공된다. 이들 실시형태들에 대한 다양한 수정들은 당업자에게 용이하게 자명할 것이며, 본 명세서에서 정의된 일반적 원리들은 청구항들의 범위로부터 일탈함없이 다른 실시형태들에 적용될 수도 있다. 따라서, 다양한 실시형태들은 본 명세서에 나타낸 실시형태들로 한정되도록 의도되지 않으며, 다음의 청구항들 그리고 본 명세서에 개시된 원리들 및 신규한 특징들과 부합하는 최광의 범위를 부여받아야 한다.
Claims (30)
- 컴퓨팅 디바이스로서,
차량의 안전 필수 자동차 애플리케이션 (safety critical automotive application) 과 연관된 서브시스템들의 리스트를 수신하고;
수신된 상기 서브시스템들의 리스트에서 각각의 서브시스템에 대해, 안전성 요건의 준수의 검증이, 상기 서브시스템이 PON (power-on) 시, POFF (power-off) 시, 또는 런타임 동안에 테스트되는 것을 요구하는지의 여부를 결정하고;
상기 수신된 서브시스템들의 리스트에서 각각의 서브시스템에 대해, 그 서브시스템에 대한 BIST (built in self test) 를 수행하기 위해 요구되는 커버리지 레벨을 동적으로 결정하고; 그리고
상기 안전성 요건의 준수를 검증하기 위해 PON, POFF, 또는 런타임 시에 결정된 상기 커버리지 레벨에서 상기 서브시스템들에 대해 BIST들을 수행하도록
프로세서-실행가능 소프트웨어 명령들로 구성된 프라이머리 부트 프로세서를 포함하는, 컴퓨팅 디바이스. - 제 1 항에 있어서,
상기 프라이머리 부트 프로세서는 또한:
상기 수신된 서브시스템들의 리스트에서 각각의 서브시스템에 대한 병렬성 레벨을 동적으로 결정하고; 그리고
상기 안전성 요건의 준수를 검증하기 위해 PON, POFF, 또는 런타임 시에 결정된 상기 병렬성 레벨 및 상기 결정된 커버리지 레벨에서 상기 서브시스템들에 대해 BIST들을 수행하는 것에 의해, 상기 안전성 요건의 준수를 검증하기 위해 PON, POFF, 또는 런타임 시에 상기 결정된 커버리지 레벨에서 상기 서브시스템들에 대해 BIST들을 수행하도록 구성되는, 컴퓨팅 디바이스. - 제 1 항에 있어서,
상기 프라이머리 부트 프로세서는, 상기 프라이머리 부트 프로세서 외부의 프로세서로부터 상기 서브시스템들의 리스트를 수신하는 것에 의해 상기 차량의 안전 필수 자동차 애플리케이션과 연관된 상기 서브시스템들의 리스트를 수신하도록 구성되는, 컴퓨팅 디바이스. - 제 3 항에 있어서,
상기 프라이머리 부트 프로세서는, 상기 프라이머리 부트 프로세서 외부에 있는 ASIL-D (Automotive Safety Integrity Level D) 프로세서로부터 상기 서브시스템들의 리스트를 수신하는 것에 의해, 상기 프라이머리 부트 프로세서 외부의 프로세서로부터 상기 서브시스템들의 리스트를 수신하도록 구성되는, 컴퓨팅 디바이스. - 제 1 항에 있어서,
상기 프라이머리 부트 프로세서는, 상기 프라이머리 부트 프로세서에 포함된 프로세서로부터 상기 서브시스템들의 리스트를 수신하는 것에 의해 상기 차량의 안전 필수 자동차 애플리케이션과 연관된 상기 서브시스템들의 리스트를 수신하도록 구성되는, 컴퓨팅 디바이스. - 제 5 항에 있어서,
상기 프라이머리 부트 프로세서는, 상기 프라이머리 부트 프로세서 내에 포함된 ASIL-D (Automotive Safety Integrity Level D) 프로세서로부터 상기 서브시스템들의 리스트를 수신하는 것에 의해 상기 프라이머리 부트 프로세서 내에 포함된 프로세서로부터 상기 서브시스템들의 리스트를 수신하도록 구성되는, 컴퓨팅 디바이스. - 제 1 항에 있어서,
상기 프라이머리 부트 프로세서는 Boot_Config 핀에 기초하여 SMSS (session manager subsystem) 에 대해 BIST 를 수행할지의 여부를 결정하도록 구성되는, 컴퓨팅 디바이스. - 제 1 항에 있어서,
상기 프라이머리 부트 프로세서는 2개의 범용 입력/출력 (general-purpose input/output; GPIO) 컴포넌트들에 대한 값들에 기초하여 PON 또는 POFF 에서 SMSS (safety manager subsystem) 에 대해 BIST 를 수행할지의 여부를 결정하도록 구성되는, 컴퓨팅 디바이스. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020237037056A KR20230155020A (ko) | 2021-01-29 | 2021-12-06 | 자동차 시스템들에 대한 동적 재구성가능 인-필드 셀프-테스트 능력 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/161,731 | 2021-01-29 | ||
US17/161,731 US11634895B2 (en) | 2021-01-29 | 2021-01-29 | Dynamically re-configurable in-field self-test capability for automotive systems |
PCT/US2021/061935 WO2022164512A1 (en) | 2021-01-29 | 2021-12-06 | Dynamically re-configurable in-field self-test capability for automotive systems |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237037056A Division KR20230155020A (ko) | 2021-01-29 | 2021-12-06 | 자동차 시스템들에 대한 동적 재구성가능 인-필드 셀프-테스트 능력 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230118697A KR20230118697A (ko) | 2023-08-11 |
KR102600734B1 true KR102600734B1 (ko) | 2023-11-09 |
Family
ID=79171044
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237037056A KR20230155020A (ko) | 2021-01-29 | 2021-12-06 | 자동차 시스템들에 대한 동적 재구성가능 인-필드 셀프-테스트 능력 |
KR1020237025327A KR102600734B1 (ko) | 2021-01-29 | 2021-12-06 | 자동차 시스템들에 대한 동적 재구성가능 인-필드 셀프-테스트능력 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237037056A KR20230155020A (ko) | 2021-01-29 | 2021-12-06 | 자동차 시스템들에 대한 동적 재구성가능 인-필드 셀프-테스트 능력 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11634895B2 (ko) |
EP (1) | EP4285221A1 (ko) |
JP (1) | JP7532674B2 (ko) |
KR (2) | KR20230155020A (ko) |
BR (1) | BR112023014334A2 (ko) |
TW (1) | TW202231520A (ko) |
WO (1) | WO2022164512A1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180231609A1 (en) | 2017-02-13 | 2018-08-16 | Qualcomm Incorporated | In-field self-test controller for safety critical automotive use cases |
US20190171538A1 (en) | 2017-12-05 | 2019-06-06 | Qualcomm Incorporated | Self-test during idle cycles for shader core of gpu |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728916B2 (en) | 2001-05-23 | 2004-04-27 | International Business Machines Corporation | Hierarchical built-in self-test for system-on-chip design |
JP4196912B2 (ja) * | 2004-01-07 | 2008-12-17 | セイコーエプソン株式会社 | 電気泳動表示装置の製造方法 |
JP7155902B2 (ja) | 2017-12-21 | 2022-10-19 | 株式会社デンソー | 電子制御装置 |
-
2021
- 2021-01-29 US US17/161,731 patent/US11634895B2/en active Active
- 2021-12-06 KR KR1020237037056A patent/KR20230155020A/ko active Application Filing
- 2021-12-06 WO PCT/US2021/061935 patent/WO2022164512A1/en active Application Filing
- 2021-12-06 TW TW110145452A patent/TW202231520A/zh unknown
- 2021-12-06 KR KR1020237025327A patent/KR102600734B1/ko active IP Right Grant
- 2021-12-06 BR BR112023014334A patent/BR112023014334A2/pt unknown
- 2021-12-06 JP JP2023544372A patent/JP7532674B2/ja active Active
- 2021-12-06 EP EP21835524.6A patent/EP4285221A1/en active Pending
-
2023
- 2023-03-09 US US18/181,035 patent/US20230203796A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180231609A1 (en) | 2017-02-13 | 2018-08-16 | Qualcomm Incorporated | In-field self-test controller for safety critical automotive use cases |
US20190171538A1 (en) | 2017-12-05 | 2019-06-06 | Qualcomm Incorporated | Self-test during idle cycles for shader core of gpu |
Also Published As
Publication number | Publication date |
---|---|
KR20230118697A (ko) | 2023-08-11 |
EP4285221A1 (en) | 2023-12-06 |
WO2022164512A1 (en) | 2022-08-04 |
CN116724298A (zh) | 2023-09-08 |
KR20230155020A (ko) | 2023-11-09 |
US11634895B2 (en) | 2023-04-25 |
JP2024505470A (ja) | 2024-02-06 |
BR112023014334A2 (pt) | 2023-12-12 |
US20220243437A1 (en) | 2022-08-04 |
US20230203796A1 (en) | 2023-06-29 |
JP7532674B2 (ja) | 2024-08-13 |
TW202231520A (zh) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7416731B2 (ja) | 車載制御ユニット、fpgaベースの車両自動運転方法及び装置 | |
TWI827642B (zh) | 在多片上系統環境中共用感測器的裝置、方法和電腦可讀取媒體 | |
EP3423849B1 (en) | Ultra-fast autonomous clock monitoring circuit for safe and secure automotive applications | |
US20150067313A1 (en) | Systems and methods for secure boot rom patch | |
US20160378646A1 (en) | Method and system for generating functional test cases for software systems | |
US11966281B2 (en) | Systems and methods for isolating an accelerated function unit and/or an accelerated function context | |
EP3903191A1 (en) | Technologies for efficient reliable compute operations for mission critical applications | |
CN112100957B (zh) | 用于调试逻辑系统设计的方法、仿真器、存储介质 | |
KR20150029213A (ko) | 다양한 테스트 패턴을 획득하는 자체 테스트 회로를 포함하는 시스템 온 칩 및 그것의 자체 테스트 방법 | |
EP3903291A1 (en) | Methods, systems and apparatus to use audio return path for functional safety validation | |
CN116501156B (zh) | 电源时序控制方法、装置、设备及存储介质 | |
KR102600734B1 (ko) | 자동차 시스템들에 대한 동적 재구성가능 인-필드 셀프-테스트능력 | |
US11105854B2 (en) | System, apparatus and method for inter-die functional testing of an integrated circuit | |
CN116724298B (en) | Dynamically reconfigurable in-situ self-test capability of automotive systems | |
CN104346306A (zh) | 高完整性dma操作的系统和方法 | |
US20220358230A1 (en) | Methods and apparatus for using scan operations to protect secure assets | |
US20210382835A1 (en) | Device and method for inspecting process, and electronic control device | |
CN112306032A (zh) | 一种汽车开放系统的一致性测试方法、装置及系统 | |
KR102677512B1 (ko) | 안전 로직을 포함하는 장치 | |
KR102701850B1 (ko) | 안전 로직을 포함하는 장치 | |
US20240289098A1 (en) | Functional Safety Software Image Integrity Verifier | |
EP4334730A1 (en) | Methods and apparatus for using scan operations to protect secure assets | |
BR112018069481B1 (pt) | Método para analisar informações de sensor para identificar um comportamento anormal de veículo,dispositivo de computação e memória legível por computador | |
JP2006142898A (ja) | 車載電子制御システム | |
JP2018092312A (ja) | 路側無線装置及び路側システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |