The latest memory for mainstream personal computers is DDR2. DDR2 solves some of the problems inherent with original DDR (now known as DDR1). For example, DDR2 has on-die termination, which improves signal integrity at higher clock rates.
DDR2 also solves the power and heat problem in a clever way. The actual memory core clock is 1/2 the clock rate "seen" by the system. DDR1, by contrast, clocks the core at the same speed as the external I/O clock. For example, DDR2/533 clocks at 266MHz -- but the internal core clock is 133MHz. The I/O buffer clock is 266MHz, and that's the clock rate that the system understands. To get around this seeming contradiction, DDR2 batches up four bits per clock cycle.
Since the I/O buffers run twice as fast, it really only hands off two bits per I/O clock cycle. So internally, the core is presenting data to the I/O buffers at quad data rate, but externally, the system sees two data items per clock cycle. In other words, DDR2 prefetches four data items, while DDR1 only prefetches two data items, per I/O clock cycle.
Latencies are also different. DDR1 CAS latencies could be as low as 2 clock cycles, though typical modules in OEM systems are 2.5 or 3 clocks. The DDR write latency is one clock, but as the external frequency goes up, that's too little time. So DDR2 adopts a simple algorithmic approach, where write latency is always CAS latency - 1. So if CAS is set to 4 -- typical for current DDR2 modules, write latencies are 3 cycles.
From the perspective of the system, the actual delay hasn't changed much. CAS2 for DDR400 is roughly 15ms, while CAS4 for DDR2/533 is about the same. Overall bandwidth goes up, because the relatively slow latency is for that first read of the memory row. After that, memory streams out to the system per the higher clock rate. Of course, if the system is running DDR2/400, you may see little or no gain in performance.
Power issues are addressed by lowering the voltage from 2.5V to 1.8V. As memory capacities increase, the power required by the added memory also goes up. Dr. Michael Schuette of Lost Circuits estimates that 4GB of DDR1 memory consumes 35-40W of power. The reduced voltage means power requirements also goes down, to about 25-30W for a 4GB system. The lower voltage also helps enable higher clock frequencies.
The current LGA775 Pentium 4 processors run their frontside bus speeds at 200MHz (800MHz effective). But DDR2/533 offers an effective memory clock of 266MHz. This results in reduced memory efficiency and throughput. In an ideal world, you'd like to have the frontside bus clock be synchronous with the memory clock. It's likely that Intel will increase the frontside bus speed of the Pentium 4 line later this year.
AMD, on the other hand, is faced with a slightly different issue. The Athlon 64's memory controller is built onto the CPU die itself. The positive side of this is that memory controller latencies are radically reduced, since it's running at the same speed as the processor. But it also means that AMD will need to re-spin the Athlon 64 to support DDR2. Whether they'll do that for the current CPU generation or wait until they make the move to 90nm is an open question. Given the excellent performance they've been getting from vanilla DDR400, they're certainly not hurting at present.
Other Memories
While DDR and DDR2 gets the lion's share of system sales, other memory types are vying for some OEM attention. These include QBM (quad-band memory) and Rambus' new XDR memory.
QBM support was announced by VIA with some fanfare last year. Unlike DDR and DDR2, but similar to Rambus, QBM is the product of one company, Kentron. Kentron doesn't build the memory, but rather, takes off-the-shelf DDR and uses switching technology to double the throughput. Think of it conceptually as a kind of dual-channel memory on a single module. Kentron's idea is to take lower speed, lower cost memory and effectively double the performance while keeping the clock rate low.
XDR is Rambus' latest attempt to woo PC and memory manufacturers to the company's proprietary technology. Rambus' past effort in this arena was RDRAM, which gained some sway due to Intel's original acceptance of RDRAM in the Intel 820, 850, and 860 chipsets.
XDR DRAM is really a forward looking technology. Rambus estimates that DDR2/667 may be end up being DDR2's maximum speed, though some other observers suggest the technology can progress as high as DDR2/800. Whatever the case, Rambus suggests that XDR DRAM could be the next step up in memory performance, sometime in late 2005 or early 2006. Of course, given Rambus' litigious history, it remains to be seen who might actually work with them. XDR is based on Rambus' Yellowstone signaling technology, which is clearly Rambus-owned IP. It certainly bears watching, but it's at least 18 months before the technology will become a factor. Much can change in the technology world in that time.
The scenarios are pretty simple: either you're buying a new system, or you're not. If you have an existing system based on DDR1, upgrading your memory means buying DDR1 modules. However, if you have an older system you're planning to upgrade with a new processor, it may be worth holding off and seeing what your memory needs will be when you perform that systems upgrade.
If you're in the market for a new system, then the choice is a fork in the road: AMD or Intel? If you're going the Intel route, it's really worth getting a socket T board that supports the new 900 series chipsets and DDR2 memory. As we noted in our 925X preview, the 900 series offers other useful new features, like four serial ATA ports supporting native command queuing. If you do go that route, spend the extra few dollars and get DDR2/533. Some companies are even starting to offer DDR2/667 already, though that's currently just for the overclocking set. It's unclear whether modules with the DDR2/667 label today will actually work in DDR2/667 systems when they arrive on the scene. The price premium is pretty serious, too, so for now, DDR2/533 is the performance sweet spot.
If you want to upgrade to an Athlon 64 today, you're choice is simple: DDR400. Given the natural efficiency of the Athlon 64's integrated memory controller, going with good quality, low-latency DDR400 does boost performance a bit. But weigh your decision carefully. If you can wait until autumn, you may be rewarded with support for new core logic and even DDR2 support for the Athlon 64.