All Topics  
Memory controller

 

   Email Print
   Bookmark   Link






 

Memory controller



 
 
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....
 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 Word ....
.

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 United States company in the computer industry. It is often referred to within the computing industry as DEC ....
/Compaq
Compaq

Compaq Computer Corporation was an United States personal computer company founded in 1982, and is now a brand name of Hewlett-Packard Company....
's Alpha 21364
Alpha 21364

The Alpha 21364, code-named "Marvel", also known as EV7, is a microprocessor developed by Compaq that implemented the DEC Alpha instruction set architecture ....
, 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 Advanced Micro Devices's x86 server Central processing unit line, and was the first processor to implement the AMD64 instruction set architecture ....
 processors, IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
's POWER5
POWER5

POWER5 is a microprocessor developed and fabricated by IBM. It is an improved variant of the highly successful POWER4. The principal improvements are support for simultaneous multithreading and an Semiconductor-die cutting memory controller....
, Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation 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 central processing unit....
 and more recently, Intel Core i7
Intel Core i7

Intel Core i7 is a family of three Intel desktop x86-64 processors, the first processors released using the Intel Nehalem and the successor to the Intel Core 2 family....
 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....
 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 Word ....
.

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 United States company in the computer industry. It is often referred to within the computing industry as DEC ....
/Compaq
Compaq

Compaq Computer Corporation was an United States personal computer company founded in 1982, and is now a brand name of Hewlett-Packard Company....
's Alpha 21364
Alpha 21364

The Alpha 21364, code-named "Marvel", also known as EV7, is a microprocessor developed by Compaq that implemented the DEC Alpha instruction set architecture ....
, 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 Advanced Micro Devices's x86 server Central processing unit line, and was the first processor to implement the AMD64 instruction set architecture ....
 processors, IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
's POWER5
POWER5

POWER5 is a microprocessor developed and fabricated by IBM. It is an improved variant of the highly successful POWER4. The principal improvements are support for simultaneous multithreading and an Semiconductor-die cutting memory controller....
, Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation 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 central processing unit....
 and more recently, Intel Core i7
Intel Core i7

Intel Core i7 is a family of three Intel desktop x86-64 processors, the first processors released using the Intel Nehalem and the successor to the Intel Core 2 family....
 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 or Double Data Rate two synchronous dynamic random access memory is a random access memory technology used in electronic engineering for high bandwidth storage of the working data of a computer or other digital electronics device....
 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....
 (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

Charge or charged may refer to:...
 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 or Joint Electron Device Engineering Councils, is the semiconductor engineering standardization body of the Electronic Industries Alliance , a trade association that represents all areas of the electronics i...
 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 outputs that 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 KBs. 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 computer workstation and Server s 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....
 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....
 memory device).

Double data rate memory

Double Data Rate DDR memory controllers are used to drive DDR SDRAM
DDR SDRAM

DDR SDRAM 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 data rate without increasing the clock frequency....
, 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 Signalling 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 places 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 Server s....
 (called an FB-DIMM when Fully Buffered RAM is used), which unlike traditional memory controller devices, uses 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.

See also

  • Memory scrubbing
    Memory scrubbing

    Memory scrubbing is the process of detecting and correcting bit errors in memory by using error-detecting codes like Error detection and correction#Error-correcting code....


External references

  • A how-to article on evaluating memory controllers using the VisualSim virtual prototyping tool.
  • A detailed description of the key issues when implementing memory controllers that need to support both DDR2 and DDR3 memories. www.memcoreinc.com.