BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Selecting server memory is no easy task if the IT staff isn't familiar with what's on the market.
Virtualization increases the number of workloads possible on every server, but greater computing demands also require that the IT staff make better hardware choices. Memory has emerged as a critical server resource, and virtual servers often run short of memory space long before other resources, such as processor cores or clock cycles. This tip outlines the key attributes of the major types of memory, and helps IT professionals match memory to the performance and reliability requirements of the server and its anticipated workloads.
Basic server memory attributes
Aside from basic 64-bit or 72-bit data widths and speed designations, modern memory devices are categorized and specified using a series of terms that every IT administrator or technician should be familiar with. This familiarity will make it easier to understand server specifications and discuss memory attributes effectively with server vendors.
Modern server memory is usually specified using its transfer rate -- gauged in millions of transfers per second (MT/s). Typical dual in-line memory module (DIMM) devices provide 1,066 MT/s, 1,333 MT/s, 1,600 MT/s or 1,866 MT/s transfer rates. Remember that this doesn't represent the data rate, only the number of transfer cycles that the device is capable of performing. To find the data rate -- in bytes per second -- multiply the transfer rate by 8. For example, a leading-edge DIMM with a transfer rate of 2,133 MT/s would provide a data rate of 17,066 megabytes per second -- about 17 gigabytes per second of bandwidth.
A "memory rank" is a set of dynamic RAM (DRAM) memory chips that are connected to the same chip select signaland are accessed by the computer at the same time across a 64-bit data bus -- a 72-bit data bus if error correction code (ECC) is used. The actual number of physical memory chips in a rank will vary. For example, a rank of x16 (16-bit) chips would use four 16-bit DRAM chips to create a 64-bit rank. By comparison, a rank of x8 (8-bit) chips would use eight 8-bit DRAM chips to make a 64-bit rank; more chips would be included if the memory device supports ECC. A memory module such as a DIMM can include one, two, four or eight ranks dubbed "single," "dual," "quad" and "octal," respectively. Single-rank DIMMs offer the lowest memory capacity and are the least expensive.
Ranks can be confusing, but they are a key part of memory geometry. For example, suppose you have a DIMM with eight chips on each side -- 16 DRAM chips total on the DIMM -- and each of the 16 chips represents one rank, each rank being 8 bits wide. In effect, that DIMM would wind up with a total of two ranks -- one rank, each 64 bits wide, on each side of the device.
Server memory controllers are limited in the number of ranks they can support for the DIMMs installed, and this may vary with the total capacity of the DIMMs used. For example, a system may support DIMMs with four ranks using lower-density DRAM chips, but DIMMs with higher-density DRAM chips must present fewer ranks to the system.
A "memory channel" -- sometimes called a "bank" -- represents a group of ranks. The ranks that fill a channel may all be on a single DIMM, or across several DIMMs. A typical server normally supports numerous channels and allows for huge amounts of memory to be installed. In most cases, every DIMM within a channel must be logically identical, but it is important that the system documentation be reviewed to determine any limiting factors or system requirements when channels are being filled.
Basic memory types
Modern memory modules also are designated by type: registered, unbuffered and load-reduced. Each type provides some tradeoffs, so it's important to select the best mix of performance, reliability, efficiency and cost before you make a choice, because it is't possible to mix types in the same server.
Registered DIMMs (RDIMMs) work by buffering the DRAM address, control and clock signals. Buffering boosts signal strength and eases electronic loading concerns, so RDIMMs are the most common module type and provide a good mix of speed (throughput), capacity and rank configurations. Single- and dual-rank RDIMMs can support throughput as high as 1,600 MT/s at capacities to 16 GB per DIMM. Larger, 32-GB RDIMMs are available in a quad rank configuration -- generally more chips on each DIMM -- but this usually restricts the number of DIMMs installed per channel and lowers the transfer speed to 1,066 MT/s. Overall, RDIMMs are the preferred choice when ECC is needed for DIMM reliability and the server needs to support a large amount of memory.
By comparison, unbuffered DIMMs (UDIMMs) don't buffer the address, control and clock signals. The absence of buffering can boost a DIMM's performance by a small percentage because the latency introduced by the buffer electronics is removed. However, UDIMMs will impose a greater electrical load on the host server, restricting throughput to a maximum of 1,600 MT/s, lowering the DIMM capacity to 4 GB, and limiting each channel to just two DIMMs. In effect, UDIMMs are used on secondary servers that might benefit from a miniscule reduction in memory latency, but just don't need a lot of memory capacity.
Load-reduced DIMMs are similar to registered DIMMs in that the device is buffered, but LRDIMMs use a buffering methodology that reduces the electrical loading of each DIMM substantially. This allows for as many as three large-capacity 32-bit quad rank DIMMs operating at a transfer rate of up to 1,333 MT/s on a single channel. This allows for the highest total memory capacity on the server, though using more than three DIMMs per channel could reduce the transfer rate to 1,066 MT/s. LRDIMMs are still being adopted among server vendors, so be sure your particular servers actually support LRDIMMs. For example, HP ProLiant G8 servers support LRDIMMs, while older G7 and G6 systems do not.
Memory is a critical resource for any virtualized data center, so selecting server memory devices will have an enormous influence on memory capacity, reliability and performance for every workload on the system. Now that you've seen some basic concepts behind contemporary memory nomenclature, you can make better choices about server memory configurations and maximize your use of IT hardware budgets.