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.

KenmerkNAND-flashNOR-flash
CelverbindingCellen in serie in een string, met selectietransistors aan beide uiteindenCellen parallel op de bitlijn, zodat elke cel rechtstreeks toegankelijk is
LezenPer pagina (enkele KB tegelijk). De eerste toegang duurt enkele tientallen microseconden en willekeurig lezen is langzaamSnelle willekeurige toegang per byte of woord (in de orde van enkele tientallen nanoseconden)
Schrijven (programmeren)Per pagina. De doorvoer bij sequentieel schrijven is hoogIn kleine eenheden. Langzaam voor grote hoeveelheden data
WiseenheidBlok (enkele MB of meer)Sector (doorgaans 64 tot 128 KB)
SchrijfmechanismeZowel programmeren als wissen via Fowler-Nordheim (FN)-tunnelingProgrammeren via channel hot-electron-injectie, wissen via tunneling
Capaciteit en kostenHoge dichtheid en goedkoop. 3D NAND stapelt honderden lagen en TLC en QLC slaan 3 tot 4 bits per cel opLage dichtheid (vaak tot enkele Gbit per chip) en hogere kosten per bit
Execute in place (XIP)Niet mogelijk. Code moet eerst naar RAM worden gekopieerdMogelijk. De processor kan programma's rechtstreeks vanaf de chip uitvoeren
BetrouwbaarheidDefecte blokken en bitfouten worden verondersteld, dus sterke ECC, beheer van defecte blokken en wear leveling zijn nodigWeinig bitfouten, lichte foutcorrectie volstaat
SchrijfduurzaamheidVan ongeveer 100.000 cycli bij SLC tot ongeveer 1.000 of minder bij QLCDoorgaans ongeveer 100.000 cycli
Belangrijkste toepassingenSSD'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.

Wanneer welke variant?

NAND
Wanneer goedkope niet-vluchtige opslag met grote capaciteit nodig is en lezen en schrijven per pagina volstaat. SSD's, smartphones, camera's, geheugenkaarten.
NOR
Wanneer programmacode die de processor rechtstreeks leest betrouwbaar moet worden bewaard en een kleine capaciteit volstaat. Boot-ROM, firmware, kleine embedded apparaten.
Combinatie
Veel apparaten gebruiken beide. Een kleine NOR bevat de bootcode, die vervolgens het besturingssysteem laadt vanuit een NAND met grote capaciteit.

Veelgestelde vragen

Waarom is NAND goedkoper dan NOR?

NAND-cellen vormen in serie geschakelde strings en delen contacten, waardoor het oppervlak per bit veel kleiner is. In combinatie met 3D-stapeling en multi-level cellen levert dit een hoge dichtheid en lage kosten per bit op. NOR-cellen zijn parallel geschakeld en nemen meer oppervlak in.

Kan een processor code rechtstreeks vanuit NAND uitvoeren?

Niet rechtstreeks. NAND wordt per pagina gelezen en kent bitfouten, dus code wordt gewoonlijk eerst naar RAM gekopieerd. NOR ondersteunt execute in place (XIP) en wordt daarom gebruikt voor bootcode en firmware.

Welke flash gebruiken SSD's en smartphones?

NAND. SSD's, USB-sticks, geheugenkaarten en de opslag van smartphones (eMMC en UFS) gebruiken allemaal NAND vanwege de lage kosten en de grote capaciteit.

Slijt NAND sneller dan NOR?

Over het algemeen wel. De schrijfduurzaamheid van NAND varieert van ongeveer 100.000 cycli bij SLC tot ongeveer 1.000 bij QLC, tegenover doorgaans ongeveer 100.000 bij NOR. NAND-controllers verlengen de levensduur met wear leveling en foutcorrectie.

Test uw begrip

Welke uitspraak over de kenmerken van NAND-flashgeheugen ten opzichte van NOR is juist?

  1. ASnelle willekeurige toegang, geschikt voor directe uitvoering van programmacode
  2. BOmdat geheugencellen in serie zijn geschakeld, is hoge integratie gemakkelijk en is het geschikt voor opslag met grote capaciteit
  3. CHet is vluchtig geheugen waarvan de gegevens verdwijnen bij uitschakelen van de voeding
Antwoord en toelichting tonen

Antwoord: B. Omdat geheugencellen in serie zijn geschakeld, is hoge integratie gemakkelijk en is het geschikt voor opslag met grote capaciteit

NAND schakelt enkele tientallen geheugencellen in serie en laat het contact per cel weg, zodat de oppervlakte per bit klein is en het geschikt is voor grote capaciteiten, en wordt gebruikt in SSD’s en geheugenkaarten. In ruil daarvoor is het lezen traag omdat het door de seriële cellen gaat, en vindt toegang plaats per pagina. Bij NOR zijn alle cellen parallel met de bitlijn verbonden, zodat willekeurig lezen snel is en directe uitvoering van code mogelijk is. Beide zijn niet-vluchtig.

Wat is het representatieve gebruik van NOR-flashgeheugen?

  1. AOpslag van video’s en foto’s met grote capaciteit
  2. BHet hoofdgeheugen van een computer
  3. COpslag van programmacode van apparaten (zoals opstartprogramma’s)
Antwoord en toelichting tonen

Antwoord: C. Opslag van programmacode van apparaten (zoals opstartprogramma’s)

Omdat bij NOR elke cel parallel met de bitlijn is verbonden en willekeurige toegang snel is, kan de CPU programma’s rechtstreeks uit het geheugen lezen en uitvoeren (XIP: Execute In Place). Daarom wordt het gebruikt voor opstartprogramma’s van apparaten, firmware van microcontrollers en besturingscode van voertuigapparatuur. De capaciteit is klein, van enkele Mbit tot enkele Gbit, en de prijs per bit is hoger dan van NAND, dus voor opslag van grote hoeveelheden gegevens wordt NAND gebruikt.

Wat is de juiste eenheid waarin gegevens in NAND-flashgeheugen worden gewist?

  1. APer bit
  2. BPer blok
  3. CPer byte
Antwoord en toelichting tonen

Antwoord: B. Per blok

Bij NAND gebeuren lezen en schrijven per pagina (ca. 16 KB), maar wissen kan alleen per blok van enkele honderden pagina’s (enkele MB tot enkele tientallen MB). Wissen gebeurt door hoge spanning op de hele well te zetten en alle elektronen in één keer weg te halen, vandaar deze eenheid. Ook als slechts een deel wordt herschreven, kan niet worden overschreven: nieuwe gegevens worden naar een vrije pagina geschreven, de oude pagina wordt ongeldig gemaakt en later bij garbage collection gezamenlijk gewist.

  1. Welke methode van elektroneninjectie wordt hoofdzakelijk gebruikt voor het schrijven (programmeren) van NAND-flashgeheugen?
  2. Welke uitspraak over 3D-NAND-flashgeheugen is juist?
  3. Welke techniek wordt in de controller van NAND-flash gebruikt om de toename van leesfouten door multi-levelopslag op te vangen?

Oefenvragen over SRAM en flashgeheugen

Belangrijke termen uitgelegd

NAND-flashgeheugen
Niet-vluchtig geheugen waarin de geheugencellen in serie zijn geschakeld. Het is dicht te integreren en gemakkelijk tot grote capaciteit uit te breiden; het wordt gebruikt in ssd's en geheugenkaarten.
NOR-flashgeheugen
Flashgeheugen waarin de cellen parallel zijn geschakeld. Willekeurig lezen is snel, waardoor het wordt gebruikt voor het opslaan van programma's van microcontrollers.
3D NAND
NAND-flash waarin geheugencellen in verticale richting in groten getale op elkaar zijn gestapeld voor grotere capaciteit. Ingevoerd om de grens van vlakke schaalverkleining te omzeilen; het aantal lagen bedraagt inmiddels meer dan 200.
Niet-vluchtig geheugen
Geheugen dat opgeslagen data behoudt ook wanneer de voeding wordt uitgeschakeld, zoals flashgeheugen en MRAM. DRAM en SRAM zijn vluchtig.

Verwante vergelijkingen