Trong bài báo này chúng ta sẽ khám phá những điểm khác biệt chính về công nghệ giữa 3 loại bộ nhớ DDR, DDR2 và DDR3.
Trước khi bắt đầu, bạn cần biết rằng DDR, DDR2 và DDR3 đều dựa trên thiết kế SDRAM ( Bộ nhớ truy cập ngẫu nhiên động đồng bộ - Synchronous Dynamic Random Access Memory), tức là sử dụng tín hiệu xung nhịp để đồng bộ hóa mọi thứ. DDR là viết tắt của Tốc độ dữ liệu gấp đôi - Double Data Rate , tức truyền được hai khối dữ liệu trong một xung nhịp, . Như vậy bộ nhớ DDR có tốc độ truyền dữ liệu cao gấp đôi so với những bộ nhớ có cùng tốc độ xung nhịp nhưng không có tính năng này ( được gọi là bộ nhớ SDRAM, hiện không còn sử dụng cho PC nữa).
Nhờ tính năng này mà trên nhãn của những thanh nhớ thường ghi tốc độ tốc gấp đôi so với tốc độ đồng hồ xung nhịp thực . Ví dụ bộ nhớ DDR2-800 làm việc ở tốc độ 400 MHz, DDR2-1066 và DDR3-1066 làm việc ở tốc độ 533 MHz, DDR3-1333 ở 666.6 MHz ...
Hình 1: Tín hiệu xung nhịp và mode DDR
Cần nhớ rằng các tốc độ xung nhịp này là tốc độ tối đa mà bộ nhớ chính thức có được; chứ không thể tự động chạy ở những tốc độ như vậy. Ví dụ, nếu bạn dùng bộ nhớ DDR2-1066 lên một máy tính chỉ có thể (hoặc bị cấu hình nhầm) truy cập hệ thống ở tốc độ 400 MHz (800 MHz DDR), thì những bộ nhớ này chỉ có thể truy cập tại 400 MHz (800 MHz DDR) chứ không phải 533 MHz (1,066 MHz DDR). Đó là do tín hiệu xung nhịp được mạch điều khiển bộ nhớ cung cấp, mà mạch điều khiển bộ nhớ lại nằm ngoài bộ nhớ (trong Chip NorthBridge ở bo mạch chủ hoặc tích hợp bên trong CPU, tùy vào từng hệ thống ).
Trên lý thuyết, bộ nhớ DDRx-yyyy (trong đó x là thế hệ công nghệ, còn yyyy là tốc độ xung nhịp DDR) chỉ có thể sử dụng cho chip bộ nhớ.
Những thanh nhớ ( Module ) -- bảng mạch điện tử nhỏ gắn những Chip nhớ -- sử dụng một cái tên khác: PCx-zzzz, trong đó x là thế hệ công nghệ, còn zzzz là tốc độ truyền tải tối đa trên lý thuyết (còn gọi là băng thông tối đa). Con số này cho biết bao nhiêu Byte dữ liệu có thể được truyền từ mạch điều khiển bộ nhớ sang Module bộ nhớ trong mỗi xung nhịp đồng hồ .
Bài toán này rất dễ giải bằng cách nhân xung nhịp DDR tính bằng MHz với 8, ta sẽ có tốc độ truyền tải tối đa trên lý thuyết tính bằng MB/giây. Ví dụ, bộ nhớ DDR2-800 có tốc độ truyền tải tối đa trên lý thuyết là 6,400 MB/giây (800 x 8) và Module bộ nhớ mang tên PC2-6400. Trong một số trường hợp, con số này được làm tròn. Ví dụ như bô nhớ DDR3-1333 có tốc độ truyền tải tối đa trên lý thuyết là 10,666 MB/giây nhưng module bộ nhớ của nó lại có tên PC3-10666 hoặc PC3-10600 tùy nhà sản xuất.
Cần phải hiểu rằng những con số này chỉ là số tối đa trên lý thuyết, và trên thực tế chúng không bao giờ đạt đến, bởi bài toán chúng ta đang tính có giả thiết rằng bộ nhớ sẽ gửi dữ liệu đến mạch điều khiển bộ nhớ theo từng xung nhịp một, mà điều này thì không xảy ra. Mạch điều khiển bộ nhớ và bộ nhớ cần trao đổi lệnh (ví dụ như lệnh hướng dẫn bộ nhớ gửi dữ liệu được chứa tại một vị trí nhất định) và trong suốt thời gian này bộ nhớ sẽ không gửi dữ liệu.
Trên đây là lý thuyết cơ bản về bộ nhớ DDR, hãy đến với những thông tin cụ thể hơn.
Tốc độ
Một trong những khác biệt chính giữa DDR, DDR2 và DDR3 là tốc độ truyền dữ liệu lớn nhất của từng thế hệ. Dưới đây là danh sách tốc độ chung nhất cho từng thế hệ. Một số nhà sản xuất đã tạo ra được những loại chip lớn hơn cả tốc độ trong bảng–ví dụ như các bộ nhớ đặc biệt hướng tới giới overclock. Những xung nhịp có đuôi 33 hoặc 66MHz thực ra đã được làm tròn (từ 33.3333 và 66.6666).
Điện áp
Bộ nhớ DDR3 hoạt động ở điện áp thấp hơn so với DDR2, DDR2 lại dùng điện áp thấp hơn DDR. Như vậy bộ nhớ DDR3 sẽ tiêu thụ ít điện hơn DDR2, và DDR2 tiêu thụ ít hơn DDR.
Thường thì bộ nhớ DDR sử dụng điện 2.5 V, DDR2 dùng điện 1.8 V và DDR3 là 1.5 V (mặc dù các module cần đến 1.6 V hoặc 1.65 V rất phổ biến và những chip chỉ yêu cầu 1.35 V trong tương lai cũng không phải là hiếm). Một số module bộ nhớ có thể yêu cầu điện áp cao hơn trong bảng, nhất là khi bộ nhớ hỗ trợ hoạt động ở tốc độ xung nhịp cao hơn tốc độ chính thức (ví dụ như bộ nhớ để overclock).
http://i1018.photobucket.com/albums/af307/zingzing_zing/2.jpg
Thời gian trễ
Thời gian trễ là khoảng thời gian mà mạch điều khiển bộ nhớ phải đợi từ lúc yêu cầu lấy dữ liệu cho đến lúc dữ liệu thực sự được gửi tới đầu ra . Nó còn được gọi là CAS Latency hoặc đơn giản là CL. Con số này được viết theo đơn vị chu kỳ xung nhịp. Ví dụ một bộ nhớ có CL3 tức là mạch điều khiển bộ nhớ phải đợi 3 chu kỳ xung nhịp từ lúc truy vấn cho đến khi dữ liệu được gửi. Với một bộ nhớ CL5, mạch điều khiển bộ nhớ phải đợi 5 chu kỳ xung nhịp . Vì thế cần sử dụng những Module có CL thấp nhất có thể.
Hình 2: Latency.
Bộ nhớ DDR3 có nhiều chu kì xung nhịp trễ lớn hơn bộ nhớ DDR2, và DDR2 lại có nhiều chu kì xung nhịp trễ cao hơn DDR. Bộ nhớ DDR2 và DDR3 còn có thêm một chỉ số nữa gọi là AL (Thời gian trễ bổ sung – Additional Latency ) hoặc đơn giản là A. Với bộ nhớ DDR2 và DDR3, tổng thời gian trễ sẽ là CL+AL. May thay gần như toàn bộ các bộ nhớ DDR2 và DDR3 đều có AL 0, tức là không có thêm thời gian trễ bổ sung nào cả. Dưới đây là bảng tổng hợp giá trị CL phổ biến nhất.
Như vậy bộ nhớ DDR3 cần hoãn nhiều chu kỳ xung nhịp hơn so với DDR2 mới có thể chuyển được dữ liệu, nhưng điều này không hẳn đồng nghĩa với thời gian đợi lâu hơn (nó chỉ đúng khi so sánh các bộ nhớ cùng tốc độ xung nhịp).
Ví dụ, một bộ nhớ DDR2-800 CL5 sẽ hoãn ít thời gian hơn (nhanh hơn) khi chuyển dữ liệu so với bộ nhớ DDR3-800 CL7. Tuy nhiên, do cả hai đều là bộ nhớ “800 MHz” nên đều có cùng tốc độ truyền tải lớn nhất trên lý thuyết (6,400 MB/s). Ngoài ra cũng cần nhớ rằng bộ nhớ DDR3 sẽ tiêu thụ ít điện năng hơn so với bộ nhớ DDR2.
Khi so sánh các module có tốc độ xung nhịp khác nhau, bạn cần phải tính toán một chút. Chú ý rằng chúng ta đang nói đến “chu kỳ xung nhịp.” Khi xung nhịp cao hơn, chu kỳ từng xung nhịp cũng ngắn hơn.
Ví dụ với bộ nhớ DDR2-800, mỗi chu kỳ xung nhịp kéo dài 2.5 nano giây, chu kỳ = 1/tần số (chú ý rằng bạn cần sử dụng xung nhịp thực chứ không phải xung nhịp DDR trong công thức này; để đơn giản hơn chúng tôi đã tổng hợp một bảng tham khảo dưới đây). Vì thế một bộ nhớ DDR2-800 có CL 5 thì thời gian chờ ban đầu này sẽ tương đương 12.5 ns (2.5 ns x 5). Tiếp đến hãy giả sử một bộ nhớ DDR3-1333 với CL 7. Với bộ nhớ này mỗi chu kỳ xung nhịp sẽ kéo dài 1.5 ns (xem bảng dưới), vì thế tổng thời gian trễ sẽ là 10.5 ns (1.5 ns x 7). Vì vậy mặc dù thời gian trễ của bộ nhớ DDR3 có vẻ cao hơn (7 so với 5), thời gian chờ thực tế lại thấp hơn. Vì thế đừng nghĩ rằng DDR3 có thời gian trễ tệ hơn DDR2 bởi nó còn tùy thuộc vào tốc độ xung nhịp.
Thường thì nhà sản xuất sẽ công bố Timings bộ nhớ theo dạng một dãy số được phân chia bởi dấu gạch ngang (như 5-5-5-5, 7-10-10-10…). Thời gian trễ CAS thường là số đầu tiên trong chuỗi. Hình 3 và 4 dưới đây là một ví dụ.
Hình 3: DDR2-1066 có CL 5.
Prefetch – Lấy trước dữ liệuBộ nhớ động chứa dữ liệu bên trong một mảng gồm nhiều tụ điện nhỏ. Bộ nhớ DDR truyền được 2 bit dữ liệu với mỗi chu kỳ từ mảng bộ nhớ tới bộ đệm I/O bên trong bộ nhớ . Quy trình này gọi là Prefetch 2-bit. Trong DDR2, đường dữ liệu bên trong này được tăng lên tới 4-bit và trong DDR3 là 8-bit. Đây chính là bí quyết giúp DDR3 hoạt động được ở tốc độ xung nhịp cao hơn DDR2, và DDR2 cao hơn DDR.
Xung nhịp mà chúng ta đang nói đến là tốc độ xung nhịp ở “thế giới bên ngoài,” có nghĩa là trên giao diện I/O từ bộ nhớ, nơi mà bộ nhớ và mạch điều khiển bộ nhớ liên lạc với nhau. Tuy nhiên bên trong thì bộ nhớ làm việc hơi khác một chút.
Để hiểu rõ hơn điều này hãy so sánh một chip bộ nhớ DDR-400, chip bộ nhớ DDR2-400 và Chip bộ nhớ DDR3-400 (cứ giả sử rằng bộ nhớ DDR3-400 có tồn tại). 3 chip này bên ngoài hoạt động ở tốc độ 200 MHz, truyền 2 bit dữ liệu mỗi chu ky, đạt tốc độ ngoài như thể đang hoạt động ở 400 MHz. Tuy nhiên bên trong, chip DDR truyền được 2 bit từ mảng bộ nhớ đến bộ nhớ đệm I/O, vì thế để khớp với tốc độ giao diện I/O, đường dữ liệu này phải hoạt động ở 200 MHz (200 MHz x 2 = 400 MHz). Do trong DDR2 đường dữ liệu này được tăng từ 2 lên 4 bit nên nó có thể chạy ở tốc độ bằng một nửa tốc độ xung nhịp nhằm đạt tốc độ y hệt (100 MHz x 4 = 400 MHz). Với DDR3 cũng vậy: đường dữ liệu được tăng gấp đôi lên 4 bit, vì thế nó có thể chạy ở tốc độ xung nhịp bằng một nửa so với DDR2, hoặc chỉ bằng ¼ tốc độ xung nhịp của DDR, và cũng đạt tốc độ như vậy (50 MHz x 8 = 400 MHz).
http://tvth.tuvantinhoc1088.com/my_documents/my_pictures/Giainghia/Memory%20DDR/hinh5.jpg
Hình 5: Prefetch dạng n-bit
Việc nhân đôi đường dữ liệu bên trong sau từng thế hệ đồng nghĩa với việc mỗi thế hệ bộ nhớ mới có thể có chip với tốc độ xung nhịp tối đa gấp đôi so với thế hệ trước đo. Ví dụ 3 bộ nhớ DDR-400, DDR2-800 và DDR3-1600 đều có cùng tốc độ xung nhịp bên trong bằng nhau (200 MHz).
Điểm đầu cuối trở kháng
Với bộ nhớ DDR, điểm cuối trở kháng có điện trở đặt trên bo mạch chủ, còn trong DDR2 và DDR3 thì điểm cuối này nằm bên trong chip bộ nhớ -- ngôn ngữ kỹ thuật gọi là ODT ( On-Die Terminal ) .
Việc này nhằm mục đích giúp tín hiệu trở nên “sạch hơn “ – ít bị nhiễu hơn do hạn chế tín hiệu phản xạ tại những diểm đầu cuối . Trong hình 6 bạn có thể thấy được tín hiệu chạm đến chip bộ nhớ. Bên tay trái là những tín hiệu trên một hệ thống sử dụng điểm cuối ở bo mạch chủ ( bộ nhớ DDR ), còn bên tay phải là tín hiệu trên một hệ thống sử dụng ODT (bộ nhớ DDR2 và DDR3). Và rõ ràng tín hiệu bên phải sẽ trong hơn và ổn định hơn bên tay trái. Trong ô màu vàng bạn có thể so sánh chênh lệch về khung thời gian – tức thời gian mà bộ nhớ cần đọc hay ghi một phần dữ liệu. Khi sử dụng ODT, khung thời gian này sẽ rộng hơn, cho phép tăng xung nhịp bởi bộ nhớ có nhiều thời gian đọc hoặc ghi dữ liệu hơn.
Hình 6: So sánh giữa điểm kết trên bo mạch chủ và ODT.
Khía cạnh hình thức bên ngoài
Cuối cùng ta sẽ đến với sự khác biệt về thiết kế bên ngoài. Mỗi chip bộ nhớ đều được hàn trên một bo mạch vòng gọi là “module bộ nhớ.” Module bộ nhớ cho từng thế hệ DDR có sự khác nhau về thông số và bạn không thể cài module DDR2 lên khe cắm DDR3 được. Bạn cũng không thể nâng cấp từ DDR2 lên DDR3 mà không thay thế bo mạch chủ và sau đó là CPU, trừ khi bo mạch chủ của bạn hỗ trợ cả khe cắm DDR2 và DDR3 (hiếm đấy). Với DDR và DDR2 cũng vậy. Module DDR2 và DDR3 có cùng số chạc, tuy nhiên khe cắm nằm ở vị trí khác nhau.
Hình 7: Khác biệt về điểm tiếp xúc giữa DDR và DDR2
Hình 8: Khác biệt về tiếp xúc góc giữa DDR2 và DDR3.
Tất cả các chip DDR2 và DDR3 đều đóng gói kiểu BGA, còn DDR thì đóng gói kiểu TSOP. Có một số chip DDR đóng gói kiểu BGA (như của Kingmax), nhưng không phổ biến cho lắm. Trong hình 9 là một chip TSOP trên module DDR, còn hình 10 là chip BGA trên module DDR2.
Hình 9: chip DDR gần như lúc nào cũng đóng gói kiểu TSOP
Hình 10: DDR2 và DDR3 đóng gói kiểu BGA.