Memory controller with priority queues
AssigneeHewlett-Packard Company
InventorJames B. Williams
Life of this patent
Estimating the term…
Loading patent…
AssigneeHewlett-Packard Company
InventorJames B. Williams
Estimating the term…
A memory controller receives reads, memory writes, and cache writes. A pending read is selected and issued to memory. When a response is received from memory, all cache writes are checked to determine whether any correspond to the pending read. If there is a corresponding cache write, the data from the corresponding cache write is used to respond to the pending read. Otherwise, prior memory writes arc checked to determine whether any correspond to the pending read. If there is a corresponding prior memory write, the data from the corresponding prior memory write is used to respond to the pending read. A coherency check from associated caches may also be performed, and the appropriate data returned to the processor that requested the read. Three queues may control the order in which memory access is performed. A read queue that contains read requests is typically given highest priority, and therefore reads are generally serviced first. A wait queue contains read requests and memory write requests, and is incremented to the pending read before the pending read is completed. As the wait queue is incremented, memory writes from the wait queue are entered onto a ready queue. Each request retrieved from the wait queue is checked against pending requests in the ready queue. Cache writes are entered directly onto the ready queue. When either a conflict is detected for the pending ready, or when the ready queue contains a certain amount of requests, the ready queue is flushed.
A memory controller for controlling access to a main memory from at least one processor having a local cache, the memory controller comprising:
A method for controlling memory access to a main memory from a plurality of processors, the method comprising the steps of:
An apparatus for controlling memory access to a main memory from a plurality of processors, the apparatus comprising:
Dependencies are inferred from the claim text.