Read-modify-write for partial writes in a memory controller

Electrical computers and digital processing systems: memory – Storage accessing and control – Control technique

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S154000, C710S039000, C710S052000, C710S065000, C710S066000, C714S006130, C714S764000

Reexamination Certificate

active

06718444

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention is related to the field of computer systems and, more particularly, to memory controllers in computer systems.
2. Description of the Related Art
Memory controllers are included in computer systems to manage access to memory. Typically, the memory includes some form of dynamic random access memory (DRAM). Varieties of DRAM include asynchronous DRAM, synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), Rambus DRAM (RDRAM), etc. Some computer systems may include a single memory comprising one or more DRAMs and a single memory controller to control access to the memory. Other systems, referred to as distributed memory computer systems, may include multiple memories (each comprising one or more DRAMs) separately accessible using respective memory controllers.
Typically, a given memory may require a minimum number of bytes to be written when a write is performed to the memory, which will be referred to as the “write width”. The write width may, for example, be the width of one data transfer to/from the memory. Alternatively, the write width may be a portion of the data transfer or multiple data transfers.
If a write request is received by the memory controller, and the write request updates a number of bytes less than the write width, the memory controller may perform a read-modify-write operation to complete the write request. The memory controller typically includes a data buffer into which the write data is stored (using a first port on the data buffer). The memory controller then reads at least a write-width of data from the memory, and provides that data directly to the data buffer using a second port on the buffer. The read data is merged with the write data in the buffer (thus modifying the read data with the write data), and written back to memory. The read-modify-write is entirely local to the memory controller.
SUMMARY OF THE INVENTION
An apparatus is contemplated, including a router and a memory controller. The router is configured to route a write request and write data to the memory controller. The memory controller is coupled to receive the write request and the write data. If the write data is a number of bytes less than a minimum number of bytes writeable to a memory to which the memory controller is capable of being coupled, the memory controller is configured to read first data from the memory. The first data comprises the minimum number of bytes and includes bytes to be updated with the write data. The memory controller is configured to return the first data to the router as a read response. The router is configured to return the first data to the memory controller.
A memory controller is contemplated, comprising a request queue coupled to receive a write request, a data buffer coupled to receive write data corresponding to the write request, and a control circuit coupled to the request queue and the data buffer. The control circuit is configured, if the write data is a number of bytes less than a minimum number of bytes writeable to a memory to which the memory controller is capable of being coupled, to read first data from the memory. The first data comprises the minimum number of bytes and includes bytes to be updated with the write data. The control circuit is further configured to transmit the first data as a read response. The data buffer is coupled to receive the first data returned to the memory controller as a read response, and the control circuit is configured to merge the first data and the write data.
A method is also contemplated. A write request and write data are received in a memory controller. If the write data is a number of bytes less than a minimum number of bytes writeable to a memory to which the memory controller is capable of being coupled, first data is read from the memory. The first data comprises the minimum number of bytes and includes bytes to be updated with the write data. The first data is transmitted from the memory controller as a read response, and is received in the memory controller.


REFERENCES:
patent: 4785394 (1988-11-01), Fischer
patent: 5008886 (1991-04-01), Chinnaswamy et al.
patent: 5629894 (1997-05-01), Cho et al.
patent: 5666515 (1997-09-01), White et al.
patent: 5912906 (1999-06-01), Wu et al.
patent: 5917839 (1999-06-01), Hashimoto et al.
patent: 5978952 (1999-11-01), Hayek et al.
patent: 6073219 (2000-06-01), Ohno
patent: 6101614 (2000-08-01), Gonzales et al.

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

Read-modify-write for partial writes in a memory controller does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Read-modify-write for partial writes in a memory controller, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Read-modify-write for partial writes in a memory controller will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3230383

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