Multi-processor computer system with cache-flushing system using memory recall
AssigneeHewlett-Packard Development Company, L.P.
InventorsKenneth Mark Wilson, Fong Pong, Lance Russell, Tung Nguyen, Lu Xu
Life of this patent
Estimating the term…
Abstract
A cache coherent distributed shared memory multi-processor computer system is provided with a memory controller which includes a recall unit. The recall unit allows selective forced write-backs of dirty cache lines to the home memory. After a request is posted in the recall unit, a recall (“flush”) command is issued which forces the owner cache to write-back the dirty cache line to be flushed. The memory controller will inform the recall unit as each recall operation is completed. The recall unit operation will be interrupted when all flush requests are completed.
Claims22
A multi-processor system having a processor with a cache connected thereto, a memory operatively connected to the processor, and a memory controller operatively connected to the memory for controlling access to the memory, the memory controller comprising:
- a recall unit operatively connected to the cache, the recall unit including:
- a triggering mechanism for providing a trigger signal to the recall unit to start a memory recall operation,
- a recall unit queue mechanism operatively connected to the triggering mechanism and the cache for holding cache information, and
- a control mechanism operatively connected to the recall unit queue mechanism for programmably controlling the recall unit to operate in a plurality of modes;
- and
- a state machine operatively connected to the recall unit queue mechanism, the cache, and the memory for recalling information from the cache to the memory.
A multi-processor computer system having a processor with a cache connected thereto, a memory operatively connected to the processor, and a memory controller operatively connected to the memory for controlling access to the memory, the memory controller comprising:
- a recall unit operatively connected to the cache, the recall unit including:
- a triggering mechanism for providing a trigger signal to the recall unit to start a memory recall operation,
- a recall unit queue mechanism operatively connected to the triggering mechanism and the cache, the recall unit queue mechanism capable of providing flush requests and including a plurality of address registers capable of storing a plurality of memory locations, and
- a control mechanism operatively connected to the recall unit queue mechanism for programmably controlling the recall unit to operate in a plurality of modes;
- and
- a state machine operatively connected to the recall unit queue mechanism, the cache, and the memory for recalling information from the cache to the memory.
A multi-processor computer system having a processor with a cache connected thereto, a memory operatively connected to the processor, and a memory controller operatively connected to the memory for controlling access to the memory, the memory controller comprising:
- a recall unit operatively connected to the cache, the recall unit including:
- a triggering mechanism for providing a trigger signal to the recall unit to start a memory recall operation,
- a recall unit queue mechanism operatively connected to the triggering mechanism and the cache for holding cache information, the recall unit queue mechanism including a plurality of address registers capable of storing a plurality of memory locations in a first-in-first-out sequence, the recall unit queue mechanism responsive to the triggering mechanism to provide flush requests to start the recall unit, and
- a control mechanism operatively connected to the recall unit queue mechanism, the control mechanism including a control and status register for maintaining the mode of operation of the recall unit queue mechanism and for stopping the operation thereof when all flush requests have been completed, the control mechanism for programmably controlling the recall unit to operate in a plurality of modes;
- a state machine operatively connected to the recall unit queue mechanism, the cache, and the memory for recalling information from the cache to the memory;
- and
- an outstanding recall buffer mechanism operatively connected to the recall unit queue mechanism, the control mechanism, and the state machine for maintaining information about outstanding recalls.
In a multi-processor computer system comprising a processor with a cache connected thereto, a memory operatively connected to the processor, and a method for recalling a plurality of memory locations within the cache, comprising:
- (a) providing a memory controller having a recall unit;
- (b) providing to the recall unit the plurality of memory locations within the cache that are to be recalled;
- (c) programmably selecting the recall unit to operate in a plurality of modes;
- (d) generating a trigger signal in the recall unit to start at least one memory recall operation;
- (e) providing to the cache the plurality of the memory locations within the cache that are to be recalled;
- and
- (f) providing a response signal to the recall unit as each memory recall operation is completed.
In a multi-processor computer system comprising a processor with a cache connected thereto, a memory operatively connected to the processor, and a method for recalling a plurality of memory locations within the cache, comprising:
- (a) providing a memory controller having a recall unit, the recall unit having a plurality of address registers for storing the plurality of the memory locations;
- (b) providing to the recall unit the plurality of memory locations within the cache that are to be recalled;
- (c) programmably selecting the recall unit to operate in a plurality of modes;
- (d) generating a trigger signal in the recall unit to start a plurality of memory recall operations after a plurality of recall operation requests have been buffered by the recall unit;
- and
- (e) providing to the cache the plurality of the memory locations within the cache that are to be recalled.
Dependencies are inferred from the claim text.