What is memory bandwidth?

As you know, there are a multitude of memories available today, from RAM memory to HDD or SSD storage units, including other memories such as GDDR or HBM type VRAM. And in all of them you will have noticed that one of the most important technical characteristics is the bandwidth, since the performance of information transfers will depend on it.

What is memory bandwidth?

The bandwidth of a memory is no more than the maximum data transfer capacity that the memory admits to perform the accesses (read and write). It can be measured in bits per second, or any of its multiples, such as MB/s, GB/s, etc., and even in transfers per second, such as MT/s, GT/s…

Do not confuse bandwidth with other concepts, since they are not the same:

  • Speed: When we talk about speed, we are referring to the frequency at which the memory in question works. This interferes with the speed of data transfer, but it is not the same as the bandwidth.
  • Latency: Refers to the delay or number of clock cycles it takes to access memory. That is, it has nothing to do with the amount of information sent per second, which is the bandwidth, but with the time it would take to access (read or write) the memory, regardless of the bus bandwidth.

For example, we can have an SDRAM memory that works at a clock frequency of 100 Mhz and whose transfer speed is 100 MT/s, while the bandwidth is 800 MB/s. Or a DDR1 that works at the same frequency, but it will mean that being Dual Data Rate, it will have a transfer speed of 200 MT/s, thus raising the bandwidth to 1600 MB/s.

How is memory bandwidth calculated?

The theoretical maximum bandwidth of a RAM memory, for example, can be calculated with the following formula: Bandwidth = (Clock Frequency x 2) x Bus Width x Bits Channels

It is multiplied by two when it is DDR, if it is not DDR it does not have to be multiplied by two. For example, imagine that you have a DDR4-2933. In this case, it would be for a motherboard (CPU-RAM): Bandwidth = (1466.67 Mhz x 2) x 8 x 4 = 93,866.88 MB/s = 94 GB/s

That is, this memory could have 2933 MT/s, a real clock frequency of 1466.67 Mhz, and the latency in this case could be 21, to give an example.