EEPROM vs Flash: 내구성, 세분성 및 쓰기 시간
둘 다 전원 없이 데이터를 저장합니다. 차이는 얼마나 자주 쓸 수 있는지, 한 번에 얼마나 지워야 하는지, 쓰기에 얼마나 걸리는지이며, 이 세 가지가 설계에 어느 것이 적합한지를 결정합니다.
빠른 답변
- EEPROM: 바이트 단위 쓰기 가능, 1M+ 사이클, 바이트당 밀리초, 소용량. 구성 및 캘리브레이션.
- NOR flash: 섹터 소거(4 KB), ~100k 사이클, 1밀리초 미만 페이지 쓰기. 펌웨어 및 중간 수준 로깅.
- NAND 플래시: 블록 소거(대용량), 내구성 낮음, ECC 및 불량 블록 처리 필요. 대량 데이터.
- FRAM / MRAM: 사실상 무제한 쓰기, 빠름, 고가. 고주파 카운터 및 로그.
1. 세 가지 축
| 유형 | 내구성 | 소거 단위 | 쓰기 시간 |
|---|---|---|---|
| EEPROM | 1M–4M cycles | Byte/page | ≈ 5 ms per write |
| NOR flash | ≈ 100k cycles | 4 KB sector | Page < 1 ms, erase 50–400 ms |
| NAND flash | 1k–3k (MLC/TLC) | 128 KB block | Page ≈ 0.3 ms, block ≈ 2 ms |
| FRAM / MRAM | 10^12+ | Byte | Microseconds |
2. 소거 세분성은 구조적 차이입니다.
플래시는 바이트를 제자리에서 덮어쓸 수 없습니다: 전체 섹터를 지운 다음 다시 씁니다. 따라서 작은 업데이트가 읽기-수정-쓰기 사이클이 되고, 해당 바이트의 실효 내구성은 섹터 내 바이트 수로 나뉩니다. EEPROM은 밀도와 가격을 희생하여 이를 피합니다.
NOR과 NAND는 이를 처리하는 방식이 다릅니다. NOR은 랜덤 액세스 인터페이스를 제공하고 execute-in-place를 허용하므로 펌웨어가 여기에 있습니다. NAND는 페이지와 블록으로 구성되고 ECC가 필요하며 배드 블록을 관리합니다 — 비트당 저렴하지만 컨트롤러가 더 많은 작업을 해야 합니다.
3. 내구성 계산
1M 사이클, 초당 1회 쓰기 = 11.6일 1M 사이클, 분당 1회 쓰기 = 1.9년 1M 사이클, 10분당 1회 쓰기 = 19년 100k 사이클(NOR), 분당 1회 쓰기 = 69일
그것이 부품을 결정하는 계산입니다. 1초에 한 번 갱신되는 카운터에는 FRAM 또는 마모 평준화(wear leveling)가 필요합니다; 변경 시 기록되는 구성 블록은 EEPROM으로 충분합니다; 생산 시 기록되는 펌웨어는 NOR로 충분합니다.
| 쓰기 패턴 | 유효 수명 | 해결 방법 |
|---|---|---|
| 1 byte/s into EEPROM | 11.6 days at 1M | FRAM, or buffer + periodic write |
| 1 write/min into NOR | 69 days at 100k | Wear leveling across sectors |
| Config on change | Decades | No action |
| Firmware at production | Effectively unlimited | Sector erase is fine |
쓰기 시간은 전원 손실 시 동작에 중요합니다: 중단된 300 ms 섹터 소거는 해당 섹터를 무효 상태로 남길 수 있습니다. "완료될 것이다"라고 기대하지 말고 저널 또는 두 번째 섹터를 계획하십시오.
4. 워크로드별 선택
| 워크로드 | 최적 적합 | 이유 |
|---|---|---|
| Config, calibration, serial number | EEPROM | Byte writes, high endurance |
| Firmware, bootloader | NOR flash | Execute-in-place, sector update |
| Counter, event log, energy meter | FRAM / MRAM | Unlimited writes, no erase |
| Audio, images, bulk records | NAND | Density per dollar, with ECC |
설계의 직렬 플래시 측면에서는,W25Q32 레이아웃 가이드인터페이스와 디커플링을 다루며, EOL 결정의 내구성 측면에 대해서는PCN/EOL 가이드최종 구매(last-time buys)를 다룹니다.
4b. 인터페이스 및 패키지
| 인터페이스 | 일반적인 용도 |
|---|---|
| I2C EEPROM | Small config, 2-wire bus, many devices |
| SPI EEPROM | Faster byte writes, small density |
| SPI/QSPI NOR | Firmware, execute-in-place, larger density |
| Parallel NOR | Legacy, fast random access, many pins |
| NAND (raw or managed) | Bulk storage; managed parts hide ECC/bad blocks |
5. 체크리스트
- 일일 쓰기 횟수와 제품 수명(년)을 추정하십시오.
- 업데이트가 소거 단위보다 작으면 내구성을 섹터 크기로 나누십시오.
- 전원 손실 대응 전략 대비 쓰기 및 소거 시간을 확인하십시오.
- 인터페이스(I2C, SPI, QSPI, 병렬)와 핀 수를 확인하십시오.
- NAND의 경우 ECC 및 불량 블록 관리를 고려해야 합니다.
- 최대 동작 온도에서 데이터 보존 기간을 확인하십시오.
6. FAQ
플래시를 EEPROM처럼 사용할 수 있습니까?
웨어 레벨링과 읽기-수정-쓰기 방식이 있어야만 가능합니다. 섹터를 지우지 않고 플래시에 바이트를 쓰는 것은 불가능합니다.
EEPROM은 실제로 몇 번의 쓰기를 견딜 수 있습니까?
1M–4M 사이클이 일반적이지만, 내구성은 바이트당 그리고 특정 온도에서 규정됩니다. 데이터시트 조건을 확인하십시오.
내 플래시가 왜 이렇게 빨리 마모되나요?
작은 업데이트 하나하나가 전체 섹터를 다시 쓰기 때문입니다. 실효 내구성은 정격 사이클을 해당 섹터를 공유하는 바이트 수로 나눈 값입니다.
FRAM은 비용을 들일 가치가 있나요?
쓰기 빈도가 높거나 언제든 전원이 끊길 수 있다면, 그렇습니다. FRAM은 소거 사이클과 마모 문제를 완전히 없애줍니다.
NOR에 ECC가 필요한가요?
일반적으로 펌웨어용은 아닙니다. 고온에서 장기 로깅에는 가벼운 ECC 또는 체크섬이 저렴한 안전장치입니다.
쓰기 도중 전원이 끊기면 어떻게 됩니까?
EEPROM 바이트 쓰기는 대부분의 설계에 충분히 원자적입니다. 플래시 섹터 지우기는 그렇지 않습니다. 예기치 않은 전원 손실에서도 데이터가 유지되어야 한다면 저널 또는 두 개의 교대 섹터를 사용하십시오.
데이터를 20년 동안 저장할 수 있습니까?
보존 기간은 일반적으로 85°C에서 10–20년으로 규정됩니다. 더 높은 온도에서는 정격을 낮추고 공급업체에서 확인하십시오.
7. 출처
- 메모리 데이터시트 — 내구성, 보존 기간, 페이지/섹터/블록 크기, 쓰기 및 소거 시간.
- 웨어 레벨링과 전원 손실 안전 로깅에 관한 애플리케이션 노트(공급업체 및 MCU 문서).
- 메모리 품질 인증 및 보존 테스트를 위한 JEDEC 표준.
메모리 선택?
쓰기 속도, 데이터 크기 및 수명을 보내주세요. EEPROM, NOR, NAND 또는 FRAM 중 어느 것이 더 저렴한 선택인지 알려드리겠습니다.