記憶體技術:DRAM、DDR 與新興記憶體

動態隨機存取記憶體(DRAM)

/ DEE-ram /

想像把每個位元存成一小桶水:滿桶代表 1,空桶代表 0。水桶很便宜,你可以在很小的空間裡塞進幾百萬個——但它們有個慢慢的漏,所以滿桶會緩緩流光,除非每隔幾毫秒就有人巡視每一排、把滿的桶補滿,否則你的 1 會悄悄褪成 0。DRAM 就是用這種會漏的水桶做成的記憶體,這正是它密集又便宜、卻必須不斷被更新的原因。

具體來說,一個 DRAM 單元簡單得驚人:每個位元只用一顆電晶體加一個電容(1T1C 單元)。電容保有一點點電荷來代表這個位元,而電晶體是個閘門,當你要讀或寫時把電容接到一條線上。這比 SRAM 的六顆電晶體小得多,所以可以便宜地在一顆晶片上塞進數十億個位元。兩個麻煩:電荷會漏掉(所以整個陣列必須週期性地被更新),而且讀取是破壞性的——感測那一點點電荷會把電容放掉,所以每次讀完都必須把值寫回去。

為何重要:DRAM 幾乎就是我們講「RAM」或「主記憶體」時的意思——電腦用來跑程式與其資料的那一大池數 GB 容量。它之所以存在,是因為 SRAM 雖然較快,卻太貴太笨重而無法提供數 GB。誠實的取捨正位於電腦設計的核心:DRAM 密集又便宜但慢,而它相對於 CPU 的慢,就是主宰大量真實工作負載效能的「記憶體牆」。

一條 16 GiB 的 DRAM 約存了 1.3 x 10^11 個位元,每一個都是一顆微小的電容。每隔幾毫秒,晶片就安靜地把每一列讀出再寫回,讓這些電容不致遺忘——這些工作在程式毫不知情之下默默進行。

每位元一顆電晶體加一個電容讓 DRAM 變得密集——代價是會漏電、需要更新,且讀取具破壞性。

DRAM 是揮發性的:一斷電,電荷幾個瞬間就消失。它「動態」這個名字來自需要不斷更新,而不是來自任何沒電也能保住資料的能力——要那樣你得用非揮發性記憶體。

又称
dynamic RAMdynamic random-access memory動態 RAMmain memory主記憶體