ASYNCHRONOUS CACHE COHERENCE ARCHITECTURE IN A SHARED MEMORY MULTIPROCESSOR WITH POINT-TO-POINT LINKS
First Claim
1. A method for accessing memory in a multiprocessor system, the method comprising:
- from a requesting processor, issuing a request for a block of data to one or more other processors and memory, each copy of the block of data being associated with state information indicating whether the copy is valid or invalid;
in each of the processors and memory that receive the request, checking to determine whether a valid copy of the block of data exists; and
returning a valid copy of the requested data from one of the other processors or memory such that only the processor or memory having the valid copy of the data block responds to the request.
2 Assignments
0 Petitions
Accused Products
Abstract
In a shared memory, multiprocessor system, an asynchronous cache coherence method associates state information with each data block to indicate whether a copy of the data block is valid or invalid. When a processor in the multiprocessor system requests a data block, it issues the request to one or more other processors and the shared memory. Depending on the implementation, the request may be broadcast, or specifically targeted to processors having a copy of the requested data block. Each of the processors and memory that receive the request independently check to determine whether they have a valid copy of the requested data block based on the state information. Only the processor or memory having a valid copy of the requested data block responds to the request. The memory control path between each processor and a shared memory controller may be implemented with two unidirectional and dedicated point-to-point links for sending and receiving requests for blocks of data.
87 Citations
20 Claims
-
1. A method for accessing memory in a multiprocessor system, the method comprising:
-
from a requesting processor, issuing a request for a block of data to one or more other processors and memory, each copy of the block of data being associated with state information indicating whether the copy is valid or invalid;
in each of the processors and memory that receive the request, checking to determine whether a valid copy of the block of data exists; and
returning a valid copy of the requested data from one of the other processors or memory such that only the processor or memory having the valid copy of the data block responds to the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A multiprocessor system comprising:
-
two or more processors, each in communication with a shared memory via a memory controller;
the processors in communication with the memory controller for issuing a request for a block of data, each of the processors and the shared memory being capable of storing a copy of the requested block of data, and each copy of the requested block of data being associated with state indicating whether the copy is valid or invalid, each of the processors and the shared memory being responsive to a request to check itself for a valid copy of a requested block such that only the processor or shared memory having the valid copy responds to the request for the requested block. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 20)
-
-
19. A multiprocessor system comprising:
-
two or more processors, each in communication with a shared memory;
the processors in communication with the shared memory for issuing a request for a block of data, each of the processors and the shared memory being capable of storing a copy of the requested block of data, and each copy of the requested block of data being associated with state indicating whether the copy is valid or invalid, each of the processors and the shared memory being responsive to a request to check itself for a valid copy of a requested block such that only the processor or shared memory having the valid copy responds to the request for the requested block.
-
Specification