Một thiết kế module nhớ do hãng Dell phát triển 4 năm trước giờ đây đang được hiệp hội JEDEC xem xét đưa lên thành tiêu chuẩn công nghiệp chung.
Trong vài chục năm qua, tiêu chuẩn module bộ nhớ RAM (phân biệt với chip nhớ DRAM) của thế giới hầu như chỉ loanh quanh 2 thiết kế DIMM (cho desktop, server) và SO-DIMM (cho laptop). Tiêu chuẩn này cơ bản tới nỗi gần như không ai nghĩ chúng ta cần thay thế chúng, hoặc các công nghệ bộ nhớ nếu có cũng đều xoay quanh các thanh DIMM.
Module LPCAMM2 do Micron sản xuất
Nhưng các kỹ sư của Dell lại có suy nghĩ khác. Làm sao để có thể "nhồi nhét" được nhiều chip nhớ hơn lên cùng 1 module, đồng thời vẫn đảm bảo tính vẹn nguyên của tín hiệu (quyết định tới tốc độ về sau), cũng như tiết kiệm điện hơn, và sau cùng - không cần phải gắn theo "cặp" mới xài được dual-channel (2DPC). Đấy là nguyên nhân ra đời CAMM (hoặc CAMM2 theo JEDEC).
Trong vài chục năm qua, tiêu chuẩn module bộ nhớ RAM (phân biệt với chip nhớ DRAM) của thế giới hầu như chỉ loanh quanh 2 thiết kế DIMM (cho desktop, server) và SO-DIMM (cho laptop). Tiêu chuẩn này cơ bản tới nỗi gần như không ai nghĩ chúng ta cần thay thế chúng, hoặc các công nghệ bộ nhớ nếu có cũng đều xoay quanh các thanh DIMM.
Module LPCAMM2 do Micron sản xuất
Nhưng các kỹ sư của Dell lại có suy nghĩ khác. Làm sao để có thể "nhồi nhét" được nhiều chip nhớ hơn lên cùng 1 module, đồng thời vẫn đảm bảo tính vẹn nguyên của tín hiệu (quyết định tới tốc độ về sau), cũng như tiết kiệm điện hơn, và sau cùng - không cần phải gắn theo "cặp" mới xài được dual-channel (2DPC). Đấy là nguyên nhân ra đời CAMM (hoặc CAMM2 theo JEDEC).
Vấn đề của DIMM
Trước hết, chúng ta hãy nói về các ưu/nhược của DIMM để hiểu được ý đồ của các kỹ sư Dell. DIMM hay Dual In-Line Memory Module là bản nâng cấp của SIMM hay Single In-line Memory Module tồn tại từ trước. Khi Intel ra mắt dòng chip Pentium P5 hơn 30 năm trước, hãng này đã nâng cấp bộ databus mở rộng lên 64-bit, cho phép gấp đôi dữ liệu đầu vào từ RAM. Nhưng các thanh SIMM lúc đó chỉ có bề rộng 32-bit, nên để có thể khai thác được databus 64-bit sẽ cần 1 cặp SIMM y hệt nhau. Từ đó, DIMM ra đời với mục đích chỉ cần 1 thanh DIMM là có đủ 64-bit (mỗi bên module sẽ có đường điện riêng đóng vai trò 1 SIMM đơn lẻ).
Một thanh RAM 64 MB chuẩn SIMM có 72 chân
Về sau này, khi trình điều khiển bộ nhớ (memory controller - MC) được nâng cấp lên 128-bit (2x 64-bit), chúng ta bắt đầu có khái niệm dual-channel. Trong đó mỗi thanh DIMM (tục gọi là thanh/que RAM) sẽ liên kết với một MC (1x 64-bit), 2 thanh vào 2 MC (khác nhau) sẽ là 2 channel. Nhưng do mỗi MC thường đi kèm 2 slot DIMM vật lý, việc gắn sao "cho đúng" dual-channel sẽ cần tham khảo kỹ hướng dẫn sử dụng (manual guide) của hãng sản xuất mainboard. Tất nhiên không có quy định nào bạn phải xài dual-channel, chỉ là khi 2 thanh DIMM gắn chung MC thì cả 2 sẽ xài chung một bus 64-bit, có ít băng thông hơn 2 MC độc lập (2x 64-bit).
Cấu hình dual-channel tối thiểu cần 2 thanh DIMM gắn vào 2 channel khác nhau
Dual-channel không phải là cấu hình nhiều MC duy nhất. Cả AMD và Intel đến các thế hệ chip sau tiếp tục giới thiệu ra các sản phẩm 3 MC (tri-channel), 4 MC (quad-channel), 8 MC (octa-channel) và hơn nữa. Song chúng chủ yếu xuất hiện trên các hệ thống workstation/server. Còn PC chủ yếu chỉ dừng lại ở dual-channel bởi vì càng nhiều MC thì die chip lẫn socket sẽ càng phải bự hơn, không phù hợp chuẩn ATX cho người dùng phổ thông. Và trên laptop hay mini-PC thì sẽ cần càng gọn càng tốt.
* Ở đây cần nói thêm một chút về dual-channel trên DDR5. Khác với các thế hệ DDR trước, DDR5 chia 1 channel 64-bit ra 2 subchannel 32-bit (nghe có tý "mùi" SIMM). Do đó xảy ra tình trạng chỉ gắn 1 thanh DDR5 cũng hiện thông báo đang dual-channel (thực tế là 2x 32-bit), còn 2 thanh vào 2 MC khác nhau sẽ hiện quad-channel (thực tế là 4x 32-bit). Nhưng bạn cần hiểu đây không phải quad-channel thật vì chỉ có 2 MC (hay tổng bus chỉ có 128-bit), mà chỉ là đặc tính của DDR5 *
Quảng cáo
Chip EPYC 9754 của AMD có cấu hình 16 kênh RAM
Có điều như đã nói, để ra được dual-channel (không tính DDR5) thì bạn cần ít nhất 2 thanh DIMM. Trên desktop phổ thông hoặc server điều này không khó khăn gì. Nhưng trên laptop hoặc mini-PC, từng mm2 đều là "tấc đất tấc vàng". Thực tế có thể thấy so với trước đây, hầu hết mọi linh kiện trên laptop đều đã nhỏ đi rất nhiều. Nhưng SODIMM (bản thu nhỏ của DIMM) vẫn không nhỏ đi sau gần 3 thập kỷ ra đời. Có thể nói SODIMM hiện nay chiếm rất nhiều diện tích trên laptop và để có thể gắn được 2 thanh SODIMM không phải là dễ dàng, đặc biệt khi cần tách bạch đường điện cho từng MC (hoặc channel).
* Ngoài DIMM và SODIMM còn 2 chuẩn khác là MiniDIMM và MicroDIMM (chiều dài 55 mm) nhưng hiện tại không còn hãng nào phát triển nữa, nên không cần thiết nói tới *
So sánh thông số 3 chuẩn DIMM, SODIMM và MicroDIMM
Đa kênh không phải là vấn đề duy nhất với DIMM. Khoảng cách khe DIMM càng xa CPU thì chất lượng tín hiệu càng suy giảm. Với "người trần mắt thịt" như chúng ta thì sợi dây điện dài 10 mm hay 100 mm dường như chả khác gì nhau vì cái nào cũng giật "ngay tức thì". Nhưng với con chip thì đó là cả vấn đề băng thông, độ trễ, tính vẹn nguyên của tín hiệu. Một cách so sánh hơi lệch pha là giả dụ bạn đang ở sao Mộc và nhìn về Trái Đất, bạn sẽ thấy khoảng cách giữa London và Hong Kong bất kể là qua kênh Suez hay qua Cape Town đều không có mấy khác biệt, nhưng nếu đang làm logistic cho một công ty trên Trái Đất thì bạn sẽ thấy rõ vấn đề. Chiều dài mạch điện giữa khe DIMM và CPU cũng tương tự.
Quảng cáo
Trên thực tế nếu thường xuyên thao tác với RAM, đặc biệt nếu là IT trong các datacenter, bạn sẽ thấy hiện tượng càng gắn nhiều thanh DIMM thì bus tổng chung sẽ thấp hơn so với chỉ gắn 1-2 thanh DIMM. Chiều dài mạch điện chính là nguyên nhân vấn đề. Kiến thức vật lý phổ thông cũng nói rõ vấn đề này ở công suất nhiệt P = R.I^2, trong đó R tỷ lệ thuận với chiều dài mạch. Mạch càng dài thì hao hụt điện năng (dưới dạng nhiệt) càng nhiều. Do đó nếu nguồn điện đầu vào giữ nguyên công suất mà mạch càng dài thì công suất có ích ở điểm cuối càng giảm (cũng là lý do tại sao nhà máy điện càng xa nơi tiêu thụ thì chi phí truyền tải càng cao). Nếu bạn muốn duy trì bus RAM cao như ban đầu thì giải pháp duy nhất là phải tăng công suất đầu vào hay nói cách khác là tăng điện áp (aka overclock).
Các hệ thống càng gắn nhiều thanh DIMM thì tốc độ bus càng giảm
Còn vừa muốn gắn nhiều thanh DIMM, vừa giữ nguyên bus (không giảm hiệu năng) mà vừa không tăng mức tiêu thụ điện thì... qua phần dưới đây 😃
Ưu nhược của CAMM
CAMM hay Compression Attached Memory Module về cơ bản được 2 kỹ sư của Dell là Tom Schnell và Joe Mallory đề ra với mục tiêu làm được những điều nêu ở đoạn trên. Tuy vậy sẽ có một tý "magic" ở đây. Đó là thay vì dùng giao tiếp khe cắm chân (edge) như DIMM hiện tại (các giao tiếp PCI, PCIe, AGP đều như vậy), CAMM sẽ dùng lưới điểm tiếp xúc (land grid array hay LGA). Bạn có thể đã nhận ra sự quen thuộc - LGA hiện đang được dùng trên cả CPU AMD lẫn Intel. So với edge, LGA cho mật độ chân tiếp xúc cao hơn, từ đó cho phép tạo nhiều liên kết mạch điện hơn.
CAMM dùng chân tiếp xúc LGA thay cho edge trên DIMM
Để tiện hình dung, SODIMM DDR1 & DDR2 có 200 chân tiếp xúc, DDR3 "tăng nhẹ" lên 204 chân, DDR4 có 260 chân, DDR5 là 262 chân. Lý do đơn giản là chiều dài SODIMM rất nhỏ, chỉ 67,6 mm. Còn CAMM2 bản LPDDR5 là 644 chân (14 x 46), bản LPDDR6 là 920 chân (20 x 46). Không khó để nhận ra tại sao CAMM lại có thể gắn được nhiều chip DRAM hơn DIMM và dĩ nhiên, "nhét" 2 thanh DIMM lên một thanh CAMM để ra cấu hình dual-channel đơn giản hơn nhiều.
Song chi tiết quan trọng hơn là việc thiết kế mạch điện cho CAMM (từ CPU ra tới slot RAM) sẽ ngắn gọn hơn nhiều. Mạch điện càng ngắn thì hao tốn điện năng (công suất nhiệt) sẽ càng giảm. Hao tốn càng ít sẽ giúp tín hiệu ít bị suy giảm hơn, có nghĩa là hiệu năng sẽ cao hơn (ở cùng điện áp) hoặc tốn ít điện hơn (điện áp thấp hơn vẫn cho hiệu năng như cũ). Việc tất cả các chip DRAM nằm trên cùng 1 PCB (dù vẫn có chip ở 'gần' ở 'xa') cũng giúp chúng dễ đồng bộ xung nhịp hơn là nằm trên nhiều thanh DIMM/SODIMM khác nhau.
Ưu nhược điểm của CAMM vs. DIMM vs. SODIMM
Một cách so sánh lệch pha khác là bạn có nhiều nhà máy sản xuất nằm ở nhiều địa phương khác nhau. Tuy điểm cộng là bạn ít gặp rủi ro cháy nổ tai nạn (hiếm khi xảy ra) nhưng điểm trừ là quãng đường di chuyển từ mỗi nhà máy đến kho tập trung dài ngắn khác nhau. Nếu nhà máy A cần nguyên liệu từ nhà máy B hay C để sản xuất mà quãng đường đến B hay C gặp sự cố thì nhà máy A phải "nằm chờ" và ngược lại. Ngoài ra nhiều đường nhưng đường nào cũng chỉ có 2 lane ngược xuôi nhìn chung cho lưu lượng hàng hoá thấp hơn chỉ 1 đường lớn nhưng có 4-6 lane ngược xuôi. Tất nhiên tuỳ mô hình hoạt động mà hình thức nào sẽ hiệu quả hơn. Đây chỉ là so sánh với CAMM cho dễ hình dung.
Mẫu CAMM đầu tiên của Dell có kích thước gấp 3 lần SODIMM nhưng dung lượng gấp 8 lần (128 GB vs. 16 GB)
Nói đi cũng cần nói lại, mọi thứ đều có 2 mặt. CAMM hiện tại có điểm trừ là cần ốc cố định. Nên thao tác tháo ráp buộc phải có thêm công cụ hỗ trợ (DIMM thì chỉ cần gắn đúng slot là được). Các kỹ sư Dell/JEDEC vẫn đang nghiên cứu cách để có thể thao tác mà không cần tới ốc vít trên CAMM. Điểm trừ khác là CAMM được thiết kế để thay thế việc cần 2 slot SODIMM để ra dual-channel với chỉ 1 slot CAMM. Nhưng ngược lại khi cần nâng cấp dung lượng RAM thì bạn sẽ phải mua thanh CAMM "bự" hơn chứ không dùng lại thanh cũ được. Dĩ nhiên nhà sản xuất laptop vẫn có thể trang bị tới 2 slot CAMM song đó là câu chuyện khác, còn hiện tại mục đích chính vẫn là làm sao giảm thiểu kích thước các linh kiện.
Muốn tăng lượng thì diện tích PCB buộc phải tăng theo
Kế đến (cái này không hẳn là nhược điểm) là để có thể đạt dung lượng cao, dĩ nhiên kích thước PCB của CAMM cũng phải "nở" ra mới có thể gắn được nhiều chip DRAM hơn (nếu là DIMM thì phải nhiều thanh hơn, cũng là chiếm nhiều không gian hơn). Ở góc độ này có thể so sánh CAMM với các ổ SSD chuẩn M2 có dung lượng thường tương ứng với chiều dài (2 số đuôi là chiều dài mm). Nhưng dù sao, tổng diện tích PCB "nở" thêm của CAMM vẫn ít hơn tổng PCB DIMM cần có để đạt cùng mức dung lượng. Tuy nhiên, CAMM gặp khó khăn hơn với stack DRAM (RAM chồng lên nhau) do mật độ mạch điện quá dày đặc.
Sau cùng là CAMM vẫn còn rất mới (ra đời vào 2020). Thời gian đầu nó vẫn thuộc bản quyền của Dell. Đến 2022 mới được JEDEC xem xét chuẩn hoá. Hiện tại nó có nhiều form thiết kế khác nhau, nên chưa có thể dùng đại trà ngay được. Tính tới hiện tại chỉ có vài model laptop từ Dell, Lenovo và MSI sử dụng loại module RAM này.
Lenovo ThinkPad P1 sử dụng LPCAMM2
CAMM có thay thế được DIMM?
Đáp án là tuỳ thuộc nhiều yếu tố, hoàn cảnh sử dụng. Xét mục đích ban đầu của các kỹ sư Dell là họ muốn giảm thiểu không gian chiếm dụng của khe SODIMM trên laptop. Thế nên laptop sẽ là nơi đầu tiên ứng dụng CAMM.
Mẫu LPCAMM2 của Micron vẫn cần tối thiểu 3 ốc cố định
Ngoài ra, thời gian mà JEDEC hoàn thiện chuẩn CAMM là điều quan trọng nhất. Vì lịch sử ngành công nghệ cho thấy những chuẩn nào chỉ có 1-2 công ty sử dụng thì khả năng "thẩm thấu" vô thị trường sẽ rất chậm. Chỉ khi tiêu chuẩn đó được áp dụng rộng rãi thì nó mới gây ra ảnh hưởng lớn (ví dụ USB, Wi-Fi, PCI Express...). Song vì yêu cầu loại bỏ ốc vít để cố định nên lúc nào chuẩn này hoàn tất vẫn chưa thể xác định. Mong là một ngày không xa.
Nhưng giả sử chuẩn này đã hoàn thiện rồi thì sao? Trong trường hợp đó, nó sẽ rất nhanh chóng xuất hiện trên các dòng laptop mới (lấy điều kiện các công ty sản xuất RAM cùng ra mắt sản phẩm chuẩn CAMM). Những máy tính cỡ nhỏ (mini-PC) cũng sẽ được hưởng lợi từ CAMM (thực tế phần lớn mini-PC đang dùng SODIMM giống laptop).
Các slot SODIMM trên mini-PC
Vậy còn desktop, server? Tới đây sẽ hơi khó nói vì dù lợi ích của CAMM tương đối nhiều hơn DIMM nhưng nhìn chung nó sẽ cần "sự cổ vũ" từ những công ty lớn như AMD, Intel, Qualcomm. JEDEC có thể đã chuẩn hoá CAMM cho laptop nhưng trên desktop/server hiện chưa thấy nhiều thông tin. Hiện tại, DIMM được cắm đứng trên mainboard còn CAMM tương tự SODIMM là cắm nằm. Khác laptop, desktop hay server không cần sự mỏng nhẹ mà cần "dày đặc". Thêm vào đó, server có nhiều cấu hình RAM đa kênh khác nhau, làm thế nào để đạt băng thông mong muốn lại là chuyện khác. Thế nên CAMM sẽ xuất hiện thế nào trên những thiết bị này lại là một câu chuyện khác.
Bên cạnh đó, chi phí trang bị CAMM cũng tác động không nhỏ tới quyết định của người dùng xem nên mua mainboard chạy DIMM hay CAMM. Nếu người dùng vẫn có thể đạt cấu hình dual-channel (cùng bus, dung lượng) với DIMM mà tổng chi phí (mainboard + RAM) thấp hơn CAMM đáng kể thì khó nói nó có thể xuất hiện đại trà (tương tự DDR5 đắt đỏ hơn DDR4). Trên môi trường server, những con số này sẽ được cân đo đong đếm còn ngặt nghèo hơn nữa.
JEDEC vẫn đang trong giai đoạn chuẩn hoá CAMM
Trước mắt, hãy mong JEDEC sớm hoàn thiện CAMM trên laptop càng sớm càng tốt.