EEPROM vs Flash: Ketahanan, Granulariti dan Masa Tulis
Kedua-duanya menyimpan data tanpa bekalan kuasa. Perbezaannya ialah kekerapan anda boleh menulis, berapa banyak yang perlu dipadam serentak, dan berapa lama penulisan mengambil masa — dan ketiga-tiga ini menentukan yang mana sesuai dalam reka bentuk anda.
Jawapan Pantas
- EEPROM: boleh ditulis mengikut bait, 1M+ kitaran, milisaat setiap bait, ketumpatan kecil. Konfigurasi dan penentukuran.
- NOR flash: pemadaman sektor (4 KB), ~100k kitaran, penulisan halaman sub-milisaat. Firmware dan pembalakan sederhana.
- NAND flash: pemadaman blok (besar), ketahanan lebih rendah, memerlukan ECC dan pengendalian blok rosak. Data pukal.
- FRAM / MRAM: penulisan hampir tanpa had, pantas, mahal. Pembilang dan log frekuensi tinggi.
1. Tiga paksi
| Jenis | Ketahanan | Unit padam | Masa 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. Granulariti padam ialah perbezaan struktur
Flash tidak boleh menulis ganti satu bait di tempatnya: ia memadam keseluruhan sektor, kemudian menulis semula. Ini bermakna kemas kini kecil menjadi kitaran baca-ubah-tulis, dan ketahanan berkesan bait itu dibahagikan dengan bilangan bait dalam sektor. EEPROM mengelakkan ini dengan mengorbankan ketumpatan dan harga.
NOR dan NAND berbeza dalam cara mengendalikannya. NOR menyediakan antara muka capaian rawak dan membenarkan laksana-di-tempat, sebab itulah firmware berada di situ. NAND disusun dalam halaman dan blok, memerlukan ECC, dan mengurus blok rosak — lebih murah setiap bit, tetapi pengawal perlu melakukan lebih banyak kerja.
3. Pengiraan ketahanan
1M kitaran pada 1 tulis/s = 11.6 hari 1M kitaran pada 1 tulis/min = 1.9 tahun 1M kitaran pada 1 tulis/10min = 19 tahun 100k kitaran (NOR) pada 1 tulis/min = 69 hari
Itulah pengiraan yang menentukan komponen. Pembilang yang dikemas kini sekali sesaat memerlukan FRAM atau penyelarasan haus; blok konfigurasi yang ditulis apabila berubah adalah memadai dalam EEPROM; firmware yang ditulis semasa pengeluaran adalah memadai dalam NOR.
| Corak penulisan | Jangka hayat berkesan | Pembetulan |
|---|---|---|
| 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 |
Masa penulisan penting untuk tingkah laku kehilangan kuasa: pemadaman sektor 300 ms yang terganggu boleh menjadikan sektor itu tidak sah. Rancang untuk jurnal atau sektor kedua, bukan untuk "ia akan selesai".
4. Memilih mengikut beban kerja
| Beban kerja | Padanan terbaik | 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 bahagian flash bersiri dalam sesuatu reka bentuk,Panduan susun atur W25Q32merangkumi antara muka dan penyahgandingan; untuk aspek ketahanan keputusan EOL,Panduan PCN/EOLmerangkumi pembelian kali terakhir.
4b. Antara muka dan pakej
| Antara muka | Kegunaan biasa |
|---|---|
| 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. Senarai semak
- Anggarkan bilangan tulisan setiap hari dan jangka hayat produk dalam tahun.
- Bahagikan ketahanan dengan saiz sektor jika kemas kini lebih kecil daripada unit pemadaman.
- Semak masa tulis dan padam berbanding strategi kehilangan kuasa.
- Sahkan antara muka (I2C, SPI, QSPI, selari) dan bilangan pin.
- Untuk NAND, sediakan peruntukan untuk ECC dan pengurusan blok rosak.
- Semak pengekalan data pada suhu operasi maksimum.
6. FAQ
Bolehkah saya menggunakan flash seperti EEPROM?
Hanya dengan penyamaan haus dan skema baca-ubah-tulis. Menulis satu bait ke flash tanpa memadam sektor tidak mungkin.
Berapa banyak tulisan yang benar-benar boleh ditampung oleh EEPROM?
1M–4M kitaran adalah tipikal, tetapi ketahanan ditentukan per bait dan pada suhu tertentu. Semak keadaan dalam helaian data.
Mengapa flash saya haus begitu cepat?
Kerana setiap kemas kini kecil menulis semula keseluruhan sektor. Ketahanan berkesan ialah kitaran yang dinilai dibahagikan dengan bilangan bait yang berkongsi sektor tersebut.
Adakah FRAM berbaloi dengan kosnya?
Apabila kadar tulisan tinggi atau kuasa boleh terputus pada bila-bila masa, ya. Ia menghapuskan kitaran padam dan persoalan haus sepenuhnya.
Adakah saya perlu ECC pada NOR?
Biasanya bukan untuk firmware; untuk pengelogan jangka panjang pada suhu tinggi, ECC ringan atau checksum ialah insurans murah.
Apakah yang berlaku jika bekalan kuasa terputus semasa penulisan?
Penulisan bait EEPROM cukup atomik untuk kebanyakan reka bentuk; pemadaman sektor flash tidak. Gunakan jurnal atau dua sektor berselang-seli jika data mesti bertahan selepas kehilangan kuasa yang tidak dijangka.
Bolehkah saya menyimpan data selama 20 tahun?
Pengekalan data biasanya dinyatakan pada 10–20 tahun pada 85 °C. Pada suhu yang lebih tinggi, kurangkan penarafan dan sahkan dengan vendor.
7. Sumber
- Lembaran data memori — ketahanan, pengekalan, saiz halaman/sektor/blok, masa tulis dan padam.
- Nota aplikasi tentang penyamaan haus dan pengelogan selamat semasa kehilangan kuasa (dokumentasi vendor dan MCU).
- Piawaian JEDEC untuk kelayakan memori dan ujian pengekalan.
Memilih memori?
Hantar kadar tulis, saiz data dan jangka hayat. Kami akan beritahu sama ada EEPROM, NOR, NAND atau FRAM ialah jawapan yang lebih murah.