Fully Buffered DIMM (or FB-DIMM) is a memory technology which can be used to increase reliability, speed and density of memory systems. A DIMM, or dual in-line memory module, comprises a series of Dynamic random access memory Integrated circuits These modules are mounted on a Printed Conventionally, data lines from the memory controller have to be connected to data lines in every DRAM module. The memory controller is a chip on a computer's Motherboard or CPU die which manages the flow of data going to and from the memory. As memory width, as well as access speed, increases, the signal degrades at the interface of the bus and the device. This limits the speed and/or the memory density. FB-DIMMs take a different approach to solve this problem. As with nearly all RAM specifications, the FB-DIMM specification was published by JEDEC. JEDEC Solid State Technology Association, formerly known as J oint E lectron D evice E ngineering C ouncil ( JEDEC) or Joint
Contents |
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. In Telecommunication and Computer science, parallel communication is a method of sending several data signals simultaneously over a communication link (comprising In Telecommunication and Computer science, serial communication is the process of sending data one Bit at one time sequentially over a Communication 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. The AMB can thus compensate for signal deterioration by buffering and resending the signal. In addition, the AMB can also offer error correction, without posing any overhead on the processor or the 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, more memory bandwidth, and (in theory) hardware-agnostic memory controller chips (such as DDR2 and DDR3) which can be used interchangeably. In Electronic engineering, DDR3 SDRAM or double-data-rate three Synchronous dynamic random access memory is a Random access memory The downside to this approach is that it introduces latency to the memory request. In Computing, memory latency is the time between initiating a request for a Byte or word in memory until it is retrieved
The JEDEC standard JESD206 defines the protocol, and JESD82-20 defines the AMB interface to DDR2 memory. The protocol is more generally described in many other places. [1][2][3][4][5] The FB-DIMM channel consists of 14 "northbound" bit lanes carrying data from memory to the processor and 10 "southbound" bit lanes carrying commands and data from the processor to memory. Each bit is carried over a differential pair, clocked at 12 times the basic memory clock rate, 6 times the double-pumped data rate. E. g. for DDR2-667 DRAM chips, the channel would operate at 4000 MHz. Every 12 cycles constitutes one frame, 168 bits northbound and 120 bits southbound.
One northbound frame carries 144 data bits, the amount of data produced by a 72-bit wide DDR SDRAM array in that time, and 24 bits of CRC for error detection. A cyclic redundancy check (CRC is a type of function that takes as input a data stream of any length and produces as output a value of a certain space commonly a 32-bit integer There is no header information, although unused frames include a deliberately invalid CRC.
One southbound frame carries 98 payload bits and 22 CRC bits. Two payload bits are a frame type, and 24 bits are a command. The remaining 72 bits may be either (depending on the frame type), 72 bits of write data, two more 24-bit commands, or one more command plus 36 bits of data to be written to an AMB control register.
The commands correspond to standard DRAM access cycles, such as row select, precharge, and refresh commands. Read and write commands include only column addresses. All commands include a 3-bit FB-DIMM address, allowing up to 8 FB-DIMM modules on a channel.
Because write data is supplied more slowly than DDR memory expects it, writes are buffered in the AMB until they can be written in a burst. Write commands are not directly linked to the write data; instead, each AMB has a write data FIFO which is filled by four consecutive write data frames, and is emptied by a write command.
Both northbound and southbound links can operate at full speed with one bit line disabled, by discarding 12 bits of CRC information per frame.
Note that the bandwidth of an FB-DIMM channel is equal to the peak read bandwidth of a DDR memory channel (and this speed can be sustained, as there is no contention for the northbound channel), plus half of the peak write bandwidth of a DDR memory channel (which can often be sustained, if one command per frame is sufficient). The only overhead is the need for a channel sync frame (which elicits a northbound status frame in response) every 32 to 42 frames (2. 5–3% overhead).
Intel has adopted the technology for their newer Xeon 5000/5100 series and beyond, which they consider "a long-term strategic direction for servers". The Xeon brand refers to many families of Intel 's x86 Multiprocessing CPUs – for dual-processor (DP and multi-processor (MP configuration [6]
Sun Microsystems is using FB-DIMMs for the Niagara II (UltraSparc T2) server processor. Sun Microsystems Inc ( is a multinational vendor of Computers computer components Computer software, and Information technology services Sun Microsystems ' UltraSPARC T2 Microprocessor is a multithreading, multi-core CPU. [7]
The new enthusiast system from Intel making use of the Intel Desktop Board D5400XS labeled "Skulltrail" is set to use FB-DIMMs for their dual CPU socket, multi-GPU system. [8]
The cost of FB-DIMM memory is much higher than registered DIMM, which may be one of the factors behind its current level of acceptance. Not to be confused with ECC memory, although memory modules often use both technologies Also, the AMB chip dissipates considerable heat, leading to additional cooling problems. Although strenuous efforts were made to minimize delay in the AMB, there is some noticeable cost in memory access latency. [9][10][11]
As of September 2006, AMD has taken FB-DIMM off their roadmap[12] as a report earlier that the popularity of FB-DIMM is below 10%. In December 2006, AMD has revealed in one of the slides that microprocessors based on the new K10 microarchtecture has the support for FB-DIMM "when appropriate". The AMD K10 is AMD 's latest Microprocessor architecture. Though there were once reports that the K10 had been cancelled, the first third-generation [13] In addition, AMD also developed Socket G3 Memory Extender (G3MX), which uses single buffer for every 4 modules instead of a buffer for every module, to be used by Opteron-based systems in 2009. The Socket G3 Memory Extender or in short G3MX is Advanced Micro Devices ' solution to the problem of connecting large amounts of memory to a single microprocessor [14]
In 2007 Intel Developer's Forum, it was revealed that major memory manufacturers have no plans to extend FB-DIMM to support DDR3 SDRAM. Instead, only registered DIMM for DDR3 SDRAM had been demonstrated. [15]
In 2007 Intel demonstrated FB-DIMM with shorter latencies, CL5 and CL3, showing improvement in latencies. [16]