Why the Fastest RAM Isn’t Always the Best Match for Your CPU
Every few months, fashion magazines tell women that their clothes are hopelessly out of style. Almost as often, computer magazines and enthusiast sites tell PC owners the same is true of their system memory.
But as last month’s study of the CPU/memory interface explained, it’s not the whims of fashion but the attempt to keep pace with ever-faster processors that makes PC memory a minefield of new technologies and tech jargon. One day EDO is all the rage; the next it’s SDRAM, then RDRAM, then DDR — but should that be DDR333 or PC2700? Trick question — they’re the same thing.
Let’s take a step back and sort out the morass of memory types, specifications, and standards. This article will explain what all the acronyms and numbers really mean, and how they affect your PC-buying or -upgrading decisions.
It’s All About the RAM
Every computer relies on Random Access Memory (RAM), a data storage medium that provides equally fast access to data in different locations (plus even faster “burst” retrieval from sequential or adjacent locations). Unlike read-only memory (ROM) chips or hard disks, RAM is volatile storage; it loses all data when the power is turned off.
As long as the power’s on, static RAM (SRAM) can maintain its data with no need for constant refreshes; it’s used most commonly for the CPU cache. Most PC memory, however, is dynamic RAM (DRAM), which needs constant rewriting or updating.
Since about 1998, older asynchronous types such as fast-page-mode (FPM) and extended-data-out (EDO) DRAM have yielded the market spotlight to synchronous DRAM (SDRAM), which runs in sync with the system bus — i.e., is ready with fresh data every time the CPU asks for some. Michael Schuette, technical consultant for memory vendor Mushkin Enhanced Memory Systems, says, “What it all boils down to is that running the memory synchronous with the CPU bus gives the best performance by quite a margin.”
As system bus speed increased, PC66 SDRAM (for use with a 66MHz bus) was rapidly succeeded by PC100 and PC133 memory. PC133 SDRAM is far from the performance cutting edge nowadays, but it can still be found in new entry-level or value-priced PCs.
The current generation of SDRAM is double-data-rate synchronous DRAM, usually known simply as DDR. It effectively doubles the speed — delivering twice the bandwidth or throughput — of SDRAM without increasing the clock frequency, because it transfers data on both the rising and falling edge of each clock cycle (the moments when a bit is changed from a 0 to a 1 and back again). The double-data-rate equivalent of 133MHz PC133 — and staple of today’s affordable, mainstream PCs — is DDR266. Like SDRAM, DDR runs on a 64-bit bus and can be installed in either single or pairs of modules.
DDR is the current industry standard and commonly ships in 200MHz, 266MHz, and 333MHz speeds — DDR266, for instance, yielding the best performance with the 266MHz-system-bus AMD Athlon XP 2200+, while DDR333 is the ideal match for the new 333MHz-bus Athlon XP 2700+.
System overclockers and tweakers can also play with not-officially-ratified-standard 400MHz and faster modules. Pioneers have discovered, however, that as DDR clock speeds increase, stability suffers and severe limitations are placed on the number of modules installed. For example, DDR400 is usually restricted to a single module on most platforms, which translates to a 512MB system maximum.
This has led to a less-than enthusiastic response to DDR400 and higher speeds, as any practical memory standard must span both ends of the PC market spectrum — system vendors like performance as much as anyone, but not at the sacrifice of keeping costs low and stability high. Lately, the emphasis has shifted to pairing lower-speed DDR with dual-channel memory controllers; using two relatively low-cost DDR266 modules at once offers more effective bandwidth than DDR400. Dual-channel DDR chipsets are just now reaching the market, and are likely to proliferate and gain mass acceptance in 2003.
New Label, Same Contents
Before discussing other types of memory, let’s pause for silicon identification, or the fact that DDR266 is also known as PC2100 — the numbers referring not to clock speed, as is the case with PC133 SDRAM, but to memory bandwidth. The latter term is heavily used in product reviews, manufacturers’ specs, and water-cooler debates, but exactly how these numbers are derived is still an arcane science to many.
Memory bandwidth is represented numerically by the theoretical maximum amount of data that can be passed in a second, such as 2.1 gigabytes for PC2100. To do the math, take the memory bus size, divide by 8 to convert bits to bytes, and multiply by the actual memory speed.
Taking DDR333 as an example, the 64-bit DDR bus translates into an 8-byte bus size, which multiplied by the memory speed of 333MHz (and rounded up slightly) yields 2.7GB/sec — so DDR333 is often called PC2700. Similarly, DDR400 is PC3200, and PC overclocking experimenters tinker with PC3500 a.k.a. DDR433.
RDRAM, QDR, DDR-II, and More
While DDR is the most popular PC memory type today, Intel originally campaigned for SDRAM’s successor to be Rambus DRAM (RDRAM). As it happens, high cost and industry rebellion at Rambus Inc.’s proprietary licensing schemes left open the door for DDR, but — at least until compatible dual-channel DDR chipsets appear — RDRAM is still the fastest option for spare-no-expense Pentium 4 desktops.
RDRAM is usually found in two varieties — PC800 and the newer PC1066, referring (as with SDRAM) to effective clock speeds rather than bandwidth. RDRAM works much like DDR, with PC800 being 400MHz memory with a doubled data rate. Since synchronicity with the system bus is a perfect match for performance, you can see why PC800 and PC1066 respectively are ideal partners for Intel’s 400MHz- and 533MHz-bus Pentium 4 processors.
There are two main types of desktop RDRAM, differentiated by their bus sizes — neither as broad as DDR’s 64 bits — and potential usage. Standard RDRAM or RIMM 3200 has a 16-bit bus; when used with a Pentium 4 and Intel’s popular 850E chipset, its modules must be used in pairs. The RIMM 4200 design is 32-bit, allowing modules to be installed one at a time. There’s no real difference between the two in regards to overall speed or memory bandwidth.
Ever since the Pentium 4’s debut, Intel has carried the Rambus torch with its dual-channel 850 and 850E chipsets. But today, with the prospect of dual-channel DDR333 looking to surpass even the 4.2GB/sec bandwidth of the i850E’s dual-channel PC1066, the old-school, AGP 4X, ATA/100-based i850E looks about ready to be put out to pasture — and RDRAM’s best chance for survival on the desktop might be the SiS R658 chipset, which combines all the latest bells and whistles with support for not only PC1066 but PC1200 and PC1333 RDRAM memory. Cost will certainly be a factor, but users seeking the absolute highest Pentium 4 performance may well be tempted by 1.33GHz RDRAM.
QDR and DDR-II
Meanwhile, variations on the DDR theme promise to keep things percolating. QDR or quad-data-rate memory is another proprietary format that permits four data samples per clock, basically raising the ante from DDR’s and RDRAM’s dual-pumped data access to a quad-pumped design.
This essentially provides dual-channel DDR performance in a single-module design. The results could include better stability at high clock rates, as well as a higher-than-DDR maximum for installed memory. But as of now, VIA Technologies is the only desktop chipset vendor to sign on for QDR — and as time passes and more dual-channel DDR platforms emerge, QDR’s window of opportunity seems to be shrinking.
Another intriguing technology, DDR-II, looks to get around the current limitations on DDR clock speed by enhancing the internal architecture, doubling the data fetch rate from two to four. It’s still the same DDR running at the same clock speeds, but this small enhancement has the benefit of theoretically doubling bandwidth while keeping the stability of lower-speed DDR.
For example, PC3200 DDR-II would have the same effective data rate as today’s PC3200, but the DDR-II memory would only need to run at 200MHz instead of 400MHz. This double-sided design is quite innovative, as Mushkin’s Schuette notes: “The transition to DDR-II is another story altogether. To understand DDR-II, it is essential to understand that the technology is in the first place a cost-saving feature. That is, for DDR-II/400, you need only need a PC1600 core running at 100MHz, but then you double the frequency of the output buffers.”
The actual benefits of DDR-II are a bit harder to quantify, as its architectural enhancements may not translate well to every application and determining overall performance will be impossible until actual systems appear. The first mass-market DDR-II product is not a motherboard but a graphics board, the GeForce FX platform announced this week by Nvidia Corp.
Memory Timings and Silicon Speeds
We’ve dealt with memory types, but much of a PC’s actual performance is dependent on its chipset and the memory timings selected. The former determines both memory support and the format in which data is transferred; Intel’s 850E, for instance, supports only RDRAM memory via dual-channel 16-bit pathways (or single-channel 32-bit for RIMM 4200 modules), while the company’s 845D and newer variants support only DDR via a single-channel 64-bit pathway.
Naturally, this means you can’t use DDR with an i850E motherboard or RDRAM with an i845. It also means the chipset can enhance the functionality of the memory itself: Standard PC1066 RDRAM provides 2.1GB/sec of memory bandwidth, but the dual-channel nature of the i850E effectively doubles this to 4.2GB/sec.
The chipset also affects the speed at which memory runs — the original i845E supported only 266MHz DDR, so installing faster DDR333 or DDR400 modules wouldn’t do you any good despite the extra expense. Other chipsets support asynchronous memory speeds, allowing, say, DDR333 operation with a 266MHz system bus.
Of all the performance variables, memory timings are among the most important. These usually relate to two main options: CAS (Column Address Select) and RAS (Row Address Select), settings which tell the chipset at which timings to address the rows and columns whose intersections make up bits of memory and to start and stop read/write operations. The lower the number here, the faster the timings and potentially higher the performance.
You’ve probably seen these timings expressed as three-digit numbers such as 2-3-3 or 2-2-2, representing the latency or time in nanoseconds (billionths of a second) between a request for and execution of a memory read. These timings are so important that DDR333 with 2-2-2 settings can often outperform DDR400 at higher latencies such as 3-4-4.
On DRAM modules, these timings are held in the Serial Presence Detect (SPD) EPROM chip, which is automatically initialized by the system BIOS. Although these settings can usually be manually adjusted, there’s no guarantee that memory modules can perform at lower-than-SPD ratings; that’s one reason why generic RAM can be found for extremely low prices, while name-brand 2-2-2 memory, which combines cream-of-the-crop chips and high-quality circuit boards, costs significantly more.
Adds Schuette, “So far, the position of Mushkin has been that higher memory frequencies, especially at the expense of latencies and asynchronous operation, are somewhat counterproductive. For performance, the real key is reduced latencies — ideally, 2:2:2 — combined with the lowest possible command and address-decode latencies.”
In a final shopping caveat, each memory chip has a cycle time rating, expressed in nanoseconds. It’s sort of the inverse of the clock speed; taking a 1000MHz base and dividing it by a 7.5ns cycle time rating yields a 133MHz clock speed. This is borne out by the fact that standard PC133 and DDR266 both require 7.5ns cycle times.
The formula also works in reverse, and buyers looking for high-speed DDR should ensure that the memory itself has a rating of 6ns for DDR333 (166MHz actual) and 5ns for DDR400 (200MHz actual). This is an important piece of information, as there are vendors who’ll try to pass off prime DDR266 modules as DDR333, simply because the parts may be able to handle 333MHz speeds.