디팩 네기(Deepak Negi) 연구원, 네하 바그리(Neha Bagri) 선임연구원, 비카스 아가왈(Vikas Agarwl) 선임연구원, 프리스케일 Auto MCU 아날로그 부서
이 글은 공통 원인 고장(CCF)의 개요, 안전 시스템에서 공통 고장이 발생하는 원인에 대해 설명하고, 발생 확률을 줄이기 위해 예비 시스템에 적용할 수 있는 다양한 대책에 대해 논의한다.
시스템의 구성 부품을 복제하는 것은 해당 시스템에서 고장이 발생할 가능성을 줄이는 데 도움이 된다. 이 문서에서 자세히 논의하겠지만 특정 요소로 인해 복제의 효과가 기대에 미치지 못할 수 있다.
시스템의 어느 한 부품의 고장 확률이 p라면, 하나를 사용하는 대신 3개의 부품(3oo3 시스템)을 사용하면 전체 시스템의 고장 확률이 p3로 낮아질 것으로 가정할 수 있다. 하지만 이는 3개 부품의 고장 확률이 상호 배타적인 경우에만 해당되는 가설이다. 이는 한 부품의 고장 원인이 다른 부품에서도 고장을 일으키지 않는 경우에만 보장될 수 있다.
2개 이상의 부품에 고장을 발생시키는 고장 원인을 CCF(Common-Cause Failures, 공통 원인 고장, ISO26262-1 1.14)라고 부른다. 따라서 리던던시를 사용하여 시스템의 안전성을 강화하려면 공통 원인 고장을 최소한으로 줄이기 위해 노력해야 한다.
고장(Failure)
안전 시스템의 고장이란 필요에 따라 요구되는 안전 기능을 수행할 수 있는 역량이 종료되는 것으로 정의할 수 있다. 자동차의 경우 안전 시스템에는 에어백 제어, 전자 안정성 제어, 전자식 파워 스티어링, 연료분사 제어, 점화시간 제어, 후방 카메라 시야 등을 관리하는 시스템이 포함될 수 있다. 따라서 이러한 시스템 중 어떤 것이라도 고장이 발생할 경우 관련자의 생명에 직접적 또는 간접적으로 영향을 줄 수 있다.
종속 고장이란 동시 또는 연속 발생 확률을 각각의 비조건부 확률의 단순 산물로 표현할 수 없는 고장을 의미한다. CCF(공통 원인 고장)와 CF(Cascading Failures, 연계 고장)는 종속 고장의 범주에 속한다.
연계 고장(Cascading Failures)
CF는 시스템에 속한 요소의 LF(Local Faults, 국부 고장)가 상호 연결된 요소를 통해 전파되면서 동일 시스템 및 동일 채널의 다른 요소에 고장을 일으키는 것을 의미한다.
공통 원인 고장(Common-Cause Failures)
공통의 원인으로 동시에 또는 짧은 시간 간격으로 두 가지 이상의 부품 장애 상태가 존재하는 고장을 의미한다. CCF는 하나의 근본 원인으로 인해 시스템이 의도된 안전 기능을 수행하지 못하도록 만드는 리던던시 기반 시스템의 별도 채널에 있는 두 가지 이상 부품의 무작위 고장 상태의 동시 발생을 의미한다.
CCF의 원인
시스템에는 의도된 안전 기능의 비작동으로 이어질 수 있는 CCF의 원인이 다수 존재한다. 여기에는 무작위 하드웨어 고장, 환경적 조건, 공통 신호의 오류 등이 포함될 수 있다.
예를 들어, 래치업(디바이스의 전원 공급 레일 사이에 저 임피던스 경로가 부주의하게 생성됨)과 같은 무작위 하드웨어 오류는 예비 부품에서 사용하는 공유 로직의 고장(록스텝 코어에서 공유하는 메모리 손상 등)으로 이어질 수 있다.
과도한 온도 변동, EMI 등과 같은 환경적 조건의 영향 또한 예비(redundant) 부품의 고장, 더 나아가 궁극적으로 시스템 고장으로 이어질 수 있다. 전원 공급 선로 전반의 장애 전파 또한 동일한 전원을 공유하는 예비 부품의 고장을 일으킬 수 있다.
예비 부품에 공통적인 신호의 오류는 시스템 리던던시의 효과를 상쇄시킬 수 있다. 이러한 신호에는 클록, 전원 공급, 비 애플리케이션 제어 신호(테스트, 디버그 등) 또는 안전 메커니즘이 없는 다른 부품에서 발생된 신호가 포함될 수 있다.
CCF의 제거
위에 설명한 것처럼, 공통 고장 원인의 존재는 “안전 규정 준수 자동차용 디바이스의 리던던시” 문서(www.edn.com/design/automotive/4429463/Redundancy-for-safety-compliant-automotive---other-devices)에 설명된 시스템에 존재하는 리던던시로 인해 낮춰진 시스템 고장 비율을 크게 증가시킬 수 있다. 따라서 이러한 고장을 방지할 수 있는 조치를 취하는 것이 필수적이다. 또한 해당 문서에서 논의된 지연 록스텝 개념은 두 가지 동일한 프로세싱 요소의 입력에 지연을 적용함으로써 예비(redundant) 설계에서 CCF를 제거하는 전형적인 예 중의 하나이다. 다음 절에서 CCF 제거를 달성하는 방법과 관련된 추가적인 기법 몇 가지를 다루겠다.
공간적으로 분리된 하드웨어 장치
MooN(N 부호 중 M) 시스템에서 모든 부품을 함께 배치하면 둘 이상의 부품에 고장을 일으키는 장애의 발생 확률이 크게 증가한다. 하지만 시스템을 설계할 때 부품을 공간적으로 분리하면 둘 이상의 부품에서 동일한 원인으로 고장이 발생할 확률이 감소한다. 별도의 예비 물리 부품의 경계 사이 최소 거리는 해당 부품의 고장으로 이어질 수 있는 각 부품 사이의 단락과 혼선을 방지하기에 충분해야 한다.
그림 1은 서로 공간적으로 가까이 배치된 하드웨어 부품이 동일한 고장으로 서로 영향을 받을 수 있음을 보여준다. 그러한 고장의 원인은 전압 급상승, 국부적 과열, SEE 등과 같이 국부적으로 제한된 장애가 될 수 있다. 더불어 단락은 일반적으로 EM(전기적 이동), 비아 이동, 접점 이동, 국부적 결함 게이트 산화막 파괴 등으로 인해 발생할 수 있다. 혼선은 일반적으로 기판 전류, 용량성 결합 등으로 인해 발생할 수 있다.
이는 기술 노드에 따라 특정 거리 내에 배치된 부품이 작동하지 않는 원인이 될 수 있다. 이를 방지하려면, 일반적으로 10~50 사이의 안전(곱셈) 계수를 포함하여 관련 설계 규칙에 따라 최소 거리를 선택해야 한다[설계가 생산되는 기술 노드에 따라, 물리적 설계에서 따라야 할 특정 사전 정의 설계 규칙(최소 거리 등)이 존재한다. 따라서 핵심 안전 부품의 경우 그 거리가 연동 부품의 중요성을 기준으로 표준 기술 노드의 지정 거리보다 10~50배여야 한다.].
또한 예비 부품 사이의 인터페이스 신호는 일반적으로 여러 계층으로 구성된다. 하나의 장애로 여러 부품에 간섭이 발생할 확률을 최소화하려면 인터페이스 신호가 나머지 인터페이스 신호와 교차되지 않도록 해야 한다. 예비 부품의 공간적으로 분리된 배치는 독립적 동작 가능성을 극대화하며 그에 따라 의도된 안전 기능을 달성하는 데 도움이 된다.
부품을 서로 멀리 배치하면 그러한 고장이 대규모로 발생할 확률을 줄일 수 있다.
예비 부품의 개별 합성
예비 부품은 개별적으로 합성되어야 한다. 이는 논리 회로의 공간적 다양성(spatial diversity)을 달성하는 데 기여한다. 이를 통해 동일한 논리 회로로 인해 발생할 수 있는 유사한 고장을 줄일 수 있다. 또한 레이아웃 및 라우팅 제한을 통해 시스템 내 예비 부품의 독립성을 극대화함으로써 CCF에 대한 내성을 높일 수 있다.
클록 트리 및 클록 모니터링
SoC에서 리던던시 방식으로 사용되는 부품은 동일한 클록을 공유할 수 있다. 클록에 오류가 발생한다면 모든 예비 부품에 동일한 고장이 일어날 수 있다. 따라서 고장이 포착되지 않을 수 있다. 가능하다면 클록 트리에서 클록을 분할해야 한다. 또한 분할 작업은 클록 트리가 가능한 클록 소스에 가깝게 분할되는 방식으로 이루어져야 한다. 이는 시스템에서 CCF의 발생 확률을 줄여준다.
또한 클록 트리의 오류로 인한 CCF가 감소되는지 클록을 모니터링해야 한다. 클록 모니터는 시스템 내에서 배치되어야 하며, 예비 부품에 가능한 가까운 곳에서 모니터링할 클록을 입수해야 한다. 클록 트리의 근원과 가까운 곳에서 모니터링할 클록을 입수할 경우, 분할 지점(그림 4에 빨간색 점으로 표시) 이전과 모니터링 지점(그림 4에 파란색 점으로 표시) 이후의 클록 트리 공통 경로에서 발생하는 장애가 발견되지 않으며, 이 경로에서 발생하는 장애는 예비 부품에 동일한 방식으로 영향을 주게 된다.
예비 부품에 최대한 가까운 곳에서 클록을 모니터링하면 클록 오류의 감지 확률이 높아진다. 이는 다음과 같은 이유로 도움이 된다.
클록 발생 모듈에서 클록 트리의 분할 지점에 이르는 공통 경로의 대부분을 다루게 되므로, 클록을 모니터링하여 이 경로의 모든 장애를 감지할 수 있다.
예비 부품의 기능 비교를 위해 배치되는 비교 장치를 통해 분할 이후 예비 부품을 향한 클록 경로에서 발생하는 장애를 포착할 수 있다.
전압 모니터링
예비 부품이 작동하는 전원이 너무 높거나 너무 낮은 값이 되지 않도록 모니터링/관리해야 한다. 이를 위해 LVD(저전압 감지기) 및 HVD(고전압 감지기)가 내장된 일련의 전압 모니터를 사용해야 한다. 모니터링 대상 전압 중 하나가 지정된 임계값 아래(LVD) 또는 위(HVD)로 변동되면, CCF를 통한 시스템 고장으로 이어지기 전에 이상 전압에 대한 예방 조치를 취해야 한다.
또한 안전 상태로 직접 전환이 이루어질 수 있도록 저전압 및 과전압 상태가 보고되어야 한다. 장애가 있는 전원이 디바이스의 예비 부품의 장애 표시 메커니즘을 비활성화 할 수 있으므로 이 솔루션이 선택됐다. 또한 디바이스의 기능성을 보장하려면 디바이스 내부의 모든 안전 관련 전압을 모니터링해야 한다.
온도 모니터링
온도로 인해 발생하는 공통 원인 고장에 대응하기 위해 설계에서 관리용 온도 센서를 구현할 수 있다. 온도 센서는 기판 온도를 모니터링하여 CCF(예: 예비 채널 모두에서 동일한 이상 결과를 유발하는 과열로 인한 장애)를 일으키기 전에 과열 상태를 감지한다. 온도 센서는 디바이스의 절대 전류 정션 온도에 비례하는 아날로그 전압과 정션 온도가 사전 설정 저온 임계값 또는 사전 설정 고온 임계값에 도달했는지 알리는 디지털 출력을 발생시킨다.
온도 센서 출력은 측정치 변환을 위해 적절한 ADC 채널로 전달될 수 있다. 온도 임계값 감지 기능이 활성화된 경우, 온도 센서는 칩의 내부 정션 온도를 모니터링하고 지정된 온도 임계값이 초과되면 신호를 발생시킨다. 허용 범위를 벗어난 온도는 디바이스 내의 장애 표시를 트리거하는 데 사용할 수 있다.
공통 신호 모니터링
기능상 안전과 관련이 없고, 따라서 기능상 안전 메커니즘이 포함되지 않은 부품 및 공통 모드 신호(예: 스캔, 테스트, 디버그 등)가 CCF의 원인이 되는 일은 절대 없어야 하며, 설계에 포함된 예비 부품과의 상호작용으로 인해 기능상 안전 목표를 침해할 수 있게 되지 않아야 한다. 이러한 제어 로직/신호의 오류가 복제된 부품에서 유사한 오류를 일으키거나 안전 조치를 비활성화하지 않아야 한다.
이러한 오류는 치명적이 될 수 있고 리던던시 효과를 상쇄시킬 수 있으므로 확실하게 제거해야 한다. 이는 시스템의 기능상 안전 관련 예비 부품과 간섭이 일어나지 않도록 하거나 또는 그러한 간섭을 감지하는 것으로 달성할 수 있다.
예를 들어, 안전 애플리케이션을 실행하는 동안 시스템의 디버그(의도되지 않은 디버그 모드 진입) 또는 정상 애플리케이션 실행 모드가 아닌 다른 특별 모드로 전환되지 않도록 보장해야 한다. 따라서 시스템이 의사 활성화되어 안전 위반으로 이어지는 것을 방지하려면 시스템이 기능 모드일 때 모든 해당 신호를 모니터링해야 한다.
IO 배치
SoC에 여러 주변장치를 중복 사용하는 경우(“안전 규정 준수 자동차용 디바이스의 리던던시” 문서의 1.3.3절 주변장치 복제 참조), CCF 발생을 줄이려면 주변장치 IO를 공간적으로 분리하여 배치하는 것도 마찬가지로 중요해진다.
예비 부품이 모두 공간적으로 분리됐지만, IO가 함께 배치된 아래 설계 예를 살펴보자. 부품 IO 모두에서 CCF가 발생하여 부품 모두에서 동일한 고장으로 이어질 수 있으며, 결과적으로 안전 시스템 애플리케이션의 고장이 일어날 수 있다. 이는 리던던시 효과를 상쇄시키며 시스템 안전을 위험하게 만들 수 있다.
따라서 시스템을 설계할 때 주의를 기울여야 한다. 또한 예비 주변장치의 올바른 기능을 보장하려면 예비 주변장치의 IO가 공간적으로 분리되도록 IO 배치가 이루어져야 한다. 그림 8은 개선된 복제 주변장치의 IO 배치를 보여준다. 이 그림에서는 한 주변장치 IO에서 발생한 장애가 복제된 주변장치의 IO에 영향을 주지 않도록 복제된 주변장치의 IO가 분리되어 있다.
결론
설계에서 “리던던시”는 안전에 핵심적인 개념 중 하나다. 하지만 리던던시가 전반적인 시스템 고장 확률 감소에 기여하도록 하려면 설계에서 “공통 원인 고장”을 줄일 필요성 또한 부각된다. CCF를 줄일 수 있는 설계 조치를 적용하지 않으면 리던던시 효과가 상쇄될 수 있다. 하드웨어 장치의 물리적 분리, 전압 모니터링, 클록 모니터링, IO 배치 등과 같은 다양한 설계 조치를 통해 예비 시스템의 견고성을 강화할 수 있다.
<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>