RAM Specs Explained
In part 2 of this series on computer specifications, we’ll be cover random access memory (RAM). If you haven’t already I suggest checking out the precursor to this part by clicking on the following link.
Understanding Your Computer’s Specs Part 1: The Central Processing Unit (CPU)
_Apple, one of the most profitable companies in the world is renowned for its beautifully designed products. In an age…_medium.com
Random access memory otherwise known as main memory is the central data store of a computer. Before any process is executed, it must first be brought into main memory.
To help us understand the various advertised specifications for RAM, we’ll use the CORSAIR Vengeance LPX as a reference**.**
There are 4 main data points worth mentioning.
- Capacity (8GB)
- Stick Type (DDR4)
- Cell Type (DRAM)
- Clock Frequency (2400MHz)
In all likelihood you know what is meant by capacity. The CORSAIR Vengeance LPX has a capacity of 8GB = 2³ x 2³⁰ bytes where 1 byte = 8 bits. Take the capacity divide it by the width (64-bit word) and you get the number of addresses. Every address contains a sequence of 1s and 0s which could represent an instruction (i.e. add) or an operand (i.e. the A in A+B).
Unlike other storage media, RAM cells are volatile. When the power to a RAM cell is cutoff, the stored data is lost forever. This is why when your computer isn’t responding, you can reboot it in order to reset it to a known state prior to having started any applications.
There are two main kinds of RAM cells, Static RAM (SRAM) and Dynamic (DRAM). SRAM retains data bits in its memory as long as power is being supplied. Unlike DRAM, which stores bits in cells consisting of a capacitor and a transistor, SRAM does not have to be periodically refreshed. Static RAM provides faster access to data and is more expensive than DRAM. SRAM is typically used for cache whereas DRAM is used for main memory.
Stick Type / Clock Frequency
Before we start going into the specifics, you need to know that DDR, DDR2, DDR3 and DDR4 are based off of SDRAM (Synchronous Dynamic Random Access Memory). By synchronous we mean that it is synchronized to the system clock. In other words, the clock frequency of SDRAM must match the clock frequency of the motherboard.
Engineers eventually came up with a new technology known as DDR. DDR stands for Double Data Rate. A stick of DDR takes the motherboard speed and in essence doubles it, transferring two data chunks per clock cycle. With each subsequent new generation, DDR could transfer twice as much data in the same period of time.
- DDR2 — bus clock x 2 x 2
- DDR3 — bus clock x 2 x 2²
- DDR4 — bus clock x 2 x 2³
Because of this naming convention, a stick of DDR_x_ is labeled with double the real maximum clock rate at which it can operate. For example, DDR4–1333 memories are compatible with motherboards that run at 666.6 MHz, DDR4–2400 memories are compatible with motherboards that run at 1200 MHz and so on.
It is very important to understand that the advertised clock rate is the theoretical maximum the memory can use. This does not, by any means, guarantee that the memory will work at that speed. For example, if you install DDR2–1066 memories on a computer that can only (or it is wrongly configured to) access the memory subsystem at 400 MHz (800 MHz DDR), the memories will be accessed at 400 MHz (800 MHz DDR) and not at 533 MHz (1,066 MHz DDR).
Along side the advertised clock frequency, you’ll often see PCx-zzzz, where x is the technology generation and zzzz is the maximum theoretical transfer rate. Most modern architectures have 64 lines going from a memory module to the memory controller. This means that 64 bits of data are transferred every clock cycle. If you take 64 bits and divide it by the number of bits in a byte, you get 64/8=8 bytes. Multiply the clock frequency by the number of bytes (i.e. 8) and you get the maximum theoretical transfer rate in MB/s. For example, DDR2–800 memories have a maximum theoretical transfer rate of 6,400 MB/s (800 x 8).
Again, it is very important to understand that these transfer rates are the available bandwidth. When we calculate them, we are assuming that a data transfer will occur at each clock cycle , which in fact never happens because the CPU isn’t transferring data 100% of the time.
There are two main ways of determining your motherboard’s clock frequency.
Locate the model number of your computer’s motherboard and search for the manufacturer and model number on the Internet. Detailed specs of the motherboard should include the front side bus (memory bus) speed, measured in MHz.
A number of software applications are available over the Internet that can tell you the speed of the front side bus. One free program that is worth checking out is CPU-Z. CPU-Z provides detailed information about your computer, including the front side bus speed.
Multi-Channel Memory Architectures
The multi-channel architectures work by increasing the number of data wires available in the memory bus, thus increasing the available bandwidth.
In a single channel architecture, you have 64 lanes going from the memory modules to the memory controllers.
In a two channel architecture, you have 2x64=128 lanes, virtually doubling the available bandwidth. Following the same logic, a three channel architecture would have a memory bus 3x64=192 bits wide, a four channel architecture would have a memory bus 4x64=256 bits wide and so on. It’s important to note that two channel scheme requires two physical sticks of RAM. Say you want to build a computer with 8GB of RAM. In order to achieve the best performance, you must buy two 4GB memory modules to enable the dual-channel mode. If you buy a single 8GB module, you will have the same memory capacity but the memory will be accessed in the single-channel mode.
In the event you have more sockets than sticks of RAM, you have to make sure you install them in the correct memory sockets on your motherboard, otherwise you will buy two memory modules as recommended, only to end up having a system still accessing memory under a single-channel architecture. In order to make it easier for users, most motherboard manufacturers use different colors for their memory sockets. This way, you just need to remember to install the memory modules in the sockets with the same color.
When your processor has to fetch data from secondary storage (i.e. HDD, SSD), it wastes clock cycles that it could have otherwise been spent executing instructions. The more RAM capacity you have, the more room your processor has to work with, resulting in less frequent accesses to secondary storage. The speed of your RAM is relative to the memory bus. The advertised clock frequency is the theoretical maximum that can be achieved given the right hardware. If your processor and motherboard support multi-channel architectures, you can significantly increase the available bandwidth by using multiple sticks of RAM. The readers of this post are encouraged to verify the architectures and clock frequencies supported by their motherboards and memory controller to ensure they can take full advantage of the available bandwidth.