Memory selection criteria profoundly impacts server performance and workload capacity. A newer memory type -- LRDIMM -- offers the best of both worlds.
What's the best DIMM for enterprise server memory?
Servers use three major categories of dual in-line memory modules (DIMMs): registered, unregistered and load-reduced. These categories define the electrical loading imposed by the memory module.
Registered DIMMs (RDIMMs) are the most common and conventional type of memory module. RDIMMs use an onboard register to electrically isolate the memory module from the rest of the motherboard. On the positive side, with less electrical load to support, the system can be populated with more RDIMMs, bolstering memory capacity. Negatively, the buffer components add latency to memory transfers, slightly slowing performance and increasing power demand.
Unregistered DIMMs (UDIMMs) are the same memory devices as RIMMs without the onboard buffering. The memory module offers slightly less latency and power use, but presents the motherboard with a greater electrical load. UDIMMs limit how many DIMMs can be used per channel. A server with UDIMM memory won't support the same memory capacity as one using RIMMs. UDIMMs are normally reserved for servers that need modest memory quantity with minimum latency.
Load-reduced DIMMs (LRDIMMs) use a simple buffer rather than a more sophisticated register. The buffer reduces the LRDIMM's electrical loading on the underlying motherboard but has a minimal effect on power draw and memory performance. Unlike RDIMMs, LRDIMMs enable server makers to put more modules on each memory channel. Consequently, an LRDIMM design can include large volumes of system memory without a high latency tax.
Two RDIMMS don't make a LRDIMM: Servers cannot mix module types within a channel, e.g., two RDIMMS with an LRDIMM. Typically, servers cannot mix different DIMMs between channels either. Select one DIMM type that will deliver the preferred balance of capacity and performance.
As a rule, use the largest DIMMs that the server will support (at least to start). This usually provides the best value and most total memory for the greatest potential of consolidation -- or failover -- on the system. Administrators can save money and populate DIMM slots with smaller modules, but this may leave precious few memory slots for future upgrades and may even complicate advanced reliability features like memory sparing or mirroring.
It might seem like the answer to virtualized and consolidated servers is simply to install more memory, but more memory carries a greater risk of failure that will disrupt the server's workloads.
See the next question on server memory: How important are error-combating memory features?
This was first published in February 2014