Differential Update (차분 업데이트) — 기존 ROM 데이터와 새 ROM 데이터의 변경 부분만 추출한 차분 데이터(New − Old = Diff)를 전송·적용하여 업데이트 데이터 크기를 최소화하는 기법. 무선 대역폭 최적화에 필수이며, 저장 공간 구성에 따라 A/B Update와 In-place Update 두 방식으로 나뉜다.
차분 데이터 생성·적용
- 생성 알고리즘:
New − Old = Diff(서버/수행제어기 협력사에서 생성·업로드) - 적용 알고리즘:
Old + Diff = New(차량 제어기에서 수행)
Cloud Server ── NEW ROM ─────────────┐
▼
┌─────────────────┐ [Diff 생성]
│ OLD ROM (차량) │ │
└─────────────────┘ NEW - OLD
│
▼
Diff 전송제약사항
차분 솔루션은 Old·New 데이터의 유사성에 기반하므로 데이터 특성에 따라 제약이 존재한다.
| 구분 | 제약 내용 | 대응 |
|---|---|---|
| 압축 파일 | 유사 데이터라도 압축되면 유사성 훼손, 차분 추출 불가 | 별도 전용 알고리즘 개발 |
| 멀티미디어 | 동영상·음악 전용 압축 알고리즘 사용 시 차분 추출 불가 | 동일 |
| 암호화 파일 | 암호화 이후 데이터 유사성 소실 | 동일 |
| 원본 보존 | Old가 변조되면 정상 New 생성 불가 | 업데이트 전후 Hash 검사 필수 (전: SHA1, 후: MD5) |
A/B Update (Seamless Update)
제어기 저장 공간을 이중화(Active/Inactive)하여, 하나의 파티션만 동작 시 사용하고 다른 하나는 업데이트용으로 사용하는 방식. 현대자동차의 모든 차분 솔루션은 A/B Update 기반이다.
동작 원리
- 저장 공간 이중화로 Runtime 중 비활성 파티션에 업데이트 적용.
- 재부팅 시 파티션 번호 기반으로 새 시스템 파티션 활성화 — 파티션 이동·이름 변경 불필요.
- 데이터 파티션이 시스템 파일 영역과 분리되어 파일·폴더 권한 세트를 독립 관리 → 보안·업데이트 편의성 향상.
장단점
| 장점 | 단점 |
|---|---|
| Runtime 중 업데이트 가능 | 비활성 파티션 유지로 제품 원가 상승 |
| 업데이트 오류 발생 시 복구 시나리오 단순 | |
| 활성 파티션 오류 시 비활성 파티션을 응급 활용 가능 | |
| 가장 안전한 업데이트 방식 |
Seamless Update 별칭
A/B Update는 Seamless Update라고도 불린다 — OTA 업데이트 시 부팅 가능한 시스템을 보장하고 가동 중단 시간을 최소화하기 때문.
In-place Update (Non-A/B Update)
여분의 저장공간 확보가 불가능한 제어기에서 사용하는 방식. 별도의 업데이트 전용 시스템 부팅 환경 구축이 필요하고 오류 복구 시나리오가 복잡하다.
4단계 절차
- 업데이트 모드로 부팅 (Recovery mode)
- Read Diff 적용 → Write
- Verify — 암호화 서명 검증
- 리부팅 후 동작 확인
상세 흐름
- 장치가 OTA 서버에서 검사 수행 및 업데이트 가용성 알림 수신
- Cache 또는 Data partition에 OTA 패키지 다운로드
- 인증서 암호화 서명 확인 → 정상 시 설치 메시지 표시 → Recovery mode로 재부팅
- Recovery mode에서 공개키로 패키지 서명 재확인 후 부팅·시스템 파티션 업데이트 (시스템 파티션에 New Recovery Partition 내용 포함 가능, optional)
- 정상 재부팅 후 새 부팅 파티션 로드, 새 시스템 파티션에서 바이너리 마운트·실행
- 시스템이 복구 파티션 내용과 원하는 내용 비교 — 차이 시 시스템 파티션에서 re-flashing (이후 부팅은 재플래싱 불필요)
A/B vs In-place 비교
| 구분 | A/B Update | In-place Update |
|---|---|---|
| 저장 공간 | 이중화 (Active + Inactive) | 단일 |
| 업데이트 중 운영 | 가능 (Seamless) | 업데이트 모드 부팅 필요 |
| 오류 복구 | 단순 | 복잡 |
| 원가 | 높음 | 낮음 |
| 대표 적용 | 현대자동차 차분 솔루션 전반 | 저사양 제어기 |
OTA 방식과의 관계
OTA 방식은 Target ECU가 CGW로부터 받는 UDS 요청에 따라 3가지로 구분된다:
- 압축 데이터: 데이터 압축 후 수행제어기에서 해제 + Reprogramming
- 차분 데이터: Differential Update
- 메모리 이중화: A/B Update의 하드웨어 구현 형태
즉 A/B Update는 “메모리 이중화 + 차분 데이터”의 결합이며, In-place는 “단일 메모리 + 차분 데이터” 구성이다.