자동차 안전성 개념: 고장 포용 아키텍처, 비교 분석
  • 2015-06-05
  • 김언한 기자, unhankim@elec4.co.kr
  • 미탈 요게시(Mittal Yogesh) 선임 디자인 매니저, 스바스타브 네하(Srivastava Neha) 디자인 엔지니어 팀장, 프리스케일 오토모티브 MCU 그룹


전자과학 2월호에  「초보자를 위한 자동차 안전성 개념」이란 제목으로 자동차 안전 시스템에 대해 간략히 살펴봤다. 이번에는 고장 포용(fault tolerant) 기능을 달성하기 위해 적용해 볼만한 다수의 안전 아키텍처들을 소개한다.

고장 포용형  안전 아키텍처 1) 록스텝(Lock-Step : LSM) 듀얼 프로세서 아키텍처

2개의 프로세서: 마스터와 체커
엄격하게 동기화되는 동일한 코드 실행
마스터 프로세서는 시스템 메모리를 액세스하고 모든 시스템 동작 구동
체커 프로세서는 버스에서 이동하는 명령을 지속적으로 실행
모니터는 데이터, 프로세서의 주소 줄 비교
불일치가 감지되는 경우 어느 한 CPU에 장애가 존재함을 의미
장애가 있는 CPU를 식별하지 않음(장애 무관 동작)

두 CPU에 버스 및 메모리 오류가 일반적으로 발생하므로 ECC*가 필요하다. ECC는 오류 검사 및 제어 또는 오류 정정 코드를 말한다. 일반 아키텍처에 해당하며 프로젝트 한정적이 아니다.




장점:
단일 CPU 오류에 대해 100%의 장애 대응
오류 감지 시간이 적절하며 클록 주기 순서임
하드웨어 설계의 다양성 지원 가능

단점:
단일 프로세서에서 성능 증가 없음
비교 및 ECC에 추가 로직 필요
장애가 있는 CPU를 판정할 수 없음
저급 작동 모드 없음
소프트웨어 오류에 대한 보호 불가능

위 그림에서 RCCU(Redundancy Control and Checker Unit)는 중복 검사 및 제어 장치를 말한다. 체커의 검사를 위해 자체 복제된다.

2) TMR(Triple Modular Redundant, 삼중화 모듈형 중복) 아키텍처

3개의 동일한 CPU로 구성됨
록스텝 동기화 방식으로 동일한 코드 실행
과반수 투표기 프로세스(Majority voter process): CPU 사이에 불일치가 감지되는 경우, 과반수에 해당하는 CPU가 계속 안전하게 작동됨
소수에 해당하는 CPU는 작동이 중단되며, 따라서 단일 CPU 장애가 됨
저급 작동 모드: 시스템이 정상 CPU 2개만으로 장애 무관 모드로 작동함
메모리 및 버스 장애에 대비하여 ECC가 필요함

장점:

저급 작동 모드가 존재함
단일 장애를 감지할 뿐만 아니라, 마스킹이 가능함
단일 장애에 대해 100% 대응

단점:
위 장점을 제외한 록스텝 아키텍처의 단점과 거의 유사함




3) 느슨하게 동기화된 듀얼 프로세서 아키텍처

2개의 CPU가 개별 메모리에 액세스하며 독립적으로 실행됨
프로세서 간 통신
느슨한 동기화
교차 검사
작업의 서브셋이 중요한 것으로 정의됨
중요 작업의 이미지가 두 메모리 모두에 복제되어 병렬로 실행됨
시간 트리거 기준의 각 실행 후 출력이 교환됨
대부분의 작업이 중요할 경우, LSM이 이 아키텍처보다 뛰어난 성능을 발휘함
소수의 작업만이 중요한 것으로 식별되는 경우, 두 프로세서가 서로 다른 작업을 병렬로 실행하여 듀얼 프로세서 아키텍처의 성능에 근접할 수 있음
소프트웨어 리던던시도 제공, LSM과 달리 코드 자체가 복제됨
버스 및 메모리(최소한 중요 작업의 경우)가 복제되므로, ECC 등이 필요하지 않음

4) 공유 메모리 아키텍처

이전 아키텍처에서는 메모리가 성능 병목의 주요 원인이 됨
메모리 의존도가 높은 작업을 실행하는 CPU의 경우 유사한 메모리가 할당된 다른 CPU에 비해 대역폭이 충분하지 않음

해결 방법: SM(공유 메모리) 듀얼 프로세서 아키텍처
크로스바 스위치로 기존 버스 대체
요청에 따른 메모리 공유 보장
충분한 대역폭 보장
매우 높은 효율성

이는 다음과 같은 점에서 LSM과 다르다.
SW 리던던시의 경우, 중요 SW(서로 다르게 개발된)와 동작의 복제본 2개가 있으며 나머지 메모리를 CPU별로 독립적인 작업에 사용해 안전뿐 아니라, 더 높은 성능까지 확보할 수 있다.

고장 포용 기능과 관련된 과제들
장애 감지에 의해 표시된 오류 메시지를 가릴 수 있게 하는 것
장애 보정의 우선순위 감소
검증 및 테스트의 어려움
비용 증가
저급 부품이 통합될 수 있음

결론

우리는 이러한 문제가 가려지거나 남용될 경우, 품질이 낮은 부품 통합으로 오용된 것인지,  고장 포용 기능에 의해 저 품질의 부품에서 발생한 치명적인 오류가 가려지는지 여부를 알 수 없기 때문에, 복구 불가능한 장애가 발생했어도 현재는 용인되는 일련의 장애들을 정의해야한다. 

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>



  • 100자평 쓰기
  • 로그인

태그 검색
본문 검색
TOP