Hiểu về Timing của RAM

Giới thiệu Bộ nhớ DDR , DDR2 , DDR3 được phân loại theo tốc độ lớn nhất mà nó có thể làm việc và cũng tương tự như vậy với Timing .

Timing là những con số đại loại như 3-4-4-8, 5-5-5-15, 7-7-7-21, 9-9-9-24, càng nhỏ càng tốt . Trong bài này chúng tôi giải thích chính xác những gì về những con số này .

DDR , DDR2 và DDR3 thường được ghi nhãn phân biệt như kiểu DDRxxx / PCyyyy .

xxx cho biết tốc độ lớn nhất mà hỗ trợ Chip nhớ . Ví dụ DDR400 làm việc 400MHz là tốt nhất , DDR2-800 có thể làm việc tới 800MHz , DDR3-1333 có thể làm việc tới 1333MHz . Một điều quan trọng cần chú ý đó không  phải là tốc độ làm việc thật của bộ nhớ . Tốc độ thật của bộ nhớ DDR , DDR2 và DDR3 bằng một nửa tốc độ ghi trên nhãn .Bộ nhớ DDR400 làm việc tại tốc độ 200MHz , DDR2-800 làm việc với tốc độ 400MHz , DDR3-1333 làm việc tốc độ 666MHz .

Số thứ hai , yyyy , cho biết tốc độ truyền lớn nhất mà bộ nhớ đạt được , với đơn vị MB/s .

Bộ nhớ DDR400 đạt tới tốc độ cao nhất là 3200MB/s vì thế mà trên nhãn có ghi PC3200 .

DDR2-800 tốc độ truyền dữ liệu là 6400MB/s vì thế trên nhãn có ghi PC2-6400 . Cả DDR3-1333 có tốc độ truyền 10664MB/s vì thế trên nhãn có ghi PC3-10600 hoặc PC3-10666 .

Như bạn thấy số “2” và “3” sau “DDR” hoặc “PC” đó là đề cập tới bộ nhớ DDR2 hoặc DDR3 chứ không  phải loại DDR .

Phân loại đầu tiên , DDRxxx , là chuẩn dùng để phân biệt Chip nhớ . PCyyyy là chuẩn dùng phân loại cho thanh nhớ . Trong Hình 1 , bạn có thể thấy thanh nhớ PC3-10666 dùng những Chip nhớ DDR3-1333 . Chú ý tới Timing 7-7-7-18 và điện áp 1.5V .

\"\"

Hình 1 : Thanh nhớ DDR3-1333/PC3-10666

Tốc độ truyền dữ liệu lớn nhất của thanh nhớ có thể được tính theo công thức

 

Tốc độ  x  số Bit /8

Những thanh nhớ DIMM truyền 64-bit một lúc , “số Bit” sẽ là 64 , 64 : 8 = 8 và như vậy công thứ trên chỉ còn đơn giản là : Tốc độ x 8

Nếu thanh nhớ được cài trong hệ thống  mà Bus nhớ chạy với tốc độ thấp hơn thì tốc độ truyền lớn nhất của thanh nhớ sẽ thấp hơn so với tốc độ truyền lí thuyết .

Ví dụ bạn đã mua cặp thanh nhớ DDR3-2133/PC3-17000 . Thậm chí trên nhãn có ghi DDR3-1333 chúng sẽ không  thể chạy 2133Mhz tự động trên hệ thống  của bạn . Đó chính là tốc độ xung nhịp lớn nhất mà thanh nhớ bạn mua hỗ trợ , không  phải là tốc độ mà chúng sẽ chạy . Nếu bạn lắp nó trên hệ thống PC thông thường chỉ hỗ trợ bộ nhớ DDR3-1333 thì cặp thanh nhớ bạn mua không  thể chạy được lên tới tốc độ 2133MHz hoặc không  thể đạt được tới tốc độ theo lí thuyết lên tới 17000MB/s được .

Như vậy thế ai sẽ mua những thanh nhớ “quá khổ “ như vậy ? Những người đó mua để chạy Overclock . Nhà sản xuất bán thanh nhớ DDR3-2133 họ sẽ bảo đảm bảo hành những thanh nhớ này chạy lên tới tốc độ 2133MHz vì thế bạn có thể nâng tốc độ xung nhịp Bus nhớ lên tới 1066MHz để có hiệu suất làm việc cao hơn trong hệ thống  .

Không  nên mua thanh nhớ có nhãn cao hơn tốc độ mà Bus nhớ của Motherboard hỗ trợ nếu như không  muốn chạy Overclock .

Với những người dùng thông thường chỉ cần biết tới bộ nhớ DDR , DDR2 và DDR3 đã là đủ . Những với những người ham thích tìm hiểu công nghệ thì cần biết thêm thông số khác đó là Timing hoặc còn được gọi là Độ trễ ( Latency ) .

Timing

Vì Timing mà hai thanh nhớ có cùng tốc độ truyền dữ liệu lớn nhất theo lí thuyết lại có thể đạt những mức độ hiệu suất làm việc khác nhau . Tại sao lại có thể như vậy nếu cả hai chạy cùng một tốc độ ?

Timing đo thời gian Chip nhớ bị trễ trong khi làm việc bên trong . Dưới đây là ví dụ .

Thông số hay được quan tâm nhất là CAS Latency ( hoặc còn gọi là CL hoặc “Access Time” ) sẽ nói cho chúng ta biết có bao nhiêu chu kì xung nhịp mà thanh nhớ của bạn sẽ bị trễ để dữ liệu được yêu cầu quay tới CPU . Một thanh nhớ có CL9 sẽ trễ 9 chu kì xung nhịp , CL7 sẽ trễ 7 chu kì xung nhịp để cung cấp dữ liệu được yêu cầu . Trong khi cả hai thanh nhớ có thể chạy cùng tốc độ xung nhịp nhưng thanh nhứ hai sẽ nhanh hơn vì nó cung cấp dữ liệu sớm hơn do có thời gian trễ ngắn hơn . Như trong Hình 1 thanh nhớ trên có LC là 7 .

Timing của bộ nhớ được thể hiện qua những con số như 4-4-4-8, 5-5-5-15, 7-7-7-21, hoặc 9-9-9-24. Những số này cho biết tổng chu kì xung nhịp mà bộ nhớ cần thiết để thực hiện một hoạt động nào đó . Số càng nhỏ thì bộ nhớ càng nhanh . Trong Hình 1 Timing của bộ nhớ này là 7-7-7-18 , trong khi trong Hình 2 là 8-8-8-24

\"\"

Hình 2

Những hoạt động mà những con số trên thể hiện cho biết : CL – tRCS – tRP – tRAS – CMD .

Để hiểu chúng cần nhớ rằng bộ nhớ được tổ chức bên trong như là ma trận , ở đó dữ liệu được lưu trữ tại những vị trí giao nhau giữa Hàng và Cột .

  • CL - CAS Latency : là thời gian cần thiết giữa lệnh gửi tới bộ nhớ và sau đó bắt đầu trả lời lại . Nó là thời gian để CPU  yêu cầu dữ liệu từ bộ nhớ và sau đó bộ nhớ gửi dữ liệu tới CPU .
  • tRCD – RAS to CAS Delay : là thời gian để kích hoạt Hàng ( RAS ) và Cột ( CAS ) ở đó dữ liệu được lưu trữ trong ma trận .
  • tRP – RAS Precharge : là thời gian để vô hiệu hóa truy cập tới Hàng dữ liệu và bắt đầu truy cập tới Hàng dữ liệu khác  .
  • tRAS : Active to Precharge Delay . Khoảng thời gian để bộ nhớ phải chờ cho tới khi truy cập tiếp theo tới bộ nhớ có thể được bắt đầu ..
  • CMD – Command Rate : là thời gian khi mà Chip nhớ được kích hoạt cho tới khi lệnh đầu tiên được gửi tới bộ nhớ . Đôi khi giá trị này không  công bố . Nó thường là T1 ( 1 chu kì xung nhịp ) hoặc T2 ( 2 chu kì xung nhịp )

Thông thường , có hai sự lựa chọn :

  • Cấu hình PC của bạn để dùng bộ nhớ với Timing chuẩn và trong Motherboard khi ấy chúng ta thường để “Auto” trong mục Settings .
  • Hoặc cấu hình bằng tay PC của bạn dùng Timing bộ nhớ thấp hơn để có thể tăng hiệu suất làm việc của hệ thống  .

Nên lưu ý không  phải tất cả Motherboard cho phép bạn thay đổi Timing của bộ nhớ . Cũng có một số Motherboard không  thể chạy tới Timing rất thấp vì thế có thể cấu hình thanh nhớ của bạn chạy với những thiết lập Timing cao hơn .

\"\"

Hình 3 : Cấu hình Timing bộ nhớ trong BIOS của Motherboard

Khi chạy Overclock bộ nhớ , có thể cần tăng Timing của bộ nhớ để bảo đảm bộ nhớ của bạn chạy ổn định khi bộ nhớ làm việc với tốc độ cao hơn .

Một thuận lợi khác của những thanh nhớ chuyên dụng cho Overclock đó là việc những nhà sản xuất bên cạnh bảo đảm thanh nhớ sẽ chạy với tốc độ như ghi trên nhãn thì cũng bảo đảm đạt được Timing như cũng đã ghi trên nhãn .

Ví dụ bạn có thể đạt tốc độ 1600MHz ( 800 MHz x2 ) với những thanh nhớ DDR3-1333 / PC3-10600 , trên những thanh nhớ này có thể bạn cần phải tăng Timing để có thể làm việc với tốc độ 1600MHz .

CL – CAS Latency

CAS Latency ( CL ) là tham số bộ nhớ biết rõ nhất . Nó cho chúng ta biết có bao nhiêu xung nhịp bộ nhớ sẽ bị trễ để lấy được dữ liệu yêu cầu .

Bộ nhớ có CL=7 sẽ bị trễ 7 chu kì xung nhịp để cung cấp dữ liệu .

Bộ nhớ có CL=9 sẽ bị trễ 9 chu kì xung nhịp để cung cấp dữ liệu .

Như vậy với hai thanh nhớ trên chạy cùng tốc độ xung nhịp thì thanh nhứ nhất sẽ chạy nhanh hơn vì thời gian trễ thấp hơn .

Xin lưu ý như đã nói từ trước , tốc độ xung nhịp là tốc độ thực , bằng 1/2 tốc độ ghi trên nhãn của bộ nhớ DDR / DDR2 / DDR3 .

Trong Hình 4 , bạn có thể thấy CL làm việc như thế nào . Chúng ta có 2 ví dụ thanh nhớ CL=7 và CL=9 . Lệnh màu Xanh Lam là lệnh Đọc .

\"\"

Hình 4 : CAS Latency

 

Bộ nhớ có CL=7 sẽ có thời gian trễ giảm 22.2% so với bộ nhớ có CL=9 cùng tốc độ xung nhịp . Bạn có thể tính toán thời gian bộ nhớ trễ cho tới khi bắt đầu nhận dữ liệu . Mỗi chu kì xung nhịp được dễ dàng tính theo công thức

T= 1/f

Như vậy mỗi chu kì xung nhịp của bộ nhớ DDR3-1333 chạy với tốc độ 1333MHz ( 666.66MHz ) sẽ là 1.5ns . Nên nhớ bạn phải tính theo tốc độ xung nhịp thật bằng một nửa tốc độ ghi trên nhãn . Do đó bộ nhớ DDR3-1333 sẽ trễ 10.5ns để bắt đầu cung cấp dữ liệu yêu cầu nếu CL=7 , hoặc 13.5ns nếu CL=9 .

Những bộ nhớ SDRAM , DDR , DDR2 , DDR3 cho chế độ làm việc kiểu Burst Mode , mà dữ liệu lưu trữ trong địa chỉ tiếp theo có thể ra khỏi bộ nhớ chỉ một chu kì xung nhịp . Do đó khi dữ liệu đầu tiên sẽ bị trễ CL số xung nhịp để ra khỏi bộ nhớ thì dữ liệu tiếp theo sau dữ liệu đầu tiên ra ngoài bộ nhớ không  cần thiết phải mất tới số CL xung nhịp như ban đầu .

Bộ nhớ DDR , DDR2 và DDR3 cung cấp 2 dữ liệu mỗi chu kì xung nhịp , đó chính là nguyên nhân trên nhãn có ghi tốc độ gấp đôi tốc độ thực .

t-RCD – RAS to CAS Delay

Mỗi Chip nhớ được tổ chức bên trong như là ma trận .Tại chỗ giao cắt của mỗi Hàng và Cột có một Tụ điện nhỏ được nạp giá trị dữ liệu “0” hoặc “1” .

Bên trong bộ nhớ , quá trình truy cập dữ liệu được lưu trữ bằng cách kích hoạt Hàng sau đó Cột vị trí nó được lưu trữ . Sự kích hoạt này được thực hiện theo 2 tín hiệu điều khiển có tên gọi RAS (Row Address Strobe) và CAS (Column Address Strobe). Thời gian càng nhỏ giữa hai tín hiệu này thì càng tốt khi đó dữ liệu sẽ được Đọc sớm hơn và tRCD – RAS to CAS – chính là đo thời gian này . Trong Hình 5 , minh họa điều đó cho thấy bộ nhớ có tRCD=3

\"\"

Hình 5 : tRCD

Như hình trên cho thấy tRCD là số chu kì xung nhịp mất đi giữa lệnh “Active” và lệnh “Đọc” hoặc “Ghi” .

CÁ Latency và tRCD làm việc với tốc độ xung nhịp thực , bằng một nửa so với nhãn . Tham số này càng nhỏ thì bộ nhớ càng nhanh nó sẽ bắt đầu Đọc/ Ghi dữ liệu sớm hơn .

tRP – RAS Precharge

Sau khi dữ liệu của bộ nhớ được tập hợp , một lệnh có tên gọi Precharge để đưa dữ liệu này ra ngoài , đóng Hàng bộ nhớ đã được dùng và cho phép Hàng mới được kích hoạt .

Thời gian tRP ( RAS Precharge ) là khoảng thời gian cần thiết giữa lệnh Precharge và lệnh Active tiếp theo có thể được đưa ra . Lệnh Active bắt đầu chu kì Đọc hoặc Ghi vào bộ nhớ .

\"\"

Hình 6 : tRP = 3

Cũng như mọi tham số khác tRP làm việc với tốc độ xung nhịp thực của bộ nhớ . Tham số này càng nhỏ có nghĩa là bộ nhớ càng nhanh , nó sẽ đưa ra lệnh Active sớm hơn .

Như vậy chúng ta có thể thấy thời gian giữa những lệnh Precharge = tRP+tRCD+CL

 

\"\"