RAM or Random Access Memory is an incredibly important part of any modern computer. The CPU (central processing unit) of a computer needs data and instructions in order to perform work. That information has to be stored somewhere. The “somewhere” is referred to as computer memory.
There are various types of RAM memory, each with their own pros and cons. CPUs have a very small amount of memory built into them, known as the CPU “cache”. This memory is incredibly fast and essentially part of the CPU itself. However, it is very expensive and so can’t be used as the primary memory of the computer.
That’s where RAM comes into play. RAM comes in the form of silicon computer chips, attached to a memory bus. The cache memory on the CPU itself is actually also a form of RAM, but when the term is generally used, it refers to these memory chips that sit outside of the CPU.
A memory bus is simply a dedicated set of circuits that move information between the CPU and the RAM itself. The operating system moves information from the much slower mechanical or solid-state hard drive of the system, in preparation for the CPU’s needs. For example, when a video game is “loading”, data is being moved from the hard drive to RAM.
As an analogy, think of RAM as the top of a desk and the drawers as the hard drive, with you yourself acting as the CPU. It’s fast and easy to work with items that are on the desk, but there’s only so much room. Which means you need to move things between the desk surface and the drawers as you need them.
Computers, smartphones, game consoles and every other type of computing device in use today has some type of RAM. We’ll be going over each one, explaining how it works and what it’s used for. Specifically we’ll be covering the following types of RAM:
- SDR RAM
- DDR SDRAM
Don’t worry if that sounds like intimidating gibberish. It will all become very clear shortly.
SRAM – Static Random Access Memory
One of the two primary types of RAM, SRAM is special because it doesn’t need to be “refreshed” to retain the information it’s currently storing. As long as there’s power flowing through the circuits, the information stays right where it is.
SRAM is built from a number of transistors (4-6) and is incredibly fast thanks to its nature. It is however relatively complex and expensive, which is why you’ll find it in CPUs put into service as hyper-fast cache memory.
There are also small amounts of SRAM cache wherever data has to move quickly, but might be bottlenecked. Hard drive buffers are a good example of this use case. Wherever a device has to more data around, chances are there will be some SRAM helping smooth that transfer out.
DRAM – Dynamic Random Access Memory
DRAM is the other common type of RAM design. DRAM memory is built using transistors and capacitors. Unless you refresh each memory cell, it will lose its contents. This is why it’s called “dynamic” rather than ”static”.
DRAM is much slower than SRAM, but still much faster than secondary storage devices like hard drives. It’s also far cheaper than SRAM and it’s typical for computers to have multiple gigabytes of DRAM onboard as the main RAM solution.
SDRAM – Synchronous Dynamic Random Access Memory
Some people seem to think that SDRAM is a mix of SRAM and DRAM, but it’s not! This is DRAM that has been synced to the CPU clock.
The DRAM module will wait for the CPU before responding to data input requests. Thanks to its synchronous nature and how SDRAM memory is configured into banks, the CPU can complete multiple instructions at the same time, significantly increasing its overall performance.
SDRAM is the basic form of the main RAM type used in most computers today. It’s also known as SDR SDRAM or Single Data Rate Synchronous Dynamic Random Access Memory. Although it’s fundamentally the same type of memory used in computers today, the vanilla SDR form of it is pretty much obsolete, replaced by the next type of RAM on our list.
Double Data Rate Synchronous Dynamic Random Access Memory
The first thing you should know is that there are multiple generations of DDR memory. The first generation, which we refer to as DDR 1 in retrospect, doubled the speed of SDRAM by letting read and write operations happen at both the peak and trough of the clock cycle.
DDR2, DDR3 and today DDR4 have exponentially improved on that first generation of DDR. The performance of these memory modules are measured in Mega Transfers per Second or “MT/S”. One mega transfer is essentially the equivalent of a million clock cycles. The fastest first generation DDR chips could perform 400 MT/s. DDR4 can be as fast as 3200MT/s!
GDDR SDRAM – Graphics Double Data Rate Random Access Memory
GDDR is currently sitting at the sixth generation and is almost exclusively found connected to a GPU (graphics processing unit) on a video card or games console. GDDR is related to regular DDR, but is designed for graphics use cases. Emphasizing massive amounts of bandwidth, while being less concerned with low-latency.
In other words, this memory does not respond as quickly as regular SDRAM, but it can move more information at once when it does respond. That’s perfect for graphics applications where many gigabytes of texture data needs to be streamed in to render a scene, and the small amount of latency is of no real consequence.
Despite the name, GDDR can be used as normal system RAM. For example, the PlayStation 4 has a single pool of GDDR memory that developers can split any way they like, allocating portions to the CPU and GPU as needed.
HBM – High Bandwidth Memory
GDDR has a competitor in the form of HBM memory, which has featured on a limited number of graphics cards made by AMD. Currently the latest version is HBM 2, but it is uncertain whether it will supplant GDDR or become defunct.
The most important part of memory performance is the total amount of data that can be shifted within a given amount of time. One way to do this is to make memory that is very fast. The other way to improve the total bandwidth is to make the “pipe” data is being pushed through wider.
HBM memory runs at lower raw clock frequencies than GDDR, but uses a unique 3D-stacked chip design that provides a very wide physical pathway for data as well as much shorter distances for signals to travel. The end result is a memory solution that has similar total bandwidth compared to GDDR, but with less latency.
The problem with HBM is that it’s complicated to make and thanks to its physical design it’s not yet possible to achieve the sorts of capacities that are trivial with GDDR. If those problems are eventually overcome, it could replace GDDR, but there’s no guarantee that this will happen.
Thanks For The Memories!
It should be obvious that RAM is an essential component of any computer and, when it goes wrong, it can be hard to figure out what the problem actually is.
After all, a rogue bit here or there might make your system subtly unstable or be behind seemingly random crashes. This is why you should always test for bad RAM memory whenever you have an inexplicable stability problem.
One day we might move beyond RAM, but for the foreseeable future it will be an essential part of the computing performance puzzle, so we might as well get to know it.