Electronic – Speed difference between SRAM (Static RAM) and DDR3 RAM

ddrfpgamemoryramsram

This is more of a computing question, but only electronics geeks would know such things. Today's computers use multiple layers of memory in order to work with data quickly. Currently CPU speeds are anywhere from 10 times to 100 times faster than RAM memory. Therefore, CPUs are built with a small amount of very fast memory (Static RAM, or SRAM) which is usually from 10 KB to 10 MB in size. Data cached in this memory is the fastest to work with and DDR RAM is usually much slower (10-100 times).

Wikipedia says DDR3 RAM currently takes 5-10 ns per "cycle". What does this mean exactly, and how fast is SRAM in comparison? Also, for embedded projects utilizing FPGA's, how useful is SRAM and DDR3 and can either be omitted in favor of the other? (eg. No need of SRAM if DDR3 speeds are similar)

Best Answer

Cycle as used on that web page means "clock cycle": the time taken for one pulse of the clock signal used by the ram. So the 100MHz clock corresponds to a 10ns cycle.

Internally, this corresponds to selecting a row within the chip and reading the corresponding column lines; this brings out a set of values (let's say 256 bits = 8 bytes), for each of the 8 chips on the RAM.

There then follows a response burst where the values are transferred back to the processor. The bus is 64 bits wide, so there will be several transfers. Usually this fills an entire cache "line".

(Note that there is an implicit pipeline: you can send out another request before the first has finshed)

For an FPGA project, you'd use onboard SRAM in preference, but if there isn't enough or you need to share it, you would use external DDR RAM.