08/17 DRAM Các chương

DRAM: giữ một bit trong một chiếc cốc điện

Có thể lưu một bit chỉ với một transistor và một tụ điện rất nhỏ không?

Ở bài trước, một cell SRAM cần sáu transistor để giữ một bit.

SRAM rất nhanh, nhưng sáu transistor cho mỗi bit chiếm khá nhiều diện tích.

Muốn làm bộ nhớ hàng tỷ bit, ta cần một cell nhỏ hơn nhiều.

Có một cách rất khác:

Không dùng cả một mạch để giữ 0 hoặc 1. Chỉ giữ một chút điện tích.

Đó là ý tưởng của DRAM.

Một chiếc cốc nhỏ để giữ điện

Hãy tưởng tượng một chiếc cốc cực nhỏ.

cốc đầy   → 1

cốc rỗng  → 0

Trong DRAM, “chiếc cốc” này là một tụ điện.

Tụ điện có thể giữ một lượng điện tích trong một khoảng thời gian.

Để dễ hình dung, ta coi:

có nhiều điện tích → 1

có ít điện tích    → 0

Không có con số 1 hay 0 nằm trong tụ.

Bên trong chỉ có điện tích.

Mạch điện bên ngoài nhìn lượng điện tích đó rồi quyết định gọi nó là 1 hay 0.

Nhưng nếu chiếc cốc nối thẳng với dây bên ngoài, điện tích có thể chạy vào hoặc chạy ra bất cứ lúc nào.

Ta cần một cánh cửa.

Một transistor làm cánh cửa

DRAM đặt một transistor giữa tụ điện và dây bên ngoài.

Có thể hình dung như thế này:

đường dữ liệu ──[ cửa ]── tụ điện

Transistor chính là cửa.

Còn một dây khác quyết định cửa mở hay đóng:

      dây mở cửa


đường dữ liệu ──[ cửa ]── tụ điện

Tên kỹ thuật của hai dây này là:

  • wordline: dây mở cửa
  • bitline: đường dữ liệu

Nhưng lúc này chỉ cần nhớ:

Wordline mở cửa. Bitline mang điện vào hoặc ra.

Một cell DRAM như vậy chỉ cần:

1 transistor
+
1 tụ điện

nên thường được gọi là 1T1C.

Ghi và đọc một cell

Ghi rất đơn giản:

Ghi 1 = nạp điện vào tụ. Ghi 0 = lấy điện ra khỏi tụ.

Mở cửa, rót vào hoặc đổ ra, rồi đóng cửa lại. Điện tích bị nhốt bên trong, và đó là cách DRAM nhớ.

Đọc khó hơn. Ta không nhìn thẳng vào tụ được, nên phải mở cửa cho một phần điện tích tràn sang bitline. Cốc quá nhỏ, nên mức điện trên bitline chỉ nhích lên một chút. Một mạch tên là sense amplifier làm việc như chiếc kính lúp: nó biến thay đổi rất nhỏ đó thành một 0 hoặc 1 rõ ràng.

Thử ghi rồi đọc:

Một cái cốc và một cánh cửa
dây mở cửa (wordline) đường dữ liệu (bitline) đóng tụ điện sense amplifier
Đang lưu 0

Đọc làm cốc vơi đi, nên DRAM phải nạp lại ngay giá trị vừa đọc.

Một transistor và một tụ thay cho sáu transistor

Đây là lý do DRAM tồn tại.

SRAM DRAM
Một bit 6 transistor 1 transistor + 1 tụ
Giữ bit bằng mạch tự giữ điện tích
Cell lớn hơn nhỏ hơn
Đọc đơn giản hơn cần sense amplifier
Tốc độ nhanh hơn chậm hơn
Giá mỗi bit cao hơn thấp hơn

Cell DRAM nhỏ hơn rất nhiều, nên trên cùng một diện tích silicon ta đặt được nhiều bit hơn.

Đó là điều cực kỳ quan trọng với bộ nhớ chính, nơi máy tính cần hàng tỷ bit:

CPU cache → SRAM

RAM chính → DRAM

Nhưng DRAM có một điểm yếu lớn.

Chiếc cốc có một lỗ rò rất nhỏ

Chiếc tụ giữ điện khá tốt, nhưng không hoàn hảo.

Ngay cả khi cửa đã đóng, điện tích vẫn rò dần.

Cuối cùng lượng điện còn lại quá ít để mạch chắc chắn rằng đây từng là 1. Bit bị mất, dù máy vẫn đang bật và không ai ghi gì vào.

Bấm Ghi 1 rồi chờ, sau đó bật Refresh:

Chiếc cốc bị rò
ngưỡng bit hỏng refresh nạp lại 0%
Đang lưu 0

Refresh là đọc rồi nạp lại cell trước khi điện tích tụt quá thấp.

Đó là lý do nó có tên:

Dynamic Random-Access Memory — DRAM

Dynamic vì dữ liệu không thể cứ nằm yên mãi. Nó phải được chăm sóc liên tục.

SRAM tự giữ bit bằng một mạch. DRAM giữ bit bằng điện tích, nhưng điện tích lại rò dần.

Một máy tính có thể chạy hàng giờ hoặc hàng ngày, trong khi mỗi cell DRAM lại liên tục mất điện tích.

Vậy làm sao RAM giữ được hàng tỷ bit suốt thời gian máy đang chạy?