RRAM được thiết kế dựa trên bộ nhớ máy tính (computing in-memory – CIM) nhằm khắc phục những nhược điểm kiến trúc Von Neumann như độ trễ truyền dẫn và tiêu thụ điện năng cao giữa các bộ nhớ bên ngoài và bộ xử lý logic số học (ALU).
Mạch 4T2R R-CIM hiệu quả hơn so với các mạch CMOS truyền thống ở chỗ tiết kiệm diện tích thiết kế, xử lí truyền dẫn tín hiệu và tiết kiệm điện năng.
II.1. Kiến trúc của mạch 4T2R đơn giản
(RRAM trong mục II này là RRAM lưỡng cực) Dựa vào hình 13, ta thấy mạch 4T2R gồm hai phần:
Phần mạch gồm hai bóng bán dẫn (N1, N2) và hai RRAM (Q, QB) dùng truy xuất dữ liệu. Cực G của hai NMOS N1, N2 sẽ nối với dây word line (WL). Còn cực D sẽ nối với source line (SL). Bit line (BL) và bit line bù (BLB) sẽ nối lần lượt vào cực tính bottom electrode (BE) của RRAM. Giả sử BL muốn ghi dữ liệu 0 khi Q ở trạng thái điện trở thấp (LRS) và QB ở trạng thái điện trở cao (HRS). BL muốn ghi dữ liệu 1 khi Q ở trạng thái điện trở cao (HRS) và QB ở trạng thái điện trở thấp (LRS).
Phần mạch gồm hai bóng bán dẫn (N3, N4) thông qua compute source line (CSL), match line left (MLL), match line right (MLR) nối với phần mạch bên ngoài. Ví dụ nối với mạch sense amplifier (SA) để giảm thời gian đọc.
II.2. Mạch read/ write
Ở chế độ read/ write, hai NMOS N3, N4 sẽ không tham gia vào mạch. Vì thế các dây MLL, MLR, CSL sẽ nối đất.
Hình 4a mô tả mạch đọc. Dây SL sẽ nối đất. Dây BL, BLB sẽ nối vào mạch SA để giảm thời gian đọc. BL, BLB trước khi đọc sẽ được tích cực trong khoảng thời gian ngắn và ngắt. Sau đó đặt WL = 1, BL và BLB sẽ xả điện áp. Mức điện áp giữ lại trên dây phụ thuộc vào trạng Q và QB.
Hình 4b mô tả mạch ghi. Do hai mạch 1T1R sử dụng chung dây SL nên để tránh ảnh hưởng lẫn nhau trong quá trình ghi, người ta sẽ thực hiện xóa ở phần đầu của chu kỳ. Dây SL giai đoạn này phải được đặt lên 1. Ở phần sau của chu kỳ, thực hiện ghi giá trị cần ghi. Dây SL giai đoạn này sẽ nối đất. Thời gian xóa ghi phụ thuộc vào mục đích người lập trình.
II.3. Mạch TCAM
Hình 5 mô tả mạch 4T2R ở chế độ TCAM. Dữ liệu lưu trữ gồm có ba trạng thái: 0, 1, don’t care (X). Trạng thái X được tạo từ mạch ghi. Ở mạch ghi ta thực thiện hai giai đoạn: xóa và ghi. Trong trường hợp tạo X ta chỉ cần thực hiện xóa là được. MLL và MLR sẽ thực hiện pre-charged lên VDD trước khi search. Khi thực hiện search thì MLL và MLR sẽ bị ngắt pre-charged. Đối với dây WL, khi WL = 1 thì SL và CSL sẽ nối đất.
Trường hợp 1: Dữ liệu lưu trữ là X
Trường hợp này là match always khi data search là 0 hay 1. Nếu BL = 1, Q = HRS thì vẫn có dòng điện đi qua Q, N1 do tính lưỡng cực của memristor. Tuy nhiên cực G của
NMOS N3 có điện thế xấp xỉ 0 nên MLL không xả điện áp xuống đất. Tương tự với BLB bằng 1.
Trường hợp 2: Dữ liệu lưu trữ là 0
Nếu data search là 1, lúc này BL = 1, Q = LRS, tồn tại dòng điện đi qua Q và N1. Cực G của NMOS N3 sẽ được tích cực làm cho MLL xả điện áp xuống đất. Từ đó suy ra MISS.
Nếu data search là 0, lúc này BL = 0, không có dòng điện đi qua Q và N1. Cực G của N3 không tích cực và do đó MLL vẫn giữ nguyên trạng thái pre-charged. Mặt khác, MLR vẫn giữ được trạng thái pre-charged do QB = HRS. Từ hai điều này suy ra MATCH.
Trường hợp 3: Dữ liệu lưu trữ là 1
Nếu data search là 1, lúc này BLB = 0, không tồn tại dòng điện đi qua QB, N2. Cực G của NMOS N4 không tích cực do đó MLR vẫn giữ được trạng thái pre-charged. Mặt khác MLL vẫn giữ được trạng thái pre-charged do Q = HRS. Từ hai điều này suy ra MATCH.
Nếu data search là 0, lúc này BLB = 1, tồn tại dòng điện đia qua QB, N2. Cực G NMOS N4 tích cực làm cho MLR xả điện xuống đất. Từ đó suy ra MISS.
Trạng thái MLL, MLR sau khi search data sẽ so sánh với VREF qua mạch SA, kết quả thu được đi qua cổng AND rồi ra output.
Ưu điểm của kiến trúc 4T2R R-CIM là khắc phục nhược điểm kiến trúc Von Neumann thì nhược điểm của nó là ảnh hưởng nhiễu.
Dựa vào hình 11a, giả sử dữ liệu tìm kiếm và dữ liệu lưu trữ không khớp nhau, tức BL = 1, Q = LRS. Dòng điện đi qua sẽ không ảnh hưởng gì. Nếu dữ liệu tìm kiếm và dữ liệu lưu trữ khớp nhau, tức BL = 1, Q = HRS thì dòng điện đi qua Q có thể ảnh hưởng đến độ bền của memristor, có thể làm Q chuyển sang LRS và làm sai lệch giá trị đã được ghi trước đó, khiến việc search data ở các lượt sau không đúng.