Electronic – Is memory bandwidth advertised for DRAM (like 12800 MB/s for PC-12800) ever achievable

dramsdram

Memory bandwidth for DRAM like DDR3-1600 / PC-12800 is a function (product) of memory frequency (1600 MHz) and memory bus characteristics (width and number of channels). But memory also has timings (for example, 11-11-11, measured in cycles). So is it true that the value of memory bandwidth (12800 MB/s) is unreachable unless timings for that memory equal 0 (zero), that is unreal?

Best Answer

Well, you're never going to get that exactly. That's the theoretical max bandwidth. However, you can get pretty close. DRAM is set up so that rather large blocks can be read out sequentially with no wait states. Well, you might need some wait states to set it up and a few to move to the next block, but within the block it will transfer at the full rate. Generally your CPU will read or write a whole cache line at once anyway, not just a couple of words. This is a tradeoff between sequential access and completely random access, but it usually works well because a good portion of memory reads and writes are sequential.