Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
First Claim
1. A method for partitioning memory in a cache coherent symmetric multiprocessor system (SMP) to provide cache coherency for inter cache transfers, the SMP comprising, a plurality of processors each associated with cache memory;
- a shared memory;
a shared communications bus; and
a memory controller, said method comprising the following steps;
subdividing said shared memory into a plurality of independent memory partitions and assigning each of said plurality of memory partitions to at least one of said plurality of processors;
executing said plurality of processors in a single cache coherence domain on said shared communications bus;
monitoring inter cache requests for cache lines by requesting processors from responding processors on said shared communications bus of the SMP for detecting if an address associated with an inter cache request for a cache line is outside of a memory partition assigned to a requesting processor; and
correcting a memory partition assigned to a responding processor that responds to the inter cache request with an inter cache transfer of the cache line resulting in an illegal inter cache transfer via a write back of data representing the cache line to the memory partition assigned to the responding processor, wherein each of said plurality of independent memory partitions of said SMP retains independent fault protection properties.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides fault contained memory partitioning in a cache coherent, symmetric shared memory multiprocessor system while enabling fault contained cache coherence domains as well as cache coherent inter partition memory regions. The entire system may be executed as a single coherence domain regardless of partitioning, and the general memory access and cache coherency traffic are distinguished. All memory access is intercepted and processed by the memory controller. Before data is read from or written to memory, the address is verified and the executed operation is aborted if the address is outside the memory regions assigned to the processor in use. Inter cache requests are allowed to pass, though concurrently the accessed memory address is verified in the same manner as the memory requests. During the corresponding inter cache response, a failed validity check for the request results in the stopping of the requesting processor and the repair of the potentially corrupted memory hierarchy of the responding processor.
118 Citations
31 Claims
-
1. A method for partitioning memory in a cache coherent symmetric multiprocessor system (SMP) to provide cache coherency for inter cache transfers, the SMP comprising, a plurality of processors each associated with cache memory;
- a shared memory;
a shared communications bus; and
a memory controller, said method comprising the following steps;subdividing said shared memory into a plurality of independent memory partitions and assigning each of said plurality of memory partitions to at least one of said plurality of processors;
executing said plurality of processors in a single cache coherence domain on said shared communications bus;
monitoring inter cache requests for cache lines by requesting processors from responding processors on said shared communications bus of the SMP for detecting if an address associated with an inter cache request for a cache line is outside of a memory partition assigned to a requesting processor; and
correcting a memory partition assigned to a responding processor that responds to the inter cache request with an inter cache transfer of the cache line resulting in an illegal inter cache transfer via a write back of data representing the cache line to the memory partition assigned to the responding processor, wherein each of said plurality of independent memory partitions of said SMP retains independent fault protection properties. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- a shared memory;
-
9. A computer program device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform method steps for partitioning memory in a cache coherent symmetric multiprocessor system (SMP) to provide cache coherency for inter cache transfers comprising a plurality of processors each associated with cache memory;
- a shared memory;
a shared communications bus; and
a memory controller, said method comprising the following steps;subdividing said shared memory into a plurality of independent memory partitions and assigning each of said plurality of independent memory partitions to at least one of said plurality of processors;
executing said plurality of processors in a single cache coherence domain on said shared communications bus;
monitoring inter cache requests for cache lines by requesting processors from responding processors on said shared communications bus of the SMP for detecting if an address associated with an inter cache request for a cache line is outside of a memory partition assigned to a requesting processor; and
correcting a memory partition assigned to a responding processor that responds to the inter cache request with an inter cache transfer of the cache line resulting in an illegal inter cache transfer via a write back of data representing the cache line to the memory partition assigned to the responding processor, wherein each of said plurality of independent memory partitions of said SMP retains independent fault protection properties. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
- a shared memory;
-
17. An apparatus for partitioning memory in a cache coherent symmetric multiprocessor system (SMP) to provide cache coherency for inter cache transfers comprising a plurality of processors each associated with cache memory;
- a shared memory;
a shared communications bus; and
a memory controller, wherein said processors are executed in a single cache coherence domain, said apparatus comprising;a means for subdividing said shared memory into a plurality of independent memory partitions and assigning each of said plurality of memory partitions to at least one of said plurality of processors;
a partition manager for monitoring inter cache requests for cache lines by requesting processors from responding processors on said shared communications bus of the SMP to detect if an address associated with an inter cache request is outside of a memory partition assigned to a requesting processor; and
a transaction manager for correcting a memory partition assigned to a responding processor that responds to the inter cache request with an inter cache transfer of the cache line resulting in an illegal inter cache transfer via a write back of data representing the cache line to the memory partition assigned to the responding processor, wherein each of said plurality of independent memory partitions of said SMP retains independent fault protection properties. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
- a shared memory;
-
25. An apparatus for controlling partitioned memory in a cache coherent symmetric multiprocessor system (SMP) to provide cache coherency for inter cache transfers, the SMP comprising a plurality of processors each associated with cache memory;
- a shared memory;
a shared communications bus;
a data queue; and
a memory controller, said apparatus comprising;a transaction manager for buffering inter cache requests for cache lines by requesting processors transmitted on the shared communications bus of the SMP;
a partition manager for monitoring the requests for the cache lines on said shared communications bus of the SMP to detect if an address associated with an inter cache request for a cache line is outside of a memory partition assigned to a requesting processor;
a capture buffer for storing a copy of data representing a cache line transferred on said communications bus in response to the inter cache request; and
a multiplexer for correcting a memory partition assigned to a responding processor that responds to the inter cache request with an inter cache transfer of the cache line resulting in an illegal inter cache transfer via a write back of said stored copy of data representing the cache line to said memory partition assigned to the responding processor, wherein each of said plurality of independent memory partitions of said SMP retains independent fault protection properties. - View Dependent Claims (26, 27, 28, 29, 30, 31)
- a shared memory;
Specification