Memory, whether RAM or video memory, is an essential part of a modern computer. Today we will briefly learn how it all began, how it works, why diagnostic programs show incorrect frequencies, how memory performance is measured, how memory bandwidth is calculated, and why “MHz” for memory is an incorrect expression.
Until the 2000s, SDR standard RAM was used.
Then it was replaced by a new memory standard – DDR, which had twice the memory bandwidth due to the transfer of data on both the rising and falling edges of the clock signal. Initially, memory of this type, like SDR, was used in video cards, but later support from chipsets appeared.
DDR stands for Double Data Rate.
Thus, in one clock cycle, twice as much information is transmitted. The amount of transmitted information has increased, the real memory frequency has remained unchanged. Together with this, such concepts as the effective frequency appeared, which became twice the real one.
It was with the advent of the DDR standard that confusion appeared with the real and effective memory frequency.
Real frequency is the bus frequency of the memory module. Effective frequency is twice the bus frequency of the module.
As you can see, the real memory frequency is 1900 MHz, while the effective frequency is 2 times higher – 3800 MHz, because now twice as much data is received in one clock cycle.
In order for information to be transmitted at twice the speed, it must come from the memory array twice as fast. We implemented this by doubling the internal width of the memory module. Thanks to this, we began to receive 2n data units at once for one read command. For the DDR standard, n = 1. This architecture was called n-prefetch. In DDR memory, one command, when reading, transfers two data units from the core to the I / O buffer.
Along with the increase in performance, the operating voltage decreased from 3.3V for SDR to 2.5V for DDR. This allowed to reduce power consumption and temperature, which made it possible to increase operating frequencies. In fact, consumption and, as a result, heating was one of the biggest problems of RAM at the time. With a full read of the entire 2 GB module, the memory consumes up to 25 watts.
DDR2 RAM replaced the DDR standard in 2003, although chipsets supporting it appeared a year later. The main difference between DDR2 and DDR is the doubled frequency of the internal bus, through which data is fed into the I / O buffer. Transmission to the internal bus is now carried out using the technology (4n-Prefetch), with one command from the memory array 4 data units are sent to the buffer.
In this way, we managed to double the bandwidth without increasing the frequency of the memory chips. This is beneficial from the point of view of energy efficiency, and the number of suitable chips that can operate at a lower frequency is always higher. However, this method of increasing performance has its drawbacks: at the same frequency of DDR2 and DDR, the time delays in DDR2 will be much higher, which can only be compensated for at higher operating frequencies.
Despite the fact that they are used in different devices, the principles of operation and technologies for them are very similar.
The main difference between GDDR and DDR is its higher bandwidth and other operating voltage requirements.
NVIDIA developed the GDDR2 video memory standard. It was first tested on the GeForce FX 5800 Ultra video card.
GDDR2 is somewhere between DDR and DDR2. GDDR2 memory operates at 2.5V, like DDR, but has higher frequencies, which causes quite a lot of heat. This has become the real problem with GDDR2. This standard did not stay on the market for a long time.
A little later, ATI presented GDDR3, which used all the DDR2 developments. In GDDR3, like DDR2, the 4n-Prefetch technology is implemented during the data write operation. The memory worked at 2V, which solved the problem of overheating, and had about 50% more bandwidth than GDDR2. Despite the fact that the standard was developed by ATI, it was first used by NVIDIA on the updated video card GeForce FX 5700 Ultra. This made it possible to reduce the overall power consumption of the video card by about 15% compared to the GeForce FX 5700 Ultra using GDDR2 memory.
Modern types of video memory
Today, the most common types of video memory are GDDR5 and GDDR6, but still in budget solutions you can find memory such as GDDR3-GDDR4 and even DDR3.
MSI GeForce GT 1030 AERO ITX OCV1 [GT 1030 AERO ITX 2GD4 OC V1]
The GDDR5 standard appeared in 2008 and replaced the GDDR4 standard, which existed for a very short time, and did not become widespread due to the poor price / performance ratio.
GDDR5 is designed with DDR3 memory and uses 8-bit Prefetch. Considering the architectural features (two clock frequencies CK and WCK are used), the effective frequency is now four times higher than the real one, and not two, as it was before. In this way, it was possible to increase the effective frequency up to 8 GHz, and with it the bandwidth doubled. The working voltage was 1.5V.
GDDR5X is an improved version of GDDR5 that offers 50% faster data transfer rates. This was achieved by using a higher prefetch. Unlike GDDR5, GDDR5X uses 16n Prefetch architecture.
GDDR5X is capable of operating at an effective frequency of up to 11 GHz. This memory was used only for top-end solutions from NVIDIA 10 series GTX1080 and GTX1080Ti.
Memory standard GDDR6 appeared in 2018. GDDR6, like GDDR5X, has a 16n Prefetch architecture, but it is split into two channels. While this does not improve data transfer rates over GDDR5X, it allows for more versatility.
Now this memory is actively used by both manufacturers of video cards in the new line of NVIDIA GeForce 20 and 16 series (except for some solutions: GTX 1660 and GTX 1650, since they use GDDR5 memory). When buying, you need to carefully study the characteristics of the video card, because the difference in performance from the type of memory in this case reaches from 5 to 15%. While the price difference is completely insignificant.
Initially, GDDR6 is capable of operating at an effective frequency of 14 GHz. This allows you to double the bandwidth relative to GDDR5. In the future, the effective frequency will be increased, as happened with other types of memory.
The Memory Bus can be thought of as road lanes
– The more lanes are allocated for traffic, the livelier the traffic.
With the advent of a new type of memory, its real frequencies may be even lower than those of the previous generation. However, in the future, manufacturers debug the process and squeeze the maximum possible.
For example, now this happens with DDR4 RAM . At the start of sales, its frequencies were the same as those of DDR3, but now we see that there are modules on sale that can operate at 5000 MHz, and next year we will have a new type of DDR5 RAM.
Briefly about the HBM memory type
HBM is a completely new memory standard, it has a low operating frequency, but has a very wide bus, due to which it has significantly higher bandwidth and significantly lower latencies compared to GDDR5, while consuming significantly less power. Memory of the HBM standard is quite expensive for use in gaming video cards , therefore, it is most often used in professional solutions.
HBM also differs in layout compared to traditional video memory. In the case of GDDR, the memory chips are soldered on the board next to the GPU, and the chips themselves take up a lot of space. But the HBM dies are equipped with through contacts, so that the memory can be assembled in vertical stacks, when one die is molded to the other from above.
The memory chips communicate with the GPU through an additional silicon substrate. It turns out a kind of crystal sandwich. This saves space on the board, greatly simplifies and reduces the cost of the printed circuit board itself (GDDR has hundreds of pins per chip), and allows more efficient memory cooling.
high production costs, hence high final price
high integration costs due to increased design complexity
Memory frequency is a misconception
What are the numbers in the memory characteristics and how are they measured?
In the specification of the JEDEC standard there is a note that the use of the term “MHz” in DDR is incorrect, it is correct to indicate the speed of “millions of transfers per second through one data output” MT / S.
That is why writing DDR4 3600 MHz makes no sense – since the memory bus operates at a real frequency of 1800 MHz and only transmits data twice per clock. And since all this looks like 1800 * 2 = 3600, marketers immediately began to write 3600 MHz.
RAM G.Skill SNIPER X [F4-3600C19D-32GSXWB] 32 GB 14 499 *
As Intel marketers say, “the user buys GHz,” it doesn’t matter if the phrase is true.
Over time, memory manufacturers have developed a strong feeling that the term Megahertz “MHz” should be used, for the buyer it is shorter and looks more impressive. So all MHz got accustomed, despite the fact that it sounds incorrect.
How do I calculate the memory bandwidth?
The memory bandwidth directly depends on the effective frequency and width of the memory bus.
The bit width of the RAM is characterized by the number of bits with which a read or write operation can be performed simultaneously. Modern memory modules are 8 bytes or 64 bits wide. Most computers now use either dual-channel memory mode (when using two memory modules) – this is 128 bits, or single-channel (one memory module) – 64 bits. There is also a 256-bit RAM mode, but it is more common in HEDT platforms (High-End Desktop – high-performance workstation).
To calculate the theoretical bandwidth, let’s use the formula:
SRP = Effective frequency * memory bus (64 for single-channel and 128 for dual-channel) and / 8.
For example, my DDR4 G.Skill SNIPER X modules [F4-3600C19D-32GSXWB] 32 GB with an effective frequency of 3600 MHz. To find out the effective frequency, you need to multiply the real frequency by 2: 1800 * 2 = 3600
To find out the effective frequency of video memory, you need to multiply the real frequency by 4, this applies to video cards with GDDR5 memory, while for GDDR5X and GDDR6, the real frequency needs to be multiplied by 8.
An example of calculating the memory bandwidth for video cards:
For our R290X video card, the real memory frequency is 1250 MHz. Since GDDR5 memory transfers 4 times as much data per clock, you need to multiply by 4 to get the effective frequency. Since the memory bus of the video card is 512 bits, we multiply by 512.1250 MHz * 4 * 512 = 2560000 Megabits / s.
In order to get bytes, you need to divide the resulting number by 8 since 1 byte = 8 bits, 2560000/8/1000 = 320.0 Gb / s. It turns out that the memory bandwidth of this video card is equal to 320.0 GB / s.
Since the base memory speed does not change significantly from generation to generation, it is the increasing prefetch and bus with each DDR generation that helps to ensure the increase in bandwidth.