Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
187 words
In a multiprocessor system having a plurality of processors, each processor connected to a shared memory and a shared bus through a corresponding private cache, each private cache having a corresponding controller, comprising: coherency means, coupled to the shared bus, for determining whether a cache data coherence procedure needs to be performed on a copy of shared data held by the private cache; determination means for determining whether a piece of data on the shared bus is included in a storage block belonging to a working set of the private cache; and, consistency maintenance means, coupled to said coherency means and said determination means, for dynamically selecting one of a plurality of data constancy maintenance procedures responsive to said determination means, and for performing a data consistency maintenance procedure so selected, responsive to a determination by said coherency means that said cache data coherence procedure needs to be performed by appropriate selection of updating or invalidation of the contents of the private cache in accordance with the determination as to whether or not the piece of date on the shared bus is part of the working set.
Claim 2
Dependent Claim
187 words
In a multiprocessor system having a plurality of processors, each processor connected to a shared memory and a shared bus through a corresponding private cache, each private cache having a corresponding controller, comprising: coherency means, coupled to the shared bus, for determining whether a cache data coherence procedure needs to be performed on a copy of shared data held by the private cache; determination means for determining whether a piece of data on the shared bus is included in a storage block belonging to a working set of the private cache; and, consistency maintenance means, coupled to said coherency means and said determination means, for dynamically selecting one of a plurality of data constancy maintenance procedures responsive to said determination means, and for performing a data consistency maintenance procedure so selected, responsive to a determination by said coherency means that said cache data coherence procedure needs to be performed by appropriate selection of updating or invalidation of the contents of the private cache in accordance with the determination as to whether or not the piece of date on the shared bus is part of the working set.
Claim 3
Dependent Claim
63 words
The multiprocessor system of claim 1, wherein said determination means comprises: a mode switching controller including storing means for storing identifiers indicative of a plurality of storage blocks belonging to said working set; and, comparison means for determining whether an identifier indicative of a storage block accessed by one of the plurality of processors is among the identifiers stored in the storing means.
Claim 4
Dependent Claim
116 words
The multiprocessor system of claim 2 wherein said determination means further comprises: access means for determining when the processor accesses data in a first storage block not belonging to said working set of the private cache and for causing said first storage block to be included in said working set of data stored in a limited area of the memory repeatedly accessed within a short span of time, said access means further comprising means for causing the first storage block to be excluded from said working set when the processor accesses data in one or more other storage blocks a predetermined number of times subsequent to the processor's most recent access to the first storage block.
Claim 5
Dependent Claim
31 words
The multiprocessor system of claim 1 wherein the plurality of data consistency maintenance procedures comprise an invalidate type procedure and an update type procedure for invalidating or updating data in cache.
Claim 6
Dependent Claim
109 words
The multiprocessor system of claim 4 wherein when said determination means determines that said piece of data is in a storage block belonging to said working set, said update type procedure is selected by said consistency maintenance means, and when said determination means determines that said piece of data is in a storage block not belonging to said working set, said invalidate type procedure is selected by said consistency maintenance means by appropriate selection of updating or invalidation of the contents of the private cache in accordance with the determination as to whether or not the piece of date on the shared bus is part of the working set.
Claim 7
Dependent Claim
164 words
In a multiprocessor system having a plurality of processors, each processor connected to a shared memory and a shared bus through a corresponding private cache, a method for controlling the private cache comprising: a snoop step of monitoring the shared bus; after said monitoring has commenced, a first determining step of determining whether a cache data coherence procedure needs to be performed on a copy of shared data held by the private cache; and a second determining step of, responsive to said monitoring, determining whether a piece of data on the shared bus is included in a storage block belonging to a working set of the private cache; a selection step of selecting one of a plurality of data constancy maintenance procedures responsive to said second determining step; and, a data consistency step of performing a data consistency maintenance procedure selected by said selection step, when it is determined by said first determining step that said cache data coherence procedure needs to be performed.
Claim 8
Dependent Claim
164 words
In a multiprocessor system having a plurality of processors, each processor connected to a shared memory and a shared bus through a corresponding private cache, a method for controlling the private cache comprising: a snoop step of monitoring the shared bus; after said monitoring has commenced, a first determining step of determining whether a cache data coherence procedure needs to be performed on a copy of shared data held by the private cache; and a second determining step of, responsive to said monitoring, determining whether a piece of data on the shared bus is included in a storage block belonging to a working set of the private cache; a selection step of selecting one of a plurality of data constancy maintenance procedures responsive to said second determining step; and, a data consistency step of performing a data consistency maintenance procedure selected by said selection step, when it is determined by said first determining step that said cache data coherence procedure needs to be performed.
Claim 9
Dependent Claim
62 words
The method of claim 6, wherein said second determining step further comprises: a storage step of storing identifiers indicative of a plurality of storage blocks belonging to said working set; and, a third determining step of determining whether an identifier indicative of a storage block accessed by one of the plurality of processors is among the identifiers stored by said storage step.
Claim 10
Dependent Claim
97 words
The method of claim 7 wherein said second determination step further comprises: a fourth determining step of determining when the processor accesses data in a first storage block not belonging to said working set of the private cache and causing said first storage block to be included in said working set, and an exclusion step of causing the first storage block to be excluded from said working set when the processor accesses data in one or more other storage blocks a predetermined number of times subsequent to the processor's most recent access to the first storage block.
Claim 11
Dependent Claim
30 words
The method claim 6 wherein said data consistency maintenance procedure selected by said selection step is selected from a group comprising an invalidate type procedure and an update type procedure.
Claim 12
Dependent Claim
68 words
The multiprocessor system of claim 9 wherein said when said second determining step determines that said piece of data is in a storage block belonging to said working set, said update type procedure is selected by said selection step, and when said second determining step determines that said piece of data is in a storage block not belonging to said working set, said invalidate type procedure is selected.