본문 바로가기
AUTOSAR/AUTOSAR 기능안전

AUTOSAR 기능 안전 - 02 Memory Partitioning

by 임아톰 2022. 8. 29.

관련 글 목록

  1. AUTOSAR 기능 안전 - 01 FFI 
  2. AUTOSAR 기능 안전 - 02 Memory Partitioning <- 현재 포스팅
  3. AUTOSAR 기능 안전 - 03 Timing Monitoring
  4. AUTOSAR 기능 안전 - 04 Logical Supervision
  5. AUTOSAR 기능 안전 - 05 End-2-End Protection
  6. AUTOSAR 기능 안전 - 06 Hardware Diagnostics

 

참고

  • 개인적인 공부 목적으로 정리한 자료입니다.
  • AUTOSAR_EXP_FunctionalSafetyMeasures.pdf 문서를 참고하여 작성하였습니다.
  • 잘못된 내용이 있다면 댓글 달아주시면 수정하겠습니다 :)

 

Memory Partitioning 개요

하나의 제어기에 안전과 관련한 SWC와 안전과 관련하지 않은 SWC가 함께 동작할 수 있습니다. 이에 따라서 낮은 ASIL 등급을 가진 SWC가 높은 ASIL 등급을 가진 SWC의 메모리 영역을 잘못 접근할 위험도 커졌습니다. 이러한 메모리 침범을 막으려면 SWC를 분리된 메모리 영역 혹은 메모리 파티션에 실행해야 합니다. AUTOSAR에서도 메모리 관련하여 FFI (Freedom From Interference)를 보장하기 위해 memory partitioning 기능을 지원합니다.

 

Fault Models

ISO 26262에 따르면 다음과 같은 fault의 메모리 관련 영향이 SWC 간 간섭의 원으로 간주될 수 있다고 합니다.

  • Corruption of content
  • Read of write access to memory allocated to another SWC

 

OS-Application

AUTOSAR 운영체제는 OS-application을 분리된 메모리 영역에 위치시킴으로써 메모리 관련된 fault로 부터 FFI를 제공합니다. OS-application은 다른 OS-application의 메모리 파티션을 수정할 수 없게 함으로써 서로를 보호합니다. 이러한 메카니즘을 Memory Partitioning이라 합니다.

 

 AUTOSAR OS-Appliscation은 OS Object(Tasks, ISRs, Alarms, Counters, Schedule tables)의 모음입니다.

그림 출처.&nbsp;AUTOSAR_EXP_FunctionalSafetyMeasures.pdf

 그림에서 보듯이 OS-Application이 하나의 AUTOSAR SW 파티션으로 볼 수 있습니다. SWC는 실행 단위인 러너블로 구성되고 러너블은 태스크에 맵핑됩니다. 태스크는 OS-Application에 맵핑되어 실행되게 됩니다.

그림 출처.&nbsp;AUTOSAR_EXP_FunctionalSafetyMeasures.pdf

 하나의 AUTOSAR ECU의 Application SW는 서로다른 ASIL 등급을 가진 SWC로 구성될 수 있습니다. ISO 26262에 따르면 서로다른 ASIL 등급을 가진 SWC는 FFI를 보장해주어야 합니다. FFI를 보장하기 위해 서로 다른 ASIL 등급을 가진 SWC는 서로 다른 OS-Application에 맵핑되어야 합니다. 하지만, 이러한 방법은 서로 같은 등급을 가진 SWC 간 FFI를 보장할 수는 없습니다.

 

Task-level Memory Partitioning

하나의 OS-application에서 SWC 간 FFI를 보장하려면 Task-level의 메모리 파티셔닝을 사용해야 한다. AUTOSAR 표준에서는 Task-level 메모리 파티셔닝은 필수가 아니다. Task-level 메모리 파티셔닝은 지원하지 않을 수 있다.

 

Limitation

  1. 같은 ASIL 등급을 가진 SWC 간의 메모리 파티셔닝 같은 ASIL 등급을 가진 SWC는 하나의 OS-Application에 맵핑되고 하나의 OS-Application은 메모리 파티셔닝이 안됩니다. ISO 26262 표준에 따르면 같은 ASIL 등급을 가진 SWC 간에는 FFI를 요구하지 않습니다. 하지만, 하나의 SWC가 메모리 violation을 일으켜 전체 메모리 파티션을 shutdown 혹은 restart하여 같은 파티션 내에 정상동작하는 SWC에 영향을 미칠 수 있습니다.
  2. 메모리 파티셔닝은 trusted OS-Applications에 적용되지 않음 OS-Application은 2가지 타입 (Trusted OS-Application, Non-trusted OS-Application)을 가집니다. 메모리 파티셔닝은 trusted OS-Applications에 적용되지 않음
  3. 태스크 레벨 메모리 파티셔닝을 지원하지 않음 AUTOSAR OS에서 태스크 레벨 파티셔닝의 구현은 의무가 아닙니다. OS-Application 내에서의 FFI는 지원되지 않을 수 있습니다.
  4. 메모리 파티셔닝이 성능 저하를 일으킬 수 있음 메모리 파티셔닝에 의한 성능 저하는 컨텍스트 스위칭이 증가하면 더 커질 수 있습니다.
  5. BSW 파티션이 없음 현재 사양에서는 BSW에 대한 메모리 파티셔닝이 명시화되어 있지 않습니다.

 

 

다음글 - AUTOSAR 기능 안전 - 03 Timing Monitoring

반응형