ECC Unbuffered and Registered RAM DDR


To totally unlock this section you need to Log-in


Login

Memory modules can be made in different ways to allow for additional functions. These functions require additional components.

Registered

Registered memory has registers or buffers included on the module for better flow of data which increases data reliability. It also allows for greater memory scalability (larger amounts of RAM can be installed). Because of this, registered memory is used mostly in servers.

Some Registered DIMMs comes with a parity function. This is used for additional error checking. Your computer's motherboard would have to support parity in order for this function to be used. But parity registered memory can be used in systems that just takes registered memory. The parity function will just not be used.

Registered memory includes ECC functionality but not all ECC is registered.

Fully buffered memory takes some of the functions of the memory controller (a chip that controls the data flow of RAM) and puts it on the memory module. This increases memory scalability further. Fully buffered memory cannot be used in a computer that takes registered memory or vise versa. Fully buffered memory includes ECC functionality but not all ECC is fully buffered.

Unbuffered

Unbuffered memory is memory that does not include any buffers or registers. It is the memory most commonly used in desktop and notebook computers. You cannot use registered memory or fully buffered memory in a computer that takes unbuffered memory.

ECC (Error Correcting Code)

ECC (Error Correcting Code) memory includes an additional memory chip which allows the motherboard to detect and correct one bit errors. This increases data reliability and can help identify a failing memory module.

All registered and fully buffered memory modules also include ECC functionality. But there is also ECC unbuffered memory that is usually used in higher end workstation computers.

In some cases, you can use ECC unbuffered memory in a computer that takes unbuffered memory but does not have ECC functionality. It just will not use this feature of the memory.

ECC Memory What it Does

Error Checking and Correction (ECC) memory is mostly considered essential in enterprise environments these days. Single bit error checking and correction within an 8-bit byte allows for single bit errors to be both detected and corrected when they occur.

Interestingly enough, the way this single bit ECC works is not all that unlike RAID 4 and RAID 5 where an XOR algorithm is used to generate parity bits.

Instead of losing usable memory capacity, memory makers tend to add an additional chip to ECC memory for every eight storage chips. When a single bit error is detected, the parity information is used to reconstruct the data with an error. Again, this is conceptually similar to how RAID 4 and RAID 5 can scrub and fix data errors in storage arrays. Larger errors than multi-bit can be detected but not corrected by the single bit ECC type of parity scheme.

For desktops, this is less important as a lot of figures put single-bit errors in the range of 1 per 1GB or 1 per 2GB of memory each month. To a desktop user, this may cause a program to crash, or at worst require a reboot. In servers, ECC is essential to maintaining both data integrity and uptime. With the current minor cost differential of ECC versus non-ECC unbuffered DIMMs, there is little reason to get non-ECC memory for a server.

Unbuffered ECC versus Registered ECC Memory

Adding to the ECC concept, there are two concepts at play, unbuffered and registered ECC memory modules.

The basic difference is that memory commands in unbuffered memory configurations go directly from the controller to the memory module, while in registered memory configurations the commands are sent first to the memory banks’ registers prior to being sent to the modules.

This concept may sound difficult, but here is the very simple/ conceptual view regarding what is going on.

In the above example the memory controller accesses the memory banks directly. The above assumes that the memory controller resides within the CPU package as it does in modern CPU architectures.

Looking at older systems, the memory controller resided within the CPU northbridge. Compare this to the registered memory example below:

ECC Unbuffered and Registered RAM DDR

ECC Unbuffered and Registered RAM DDR

Here the CPU communicates with the registers for the banks of memory on each module. From there, these registers communicate with the DRAM. The implications of this are twofold. First, on a negative side, instructions take approximately one CPU cycle longer due to the intermediary of the bank register.

On the positive side, this buffering reduces the strain on the CPU’s memory controller because it points to the dedicated intermediary register versus accessing the DRAM directly.

It is easier on the memory controller (CPU) to deal with a fewer number of targets.

ECC Unbuffered and Registered RAM DDR

ECC Unbuffered and Registered RAM DDR

This feature is very important in server scenarios because, for example, an Intel 3400 series platform, such as the Supermicro X8SI6-F or Intel S3420GPLC supports 16GB unbuffered ECC and 32GB registered ECC memory. Likewise, in dual processor systems, such as the E5600 series based Supermicro X8DTH-6F recently reviewed on ServeTheHome, the delta is much greater with up to 48GB of unregistered ECC or 192GB of registered ECC memory.

For virtualization environments where memory, and memory bandwidth is key to achieving high consolidation and density metrics, Registered ECC memory is generally the way to go. If one purchases a server with unregistered ECC DIMMs, then requires additional capacity, then the upgrade operation will require a pull and replace all UDIMM modules making it an expensive proposition.

1 thought on “ECC Unbuffered and Registered RAM DDR”

  1. Buying a RAM module can be a challenge when we’ve a motherboard which supports only ECC unbuffered or registered modules. We can mix these two RAM types? What are their differences? What is the CPU behaviour when it sees these kind of RAM?

    Discover these modules on Heelpbook reading the following article: ECC Unbuffered and Registered RAM DDRhttp://heelpbook.altervista.org/2014/ecc-unbuffered-and-registered-ram-ddr/ – #howto #hardware #technology #ecc #RAM #heelpbook @heelpbook

Comments are closed.