SRAM 6T: ô nhớ gọn trên chip

Bộ nhớ là lưới ô, và ta chọn đúng một ô bằng đường chọn hàng và đường bit

Mỗi ô nhớ giữ một bit; dây ngang của hàng nối các ô của hàng với đường bit khi ở mức một; một hàng được chọn cộng một cột cho đúng một ô.

Memory cell (ô nhớ) giữ một bit. Word line (đường chọn hàng) chạy ngang qua một hàng ô, bit line (đường bit) chạy dọc qua một cột.

Xem lời đọc

Bộ nhớ nhanh nằm ngay trên chip gồm rất nhiều ô nhớ. Mỗi ô nhớ giữ một bit, ta gọi tắt là ô. Ví dụ ta xếp bốn ô thành lưới hai hàng, hai cột. Mỗi hàng có một dây chạy ngang qua các ô, gọi là đường chọn hàng. Mỗi cột có hai dây chạy dọc qua các ô, mỗi dây gọi là một đường bit. Đường chọn hàng ở mức một thì các ô của hàng ấy được nối với đường bit. Hàng khác ở mức không thì các ô của nó không nối. Vậy chọn một hàng rồi dùng đường bit của một cột, ta tới đúng một ô.

Bộ nhớ nhanh nằm ngay trên chip thường gọi cache (bộ nhớ đệm); SRAM còn dùng cho thanh ghi và các bộ đệm nhỏ trong chip, không chỉ làm cache. Mỗi cột có hai đường bit vì ô nối với cả hai; lưới thật có hàng nghìn hàng và cột. Chip thật thường đọc cả hàng cùng lúc rồi chọn cột cần dùng.

Ô SRAM gồm vòng nhớ cộng hai transistor truy cập nối hai dây của vòng với hai đường bit

Cần ô giữ bit gọn hơn phờ líp phờ lóp: vòng nhớ (bốn transistor) cộng hai công tắc do đường chọn hàng điều khiển; bật hàng thì dây nối đường bit, tắt hàng thì vòng giữ bit; tổng sáu transistor.

Access transistor (transistor truy cập) là công tắc nối dây của vòng nhớ với đường bit, do đường chọn hàng điều khiển. Ô có sáu transistor, và bộ nhớ làm từ các ô này gọi là SRAM (ét ram).

Xem lời đọc

Ta cần ô giữ bit gọn hơn phờ líp phờ lóp. Ô ấy dùng vòng nhớ, gồm hai cổng đảo nối vòng, tức bốn transistor. Để bit đi vào hay ra, mỗi dây của vòng cần một công tắc nối tới đường bit. Công tắc này là một transistor, gọi là transistor truy cập. Cổng của transistor truy cập này nối với đường chọn hàng. Khi ta bật đường chọn hàng, tức mức một, công tắc đóng và dây nối với đường bit. Tắt đường chọn hàng, tức mức không, thì công tắc mở, vòng nhớ giữ bit. Ô có đủ sáu transistor, và bộ nhớ làm từ các ô này gọi là SRAM.

SRAM: 'ngẫu nhiên' là đọc hoặc ghi ô nào cũng mất thời gian xấp xỉ như nhau. Khi vòng đứng yên, dây thứ hai ở mức ngược dây thứ nhất. Transistor truy cập thường là nMOS; nMOS truyền mức một bị hụt (V_DD − V_th) nhưng cổng đảo của vòng kéo dây lên đủ mức một. Cổng của hai transistor truy cập nối chung một đường chọn hàng. Ô 6T là mạch hai trạng thái như mạch lát, thêm hai công tắc vào, nên cùng nguyên lý giữ bit.

Ô SRAM bỏ phần xung nhịp của flip-flop, nên cùng số transistor giữ được nhiều bit hơn khi chỉ tính các ô

Flip-flop cỡ hai chục transistor, có phần xung nhịp; ô SRAM chỉ có vòng nhớ và hai transistor truy cập; một triệu bit cần sáu triệu transistor so với cỡ hai chục triệu; bộ nhớ làm từ ô ấy là SRAM, giữ bit khi còn cấp điện.

Flip-flop (phờ líp phờ lóp) giữ một bit bằng cỡ hai chục transistor, tùy kiểu. Các ô SRAM xếp thành mảng là bộ nhớ trên chip.

Xem lời đọc

Phờ líp phờ lóp giữ một bit bằng cỡ hai chục transistor, tùy kiểu. Trong đó có phần dành cho xung nhịp. Ô SRAM không cần phần dành cho xung nhịp. Nó chỉ có vòng nhớ và hai transistor truy cập, tức sáu transistor. Ví dụ một triệu bit cần sáu triệu transistor trong các ô SRAM. Với phờ líp phờ lóp, một triệu bit cần cỡ hai chục triệu transistor. Chỉ tính các ô thì ô SRAM gọn hơn, nên cùng số transistor giữ được nhiều bit hơn. Các ô SRAM xếp thành mảng là bộ nhớ trên chip. SRAM giữ bit chừng nào còn cấp điện, không cần làm mới.

SRAM là static random-access memory: 'tĩnh' là giữ bit nhờ vòng nhớ chừng nào còn điện cấp, không cần làm mới (khác DRAM). Cỡ hai chục là cách nói gọn của khoảng 10 đến 30: flip-flop cổng truyền tĩnh có 16 đến 18 transistor, kiểu động cỡ 9 đến 12, kiểu thư viện có đặt lại hoặc mạch quét nhiều hơn. Một triệu × 6 = 6 triệu chỉ tính các ô; lưới thật còn bộ giải mã, mạch nạp sẵn, mạch cảm biến. Một triệu × (khoảng 10 đến 30) = 10 đến 30 triệu, nên nói cỡ hai chục triệu. Số transistor chỉ để so sánh; diện tích thật còn tùy cách bố trí.

Ghi bit bằng cách đặt hai đường bit ở hai mức ngược nhau và bật hàng, để đường bit ép thắng vòng nhớ

Đặt đường bit thứ nhất mức một, thứ hai mức không; bật hàng; đường bit thứ hai ép dây thứ hai xuống, cổng đảo kéo dây thứ nhất lên, vòng lật; tắt hàng thì vòng giữ bit mới.

Write (ghi) là đặt một bit mới vào ô. Đường bit ép thắng vòng nhớ, nên vòng lật sang bit mới.

Xem lời đọc

Ghi là đặt một bit mới vào ô. Dây thứ nhất có thể nối với đường bit thứ nhất, dây thứ hai với đường bit thứ hai. Giả sử bit của ô là mức không, tức dây thứ nhất ở mức không. Dây thứ hai ở mức một. Để ghi mức một, ta đặt đường bit thứ nhất ở mức một, đường bit thứ hai ở mức không. Rồi ta bật đường chọn hàng, hai transistor truy cập đóng. Đường bit ép thắng vòng nhớ, dây thứ hai bị kéo xuống mức không. Dây thứ hai xuống thì cổng đảo kéo dây thứ nhất lên mức một. Tắt đường chọn hàng, vòng nhớ giữ bit mới.

Ghi thật cần transistor truy cập cho dòng đủ lớn so với dây kéo lên của vòng; kích thước ô được thiết kế cho việc ấy. Ghi cùng mức với bit đang giữ thì vòng không đổi. Hai đường bit ở hai mức ngược nhau lúc ghi; đường bit ở mức không là đường kéo vòng lật.

Đọc bit bằng cách nạp sẵn hai đường bit, để ô kéo một đường xuống và mạch cảm biến nhận chênh lệch nhỏ

Đọc nhằm không đổi bit; nạp sẵn hai đường bit lên mức một rồi ngừng; bật hàng; dây ở mức không xả một đường bit xuống chậm; hai đường lệch nhỏ; mạch cảm biến cho ra bit.

Precharge (nạp sẵn) là đưa hai đường bit lên mức một trước khi đọc. Sense amplifier (mạch cảm biến) nhận chênh lệch nhỏ giữa hai đường bit và cho ra bit đã đọc.

Xem lời đọc

Đọc nhằm lấy bit ra ngoài mà không đổi bit ấy. Trước hết ta nạp sẵn, tức đưa cả hai đường bit lên mức một. Đường bit có điện dung, nên giữ mức một sau khi ngừng nạp. Rồi ta bật đường chọn hàng, hai transistor truy cập đóng. Giả sử dây thứ nhất ở mức không, dây thứ hai ở mức một. Dây thứ nhất xả đường bit thứ nhất xuống chậm, đường bit thứ hai vẫn gần mức một. Ví dụ hai đường bit lệch nhau cỡ một phần mười vôn. Mạch cảm biến nhận chênh lệch nhỏ, thấy đường bit thứ nhất nhỏ hơn, nên cho ra bit mức không.

Đọc: mô tả mức khái niệm, không dạy thiết kế mạch cảm biến. Nạp sẵn thường đưa cả hai đường bit lên điện áp cấp và cân bằng hai đường; có thiết kế nạp tới mức khác. Đường bit dài nên điện dung lớn, nó xuống chậm, vì thế mạch cảm biến nhận chênh lệch nhỏ mà không đợi đường bit xuống hẳn mức không. 0,10 V là số ví dụ chọn cho dễ nhìn; chênh lệch thật tùy công nghệ. Đọc có thể làm lật bit nếu thiết kế kém (cảnh sau).

Bộ giải mã dựng từ cổng NAND cộng cổng đảo biến địa chỉ thành đúng một đường chọn hàng ở mức một

Nhiều hàng mà mỗi lần chọn một; hai bit địa chỉ cho bốn hàng; mỗi hàng có cổng NAND cộng cổng đảo, hai cổng đảo dùng chung đảo sẵn địa chỉ, hàng khớp địa chỉ lên mức một.

Address (địa chỉ) là các bit cho biết hàng nào được chọn. Decoder (bộ giải mã) biến địa chỉ thành đúng một đường chọn hàng ở mức một.

Xem lời đọc

Bộ nhớ lớn có nhiều hàng, mỗi lần ta chọn một hàng. Ví dụ bốn hàng cần hai bit chỉ hàng nào, gọi là địa chỉ. Mỗi hàng có cổng NAND nhận địa chỉ, và cổng đảo nối sau. Hai bit địa chỉ cũng có hai dây đảo, mỗi dây qua một cổng đảo dùng chung. Hàng đầu cần hai bit mức không, nên cổng NAND của nó nhận hai bit đã đảo. Các cổng này gọi là bộ giải mã. Địa chỉ khớp hàng thì cổng NAND ra mức không, cổng đảo đưa đường chọn hàng lên mức một. Ví dụ hai bit cùng mức một thì hàng cuối lên mức một, ba hàng kia mức không.

Cổng NAND rồi cổng đảo cho phép và (cổng AND) của các bit địa chỉ. Hàng cuối nhận hai bit đều mức một; hàng đầu nhận hai bit đã đảo. Hai bit có bốn tổ hợp nên chọn bốn hàng; n bit chọn 2ⁿ hàng, hai mươi bit chọn hơn một triệu hàng. Cột cũng chọn bằng địa chỉ qua mạch chọn cột (hình vẽ mờ, không nhãn). Bộ giải mã thật chia thành nhiều bước nhỏ để cổng không quá nhiều đầu vào.

Giữ, đọc và ghi mỗi việc có một độ dư an toàn, và cả ba có thể co hẹp khi transistor nhỏ lại, điện áp cấp nhỏ đi

Đọc cần vòng nhớ thắng, ghi cần đường bit thắng; đọc có thể làm lật bit; transistor nhỏ lại làm các transistor trong ô khác nhau hơn, điện áp cấp nhỏ đi làm hai mức gần nhau, nên độ dư co hẹp.

Margin (độ dư an toàn) là khoảng cách tới lúc bit bị sai. Read disturb (đọc làm lật bit) là bit lật ngay lúc đọc.

Xem lời đọc

Ô SRAM phải giữ, đọc và ghi, mỗi việc có một độ dư an toàn. Độ dư là khoảng cách tới lúc bit bị sai. Khi giữ, độ dư là lượng đẩy lệch dây mà vòng nhớ vẫn kéo về. Khi đọc, đường bit còn ở mức một đẩy dây đang ở mức không nhích lên. Nhích quá nhiều thì bit lật ngay lúc đọc, gọi là đọc làm lật bit. Khi ghi, đường bit phải ép thắng vòng nhớ để bit lật. Transistor nhỏ lại thì các transistor trong một ô khác nhau hơn, nên độ dư hẹp đi. Điện áp cấp nhỏ đi thì hai mức gần nhau hơn, độ dư cũng hẹp đi.

Tên Anh của ba độ dư: hold margin (giữ), read stability (đọc ổn định), write-ability (ghi được). Đọc ổn định cần transistor truy cập cho dòng nhỏ so với nMOS kéo xuống của vòng; ghi được cần dòng của transistor truy cập đủ lớn so với pMOS kéo lên của vòng, nên cỡ ô là sự cân bằng hai đòi hỏi. Transistor nhỏ lại làm ngưỡng của các transistor trong cùng một ô biến thiên ngẫu nhiên, điện áp cấp nhỏ đi làm độ dư nhỏ đi; cả hai khiến điện áp cấp nhỏ nhất mà ô còn chạy đúng khó hạ. Hình vẽ độ dư định tính, không số.

Lưới ô SRAM giữ, đọc và ghi được số, nhưng chưa tính ra được số mới từ hai số

Một hàng ô giữ một dãy bit biểu diễn một số; ghi và đọc đúng số đã ghi; muốn một số mới từ hai số thì ô chưa làm được.

Một hàng ô giữ một dãy bit, biểu diễn một số. Ô SRAM giữ và đưa số ra, chưa tính ra số mới.

Xem lời đọc

Lưới ô SRAM giữ được rất nhiều bit. Một hàng ô giữ một dãy bit, và dãy bit biểu diễn một số. Ta chọn được hàng, ghi số vào và đọc số ra. Đọc ra thì được đúng số đã ghi vào. Ví dụ hai hàng giữ hai số. Muốn có một số mới, tính từ hai số ấy, thì ô SRAM chưa làm được. Ô SRAM chỉ giữ số và đưa số ra. Vậy ta cần một mạch tính ra số mới từ hai số đang giữ.

Dãy bit biểu diễn số theo cơ số hai: mỗi vị trí bit có một trọng số. Hình ghi giá trị thập phân bên cạnh dãy (ví dụ 0110 là 6, 0011 là 3) chỉ để minh họa. Ô SRAM làm nhiệm vụ giữ; tính toán cần mạch khác.

Số liệu