NAND- versus NOR-flashgeheugen: snelheid, capaciteit en toepassingen vergeleken
Beide zijn flashgeheugens die data bewaren zonder voeding, maar de cellen zijn anders verbonden. NOR schakelt de cellen parallel, waardoor willekeurig lezen snel is en programma's direct kunnen worden uitgevoerd, maar de kosten per bit hoger zijn. NAND schakelt de cellen in serie, waardoor veel meer bits op hetzelfde oppervlak passen en het goedkoper is, maar er wordt per pagina gelezen en geschreven en foutcorrectie is nodig. Daarom wordt NAND gebruikt voor dataopslag en NOR voor firmware.
| Kenmerk | NAND-flash | NOR-flash |
|---|---|---|
| Celverbinding | Cellen in serie in een string, met selectietransistors aan beide uiteinden | Cellen parallel op de bitlijn, zodat elke cel rechtstreeks toegankelijk is |
| Lezen | Per pagina (enkele KB tegelijk). De eerste toegang duurt enkele tientallen microseconden en willekeurig lezen is langzaam | Snelle willekeurige toegang per byte of woord (in de orde van enkele tientallen nanoseconden) |
| Schrijven (programmeren) | Per pagina. De doorvoer bij sequentieel schrijven is hoog | In kleine eenheden. Langzaam voor grote hoeveelheden data |
| Wiseenheid | Blok (enkele MB of meer) | Sector (doorgaans 64 tot 128 KB) |
| Schrijfmechanisme | Zowel programmeren als wissen via Fowler-Nordheim (FN)-tunneling | Programmeren via channel hot-electron-injectie, wissen via tunneling |
| Capaciteit en kosten | Hoge dichtheid en goedkoop. 3D NAND stapelt honderden lagen en TLC en QLC slaan 3 tot 4 bits per cel op | Lage dichtheid (vaak tot enkele Gbit per chip) en hogere kosten per bit |
| Execute in place (XIP) | Niet mogelijk. Code moet eerst naar RAM worden gekopieerd | Mogelijk. De processor kan programma's rechtstreeks vanaf de chip uitvoeren |
| Betrouwbaarheid | Defecte blokken en bitfouten worden verondersteld, dus sterke ECC, beheer van defecte blokken en wear leveling zijn nodig | Weinig bitfouten, lichte foutcorrectie volstaat |
| Schrijfduurzaamheid | Van ongeveer 100.000 cycli bij SLC tot ongeveer 1.000 of minder bij QLC | Doorgaans ongeveer 100.000 cycli |
| Belangrijkste toepassingen | SSD's, USB-sticks, geheugenkaarten, opslag in smartphones (eMMC, UFS) | Bootcode en firmware: BIOS/UEFI, microcontrollercode, automotive en industriële apparatuur |
De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.