NAND Flash Internals
NAND ํ๋์ ๋ด๋ถ ๊ตฌ์กฐ ์์ธ ๋ถ์
NAND Flash Cell ยท String/Array ยท Vth Distribution ยท 3D V-NAND ยท Program/Erase Physics
NAND ํ๋์๋ ์ ์ ์์ด ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ ๋นํ๋ฐ์ฑ ์ ์ฅ ๋งค์ฒด์ ๋๋ค. ๋ณธ ๋ฌธ์๋ NAND์ ์ ๋ฌผ๋ฆฌ(์ ํ ์ ์ฅ), ์ ์ ์ง๋ ฌ๋ก ์๋ String ๊ตฌ์กฐ, ์ ๋น ๋นํธ ์์ ๋ฐ๋ฅธ ๋ฌธํฑ์ ์ ๋ถํฌ, 2D/3D ๊ตฌ์กฐ, ๊ทธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋จ/์๊ฑฐ์ ๋ฌผ๋ฆฌ์ ์ ๋ขฐ์ฑ ์ดํ๊น์ง NAND ๋ด๋ถ๋ฅผ ์ ์์ค์์ ๋ถ์ํฉ๋๋ค.
NAND๋ ๊ฐ์ ํ๋์ ๊ณ์ด์ด๋ผ๋ NOR์ ์ฐ๊ฒฐ ๋ฐฉ์์ด ๋ฌ๋ผ, ๋๋ค ์ ๊ทผ๋ณด๋ค ๋์ฉ๋ ์ ์ฅ๊ณผ ์์ฐจ ์ฒ๋ฆฌ์ ๋ ์ ๋ง์ต๋๋ค. 3D V-NAND์ charge trap ๊ตฌ์กฐ๋ ํ๋ฉด ๋ฏธ์ธํ ํ๊ณ๋ฅผ ๋๊ธฐ๊ธฐ ์ํด ๋ฑ์ฅํ๊ณ , ์ค๋๋ TLC/QLC SSD์ ๊ณ ์ง์ ํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ๋ง๋ ํต์ฌ ์ถ์ ๋๋ค.
1. NAND ์ ๊ตฌ์กฐ โ ์ ํ๋ฅผ ์ ์ฐ๋ง์ ๊ฐ๋๋ค
NAND ์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฒ์ดํธ ์ ์ฐ๋ง ์์ ์ ์๋ฅผ ์ฃผ์ ยท์ ๊ฑฐํ์ฌ ํธ๋์ง์คํฐ์ ๋ฌธํฑ์ ์(Vth)์ ๋ฐ๊พธ๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ์ ํ๋ฅผ ์ ์ฅํ๋ ๋งค์ฒด์ ๋ฐ๋ผ Floating Gate(FG) ๋ฐฉ์๊ณผ Charge Trap(CT) ๋ฐฉ์์ผ๋ก ๋๋ฉ๋๋ค.
๊ทธ๋ฆผ 1. Floating Gate vs Charge Trap ์ ๊ตฌ์กฐ์ ๋นํ๋ฐ์ฑ ์๋ฆฌ
Floating Gate vs Charge Trap
๋ ๋ฐฉ์ ๋ชจ๋ ์๋ฆฌ๋ ๊ฐ์ต๋๋ค. ์ ์๋ฅผ ์ฃผ์ ํ๋ฉด Vth๊ฐ ๋์์ ธ โ0โ(ํ๋ก๊ทธ๋จ), ์ ์๋ฅผ ์ ๊ฑฐํ๋ฉด Vth๊ฐ ๋ฎ์์ ธ โ1โ(์๊ฑฐ)์ด ๋ฉ๋๋ค. ์ฝ๊ธฐ๋ ๊ธฐ์ค์ ์์ ๊ฑธ์ด ์ ์ด ์ผ์ง๋์ง๋ก ์ ์ฅ๊ฐ์ ํ๋ณํฉ๋๋ค. ์ ํ๊ฐ ์ ์ฐ๋ง์ ๊ฐํ ์ ์ ์์ด๋ ์ ์ง๋๋ฏ๋ก ๋นํ๋ฐ์ฑ์ ๋๋ค.
DRAM/SRAM๊ณผ์ ๊ฒฐ์ ์ ์ฐจ์ด
๋นํ๋ฐ์ฑ์ ๋๊ฐ โ NAND๋ ์ ์ ์์ด ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ ๋์ , ์ฐ๊ธฐ ์ ๋ฐ๋์ ์๊ฑฐ๊ฐ ํ์ํ๊ณ (erase-before-write), ๋ฐ๋ณต ์ฌ์ฉ ์ ์ ์ฐ๋ง์ด ๋ง๋ชจ๋๋ฉฐ(P/E cycle ์ ํ), ์๋๊ฐ DRAM/SRAM๋ณด๋ค ํจ์ฌ ๋๋ฆฝ๋๋ค.
2. NAND String๊ณผ ์ด๋ ์ด ๊ตฌ์กฐ
โNANDโ๋ผ๋ ์ด๋ฆ์ ์ ์ ์ง๋ ฌ๋ก ์ฐ๊ฒฐํ ๊ตฌ์กฐ์์ ์ ๋ํฉ๋๋ค. ์ฌ๋ฌ ์ ์ ํ ์ค๋ก ์ง๋ ฌ ์ฐ๊ฒฐํ๋ฉด ์ ๋น ๋ฐฐ์ ์ด ์ค์ด ์ง์ ๋๊ฐ ํฌ๊ฒ ๋์์ง๋๋ค. ์ด๊ฒ์ด NAND๊ฐ ๋์ฉ๋ ์ ์ฅ์ ์ ํฉํ ๊ทผ๋ณธ ์ด์ ์ ๋๋ค.
๊ทธ๋ฆผ 2. NAND String(์ง๋ ฌ) ๊ตฌ์กฐ, NOR(๋ณ๋ ฌ) ๋๋น, StringโPageโBlock ๊ณ์ธต
String ๊ตฌ์ฑ
-
SSL(String Select Line)๊ณผ GSL(Ground Select Line) ์ฌ์ด์ ์ฌ๋ฌ ์ (WL0~WLn)์ด ์ง๋ ฌ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
-
Word Line(WL)์ด ๊ฐ ์ ์ Control Gate๋ฅผ ์ ์ดํ๊ณ , Bit Line(BL)์ด String์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์๋๋ค.
-
์ง๋ ฌ ์ฐ๊ฒฐ ๋๋ถ์ ์ ๋น ์ฝํ(๋ฐฐ์ )์ด ์ค์ด NOR๋ณด๋ค ํจ์ฌ ๋์ ์ง์ ๋๋ฅผ ๋ฌ์ฑํฉ๋๋ค.
NAND vs NOR
| ํญ๋ชฉ | NAND | NOR |
|---|---|---|
| ์ฐ๊ฒฐ ๊ตฌ์กฐ | ์ ์ ์ง๋ ฌ๋ก ์ฐ๊ฒฐ | ์ ์ ๋ณ๋ ฌ๋ก ์ฐ๊ฒฐ |
| ๋๋ค ์ฝ๊ธฐ | ๋๋ฆผ | ๋น ๋ฆ |
| ์ฝ๋ ์คํ | ๋ถ์ ํฉ | ์ ํฉ (XIP) |
| ์ง์ ๋ | ๋์ | ๋ฎ์ |
| ์ฃผ ์ฉ๋ | SSD, ๋ฉ๋ชจ๋ฆฌ ์นด๋, USB | ํ์จ์ด, ๋ถํธ ROM |
NAND๋ page/block ์ค์ฌ์ผ๋ก ์์ง์ด๊ณ , NOR๋ ๋ฐ์ดํธ ๋จ์ ์ ๊ทผ์ด ์ฌ์ ์ฝ๋ ์คํ์ ์ ๋ฆฌํฉ๋๋ค. ๊ฐ์ ํ๋์๋ผ๋ ์ ์ฅ ๋ฐ๋์ ์ ๊ทผ ๋ฐฉ์์์ ๋ชฉํ๊ฐ ๋ค๋ฆ ๋๋ค.
Page โ Block ๊ณ์ธต
-
๊ฐ์ WL์ ์ฐ๊ฒฐ๋ ์ ๋ค์ ๋ฌถ์์ด Page๋ก, ์ฝ๊ธฐ/์ฐ๊ธฐ์ ์ต์ ๋จ์์ ๋๋ค(๋ณดํต 4~16KB).
-
์ฌ๋ฌ String์ด ๋ชจ์ฌ Block์ ์ด๋ฃจ๋ฉฐ, ์๊ฑฐ์ ์ต์ ๋จ์์ ๋๋ค(์๋ฐฑ~์์ฒ Page).
-
์ฝ๊ธฐ/์ฐ๊ธฐ๋ Page ๋จ์์ธ๋ฐ ์๊ฑฐ๋ Block ๋จ์์ธ ๋น๋์นญ์ด ๋ฐ๋ก FTL(Flash Translation Layer)์ด ํ์ํ ๊ทผ๋ณธ ์์ธ์ ๋๋ค.
3. ์ ๋น ๋นํธ ์์ ๋ฌธํฑ์ ์ ๋ถํฌ
ํ ์ ์ ์ ์ฅํ๋ ๋นํธ ์๋ ๋ฌธํฑ์ ์(Vth)์ ๋ช ๋จ๊ณ๋ก ๊ตฌ๋ถํ๋๋์ ๋ฌ๋ ค ์์ต๋๋ค. ๋จ๊ณ๊ฐ ๋ง์์๋ก ๊ฐ์ ๋ฉด์ ์ ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋ด์ง๋ง, ์ ์ ๋ ๋ฒจ ์ฌ์ด ๊ฐ๊ฒฉ์ด ์ข์์ ธ ์ค๋ฅ์ ์ทจ์ฝํด์ง๊ณ ์๋ช ์ด ์งง์์ง๋๋ค.
๊ทธ๋ฆผ 3. SLC/MLC/TLC/QLC์ ๋ฌธํฑ์ ์ ๋ถํฌ โ ๋ ๋ฒจ์ด ๋ง์์๋ก ๋ด์ฐ๋ฆฌ ๊ฐ๊ฒฉ์ด ์ข์์ง
16๋ ๋ฒจ(QLC)์ ์ข์ ์ ์ ์ฐฝ์ 16๊ฐ์ ๋ถํฌ๋ฅผ ์ฑ์ฌ๋ฃ์ด์ผ ํ๋ฏ๋ก, ์์ ์ ํ ๋ณ๋์๋ ์ธ์ ๋ ๋ฒจ๊ณผ ๊ฒน์ณ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ์ต๋๋ค. ๊ทธ๋์ ๋ค๋นํธ NAND์ผ์๋ก ๊ฐ๋ ฅํ ECC(LDPC)์ ์ ๊ตํ ์ฝ๊ธฐ ๋ณด์ (Read Retry)์ด ํ์๊ฐ ๋ฉ๋๋ค.
4. 2D Planar NAND vs 3D V-NAND
์ด๊ธฐ NAND๋ ์ ์ ํ๋ฉด(๊ฐ๋ก)์ ๋ฐฐ์นํ๊ณ ๋ฏธ์ธํ๋ก ์ง์ ๋๋ฅผ ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ 10nm๋์ ์ด๋ฅด๋ฌ ์ ๊ฐ๊ฒฉ์ด ๋๋ฌด ์ข์์ ธ ๊ฐ์ญ์ด ์ฌํด์ง๊ณ ๋ฏธ์ธํ๊ฐ ํ๊ณ์ ๋๋ฌํ์ต๋๋ค. ์ด๋ฅผ โ์์ง ์ ์ธตโ์ผ๋ก ์ฐํํ ๊ฒ์ด 3D V-NAND์ ๋๋ค.
๊ทธ๋ฆผ 4. 2D Planar NAND์ 3D V-NAND์ ๊ตฌ์กฐ ์ฐจ์ด
3D NAND๊ฐ ๊ฐ์ ธ์จ ๋ณํ
-
ํ๋ฉด ๋ฏธ์ธํ ๋์ ์ ์ ์์ง์ผ๋ก ์์(ํ์ฌ 200์ธต ์ด์) ์ธต์๋ฅผ ๋๋ ค ์ฉ๋์ ํค์๋๋ค(32โ64โ128โ200์ธต+).
-
์ ํฌ๊ธฐ๋ฅผ ์คํ๋ ค ํค์ฐ๋ฉด์๋ ์ง์ ๋๋ฅผ ๋์ผ ์ ์์ด, ์ ๊ฐ ๊ฐ์ญ์ด ์ค๊ณ ์ ๋ขฐ์ฑยท์๋ช ์ด ๊ฐ์ ๋ฉ๋๋ค.
-
์์ง ์ ์ธต์๋ Charge Trap ๋ฐฉ์์ด ์ ๋ฆฌํ์ฌ ๋๋ถ๋ถ์ 3D NAND๊ฐ CT ๊ธฐ๋ฐ์ ๋๋ค.
-
์ด ๊ธฐ์ ์ด TLC/QLC ๋์ฉ๋ํ์ ํ ๋๊ฐ ๋์ด, ์ค๋๋ SSD์ ๊ณ ์ฉ๋ยท์ ๊ฐ๊ฒฉ์ ๊ฐ๋ฅํ๊ฒ ํ์ต๋๋ค.
5. Program / Erase ๋ฌผ๋ฆฌ์ ์ ๋ขฐ์ฑ ์ดํ
NAND์ ์ฐ๊ธฐ(Program)์ ์๊ฑฐ(Erase)๋ ์ ์ฐ๋ง์ ํต๊ณผํ๋ ์ ์์ ํฐ๋๋ง(FN tunneling)์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์ด ๊ฐํ ์ ๊ณ๊ฐ ๋ฐ๋ณต๋๋ฉด์ ์ ์ฐ๋ง์ด ์ ์ฐจ ์์๋์ด ๋ง๋ชจ๊ฐ ๋์ ๋ฉ๋๋ค.
๊ทธ๋ฆผ 5. Program/Erase/Read ๋ฌผ๋ฆฌ์ NAND์ ์ ๋ขฐ์ฑ ์ดํ ๋ฉ์ปค๋์ฆ
๊ธฐ๋ณธ ๋์
-
Program(์ฐ๊ธฐ) โ Control Gate์ ๋์ ์์ ์์ ๊ฑธ์ด FN ํฐ๋๋ง์ผ๋ก ์ ์๋ฅผ ์ ์ฐ๋ง ์์ ์ฃผ์ ํฉ๋๋ค. ISPP(Incremental Step Pulse Programming)๋ก ํ์ค๋ฅผ ๋จ๊ณ์ ์ผ๋ก ๋์ฌ Vth๋ฅผ ์ ๋ฐ ์ ์ดํฉ๋๋ค. ํ์ด์ง ๋จ์๋ก ์ํ๋๋ฉฐ, 0โ1 ์ ํ์ ์๊ฑฐ ์์ด๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
-
Erase(์๊ฑฐ) โ ๊ธฐํ/์ฑ๋์ ๋์ ์์ ์์ ๊ฑธ์ด ์ ์๋ฅผ ์ ์ฐ๋ง ๋ฐ์ผ๋ก ๋ฐฉ์ถ์ํต๋๋ค. Block ๋จ์๋ก ์ผ๊ด ์ํ๋๋ฉฐ, ๊ฐํ ์ ๊ณ๊ฐ ์ ์ฐ๋ง ์์์ ์ฃผ์์ธ์ ๋๋ค.
-
Read(์ฝ๊ธฐ) โ ๊ธฐ์ค์ ์(Vref)์ ๊ฑธ์ด ์ ์ ON/OFF๋ก ์ ์ฅ๊ฐ์ ํ๋ณํฉ๋๋ค. ๋นํ๊ดด์ ์ด๋ฉฐ ๊ฐ์ฅ ๋น ๋ฆ ๋๋ค. ๋ค๋นํธ ์ ์ ์ฌ๋ฌ Vref๋ก ์ฌ๋ฌ ๋ฒ ์ฝ์ต๋๋ค.
์ ๋ขฐ์ฑ ์ดํ ๋ฉ์ปค๋์ฆ
์ด๋ฌํ ์ดํ๋ ์ปจํธ๋กค๋ฌ์ ECC(LDPC), Wear Leveling(๋ง๋ชจ ํ์คํ), Read Retry(์ฝ๊ธฐ ์ฌ์๋)๋ก ๋ณด์ ยท์ํ๋ฉ๋๋ค. NAND ์ ์์ฒด๋ ๋ถ์์ ํ์ง๋ง, ์ด๋ฅผ ์์คํ ์ฐจ์์์ ๊ด๋ฆฌํ์ฌ ์ ๋ขฐ์ฑ ์๋ ์ ์ฅ์ฅ์น๋ฅผ ๋ง๋๋ ๊ฒ์ด SSD ์ค๊ณ์ ํต์ฌ์ ๋๋ค.
6. ์ฅ๋จ์ ๊ณผ ์ข ํฉ
ํต์ฌ ์ ๋ฆฌ โ SRAM์ ์๋๋ฅผ, DRAM์ ๋ฐ๋์ ์๋์ ๊ท ํ์, NAND๋ ๋นํ๋ฐ์ฑ๊ณผ ๋์ฉ๋์ ์ถ๊ตฌํฉ๋๋ค. NAND๋ ์ ์ ์ง๋ ฌ๋ก ์๊ณ (String) ํ ์ ์ ์ฌ๋ฌ ๋นํธ๋ฅผ ๋ด์ผ๋ฉฐ(TLC/QLC) ์์ง์ผ๋ก ์์(3D) ๊ทนํ์ ์ง์ ๋๋ฅผ ์ป๋ ๋์ , ๋ง๋ชจยท๊ฐ์ญยท์ ํ ๋์ค์ด๋ผ๋ ์ ๋ขฐ์ฑ ๋ฌธ์ ๋ฅผ ECC์ FTL๋ก ๊ด๋ฆฌํฉ๋๋ค.
| ๋ฐฉ์ | ์ ํ ์ ์ฅ ๋งค์ฒด | ํน์ง |
|---|---|---|
| Floating Gate (FG) | ๋์ฒด(ํด๋ฆฌ์ค๋ฆฌ์ฝ) ๊ฒ์ดํธ | ์ ํต์ ๋ฐฉ์. ๋์ฒด๋ผ ๊ฒฐํจ ํ ๊ณณ์์ ์ ์ฒด ์ ํ ๋์ค ์ํ. ๋ฏธ์ธํยท3D ์ ์ธต์ ๋ถ๋ฆฌ. |
| Charge Trap (CT) | ๋ถ๋์ฒด(SiโNโ) ํธ๋ฉ์ธต | ์ ํ๋ฅผ ๊ตญ์์ ์ผ๋ก ๊ฐ๋ฌ ๊ฒฐํจ์ ๊ฐํจ. 3D V-NAND ๋๋ถ๋ถ์ด ์ฑํ. |
| ๋ฉ๋ชจ๋ฆฌ | ์ ์ฅ ์๋ฆฌ | ํ๋ฐ์ฑ | ํต์ฌ ํน์ฑ |
|---|---|---|---|
| SRAM (6T) | ๊ต์ฐจ๊ฒฐํฉ ์ธ๋ฒํฐ ๋์น | ํ๋ฐ์ฑ | ์ ์ ์ค์๋ง ์ ์ง, ์ต๊ณ ์, ์บ์ |
| DRAM (1T1C) | ์ปคํจ์ํฐ ์ ํ | ํ๋ฐ์ฑ | Refresh ํ์, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ |
| NAND | ์ ์ฐ๋ง์ ๊ฐํ ์ ํ | ๋นํ๋ฐ์ฑ | ์ ์ ์์ด ์๋ ๋ณด์กด, ๋์ฉ๋ ์ ์ฅ |
| ํญ๋ชฉ | NAND | NOR |
|---|---|---|
| ์ฐ๊ฒฐ ๊ตฌ์กฐ | ์ง๋ ฌ | ๋ณ๋ ฌ (์ ๋ง๋ค BL ์ฝํ) |
| ์ง์ ๋ | ๋์ | ๋ฎ์ |
| ๋๋ค ์ฝ๊ธฐ | ๋๋ฆผ (ํ์ด์ง ๋จ์) | ๋น ๋ฆ (๋ฐ์ดํธ ๋จ์) |
| ์์ฐจ R/W | ๋น ๋ฆ | ๋๋ฆผ |
| ์ฃผ ์ฉ๋ | ๋์ฉ๋ ์ ์ฅ (SSD/USB) | ์ฝ๋ ์คํ (ํ์จ์ด XIP) |
| ์ข ๋ฅ | ๋นํธ/์ | ์ ์ ๋ ๋ฒจ | P/E Cycle | ์๋ | ๋น์ฉ/GB |
|---|---|---|---|---|---|
| SLC | 1 bit | 2 | ~100,000 | ์ต๊ณ | ์ต๊ณ ๊ฐ |
| MLC | 2 bit | 4 | ~10,000 | ๋์ | ๊ณ ๊ฐ |
| TLC | 3 bit | 8 | ~3,000 | ์ค๊ฐ | ์ค๊ฐ (์๋น์ ์ฃผ๋ฅ) |
| QLC | 4 bit | 16 | ~1,000 | ๋ฎ์ | ์ต์ ๊ฐ (๋์ฉ๋) |
| ๋ฉ์ปค๋์ฆ | ์์ธ | ์ํฅ |
|---|---|---|
| P/E Cycling (๋ง๋ชจ) | ๋ฐ๋ณต ํ๋ก๊ทธ๋จ/์๊ฑฐ๋ก ํฐ๋ ์ ์ฐ๋ง ๊ฒฐํจ ๋์ | ์ ํ ์ ์ฅ ๋ฅ๋ ฅ ์ ํ, ์๋ช ์ ํ |
| Read Disturb | ์ธ์ ์ ์ฝ๊ธฐ ์ ์์ด ๋น์ ํ ์ ์ ๋ฏธ์ธ ์ ํ ์ฃผ์ | ๋ฐ๋ณต ์ฝ๊ธฐ ์ ๊ฐ ๋ณ์ง |
| Program Disturb | ํ๋ก๊ทธ๋จ ์ค ์ธ์ ์ ์ ์๋์น ์์ ์ ํ ์ฃผ์ | ์ด์ ์ ๊ฐ ๊ต๋ |
| Retention Loss | ์๊ฐ ๊ฒฝ๊ณผ๋ก ๊ฐํ ์ ํ ๋์ค | ์ฅ๊ธฐ ๋ณด๊ด ์ ๋ฐ์ดํฐ ๋ณ์ง |
| Cell-to-Cell ๊ฐ์ญ | ๋ฏธ์ธํ๋ก ์ธ์ ์ ์ ํ์ ์ ๊ณ ์ํฅ | ๋ค๋นํธ(TLC/QLC)์์ ์ฌ๊ฐ |
| ํญ๋ชฉ | SRAM (6T) | DRAM (1T1C) | NAND |
|---|---|---|---|
| ์ ๊ตฌ์ฑ | ํธ๋์ง์คํฐ 6 | ํธ๋์ง์คํฐ 1+์ปคํจ์ํฐ 1 | ํธ๋์ง์คํฐ 1 (์ ํ ์ ์ฅํ) |
| ์ ์ฅ ์๋ฆฌ | ๋์น (๋ฅ๋) | ์ปคํจ์ํฐ ์ ํ | ์ ์ฐ๋ง์ ๊ฐํ ์ ํ |
| ํ๋ฐ์ฑ | ํ๋ฐ์ฑ | ํ๋ฐ์ฑ (Refresh) | ๋นํ๋ฐ์ฑ |
| ์ฝ๊ธฐ | ๋นํ๊ดด์ | ํ๊ดด์ (restore) | ๋นํ๊ดด์ |
| ์ฐ๊ธฐ ์ ์ฝ | ์์ | ์์ | ์๊ฑฐ ํ ์ฐ๊ธฐ, ๋ง๋ชจ |
| ์๋ | ์ต๊ณ (ns ์ดํ) | ์ค๊ฐ (์์ญ ns) | ๋๋ฆผ (ยตs~ms) |
| ๋ฐ๋/๋น์ฉ | ์ต์ ๋ฐ๋/์ต๊ณ ๊ฐ | ์ค๊ฐ | ์ต๊ณ ๋ฐ๋/์ต์ ๊ฐ |
| ์ฉ๋ | CPU ์บ์ | ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ | ๋์ฉ๋ ์ ์ฅ |
์ฅ์
-
์ ์ ์ง๋ ฌ๋ก ๋ฌถ์ด ๋ฐฐ์ ์๋ฅผ ์ค์ด๋ฏ๋ก ๋ฉด์ ํจ์จ์ด ๋๊ณ , ๊ฐ์ ์ค๋ฆฌ์ฝ ๋ฉด์ ์์ ๋ ํฐ ์ฉ๋์ ์ป๊ธฐ ์ฝ์ต๋๋ค.
-
3D ์ ์ธต๊ณผ charge trap ์กฐํฉ์ ํ๋ฉด ๋ฏธ์ธํ์ ํ๊ณ๋ฅผ ์ฐํํ๋ฉฐ, ์ ๊ฐ ๊ฐ์ญ์ ์ค์ด๋ ๋ฐ ์ ๋ฆฌํฉ๋๋ค.
-
์ ์์ด ๊บผ์ ธ๋ ์ ํ๋ฅผ ์ ์งํ๋ฏ๋ก ์ ์ฅ ๋งค์ฒด๋ก์์ ๋นํ๋ฐ์ฑ์ด ๋ฐ์ด๋ฉ๋๋ค.
ํ๊ณ
-
page write, block erase ์ ์ฝ ๋๋ฌธ์ in-place overwrite๊ฐ ๋ถ๊ฐ๋ฅํ๊ณ , FTL๊ณผ GC๊ฐ ํ์์ ๋๋ค.
-
์ ๋น ๋นํธ ์๊ฐ ๋์๋ก ๋ฌธํฑ์ ์ ์ฌ์ ๊ฐ ์ค์ด ์ค๋ฅ์จ๊ณผ ์๋ช ๋ถ๋ด์ด ์ปค์ง๋๋ค.
-
๋ฐ๋ณต program/erase์ read disturb, retention loss ๋๋ฌธ์ ์ปจํธ๋กค๋ฌ ์์ค์ ECC์ ๋ณด์ ์ด ํ์ํฉ๋๋ค.
7. ๊ด๋ จ ๊ธฐ์
-
nand_0005_nand_nvme_ssd_analysis.html- FTL, NVMe, OS I/O ์คํ๊ณผ NAND์ ์ฐ๊ฒฐ ๋ฐฉ์ -
nand_0020_ftl_wearleveling_garbagecollection.html- L2P ๋งคํ, GC, Wear Leveling, OP -
nand_0015_vfs_fs_pagecache_blockio.html- page cache, blk-mq, TRIM/Discard ๊ฒฝ๋ก -
system_0020_ecc_error_correction.html- ECC, LDPC, ๋นํธ ์ค๋ฅ ์ ์ ๋ฐฐ๊ฒฝ -
system_0025_nvme_architecture.html- NVMe ํ ๊ตฌ์กฐ์ ํธ์คํธ ์ธํฐํ์ด์ค -
https://en.wikipedia.org/wiki/Flash_memory- NOR/NAND flash ๊ฐ์์ ๊ณ์ธต ์ค๋ช -
https://en.wikipedia.org/wiki/Charge_trap_flash- charge trap, 3D NAND, vertical ๊ตฌ์กฐ ์ค๋ช
8. ํต์ฌ ์ ๋ฆฌ
NAND Flash๋ ์ ์ ์ง๋ ฌ๋ก ์ฐ๊ฒฐํด ์ง์ ๋๋ฅผ ๋์ด๊ณ , ํ ์ ์ ๋ ๋ง์ ๋นํธ๋ฅผ ๋ด์ผ๋ฉฐ, 3D ์ ์ธต์ผ๋ก ํ๋ฉด ๋ฏธ์ธํ์ ํ๊ณ๋ฅผ ๋๋ ์ ์ฅ ๊ธฐ์ ์ ๋๋ค. ๋์ page/block์ ๋น๋์นญ ๋์๊ณผ P/E ๋ง๋ชจ, read disturb, retention loss๋ฅผ ๊ฐ์ํด์ผ ํฉ๋๋ค. ๊ทธ๋์ ์ค์ ์ ํ์ FTL, GC, Wear Leveling, ECC๋ฅผ ํจ๊ป ์จ์ NAND์ ๋ฌผ๋ฆฌ์ ํ๊ณ๋ฅผ ์์คํ ์ฐจ์์์ ํก์ํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก NAND๋ ๋ฒ์ฉ ์ ์ฅ์ฅ์น์ ํต์ฌ์ด ๋์๊ณ , 3D charge trap ๊ตฌ์กฐ๋ ๊ทธ ์ค์ฌ์ ์์ต๋๋ค.