본문 바로가기
카테고리 없음

Embeded system : NVM, EEPROM, Flash 차이점

by studyml 2025. 5. 20.
반응형

현업에서는 NVM EEPROM을 두 용어를 혼용해서 많이 사용하고 있습니다. 저도 회의 들어 갈 때 마다 이게 맞나 싶어서 정리하게 되었습니다. NVM EEPROM은 모두 비휘발성 메모리(NVM: Non-Volatile Memory)를 의미하며, 전원이 꺼져도 데이터를 유지할 수 있는 저장 장치를 말합니다

 

NVM (Non-Volatile Memory) 이란?

  • 정의: 전원이 꺼져도 데이터가 유지되는 메모리 전체를 지칭하는 포괄적 개념입니다.
  • 종류:
    • ROM (Read-Only Memory)
    • Flash Memory
    • EEPROM
    • MRAM, FRAM 
  • 용도: 프로그램 코드 저장, 설정값 저장, 펌웨어 보관 등

 

벌써 감이 왔을 듯 싶습니다.  NVM은 개념을 말하며 EEPROM NVM을 구현하는 종류라고 보시면 됩니다.

 

EEPROM (Electrically Erasable Programmable Read-Only Memory) 이란?

  • 정의: NVM 하위 유형 중 하나로, 전기적으로 데이터를 읽고, 지우고, 다시 쓸 수 있는 메모리
  • 특징:
    • 바이트 단위로 수정 가능
    • 쓰기 속도가 느림
    • 쓰기 수명이 제한적 (일반적으로 10 ~ 100만 사이클)
  • 용도: MCU의 설정값 저장, 장치 설정 백업 등

 

반응형

 

NVM vs EEPORM 정리

 

항목 NVM EEPROM
의미 전원이 꺼져도 데이터 유지되는 모든 메모리 NVM의 한 종류
범위 EEPROM, Flash, ROM 등 포함 NVM의 한 형태
쓰기 단위 메모리 종류에 따라 다름 바이트 단위
일반적인 사용 펌웨어, 코드 저장 등 설정값, 소규모 데이터 저장

 

예시로 이해하기

  • 마이크로컨트롤러(MCU)에서 설정값 저장할 때 EEPROM을 사용함
  • MCU가 실행할 프로그램 자체는 보통 Flash NVM에 저장함

 

 

Flash NVM과 EEPROM의 차이

 그렇다면 저희가 사용하는 코드는 어떻게 ECU에 포팅이 되고 프로그램이 실행이 되는 걸까요? EEPROM이 아닌 앞서 Flahs NVM에 저희가 작성한 SW가 기록이 된다고 보셔도 됩니다. Flash NVM EEPROM을 비교해보면 더 쉽게 알 수 있습니다.

 

항목 Flash NVM EEPROM
기본 개념 블록 단위로 지우고 쓰는 비휘발성 메모리 바이트 단위로 읽고 쓰기 가능한 비휘발성 메모리
쓰기/지우기 단위 블록 또는 페이지 단위 바이트 단위
속도 일반적으로 빠름 느림
내구성 (수명)  1~10만 사이클 보통 10~100만 사이클
용량 대용량 가능 (수십 KB ~  MB 이상) 보통 소용량 (수십 B ~ 수십 KB)
사용 목적 프로그램 코드 저장, 데이터 로깅 등 설정값, 파라미터, 사용자 데이터 저장
가격/면적 저장 용량 대비 저렴하고 면적 효율적 같은 용량 대비 더 비쌈, 면적 많이 차지

 

 기본적으로 블록 단위로 지우고 쓰기 때문에 Flash NVM SW 포팅에 적합하고, EEPROM은 센서의 마지막 정보를 저장하거나, SW 버전을 기록하는데 적합한 기능을 갖고 있습니다.

 

마무리

 요즘 들어서 ECU도 봐야 하고, platform도 봐야 하고, 이것 저것 잡다하게 다시 배우고 있습니다. 새로운 내용을 정말 오랜 만에 배우게 되어 기쁘게 정리하고 있습니다. NVM, EEPROM, Flash에 대한 개념도 이번에 확실히 잡게 되었습니다.