임베디드 면접 용어 사전
자동차 표준

ECC

메모리 비트 뒤집힘을 검출·정정하는 회로. 보통 1비트는 자동 정정, 2비트는 검출해 예외로 올린다.

Error Correcting Code. 저장된 값이 저절로 바뀌는 사고를 다루는 하드웨어 장치다.

비트가 왜 저절로 뒤집히나

  • 우주선·알파 입자에 의한 소프트 에러(SRAM에서 실제로 일어난다)
  • 전원 노이즈, 온도, 노화
  • 플래시 셀의 전하 손실

차량은 15~20년, 넓은 온도 범위에서 굴러가므로 무시할 수 없다.

어떻게 정정하나

데이터에 검사 비트를 덧붙여 저장한다(해밍 부호 계열). 읽을 때 다시 계산해 비교하면 어느 비트가 틀렸는지까지 나온다.

64비트 데이터 + 8비트 검사 비트
  1비트 오류 → 어느 자리인지 계산돼 자동 정정(SEC)
  2비트 오류 → 정정은 못 하지만 검출은 된다(DED) → 예외 발생

이를 SECDED(Single Error Correct, Double Error Detect)라 부른다.

소프트웨어에서 보이는 모습

  • 1비트 정정은 조용히 처리되지만 카운터가 올라간다 — 진단으로 읽어 열화를 감시한다
  • 2비트 검출은 보통 예외·리셋으로 이어진다
  • 그래서 안전 관련 변수는 ECC가 있는 영역에 두는 것이 설계 선택이 된다

자동차용 MCU에서는 이렇게 노출된다 (S32K1xx 예)

방식        수정 해밍 부호 기반 SECDED
1비트 오류   자동 정정 + ERM(Error Reporting Module)이 인터럽트로 알림
2비트 오류   정정 불가 → BusFault 예외, 문제 주소는 BFAR 에서 읽는다
시험         EIM(Error Injection Module)으로 일부러 오류를 주입해
            ECC 회로가 살아 있는지 주기적으로 확인한다

EIM이 있는 이유가 기능안전의 사고방식을 잘 보여준다. 안전 장치 자체가 고장 나 있으면 아무 소용이 없으므로, 감시 장치를 감시하는 시험을 FTTI 안에서 주기적으로 돌린다.

대가

검사 비트만큼 면적이 늘고, 읽기 경로에 지연이 붙는다. 그럼에도 자동차용 MCU가 SRAM·플래시에 ECC를 기본 탑재하는 이유는 고장률 목표(ISO 26262의 하드웨어 지표)를 맞추는 데 필요하기 때문이다.

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — 자동차 임베디드 표준 — AUTOSAR·ISO 26262(ASIL)·MISRA·UDS/ISO-TP·E2E