Page 1:What Is DRAM?
Page 2:Physical Versus Virtual Memory?
Page 3:What Is CAS Latency?
Page 4:Low CAS Latency Or High Data Rates?
Page 5:What Are XMP, AMP, DOCP And EOCP?
Page 6:Why Does XMP Have Two Profiles?
Page 7:What Is Flex Mode?
Page 8:Will Quad-Channel DRAM Work In Dual-Channel Motherboards?
Page 9:Why Does CPU-Z Indicate DRAM Is Only Running At X Speed?
Page 10:Why Does CPU-Z Indicate DRAM’s Max Bandwidth Is Only X?
Page 11:Why Does CPU-Z Indicate Single-Channel Mode With Two DIMMs?
Page 12:Why Isn’t All DRAM Showing, Why Isn’t It Usable?
Page 13:Why Doesn’t DRAM Run At Advertised Speed?
Page 14:How Do I Set DRAM To Run To Spec?
Page 15:How Do I Overclock DRAM?
DRAM is probably one of least understood components in a computer. Here are answers to our readers’ most common questions about memory.
What Is DRAM?
DRAM is probably one of the least understood computer components. Questions, arguments and debates abound, as do myths and misrepresentations. Therefore, the purpose of this article is to address the most commonly asked questions we hear, and to debunk some of the myths. Granted, parts of this are subjective and open to debate, which I welcome. I will quantify assertions where I can. Some of the items will also include suggestions and how-to information.
This started as a straightforward piece and has continued to grow, so we are breaking it into two pieces. The first will touch on frequently asked questions. The second will look primarily at myths that are often presented as facts. Most of these are based on topics that can get you into trouble, both in trying to set up a rig as well as financially.
We expect that readers will skip around, so some of the information might get repeated. If there are subjects you think we missed, or other answers you think would be helpful, let me know in the forums or the comments below. We will update this document periodically to keep the answers fresh.
In putting this together, I approached members of the forums, my clients, DRAM and motherboard manufacturers, IT folks with whom I network and other builders, and I also received input from those who read my "DDR3 Memory: What Makes Performance Better?"
Here’s what’s in store for Part 1, starting with a couple of basics and then getting into some meatier issues:
- What Is DRAM?
- Physical Versus Virtual Memory?
- What Is CAS Latency?
- Low CAS Latency Or High Data Rates?
- What Are XMP, AMP, DOCP And EOCP?
- Why Does XMP Have Two Profiles?
- What Is Flex Mode?
- Will Quad-Channel DRAM Work In Dual-Channel Motherboards?
- Why Does CPU-Z Indicate DRAM Is Only Running At X Speed?
- Why Does CPU-Z Indicate DRAM’s Max Bandwidth Is Only X?
- Why Does CPU-Z Indicate Single-Channel Mode With Two DIMMs?
- Why Isn’t All DRAM Showing, Why Isn't It Usable?
- Why Doesn’t DRAM Run At Advertised Speed?
- How Do I Set DRAM To Run To Spec?
- How Do I Overclock DRAM?
What Is DRAM?
DRAM stands for dynamic random access memory. Merriam-Webster defines it as "a type of RAM that must be continuously supplied with power and periodically rewritten in order to retain data." It is also often simply referred to as memory, not to be confused with hard drive-based storage, which is also often called memory. DRAM has appeared in a variety of forms/models that have evolved over the years. A more detailed description and history can be found in our 2007 article "PC Memory: Just The Facts," and in the memory section of our shorter but recently updated "How To Build A PC."
Replaceable DRAM is modular, and the DIMM (dual inline memory module) is, by far, the most common form factor for PCs. These differ from the old SIMM (single inline memory module) in that they have independent data pathways on both sides, and are also twice as “wide” with a 64-bit interface. The second most common form factor, SO-DIMM (small outline DIMM) memory is often used on extremely small PC motherboards and notebooks.
DRAM is often categorized by data rate, which is the number of times data is transferred per second.
Current DRAM types include DDR3 and DDR4, representing the third and fourth generation of DDR DRAM technology. DDR means "double data rate" and, as the name implies, transmits data twice per clock cycle (think of the top and bottom of a sine wave). Thus, DDR3-1600 has a 1600 MT/s data rate at an 800MHz clock rate.
Many manufacturers refer to their data rates in terms of bandwidth. As explained in our 2006 article, bandwidth ratings are equal to eight times the data rate. Your DDR3-1600 might be called PC-12800, but it still operates at an 800MHz clock rate.
Physical Versus Virtual Memory?
Physical memory is what actually exists on your DIMMs, whereas virtual memory is an area of your hard disk that is set aside for the system page file (also referred to as the swap file, or virtual disk). As your physical memory fills, the system will cache data that is likely to be accessed again soon to the page file. That way, it can reacquire it faster than it would if it had to reach out to a website or reopen a file, for example.
What Is CAS Latency?
This is the number of clock cycles that go by, starting from when an instruction is given and ending when the data is available. In general, the lower the CL, the better, within a given data rate of DRAM. If you have DRAM running at a data rate of 2133 MT/s, you will typically see a CL of 9, 10 or 11. The CL9 DRAM typically performs more quickly.
Latency is also the inverse of frequency. The faster something cycles, the less time a single cycle takes. That means that, every time a new memory technology doubles the number of clock cycles, the amount of time it takes each cycle to complete is cut in half. Because of that, six cycles at DDR3-1066 happen in the same amount of time as 12 cycles at DDR3-2133. Lower latency numbers do mean that the memory responds more quickly, but the amount the speed is increased depends entirely on the memory’s frequency.
Low CAS Latency Or High Data Rates?
Neither. DDR3-2400 CAS 12, for example, has 50 percent more bandwidth than DDR3-1600 CAS 8, but both of them take the same amount of time to initiate a transfer. Large packets of data will speed up nicely with the added bandwidth, but many of the programs we use show no appreciable difference, though you will see performance improvements when using the higher data rate DRAM in things like multi-tasking, working with video, imaging, CAD, VMs or applications that use large data sets.
Want to get ahead of the game? Look for a good combination of the two, like this:
1600/7 1866/8 2133/9 2400/10 2666/11 2800/12
Each of the above progressions will provide slightly better performance. Also, there are times when a lower data rate DRAM with tight timings will outperform one with a higher data rate. For example, DRAM that runs at 1866/8 will outperform 2133/10 or 11 DRAM.
You can find a tighter CL at those frequencies. Both Corsair and G.Skill have CL9 sets in 2400, and you can find a few sets of 2133 with a CL of 8.
I tend to stay away from any DRAM at 1333/10 or 11, 1600/10, 1866/11 and up and so on. With those timings and with pricing as it is, you can often find a lower data rate set of DRAM that will outperform higher data rate DRAM for the same price.
What Are XMP, AMP, DOCP And EOCP?
All of these are approaches used by motherboard manufacturers to ease the installation and setup of DRAM.
Let’s start with XMP, or Extreme Memory Profile, a standard developed by Intel that allows DRAM manufacturers to place data in the SPD of the memory (SPD, or serial presence detect, is information stored on your DRAM module). XMP provides “one-click” configuration of nonstandard data rates, timings and voltage levels, replacing previous “automatic overclocking” technologies like Nvidia’s EPP 2.0.
Not to be outdone, AMD developed AMP (often called AMD Memory Profile), which is used primarily with its own Radeon DRAM lines (the Value, Entertainment, Performance and Gamer series). The need for an AMD-specific technology emerged as DRAM companies began phasing out EPP 2.0 profiles in favor of Intel’s XMP.
Most high-performance memory lacks AMP, but that doesn’t mean XMP profiles are useless. Many motherboard manufacturers initially enabled XMP profiles on AMD motherboards with great success. The problem is that this Intel technology is optimized for Intel’s memory controllers, and as these have gotten better, the higher frequencies and tighter timings have often become unstable or nonfunctional.
Motherboard manufacturer Asus appears to have seen this coming, first naming its XMP for AMD program “DOCP” (DRAM Overclock Profiles). Gigabyte joined the group with EOCP (Extended Overclock Profiles). These motherboards now use the XMP profiles in the SPD to adapt to AMD hardware. The BIOS is often programmed to set higher timings than those found in the SPD. My Crosshair Formula takes 2400 MT/s DRAM with XMP profiles of 2400 10-12-12-31 or 11-13-13-31 and sets it to 11-13-13-35 — a little looser than the timings Intel rigs use.
Here is an example of the BIOS showing the DOCP:
PnP, which stands for "plug and play," is a feature that has been available in motherboards for some time, going back (for our purposes, at least) to the introduction of the LGA 1155 interface. Until fairly recently, PnP has been a nonentity as far as DRAM goes. Then, Kingston came out with its HyperX Fury line of DRAM. When installed at boot-up, the DRAM configures itself to the highest data rate it can run. The link shows the chipsets supported by PnP for this line of DRAM.
Why Does XMP Have Two Profiles?
Most manufacturers provide two profiles for DRAM. The first, or specification profile, adheres to the base timings as sold. The second profile is generally aimed at enthusiasts and is a little more performance-oriented, but these tighter timings might not be stable in certain configurations. Often, this is a tighter command rate, as pictured below. The command rate often needs to be increased as additional DIMMs are added.
Some DRAM with aggressive XMP profiles provide a slower secondary profile to increase compatibility, as an intermediate step between default and rated values.
What Is Flex Mode?
Intel Flex Memory technology dates back to 2004. It lets you use DRAM of different capacities to enable the exploitation of the motherboard’s multi-channel architecture whenever possible. Maybe you already have two 2GB DRAM modules and want to add a 4GB module. Generally, you would be running the 2x 2GB set in dual-channel mode (normally, slots 1/3 or 2/4). With flex mode, you can put the 4GB one in slot 1 and the two 2GB modules in slots 3/4 so that you have 4GB in each channel.
Flex mode can also take into account uneven amounts in the channels — if, say, that 4GB module were 8GB, then you would have 8GB running in dual-channel mode and the leftover 4GB as added capacity in single-channel mode. Another possibility would be to have 8GB in slot one, 2GB in slot two, 4GB in slot three and 4GB in slot four, giving you 18GB total or 16GB in dual-channel mode and 2GB in single-channel mode. This is sort of an odd setup, but I have seen it used. It is more common to have 2 x 8GB and 2 x 4GB where, ideally, it would be placed 8-4-8-4 so that 12GB is in each channel.
While this is a nice feature, I don’t suggest planning to buy DRAM to run in this manner. There are no guarantees that any DRAM you buy will play well with what you already have. We will expand on this in Part 2.
Will Quad-Channel DRAM Work In Dual-Channel Motherboards?
When you see a four-DIMM set of DRAM advertised as quad-channel, that's marketing at work. You can easily take that same set and run one DIMM in single-channel mode, two DIMMs in dual-channel mode, three in tri-channel mode or all four in either quad- or dual-channel mode.
Each stick of DRAM is an individual 64-bit device and runs as such. On a dual-channel motherboard, with two or four modules in the proper slots, the MC (memory controller) sees all the DRAM as a single 128-bit device. If three are in an LGA 1366-based motherboard or configured as tri-channel in an LGA 2011 motherboard, then the MC sees all the DRAM as a 192-bit device. Four DIMMs set up in the proper slots of an LGA 2011 motherboard for quad-channel mode are seen as a 256-bit device, rather than four 64-bit devices.
I’ve seen many people buy a four-module set with the express purpose of using two modules in two separate motherboards. However, this is rare because, usually, the four-module sets cost a little more than if you were to buy two equivalent two-module sets. This is because it takes more testing for the manufacturers to match up modules for a four-module set.
Why Does CPU-Z Indicate DRAM Is Only Running At X Speed?
The answer to this question depends on what you are looking at in CPU-Z. Two of the program's tabs are DRAM-related: the SPD tab and the Memory tab. We will get to the SPD tab in Item No. 10 below, but this question most often arises in the Memory tab of the program.
CPU-Z shows DRAM clock rate and timings, among other things, in the Memory tab. DRAM data rate is most often thought of as the DRAM’s "speed." Since this is DDR (double data rate) DRAM, the indicated frequency times two equals the data rate. If, for example, your DRAM is 1866 or better and you are seeing 667 (=1333) or 800 (=1600) or anything less than what equates to the spec of your DRAM (1866 should show ~933), then one of the following issues is occurring: your DRAM is not set up correctly, the motherboard or CPU isn't capable of running the specification data rate of the DRAM, or there is another problem.
An example is provided below:
The examples above show the DRAM after the initial installation. You can see that the Memory tab image is showing a true frequency of 668.9. Going back to our formula of frequency x 2 = effective data rate, 668.9 x 2 = 1337.8 (or basically 1333, the motherboard’s default).
In the SPD image, we see the XMP profile for 2400 MT/s DRAM. Asus uses DOCP in AMD rigs. These were described in item No. 5. DOCP-capable firmware doesn’t always read or report exact XMP timings. Here, they appear as DDR3-2400 with timings of 10-13-13-32 when its original XMP values are 10-12-12-31.
Once DOCP has been enabled, it sets the timings to 11-13-13-35 for 2400. After the timings were manually corrected, it showed the correct data rate of 2400 MT/s with the correctly entered timings.
Why Does CPU-Z Indicate DRAM’s Max Bandwidth Is Only X?
The maximum bandwidth is a setting found in the SPD tab of the program and is often misunderstood. Many people take it literally.
SPD is stored on your DRAM module and contains information on module size, speed, voltage, model number, manufacturer, XMP information and so on. What appears in the Max Bandwidth pane of CPU-Z is actually the DRAM’s default boot speed. This is what the DRAM boots up to without XMP, AMP, DOCP or EOCP enabled.
You can see an example of this in Figure 2A above, where it shows the max bandwidth of PC3-10700 667 (or a data rate of 1333, the motherboard’s default). Yet these are clearly 2400 DIMMs and can run at a frequency of 2400 (Figure 2B).
Why Does CPU-Z Indicate Single-Channel Mode With Two DIMMs?
If you see the DRAM showing as "single channel" in the Memory tab of CPU-Z and you are running two or more memory modules on a dual-channel motherboard, there are a few things that could be wrong:
- The memory modules may not be in the proper slots. Your manual should show the correct slots for the DRAM. Generally, a four-slot motherboard should use (from the CPU) slots one and three or slots two and four for a two-DIMM setup, or slots one through four for a four-DIMM setup. Most dual-channel motherboards color-code the slots for you to fill for dual-channel operation. If you’re using an odd number of memory modules on a dual-channel motherboard, you can use flex mode, which allows different sizes of DIMMs to work together. Flex mode is covered in item No. 7.
- If it’s an AMD motherboard, there is often a setting in the BIOS for ganged or unganged mode. You can manually set the DRAM to unganged (basically, single-channel mode) or ganged (dual-channel mode) regardless of which slots the modules are in.
- It’s possible the system isn’t seeing your entire amount of DRAM. Ensure that it’s showing the full amount of DRAM installed. For example, it may show only one DIMM even if two are installed, or it may be showing both but only half the amount of DRAM that it should. This can have a number of causes:
You may have a bad DIMM. Pull and clean the gold contacts. I suggest using foam swabs and isopropyl alcohol (rubbing alcohol). Erasers can leave a gummy residue. Q-Tips or cotton swabs can leave fibers on the contacts. Check each DIMM individually to ensure it can boot the system by itself. If both boot up the rig, then move to he next suggestion. If you have another set of DRAM available, try those.
It could be a single bad slot. Pull the modules and blow out the slots with compressed air. If they were in slots one/three, then try them in two/four. Some motherboards show a preference for one set of slots or the other. If you determine it’s a single bad slot, then it’s time to RMA the motherboard.
It could be a bad channel on the motherboard or the memory controller (MC) located in the CPU. If the memory modules are in slots one/three, try them in one/two and see what you have, and then try them in three/four. If both show up and the full amount of DRAM appears in one combination but not the other, then the one that doesn’t show may be bad, or the MC might be bad. If that’s the case, first try loosening the CPU cooler, then snugging it back down, but not overly tight.
Your CPU cooler may not be installed correctly. Oftentimes, the CPU cooler gets tightened too much in a corner or side, which can throw the CPU out of level so all the pins don’t make full contact, and that can result in an error.
You may have bent or broken pins; there may be debris or thermal compound in the socket or on the bottom of the CPU. Pull the CPU and check for these and other problems. If nothing changes, you'll have to take it to a shop or RMA the motherboard and/or the CPU.
Look in MSCONFIG and see if Windows is limiting your DRAM. Go to START, and type MSCONFIG in the search box. ENTER > BOOT > ADVANCED >. Ensure the Max Memory box is unchecked.
Why Isn’t All DRAM Showing, Why Isn’t It Usable?
This is a frequently asked question, but it is addressed in Item 11C above.
Why Doesn’t DRAM Run At Advertised Speed?
This is probably one of the most frequently asked questions about DRAM these days, especially since, for all intents and purposes, 1600/9 is considered the basic entry-level speed for newer systems.
Motherboards are designed to accommodate nearly any CPU compatible with their processor interfaces. But the capabilities of each CPU's memory controller can vary greatly. To that end, motherboards are designed to start new DRAM to a preset default data rate that any and all CPU/MCs can handle—typically DDR3-1066, DDR3-1333 or DDR4-2133. A few modules default to DDR3-1600 or DDR4-2400, but manufacturers rarely use those options. If you have DRAM faster than the default, it will have to be set up to run at the specified data rate for your particular kit. See the XMP, AMP, DOCP and EOCP descriptions in item No. 5and the configuration in item No. 14.
An exception to this is the new Kingston HyperX Fury line, which employs plug and play and, when installed in a supported motherboard (chipset), should automatically set itself up to run at its maximum data rate, up to and including the advertised specification.
You generally have two options for setting up the DRAM: manually, which many enthusiasts prefer in order to get the highest data rate and tightest timings, or, if you're dealing with a 1600 MT/s or faster kit, through an XMP profile (the Fury line is one of the few exceptions).
With an Intel motherboard and some AMD motherboards, you simply enable XMP in the BIOS and generally select profile one. From there, you are ready to go (if your CPU can handle the given data rate). Not all CPUs can handle every data rate, so you may have to set it up manually.
If you’re using an AMD motherboard, it may support XMP. However, it's more likely that it will have an option for DOCP or EOCP, which takes data from the XMP profile and translates it to the appropriate preset timings of the BIOS. With these motherboards, check the timings when you’re done, as the manufacturers often set them looser (higher than the timings the XMP spec provides for). Tightening them to the XMP profile can provide better performance.
How Do I Set DRAM To Run To Spec?
To answer this question, we’ll have to break it into AMD and Intel. We’ll take a look at Intel first.
Setting up DRAM on Intel rigs is fairly straightforward and easy (most of the time). Usually, there is DRAM that runs at less than 1600 MT/s and DRAM that runs at rates higher than 1600. Check your manual for the preferred slot selections (usually slot one/three or two/four on dual-channel motherboards), and look to see whether the slots are color-coded. With DRAM 1600 and up (with a few exceptions), you get XMP profiles in the SPD of the DRAM. With XMP DRAM, you simply enter the BIOS, enable XMP and select Profile 1. Depending on the actual XMP settings, you can try Profile 2 for a slight performance boost.
If there are any problems, try the following steps:
- Make sure you have the latest BIOS.
- Ensure your CPU is capable of running the frequency/data rate. If both of these requirements are met but the memory isn’t stable, a small increase in DRAM voltage or MC voltage might be needed. On Intel, I usually suggest about +5mV (0.005V) to either the DRAM voltage, the MC voltage or both. To locate the MC voltage, look for something like CPUVTT, DDRVTT, QPI/VTT or VCCIO. Some motherboards incorporate the MC voltage into the system agent voltage or VCCSA; this is seen most often in LGA 2011. Exercise caution by checking to see what other users have found to be safe and beneficial.
- If automatic configuration methods like XMP aren’t available, you can attempt to manually set the timings and voltages to rated levels.
- You can also check with the DRAM manufacturer (your best bet) or ask in the forums. We have many knowledgeable members and some DRAM tech reps, and I’m there daily.
AMD setup involves a few minor differences. Whereas with Intel, you look for XMP in the BIOS, an AMD platform without an explicit XMP setting might still have DOCP, EOCP or AMP. These are all ways to enable auto DRAM setup.
DOCP, EOCP and XMP on AMD appear to read the Intel XMP data from the SPD and then apply what the BIOS programmer considers best for a given AMD frequency, which often can be a bit looser than the specifications of the DRAM.
The same steps can be implemented for troubleshooting. Make sure you have the latest BIOS, and with AMD in particular, make sure your CPU can run the frequency/data rate. With AMD, it's much more common to have to add voltage to the DRAM and/or the MC (usually the CPU/NB voltage on AMD motherboards).
How Do I Overclock DRAM?
Overclocking DRAM is no different from doing so on a CPU or GPU. This is the approach I’ve found to be easiest for most people:
- Ensure you have the latest BIOS.
- Go to BIOS, and raise the data rate one level. If DRAM is at 1600 MT/s, bump it up to 1866. If it’s 1866, try 2133, etc.
- Raise the timings by 1-1-1-3. If the DRAM is 8-8-8-24, try 9-9-9-27. If the DRAM is 9-9-9-24, try 10-10-10-27.
- Raise the DRAM voltage and MC voltage +50mV (0.050V) each.
- Reboot, and if the boot succeeds, test for stability. Windows has a built-in memory stability tester, and many of our own overclockers use the mixed-mode “torture test” of Prime95.
If you have problems with the steps listed above, try increasing the MC voltage by another + 50mV (0.050V). Note: AMD CPUs might need even more MC voltage (normally the CPU/NB). Still not having success? Try overclocking the CPU slightly, if it can be overclocked. If not, try a slight increase in CPU voltage—about the same you tried with the DRAM and MC voltages (+0.050V).
(Editor's Note: The 1.65V DRAM limit for Intel CPUs isn't completely without merit. Many experienced overclockers have found that reducing the difference between the CPU MC and DRAM signal voltage can prolong the life of their overclocked processors, and have approached this theoretical limit from the other direction by increasing the memory controller voltage and DRAM voltage simultaneously. Recent testing of DDR4 memory controllers has also revealed several CPU samples that become less stable with memory pushed beyond 1.37V, where DDR4 starts off at 1.20V rather than 1.50V. The two points can that can be gleaned from this experience are that adding 50mV to 1.65V DDR3 or 1.35V DDR4 will likely not improve stability, and that doing so may shorten the life of the CPU. Because there are so many variables to play with, we recommend beginning overclockers consult several forum experts before exceeding 1.65V DDR3 or 1.35V DDR4 on Intel's current and previous two processor generations. Jim's advice remains valuable for these processors when applied to 1.50V DDR3 and 1.20V DDR4.)
These are rather simple approaches; if they don’t work, you can try contacting the manufacturer. However, you may not get the results you're looking for, as many manufacturers don't like it when you overclock their DRAM. Therefore, I also would suggest looking for help in the forums.