DDR DRAM FAQs And Troubleshooting Guide

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:

  1. What Is DRAM?
  2. Physical Versus Virtual Memory?
  3. What Is CAS Latency?
  4. Low CAS Latency Or High Data Rates?
  5. What Are XMP, AMP, DOCP And EOCP?
  6. Why Does XMP Have Two Profiles?
  7. What Is Flex Mode?
  8. Will Quad-Channel DRAM Work In Dual-Channel Motherboards?
  9. Why Does CPU-Z Indicate DRAM Is Only Running At X Speed?
  10. Why Does CPU-Z Indicate DRAM’s Max Bandwidth Is Only X?
  11. Why Does CPU-Z Indicate Single-Channel Mode With Two DIMMs?
  12. Why Isn’t All DRAM Showing, Why Isn't It Usable?
  13. Why Doesn’t DRAM Run At Advertised Speed?
  14. How Do I Set DRAM To Run To Spec?
  15. 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:

Figure 2AFigure 2A

Figure 2BFigure 2B

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:

  1. 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.
  2. 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.
  3. 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:

  1. Make sure you have the latest BIOS.
  2. 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.
  3. If automatic configuration methods like XMP aren’t available, you can attempt to manually set the timings and voltages to rated levels.
  4. 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:

  1. Ensure you have the latest BIOS.
  2. 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.
  3. 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.
  4. Raise the DRAM voltage and MC voltage +50mV (0.050V) each.
  5. 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.

MORE: Best Memory
MORE: Memory in the Forums

Jim Reece is a Contributing Editor for Tom's Hardware, covering Memory.

Follow Tom's Hardware on Twitter, Facebook and Google+.

This thread is closed for comments
46 comments
    Your comment
  • Nuckles_56
    Thank you for this useful and informative article
  • das_stig
    With AMD motherboards, you should set the memory to unganged mode for a tiny performance improvement unless you're running a webserver.
  • vicstead
    Thank you Jim for this very informative article, an enjoyable read.
  • Mahruay
    Nice read although could you explain what real world improvements can be seen in faster RAM.
  • boju
    Nice article, answers a lot for people and definitely will link for future references. I need to ask though, is there any reason to discriminate DDR3 as per title?
  • TechyInAZ
    Wow this is very informative thank you for this!!
  • MPA2000
    Lost me after Virtual v Physical.
  • clonazepam
    I hope the next part covers performance when using say 3 sticks, where 2 are dual channel, 1 is single channel. Some real world results would be stellar (maybe as a follow-up?)

    I'd also like to see RAM drives covered. Suppose you allocate 4GB out of 16 for a RAM drive. How does the software create the 4GB? Is it using a single chunk of memory, is it taking 1GB from each of the 4 sticks? Is it from the beginning, middle or end of the 16GB of memory?

    Covering how to identify true "memory leaks" versus a more common scenario where RAM usage grows intentionally from the caching of more and more assets.
  • damric
    Great article, Tradesman! I give it Two thumbs up and two big toes up too!

    Only 1 issue:

    Ganged vs Unganged: that actually doesn't have to do with single or dual channel.

    Quote AMD:
    Ganged mode means that there is a single 128bit wide dual-channel DRAM Controller (DCT)
    enabled. Unganged mode enables two 64bit wide DRAM Controllers (DCT0 and DCT1).
    The recommended setting in most cases is the Unganged memory mode. Ganged mode may allow slightly
    higher Memory performance tuning and performs well in single-threaded benchmarks.
    Depending on the motherboard and BIOS, it may be required manually setting the timing parameters for each
    DCT (in Unganged mode) when performance tuning the memory or fine tuning the timings. Some BIOS
    versions apply the same timings automatically for both DCTs in an Unganged mode.


    Unganged is like a normal divided highway with two directions. Ganged let's traffic use all of the lanes in one direction at a time. Unganged is said to be more efficient but no one really ever tested this thoroughly to see if any applications would be better served in ganged instead. You could still have unganged single channel or dual channel, and ganged single channel or dual channel. If that's confusing I'll try to explain with more complicated interstate highway anecdote.

    Lastly, I see you have a new AMD rig. Did your head explode when you saw how much more difficult it is to tune memory on that platform than on your past intel rigs?
  • Shankovich
    Awesome article! These kinds of articles is what brought me to Tom's in the first place years ago!
  • nottheking
    I did spot an error already: the article gives the wrong definition of virtual memory. It's a common misconception that "virtual memory" simply encompasses the page file, but in the simplest terms, it's actually a step HIGHER on the hierarchy: It encompasses (or rather, points to) both physical memory and page file.

    In a bit more precise/technical description, Virtual Memory is perhaps the oldest form of virtualization in widespread PC use: Intel introduced it to the PC market with their 80286 in 1982.

    By "virtualization" it means that as far as each process and program is concerned, it has a FULL memory address range available to it, without having to be programmed to consider what other processes might be using at the exact same time. This is handled by the CPU's Memory Management Unit: it takes the entire range that a single process uses, and then maps that to ACTUAL addresses, distributing it so that there is no "overlap" where two processes wind up using the same space. (which very obviously could lead to problems)

    Virutal memory predated the invention of the page file; originally, this meant that because there was a rather finite amount of physical memory, a single process would likely only get a fraction of the available space. A page file, however, allows the CPU's MMU to also map addresses to space on a HDD (or SSD today) so that it can have an effectively arbitrary amount of space, so that there can be even multiple processes that have more memory allocated to them than the machine has available physical memory.

    In sum: Virtual Memory isn't a type of memory, it's a memory management technology. It's not tangible, it's "virtual," as the name implies. Page File is the actual space on a HDD/SSD used for extra RAM addresses.
  • Tradesman1
    1937464 said:
    Nice read although could you explain what real world improvements can be seen in faster RAM.

    _________________________

    In my article "DDR3 Performance: What Makes Memory Perform Better?" (link below) I ran some test using WinRAR with different DRAM data rates and configurations, then ran the same tests while running a number of other apps to quasi simulate a multi-tasking environment

    http://www.tomshardware.co.uk/dram-benchmark-fluctuations,review-33154.html

    this is an excerpt

    "I'm not a big fan of most benchmarks, in large part because most of them don't really use the DRAM. In other words, there are lots of gaming benchmarks available, but most gaming is centered entirely on the CPU or the GPU, and DRAM isn't much more than a conduit for data to flow through. I've long said that having more higher-frequency DRAM tends to show the strength of it more when multitasking or using memory-intensive applications. Earlier, I used WinRAR as a benchmark to provide examples of changes between 2400 and 1600 DRAM, as well as in different amounts (8GB, 16GB and 32GB) at 2400. As I expected, the completion time took longer with the lower frequency of 1600 using 32GB, as well as when using smaller amounts of DRAM. Taking it a step further, though not something one can truly and fully quantify, I experimented with running multiple applications and then running WinRAR to compress the same file used earlier. The "simulation" consisted of opening 10 tabs in Chrome to a page that changes, running a Malware Bytes scan and running Geekbench along with WinRAR. I came up with these numbers (again, it's the average of the mid three of five tests) on the Intel system"


    Original WinRAR Score Multitasking Score
    2400 32GB 3.06 5.29
    1600 32GB 4.01 6:56
    2400 16GB 3.31 6:24
    2400 8GB 4.16 8:13
    When multitasking, you can see even bigger gains with the additional DRAM."

    So while DRAM with higher data rates and more DRAM can improve performance even when simply single tasking, it tends to shine more when multi-tasking

    T
  • Tradesman1
    133566 said:
    Nice article, answers a lot for people and definitely will link for future references. I need to ask though, is there any reason to discriminate DDR3 as per title?

    ______________________________

    DDR and DDR2 pretty much stuck to JEDEC standards and DDR4 is still in it's infancy of availability. , DDR3 which is the most common DRAM at present, is and has been for some time now has gone through numerous changes. Originally only intended to run up to 1600 (per JEDEC standards) , people wanted faster and faster DRAM and the manufacturers responded with 1866, 2000, 2133, 2400 and continue to expand to 3000 and higher. We had 2400 and 2666 before JEDEC ever got around to publishing (which were already outdated at the time) specs for 1866 and 2133. Additionally, the chip industry has changed, today most all DDR3 sticks are made using 4Gb memory ICs (chips) where earlier they were made with 2Gb, thus many older socket 775, 1156, etc mobos that were designed for the earlier versions of low density memory chips can't use the newer high density DRAM modules. We've also seen Kingston come out with DDR3 that runs off PnP rather than the more traditional and long standing XMP 'standard' .

    Much of the above is covered more heavily in Part 2, which primarily explores myths and fiction related to DDR3, My working title for this piece was "DDR3: FAQs and Fiction" , it was intended as a 'troubleshooting guide', I'm not sure where that came from ;)
  • Tradesman1
    2003240 said:
    Lost me after Virtual v Physical.


    ______________

    If any particular questions, feel free to PM me, I go by Tradesman1
  • Tradesman1
    389923 said:
    I hope the next part covers performance when using say 3 sticks, where 2 are dual channel, 1 is single channel. Some real world results would be stellar (maybe as a follow-up?) I'd also like to see RAM drives covered. Suppose you allocate 4GB out of 16 for a RAM drive. How does the software create the 4GB? Is it using a single chunk of memory, is it taking 1GB from each of the 4 sticks? Is it from the beginning, middle or end of the 16GB of memory? Covering how to identify true "memory leaks" versus a more common scenario where RAM usage grows intentionally from the caching of more and more assets.


    ______________________________

    Part 2, as written primarily addresses additional common thoughts and statement, most of which aren't true or are often misconstrued, taken out of context.

    Your last two points are ideas I have for articles, the first suggestion where Flex Mode is being used, would be a bit hard as there is never a guarantee when mixing DRAM - i.e. it's possible I could take a pair of 4GB sticks, say Brand A and Mix the with a 2GB stick, say Brand B, and it might work fine for me, but it's possible/probable the same mix of sticks won't work for most people who might try it. It's neveer a good idea to mix DRAM from different packages.
  • snir_va
    The description of physical vs virtual is not correct. Virtual memory is memory that has it's address translated through a memory management system. For example, every process can believe it's memory starts at zero and the hardware translates that to where the physical memory really resides. This is true with or without memory swapping to disk.
  • Tradesman1
    410076 said:
    Great article, Tradesman! I give it Two thumbs up and two big toes up too! Only 1 issue: Ganged vs Unganged: that actually doesn't have to do with single or dual channel. Quote AMD: Ganged mode means that there is a single 128bit wide dual-channel DRAM Controller (DCT)
    enabled. Unganged mode enables two 64bit wide DRAM Controllers (DCT0 and DCT1).
    The recommended setting in most cases is the Unganged memory mode. Ganged mode may allow slightly
    higher Memory performance tuning and performs well in single-threaded benchmarks.
    Depending on the motherboard and BIOS, it may be required manually setting the timing parameters for each
    DCT (in Unganged mode) when performance tuning the memory or fine tuning the timings. Some BIOS
    versions apply the same timings automatically for both DCTs in an Unganged mode.
    Unganged is like a normal divided highway with two directions. Ganged let's traffic use all of the lanes in one direction at a time. Unganged is said to be more efficient but no one really ever tested this thoroughly to see if any applications would be better served in ganged instead. You could still have unganged single channel or dual channel, and ganged single channel or dual channel. If that's confusing I'll try to explain with more complicated interstate highway anecdote. Lastly, I see you have a new AMD rig. Did your head explode when you saw how much more difficult it is to tune memory on that platform than on your past intel rigs?


    ______________________

    Thank you, that snippet was rather poorly written and should of been explained more in depth (as you have done). I've scheduled myself for 1,000 lashes ;)

    As to the new rig, I primarily built it for use in helping people on the forums and testing/research, am fairly constantly changing components and also using for the Win10 beta
  • PaulBags
    Quote:
    Great article, Tradesman! I give it Two thumbs up and two big toes up too! Only 1 issue: Ganged vs Unganged: that actually doesn't have to do with single or dual channel. Quote AMD: Ganged mode means that there is a single 128bit wide dual-channel DRAM Controller (DCT)
    enabled. Unganged mode enables two 64bit wide DRAM Controllers (DCT0 and DCT1).
    The recommended setting in most cases is the Unganged memory mode. Ganged mode may allow slightly
    higher Memory performance tuning and performs well in single-threaded benchmarks.
    Depending on the motherboard and BIOS, it may be required manually setting the timing parameters for each
    DCT (in Unganged mode) when performance tuning the memory or fine tuning the timings. Some BIOS
    versions apply the same timings automatically for both DCTs in an Unganged mode.
    Unganged is like a normal divided highway with two directions. Ganged let's traffic use all of the lanes in one direction at a time. Unganged is said to be more efficient but no one really ever tested this thoroughly to see if any applications would be better served in ganged instead. You could still have unganged single channel or dual channel, and ganged single channel or dual channel. If that's confusing I'll try to explain with more complicated interstate highway anecdote. Lastly, I see you have a new AMD rig. Did your head explode when you saw how much more difficult it is to tune memory on that platform than on your past intel rigs?

    The way it's explained in the article is each dimm is 64-bits wide, with dual etc channels meaning 2 or more dimms present as one device. If ganged presents as 128-bit wide then by this definition it would be two dimms in dual channel, where as unganged as two seperate 64-bit devices would be two dimms in single channel.

    I would like to see the pros/coms of multi/single channel; it seems to me it would all still add up to the same bandwidth, but there must be a reason why they came up with dual etc.
  • Tradesman1
    42966 said:
    I did spot an error already: the article gives the wrong definition of virtual memory. It's a common misconception that "virtual memory" simply encompasses the page file, but in the simplest terms, it's actually a step HIGHER on the hierarchy: It encompasses (or rather, points to) both physical memory and page file. In a bit more precise/technical description, Virtual Memory is perhaps the oldest form of virtualization in widespread PC use: Intel introduced it to the PC market with their 80286 in 1982. By "virtualization" it means that as far as each process and program is concerned, it has a FULL memory address range available to it, without having to be programmed to consider what other processes might be using at the exact same time. This is handled by the CPU's Memory Management Unit: it takes the entire range that a single process uses, and then maps that to ACTUAL addresses, distributing it so that there is no "overlap" where two processes wind up using the same space. (which very obviously could lead to problems) Virutal memory predated the invention of the page file; originally, this meant that because there was a rather finite amount of physical memory, a single process would likely only get a fraction of the available space. A page file, however, allows the CPU's MMU to also map addresses to space on a HDD (or SSD today) so that it can have an effectively arbitrary amount of space, so that there can be even multiple processes that have more memory allocated to them than the machine has available physical memory. In sum: Virtual Memory isn't a type of memory, it's a memory management technology. It's not tangible, it's "virtual," as the name implies. Page File is the actual space on a HDD/SSD used for extra RAM addresses.

    ___________________________________

    Thank you, this is another area that I should have gone further in depth with. As I mentioned, early on in the piece, originally this was planned as a fairly straight forward informative article and just continually grew. In this particular section I should have titled it differently as I was thinking of the page file as the virtual disk, swap file as what most think of as the systems virtual memory. My apologies to all.
  • rdc85
    410076 said:
    ...Ganged vs Unganged: that actually doesn't have to do with single or dual channel...


    Thanks for info, I'm always confused about them, seems no different in performance if i chose one or another..
    still not get about the pro or cons about choosing one or another...

    1333705 said:
    .... Taking it a step further, though not something one can truly and fully quantify, I experimented with running multiple applications and then running WinRAR to compress the same file used earlier. ... ...So while DRAM with higher data rates and more DRAM can improve performance even when simply single tasking, it tends to shine more when multi-tasking...


    One thing that I know to have benefit greatly of having big and fast RAM, is when running CHKDSK (checkdisk)..
    It will fill your RAM in no time...

    edit: great article btw..
  • Tradesman1
    [

    "Thanks for info, I'm always confused about them, seems no different in performance if i chose one or another.. still not get about the pro or cons about choosing one or another..."

    Yeah, unganged is a bit better with mutiple threads while ganged seems better with single threaded operations, most leave it as unganged

    [

    "edit: great article"

    Thanx
  • nottheking
    Quote:
    Thank you, this is another area that I should have gone further in depth with. As I mentioned, early on in the piece, originally this was planned as a fairly straight forward informative article and just continually grew. In this particular section I should have titled it differently as I was thinking of the page file as the virtual disk, swap file as what most think of as the systems virtual memory. My apologies to all.

    Not a problem to me. Mostly just that, since I predict this article will likely be an often-referenced one, (an opinion I can see I'm not alone in, judging by other other replies) it'd be best to make sure to avoid being misleading.

    A corrected section likely wouldn't have to be anywhere NEAR as long as my reply there, (I'm more known for being thorough vs. concise) but should definitely specify that it's the "page file" is what the extra space on-disk is, and perhaps "virtual memory" can be abstracted to simply mean "technology that lets programs use all the memory space they want, including page file."
  • Dan414
    Great article, thanks!

    Would love to see some common symptoms of a "bad" stick when you write the second half.

    I had a second computer (for my boys) that I struggled with getting to run right for months - turned out to be bad memory. I had blue screens and random restarts until swapping in some known good memory.
  • Tradesman1
    42966 said:
    Quote:
    Thank you, this is another area that I should have gone further in depth with. As I mentioned, early on in the piece, originally this was planned as a fairly straight forward informative article and just continually grew. In this particular section I should have titled it differently as I was thinking of the page file as the virtual disk, swap file as what most think of as the systems virtual memory. My apologies to all.
    Not a problem to me. Mostly just that, since I predict this article will likely be an often-referenced one, (an opinion I can see I'm not alone in, judging by other other replies) it'd be best to make sure to avoid being misleading. A corrected section likely wouldn't have to be anywhere NEAR as long as my reply there, (I'm more known for being thorough vs. concise) but should definitely specify that it's the "page file" is what the extra space on-disk is, and perhaps "virtual memory" can be abstracted to simply mean "technology that lets programs use all the memory space they want, including page file."

    ___________________

    Will check into this, I think it's doable, and again thank you for the input ;)


    1854881 said:
    Great article, thanks! Would love to see some common symptoms of a "bad" stick when you write the second half. I had a second computer (for my boys) that I struggled with getting to run right for months - turned out to be bad memory. I had blue screens and random restarts until swapping in some known good memory.

    ____________________
    Symptoms can vary, and can actually include a number of possible causes, when you first put a rig together, it can be a good idea to run Memtest86 on each stick individually (running multiple sticks can actually cause false positive errors. I normally run 4-5 passes and if good leave things at that unless problems develop. Then down the road if you start getting unexplained BSODs, freezes, etc thet can be indicative of DRAM (or again, other) problems. Overall, DRAM failure rates are extremely low and of the 'failures', or DRAM that gets RMAed as defective, more often than not there's nothing wrong with the sticks, but the problems with the DRAM come from users not knowing how to set it up to run to spec or people trying to mix DRAM from different packages. The second part is already written and winding it's way through the system, the tentative publication date is 17 June, and has been titled "The Most Common DDR DRAM Myths Debunked.".

    As written it covers the following 'myths' and is a continuation of this first piece,

    It’s DDR3, all DDR3 is the same.
    Just add more DRAM, it will be perfectly fine.
    There are only a couple of companies that make DIMMS then they all get rebranded.
    Your motherboard supports 3200 DRAM so you can use any DRAM you want.
    Mixed DRAM can only run at the speed (or timings) of the slowest DIMM you are using.
    Just buy 2 sets of two DIMMs rather than those more expensive 4 DIMM sets, it’s cheaper.
    If you fill all four DRAM slots it will run faster.
    You won’t see any performance gain with DRAM faster than 1600.
    8GB is all anyone needs (or 8GB is all you’ll need for the next X Years).
    You’ll never use or need 16GB (or 32GB or 64GB or….)
    More DRAM won’t speed things up any.
    A 64bit OS will let you run all the DRAM you want.
    1.65 DRAM will damage your Intel CPU.
    Putting DRAM in dual channel doubles the data rate, or is twice as fast.