Memory modules can be manufactured in different ways to support additional functions. These functions require additional components.
Register memory modules contain registers or buffers that provide control over data transfer, which increases the reliability of storage and transfer. They also allow you to increase memory scalability (it becomes possible to install more RAM). Because of this register memory is used mainly in servers. Some DIMM register memory modules contain a parity check feature. It is used for additional error checking. To use this feature, the computer’s motherboard must support parity. The parity register memory modules can be used in systems that support only register memory. In this case the parity function is simply not used. Registry memory modules support ECC, but not all memory with ECC is registry memory.
Fully buffered takes over some of the functions of the memory controller (the chip that controls the transfer of data in RAM), performing them directly on the memory module. This opens up additional memory scaling possibilities. Full buffered memory cannot be used in a computer that supports register memory and vice versa. Fully buffered memory supports ECC technology, but not all ECC-enabled memory is fully buffered.
Unbuffered memory is RAM that does not contain any buffers or registers. This type of memory is most commonly used in desktops and laptops. You cannot use register memory or fully buffered memory in a computer that only supports unbuffered memory.
Memory with ECC (error correction code) technology contains an additional memory chip that allows the motherboard to detect and correct errors in individual bits. This increases the reliability of data storage and can help in identifying potentially faulty memory modules. All register and fully-buffered memory modules also support ECC (error correction code) technology. But there is also memory with ECC support and without buffering, which is usually used in the most productive workstations. In some cases, ECC unbuffered memory can be used in a computer that supports the installation of unbuffered memory but does not support ECC technology. In this case, such a memory function will simply not be used.