임베디드 시스템에서 데이터를 저장할 때, 시스템이 전원을 꺼도 유지되어야 하는 정보들이 있다. 예를 들어, 장치의 설정 값, 로그 데이터, 고유한 식별 번호 등이 이에 해당한다. 이를 위해 사용되는 대표적인 비휘발성 메모리 중 하나가 EEPROM(Electrically Erasable Programmable Read-Only Memory)이다.
이번 글에서는 EEPROM의 개념, 특징, 동작 원리, 그리고 임베디드 시스템에서의 활용 방안을 살펴보겠다.
⸻
1. EEPROM이란?
**EEPROM(Electrically Erasable Programmable Read-Only Memory)**은 전기적으로 데이터를 지우고 다시 기록할 수 있는 비휘발성 메모리이다.
과거에는 PROM(Programmable ROM)이나 EPROM(Erasable PROM) 같은 메모리가 사용되었지만, PROM은 한 번만 기록할 수 있고, EPROM은 자외선을 이용한 삭제 과정이 필요하다는 단점이 있었다. EEPROM은 이 문제를 해결하여, 전기적인 방식으로 간편하게 데이터를 지우고 다시 기록할 수 있도록 설계되었다.
⸻
2. EEPROM의 주요 특징
비휘발성(Non-Volatile)
• 전원이 꺼져도 데이터가 유지됨.
• 임베디드 시스템에서 중요한 설정 값을 저장하는 데 유용함.
전기적으로 지우고 다시 쓰기 가능
• EEPROM은 특정 바이트 단위로 데이터를 삭제하고 다시 기록할 수 있음.
• 반면, Flash 메모리는 블록 단위로 지워야 하기 때문에 EEPROM이 더 유연한 데이터 수정이 가능함.
낮은 쓰기 속도
• EEPROM은 데이터를 저장할 때 쓰기 속도가 느림(일반적으로 µs~ms 단위).
• 많은 데이터를 빠르게 기록해야 할 경우, EEPROM보다는 Flash 메모리가 더 적합할 수 있음.
내구성(Limited Write Cycles)
• EEPROM은 일정 횟수(보통 수십만~백만 번) 이상 데이터를 쓰고 지우면 수명이 다함.
• 따라서, 자주 변경되는 데이터는 RAM이나 Flash 메모리에 저장하는 것이 좋음.
⸻
3. EEPROM의 동작 원리
EEPROM의 데이터 저장 방식은 Floating Gate MOSFET(플로팅 게이트 트랜지스터) 구조를 기반으로 한다.
1. 쓰기(Write) 과정
• 특정 메모리 셀에 전압을 가하여 플로팅 게이트(Floating Gate)에 전자를 주입
• 전자가 저장된 상태에서 전원이 꺼져도 데이터가 유지됨
2. 지우기(Erase) 과정
• 반대로, 높은 전압을 가해 플로팅 게이트의 전자를 제거
• 셀이 초기화되어 새로운 데이터를 저장할 준비가 됨
3. 읽기(Read) 과정
• 플로팅 게이트의 전하 상태를 감지하여 데이터(0 또는 1)로 변환
EEPROM은 바이트 단위로 데이터를 읽고 쓸 수 있기 때문에, 필요할 때마다 특정 데이터를 수정할 수 있다.
⸻
4. EEPROM의 인터페이스 방식
EEPROM은 다양한 방식으로 임베디드 시스템과 연결될 수 있다. 대표적인 인터페이스 방식은 다음과 같다.
1) I2C (Inter-Integrated Circuit)
• 가장 많이 사용되는 EEPROM 인터페이스 방식
• 두 개의 선(SCL, SDA)만 사용하여 마이크로컨트롤러(MCU)와 통신
• 여러 개의 EEPROM을 동시에 연결할 수 있음
2) SPI (Serial Peripheral Interface)
• I2C보다 빠른 데이터 전송 속도를 제공
• MOSI, MISO, SCK, CS 네 개의 핀을 사용하여 통신
• 대용량 데이터 저장이 필요한 경우 적합
3) 병렬 인터페이스 (Parallel EEPROM)
• 과거에 사용되던 방식으로, 데이터 버스와 주소 버스를 사용하여 빠르게 데이터를 읽고 씀
• 하지만 많은 핀이 필요하므로, 소형화가 중요한 현대 임베디드 시스템에서는 잘 사용되지 않음
⸻
5. 임베디드 시스템에서의 활용
EEPROM은 임베디드 시스템에서 소량의 설정 값을 저장하고 유지해야 하는 경우에 주로 사용된다.
펌웨어 설정 값 저장
• 마이크로컨트롤러의 부팅 설정 값, 디바이스 ID, 네트워크 설정 등을 저장
• 전원이 꺼져도 유지되어야 하는 데이터에 적합
캘리브레이션 데이터 저장
• 센서의 보정 값(Offset, Gain 등)을 저장하여 정밀한 측정이 가능하도록 함
로그 데이터 저장
• 시스템 이벤트 로그 또는 오류 데이터를 저장하여 유지보수 시 활용
제품 일련번호 및 보안 키 저장
• 디바이스의 고유 식별 번호(Serial Number)나 암호화 키를 저장
⸻
6. EEPROM vs. Flash 메모리
EEPROM과 Flash 메모리는 모두 비휘발성 메모리이지만, 몇 가지 차이가 있다.

EEPROM은 작은 데이터를 자주 업데이트해야 할 때 적합하고, Flash 메모리는 대용량 데이터를 저장하는 데 유리하다.
⸻
7. 결론
EEPROM은 임베디드 시스템에서 전원이 꺼져도 유지되어야 하는 설정 값, 캘리브레이션 데이터, 로그 정보 등을 저장하는 데 유용한 비휘발성 메모리이다.
- 바이트 단위로 데이터 수정이 가능하며, I2C 또는 SPI 인터페이스를 통해 쉽게 사용할 수 있다.
- 하지만 쓰기 속도가 느리고, 쓰기/지우기 횟수에 제한이 있어 주기적으로 변경되는 데이터를 저장할 경우 주의가 필요하다.
- Flash 메모리와의 차이점을 고려하여, 필요한 용도에 따라 적절한 메모리를 선택하는 것이 중요하다.
'임베디드' 카테고리의 다른 글
ARM Exception Level(EL) 알아보기(1): EL의 개념과 EL0~EL1 분석 (0) | 2025.03.18 |
---|---|
Flash 메모리: 대용량 비휘발성 저장 장치 (1) | 2025.03.17 |
UART (Universal Asynchronous Receiver/Transmitter) 통신의 이해 (0) | 2025.03.13 |
I²C (Inter-Integrated Circuit) 통신의 이해 (0) | 2025.03.12 |
SPI (Serial Peripheral Interface) 통신의 이해 (0) | 2025.03.11 |