Fully buffered DIMM architecture introduces an
advanced memory buffer (AMB) between the memory controller and the memory module. Unlike the
parallel bus architecture of traditional DRAMs, an FB-DIMM has a
serial interface between the memory controller and the AMB. This enables an increase to the width of the memory without increasing the pin count of the memory controller beyond a feasible level. With this architecture, the memory controller does not write to the memory module directly; rather it is done via the AMB. AMB can thus compensate for signal deterioration by buffering and resending the signal. The AMB can also offer
error correction, without imposing any additional overhead on the processor or the system's memory controller. It can also use the
Bit Lane Failover Correction feature to identify bad data paths and remove them from operation, which dramatically reduces command/address errors. Also, since reads and writes are buffered, they can be done in parallel by the memory controller. This allows simpler interconnects, and (in theory) hardware-agnostic memory controller chips (such as
DDR2 and
DDR3) that can be used interchangeably. The downsides to this approach are; it introduces
latency to the memory request, it requires additional power consumption for the buffer chips, and current implementations create a memory write bus significantly narrower than the memory read bus. This means workloads that use many writes (such as
high-performance computing) will be significantly slowed. However, this slowdown is nowhere near as bad as not having enough memory capacity to avoid using significant amounts of
virtual memory, so workloads that use extreme amounts of memory in irregular patterns might be helped by using fully buffered DIMMs. == Protocol ==