Monday, August 16, 2010

Memory timing

There are many numbers required to describe the timing of DRAM operation. Here are some examples for two timing grades of asynchronous DRAM, from a data sheet published in 1998:[3]

"50 ns""60 ns"Description
tRC84 ns104 nsRandom read or write cycle time (from one full /RAS cycle to another)
tRAC50 ns60 nsAccess time: /RAS low to valid data out
tRCD11 ns14 ns/RAS low to /CAS low time
tRAS50 ns60 ns/RAS pulse width (minimum /RAS low time)
tRP30 ns40 ns/RAS precharge time (minimum /RAS high time)
tPC20 ns25 nsPage-mode read or write cycle time (/CAS to /CAS)
tAA25 ns30 nsAccess time: Column address valid to valid data out (includes address setup time before /CAS low)
tCAC13 ns15 nsAccess time: /CAS low to valid data out
tCAS8 ns10 ns/CAS low pulse width minimum

Thus, the generally quoted number is the /RAS access time. This is the time to read a random bit from a precharged DRAM array. The time to read additional bits from an open page is much less.

When such a RAM is accessed by clocked logic, the times are generally rounded up to the nearest clock cycle. For example, when accessed by a 100 MHz state machine (i.e. a 10 ns clock), the 50 ns DRAM can perform the first read in five clock cycles, and additional reads within the same page every two clock cycles. This was generally described as "5‐2‐2‐2" timing, as bursts of four reads within a page were common.

When describing synchronous memory, timing is described by clock cycle counts separated by hyphens. These numbers representtCLtRCDtRPtRAS in multiples of the DRAM clock cycle time. Note that this is half of the data transfer rate when double data rate signaling is used. JEDEC standard PC3200 timing is 3‐4‐4‐8[4] with a 200 MHz clock, while premium-priced high performance PC3200 DDR DRAM DIMM might be operated at 2‐2‐2‐5 timing.[5]

PC-3200 (DDR-400)PC2-6400 (DDR2-800)PC3-12800 (DDR3-1600)Description
TypicalFastTypicalFastTypicalFast
cyclestimecyclestimecyclestimecyclestimecyclestimecyclestime
tCL315 ns210 ns512.5 ns410 ns911.25 ns810 ns/CAS low to valid data out (equivalent totCAC)
tRCD420 ns210 ns512.5 ns410 ns911.25 ns810 ns/RAS low to /CAS low time
tRP420 ns210 ns512.5 ns410 ns911.25 ns810 ns/RAS precharge time (minimum precharge to active time)
tRAS840 ns525 ns1640 ns1230 ns2733.75 ns2430 nsRow active time (minimum active to precharge time)

It is worth noting that the improvement over 11 years is not that large. Minimum random access time has improved from tRAC = 50 ns totRCD + tCL = 22.5 ns, and even the premium 20 ns variety is only 2.5 times better. CAS latency has improved even less, from tCAC = 13 ns to10 ns. However, the DDR3 memory does achieve 32 times higher bandwidth; due to internal pipelining and wide data paths, it can output two words every 1.25 ns (1600 Mword/s), while the EDO DRAM can output one word per tPC = 20 ns (50 Mword/s).

No comments:

Post a Comment