Dynamic Random Access Memory.
๋ฐ์ดํฐ๋ฅผ ์ ์งํ๊ธฐ ์ํด ์ฃผ๊ธฐ์ ์ผ๋ก refresh ํด์ค์ผํจ. ๊ทธ๋์ Dynamic
Double Data Rate: ํ cycle ๋น 2๋ฒ (rising edge, falling edge) ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์
DDR4-3200 ์ด๋ฉด 1600 MHz ๋ก ๋์ํ๋ memory ๋ผ๋ ๋ป
Memory controller ๋ CPU ์์ ์์. memory controller ๋ memory channel (wires on motherboard) ๋ฅผ ํตํด memory modules (Dual Inline Memory Modules, DIMMs) ๊ณผ ์ฐ๊ฒฐ๋จ
DIMM ์ PCB ๊ธฐํ์ ์๋ค์ Memory chip (DRAM chip) ๋ค์ด ์ฅ์ฐฉ๋ ํํ์
์ฌ์ง์ ๋ณด์ด๋ DIMM ๋ค์ 8๊ฐ์ DRAM chip ์ด ๋ถ์ด ์์. ์ด๋ ๊ฒ 8๊ฐ DRAM chip ์ด ๋ชจ์ฌ์ 1 rank ์ ์ด๋ฃธ. ์ฆ ์๋ค ๊ฐ๊ฐ 1rank ์ฉ 2rank ์ธ DIMM ์. 1 rank ๋ ๋ค ๊ฐ์ด ๋ชจ์ฌ์ 64 bit data ๋ฅผ ๋ค๋ฃจ๋ ํ๋์ ๊ณต๋์ฒด๋ผ๊ณ ๋ณผ ์ ์์.
๊ฐ๊ฐ์ RANK ๋ 8 ๊ฐ์ Bank ๋ก ๋๋จ. ์ด๊ฒ ์ฝ๊ฐ ํท๊ฐ๋ฆด ์ ์๋๋ฐ ๋ชจ๋ ์นฉ๋ค์ 1 / 8 ์กฐ๊ฐ์ด ๋ชจ์ฌ ํ๋์ Bank ์ ์ด๋ฃธ. ํ ์นฉ์ 1 bank ์ฆ 1 / 8 ์กฐ๊ฐ์ sub-bank ๋ผ ํจ. ์ด๋ป๊ฒ ๋ณด๋ฉด x ์ถ ๋ฐ๋ผ์ ๊ตฌ๋ถํ๋ฉด chip, y ์ถ ๋ฐ๋ผ์ ๊ตฌ๋ถํ๋ฉด bank ๋ผ๊ณ ๋ ํ ์ ์๊ฒ ์.
rank ์์ data ๋ฅผ ๊ฐ์ ธ์ค๋ ์์ ์ ๋งค์ฐ ๋๋ฆฐ ์์ ์. (about 40 ns) ์ด๋ฅผ ๊ฐ์ถ๊ธฐ ์ํด memory ์ ๊ทผ์ 3-stage pipeline ์ผ๋ก ์ด๋ค์ง.
- address / command bus ์ ํตํด ์ฃผ์์ ๋ช ๋ น์ DRAM chip ์ ๋ณด๋ธ๋ค. (1 ns)
- DRAM chip ์ด ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์จ๋ค. (35 ns)
- DRAM chip ์ ๋ถ๋ฌ์จ ๋ฐ์ดํฐ๋ฅผ data bus ๋ฅผ ํตํด ๋ฐ์์จ๋ค. (5 ns)
๋ณด๋ค์ถ์ด 1st stage ๋ 1ns ๋ฉด ๋๋ ๋ฐ๋ฉด 2nd stage ๋ 35 ns ๋ ๊ฑธ๋ฆผ. ์ด๋ฅผ ๊ณ ์ 2-rank ๋ 4-rank ๋ก fully utilize ํ ์ ์์. ๊ทธ๋์ bank ๊ฐ ๋ฑ์ฅํจ.
sub-bank ๋ ๋ค์ ์ฌ๋ฌ๊ฐ์ subarray ์ mat ์ผ๋ก ๋๋จ. ํ๋์ subarray ๋ก ๊ตฌ์ฑํ์ง ์๋ ์ด์ ๋ interconnect overhead ๋ฅผ ์ค์ด๊ธฐ ์ํจ์
๋ฐ์ดํฐ๋ฅผ ์ ๊ทผํ ๋ bank ๋ณ๋ก 64B cacheline ๋จ์๋ก ์ ๊ทผ๋จ. 64B ๋ ํ bank ๋ด์ ๋ฟ๋ ค์ ธ์์ 8 ๊ฐ์ x8 DRAM chip ์ผ๋ก 1 rank ๋ผ ํ๋ฉด ๊ฐ DRAM chip ์ 64B ์ 8B ์ ๋ด๋นํจ. 64 bit ๋ sub-bank ์ ์ฌ๋ฌ mat ์ผ๋ก ๋๋จ. 64B ๋ฅผ ์ ์กํ๊ธฐ ์ํด 64bit 8๋ฒ์ ์ ์ก์ด ํ์ํ๊ณ ๋ฐ๋ผ์ 4clock ์ด ํ์ํจ. (burst length = 8)
์ฆ 64 bit ๊ฐ 8๊ฐ DRAM chip ์ ๋๋๋ฏ๋ก ํ๋์ sub-bank ๊ฐ 8bit ๋ฅผ 8๋ฒ ์ ์กํ๋ค๊ณ ๋ณด๋ฉด ๋จ.
mat ์ด๋ 512bit row, 512bit col ์ ๊ฐ์ง ๋จ์์ (256kb). horizontal line ์ wordline, vertical line ์ bitline ์. ๊ฐ mat ์๋์๋ sense amplifier ๊ฐ ์์. row data ๋ฅผ sense amplifier ๋ก ๋ถ๋ฌ์ค๋ ๊ณผ์ ์ row activtaion ์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ command ๋ RAS, ๋๋ ์ด๋ 13 ns ์ ๋ ๊ฑธ๋ฆผ.
ํ cache line request ๋ 512 bit row ๋ฅผ 64๊ฐ mat ์ ๊ฑธ์ณ์ ๋ถ๋ฌ์ด. (4KB) ์ด๋ค ์ค valid ํ column ์ ๋ฐ์ดํฐ 8bit ๋ฅผ ์ฝ์ด์ค๋ ๋ช ๋ น์ด CAS ์. ์ํ๋ row ์ ๋ถ๋ฌ์ค๊ธฐ ์ํด bitline ์ precharge ํ๋ ์๊ฐ์ด ํ์ํจ. 13 ns ๊ฐ ๊ฑธ๋ฆผ.
๋ฐ์ดํฐ๋ฅผ sense amplifier ์์ output pin ์ผ๋ก ์ฎ๊ธฐ๋ ๊ฒ๋ 13 ns ๊ฐ ๊ฑธ๋ฆผ.
- ์ด๋ฏธ activate ๋ row ์์ ๋ค๋ฅธ column ์ ์ฝ๋ ๊ฒ: 13 ns
- precharged ์ํ์์ row ์์ data ๋ฅผ ์ฝ๋ ๊ฒ: 26 ns
- activate ๋ row ์ ๋ค๋ฅธ row ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๊ฒ: 39 ns
memctrl ์์ Read ๊ฐ write ๋ณด๋ค ์ฐ์ ๋จ. write ๋ write buffer ์ ์๋ค๊ฐ ์ฒ๋ฆฌ๋จ
memctrl ๊ฐ refresh ๋ช ๋ น์ ๋ด๋ฆผ
time to activate Row ๋ tRCD (= 13 ns)
time to precharge ๋ tRP (= 13 ns)
time to move data from row buffer to pins ๋ tCAS (= 13 ns)
minimum time between row activation and precharge ๋ tRAS. (RAS command ๋ ํท๊ฐ๋ฆฌ์ง ๋ง์. RAS ๋ row access strobe. row ๋ฅผ identify ํ๋ command)
refresh ํ๋๋ฐ ๊ฑธ๋ฆฌ๋ cycle time ์ tRFC (= 160 ns) tRFC ๋์ ๋ช ๋ น์ด ์ฒ๋ฆฌ ๋ชปํจ
DDR3 ๋ ์ฑ๋๋น 64๊ฐ data pin ๊ณผ 23๊ฐ์ address/command pin ์ ๊ฐ์ง
๋ชจ๋ address ์นฉ์ dram chip ์ ์ฐ๊ฒฐํ์ง ์๊ณ DIMM ์ buffer chip ์ ์ฌ์ฉํจ. ์ด๋ฌ๋ฉด channel ์ load ๋ฅผ ๋ํญ ์ค์ผ ์ ์์. ์ด๋ฐ buffered DIMM ์ค ํ๋๊ฐ RDIMM (Registered DIMM). address/command wire ๋ง buffer chip ์ ํตํจ
LRDIMM ์ data wire ๋ buffer chip ์ ์ฐ๊ฒฐ
DDR5 ๋ ๋๊ฐ์ 40bit channels ์ ๊ฐ์ง. 40bit ๋ผ์ access granularity ๋ 32 B
GDDR ์ DIMM ๊ฐ์ ๊ฑธ ์ฌ์ฉํ์ง ์๊ณ chip ์ ๋ฐ๋ก ๋ถ์ด์๊ธฐ ๋๋ฌธ์ freq ๊ฐ ๋ ๋์. GDDR5 ์์ 8Gbps ์์. GDDR ์ access granularity ๋ 32B
dram chip ์ 8๊ฐ (DDR3), 16๊ฐ (DDR4) ํน์ ๊ทธ ์ด์(HBM) ์ bank ๋ก ๊ตฌ์ฑ๋จ. bank ๋ subarray ๋ก ๊ตฌ์ฑ๋๋ฉฐ ๊ฐ subarray ๋ mat ๋ก ๊ตฌ์ฑ๋จ. (row of mats ๊ฐ subarray)
๋ง์ฝ subarray ๊ฐ 8๊ฐ์ mat ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ ๊ฐ subarray ๊ฐ 4 ๊ฐ์ local io wire ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด 32 bit ๊ฐ IO pin ํ ๋ฒ์ local-IO cycle ๋ง์ ๋ณด๋ด์ง๊ณ IO pin ์์ output pin ์ผ๋ก x4 chip ์ด๋ผ ํ๋ฉด 4 bit ์ฉ 8 (burst length) ๋ฒ ๋ณด๋ด์ง๋ค. local-IO cycle ์ output pin cycle ์ 1/4๋ฐฐ.
8 (mat) * 4 (local wire) = x4 * 8(burst length)