Registered memory

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Two 8 GB DDR4-2133 ECC 1.2 V registered DIMMs (RDIMMs)

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. When compared with registered memory, conventional memory is usually referred to as unbuffered memory or unregistered memory. When manufactured as a dual in-line memory module (DIMM), a registered memory module is called an RDIMM, while unregistered memory is called UDIMM.

Registered memory is often more expensive because of the lower number of units sold and additional circuitry required, so it is usually found only in applications where the need for scalability and robustness outweighs the need for a low price – for example, registered memory is usually used in servers.

Although most registered memory modules also feature error-correcting code memory (ECC), it is also possible for registered memory modules to not be error-correcting or vice versa. Unregistered ECC memory is, for example, supported and used in workstation or entry-level server motherboards that do not support very large amounts of memory.[1]

Performance

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.”[2] (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."[3]

Compatibility

Usually, the motherboard must match the memory type; as a result, registered memory will not work in a motherboard not designed for it, and vice versa. Some PC motherboards accept or require registered memory, but registered and unregistered memory modules cannot be mixed.[4] There is much confusion between registered and ECC memory; it is widely thought that ECC memory (which may or may not be registered) will not work at all in a motherboard without ECC support, not even without providing the ECC functionality, although the compatibility issues actually arise when trying to use registered memory (which also supports ECC and is described as ECC RAM) in a PC motherboard that does not support it.

Buffered memory

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 DIMM (FB-DIMM) modules. In normal registered/buffered memory only the control lines are buffered, whereas in fully buffered memory the data lines are buffered as well with all transfers performed in a serial fashion; the additional logic present on each FB-DIMM module transforms serial input into parallel signals required to drive memory chips.[5]

Load Reduced DIMM (LRDIMM) modules are similar to registered/buffered memory, in a way that LRDIMM modules buffer both control and data lines while keeping the parallel nature of all signals. As such, LRDIMM memory provides large overall maximum memory capacities, while addressing some of the performance and power consumption issues of FB-DIMM memory induced by the required conversion between serial and parallel signal forms.[5][6]

Both FB-DIMM and LRDIMM memory types are designed primarily to control the amount of electric current flowing to and from the memory chips at any given time. They are not compatible with registered/buffered memory, and motherboards that require them usually will not accept any other kind of memory.

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. https://globalsp.ts.fujitsu.com/dmsp/Publications/public/wp-westmere-ep-memory-performance-ww-en.pdf
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. 5.0 5.1 Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.

External links