Method of processing memory requests in a pipelined memory...

Electrical computers and digital processing systems: memory – Storage accessing and control – Access timing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S168000

Reexamination Certificate

active

06295592

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates generally to memory controllers and more particularly to a method for processing memory requests in a memory controller.
2. Description of the Related Technology
A computer system relies on memory to store instructions and data that are processed by a computer system processor. Breathtaking advances have been made in both the storage capacity and speed of computer memory devices. However, the speed increases of memory devices have not been able to keep pace with the speed increases achieved with current microprocessors. As a result, the speed of current computer systems is limited by the speed in which the data instructions can be accessed from the memory of the computer system.
The typical memory contains an array of memory cells connected to each other by row and column lines. Each memory cell stores a single bit and is accessed by a memory address that includes a row address that indexes a row of the memory array and a column address that indexes a column of the memory array. Accordingly, each memory address points to the memory cell at the intersection of the row specified by the row address and the column specified by the column address.
In a typical computer system, the system processor communicates with the computer memory via a processor bus and a memory controller. For example, a central processing unit (CPU) issues a command and an address which are received and translated by the memory controller. The memory controller, in turn, applies appropriate command signals and row and column addresses to the memory device. Examples of such commands include a row address strobe (RAS), column address strobe (CAS), write enable (WE), and possibly a clock signal (CLK). In response to the commands and addresses, data is transferred between the CPU and the memory device.
The memory device typically includes a dynamic random access memory (DRAM) module such as a single in-line memory module (SIMM) or a dual in-line memory module (DIMM). The memory module typically includes one or more banks of memory chips connected in parallel such that each memory bank stores one word of data per memory address.
In an attempt to decrease memory access time, an even faster form of memory, referred to as synchronous DRAM (SDRAM), was created. SDRAM transfers data with the use of a clock signal. In contrast, typical DRAM devices are asynchronous because they do not require a clock input signal. The memory controller for synchronous devices receives the system clock signal and operates as a synchronous interface with the CPU so that data is exchanged with the CPU at appropriate edges of the clock signal.
SDRAMs offer substantial advances in DRAM operating performance, including the ability to synchronously burst data at a high data rate with automatic column-address generation, the ability to interleave between internal data banks in order to hide precharged time, and the capability to change column in addresses on each clock cycle during a burst access.
Typically SDRAMs are configured to include a pipeline. Pipelining refers to the interlinking or overlapping of input and output data and addresses of consecutive bus cycles. Pipelining increases the throughput of memory transactions. With this pipelined architecture SDRAMs can accept a new column address on every clock cycle.
As the speed of memory devices such as the SDRAM increases, other bottlenecks arise within computer systems. For example, as SDRAM devices are operated at faster clock rates, the memory controllers to which they are coupled often cannot exchange data between the CPU and the memory device quickly enough. Therefore, manufacturers have found that the memory controller itself needs to be pipelined.
In view of the above, it is apparent that manufacturers are in need of an efficient pipelined memory controller to facilitate the communication of the memory requests to the memory devices.
SUMMARY OF THE INVENTION
One embodiment of the invention is a method of handling at least one memory request, comprising processing the at least one memory request in a plurality of stages, wherein in a first stage, the at least one memory request for digital information is received and stored in a request buffer, wherein in a second stage the at least one memory request is decoded, wherein in a third stage the at least one memory request is sent to a memory module, and wherein in a fourth stage the data from the at least one memory request is received from the memory module.
Another embodiment of the invention is a method of manufacturing a pipelined memory controller, comprising connecting a request queue having a plurality of registers to a state machine, assigning a request pointer to reference the most recent memory request in the request queue, coupling a data transfer module, a decode module and a memory address module to the state machine, each having a pointer to a memory request in the request queue.
Yet another embodiment of the invention is a method of pipelining memory requests in a memory controller comprising receiving a memory request from a processor, storing the memory request in a first register contained in a request buffer, pointing a decode pointer to the first register in the request buffer, decoding the address in the memory request in the first register, receiving a second memory request, storing the second memory request in a second register in the request buffer; updating the request pointer to reference the second memory request, updating the decode pointer to reference the second memory request, addressing the memory address in the first memory register, receiving and decoding the address in the second memory address, incrementing the decode and address pointers, addressing the memory address in the second memory address, and transferring the data requested by the first and second memory request.


REFERENCES:
patent: 4295193 (1981-10-01), Pomerene
patent: 4697233 (1987-09-01), Scheuneman et al.
patent: 5537555 (1996-07-01), Landry et al.
patent: 5956744 (1999-09-01), Robertson et al.
patent: 6018798 (2000-01-01), Witt et al.
patent: 6032252 (2000-02-01), Petro et al.
Intel Corporation, “Intel 440FX PCISET 82441 FX PCI and Memory Controller (PMC) and Databux Accelerator (DBX),”71 pages, May 1996.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method of processing memory requests in a pipelined memory... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method of processing memory requests in a pipelined memory..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of processing memory requests in a pipelined memory... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2452838

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.