안녕하세요. 자율주행 시스템/SW 안전 전문가를 목표로 하는 플라잉 준입니다 :)
오늘은 기능안전에서 중요한 설계 기술인 이중화 또는 중복화 라고 하는 Redundancy에 대해 SoC (System On Chip) 관점으로 정리해 보도록 하겠습니다.
※ 아래 부터는 Redundancy를 이중화라고 하겠습니다 :)
개요
먼저 ISO 26262 기능안전 표준에 설명된 "Safety Compliant (안전 준수)"를 만들기 위해 사용되는 SoC (System On Chip) 설계 기술로는 아래의 기술들이 있습니다.
- Redundancy (이중화)
- Self-test (자체 테스트)
- Signal monitoring (신호 모니터링)
- Voltage supply monitoring (전압 공급 모니터링)
- Watchdog timer (워치독)
- 등등
이 중 이중화 (Redundancy)는 높은 진단 커버리지 (Diagnostic Coverage) 를 가지는 설계 기술로 안전이 중요한 시스템, 컴포넌트에 자주 사용됩니다.
차량 장치에서 이중화 (Redundancy) 를 사용하는 방법은 다양하며 아래의 상세히 설명하는 내용에서는 SoC에서 사용되는 여러 이중화 (Redundancy) 기술에 대해 설명하도록 하겠습니다.
이중화 (Redundancy)
먼저 이중화 (Redundancy) 는 시스템의 안전성과 가용성을 높이기 위해 중요한 기능에 사용되는 구성 요소 외에 추가 요소를 포함하는 것을 의미합니다.
이중화 (Redundancy) 는 하드웨어 형태 (e.g. dual core lockstep), 소프트웨어 형태, 정보 형태 (e.g. 메모리에 추가된 ECC), 타이밍 형태로 이중화 설계 기술이 추가될 수 있으며 일반적으로 이중화 (Redundancy)는 MooN (M-out-of-N) 개념에서 작동합니다.
M-out-of-N Concept
M-out-of-N (MooN) 시스템은 N 개의 동일한 구성 요소를 포함하며 N 개 구성 요소 중 M 개 이상이 올바르게 작동하면 시스템에 오류가 없다는 원칙에 따라 작동하는 설계 기법입니다.
- 2oo3 TMR (Triple Modular Redundancy) : 3 개 중 2개 이상의 구성 요소 (과반수 이상)가 올바르게 작동하면 시스템이 올바르게 작동하는 것으로 간주됨
MooN 시스템은 하드웨어뿐만 아니라 소프트웨어에서도 사용되며 각각 설계하는 방법은 아래와 같습니다.
- 하드웨어 : 중요한 구성 요소가 물리적으로 복제되고 다수결에 따라 최종 값이 결정되도록 설계
- 소프트웨어 : 작업을 여러 번 반복하고 결과를 비교하여 여러 번 나온 값으로 최종 값이 결정 되도록 설계
하드웨어 이중화 (Hardware Redundancy)
Soc에서 하드웨어의 이중화 (Redundancy)는 안전이 중요한 작업을 수행하는 코어의 복제 (Lockstep), 지연된 Lockstep (1oo1 시스템), 비대칭 Lockstep, Triple-voting (2oo3 시스템)과 같은 다양한 형태로 설계할 수 있습니다.
Lockstep 설계
높은 수준의 안전 준수 장치에서는 안전이 중요한 작업을 수행하는 코어가 복제되고 응용 프로그램은 잠금 단계 모드에서 두 코어를 모두 작동하여 중복 처리가 동일한 결과를 산출하는지 확인하기 위해 비교합니다.
만약, 산출된 결과가 다른 경우 결함이 발생한 것으로 간주합니다.
Lockstep에서는 동일한 입력 셋이 두 코어에 동시에 전송되어 동일한 클록 주기에서 동일한 계산을 수행합니다.
결과를 정기적으로 비교하여 일시적 장애(transient failure), 간헐적 장애(intermittent failure), 영구적 장애 (permanent failure)가 발생한 시기를 감지합니다.
일반적인 Lockstep에서는 일시적, 간헐적, 영구적을 구별하지 않고 출력이 일치하지 않으면 결함 (fault) 이 발생했다고 표시되고 재시작이 수행됩니다.
일반적인 dual-core lockstep 구조는 아래와 같습니다.
Delayed Lockstep
Delayed Lockstep 은 한 코어의 입력이 N 클록 주기만큼 지연되고 다른 코어의 출력이 동일한 기간만큼 지연된 다음 결과를 비교하는 변형된 Lockstep 설계 기법입니다. 이 설계 기법은 앞서 설명한 Lockstep 설계 기법에 시간 다양성 (Diversity)을 추가한 것으로 좀 더 높은 수준의 진단 커버리지 (Diagnostic Coverage)를 가질 수 있습니다.
하나의 코어가 N 클럭 사이클 후에 동일한 작업을 수행하므로 노이즈 펄스가 두 코어에 모두 영향을 미쳐 동일한 방식으로 기능에 영향을 미칠 가능성이 줄어듭니다.
일반적인 Delayed Lockstep의 구조는 아래와 같습니다.
- 위의 Delayed Lockstep 의 지연은 2 클록
- 코어 2에 공급되는 데이터는 2 클록 주기만큼 지연됨
- 코어 2의 리셋도 2주기 지연됨
- 코어 1의 출력은 2클록 주기 지연된 후 체커 회로로 전달되어 비교됨
Asymmetric Redundancy (비대칭 중복)
비대칭 중복은 동일한 코어를 복제하는 대신 다양한 코어를 사용하는 설계 기법입니다. 다양한 전용 코어는 내부 및 외부 결과를 단계별로 비교할 수 있는 인터페이스를 통해 메인 코어와 긴밀하게 연결됩니다. 인터페이스는 복잡성을 줄이고 오류 감지 대기 시간을 단축합니다. 메인 코어는 중요한 작업을 실행하는 반면, 다양한 전용 코어는 메인 코어의 실행을 복제하여 오류를 감지하거나 메인 코어의 안전한 작동을 보장합니다.
이러한 하드웨어 다양성 (diversity) 은 공통 원인 장애 (CCF, Common cause failure), 시스템 장애 (Systematic Failure)에 대한 효과적인 진단 커버리지 (DC, Diagnostic Coverage)를 제공합니다.
특히, 코어의 구조가 달라 동일한 입력에 대해 코어가 반응하는 방식이 달라지기 때문에 공통 원인 고장에 대한 더 나은 진단 커버리지 (DC)가 제공됩니다.
※ 두 코어에서 발생하는 동일한 유형의 결함이 적기 때문입니다 :)
이 설계 기법의 단점은 진단 커버리지를 입증하기 위해 자세한 분석이 필요할 수 있다는 것입니다.
Triple Voting
Triple Voting 기법은 비트 수준에서 구현되는 설계 기법으로 안전이 중요한 작업에서 사용되는 레지스터 비트를 두 번 복제하여 다수결 논리를 기반으로 출력을 생성하는 설계 기법입니다.
해당 기법은 앞서 설명한 2oo3 다수결 시스템의 예로서 3비트 중 하나라도 실패하면 나머지 2개가 결함을 마스킹합니다. 이 기술을 사용하면 Single Point Of Failure (SPOF) 를 방지할 수 있고 두 개 또는 모든 비트가 동시에 손상될 가능성이 매우 낮다고 가정하면 시스템을 계속 작동할 수 있어 안전성뿐만 아니라 가용성 측면에서도 좋은 효과를 나타낼 수 있습니다.
이 설계 기법의 단점은 비트를 2개 더 사용하는 것으로 불필요한 면적 오버헤드가 존재한다는 것입니다.
정리
하드웨어 이중화 (Redundancy)를 작성하다 보니 내용이 꽤 길어지는 것 같아, 소프트웨어, 정보 중복, 타이밍 중복에 대한 내용은 다음 포스팅에 이어서 작성하도록 하겠습니다 :)
아 추가로, 만약 자동차 기능 안전에 대해 실제 현업에서는 어떻게 업무가 진행되는지, 구체적인 예제는 어떤 게 있는지 등 자동차 기능안전에 대한 실무가 궁금하시다면 아래 링크를 통해 연락 주시면 도움드리도록 하겠습니다 :)
감사합니다.
'자율주행 개발 프로세스 > Functional Safety (ISO26262)' 카테고리의 다른 글
차량 IC 의 기능 안전 & 보안 아키텍처 컨셉 (0) | 2023.03.13 |
---|---|
[이중화/Redundancy] 기능안전 달성을 위한 차량 및 부품의 이중화 컨셉 정리 (2) (0) | 2023.03.12 |
자동차 산업에서 기능 안전(Functional Safety) 을 준수하는 방법 (종합 가이드) (0) | 2023.03.10 |
E-GAS Monitoring Concept 의 ISO 26262 - Part 3 Concept Part 까지 정리 (Safety Goal, Functional Safety Requirement) (0) | 2022.04.15 |
ISO26262 - E-GAS Monitoring Concept 간단 정리 (0) | 2022.03.20 |