6T SRAM Analysis
6T SRAM ๊ตฌ์กฐ ๋ฐ ๋์ ์๋ฆฌ ์์ธ ๋ถ์
Six-Transistor SRAM Cell ยท Cross-Coupled Inverters ยท Read/Write ยท Stability Trade-off ยท Cache
SRAM(Static Random Access Memory)์ 6๊ฐ์ ํธ๋์ง์คํฐ๋ก ์ด๋ฃจ์ด์ง ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ ์ผ๋ก ์ ์ฅํฉ๋๋ค. DRAM๊ณผ ๋ฌ๋ฆฌ Refresh๊ฐ ํ์ ์๊ณ ๋งค์ฐ ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ CPU ์บ์์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ณธ ๋ฌธ์๋ 6T ์ ์ ๊ตฌ์กฐ, ์ฝ๊ธฐ/์ฐ๊ธฐ ๋์, ์ฝ๊ธฐ ์์ ์ฑ๊ณผ ์ฐ๊ธฐ ์ฉ์ด์ฑ์ ํธ๋ ์ด๋์คํ, ๊ทธ๋ฆฌ๊ณ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต์์์ ์์น๋ฅผ ๋ถ์ํฉ๋๋ค.
6T ์ ์ ๋จ์ผ ๋นํธ ์ ์์ฒด๋ฟ ์๋๋ผ ๋นํธ๋ผ์ธ, ํ๋ฆฌ์ฐจ์ง ํ๋ก, ์ผ์ค ์ฐํ, ์๋๋ผ์ธ ๋๋ผ์ด๋ฒ์ ํจ๊ป ๋์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ๊ตฌ์กฐ๋ง ๋ณด๋ ๊ฒ๋ณด๋ค ๋ฐฐ์ด ์ ์ฒด์์ ์ฝ๊ธฐ ์์ ์ฑ, ์ฐ๊ธฐ ์ฉ์ด์ฑ, ์ง์ฐ ์๊ฐ, ๋ฉด์ ์ด ์ด๋ป๊ฒ ๋ง๋ฌผ๋ฆฌ๋์ง ํจ๊ป ๋ณด๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
1. 6T SRAM ์ ๊ตฌ์กฐ
6T SRAM ์ ์ 2๊ฐ์ ์ธ๋ฒํฐ๋ฅผ ๊ต์ฐจ๊ฒฐํฉ(cross-coupled)ํ ๋์น(latch)์, ์ด ๋์น๋ฅผ ๋นํธ๋ผ์ธ์ ์ฐ๊ฒฐํ๋ 2๊ฐ์ ์ก์ธ์ค ํธ๋์ง์คํฐ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๊ต์ฐจ๊ฒฐํฉ ์ธ๋ฒํฐ๋ ์๋ก์ ์ถ๋ ฅ์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ Q์ /Q๊ฐ ํญ์ ๋ฐ๋๊ฐ์ ์ ์งํ๋ ์์์ (bistable) ์ํ๋ฅผ ํ์ฑํ๋ฉฐ, ์ ์์ด ๊ณต๊ธ๋๋ ํ ๋ฐ์ดํฐ๋ฅผ ๋ฅ๋์ ์ผ๋ก ์ ์งํฉ๋๋ค.
๊ทธ๋ฆผ 1. 6T SRAM ์ ๊ตฌ์กฐ โ ๊ต์ฐจ๊ฒฐํฉ ์ธ๋ฒํฐ(4T) + ์ก์ธ์ค ํธ๋์ง์คํฐ(2T)
6๊ฐ ํธ๋์ง์คํฐ์ ์ญํ
M1+M2๊ฐ ์ธ๋ฒํฐ1, M3+M4๊ฐ ์ธ๋ฒํฐ2๋ฅผ ์ด๋ฃจ๊ณ , ๋ ์ธ๋ฒํฐ์ ์ ์ถ๋ ฅ์ ๊ต์ฐจ ์ฐ๊ฒฐํ๋ฉด ์์ ์ ์ธ ๋์น๊ฐ ๋ฉ๋๋ค. M5ยทM6๋ Word Line(WL)์ด ํ์ฑํ๋ ๋๋ง ์ ๋ด๋ถ ๋ ธ๋(Q, /Q)๋ฅผ Bit Line(BL, /BL)์ ์ฐ๊ฒฐํฉ๋๋ค.
ํต์ฌ ํน์ฑ
-
์ ์ (Static) โ ์ ์์ด ๊ณต๊ธ๋๋ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ฉฐ Refresh๊ฐ ๋ถํ์ํฉ๋๋ค.
-
๋นํ๊ดด์ ์ฝ๊ธฐ โ ์ฝ์ด๋ ์ ์ํ๊ฐ ๋ณํ์ง ์์ restore๊ฐ ํ์ ์์ต๋๋ค(DRAM๊ณผ ๊ฒฐ์ ์ ์ฐจ์ด).
-
๊ณ ์ โ ๋์น๊ฐ ๋ฅ๋์ ์ผ๋ก ๊ฐ์ ์ ์งํ๋ฏ๋ก ์ ๊ทผ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฆ ๋๋ค(์ ns ์ดํ).
-
์ ๋ฐ๋ยท๊ณ ๋น์ฉ โ 6๊ฐ ํธ๋์ง์คํฐ๊ฐ ํ์ํด ์ ๋ฉด์ ์ด ํฌ๊ณ ๋นํธ๋น ๋น์ฉ์ด ๋์ต๋๋ค.
2. ์ฝ๊ธฐ / ์ฐ๊ธฐ ๋์
์ฝ๊ธฐ๋ ๋นํธ๋ผ์ธ์ ํ๋ฆฌ์ฐจ์งํ ๋ค ์ ์ ๋ฏธ์ธํ ๋ฐฉ์ ์ ์ผ์ค ์ฐํ๋ก ๊ฐ์งํ๋ฉฐ, ์ฐ๊ธฐ๋ ๋นํธ๋ผ์ธ์ ๊ฐํ๊ฒ ๊ตฌ๋ํด ์ ๋์น๋ฅผ ๊ฐ์ ๋ก ๋ค์ง์ต๋๋ค.
๊ทธ๋ฆผ 2. 6T SRAM ์ฝ๊ธฐ/์ฐ๊ธฐ ๋์๊ณผ ์ฝ๊ธฐ ์์ ์ฑ-์ฐ๊ธฐ ์ฉ์ด์ฑ ํธ๋ ์ด๋์คํ
์ฝ๊ธฐ (READ)
-
โ BL๊ณผ /BL์ ๋ชจ๋ VDD๋ก ํ๋ฆฌ์ฐจ์งํ๋ค.
-
โก WL์ ํ์ฑํํด ์ก์ธ์ค ํธ๋์ง์คํฐ๋ฅผ ์ผ ๋ค.
-
โข ์ ๋ด๋ถ๊ฐ์ ๋ฐ๋ผ ํ์ชฝ ๋นํธ๋ผ์ธ์ด ๋ฏธ์ธํ๊ฒ ํ๊ฐํ๋ค(Q=0์ด๋ฉด BL์ด, /Q=0์ด๋ฉด /BL์ด ํ๊ฐ).
-
โฃ ์ผ์ค ์ฐํ๊ฐ BL๊ณผ /BL์ ์ ์์ฐจ๋ฅผ ์ฆํญํด ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ค. ์ ์ํ๋ ๋ณํ์ง ์๋๋ค(๋นํ๊ดด์ ).
์ฐ๊ธฐ (WRITE)
-
โ ์ธ ๊ฐ์ BL์, ๊ทธ ๋ฐ๋๊ฐ์ /BL์ ๊ฐํ๊ฒ ๊ตฌ๋ํ๋ค(์: โ0โ ์ฐ๊ธฐ โ BL=0, /BL=1).
-
โก WL์ ํ์ฑํํด ์ก์ธ์ค ํธ๋์ง์คํฐ๋ฅผ ์ผ ๋ค.
-
โข ๊ฐํ ๋นํธ๋ผ์ธ ๋๋ผ์ด๋ฒ๊ฐ ์ ๋ด๋ถ ๋์น๋ฅผ ๊ฐ์ ๋ก ๋ค์ง๋๋ค.
-
โฃ WL์ ๋นํ์ฑํํ๋ฉด ์ ๊ฐ์ด ๋์น์ ์์ ์ ์ผ๋ก ์ ์ง๋๋ค.
3. ์ฝ๊ธฐ ์์ ์ฑ vs ์ฐ๊ธฐ ์ฉ์ด์ฑ ํธ๋ ์ด๋์คํ
6T ์ ์ค๊ณ์ ํต์ฌ ๋์ ๋ ์ฝ๊ธฐ ์์ ์ฑ๊ณผ ์ฐ๊ธฐ ์ฉ์ด์ฑ์ด ์๋ก ์์ถฉํ๋ค๋ ์ ์ ๋๋ค. ๋ ์๊ตฌ๋ ์ก์ธ์ค ํธ๋์ง์คํฐ์ ์ ๋ด๋ถ ํธ๋์ง์คํฐ์ ์๋์ ๊ตฌ๋๋ ฅ์ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ์๊ตฌํฉ๋๋ค.
๊ท ํ ์งํ โ ์ฝ๊ธฐ ์์ ์ฑ์ SNM(Static Noise Margin), ์ฐ๊ธฐ ์ฉ์ด์ฑ์ Write Margin์ผ๋ก ์ ๋ํํฉ๋๋ค. ํธ๋์ง์คํฐ ํฌ๊ธฐ ๋น์จ(์ ๋น์จ ฮฒ, ํ์ ๋น์จ)์ ์ธ์ฌํ ์กฐ์ ํด ๋ ๋ง์ง์ ๋์์ ํ๋ณดํ๋ ๊ฒ์ด SRAM ์ ์ค๊ณ์ ํต์ฌ์ด๋ฉฐ, ๋ฏธ์ธ ๊ณต์ ์ผ๋ก ๊ฐ์๋ก ๋ณ๋์ฑ(variation) ๋๋ฌธ์ ๋ ์ด๋ ค์์ง๋๋ค. ๊ทธ๋์ 8Tยท10T ๋ฑ ํธ๋์ง์คํฐ๋ฅผ ์ถ๊ฐํด ์ฝ๊ธฐ/์ฐ๊ธฐ ๊ฒฝ๋ก๋ฅผ ๋ถ๋ฆฌํ๋ ๋ณํ ์ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
| ์งํ | ์๋ฏธ | ์ค๊ณ ํฌ์ธํธ |
|---|---|---|
| SNM | ์ฝ๊ธฐ ์ค ์ ์ํ๋ฅผ ์งํค๋ ์ฌ์ | ์ก์ธ์ค ํธ๋์ง์คํฐ๋ฅผ ๋๋ฌด ๊ฐํ๊ฒ ๋ง๋ค์ง ์๊ณ , ์ ๋์น์ ๋ณต์๋ ฅ์ ํ๋ณด |
| Write Margin | ์ํ๋ ๊ฐ์ ๊ฐ์ ๋ก ๋ค์ง๋ ์ฌ์ | ์ก์ธ์ค ๊ฒฝ๋ก์ ํ์ ๊ฐ๋์ ๊ท ํ ์กฐ์ |
4. ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต์์์ SRAM
SRAM์ ๋น ๋ฅธ ์๋์ Refresh ๋ถํ์๋ผ๋ ์ฅ์ ๋๋ถ์ CPU์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ์ง์คํฐ์ L1~L3 ์บ์์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ๋ฉด ๋ฉด์ ๊ณผ ๋น์ฉ์ด ์ปค์ ๋์ฉ๋์ด ํ์ํ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์๋ DRAM์ด ์ฐ์ ๋๋ค.
๊ทธ๋ฆผ 3. ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต์์ SRAM(์บ์)๊ณผ DRAM(๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ)์ ์์น
6T SRAM vs 1T1C DRAM ๋น๊ต
6T SRAM์ ์ ๊ทผ ์ง์ฐ๊ณผ ๋นํ๊ดด์ ์ฝ๊ธฐ์ ๊ฐํ๊ณ , 1T1C DRAM์ ์ ๋ฉด์ ๊ณผ ๋น์ฉ์ ๊ฐ์ ์ด ์์ต๋๋ค.
์ ์บ์์๋ SRAM์ ์ฐ๋๊ฐ?
-
CPU ์๋์ ๋ง์ถฐ์ผ ํ๋ ์บ์๋ ๋ฌด์๋ณด๋ค ์๋๊ฐ ์ค์ํ๋ฉฐ, SRAM์ ๋น ๋ฅธ ์ ๊ทผ์ด ํ์์ ๋๋ค.
-
Refresh๊ฐ ์์ด ํญ์ ์ฆ์ ์ ๊ทผ ๊ฐ๋ฅํ๊ณ ๋ ์ดํด์ ์์ธก์ด ์ฉ์ดํฉ๋๋ค.
-
๋ฉด์ ยท๋น์ฉ์ด ํฌ์ง๋ง ์บ์๋ ์ฉ๋์ด ์์(KB~์์ญ MB) ๊ฐ๋นํ ์ ์์ต๋๋ค. ๋ฐ๋ฉด GB๊ธ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ DRAM์ด ๋น์ฉ ๋ฉด์์ ์ ๋ฆฌํฉ๋๋ค.
| ํธ๋์ง์คํฐ | ๋ช ์นญ | ์ ํ | ์ญํ |
|---|---|---|---|
| M1, M3 | Pull-Up (PU) | PMOS | ๋ ธ๋๋ฅผ VDD(โ1โ)๋ก ๋์ด์ฌ๋ฆผ |
| M2, M4 | Pull-Down (PD) | NMOS | ๋ ธ๋๋ฅผ GND(โ0โ)๋ก ๋์ด๋ด๋ฆผ |
| M5, M6 | Access (AX) | NMOS | WL ์ ์ด๋ก ์ ๊ณผ BL์ ์ฐ๊ฒฐํ๋ ์ค์์น |
| ์๊ตฌ์ฌํญ | ์ค๋ช | ์ค๊ณ ๋ฐฉํฅ |
|---|---|---|
| ์ฝ๊ธฐ ์์ ์ฑ (Read Stability) | ์ฝ๊ธฐ ์ค ๋นํธ๋ผ์ธ ์ ํ๊ฐ ์ ๋ก ์ญ๋ฅํด ๊ฐ์ด ๋ค์งํ๋ Read Disturb๋ฅผ ๋ฐฉ์งํด์ผ ํจ | ์ก์ธ์ค TR์ ์ฝํ๊ฒ, ์ ์ ๊ฐํ๊ฒ |
| ์ฐ๊ธฐ ์ฉ์ด์ฑ (Writability) | ๋นํธ๋ผ์ธ ๋๋ผ์ด๋ฒ๊ฐ ์ ๋์น๋ฅผ ์ฝ๊ฒ ๋ค์ง์ ์ ์์ด์ผ ํจ | ์ก์ธ์ค TR์ ๊ฐํ๊ฒ, ์ ์ ์ฝํ๊ฒ |
| ํญ๋ชฉ | 6T SRAM | 1T1C DRAM |
|---|---|---|
| ์ ๊ตฌ์ฑ | ํธ๋์ง์คํฐ 6๊ฐ | ํธ๋์ง์คํฐ 1 + ์ปคํจ์ํฐ 1 |
| ์ ์ฅ ๋ฐฉ์ | ๊ต์ฐจ๊ฒฐํฉ ์ธ๋ฒํฐ ๋์น (๋ฅ๋) | ์ปคํจ์ํฐ ์ ํ (์๋) |
| Refresh | ๋ถํ์ (์ ์ ) | ํ์ (์ ํ ๋์ค) |
| ์ฝ๊ธฐ | ๋นํ๊ดด์ | ํ๊ดด์ (restore ํ์) |
| ์๋ | ๋งค์ฐ ๋น ๋ฆ (์ ns ์ดํ) | ๋๋ฆผ (์์ญ ns) |
| ์ ๋ฉด์ /๋น์ฉ | ํผ / ๋์ | ์์ / ๋ฎ์ |
| ๋ฐ๋ | ๋ฎ์ | ๋์ |
| ์ฃผ ์ฉ๋ | CPU ์บ์ (L1~L3), ๋ ์ง์คํฐ | ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ |
5. ์ฅ๋จ์
์ฅ์
-
Refresh๊ฐ ํ์ ์์ด ์ ์ด๊ฐ ๋จ์ํ๊ณ , ์ ์์ด ์ ์ง๋๋ ํ ๋ฐ๋ก ์ ๊ทผํ ์ ์์ต๋๋ค.
-
๋นํ๊ดด์ ์ฝ๊ธฐ๊ฐ ๊ฐ๋ฅํด ์ฝ์ ๋ค ๋ณต๊ตฌ ๋์์ด ํ์ ์์ต๋๋ค.
-
์บ์์ฒ๋ผ ์์ ์ฉ๋์์๋ ๋งค์ฐ ๋ฎ์ ์ง์ฐ๊ณผ ๋์ ์์ธก์ฑ์ ์ ๊ณตํฉ๋๋ค.
๋จ์
-
์ ๋น ํธ๋์ง์คํฐ ์๊ฐ ๋ง์ ๋ฉด์ ๊ณผ ๋น์ฉ์ด ํฝ๋๋ค.
-
๊ณต์ ๋ณ๋์ฑ๊ณผ ๋์ค ์ ๋ฅ๊ฐ ์ปค์ง์๋ก SNM๊ณผ ์ฐ๊ธฐ ์ฌ์ ๋ฅผ ๋์์ ํ๋ณดํ๊ธฐ ์ด๋ ต์ต๋๋ค.
-
๋์ฉ๋ํ์ ๋ถ๋ฆฌํด ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์ญํ ์๋ ์ ํฉํ์ง ์์ต๋๋ค.
6. ๊ด๋ จ ๊ธฐ์
-
../circuit/circuit_0005_mosfet_operation_principles.html- PMOS/NMOS ๋์๊ณผ ์ธ๋ฒํฐ ๊ตฌ์ฑ -
../circuit/circuit_pmos_nmos_cmos_analysis.html- CMOS ์ธ๋ฒํฐ์ ํผ๋๋ฐฑ ๊ตฌ์กฐ -
../circuit/circuit_0015_memory_hierarchy.html- ์บ์ ๊ณ์ธต๊ณผ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต ์์น -
../dram/dram_0005_1t1c_dram_analysis.html- DRAM ์ ๊ณผ 6T SRAM์ ์ฐจ์ด -
Static random-access memory - 6T ์ ๊ตฌ์กฐ, ์ฝ๊ธฐ/์ฐ๊ธฐ, ๋ณํ ์ ๊ฐ์
-
Memory refresh - DRAM๊ณผ์ ๋๋น ๊ฐ๋
-
CPU cache - SRAM์ ๋ํ์ ์ฌ์ฉ์ฒ
7. ํต์ฌ ์ ๋ฆฌ
-
6T SRAM์ ๊ต์ฐจ๊ฒฐํฉ ์ธ๋ฒํฐ 2๊ฐ์ ์ก์ธ์ค ํธ๋์ง์คํฐ 2๊ฐ๋ก ๊ตฌ์ฑ๋ ์์์ ์ ์ ๋๋ค.
-
์ฝ๊ธฐ๋ ํ๋ฆฌ์ฐจ์ง๋ ๋นํธ๋ผ์ธ๊ณผ ์ฐจ๋ ์ผ์ค ์ฐํ๋ก ์ฒ๋ฆฌ๋๋ฉฐ, ์ ์ํ๋ฅผ ๋ฐ๊พธ์ง ์๋ ๊ฒ์ด ํต์ฌ์ ๋๋ค.
-
์ฝ๊ธฐ ์์ ์ฑ๊ณผ ์ฐ๊ธฐ ์ฉ์ด์ฑ์ ์๋ก ์ถฉ๋ํ๋ฏ๋ก ํธ๋์ง์คํฐ ๋น์จ๊ณผ ๋ฐฐ์ด ์ฃผ๋ณ ํ๋ก๋ฅผ ํจ๊ป ๋ง์ถฐ์ผ ํฉ๋๋ค.
-
๋ฉด์ ๊ณผ ๋น์ฉ์ ํฌ์ง๋ง, ๋น ๋ฅธ ์ ๊ทผ๊ณผ ์์ธก ๊ฐ๋ฅํ ์ง์ฐ์ด ํ์ํ ๋ SRAM์ด ๊ฐ์ฅ ์ ํฉํฉ๋๋ค.