Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Memory controller

Memory controller

Overview
The memory controller is a digital circuit which manages the flow of data going to and from the main memory. It can be a separate chip or integrated into another chip, such as on the die
Die (integrated circuit)
A die in the context of integrated circuits is a small block of semiconducting material, on which a given functional circuit is fabricated.Typically, integrated circuits are produced in large batches on a single wafer of electronic-grade silicon through processes such as photolithography. The...

 of a microprocessor
Microprocessor
A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using binary-coded decimal arithmetic on 4-bit words...

.

Computers using Intel microprocessors have traditionally had a memory controller implemented on their motherboard's northbridge
Northbridge (computing)
The northbridge, also known as a memory controller hub or an integrated memory controller in Intel systems , is one of the two chips in the core logic chipset on a PC motherboard, the other being the southbridge...

, but some modern microprocessors, such as DEC
Digital Equipment Corporation
Digital Equipment Corporation was a pioneering American company in the computer industry. It is often referred to within the computing industry as DEC...

/Compaq
Compaq
Compaq Computer Corporation was an American personal computer company founded in 1982, and is now a brand name of Hewlett-Packard.The company was formed by Rod Canion, Jim Harris and Bill Murto — former Texas Instruments senior managers...

's Alpha 21364
Alpha 21364
The Alpha 21364, code-named "Marvel", also known as EV7 is a microprocessor developed by Digital Equipment Corporation , later Compaq Computer Corporation, that implemented the Alpha instruction set architecture .- History :...

, AMD's Athlon 64
Athlon 64
The Athlon 64 is an eighth-generation, AMD64-architecture microprocessor produced by AMD, released on September 23, 2003. It is the third processor to bear the name Athlon, and the immediate successor to the Athlon XP...

 and Opteron
Opteron
The Opteron is AMD's x86 server and workstation processor line, and was the first processor to implement the AMD64 instruction set architecture . It was released on April 22, 2003 with the SledgeHammer core and was intended to compete in the server and workstation markets, particularly in the same...

 processors, IBM
IBM
International Business Machines Corporation, abbreviated IBM, is a multinational computer technology and IT consulting corporation headquartered in Armonk, Town of North Castle, New York, United States. The company is one of the few information technology companies with a continuous history dating...

's POWER5
POWER5
The POWER5 is a microprocessor developed and fabricated by IBM. It is an improved version of the highly successful POWER4. The principal improvements are support for simultaneous multithreading and an on-die memory controller...

, Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. is a multinational vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982...

 UltraSPARC T1
UltraSPARC T1
Sun Microsystems' UltraSPARC T1 microprocessor, known until its 14 November 2005 announcement by its development codename "Niagara", is a multithreading, multicore CPU...

 and more recently, Intel Core i7
Intel Core i7
Intel Core i7 is a family of several Intel desktop and laptop 64-bit x86-64 processors, the first processors released using the Intel Nehalem microarchitecture and the successor to the Intel Core 2 family. All three current models and two upcoming models are quad-core processors. The Core i7...

 have a memory controller on the microprocessor die to reduce the memory latency.
Discussion
Ask a question about 'Memory controller'
Start a new discussion about 'Memory controller'
Answer questions from other users
Full Discussion Forum
 
Encyclopedia
The memory controller is a digital circuit which manages the flow of data going to and from the main memory. It can be a separate chip or integrated into another chip, such as on the die
Die (integrated circuit)
A die in the context of integrated circuits is a small block of semiconducting material, on which a given functional circuit is fabricated.Typically, integrated circuits are produced in large batches on a single wafer of electronic-grade silicon through processes such as photolithography. The...

 of a microprocessor
Microprocessor
A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using binary-coded decimal arithmetic on 4-bit words...

.

Computers using Intel microprocessors have traditionally had a memory controller implemented on their motherboard's northbridge
Northbridge (computing)
The northbridge, also known as a memory controller hub or an integrated memory controller in Intel systems , is one of the two chips in the core logic chipset on a PC motherboard, the other being the southbridge...

, but some modern microprocessors, such as DEC
Digital Equipment Corporation
Digital Equipment Corporation was a pioneering American company in the computer industry. It is often referred to within the computing industry as DEC...

/Compaq
Compaq
Compaq Computer Corporation was an American personal computer company founded in 1982, and is now a brand name of Hewlett-Packard.The company was formed by Rod Canion, Jim Harris and Bill Murto — former Texas Instruments senior managers...

's Alpha 21364
Alpha 21364
The Alpha 21364, code-named "Marvel", also known as EV7 is a microprocessor developed by Digital Equipment Corporation , later Compaq Computer Corporation, that implemented the Alpha instruction set architecture .- History :...

, AMD's Athlon 64
Athlon 64
The Athlon 64 is an eighth-generation, AMD64-architecture microprocessor produced by AMD, released on September 23, 2003. It is the third processor to bear the name Athlon, and the immediate successor to the Athlon XP...

 and Opteron
Opteron
The Opteron is AMD's x86 server and workstation processor line, and was the first processor to implement the AMD64 instruction set architecture . It was released on April 22, 2003 with the SledgeHammer core and was intended to compete in the server and workstation markets, particularly in the same...

 processors, IBM
IBM
International Business Machines Corporation, abbreviated IBM, is a multinational computer technology and IT consulting corporation headquartered in Armonk, Town of North Castle, New York, United States. The company is one of the few information technology companies with a continuous history dating...

's POWER5
POWER5
The POWER5 is a microprocessor developed and fabricated by IBM. It is an improved version of the highly successful POWER4. The principal improvements are support for simultaneous multithreading and an on-die memory controller...

, Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. is a multinational vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982...

 UltraSPARC T1
UltraSPARC T1
Sun Microsystems' UltraSPARC T1 microprocessor, known until its 14 November 2005 announcement by its development codename "Niagara", is a multithreading, multicore CPU...

 and more recently, Intel Core i7
Intel Core i7
Intel Core i7 is a family of several Intel desktop and laptop 64-bit x86-64 processors, the first processors released using the Intel Nehalem microarchitecture and the successor to the Intel Core 2 family. All three current models and two upcoming models are quad-core processors. The Core i7...

 have a memory controller on the microprocessor die to reduce the memory latency. While this has the potential to increase the system's performance, it locks the microprocessor to a specific type (or types) of memory, forcing a redesign in order to support newer memory technologies. When DDR2 SDRAM
DDR2 SDRAM
DDR2 SDRAM is a double data rate synchronous dynamic random access memory interface. It supersedes the original DDR SDRAM specification and the two are not compatible...

 was introduced, AMD released new Athlon 64 CPUs. These new models, with a DDR2 controller, use a different physical socket (known as Socket AM2
Socket AM2
The Socket AM2, renamed from Socket M2 , is a CPU socket designed by AMD for desktop processors, including the performance, mainstream and value segments...

), so that they will only fit in motherboards designed for the new type of RAM. When the memory controller is not on-die, the same CPU may be installed on a new motherboard, with an updated northbridge
Northbridge (computing)
The northbridge, also known as a memory controller hub or an integrated memory controller in Intel systems , is one of the two chips in the core logic chipset on a PC motherboard, the other being the southbridge...

.

The integration of the memory controller onto the die of the microprocessor is not a new concept. Some microprocessors in the 1990s such as the DEC Alpha 21066 and HP PA-7300LC had integrated memory controllers, but to reduce the cost of systems by removing the requirement for an external memory controller instead of increasing performance.

Purpose


Memory controllers contain the logic necessary to read and write dynamic random access memory
Dynamic random access memory
Dynamic random access memory is a type of random access memory that stores each bit of data in a separate capacitor within an integrated circuit. Since real capacitors leak charge, the information eventually fades unless the capacitor charge is refreshed periodically...

 (DRAM), and to "refresh" the DRAM by sending current through the entire device. Without constant refreshes, DRAM will lose the data written to it as the capacitors leak their charge
Charge
-In mathematics, science, and technology:* Charge , the air and/or fuel mixture being fed to an internal combustion engine* Charge , the susceptibility of a body to one of the fundamental forces...

 within a fraction of a second (not less than 64 milliseconds according to JEDEC
JEDEC
JEDEC Solid State Technology Association, formerly known as Joint Electron Device Engineering Council , is the semiconductor engineering standardization body of the Electronic Industries Alliance , a trade association that represents all areas of the electronics industry in the United States...

 standards).

Reading and writing to DRAM is facilitated by use of multiplexer
Multiplexer

In electronics, a multiplexer or mux is a device that performs multiplexing; it selects one of many analog or digital input signals and forwards the selected input into a single line...

s and demultiplexers, by selecting the correct row and column address as the inputs to the multiplexer circuit, where the demultiplexer on the DRAM can select the correct memory location and return the data (once again passed through a multiplexer to reduce the number of wires necessary to assemble the system).

Bus width is the number of parallel lines available to communicate with the memory cell. Memory controllers' bus widths range from 8-bit
8-bit
Eight-bit CPUs normally use an 8-bit data bus and a 16-bit address bus which means that their address space is limited to 64 KB. This is not a "natural law", however, so there are exceptions....

 in earlier systems, to 512-bit in more complicated systems and video cards (typically implemented as four 64-bit
64-bit
64-bit CPUs have existed in supercomputers since the 1960s and in RISC-based workstations and servers since the early 1990s. In 2003 they were introduced to the mainstream personal computer arena, in the form of the x86-64 and 64-bit PowerPC processor architectures.Without further qualification, a...

 simultaneous memory controllers operating in parallel, though some are designed to operate in "gang mode" where two 64-bit memory controllers can be used to access a 128-bit
128-bit
There are currently no mainstream general-purpose processors built to operate on 128-bit integers or addresses, though a number of processors do operate on 128-bit data. System/370, made by IBM, could be considered the first rudimentary 128-bit computer as it used 128-bit floating point registers...

 memory device).

Double data rate memory


Double Data Rate DDR memory controllers are used to drive DDR SDRAM
DDR SDRAM
Double data rate synchronous dynamic random access memory is a class of memory integrated circuits used in computers. It achieves nearly twice the bandwidth of the preceding single data rate SDRAM by double pumping without increasing the clock frequency.With data being transferred 64 bits at...

, where data is transferred on the rising and falling access of the memory clock of the system. DDR memory controllers are significantly more complicated than Single Data Rate controllers, but allow for twice the data to be transferred without increasing the clock rate or increasing the bus width to the memory cell.

Dual-channel memory


Dual Channel memory controllers are memory controllers where the DRAM devices are separated on to two different buses to allow two memory controllers to access them in parallel. This doubles the theoretical amount of bandwidth of the bus. In theory, more channels can be built (a channel for every DRAM cell would be the ideal solution), but due to wire count, line capacitance
Crosstalk (electronics)
In electronics, the term crosstalk refers to any phenomenon by which a signal transmitted on one circuit or channel of a transmission system creates an undesired effect in another circuit or channel...

, and the need for parallel access lines to have identical lengths, more channels are very difficult to add.

Fully buffered memory


Fully buffered memory systems place a memory buffer device on every memory module
DIMM
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 circuit board and designed for use in personal computers, workstations and servers...

 (called an FB-DIMM when Fully Buffered RAM is used), which unlike traditional memory controller devices, use a serial data link to the memory controller instead of the parallel link used in previous RAM designs. This decreases the number of the wires necessary to place the memory devices on a motherboard (allowing for a smaller number of layers to be used, meaning more memory devices can be placed on a single board), at the expense of increasing latency (the time necessary to access a memory location). This increase is due to the time required to convert the parallel information read from the DRAM cell to the serial format used by the FB-DIMM controller, and back to a parallel form in the memory controller on the motherboard. In theory, the FB-DIMM's memory buffer device could be built to access any DRAM cells, allowing for memory cell agnostic memory controller design, but this has not been demonstrated, as the technology is in its infancy.

External references