In this video from ITFreeTraining, I will look at unbuffered, registered, buffered and fully buffered RAM. Each different type of RAM has different advantages and disadvantages. By the end of this video you will understand the differences between these RAM types and where you might find them.Show lesson content
First I will look at unbuffered RAM. Unbuffered is the cheapest and also the most common form of RAM on the market. Consider that you have an external memory controller or a memory controller inside the CPU. In this example I will use DDR2 memory, but the same process applies to other memory modules.
In DDR2, there are 240 pins on each memory module and 64bits are transferred at once. Different memory modules may transfer different amounts, but 64bit is pretty common now days. DDR also uses the same pins to read as it does to write. So, considering that you have 240 pins, the math’s does not seem to work out.
What is missing is that there are multiple clock lines as well as control lines. These all work in unison so the 16 chips on the memory module work together to transmit data. Having so many lines all working together at the same time is an amazing feat of engineering, but also means more chance of something going wrong. So, using a system like this, there is an increased chance of data corruption.
However, the chance of corruption is quite low so it comes down to a trade-off between cost and reliability. For this reason, unbuffered memory is often used in low-end computing. With low-end computing, a rare memory corruption is an acceptable price to pay for the cheaper cost. Although there is a difference of opinion on how often these errors will occur, it is estimated that in a correctly set up computer system, a memory error will occur maybe once or twice a year. The chance of it occurring in something critical is quite small so you probably will not even notice it when it happens.
The next type of memory that I will look at is registered and buffered memory. This memory type is used in high-end workstations and servers. The basic principal behind the memory module works much the same as for unbuffered. The terms registered and buffered memory are used interchangeably.
The difference is that the memory controller connects to what is referred to as registers or a buffer. You can generally tell if a memory module has this feature as it has an extra chip in the middle of the memory module. This chip will generally be a different size to the other chips on the memory module. Later in the course I will look at error correcting memory modules. If a memory module has this feature, there will also be additional chips on the memory module. However, in a basic registered or buffered memory module, there will be generally be only the one extra chip in the middle of it.
The memory controller is connected directly to this register or buffer. This means this extra chip is responsible for the transfer of data between the memory controller and the memory chips on the memory module.
What this essentially does is reduce the load on the DRAM chips on the memory module. Since the memory controller only has to deal with the one chip rather than multiple chips, this makes it more stable when there are a lot of memory modules in the computer. The memory module, after accessing the DRAMs on the chip, may delay transferring data to the memory controller for one cycle. This gives the DRAM chips time to become more electrically stable. In servers with a lot of memory, this becomes important.
This suggests that registered or buffered memory, due to a possible one cycle delay, may be slower than an unbuffered memory module. This is debatable as it also depends on latency of the chips. Also consider that if the memory modules are working in a burst, that is transferring a block of memory at once, a one cycle delay becomes insignificant.
Registered or buffered memory modules cost more than unbuffered memory modules. For the reasons of cost versus reliability, you will often see them in servers. Think of a server that handles banking transactions, reducing the chance of errors is more important than paying a bit more money for the memory modules.
The motherboards will determine if it supports registered or buffered memory modules. If it does support both, you may find that if you attempt to mix unbuffered with registered or buffered memory, some or all of the memory modules may not work.
The last memory type that I will look at is fully buffered. This is, once again, used in servers and
high-end workstations. Before looking at this memory type, first of all I would like to point out that this memory type was used in DDR2 only. The memory modules have the same number of pins on them as other DDR2 memory, however the notches on the memory modules are different. So, a fully buffered memory module cannot be put into a standard DDR2 slot.
The main difference with a fully buffered memory module is that it buffers requests into one serial bus. A fully buffered memory module has an extra chip which is generally much larger than the DRAM chips on the memory module.
The way fully buffered memory modules work is, rather than having multiple clock lines and control lines, these are reduced into a single serial bus. This is because the memory controller communicates only with the one chip.
This brings performance gains. It may be difficult to understand how a single bus would be faster than a number of buses working in parallel. The reason this occurs is because having a single bus means fewer connections from the memory controller to the memory module. Problems start arising when there are a large number of connections. More connections mean signals degrade as they travel over the bus. These problems start to increase with greater speed. Having a single bus reduces a lot of these problems.
In order to achieve this, fully buffered memory requires a motherboard that supports it. Having less connections on the motherboard reduces the complexity and cost of the motherboard; however, fully buffered memory costs more than other memory types. Increased cost may be the main reason why fully buffered memory was only available in DDR2. Maybe one day there will be a return of fully buffered memory modules.
Before finishing this video, I will look at a quick summary of the major points. Unbuffered memory is the cheapest on the market and commonly used in home and low-end computers. Unbuffered memory uses multiple clock and control lines. This increases the chance of errors during transfers; however, these errors should be rare.
The next memory module type is registered or buffered memory modules. This is different from unbuffered memory modules in that they buffer transfers. When memory is being read, the request may be delayed by one cycle. This increases the stability of the DRAM chips on the memory module and reduces the chance of errors. Registered and buffered memory still use multiple channels rather than a single serial bus. The registers or buffer increase the stability of the RAM, which is important in systems with a lot of RAM.
The next memory module is fully buffered. This was only released in DDR2. Fully buffered uses a buffer. However, it differs from registered or buffered memory in that data is transferred on a single bus. This makes it more reliable and faster, but increases the cost of the memory module.
In conclusion, always check what memory modules your motherboard supports. Low-end computers will generally support unbuffered memory modules while high-end servers may not. Also, be careful if mixing different memory modules together. If you attempt to do this, you may get some unexpected results.
This concludes this video on the different types of memory modules. I hope you have found this video useful and I look forward to seeing you in more videos from us. Until the next video, thanks for watching.
“CompTIA A+ Certification Exam Guide Ninth Edition” page 164
“DDR2 SDRAM” https://en.wikipedia.org/wiki/DDR2_SDRAM
“Registered memory” https://en.wikipedia.org/wiki/Registered_memory
“buffered & unbuffered RAM” https://www.youtube.com/watch?v=ZIyOHZ5musU
“Fully Buffered DIMM” https://en.wikipedia.org/wiki/Fully_Buffered_DIMM
“DRAM Errors in the Wild: A Large-Scale Field Study” http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/35162.pdf