Computer RAM Types: An Explainer

[need an intro here]

To start, let’s examine what’s written on the sticker on most memory cards.

[replace this placeholder with a card matching the described spec]

From left to right, here’s what those values mean:

  • 4GB: obviously, the capacity in gigabytes of the memory card
  • 1Rx8:
  • PC3L-12800S: The most important part, specifying both the type of memory and the frequency/speed.
    • the PC3 part specifies DDR3 type memory. More on what this means in a bit.
      • Other codes you may see are PC, PC2 and PC4 (DDR1, DDR2 and DDR4 respectively. These are different generations of RAM technology, not compatible with computers meant for each other. Each new generation runs at a higher speed and uses a lower voltage than the previous. DDR1 is typically found in computers from 2000-2005, DDR2 in computers from 2006-2009, DDR3 in computers from 2010-2016, and DDR4 in 2016 to the present. There is also DDR5, which is just starting to get adopted.
    • the L means Low Voltage, meaning it runs on 1.2V instead of the usual 1.5 that DDR3 memory uses.
      • Although most computers will work with both low voltage and normal memory, there are exceptions. For example, most Intel platform laptops other than IBM/Lenovo ThinkPads from the 4th generation Core I series chipsets (2013) and newer only work with low voltage DDR3L RAM. And some laptops (Fujitsu T900 for example) using 1st generation Core I series CPUs (2010) don’t work with low voltage memory.
    • the 12800 part signifies the data throughput capacity. Divide this number by 8 to get the operating frequency of the RAM card. For example, the 12800 here means a frequency of 1600MHz. The memory card can transmit 8 bits of data to/from the CPU with each operation cycle, this is why the multiple of 8.
      • This speed is usually one of several preset speeds, not just random numbers. See the following examples. Generally, speed does not affect compatibility, but as with everything there are exceptions. Apple MacBook and MacBook Pro laptops from the 2010 and 2009 year models (ie the ones with nVidia chipsets) specifically need 1067MHz or slower, else they won’t boot (2009 year nVidia MCP79 chipset equipped model Mac laptops can boot with 1333MHz as well). And some Intel desktop PC builds with an LGA775 socket that were meant for CPUs with a 1066MHz FSB speed but are being run with a 1333MHz FSB CPU won’t work unless you put the somewhat rare 1066MHz DDR2 type RAM modules.
        • (PC)2100 – 266MHz, DDR1
        • (PC)2700 – 333MHz, DDR1
        • (PC)3200 – 400MHz, DDR1
        • (PC2)-4200 – 533MHz, DDR2
        • (PC2)-5300 – 667MHz, DDR2
        • (PC2)-6400 – 800MHz, DDR2
        • 8500 – 1066MHz, most often DDR3 but this is also available for DDR2 type
        • DDR2 1111MHz
        • (PC3-)10600 – 1333MHz, DDR3
        • (PC3-)12800 – 1600MHz, DDR3
        • (PC3-)14900 – 1866MHz, DDR3
        • 2133MHz
      • Many DDR4 cards (especially laptop ones) show the actual frequency instead of this throughput value, so you don’t divide the number written by 8 to get the frequency like you do with the others. It’s just written as PC4-2133, PC4-2400, PC4-2666, PC4-3200, etc. If you see PC4 followed by a 4 digit number, it’s probably this, not throughput.
      • This number is actually a very common misnomer – although most people call that number as a frequency in MHz, it actually isn’t. It’s actually a measure of “(mega)transfers per second” or MT/s, not frequency in Hz. A transfer is one chunk of data transmitted into or out of the RAM card, to or from the CPU. DDR, or “Double Data Rate”, memory makes two data transfers per clock cycle, hence the “double”. You’ll notice this if you try to view your RAM specs in a tool like CPU Z – it shows the frequency as half of what you’d expect, because that is the actual frequency, not “transfers per second”. However, this is so commonly known as a frequency in MHz that you’ll probably confuse more people if you call it anything else.

    • The letter S after that number signifies a sub-type. The S in this case actually doesn’t have to do with the electronic part, it just signifies SODIMM, or laptop-size cards.
      • Different types have different letters, like U, S, R, E, F, P, V, T etc. Here is what they mean:
        • U stands for “unbuffered”. This is what you’ll find on most standard desktop computer memory (full size cards).
        • if there is an E, it stands for ECC or Error Correcting Code. You’ll find this in memory for high end workstations and some servers. This is a feature that allows for random integrity errors that may occur in data stored in the RAM or as it is transferring between memory and CPU to be caught, avoiding system crashes or data corruption. In most normal use, this doesn’t matter, but it is very important in enterprise servers where a slight crash or corruption can cause a large loss of service to many users or something critical.
          • To use this, both the RAM card and the computer itself must support it. On the RAM card side, look for the E in the type code (like PC2-6400E). On the computer side, to be sure you will have to look at the specifications for your specific computer or mainboard, but in general, this feature is only supported on high end workstation or server platforms (like Intel Xeon CPUs and their chipsets). The exception is that all of AMD’s recent CPUs (FX and Ryzen series) do support it.
        • if there is an R, this stands for Registered DIMM. This means that the RAM card has an extra chip on it to act as an intermediary in the connection between the individual memory chips on the DIMM card and the computer’s memory controller (on normal cards, this connection is direct). This technology is used mostly in higher capacity cards (like higher than 8GB for DDR3 cards).
          • This type of memory card will ONLY work in some server computers and very high end workstation computers that have a registered memory controller, typically chipsets like Intel 5502, C602 and such server platforms with Xeon CPUs. Both the CPU and chipset need to support it for it to work. . If you put it in a standard computer, it won’t boot. Confirm in your computer’s specs to see if it can use this memory type.
        • if there is an F, this means a Fully Buffered DIMM. You’ll only find this on DDR2 RAM (PC2-___F). It is functionally the equivalent of the Registered DIMM DDR3 type, and just like it, only works with some server computers (and none using AMD processors) and very high end workstations. Additionally, the physical socket is slightly different from regular DDR2 memory – the notch is offset further to one side.
        • P – Not currently sure what this means, but it’s used in servers with DDR2. Mostly servers, but also some high end workstation computers (mainly multi-socket AMD Opteron CPU powered machines, like the Sun Microsystems Ultra 40 M2) will only work with this type of memory, and regular DDR2 will not work even though the card looks identical.

The Mess of Newer Computers: DDR4 speeds, XMP, QVLs

Above, I just wrote how the code printed on the labels on most RAM cards denotes the frequency that the memory chips run at. But with newer DDR4 memory, this isn’t necessarily the frequency they run at – it is the maximum frequency that they are rated to work at, and by default in most computers will run at a much lower base frequency, usually 2133 or 2400MHz, regardless of how high the number printed is. This is because 2133/2400MHz is the base speed of DDR4 in general, and any higher numbers seen are basically “overclocks”. Not overclocks as in something that would cause instability (though it may become unstable if your computer’s memory controller or memory cards are faulty or misbehaving), but overclock as in “higher than base speed”.

Many major OEM computers (Dell, HP, Lenovo, Acer, etc) have the speed automatically set to either a fixed value or the maximum that your memory cards can support. However, on basically any platform meant for self assembly, you have to manually set the speed. So if you’re seeing a speed lower than you expect, go into your computer’s BIOS settings menu, find the setting called “XMP” or “Extreme Memory Profile”, and enable it.

Some DDR4-using platforms (importantly, only a few are like this – Intel X299 chipset machines for example) are very, very picky with RAM memory cards. Not only do you need to count that you have the right type and speed of memory, you need to use specific brands and models of RAM card tested by the manufacturer, or else you may face wierd issues like not all of the RAM cards installed being detected, RAM running at the wrong speed, XMP failing to enable, random system crashes, etc.

For these, you need to find the QVL, or Qualified Vendors List, for the specific computer mainboard you have. You can find this on the Support page on the manufacturer’s website for your mainboard. This is a document that lists every single specific model of part that is compatible with your computer platform. There are usually such lists for CPU compatibility, memory compatiblity, and sometimes other core components. If you want to be sure that you’re getting memory that will work, make sure the SKU of RAM you are buying is on this list.

DDR2, DDR3, and DDR4 are most of what you’ll see dealing with computers in use today, as of writing this, But there are some older types that you might want to know:

  • EDO
  • Rambus
  • SIMM

Lookup Table