Understanding video RAM memory bandwidth

The basics of memory bandwidth

One of the main things you need to consider when selecting a video card is the memory bandwidth of the video RAM. Memory bandwidth is basically the speed of the video RAM. It's measured in gigabytes per second (GB/s). The more memory bandwidth you have, the better. A video card with higher memory bandwidth can draw faster and draw higher quality images. But there's more to video cards than just memory bandwidth. You also have to consider the drawing speed of the GPU. There's little point in getting a video card with a very fast GPU and limited memory bandwidth because the memory will be the bottleneck. The GPU will spend a lot of time doing nothing while waiting for its slow video RAM. By the same token, you don't want to get a video card with a slow GPU and very high memory bandwidth. This page addresses only the subject of memory bandwidth.

The memory bandwidth is determined by the memory clock, the memory type, and the memory width. The memory clock is the clock rate of the memory chips. Current (2006) memory chips have clock rates which range from about 167 MHz to 1000 MHz. The most common memory type is double data rate (DDR) which means that it transfers two memory values for each memory clock cycle. There are also other kinds of DDR like DDR2, GDDR3, and GDDR4 and they also transfer at twice the memory clock rate. Some very old video cards still use single data rate (SDR) which transfers one value per clock cycle. The memory width of the common cards range from 32 bits to 256 bits. The maximum theoretical memory bandwidth is the product of the memory clock, the transfers per clock based on the memory type, and the memory width. For example, a video card with 200 MHz DDR video RAM which is 128 bits wide has a bandwidth of 200 MHz times 2 times 128 bits which works out to 6.4 GB/s. This table contains the video RAM bandwidth for many video cards in its RAM speed column. If you take a look at those memory bandwidths, you can see how much they vary between fast video cards and slow ones.

Be careful about memory width when buying low-end video cards!

If you check the video card table carefully, you'll notice that there are some low-end video cards which can come with either 64 bit or 128 bit memory widths. There are also some cards which can be either 32 bits or 64 bits wide. For example, the Radeon 9550 comes in both a 128 bit model and a 64 bit model. The companies design the GPUs to support a certain memory width. The memory width is matched to the needs of the GPU. Unfortunately, video card makers often make slightly cheaper models which use cheaper video RAM which only uses half of the width available on the GPU. That cuts the memory bandwidth in half and almost always seriously harms the video card's performance. Those "half-width" models usually spend lots of time with the GPU doing nothing while waiting for the slow video RAM to respond. The really sad part is that the full-width cards are usually only a little more expensive than the half-width cards. The half-width cards are usually a very bad deal if you care at all about performance. Unfortunately, many of the websites selling these video cards don't tell you the memory width or give you an incorrect value. I'm not just talking about fly-by-night websites. Some of the largest websites which list memory widths often list the full-width value even for the half-width versions of the video card. And if you buy your video cards from a retail store by reading specifications on the box you're still in trouble because most of the half-width cards don't list their memory widths at all.

So the question is, how do you determine if you're buying a half-width or full-width card? Some of the manufacturers are nice enough to provide accurate specifications which provide the clock rates and memory widths. So the safest way to be sure is to search for the exact model you are interested in on the manufacturer's website and read the technical specifications. Speaking from experience, with the low-end cards you have about a 50/50 chance of getting the information you need from the manufacturer's website. And if the information is on the manufacturer's websites, you still can't always trust it. I've seen some cases of manufacturer's websites which list the full-width value for some half-width models. I doubt it's on purpose. It usually just looks like a mistake. You also have to be careful when reading the specs on the video card because lots of things which sound like the video memory width actually have nothing to do with it. None of the following descriptions have anything to do with the memory width.

  • 128-bit floating-point color precision allows for a greater range of colors and brightness
  • Highly Optimized 128-bit 2D engine with support for new WindowsXP GDI extensions
  • 128-bit, studio-quality floating point precision through the entire graphics pipeline
  • Native support for 128-bit floating point, 64-bit floating point and 32-bit integer rendering modes
  • True 128bit studio precision color
  • 256-bit graphics architecture
  • 64-bit floating point texture filtering and blending
  • 250 MHz Engine Clock
  • 3.8 Billion texels/ sec fill rate

All of the following descriptions refer to the video memory systems.

Description Memory Type Memory Clock Memory Width Bandwidth
64/128-bit advanced memory interface ? ? 64 bits or 128 bits ?
128-bit advanced memory interface ? ? 128 bits ?
16/32 MB SDRAM SDR ? ? ?
128/256 MB DDR SDRAM DDR ? ? ?
400 MHz Memory Clock ? 400 MHz ? ?
8.0 GB/sec memory bandwidth (128bit, 500 MHz) DDR 250 MHz 128 bits 8.0GB/s
30.4 GB/sec memory bandwidth ? ? ? 30.4GB/s

You can, in many cases, figure out the memory width by carefully examining the pictures of the video card which are available on many of the websites which sell them. Newegg, for example, usually shows pictures of both sides of the video card. You can also often use google to find Internet reviews of a video card which includes closeup pictures. But in order to find the memory width from the images, you need to learn some arcane information about GPUs, circuit boards, and RAM packaging. If you don't want to learn this (fascinating only to computer geeks) information, then you should just try to find a model which has memory width information on the manufacturer's website. But if you have a limited selection of cards, then you may get stuck learning how to find the memory width by looking carefully at the card. It tends to be the low-end video cards which do not publish their true memory bandwidth. If you're buying a low-end card then you definitely have to be careful to avoid the half-width models. Those cards are not that fast in the first place and the last thing you need is to make things worse by getting a card with low memory bandwidth.

The rest of this section is a bit technical so you should probably only continue with this if you cannot find the information you need on the manufacturer's website (or you just like to be extremely careful when buying things). The first thing you need to know is what video RAM looks like. A video card has lots of silicon chips but only some of them are RAM chips. In the pictures below, the RAM chips have a green "X" on them.

RAM on Video Cards image

There are usually four or eight RAM chips on a video card but some very low-end cards have just one or two. Sometimes the RAM chips are all on the front of the card and other times half of the RAM chips are on the front and half are on the back. All of the RAM chips are identical. They're easy to identify because they are placed very close to the GPU. The GPU is a large chip which has a large heatsink and often has a fan. Some high-end video cards also have heatsinks covering the RAM chips. In cases like that, you just have to go on the manufacturer's specifications since you can't see the chips in the images.

Now you need to check the RAM chip packages. The "package" refers to the black plastic package which encloses the chip. The pictures below show the most common RAM chip packages.

Memory chips image

Memory chips image

You need to check which kind of package the RAM chips use. TSOPs (thin small outline package) have pins (the little metal wires sticking out the sides of the black plastic part) on opposite sides on the package. The TSOP 66 has 66 pins and is a very common package. The TSOP 86 has 86 pins and is much less common. You may have to look carefully at pictures of the video card and count the pins to figure out which one you're looking at. The TQFP 100 (thin quad flat pack) package has a total of 100 pins sticking out all four sides of its package. The BGA 144 (ball grid array) doesn't actually have pins which you can see. There are 144 solder balls underneath the package but it's not hard to identify BGA packages because they are just small packages with no visible pins.

The reason you need to recognize the chip package is because it helps you guess how "wide" the RAM chip is. RAM chips are a certain number of bits wide. The most common RAM chips used right now (late 2006) are 16 bits or 32 bits wide. These are usually refered to as "x16" and "x32" which are pronounced "by 16" and "by 32". The only way to be absolutely sure about the width of a RAM chip is to read the manufacturer's number off the top of the chip and then look it up (usually pretty easy with google). But the kinds of pictures you find on websites are rarely sharp enough to allow you to read the numbers so you're stuck guessing at the RAM width by looking at the packages. The TSOP 66 package can be a maximum of 16 bits wide. TSOP 66s can occasionally be 8 bits wide but that is very rare in any kind of video card you're likely to run into. If you are looking at a TSOP 66 on a video card built since about 2000, it is almost certainly a x16 RAM chip. The TSOP 66 is the "standard" x16 RAM chip so it is very common. The TSOP 86 is much less common and is normally a x32 chip. A TQFP 100 is almost always a x32 chip. BGA packages can vary a bit, but BGA RAMs on video cards are almost always x32. So if you're looking at a TSOP 66, it's probably a x16 chip. If you have any of the other three packages shown above, it's probably a x32 chip. If you have anything else, then you just have to get by with what you can find on the manufacturer's website.

To figure out the total memory width of virtually all modern video cards, all you have to do is multiply the width of each RAM by the total number of RAM chips on the card. Unfortunately, there are some exceptions to the "multiply" rule but they are fairly uncommon. Some very old video cards do not follow the rule but you shouldn't be buying those anyway. Another exception is a card where the multiply rule gives you a result which is twice the maximum number of bits supported by the GPU. In that case, of course, the real memory width is the maximum bits supported by the GPU. That case comes up occasionally when a manufacturer uses the same circuit board for two models: one with a certain amount of RAM (like 128 MB), and another with twice that amount of RAM (like 256 MB), but both models support the maximum memory width.

Half-populated card

If you're considering low-end cards then there is one very common case to watch out for. The image above shows GeForce FX 5700 LE with 128 megabytes of video RAM. This particular card has two models: the 128 MB model, and a 256 MB model. It has room for eight RAM chips on the circuit board but the 128 MB model only uses four RAM chips. The 256 MB model has all eight RAM chips. If you check the RAM width column in the video card table, you'll see that the width for an FX 5700 LE can be 64 bits or 128 bits. Many manufacturers just produce a single circuit board to make both the 128 MB and 256 MB models. Then they only include four RAM chips to make the 128 MB cards. Unfortunately, this cuts the memory width in half in every example I've been able to verify. The card shown above is a 64 bit wide card. It is extremely common to find websites selling the 128 MB version which claim that it's a 128 bit wide card even when it's actually 64 bits wide. You also find this case often with GeForce FX 5200s, Radeon 9200s, Radeon 9250s, Radeon 9550s, and others.

Once you have the memory width, you can use it and the memory type and memory clock to calculate the peak memory bandwidth. If you're looking at a video card which has two different memory widths, then it is definitely worth the trouble to make sure you know what you're getting. The marketing specifications on the models with the smaller memory width seldom go out of their way to point out the shortcomings of that model. If the marketing information doesn't clearly state the memory bandwidth, then you can usually assume the worst. And if you're looking at low-end video cards, be absolutely sure to avoid the models with half the maximum memory width. The cards with half the memory bandwidth are usually only a little cheaper but their performance is much lower.

HyperMemory and TurboCache

Both ATI and NVIDIA (two large GPU makers) have designed low-end video cards which complicate the whole memory bandwidth issue. NVIDIA's implementation is called TurboCache. ATI's is called HyperMemory. Cards which implement TurboCache are often called "TC" models and HyperMemory is often shortened to "HM". You need to watch out for these kinds of cards because their memory systems are very different from most video cards.

Both of these kinds of video cards borrow RAM from the motherboard to use as video RAM. These video cards have a total useable amount of RAM which is the sum of both the video RAM actually on the video card plus the RAM borrowed from the motherboard. These cards are produced because it's cheaper to borrow RAM from the motherboard than it is to include "real" video RAM on the video card. Unfortunately, it often results in a very slow video card.

Both HyperMemory and TurboCache video cards can get a bit shifty when it comes to their specifications. They tend to emphasize the total useable video RAM (which includes RAM borrowed from the motherboard) and deemphasize the actual amount of video RAM on the card. For example, a common model is sold as a "128 megabyte" video card but it actually only contains 32 megabytes of real video RAM. The other 96 MB is borrowed from the motherboard. You'll sell a lot more video cards claiming to have 128 MB than a video card claiming to have 32 MB so you can guess which number is printed in larger letters on the box.

But this page is about memory bandwidth. Here too, these kinds of cards are often marketed deceptively. HyperMemory and TurboCache access the motherboard RAM through a PCI-Express x16 slot. That kind of slot has a peak read speed or 4 GB/s and can simultanenously write at 4 GB/s. You can read more about this kind of slot on this page. HyperMemory and TurboCache can access the motherboard RAM simultaneously with the video RAM on the card. Unscrupulous vendors sometimes quote their memory bandwidth as the sum of the three bandwidths: the actual video RAM bandwidth, the PCI-Express x16 read speed, and the PCI-Expess x16 write speed. So they actually add 8 GB/s to the real memory bandwidth for their marketing specifications. This wildly exaggerates the real memory bandwidth of the card. While it's true that it will give you the theoretical peak memory bandwidth, you'll never even get close to that number in real life. First of all, video cards read from their RAM far more than they write to it. Adding in both the 4 GB/s read speed and the 4 GB/s write speed is ludicrous. Secondly, you need to remember that the video card isn't the only thing in your computer which needs to access your motherboard RAM. There's a voracious consumer of motherboard RAM bandwidth called the CPU which is keeping it plenty busy. The video card has to share access with the CPU so it rarely gets close to the 4 GB/s theoretical read limit.

The actual RAM on the video card is usually a very small amount of memory which has a very small memory width like 32 or 64 bits. This results in some very low real video RAM bandwidth in many models. In HyperMemory and TurboCache cards, the memory clock rate of the half-width video RAM is usually higher than the clock rate for the same model with full-width RAM so the slow models are usually faster than half the speed of the full-width models. But they're still very slow. Many of these cards only have tiny amounts of real video RAM like 16 or 32 megabytes. So most of the video card data will end up on the motherboard if you're trying to run any modern games. One upside is that the video cards are smart enough to store the most commonly used data in the video RAM on the video card. That softens the blow of having to access data stored in the relatively slow motherboard RAM.

Since the GPU can overlap accesses to both the real video RAM and the RAM on the motherboard, it's not fair to specify the memory bandwidth as just the speed of the real video RAM. But then again it doesn't get anywhere near to the video RAM plus 8 GB/s number which you often see in marketing literature. The only accurate way to check the performance is by comparing to "regular" video cards which don't borrow RAM from the motherboard. This page gives a pretty good comparison of HyperMemory and TurboCache cards to regular video cards.