- Not to be confused with ECC memory, although memory modules often use both technologies.
Registered (also called buffered) memory modules have a register between the DRAM modules and the system's memory controller. They place less electrical load on the memory controller and allow single systems to remain stable with more memory modules than they would have otherwise.
In the context of registered memory, conventional memory is referred to as unbuffered memory. When manufactured as a DIMM, a registered memory module is called an RDIMM and unregistered memory is called UDIMM.
Registered memory is often more expensive because of the lower volume and the additional components, so it is usually found only in applications where the need for scalability and robustness outweighs the need for a low price, servers, for example.
Although most registered memory modules also feature error-correcting code memory (ECC), it is also possible for memory to be Registered and not ECC, or ECC modules to not be registered. Non-registered ECC memory is supported and used in motherboards which do not support the very large amounts of memory used by servers.
Normally, there is a performance penalty for using registered memory. Each read or write is buffered for one cycle between the memory bus and the DRAM, so the registered RAM can be thought of as running one clock cycle behind the equivalent unregistered DRAM. With SDRAM, this only applies to the first cycle of a burst.
However, this performance penalty is not universal. There are other factors involved in memory access speed. For example, the Intel Westmere 5600 series of processors access memory using interleaving, wherein memory access is distributed across three channels. If two memory DIMMs are used per channel, this "...results in a reduction of maximum memory bandwidth for 2DPC (DIMMs per channel) configurations with UDIMM by some 5% in comparison to RDIMM." (p. 14). This is because "...when you go to two DIMMs per memory channel, due to the high electrical loading on the address and control lines, the memory controller uses a “2T” or “2N” timing for UDIMMs. Consequently every command that normally takes a single clock cycle is stretched to two clock cycles to allow for settling time. Therefore, for two or more DIMMs per channel, RDIMMs will have lower latency and better bandwidth than UDIMMs."
Usually the motherboard must match the memory type: registered memory will not work in a motherboard not designed for it, and vice-versa. Some PCs will accept registered memory, but registered and unregistered memory cannot be mixed. There is much confusion between registered and ECC memory; it is widely thought that ECC memory will not work (without ECC functionality) in a motherboard without ECC support, although the compatibility issues arise when trying to use registered memory (which also supports ECC and is described as ECC RAM) in a desktop PC motherboard.
Buffered memory is an older term for registered memory. Buffered refers to an electronic buffer placed between the memory and the memory controller. In general registered RAM won't fit in a slot for unregistered RAM, however it will with SDRAM.
However, some systems with large maximum memory capacities use "fully buffered memory." In normal registered/buffered memory, only the control lines are buffered, whereas in fully buffered memory, the data lines are buffered as well. This type of memory is designed primarily to control the amount of electrical current flowing to and from the memory chips at any given time. Fully Buffered Memory is not compatible with registered/buffered memory, and motherboards that require fully buffered memory usually will not accept any other kind of memory.