Different Server Memory Types
Understanding computer memory can be a boring topic - there are no moving parts, it's not all that glorious of a topic, and often something that people overlook, instead focusing on things like CPU spec's and Hard Drive specs, however understanding what the different options are for you on choosing memory for your computer will be a very integral part of making sure you have a high performing and long-lasting system.
Buffered vs. Unbuffered
There are two main types of memory, unbuffered and buffered. The biggest difference between the two is that buffered memory includes a layer of processing power to keep speed things along. There are pros and cons to each of these options, so let's give a look at each one and explore further.
The buffer in registered allows for larger quantities of memory per module. These sticks run 4 bit rather than 8-16bit ICs as unbuffered RAM requires. Registered can also run 4 banks of chips rather than 1.
The main advantage of buffered (most commonly registered) memory is the buffer - which is a processing chip that receives information directly from the CPU. This buffer chip then sends out the information to be processed by the other chips on the memory stick. This allows the CPU to send information to one target instead of sending the information to the individual chips on the RAM. A typical 10600 memory stick will have 18 of these, so by including a buffer the CPU has many fewer paths to send information to.
In systems that use unbuffered memory, the CPU will communicate directly with the individual memory banks, so the CPU will send the information to be processed to each chip on the stick of RAM. While this does allow the system to be a bit more expandable and a bit more flexible, it also does require a lot more processing power to be consumed by the CPU and so there is less headroom for the CPU to perform other tasks.
Different types of Buffered Memory
- Registered Memory has an additional chip that is a middle man in the communication between the CPU and the memory modules chips. Each stick of ram has a number of chips on it, which when communicating directly with the CPU, takes more signals. The buffer chip serves to reduce the number of signals that have to be sent by the CPU.
- Fully Buffered Memory is essentially an older version of registered memory. You don't find fully buffered DIMMs or FB-DIMMs in DDR3. The fully buffered DDR2 and unbuffered DDR2 were notched differently to prevent using the wrong type. They are neither mechanically or electrically compatible with conventional DDR2.
- Load Reduced Memory is a newer version of buffered memory. The advantage of load reduced modules is a rank issue that sometimes will not allow all the DIMM slots to be filled with quad rank memory modules. It addresses some performance and power issues that FB-DIMM memory caused by converting signals from serial to parallel.
FB-DIMM and LRDIMM memory is designed in a way that is somewhat different from registered memory and are not interchangeable with registered memory on all boards.
Both Unbuffered and buffered can come in ECC memory.
ECC (Error Checking and Correction) memory is typically essential to higher performing enterprise level environments, although there seems to be a trend in bringing this into more consumer level computers as time goes on. The way in which these works is actually quite interesting - the memory chips are able to fill in any missing pieces that get lost in translation, much the same way a setup like a RAID array would work, ECC is able to identify bits of information that went missing, and then back fill them in t make for much more stable storage.
ECC memory tends to be more stable and reliable than standard RAM, but there are still going to be some examples where that is not the case. Of course, you're always going to run into a situation where every so often even the most reliable technology will fail ahead of its time, but with all things considered you will see a much lower rate of failure in using ECC memory compared to a standard RAM.
There are some downsides of using ECC RAM though, which must also be considered. ECC RAM is going to be slightly slower than traditional non-ECC RAM, simply based on the role it has to play in error correcting and checking all of the data that goes through it. The other downside that will be faced with ECC RAM is that the cost is higher. Of course, as noted earlier this is going to go along with a more stable memory and one that is less prone to failure, so that's something you're going to have to trade off for yourself and weigh out the pros and the cons.
Do You Need ECC Memory
If you are spec'ing out a high performing computer, such as a server, then yes, typically you would want to choose ECC memory for it over non-ECC memory solely based on reliability and integrity of data. As noted previously there will be a slightly higher cost in going with ECC RAM of non-ECC, however for something critical like a server or high-level functioning desktop computer, you want to make sure that you give yourself the best chance of running at peak performance for as long as possible without risking running into any issues, facing lost data, crashing programs, or down time.
Let's Look at A Real World Example
The best way to really understand the difference between the different types of memory is to look at a real world example, so let's take a look at the Apple Mac Pro, one of the most popular high-level consumer accessible computers on the market.
When the Mac Pro first launched, since it was built using Intel server grade components, the only real viable option was to use a fully buffered DIMM, which is a great option performance wise at the time for the Macs but unfortunately also came with a much higher price tag than something like an ECC option would.
As the Mac Pro became more of a steady performer in Apple's lineup, they eventually were able to spend some engineering time and with the Mac Pro 5,1 in 2010 they started launching them with ECC memory instead. This was a great improvement for both Apple and consumers because it now meant that they would be able to offer a high level of performance at a more economical price.
Memory Speeds Through Generations
First of all what we need to talk about is DDR, DDR is double data rate which is what all memory is now. Since DDR came out it's gone through a few generations DDR, DDR2, DDR3 and now DDR4. These different generations of memory have different speeds as the peak transfer rate rose through the technology.
DDR2 Memory Speeds
DDR2 was new in 2003 and started with a peak transfer rate of 3200MB/s. Over time DDR2 transfer rates became available in 4200, 5300 and even 6400. This is the industry standard name associated with the speed which sometimes ends in 34, or 67. The PC2-5300 was the most commonly used once it became widely accepted. It still is used on many servers and can still be found for purchase for older machines.
DDR3 Memory Speeds
DDR3 surfaced in 2007 and with it came higher speeds. There are other measurements of speed other than the peak transfer rate, such as the data rate, which is measured in MT/s as well as the I/O bus clock, but for simplicity, we will stick with peak transfer rates for this article. DDR3 started out with a speed of 6400, but more commonly used would be the speeds such as 8500, 10600 and 12800. Those would be the most widely used speeds although there was also 14900 and even 17000 PC-3 or DDR3.
DDR4 Memory Speeds
In 2012 JEDEC, the company that oversees technical specifications for uniformity released the standards for DDR4. With it came new DDR4 memory with peak transfer rates including 12800, 14900, 17000 and 19200MB/s. As with the other transitions to newer memory speeds that were available in the last generation are all but unused as the higher speeds become widely accepted.
With each new generation, we have differences in the keyhole, which is a slot to ensure the correct memory module is being used. Memory from the wrong generations can't be used in machines which don't support it, and having the key slot ensures the wrong modules aren't inserted.