Why CPU-Z doesn’t match your memory’s advertised speeds

Robert Hallock (Thrax)

January 26, 2009 4:24 PM ET in Articles, , , , , , , , , , , , ,

Ultra-fast DDR2 modules, like PC2-8500, have created a tremendous amount of confusion. Users all over the globe are being caught off guard when their new memory does not automatically run at the advertised speeds. This growing problem has created a groundswell of complaints filed with today’s top enthusiast memory vendors. Why is this happening? Why is your memory slower than what’s on the box? Read on to find out why it’s happening, why your purchase is safe, and how to fix the issue.

How DRAM is born

JEDEC developed this logo to indicate ESD sensitivity.

JEDEC developed this logo to indicate ESD sensitivity.

From start to finish, a given memory standard (like DDR or DDR2) is the result of an arduous process that represents years of corporate R&D guided by the JEDEC Solid State Technology Association. Developed in 1958 to create standards for semiconductor devices, JEDEC now hosts more than 300 global members and maintains a vast portfolio of extremely important standards for electronic devices.

While JEDEC continues to guide the development of vacuum tubes, semiconductor packages and even electronic safety symbols, their chief role for us enthusiasts is their oversight in the production of 21 and growing open memory standards.

When it is time to develop a new PC memory standard, members of JEDEC come together to develop that memory for the good of the industry. Corporations disclose their patents and contribute significant intellectual property to ensure that the final standard is a blueprint for a technology that everyone can build and benefit from. Without JEDEC, today’s PC landscape would be a tangle of mutually incompatible components, if it even existed in its current form at all.

What do JEDEC standards define?

Modern PC memory is a product that has been described down to the smallest detail in its blueprints. JEDEC standards define every element of the size, shape, function and interoperability of a module, but most importantly to you the standards define how fast that module should operate.

JEDEC defines standard operating frequencies for modules so CPU, motherboard and other circuit manufacturers can build compatible parts. When JEDEC feels comfortable that the standard is ready for release, it is considered ratified. Three particularly relevant standards have been ratified by the JEDEC:

JESD79-2E & JESD208 for DDR2

These two documents join forces to describe five different grades of memory that qualify as JEDEC-compliant memory modules:

These five grades are the official flavors of DDR2.

The official flavors of DDR2 SDRAM.

JESD79-3C for DDR3

This document describes four different grades of memory that qualify as JEDEC-compliant memory modules:

The official flavors of DDR3 SDRAM.

The official flavors of DDR3 SDRAM.

Programming a memory module

The EEPROM used to store SPD information.

The EEPROM used to store SPD information.

Once JEDEC defines a new memory standard and memory starts getting produced to specification, how does a computer know what kind of module it’s talking to? The motherboard relies on JEDEC standard 21-C that outlines the Serial Presence Detect, better known as SPD, mechanism.

The SPD mechanism is contained in a small EEPROM chip located at the end of a memory module. This little chip contains just 128 bytes of information which describes the rated speed, latencies and voltages for the module in question. As an example, the SPD settings for a DDR2-800 module might describe a 400MHz frequency, 5/5/5 timings and a 1.8v voltage requirement. If you need to run that module at DDR2-667 speeds, the SPD EEPROM can set the right motherboard parameters because DDR2-667 is an official JEDEC standard.

Yet, what happens when you use frequencies for which there is no JEDEC standard?

Exceeding JEDEC frequencies

While JEDEC ratified PC2-8500 in November of 2007, an overwhelming majority of the PC2-8000, PC2-8500 and PC2-9200 modules are PC2-6400 modules at their heart.

This 2GB PC2-8000 module from mid-2008 is really a PC2-6400 DIMM.

This 2GB PC2-8000 module from mid-2008 is really a PC2-6400 DIMM.

In the case of DDR2, memory vendors prefer the PC2-6400 module because it is inexpensive to obtain, manufactured under a long since perfected process, and tremendously reliable. Few of today’s modules are actually manufactured to the JEDEC-ratified PC2-8500 standard, so these modules do not contain SPD settings for their advertised speeds.

Lacking SPD settings for the advertised speeds, these modules default to the fastest speed available in the SPD EEPROM. This means that, as in the above image, a majority of these modules will boot at the default DDR2-6400 frequency of 400/800MHz. Other modules may boot to and identify at an even safer speed of 333/667MHz (DDR2-5300). In effect, it is the responsibility of the user to manually adjust their system BIOS to match the parameters for the memory as outlined by the manufacturer. Some recent developments have helped automate this process, and we’ll touch on those later.

Certifying unratified speeds

It is important to understand that enthusiast memory manufacturers, almost as a rule, do not produce their own modules. Everything but the cooling assembly is developed by and ordered from companies like Samsung and Elpida who are known for developing DDR DIMMs that are capable of much more than advertised.

Enthusiast memory vendors cannot go out and order a special module capable of achieving outrageous speeds. A vendor must be content to order one model of PC2-6400 or one model of DDR3 which is then sorted into different speeds and product price points through a process known as speed binning.

Once a vendor receives their shipment of generic modules, the entire batch is rigorously tested to evaluate their potential for speed. Some modules don’t make it to PC2-8500 or DDR3-2000; those modules get packaged and sold at a speed that’s safe and stable for long-term operation. The modules that do make the grade are packaged and sold at a premium befitting their scarcity and the effort spent to certify them for speeds not recognized by JEDEC. The remainder of the modules are packaged and sold at various speeds and price points that fulfill the sales quotas of the vendor in question.

Given that the vast majority of enthusiast DDR2 modules are actually speed binned PC2-6400 modules, you can begin to see why motherboards are defaulting to PC2-6400 speeds. The motherboard may not know any better until you tell it. You really do have memory that operates at its advertised speed, you just haven’t told the computer how to do that yet.

Expanding SPD

CPU, motherboard, chipset and memory manufacturers began to realize that it was often too much trouble for a user to set their own unstandardized speeds. In response to the growing issue, NVIDIA developed the Enhanced Performance Profile (EPP) standard, and Corsair helped Intel developed the EXtreme Memory Profile (XMP) standard.

These competing formats program additional frequency, timing and voltage data to an unused portion of the SPD EEPROM. In this way, XMP and EPP-ready modules can tell XMP or EPP-compatible motherboards about vendor-certified memory parameters in much the same way that SPD can tell a motherboard about JEDEC-certified standards.

The problem, as you might begin to notice, is that the standards are mutually incompatible. EPP-ready motherboards aren’t XMP-ready, nor can they read XMP data, and vice versa. This leaves the  entire industry three steps forward and two steps back in eliminating the confusion born out of manually configuring a system’s BIOS for enthusiast memory. Unfortunately, there seems to be no end in sight.

The final word

With no expected resolution to the XMP/EPP standards war, you should expect to be responsible for configuring your motherboard to match the settings for your new memory. If you’ve not been in the BIOS to manually adjust frequency, timing and especially voltage settings, don’t be surprised if programs like CPU-Z identify your module as a slower DDR2 or DDR3 module than you paid for.

You haven’t been defrauded, you haven’t been robbed, and you’re not out of luck. Consult your motherboard’s manual for guidance in setting the proper parameters, or come request help in our world-class support forums. CPU-Z will match your memory’s retail package in no time, we promise.

6 Comments

  1. daveh551

    Robert,
    Great article. Thanks so much for the explanation. I just built a new Core i7 machine over the weekend with DDR3-1600 memory, and couldn't figure out why the BIOS was showing it as 1066. You saved me an embarassing call to the tech support dept at my vendor.

  2. Thrax

    Glad we could help, Dave. Thanks for stopping by.

  3. Isme

    Heh heh - now if only the memory vendors will package the memory with all the possible settings. Unfortunately in their haste to market memory as simple to install, many vendors fail to advertise any but the most basic settings (likePC2-8500) -- leaving it to the user community to discover and then seed the settings to the internet. ANd that does not always happen effectively, efficiently or in a timely manner.

  4. shwaip

    you should talk to ryderocz - he'll get right on it.

  5. Shorty
    Heh heh - now if only the memory vendors will package the memory with all the possible settings. Unfortunately in their haste to market memory as simple to install, many vendors fail to advertise any but the most basic settings (likePC2-8500) -- leaving it to the user community to discover and then seed the settings to the internet. ANd that does not always happen effectively, efficiently or in a timely manner.

    But doesn't approach take the fun out of it? Enthuiasts prefer to find out for themselves, that's one of their unofficial goals

  6. rassjrsjr

    Hello, Is there anyone who has the time to tell a retired disabled vet. what to set the bios to on my pc for my new memory. I'm sorry i just don't understand it. I have a asus P5Q pro turbo with a Q9550 cpu and installed 4 kingston KHX8500D2 for 8gig @ 1066 total cpuz says that they are pc2 6400 (400mhz) any one who has time to help me would be greatly appreciated I'm lost and confused. Thanks for your time

Troll-free since 2003 ®

Why ask?