Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
313 words
In a multi-processor system comprising a plurality of processors, a shared main storage and a storage control element, each said processors having a local cache memory and a buffer control element, a computer implemented method of data prefetching comprising the steps of: establishing a local history table at each of said processors, each said local history table containing for each line in cache memory a record of one of whether said line was cross-interrogate invalidated without refetching said line from said shared main storage and whether said line was stored into by the processor corresponding to each said local history table since a last fetch of said line; setting an entry in said local history table when one of a) said line is cross-interrogate invalidated from any processor and b) the buffer control element receives a data store for said line occurs, corresponding to said record in said local history table, and resetting said entry corresponding to said record in said local history table when said processor fetches said line into its cache memory from said shared main storage; and examining entries in said local history table for selected lines which have addresses having a predetermined relationship to a particular line to be accessed by the processor corresponding to said local history table, said predetermined relationship indicating an increased likelihood of a respective one of said selected lines being required, and when a) said particular line is not available in said local cache memory and b) said local history table contains at least one entry which is set corresponding to a respective one of at least one selected line having said predetermined relationship to said particular line, fetching said particular line and prefetching only ones of said selected lines having said predetermined relationship to said particular line and also correspond to ones of said entries in said local history table which are set.
Claim 2
Dependent Claim
313 words
In a multi-processor system comprising a plurality of processors, a shared main storage and a storage control element, each said processors having a local cache memory and a buffer control element, a computer implemented method of data prefetching comprising the steps of: establishing a local history table at each of said processors, each said local history table containing for each line in cache memory a record of one of whether said line was cross-interrogate invalidated without refetching said line from said shared main storage and whether said line was stored into by the processor corresponding to each said local history table since a last fetch of said line; setting an entry in said local history table when one of a) said line is cross-interrogate invalidated from any processor and b) the buffer control element receives a data store for said line occurs, corresponding to said record in said local history table, and resetting said entry corresponding to said record in said local history table when said processor fetches said line into its cache memory from said shared main storage; and examining entries in said local history table for selected lines which have addresses having a predetermined relationship to a particular line to be accessed by the processor corresponding to said local history table, said predetermined relationship indicating an increased likelihood of a respective one of said selected lines being required, and when a) said particular line is not available in said local cache memory and b) said local history table contains at least one entry which is set corresponding to a respective one of at least one selected line having said predetermined relationship to said particular line, fetching said particular line and prefetching only ones of said selected lines having said predetermined relationship to said particular line and also correspond to ones of said entries in said local history table which are set.
Claim 3
Dependent Claim
49 words
The method of data prefetching recited in claim 1 wherein said main storage is divided by blocks, each block containing lines of data, and the step of prefetching is performed by prefetching selected lines of a block of data from said main storage containing said line to be accessed.
Claim 4
Dependent Claim
33 words
The method of data prefetching recited in claim 2 wherein said selected lines of data comprises a line sequentially preceding said line and two lines next sequentially following said line to be accessed.
Claim 5
Dependent Claim
34 words
The method of data prefetching recited in claim 1 wherein said step of establishing local history tables is performed by storing said local history tables in the buffer control elements for each said processors.
Claim 6
Dependent Claim
303 words
In a multi-processor system comprising a plurality of processors, a shared main storage and a storage control element, each of said processors having a local cache memory and a buffer control element, a computer implemented method of data prefetching comprising the steps of: establishing a history table at said storage control element, said history table containing for each line in said cache memories of said processors a record of one of whether said line was cross-interrogate invalidated without refetching said line from said shared main storage and whether said line was stored into since the last fetch of said line by a particular processor; setting an entry in said history table when one of a) said line is cross-interrogate invalidated from any processor and b) the buffer control element of said particular processor receives a data store for said line occurs, corresponding to a record in said history table, and resetting the entry when said particular processor fetches said line into its cache memory from said shared main storage; and, examining entries in said history table for selected lines which have addresses having a predetermined relationship to a particular line to be accessed by the processor corresponding to said history table, said predetermined relationship indicating an increased likelihood of a respective one of said selected lines being required, and when a) said particular line is not available in said local cache memory of said particular processor and b) said history table contains at least one entry which is set corresponding to a respective one of at least one selected line having said predetermined relationship to said particular line, fetching said particular line and prefetching only ones of said selected lines having said predetermined relationship to said particular line and also correspond to ones of said entries in said history table which are set.
Claim 7
Dependent Claim
303 words
In a multi-processor system comprising a plurality of processors, a shared main storage and a storage control element, each of said processors having a local cache memory and a buffer control element, a computer implemented method of data prefetching comprising the steps of: establishing a history table at said storage control element, said history table containing for each line in said cache memories of said processors a record of one of whether said line was cross-interrogate invalidated without refetching said line from said shared main storage and whether said line was stored into since the last fetch of said line by a particular processor; setting an entry in said history table when one of a) said line is cross-interrogate invalidated from any processor and b) the buffer control element of said particular processor receives a data store for said line occurs, corresponding to a record in said history table, and resetting the entry when said particular processor fetches said line into its cache memory from said shared main storage; and, examining entries in said history table for selected lines which have addresses having a predetermined relationship to a particular line to be accessed by the processor corresponding to said history table, said predetermined relationship indicating an increased likelihood of a respective one of said selected lines being required, and when a) said particular line is not available in said local cache memory of said particular processor and b) said history table contains at least one entry which is set corresponding to a respective one of at least one selected line having said predetermined relationship to said particular line, fetching said particular line and prefetching only ones of said selected lines having said predetermined relationship to said particular line and also correspond to ones of said entries in said history table which are set.
Claim 8
Dependent Claim
49 words
The method of data prefetching recited in claim 5 wherein said main storage is divided by blocks, each block containing lines of data, and the step of prefetching is performed by prefetching selected lines of a block of data from said main storage containing said line to be accessed.
Claim 9
Dependent Claim
35 words
The method of data prefetching recited in claim 6 wherein said selected lines of data comprises a line sequentially preceding said particular line and two lines next sequentially following said particular line to be accessed.
Claim 10
Dependent Claim
303 words
In a multi-processor system comprising a plurality of processors, a shared main storage and a storage control element, each of said processors having a local cache memory and a buffer control element, a computer implemented method of data prefetching comprising the steps of: establishing a history table at said storage control element, said history table containing for each line in said cache memories of said processors a record of one of whether said line was cross-interrogate invalidated without refetching said line from said shared main storage and whether said line was stored into since the last fetch of said line by a particular processor; setting an entry in said history table when one of a) said line is cross-interrogate invalidated from any processor and b) the storage control element of said particular processor receives a data store for said line occurs, corresponding to a record in said history table, and resetting said entry when said particular processor fetches said line into its cache memory from said shared main storage; and, examining entries in said history table for selected lines which have addresses having a predetermined relationship to a particular line to be accessed by the processor corresponding to said history table, said predetermined relationship indicating an increased likelihood of a respective one of said selected lines being required, and when a) said particular line is not available in said local cache memory of said particular processor and b) said history table contains at least one entry which is set corresponding to a respective one of at least one selected line having said predetermined relationship to said particular line, fetching said particular line and prefetching only ones of said selected lines having said predetermined relationship to said particular line and also correspond to ones of said entries in said history table which are set.
Claim 11
Dependent Claim
303 words
In a multi-processor system comprising a plurality of processors, a shared main storage and a storage control element, each of said processors having a local cache memory and a buffer control element, a computer implemented method of data prefetching comprising the steps of: establishing a history table at said storage control element, said history table containing for each line in said cache memories of said processors a record of one of whether said line was cross-interrogate invalidated without refetching said line from said shared main storage and whether said line was stored into since the last fetch of said line by a particular processor; setting an entry in said history table when one of a) said line is cross-interrogate invalidated from any processor and b) the storage control element of said particular processor receives a data store for said line occurs, corresponding to a record in said history table, and resetting said entry when said particular processor fetches said line into its cache memory from said shared main storage; and, examining entries in said history table for selected lines which have addresses having a predetermined relationship to a particular line to be accessed by the processor corresponding to said history table, said predetermined relationship indicating an increased likelihood of a respective one of said selected lines being required, and when a) said particular line is not available in said local cache memory of said particular processor and b) said history table contains at least one entry which is set corresponding to a respective one of at least one selected line having said predetermined relationship to said particular line, fetching said particular line and prefetching only ones of said selected lines having said predetermined relationship to said particular line and also correspond to ones of said entries in said history table which are set.
Claim 12
Dependent Claim
49 words
The method of data prefetching recited in claim 8 wherein said main storage is divided by blocks, each block containing lines of data, and the step of prefetching is performed by prefetching at least one selected line of data from said main storage containing said line to be accessed.
Claim 13
Dependent Claim
35 words
The method of data prefetching recited in claim 9 wherein said selected lines of data comprise a line sequentially preceding said particular line and two lines next sequentially following said particular line to be accessed.
Claim 14
Dependent Claim
218 words
A multi-processor data processing system having a plurality of processors, a shared main storage and a storage control element, each of said processors in said multi-processor data processing system having a local cache memory and a buffer control element, said multi-processor data processing system including a history table containing an entry for each line of at least one of said local cache memories, means for setting an entry in said history table upon the occurrence of at least one of a cross-interrogate invalidate of the line corresponding to said entry in said at least one of said cache memories and a data store for the line corresponding to said entry in said at least one of said cache memories, means for resetting said entry when a processor associated with said at least one cache memory fetches said line into its cache memory from said shared main storage, means for detecting that a particular line is unavailable to a processor from its cache, and means for fetching said particular line and means for prefetching only selected lines from said shared main storage which correspond to ones of said entries in said history table which are set and also which have a predetermined relationship to said particular line, said predetermined relationship indicating an increased likelihood of said line being required.
Claim 15
Dependent Claim
218 words
A multi-processor data processing system having a plurality of processors, a shared main storage and a storage control element, each of said processors in said multi-processor data processing system having a local cache memory and a buffer control element, said multi-processor data processing system including a history table containing an entry for each line of at least one of said local cache memories, means for setting an entry in said history table upon the occurrence of at least one of a cross-interrogate invalidate of the line corresponding to said entry in said at least one of said cache memories and a data store for the line corresponding to said entry in said at least one of said cache memories, means for resetting said entry when a processor associated with said at least one cache memory fetches said line into its cache memory from said shared main storage, means for detecting that a particular line is unavailable to a processor from its cache, and means for fetching said particular line and means for prefetching only selected lines from said shared main storage which correspond to ones of said entries in said history table which are set and also which have a predetermined relationship to said particular line, said predetermined relationship indicating an increased likelihood of said line being required.
Claim 16
Dependent Claim
40 words
A multi-processor data processing system as recited in claim 11, wherein said history table is a local history table containing an entry for each line in said cache memory of at least one processor of said multi-processor data processing system.
Claim 17
Dependent Claim
37 words
A multi-processor data processing system as recited in claim 11, wherein said history table is a global history table containing an entry for each cache memory of each of said processors of said multi-processor data processing system.
Claim 18
Dependent Claim
41 words
A multi-processor data processing system as recited in claim 13, wherein said means for setting an entry in said global history table includes means for setting said entry when a line corresponding to said entry is cross-interrogate invalidated from any processor.
Claim 19
Dependent Claim
24 words
A multi-processor data processing system as recited in claim 11, wherein said predetermined relationship to said particular line defines a block of consecutive lines.
Claim 20
Dependent Claim
29 words
A multi-processor data processing system as recited in claim 15, wherein said block of lines includes a line preceding said particular line and two lines following said particular line.
Claim 21
Dependent Claim
22 words
A multi-processor data processing system as recited in claim 11, wherein at least one said buffer control element contain said history table.