3D NAND flash is the memory architecture that escapes planar scaling limits by stacking hundreds of storage layers vertically — each layer is a word-line (gate) wrapping a vertical channel string, so density scales by adding layers rather than shrinking lithography. Samsung's V-NAND (2013) proved the concept at 24 layers; by 2025 the industry ships 200+ layer products (Samsung 236L, Micron 232L, SK Hynix 238L), and 300–400 layer designs are in development. 3D NAND stores the bits that train and serve every large language model — a single hyperscaler AI cluster requires petabytes of flash storage.
Why planar NAND hit a wall. Planar (2D) NAND shrank the floating-gate cell to ~15 nm half-pitch, but at that scale: (1) fewer than 10 electrons represent a programmed state, making data retention statistical; (2) cell-to-cell capacitive coupling causes read disturb and program disturb; (3) the tunnel oxide can no longer be thinned without leakage — endurance collapses below 1000 P/E cycles. Going vertical solved all three: the cell in 3D NAND is physically large (~30–50 nm gate length), so oxide quality and charge margins are comfortable — the hard problem moved from lithography to etching deep, straight holes.
The charge-trap cell. 3D NAND abandoned the conductive floating gate in favor of a charge-trap flash (CTF) cell, where electrons are stored in a silicon-nitride (Si₃N₄) dielectric layer sandwiched between tunnel oxide and blocking oxide — the ONO (oxide–nitride–oxide) stack. Charge is localized in the nitride traps rather than free to redistribute, which eliminates inter-cell coupling through the floating gate. The threshold-voltage shift from stored charge:
$$\Delta V_t = \frac{Q_{\text{stored}}}{C_{\text{ONO}}} = \frac{q \cdot N_t \cdot t_{\text{N}}}{(\varepsilon_{\text{ox}}/t_{\text{block}}) + (\varepsilon_{\text{N}}/t_{\text{N}}) + (\varepsilon_{\text{ox}}/t_{\text{tunnel}})}$$
where $N_t$ is the trapped-electron density, $t_{\text{N}}$ is nitride thickness, and the denominator is the effective ONO capacitance per unit area.
Architecture — the vertical channel string. A 3D NAND array is built by:
1. Depositing a tall alternating stack of sacrificial layers (SiN or poly-Si) and oxide (SiO₂) — one pair per word-line layer. 2. Etching high-aspect-ratio channel holes (HAR etch: diameter ~100–130 nm, depth 5–10 µm, aspect ratio 50:1 to 80:1 in current products). 3. Depositing the ONO charge-trap films and a polysilicon channel conformally inside each hole. 4. Replacing the sacrificial layers with tungsten word-lines through slit trenches (the "gate-last" or "replacement-gate" flow).
Each vertical string connects a bit-line contact at the top to a common source plate at the bottom, with select gates (SSL/GSL) that isolate individual strings during read/program.
| Generation | Layers | Approx year | Stack architecture | Bit density (Gb/mm²) | Key process challenge |
|---|---|---|---|---|---|
| Samsung V-NAND v1 | 24 | 2013 | Single deck | ~1.5 | Concept validation |
| Samsung v4 / Micron G3 | 64 | 2017 | Single deck | ~4.5 | HAR etch depth |
| Samsung v6 / Micron G5 | 128 | 2019 | Double deck (bonded) | ~7 | Deck alignment |
| Samsung v8 / SK Hynix 176L | 176 | 2021 | Double deck | ~9 | Staircase contacts |
| Samsung v9 / Micron 232L | 232 | 2023 | Double deck | ~13 | >60:1 AR channel hole |
| Industry (2025–2026) | 300+ | 2025+ | Triple deck / CBA | ~16+ | Stack stress, CMOS-under-array |
Multi-deck stacking. Beyond ~100 layers, etching a single continuous channel hole becomes impractical (the aspect ratio exceeds equipment limits). The solution: fabricate two (or three) shorter stacks ("decks") independently, then bond them together — either by a polysilicon interface or wafer-bonding the upper deck directly. Each deck is ~100–130 layers with its own channel-hole etch. Alignment between decks at the channel junction is critical; misalignment creates a resistance bump that degrades read speed and noise margin.
CMOS-under-array (CuA) / CMOS-bonded-array (CBA). In early 3D NAND, peripheral CMOS circuits (page buffers, decoders, charge pumps) sat beside the array, consuming ~30% of die area. CuA places the CMOS under the memory stack, recovering that area for storage. CBA (SK Hynix, Micron) goes further: fabricate the CMOS on a separate wafer, bond it face-to-face with the memory array wafer, then etch the channel holes through the memory stack landing on the CMOS wafer's metal pads. This decouples CMOS logic scaling from memory-stack processing, allowing each to use its optimal technology.
The killer process step — high-aspect-ratio (HAR) etch. Etching a 5–10 µm deep hole through 200+ alternating oxide/nitride layers at >60:1 aspect ratio is the single hardest etch in semiconductor manufacturing. Requirements: near-vertical profile (taper <0.1°), no bowing, no twisting, and landing within a 10 nm target at the bottom. The etch uses carbon-fluorine chemistry (C₄F₈/C₄F₆ + O₂ + Ar) in a high-density plasma at cryogenic wafer temperatures (−20 to −60°C) to form a protective polymer sidewall that prevents lateral etching. Each new layer generation demands either better etch (deeper single-deck) or multi-deck bonding.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 760 520" font-family="system-ui,sans-serif">
<rect width="760" height="520" fill="#1a1a17" rx="12"/>
<text x="380" y="28" fill="#c9c3f2" font-size="15" text-anchor="middle" font-weight="600">3D NAND — vertical channel string cross-section</text>
<!-- Stack of WL layers -->
<text x="60" y="55" fill="#8a8a86" font-size="11">Word-line layers (W metal)</text>
<!-- Draw alternating WL/oxide layers -->
<rect x="100" y="65" width="300" height="12" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<rect x="100" y="79" width="300" height="6" fill="#2a2a28"/>
<rect x="100" y="87" width="300" height="12" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<rect x="100" y="101" width="300" height="6" fill="#2a2a28"/>
<rect x="100" y="109" width="300" height="12" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<rect x="100" y="123" width="300" height="6" fill="#2a2a28"/>
<rect x="100" y="131" width="300" height="12" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<rect x="100" y="145" width="300" height="6" fill="#2a2a28"/>
<rect x="100" y="153" width="300" height="12" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<rect x="100" y="167" width="300" height="6" fill="#2a2a28"/>
<rect x="100" y="175" width="300" height="12" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<rect x="100" y="189" width="300" height="6" fill="#2a2a28"/>
<rect x="100" y="197" width="300" height="12" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<rect x="100" y="211" width="300" height="6" fill="#2a2a28"/>
<rect x="100" y="219" width="300" height="12" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<!-- dots indicating more layers -->
<text x="250" y="250" fill="#8a8a86" font-size="14" text-anchor="middle">⋮ (200+ layers)</text>
<rect x="100" y="260" width="300" height="12" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<rect x="100" y="274" width="300" height="6" fill="#2a2a28"/>
<rect x="100" y="282" width="300" height="12" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<!-- Channel hole through the stack -->
<rect x="230" y="60" width="24" height="240" fill="#1a1a17" stroke="#e0913a" stroke-width="1.5" rx="2"/>
<!-- ONO layers inside channel hole -->
<rect x="231" y="60" width="4" height="240" fill="#bf6f6f" opacity="0.6"/>
<rect x="235" y="60" width="4" height="240" fill="#e8d44d" opacity="0.5"/>
<rect x="239" y="60" width="4" height="240" fill="#bf6f6f" opacity="0.6"/>
<!-- Poly-Si channel -->
<rect x="244" y="60" width="6" height="240" fill="#6fbf6f" opacity="0.7"/>
<!-- Labels for channel components -->
<line x1="254" y1="140" x2="290" y2="140" stroke="none"/>
<text x="420" y="95" fill="#bf6f6f" font-size="10">Blocking oxide (Al₂O₃/SiO₂)</text>
<text x="420" y="112" fill="#e8d44d" font-size="10">Charge-trap nitride (Si₃N₄)</text>
<text x="420" y="129" fill="#bf6f6f" font-size="10">Tunnel oxide (SiO₂)</text>
<text x="420" y="146" fill="#6fbf6f" font-size="10">Poly-Si channel</text>
<text x="420" y="163" fill="#8a8a86" font-size="10">Core fill (SiO₂)</text>
<!-- leader lines -->
<line x1="231" y1="90" x2="415" y2="90" stroke="#bf6f6f" stroke-width="0.5"/>
<line x1="237" y1="107" x2="415" y2="107" stroke="#e8d44d" stroke-width="0.5"/>
<line x1="240" y1="124" x2="415" y2="124" stroke="#bf6f6f" stroke-width="0.5"/>
<line x1="247" y1="141" x2="415" y2="141" stroke="#6fbf6f" stroke-width="0.5"/>
<!-- WL labels -->
<text x="85" y="75" fill="#9a9adf" font-size="8" text-anchor="end">WL₀</text>
<text x="85" y="97" fill="#9a9adf" font-size="8" text-anchor="end">WL₁</text>
<text x="85" y="119" fill="#9a9adf" font-size="8" text-anchor="end">WL₂</text>
<!-- Bit line at top -->
<rect x="225" y="48" width="34" height="10" fill="#6fafaf" stroke="#6fafaf" stroke-width="1" rx="2"/>
<text x="242" y="44" fill="#6fafaf" font-size="9" text-anchor="middle">BL</text>
<!-- Source at bottom -->
<rect x="150" y="296" width="200" height="12" fill="#8a6a4a" stroke="#c9a060" stroke-width="1" rx="2"/>
<text x="250" y="322" fill="#c9a060" font-size="9" text-anchor="middle">Common source plate (CSL)</text>
<!-- SSL/GSL labels -->
<text x="85" y="72" fill="#e0913a" font-size="8" text-anchor="end">SSL →</text>
<text x="85" y="288" fill="#e0913a" font-size="8" text-anchor="end">GSL →</text>
<!-- Right side: density scaling chart -->
<rect x="450" y="200" width="280" height="290" fill="#1f1f1c" stroke="#3a3a37" stroke-width="1" rx="8"/>
<text x="590" y="225" fill="#c9c3f2" font-size="12" text-anchor="middle" font-weight="500">Layer count scaling</text>
<!-- Bar chart -->
<rect x="480" y="380" width="30" height="20" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<text x="495" y="400" fill="#8a8a86" font-size="8" text-anchor="middle">24</text>
<text x="495" y="415" fill="#6f6f6a" font-size="7" text-anchor="middle">2013</text>
<rect x="520" y="350" width="30" height="50" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<text x="535" y="380" fill="#8a8a86" font-size="8" text-anchor="middle">64</text>
<text x="535" y="415" fill="#6f6f6a" font-size="7" text-anchor="middle">2017</text>
<rect x="560" y="310" width="30" height="90" fill="#4a4a6a" stroke="#6f6fbf" stroke-width="0.8"/>
<text x="575" y="350" fill="#8a8a86" font-size="8" text-anchor="middle">128</text>
<text x="575" y="415" fill="#6f6f6a" font-size="7" text-anchor="middle">2019</text>
<rect x="600" y="275" width="30" height="125" fill="#4a4a6a" stroke="#9a8adf" stroke-width="1.2"/>
<text x="615" y="310" fill="#d4c8ff" font-size="8" text-anchor="middle">176</text>
<text x="615" y="415" fill="#6f6f6a" font-size="7" text-anchor="middle">2021</text>
<rect x="640" y="250" width="30" height="150" fill="#5a4a8a" stroke="#9a8adf" stroke-width="1.2"/>
<text x="655" y="280" fill="#d4c8ff" font-size="8" text-anchor="middle">232</text>
<text x="655" y="415" fill="#6f6f6a" font-size="7" text-anchor="middle">2023</text>
<rect x="680" y="240" width="30" height="160" fill="#5a4a8a" stroke="#c9c3f2" stroke-width="1.5"/>
<text x="695" y="260" fill="#c9c3f2" font-size="8" text-anchor="middle">300+</text>
<text x="695" y="415" fill="#6f6f6a" font-size="7" text-anchor="middle">2025</text>
<!-- Trend line -->
<path d="M495,378 Q535,348 575,308 Q615,273 655,248 L695,238" fill="none" stroke="#e0913a" stroke-width="1.5" stroke-dasharray="4,2"/>
<!-- Annotation -->
<text x="590" y="450" fill="#8a8a86" font-size="9" text-anchor="middle">~1.4× layers per generation (~18 months)</text>
<text x="590" y="465" fill="#8a8a86" font-size="9" text-anchor="middle">HAR etch AR: 50:1 → 80:1+</text>
<text x="590" y="480" fill="#e0913a" font-size="9" text-anchor="middle">Multi-deck bonding above ~130 layers/deck</text>
<!-- Bottom annotation -->
<text x="250" y="360" fill="#d4d4d0" font-size="10" text-anchor="middle">Each WL = one storage layer</text>
<text x="250" y="377" fill="#8a8a86" font-size="9" text-anchor="middle">Density scales by adding layers,</text>
<text x="250" y="392" fill="#8a8a86" font-size="9" text-anchor="middle">not shrinking lithography</text>
</svg>
Bits per cell — SLC to QLC. Each charge-trap cell can store multiple bits by programming the threshold voltage to one of $2^n$ distinct levels:
| Mode | Bits/cell | Vt levels | Endurance (P/E cycles) | Read speed | Use case |
|---|---|---|---|---|---|
| SLC | 1 | 2 | 50,000–100,000 | Fastest | Write-cache, enterprise |
| MLC | 2 | 4 | 3,000–10,000 | Fast | Enterprise SSD |
| TLC | 3 | 8 | 1,000–3,000 | Moderate | Consumer & datacenter SSD |
| QLC | 4 | 16 | 500–1,500 | Slowest | Read-intensive, cold storage |
| PLC | 5 | 32 | 100–500 | Very slow | Archival (emerging) |
Moving from TLC to QLC quadruples bit density per cell at the cost of tighter Vt margins, longer program times (ISPP with finer voltage steps), and more sophisticated ECC (LDPC codes with 200+ parity bits per 2 KB page).
Reliability fundamentals. 3D NAND reliability is governed by: (1) charge loss — electrons de-trap from the nitride layer over time, shifting Vt down (data retention, specified at 85°C for 1 year); (2) program disturb — high WL voltages during programming neighbor cells push parasitic charge into adjacent cells; (3) read disturb — repeated read-pass voltages on unselected WL slowly inject charge into cells above/below the target; (4) cell-to-cell variability — polysilicon grain boundaries in the vertical channel create random trap sites that shift Vt distributions. Error correction (BCH → LDPC → LDPC with soft-decision reads) compensates, but at the cost of read latency.
What 3D NAND means for AI infrastructure. A single GPT-4-class training run reads and writes hundreds of terabytes of checkpoint data. The training cluster's storage subsystem — invariably flash-based (NVMe SSDs) — must sustain multi-TB/s aggregate bandwidth with endurance to survive thousands of training iterations. The move to QLC and PLC, combined with 200+ layer stacking, keeps $/GB falling at ~20%/year — enabling the petabyte-scale datasets that feed modern AI without breaking the datacenter cost model.
Related Topics
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.