EEPROM vs Flash: Kestävyys, granulaarisuus ja kirjoitusaika
Molemmat säilyttävät tiedot ilman virtaa. Ero on siinä, kuinka usein voit kirjoittaa, kuinka paljon sinun on pyyhittävä kerralla ja kuinka kauan kirjoitus kestää — ja nämä kolme ratkaisevat, kumpi kuuluu suunnitteluusi.
Pikavastaus
- EEPROM: tavuittain kirjoitettava, 1M+ sykliä, millisekunteja per tavu, pieni tiheys. Konfigurointi ja kalibrointi.
- NOR flash: sektoripoisto (4 KB), ~100k sykliä, alle millisekunnin sivukirjoitukset. Laiteohjelmisto ja kohtalainen lokitus.
- NAND-flash: lohkopoisto (suuri), alhaisempi kestävyys, vaatii ECC:n ja viallisten lohkojen käsittelyn. Massadata.
- FRAM / MRAM: käytännössä rajattomat kirjoitukset, nopea, kallis. Suurtaajuiset laskurit ja lokit.
1. Kolme akselia
| Tyyppi | Kestävyys | Pyyhintäyksikkö | Kirjoitusaika |
|---|---|---|---|
| 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. Pyyhinnän rakeisuus on rakenteellinen ero.
Flash ei voi ylikirjoittaa tavua paikallaan: se poistaa koko sektorin ja kirjoittaa sen sitten uudelleen. Tämä tarkoittaa, että pienestä päivityksestä tulee luku-muokkaus-kirjoitussykli, ja kyseisen tavun tehollinen kestävyys jaetaan sektorin tavujen määrällä. EEPROM välttää tämän tiheyden ja hinnan kustannuksella.
NOR ja NAND eroavat siinä, miten ne käsittelevät tämän. NOR tarjoaa satunnaiskäyttöliittymän ja mahdollistaa execute-in-place-toiminnon, minkä vuoksi laiteohjelmisto sijaitsee siellä. NAND on järjestetty sivuihin ja lohkoihin, tarvitsee ECC:n ja hallitsee huonoja lohkoja — halvempi bittiä kohden, mutta ohjaimen on tehtävä enemmän työtä.
3. Kestävyyslaskenta
1M sykliä, 1 kirjoitus/s = 11.6 päivää 1M sykliä, 1 kirjoitus/min = 1.9 vuotta 1M sykliä, 1 kirjoitus/10min = 19 vuotta 100k sykliä (NOR), 1 kirjoitus/min = 69 päivää
Tuo on laskelma, joka ratkaisee komponentin valinnan. Kerran sekunnissa päivittyvä laskuri tarvitsee FRAM-muistin tai kuluman tasausta; muutoksen yhteydessä kirjoitettava konfiguraatiolohko sopii EEPROMiin; tuotannossa kirjoitettava laiteohjelmisto sopii NOR-muistiin.
| Kirjoituskuvio | Tehollinen käyttöikä | Korjaus |
|---|---|---|
| 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 |
Kirjoitusajalla on merkitystä virrankatkoksen aikaiselle käyttäytymiselle: keskeytyvä 300 ms:n sektorin pyyhintä voi jättää sektorin virheelliseksi. Varaudu journaliin tai toiseen sektoriin, älä siihen, että "se kyllä valmistuu".
4. Valinta työkuorman mukaan
| Työkuorma | Paras sopivuus | Miksi |
|---|---|---|
| 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 |
Suunnittelun serial-flash-puolellaW25Q32-layoutopaskattaa liitännän ja dekoulauksen; EOL-päätöksen kestävyysnäkökohdan osaltaPCN/EOL-opaskattaa viimeiset ostot.
4b. Liitäntä ja kotelo
| Liitäntä | Tyypillinen käyttö |
|---|---|
| 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. Tarkistuslista
- Arvioi kirjoitusten määrä päivässä ja tuotteen elinikä vuosina.
- Jaa kestävyys sektorin koolla, jos päivitys on pienempi kuin pyyhintäyksikkö.
- Tarkista kirjoitus- ja pyyhintäaika suhteessa virrankatkaisustrategiaan.
- Vahvista liitäntä (I2C, SPI, QSPI, rinnakkainen) ja nastojen määrä.
- NAND-muistin osalta varaa ECC:lle ja huonojen lohkojen hallinnalle.
- Tarkista datan säilyvyys suurimmassa käyttölämpötilassa.
6. FAQ
Voinko käyttää flash-muistia kuten EEPROMia?
Vain wear leveling- ja read-modify-write-menetelmällä. Tavun kirjoittaminen flash-muistiin ilman sektorin pyyhkimistä ei ole mahdollista.
Kuinka monta kirjoitusta EEPROM todella kestää?
1M–4M sykliä on tyypillistä, mutta kestävyys määritellään tavua kohti ja tietyssä lämpötilassa. Tarkista datalehden olosuhteet.
Miksi flash-muistini kuluu niin nopeasti?
Koska jokainen pieni päivitys kirjoittaa koko sektorin uudelleen. Tehollinen kestävyys on ilmoitettu syklimäärä jaettuna sektorin jakavien tavujen määrällä.
Onko FRAM hintansa arvoinen?
Kun kirjoitustahti on suuri tai virransyöttö voi katketa milloin tahansa, kyllä. Se poistaa kokonaan poistosyklin ja kulumiskysymyksen.
Tarvitsenko ECC:n NOR-muistissa?
Yleensä ei laiteohjelmistolle; pitkäikäiseen lokitukseen korkeassa lämpötilassa kevyt ECC tai tarkistussumma on halpa vakuutus.
Mitä tapahtuu, jos virta katkeaa kirjoituksen aikana?
EEPROMin tavukirjoitus on riittävän atominen useimpiin suunnitelmiin; flash-sektorin poisto ei ole. Käytä journalia tai kahta vuorottelevaa sektoria, jos tietojen on säilyttävä odottamattoman virrankatkoksen yli.
Voinko tallentaa tietoja 20 vuodeksi?
Säilyvyys on tyypillisesti määritetty 10–20 vuodeksi 85 °C:ssa. Korkeammissa lämpötiloissa alenna mitoitusta ja varmista toimittajalta.
7. Lähteet
- Muistien datalehdet — kestävyys, tiedonsäilyvyys, sivu-, sektori- ja lohkokoko, kirjoitus- ja poistoajat.
- Sovellusohjeet kulutuksen tasaamisesta ja virtakatkon kestävästä lokituksesta (toimittaja- ja MCU-dokumentaatio).
- JEDEC-standardit muistien kvalifiointiin ja tiedonsäilyvyystestaukseen.
Valitsetko muistia?
Lähetä kirjoitusnopeus, datan koko ja käyttöikä. Kerromme, mikä vaihtoehto – EEPROM, NOR, NAND vai FRAM – on edullisempi.