TinyVGA.com: VGA Microcontroller projects

Q: What is the difference between VRAM and DRAM?

Filed under FAQ / Graphics Cards


DRAM (Dynamic RAM) used on video cards is the same technology as the main system RAM on most computers. The 'dynamic' part refers to the fact that this type of memory must be refreshed several times per minute or it will 'forget' the data it is storing. This means that DRAM has a duty cycle (a period during which the RAM is being refreshed and can't respond to external requests like reads/writes), unlike SRAM (Static RAM) which does not require refreshing, and thus is available at all times. DRAM, however, requires fewer discrete components for each bit stored, so physically takes less silicon, and thus is cheaper to manufacture.

An additional limitation of DRAM is that it can do only one thing at a time - it can either be read from or written to. There are two data transfer steps occurring on your video card. The first is to transfer data from the CPU to video RAM. The second is to transfer the video RAM data to the RAMDAC, which produces the video signal you see on your screen. The maximum amount of data which you can pump in and out of your video memory in one second is your 'video bandwidth'. Thus, the read and write operations must share the available video bandwidth, which means that the DRAM has to service both read requests from the RAMDAC and write requests from the CPU. At high pixel addressabilities and colour depths, an enormous amount of extra data has to be moved to and from the video memory, and as a result, DRAM boards may run out of bandwidth. This means that you may not be able to refresh your monitor fast enough to avoid flicker.

VRAM is a special type of DRAM which is dual-ported. It still has a duty cycle, but it can write to and read from at the same time. In practice, this means that you get double the bandwidth out of 60 ns VRAM as you would out of 60 ns DRAM (if implemented correctly on the video card).

Related links