기능안전(Functional Safety)

Fail safe system

깡또아빠 2018. 6. 27. 20:00

Fail Safe의 말 그대로를 해석하면, 고장과 안전이다.


어떤 시스템이 고장난 경우에도 사람에게 해가 없어야 한다. (경우에 따라서는 재산적 가치를 피해로 보는 경우도 있다.)


일반적으로 Fail Safe는 크게 3가지로 구분할 수 있다.


1. Fail Passive

고장이 발생하게 되면 정지 시킴

* 그림 출처: Fail-operational automated driving - Challenges in development and testing



2. Fail Active

고장이 발생하면 경보를 울리고, 짧은 시간 동안 동작


3. Fail Operational 

고장이 발생하더라도 안전하게 기능을 유지


* 그림 출처: Fail-operational automated driving - Challenges in development and testing


Fail Operational은 Safe state를 위해서는 ECU의 지원을 받을 수 밖에 없다.
반면 Fail Safe (여기서는 Fail Passive와 동일)의 경우 ECU의 지원이 필요치 않다.
* ISO 26262에서 여러 시스템들이 가지는 Safe state는 그 자체의 기능을 Off 시키는 경우가 많다. 이런 경우에는 Fail-Safe, Fail Passive라고 생각하면 된다.
* 그러나 질문을 해보자. 우리가 가고자 하는 자율주행 Autonomous Driving을 위해서는 Fail Operational로 가야 한다. 그렇지 않은가?


오늘 여기서 말하고 싶은 것은 Fail silent와 Fail Operational이다.

위에서 언급하지 않은 Fail silent를 간단히 설명하면, 고장이 난 기능을 비활성화(deactivation) 하거나 리셋(Reset)을 시키는 것을 말한다. 즉 Fail Passive와 비슷한 개념이라고 이하면 된다.


이러한 Fail silent는 확실한 안전을 제공해줄 수 있는 것처럼 보이나, 요즘의 많은 전장품이 포함된 자동차에서는 적절하지 않다. 예를 들어서 주행 중 어떤 기능이 고장났다고 가정해보자. 주행을 멈출수도 없고, 주행 중에 비활성화나 리셋하는 것이 모든 Hazardous event에 맞지 않을 수 있다.


그러므로 고장이 발생하는 경우에도 동작할 수 있도록 하는 Fail operational이 중요해지고 있다.


Fail operational의 이해를 도울 수 있는 그림이 있어서 참고한다.

출처: Autonomous Driving - From Fail-Safe to Fail-Operational Systems (Elektrobit)

       - Basic Concepts and Taxonomy of Dependable and Secure Computing, Avizienis et al., 2004



Component A, B로 구성된 System이 있다.


이 시스템에서 Fault가 발생했다. (Internal Dormant Fault). ISO 26262에서는 Fault가 기대치와 실제 측정값이 다르게 나오는 Error를 발생시키고, 이러한 Error가 시스템의 고장이라고 할 수 있는 Failure로 전개되는 흐름을 가지고 있다.


즉 위 그림을 보면 Fault가 Error로 그리고 Failure로 전개되었다. Component A에서 B로 Failure가 전달되고 Component B에서 최종적으로 Failure로 전개된 그림이다. 

(여기서 Component A로 인해 Component B의 Failure를 전개하는 Cascading과 같은 그림을 가지고 있지만, 오늘 설명에서는 중요치 않으므로 넘어가자)


System의 Failure는 Vehicle level (또는 상위 level)의 Hazard를 발생시키고, Environment에 따라 Accident로 전달될 수 있다. 여기서 어떤 Measure / Mechanism이 없다면 Safe system이라고 할수 없는 것이다.


Component A의 Failure를 Detection / Reaction을 통한 Safety Mechanism을 고려한다면 Fail-Safe system이라고 할 수 있다. 이러한 mechanism이 우리가 허용하는 범위 내에서 운영할 수 있도록 한다면 Failure (or Fault) tolerant system이라고 칭할 수 있을 것이다.


위 그림은 Fail safe system을 이해하는데 유용하게 사용될 수 있을 것이다.


자 그러면 Fail safe system에 대해서 구분을 해보았으니, Risk의 줄일 수 있는 방법은 무엇이 있을지 살짝 얘기해보자.


Fault가 하드웨어와 같은 수리/교체를 요구하는 경우에는 Permanent Fault라고 부른다. 반대로 소프트웨어의 고장과 같이 일시적인 Fault가 발생된 이후 다시 복구가 가능한 경우를 Transient Fault라고 부른다.


Fault의 유형에 따라 Risk reduction 할 수 있는 방법이 달라질 것이다.


아래 그림을 참고해 보자.

출처: Fail-Operational in Safety-Related Automotive Multi-Core Systems

       Andre Kohn 외 다수


위 그림의 경우 Fail safe가 Fail silent, Fail Operational과 함께 존재하고 있다. 이런 부분은 해석하기에 따라 조금씩 달라질 수 있다. 말하고 싶은 요지는 이것이 아니니까 패스~


그림 전에 말했던 Permanent Fault와 Transient Fault의 구분에 따라 Diversity, Duplicate와 같은 Redundancy, 또는 SW Reset과 같은 방법들을 고려할 수 있다.


Operating Time의 경우 개발 시 고려하는 Operating hours, Distance등이 포함된 Mission Profile 범위에서 보장할 수 있는 방법들을 고려해야 한다.


Reduced Fault Rate의 경우 신뢰성이 높은 부품, 소자, ISO 26262와 같은 방법론을 고려하여 개발한 컴포넌트의 사용을 통해 이를 보장할 수 있다.


자, 오늘은 Fail safe system에 대해서 간단하게 설명했다. 


(내용 중 Redundancy에 대한 이해 시, Fault의 강한 대비책/완구책과 같이 이해하지는 않길 바란다.

Reliability, Availability는 같이 비례하지 않는다. 이 부분은 다음에 설명하도록 한다.)


자 그럼 모두들 퇴근하세요~ 굿나잇!





'기능안전(Functional Safety)' 카테고리의 다른 글

BFR & Reference for Reliability  (0) 2018.07.10
Safety Case  (0) 2018.07.01
HAZOP Compare IEC 61882 and SAE J2980  (0) 2018.06.20
Other technology and External measures  (0) 2018.06.19
Impact analysis timing  (0) 2018.05.09