EEPROM vs Flash: Ketahanan, Granularitas, dan Waktu Tulis
Keduanya menyimpan data tanpa daya. Perbedaannya adalah seberapa sering Anda dapat menulis, seberapa banyak yang harus dihapus sekaligus, dan berapa lama proses tulis berlangsung — dan ketiganya menentukan mana yang cocok untuk desain Anda.
Jawaban Singkat
- EEPROM: dapat ditulis per byte, siklus 1M+, milidetik per byte, kepadatan kecil. Konfigurasi dan kalibrasi.
- NOR flash: penghapusan sektor (4 KB), ~100k siklus, penulisan halaman sub-milidetik. Firmware dan logging moderat.
- NAND flash: penghapusan blok (besar), daya tahan lebih rendah, memerlukan ECC dan penanganan blok rusak. Data massal.
- FRAM / MRAM: penulisan praktis tanpa batas, cepat, mahal. Penghitung dan log frekuensi tinggi.
1. Tiga sumbu
| Tipe | Ketahanan | Unit penghapusan | Waktu tulis |
|---|---|---|---|
| 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. Granularitas penghapusan adalah perbedaan struktural
Flash tidak dapat menimpa satu byte di tempat: flash menghapus seluruh sektor, lalu menulisnya ulang. Artinya, pembaruan kecil menjadi siklus baca-ubah-tulis, dan ketahanan efektif byte tersebut dibagi dengan jumlah byte dalam sektor. EEPROM menghindari hal ini dengan mengorbankan kepadatan dan harga.
NOR dan NAND berbeda dalam menanganinya. NOR menyediakan antarmuka akses acak dan memungkinkan eksekusi di tempat, sehingga firmware berada di sana. NAND diorganisasikan dalam halaman dan blok, memerlukan ECC, dan mengelola blok buruk — lebih murah per bit, tetapi pengendali harus melakukan lebih banyak pekerjaan.
3. Perhitungan ketahanan
1M siklus pada 1 tulis/dtk = 11.6 hari 1M siklus pada 1 tulis/mnt = 1.9 tahun 1M siklus pada 1 tulis/10mnt = 19 tahun 100k siklus (NOR) pada 1 tulis/mnt = 69 hari
Itulah perhitungan yang menentukan komponennya. Penghitung yang diperbarui sekali per detik memerlukan FRAM atau wear leveling; blok konfigurasi yang ditulis saat perubahan tidak masalah di EEPROM; firmware yang ditulis saat produksi tidak masalah di NOR.
| Pola penulisan | Masa pakai efektif | Perbaikan |
|---|---|---|
| 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 |
Waktu penulisan penting untuk perilaku saat kehilangan daya: penghapusan sektor 300 ms yang terinterupsi dapat membuat sektor tidak valid. Rencanakan untuk jurnal atau sektor kedua, bukan untuk "semuanya akan selesai".
4. Memilih berdasarkan beban kerja
| Beban kerja | Paling sesuai | Mengapa |
|---|---|---|
| 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 |
Untuk sisi serial-flash dari suatu desain,Panduan tata letak W25Q32mencakup antarmuka dan decoupling; untuk sisi ketahanan dari keputusan EOL,Panduan PCN/EOLmencakup pembelian terakhir.
4b. Antarmuka dan paket
| Antarmuka | Penggunaan umum |
|---|---|
| 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. Daftar Periksa
- Perkirakan jumlah penulisan per hari dan masa pakai produk dalam tahun.
- Bagi ketahanan dengan ukuran sektor jika pembaruan lebih kecil daripada unit penghapusan.
- Periksa waktu tulis dan hapus terhadap strategi kehilangan daya.
- Konfirmasi antarmuka (I2C, SPI, QSPI, paralel) dan jumlah pin.
- Untuk NAND, sediakan alokasi untuk ECC dan manajemen blok buruk.
- Periksa retensi data pada suhu operasi maksimum.
6. FAQ
Bisakah saya menggunakan flash seperti EEPROM?
Hanya dengan wear leveling dan skema read-modify-write. Menulis satu byte ke flash tanpa menghapus sektor tidak mungkin dilakukan.
Sebenarnya berapa kali EEPROM dapat ditulis?
1M–4M siklus adalah tipikal, tetapi daya tahan ditentukan per byte dan pada suhu tertentu. Periksa kondisi datasheet.
Mengapa flash saya cepat aus?
Karena setiap pembaruan kecil menulis ulang seluruh sektor. Daya tahan efektif adalah siklus yang dirating dibagi dengan jumlah byte yang berbagi sektor tersebut.
Apakah FRAM sepadan dengan biayanya?
Saat laju penulisan tinggi atau daya dapat hilang kapan saja, ya. Ini menghilangkan siklus hapus dan sepenuhnya menghilangkan persoalan keausan.
Apakah saya memerlukan ECC pada NOR?
Biasanya bukan untuk firmware; untuk logging jangka panjang pada suhu tinggi, ECC ringan atau checksum adalah perlindungan murah.
Apa yang terjadi jika daya hilang selama penulisan?
Penulisan byte EEPROM cukup atomik untuk sebagian besar desain; penghapusan sektor flash tidak. Gunakan jurnal atau dua sektor bergantian jika data harus bertahan dari kehilangan daya yang tidak terduga.
Dapatkah saya menyimpan data selama 20 tahun?
Retensi biasanya ditentukan pada 10–20 tahun di 85 °C. Pada suhu yang lebih tinggi, lakukan derating dan verifikasi dengan vendor.
7. Sumber
- Datasheet memori — daya tahan, retensi, ukuran page/sector/block, waktu tulis dan hapus.
- Catatan aplikasi tentang wear leveling dan pencatatan aman terhadap kehilangan daya (dokumentasi vendor dan MCU).
- Standar JEDEC untuk kualifikasi memori dan pengujian retensi.
Memilih memori?
Kirimkan laju tulis, ukuran data, dan masa pakai. Kami akan memberi tahu Anda apakah EEPROM, NOR, NAND, atau FRAM adalah jawaban yang lebih murah.