DRAM is a type of RAM (random access memory) used as the main memory in several computing devices, such as desktop and notebook computers, servers, and high-end workstations. It is the most widely used semiconductor memory used in current generation computers, and offers several significant advantages, such as structural simplicity, very high packing densities (number of bytes that can be stored per unit of chip area), low power consumption, and sufficiently high data read/write speeds. Several types of DRAM are presently available for deployment on various computing platforms, such as home/personal computers, portable computers, and network servers. This type of memory has undergone several innovative technological developments and offers very high price/performance ratios.
Two types of DRAM are widely used for deployment in current generation servers: registered memory, and fully-buffered (FB) memory. Both these memory types are commercially available as DIMMs (dual inline memory modules). Registered DIMMs (or RDIMMs) are designed with an additional hardware register between the DRAM module and the system's memory controller. RDIMMs present several advantages for the system, such as a lower electrical load on the memory controller and sustained stability even with an increase in the number of installed memory modules. Thus, RDIMMs are often the default choice for deployment in server-class computing systems. Fully-buffered DIMMs (or FB-DIMMs) are intended to be used in systems requiring higher memory densities with limited board space. As opposed to the parallel data transfer technique used in normal DRAM, FB-DIMMs transfer data in a serial format, using an additional buffer, known as advanced memory buffer (AMB) between the memory controller and the FB-DIMM modules. The AMB acts as an intermediary and handles all data reads/writes for the memory modules, taking care of issues such as signal degradation and error correction and reducing any overhead on the memory controller. Thus, FB-DIMMs prove to be a reliable alternative for deployment in server-grade machines.