SSD Internal Parallelism Channel Die Plane
SSD ๋ด๋ถ ๋ณ๋ ฌ์ฑ ์์ธ ๋ถ์
Channel ยท Package ยท Die(LUN) ยท Plane ยท Superpage/Stripe ยท Queue Depth
SSD์ ์ฑ๋ฅ์ ๋จ์ผ NAND ์ ์ ์๋๋ณด๋ค ์ผ๋ง๋ ๋ง์ ๋ด๋ถ ์์์ ๋์์ ์ ์ ํ๋๋์ ๋ ํฌ๊ฒ ์ข์ฐ๋ฉ๋๋ค. ๋ณธ ๋ฌธ์๋ ์ฑ๋, ํจํค์ง, ๋ค์ด, ํ๋ ์ธ์ผ๋ก ์ด์ด์ง๋ SSD ๋ด๋ถ ๋ณ๋ ฌ์ฑ ๊ณ์ธต๊ณผ, ์ด๋ฅผ ์ค์ ์ฒ๋ฆฌ๋์ผ๋ก ๋ฐ๊พธ๋ ์ค์ผ์ค๋ง ์กฐ๊ฑด์ ๋ถ์ํฉ๋๋ค.
๊ฐ์ NAND ์ธ๋์ ๊ฐ์ ์ปจํธ๋กค๋ฌ ๊ณ์ด์ ์ฐ๋๋ผ๋ ์ฉ๋๋ณ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง๋ ์ด์ ๋ ์ด ๋ณ๋ ฌ์ฑ ๊ณ์ธต์์ ์ค๋ช ๋ฉ๋๋ค. ๋ ํฐ ๋ชจ๋ธ์ ๋ ๋ง์ die์ package๋ฅผ ํ์ฌํด ๋ณ๋ ฌ๋ก ์ ์ ํ ์ ์๋ ๊ฒฝ๋ก๊ฐ ๋์ด๋๊ณ , enterprise SSD๋ ์ฌ๊ธฐ์ over-provisioning๊ณผ ๋์ Queue Depth๋ฅผ ๋ํด ๋ด๋ถ ์์์ ๋ ์์ ์ ์ผ๋ก ์ฑ์๋๋ค.
1. SSD ๋ณ๋ ฌ์ฑ์ ๊ณ์ธต ๊ตฌ์กฐ
ํ๋์ ๋ณ๋ ฌ์ฑ์ Channel -> Package -> Die(LUN) -> Plane ์์ผ๋ก ์์ ๋๋ค. ์ปจํธ๋กค๋ฌ๋ ์ฌ๋ฌ ํธ์คํธ ์์ฒญ์ ์ด ๊ณ์ธต์ ๋ถ์ฐํด ๋์์ ๋ฐํํ๊ณ , ๊ฐ ๊ฒฝ๋ก๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก busy ์ํ๊ฐ ๋๋๋ก ๋ง๋ค์ด ๋์ญํญ์ ๋์ด๋ ๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ ์ฉ๋์ SSD๋ผ๋ ์ฑ๋ ์, ํจํค์ง ๋ฐฐ์น, ๋ค์ด ์๊ฐ ๋ค๋ฅด๋ฉด ์ฒด๊ฐ ์ฑ๋ฅ์ด ํฌ๊ฒ ๋ฌ๋ผ์ง๋๋ค. ๊ณ ์ฉ๋ ๋ชจ๋ธ์ด ๊ฐ์ ์ ํ๊ตฐ ๋ด์์๋ ๋ ๋น ๋ฅธ ์ด์ ๊ฐ ์ฌ๊ธฐ์ ์์ต๋๋ค.
๊ณ์ธต๋ณ ๋น๊ต
| ๊ณ์ธต | ๋ณ๋ ฌ ๋จ์ | ์ ๋ง๋ ์์ | ์ฃผ๋ ์ ์ฝ |
|---|---|---|---|
| Channel | ๋ ๋ฆฝ NAND ํจํค์ง ๊ฒฝ๋ก | ๋์ฉ๋ ์์ฐจ ์ฝ๊ธฐ/์ฐ๊ธฐ | ๋ฎ์ Queue Depth์์ ์ฑ์ฐ๊ธฐ ์ด๋ ค์ |
| Package | ํ ์ฑ๋์ ๋ถ์ ํจํค์ง ๋ฌถ์ | stripe ์ฐ๊ธฐ | ๊ณต์ ์ฑ๋ ๋ฒ์ค ๊ฒฝ์ |
| Die / LUN | ๊ฐ์ ํจํค์ง ๋ด๋ถ์ ๋ ๋ฆฝ ๋ค์ด | die interleaving | ๋ฒ์ค์ ํ์ด๋ฐ ์ ์ฝ |
| Plane | ๋ค์ด ๋ด๋ถ์ plane | multi-plane read/program | ๊ฐ์ ์์น์ ํ์ด์ง ์ ๋ ฌ ์กฐ๊ฑด |
๊ทธ๋ฆผ 1. SSD ๋ด๋ถ ๋ณ๋ ฌ์ฑ ๊ณ์ธต โ Channel -> Package -> Die/LUN -> Plane
2. Channel ์์ค ๋ณ๋ ฌ์ฑ
์ฑ๋์ ์ปจํธ๋กค๋ฌ๊ฐ ์๋ก ๋ค๋ฅธ NAND ํจํค์ง์ ๋ช ๋ น์ ๋ถ์ฐํ๋ ๊ฐ์ฅ ํฐ ๋ณ๋ ฌ์ฑ ์ถ์ ๋๋ค. ํฐ ์์ฐจ ์ฐ๊ธฐ๋ ์ฌ๋ฌ ์ฑ๋์ stripe๋์ด ๊ฐ ์ฑ๋์ด ๋์์ program์ ์ํํ๋๋ก ๋ง๋ค ์ ์๊ณ , ๋์ญํญ์ ์ฑ๋ ์์ ๋น๋กํด ์ ์ฆ๊ฐํฉ๋๋ค.
ํ์ง๋ง 4KB ๋๋ค I/O์ฒ๋ผ ์์ฒญ์ด ์๊ฑฐ๋ Queue Depth๊ฐ ๋ฎ์ผ๋ฉด ์ฑ๋ ์ฌ๋ฌ ๊ฐ๋ฅผ ๋์์ ์ฑ์ฐ๊ธฐ ์ด๋ ต์ต๋๋ค. ์ด ๊ฒฝ์ฐ SSD ๋ด๋ถ ์์์ ์ถฉ๋ถํด๋ ์ค์ ์ฒ๋ฆฌ๋์ ์ฑ๋ ์ผ๋ถ๋ง ํ์ฉ๋ ์ํ์์ ๋ฉ์ถฅ๋๋ค.
๊ทธ๋ฆผ 2. ๋ฉํฐ ์ฑ๋ ์ปจํธ๋กค๋ฌ์ ํจํค์ง ์คํธ๋ผ์ดํ ์ฐ๊ธฐ
3. Die/LUN Interleaving๊ณผ Plane ๋ณ๋ ฌ์ฑ
๊ฐ์ ์ฑ๋ ์์์๋ ์ฌ๋ฌ Die(LUN)๋ ๋น๊ต์ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ ์ ์์ต๋๋ค. ํ ๋ค์ด๊ฐ program busy ์ํ์ธ ๋์ ๋ค๋ฅธ ๋ค์ด์ read๋ฅผ ๋ณด๋ด๋ interleaving์ด ๊ฐ๋ฅํ๋ฏ๋ก ์ฑ๋ ์์์ ๋ ์ด์ดํ๊ฒ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค.
๋ํ ํ๋์ Die ์์์๋ ์ฌ๋ฌ Plane์ ๋ํด multi-plane operation์ ์ํํ๋ฉด ๋ด๋ถ ๋ณ๋ ฌ์ฑ์ด ์ฆ๊ฐํฉ๋๋ค. ๋ค๋ง ๊ฐ์ timing window, shared bus, ECC ์์ง ๊ฐ์ ์ ์ฝ ๋๋ฌธ์ ์ด๋ก ์น๋งํผ ์์ ํ ๋ ๋ฆฝ์ ์ธ ๊ฒ์ ์๋๋๋ค.
plane-level parallelism์ target pages๊ฐ ๊ฐ์ ์์น์ ์์ด์ผ ํ๋ ์ ์ฝ ๋๋ฌธ์ ํญ์ ์ฝ๊ฒ ์ฐ์ด์ง ์์ต๋๋ค. ์ค์ ์ฐ๊ตฌ์์๋ clean page๋ฅผ ์ผ๋ถ ํฌ์ํด ์ ๋ ฌ์ ๋ง์ถ๋ selective multi-plane policy๊ฐ ์ ์๋์๊ณ , ๋ํ ์๋ฒ ์ํฌ๋ก๋์์ ํ๊ท ์ฑ๋ฅ์ ์ต๋ 28.82%๊น์ง ์ฌ๋ฆฌ๋ฉด์๋ block erasure ์๋ฅผ ํฌ๊ฒ ๋๋ฆฌ์ง ์์์ต๋๋ค. ์ปจํธ๋กค๋ฌ๋ ์ด๋ฐ ์กฐ๊ฑด์ ๋ง์ถ๊ธฐ ์ํด interleaving, copy-back, multi-plane ๊ฐ์ ๋ช ๋ น์ ์ํฌ๋ก๋์ ๋งคํ ์ํ์ ๋ฐ๋ผ ๊ณจ๋ผ ์๋๋ค.
๊ทธ๋ฆผ 3. Die interleaving, multi-plane operation, cache program์ ๊ด๊ณ
4. Superpage/Stripe์ ์์ฒญ ํฌ๊ธฐ ์ ๋ ฌ
SSD๋ ์ข ์ข ์ฌ๋ฌ ์ฑ๋/๋ค์ด์ ๊ฑธ์น stripe ๋จ์๋ฅผ ๋ด๋ถ write granularity์ฒ๋ผ ํ์ฉํฉ๋๋ค. ํธ์คํธ๊ฐ ํฐ ์์ฐจ ์ฐ๊ธฐ๋ฅผ ๋ณด๋ด๋ฉด ๊ฐ ๊ฒฝ๋ก์ ํ ํ์ด์ง์ฉ ๋๋ ์จ์ superpage์ฒ๋ผ ๋ณ๋ ฌ ๊ธฐ๋กํ ์ ์์ต๋๋ค.
๋ฐ๋๋ก ์์ ๋๋ค ์ฐ๊ธฐ๊ฐ ๋ง์ด ์์ด๋ฉด ํ stripe๋ฅผ ๋ค ์ฑ์ฐ์ง ๋ชปํ ์ฑ ๋ถ๋ถ ๊ฐฑ์ ์ด ๋ฐ๋ณต๋์ด ๋ณ๋ ฌ์ฑ์ด ๋จ์ด์ง๊ณ , ๋์ค์ GC ๋ถ๋ด๋ ์ปค์ง๋๋ค. ํ์ผ์์คํ ์ด๋ DB๊ฐ ์ด๋ ์ ๋ write coalescing์ ํด์ฃผ๋ฉด SSD ์ ์ฅ์์๋ ํจ์ฌ ์ ๋ฆฌํฉ๋๋ค.
์์ฒญ ํฌ๊ธฐ์ ํ์ฉ๋
| ํธ์คํธ ํจํด | ๋ด๋ถ ํ์ฉ๋ | ๊ฒฐ๊ณผ |
|---|---|---|
| ํฐ ์์ฐจ ์ฐ๊ธฐ | ๋์ | stripe/superpage๋ฅผ ์ฝ๊ฒ ์ฑ์ |
| 4KB ๋๋ค I/O | ๋ฎ์ | ์ฑ๋/๋ค์ด๋ฅผ ์ถฉ๋ถํ ๋ชป ์ฑ์ |
| ๋ฎ์ Queue Depth | ๋ฎ์ | outstanding command๊ฐ ๋ถ์กฑํจ |
| write coalescing ํ ๋ํ ์ฐ๊ธฐ | ๋์ | GC์ WAF ๋ถ๋ด์ด ์ค์ด๋ฆ |
๊ทธ๋ฆผ 4. Superpage/Stripe ์ ๋ ฌ ์ฌ๋ถ์ ๋ฐ๋ฅธ ๋ณ๋ ฌ์ฑ ํ์ฉ ์ฐจ์ด
5. ๋์ ์๋ฆฌ: ํธ์คํธ I/O๊ฐ ๋ณ๋ ฌ ์์์ผ๋ก ๋ถ์ฐ๋๋ ๊ณผ์
SSD ์ปจํธ๋กค๋ฌ๋ ํธ์คํธ์์ ๋ค์ด์จ LBA ๊ธฐ๋ฐ ์์ฒญ์ ๊ทธ๋๋ก NAND์ ๋ณด๋ด์ง ์์ต๋๋ค. ๋จผ์ NVMe ํ์์ ๋ช ๋ น์ ๋ฐ์ ์์ฒญ ํฌ๊ธฐ์ Queue Depth๋ฅผ ํ์ธํ๊ณ , FTL์ด ํ์ฌ ๋งคํ ์ํ์ free block ์ํ๋ฅผ ์กฐํํ ๋ค, ์ฌ๋ฌ channel๊ณผ die์ ๋ถ์ฐํ ์ ์๋ ํํ๋ก ์ฌ๋ฐฐ์นํฉ๋๋ค. ์์ฐจ ์ฐ๊ธฐ๋ผ๋ฉด ์ฌ๋ฌ channel์ ํ ํ์ด์ง์ฉ stripeํ๊ณ , ์ฝ๊ธฐ๋ผ๋ฉด ๊ฐ๋ฅํ die์ interleavingํ์ฌ ๋๊ธฐ ์๊ฐ์ ์จ๊น๋๋ค.
์ด ๊ณผ์ ์์ ๋ณ๋ ฌ์ฑ์ ํญ์ ์ ์ฝ๊ณผ ํจ๊ป ์์ง์ ๋๋ค. multi-plane ๋ช ๋ น์ ๊ฐ์ ์์น ์ ๋ ฌ ์กฐ๊ฑด์ด ํ์ํ๊ณ , die interleaving์ shared bus์ timing window๋ฅผ ํผํด ๋ฐํ๋ผ์ผ ํ๋ฉฐ, foreground GC๋ LDPC soft decode๊ฐ ๊ฒน์น๋ฉด ๊ฐ์ ์์์ ๋๊ณ ๊ฒฝ์์ด ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ค์ SSD ์ฑ๋ฅ์ ๋ณ๋ ฌ ํ๋์จ์ด ๊ฐ์๋ง์ด ์๋๋ผ, ์ค์ผ์ค๋ฌ๊ฐ ์ด๋ค ์์ ์ ์ด๋ค ๋ช ๋ น ์กฐํฉ์ ์ ํํ๋๋์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค.
6. ๋ณ๋ ฌ์ฑ์ ๊น์๋จน๋ ๋ณ๋ชฉ
GC๋ valid page migration์ผ๋ก ๋ด๋ถ ๋์ญํญ์ ์ ์ํ๊ณ , LDPC soft decode ๊ฐ์ ECC ๊ฒฝ๋ก๋ ์ฝ๊ธฐ ์ง์ฐ์ ๋๋ฆฝ๋๋ค. ๋ ๋์์ ๋๋ฌด ๋ง์ program์ ํ์ฉํ๋ฉด ์ ๋ ฅ๊ณผ ์ด ํ๊ณ์ ๊ฑธ๋ฆฌ๋ฏ๋ก ์ปจํธ๋กค๋ฌ๋ ๋ฐํ ์๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
์ฆ SSD ์ฑ๋ฅ์ '๋ธ๋๊ฐ ๋น ๋ฅธ๊ฐ'๋ณด๋ค '์ถฉ๋ ์์ด ์ถฉ๋ถํ ์์ ๋ช ๋ น์ ๋ณ๋ ฌ ์์์ ๋ฐฐ์นํ ์ ์๋๊ฐ'๊ฐ ๋ ์ค์ํฉ๋๋ค. ์ด ๋๋ฌธ์ Queue Depth, ์ํฌ๋ก๋์ ์์ฐจ์ฑ, GC ์๋ฐ์ด ๋ชจ๋ ๊ฐ์ ์ ํ์ ์ฑ๋ฅ ํธ์ฐจ๋ฅผ ๋ง๋ค์ด๋ ๋๋ค.
GC๋ valid page migration์ผ๋ก ์ฑ๋ ์ ์ ์๊ฐ์ ๋๋ฆฌ๊ณ , ECC ๊ฒฝ๋ก๋ read path์ ์ง์ฐ์ ํค์ฐ๋ฉฐ, power/thermal limit์ ๋์์ ๋ฐํํ ์ ์๋ program/read ์๋ฅผ ์ ํํฉ๋๋ค. Queue Depth๊ฐ ๋ฎ์ผ๋ฉด ์ด๋ฐ ๋ณ๋ชฉ์ ์์ํ outstanding command ์์ฒด๊ฐ ๋ชจ์๋ผ์ ๋ด๋ถ ๋ณ๋ ฌ์ฑ์ด ๋ ๋นจ๋ฆฌ ๋ฌด๋์ง๋๋ค.
๊ทธ๋ฆผ 5. ๋ณ๋ ฌ์ฑ์ ๊ฐ์์ํค๋ ๋ํ ๋ณ๋ชฉ โ GC / ECC / ์ ๋ ฅ / Queue Depth
7. ์ฅ๋จ์
์ฅ์
- ๋ณ๋ ฌ ๊ฒฝ๋ก๋ฅผ ์ถฉ๋ถํ ์ฑ์ฐ๋ฉด ๊ฐ์ NAND ์ธ๋์์๋ ์ฒ๋ฆฌ๋๊ณผ tail latency๋ฅผ ๋์์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
- ํฐ ์์ฐจ I/O, ๋์ Queue Depth, ์ ์ ํ write coalescing์ GC์ WAF๋ฅผ ํจ๊ป ์ค์ฌ ์ฑ๋ฅ๊ณผ ์๋ช ๋ชจ๋์ ์ ๋ฆฌํฉ๋๋ค.
- ์ฑ๋, die, plane์ ๋จ๊ณ์ ์ผ๋ก ํ์ฉํ๋ฏ๋ก ์ ํ ์ค๊ณ ์ ์ฉ๋ ์ฆ๊ฐ๊ฐ ์ฑ๋ฅ ํ์ฅ์ผ๋ก ์์ฐ์ค๋ฝ๊ฒ ์ด์ด์ง ์ ์์ต๋๋ค.
๋จ์ ๋ฐ ์ฃผ์์
- ์์ ๋๋ค I/O๋ ๋ฎ์ Queue Depth์์๋ ๋ด๋ถ ์์์ด ๋จ์๋ ์ค์ ์ฑ๋ฅ ํฅ์์ด ์ ํ๋ฉ๋๋ค.
- multi-plane, interleaving, cache program์ ์ ๋ ฌ ์กฐ๊ฑด๊ณผ timing ์ ์ฝ์ด ๊น๋ค๋ก์ ์ด๋ก ๋ณ๋ ฌ์ฑ์ ํญ์ ์คํจ ์ฑ๋ฅ์ผ๋ก ๋ฐ๊พธ์ง๋ ๋ชปํฉ๋๋ค.
- foreground GC, LDPC soft decode, ์ ๋ ฅ/์ด ์ ํ์ด ๊ฒน์น๋ฉด ๋ณ๋ ฌ์ฑ์ด ์คํ๋ ค tail latency์ WAF ์ ํ๋ก ๋๋์์ฌ ์ ์์ต๋๋ค.
8. ์์คํ ๊ด์ ์ ๋ฆฌ
์๋น์ SSD๋ ๋น์ฉ๊ณผ ์ ๋ ฅ ์ ์ฝ ๋๋ฌธ์ ์ฑ๋ ์์ DRAM์ด ์ ํ์ ์ด๊ณ , enterprise SSD๋ ๋ ๋ง์ ์ฑ๋๊ณผ ๋์ OP๋ก ๋ณ๋ ฌ์ฑ์ ์์ ์ ์ผ๋ก ์ ์งํฉ๋๋ค. ๋ฐ๋ผ์ ๋ฒค์น๋งํฌ๋ฅผ ๋ณผ ๋๋ ๋จ์ํ NAND ์ธ๋๋ณด๋ค ์ฑ๋ ๊ตฌ์ฑ๊ณผ ์ฉ๋๋ณ ๋ค์ด ์๋ฅผ ํจ๊ป ๋ด์ผ ํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก SSD ๋ด๋ถ ๋ณ๋ ฌ์ฑ์ '๋ง์ NAND๋ฅผ ๋ฌ์๋์๋ค'๋ ์๋ฏธ๊ฐ ์๋๋ผ, ํธ์คํธ I/O ํจํด์ ๋ฉํฐ ์ฑ๋ยท๋ฉํฐ ๋ค์ดยท๋ฉํฐ ํ๋ ์ธ์ผ๋ก ์ผ๋ง๋ ์ ์ ๋ ฌ์ํค๋๋์ ๋ฌธ์ ์ ๋๋ค.
๊ทธ๋ฆผ 6. FTL์ด LBA๋ฅผ PPA๋ก ์ฌ๋ฐฐ์นํ๊ณ GC, Wear Leveling, OP๋ฅผ ํตํด ๋ณ๋ ฌ์ฑ ๊ธฐ๋ฐ์ ์ ์งํ๋ ๋ฐฉ์
๊ทธ๋ฆผ 7. Host Queue์์ Channel, Package, Die/LUN, Plane์ผ๋ก ๋ด๋ ค๊ฐ๋ ๋ด๋ถ ๋ณ๋ ฌ์ฑ ๊ณ์ธต
๊ทธ๋ฆผ 8. ํฐ ์์ฐจ ์ฐ๊ธฐ์ ์์ ๋๋ค I/O๊ฐ ์ฑ๋ ํ์ฉ๋์ ๋ฏธ์น๋ ์ฐจ์ด
๊ทธ๋ฆผ 9. ๊ฐ์ channel ์์์ die interleaving๊ณผ multi-plane operation์ด ๊ฒน์ณ์ง๋ ๋ฐฉ์
๊ทธ๋ฆผ 10. superpage/stripe ์ ๋ ฌ์ด ๋ง์ ๋์ ์ด๊ธ๋ ๋์ ๋ด๋ถ write granularity ์ฐจ์ด
๊ทธ๋ฆผ 11. ๋ฒ์ค ๊ณต์ , ECC, ์ ๋ ฅ ์ ํ, ๋ฎ์ Queue Depth๊น์ง ํฌํจํ ๋ณ๋ ฌ์ฑ ์ ํ ์์ธ ์์ฝ
9. ๊ด๋ จ ๊ธฐ์
-
NAND NVMe SSD Analysis: SSD ์ธํฐํ์ด์ค์ NAND/์ปจํธ๋กค๋ฌ์ ๊ธฐ๋ณธ ๊ตฌ์ฑ
-
NAND Flash Internals: NAND์ ์ /ํ์ด์ง/๋ธ๋ก ๋์๊ณผ ๋ฌผ๋ฆฌ ์ ์ฝ
-
FTL WearLeveling GarbageCollection: ๋งคํ, GC, Wear Leveling, TRIM
-
ZNS OpenChannelSSD Analysis: ํธ์คํธ์ ์ฅ์น๊ฐ ๋ณ๋ ฌ์ฑ์ ๋ ์ง์ ์ ์ผ๋ก ๋๋๋ ๋ฐฉ์
-
NVMe Architecture: Queue Depth, SQ/CQ, ๋ณ๋ ฌ I/O ๋ฐํ ๊ตฌ์กฐ
-
ECC Error Correction: BCH/LDPC์ ์ฝ๊ธฐ ๋ณต์ ๊ฒฝ๋ก
์ฐธ๊ณ ๋ฌธํ
-
Feng Chen, Binbing Hou, Rubao Lee, Internal Parallelism of Flash Memory-Based Solid-State Drives, ACM Transactions on Storage, DOI: 10.1145/2818376
-
I. Shin, Improving internal parallelism of solid state drives with selective multi-plane operation, Electronics Letters, 54(2), 64-66, DOI: 10.1049/el.2017.3912
-
Solid-state drive (Wikipedia): https://en.wikipedia.org/wiki/Solid-state_drive
-
Flash memory (Wikipedia): https://en.wikipedia.org/wiki/Flash_memory
10. ํต์ฌ ์ ๋ฆฌ
SSD ๋ด๋ถ ๋ณ๋ ฌ์ฑ์ ์ฑ๋, ํจํค์ง, ๋ค์ด, ํ๋ ์ธ์ด ๊ฐ๊ฐ ์ผ๋ง๋ ์ ์ฑ์์ง๋์ง์ ๋ฌ๋ ค ์์ต๋๋ค. ํฐ ์์ฐจ I/O์ ๋์ Queue Depth๋ ์ด ๊ณ์ธต์ ์ ํ์ฉํ์ง๋ง, 4KB ๋๋ค I/O๋ ๋ฎ์ QD๋ ์์์ ๋จ๊ธฐ๊ธฐ ์ฝ์ต๋๋ค.
๋ฉํฐํ๋ ์ธ๊ณผ ๋ค์ด ์ธํฐ๋ฆฌ๋น์ ๋ณ๋ ฌ์ฑ์ ํฌ๊ฒ ๋์ด์ฌ๋ฆด ์ ์์ง๋ง, ๊ฐ์ ์์น ์ ๋ ฌ, ๊ณต์ ๋ฒ์ค, ECC, GC, ์ ๋ ฅ ํ๊ณ๊ฐ ํจ๊ป ๋ฐ๋ผ์ต๋๋ค. ๊ฒฐ๊ตญ ์ข์ SSD ์ฑ๋ฅ์ NAND ์ธ๋ ์์ฒด๋ณด๋ค ํธ์คํธ I/O ํจํด์ ๋ด๋ถ ์์์ ๋ง๊ฒ ์ ๋ ฌํ๋ ๋ฅ๋ ฅ์์ ๋์ต๋๋ค.