← Back to Patent Explorer
US5146603A Expired / Lapsed US ⏱️ 0.0 years remaining

Copy-back cache system having a plurality of context tags and setting all the context tags to a predetermined value for flushing operation thereof

Assignee: Fujitsu Services Ltd
•
Filing: 1989-05-16
•
Granted: 1992-09-08
•
Expires: 2009-05-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data memory system includes a main memory and a copy-back cache. Each line of the cache has a context tag, which is compared with a current context number to test whether the line contains the required data. The cache can be flushed simply by resetting all the context tags to a null value, which ensures that the data cannot be accessed. However, it remains physically in the cache, and will eventually be copied back to the main memory when it is about to be overwritten with different data or when the physical address is next used.

Inventors

  • 👤 Adrian R. Frost
  • 👤 Karl M. Henson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 13:57
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0842; G06F12/0815; G06F12/0831; G06F12/0891

Claims Analysis

Total Claims: 7
Claim 1
Independent Claim 251 words
A data processing system comprising: (a) a main memory (b) a cache, having a plurality of locations, each location having a context tag, and a status indicator, (c) data processing means for executing a plurality of processes, and for allocating one of a predetermined set of values excluding a predetermined reserved value to each of the processes as a context number for that process, (d) context means coupled to said data processing means for storing a current context number equal to the context number of the process currently being executed by the data processing means, (e) loading means coupled to the main memory, the cache, and the context means for loading a data item from the main memory into a location of the cache, overwriting any data item already in that location, and setting the context tag of that location equal to the current context number, (f) setting means coupled to the cache for setting the status indicator of a location in the cache to indicate when a data item held in that location has been modified, (g) copyback means coupled to the main memory and the cache for copying back modified data items from the cache to the main memory when they are about to be overwritten in the cache, and (h) flushing means couple to the cache and the data processing means and operative when all of said predetermined set of values have been allocated, for setting all the context tags in the cache to said predetermined reserved value.
Claim 2
Dependent Claim 251 words
A data processing system comprising: (a) a main memory (b) a cache, having a plurality of locations, each location having a context tag, and a status indicator, (c) data processing means for executing a plurality of processes, and for allocating one of a predetermined set of values excluding a predetermined reserved value to each of the processes as a context number for that process, (d) context means coupled to said data processing means for storing a current context number equal to the context number of the process currently being executed by the data processing means, (e) loading means coupled to the main memory, the cache, and the context means for loading a data item from the main memory into a location of the cache, overwriting any data item already in that location, and setting the context tag of that location equal to the current context number, (f) setting means coupled to the cache for setting the status indicator of a location in the cache to indicate when a data item held in that location has been modified, (g) copyback means coupled to the main memory and the cache for copying back modified data items from the cache to the main memory when they are about to be overwritten in the cache, and (h) flushing means couple to the cache and the data processing means and operative when all of said predetermined set of values have been allocated, for setting all the context tags in the cache to said predetermined reserved value.
Claim 3
Dependent Claim 28 words
A data processing system according to claim 1, comprising a plurality of processing units, each with a separate cache, said main memory being shared between said processing units.
Claim 4
Dependent Claim 29 words
A data processing system according to claim 2, wherein each processing unit comprises a snoop logic unit for monitoring accesses to the main memory from the other processing units.
Claim 5
Dependent Claim 43 words
A data processing system according to claim 1, including means operative when a data location in the cache is accessed, for comparing the context tag of that location with the current context number and for indicating a cache miss if they are unequal.
Claim 6
Independent Claim 201 words
A method of processing data comprising the steps of: (a) storing data items in a main memory and in a cache, the cache having a plurality of locations, each location having a context tag, and a status indicator, (b) executing a plurality of processes, (c) allocating one of a predetermined set of values to each of the processes as a context number for that process, (d) storing a current context number equal to the context number of the process currently being executed, (e) loading data items from the main memory into a location of the cache, overwriting any data items already in those locations, and setting the context tags of those locations equal to the current context number, (f) modifying selected data items in the cache and setting the status indicators of the cache locations to indicate which items have been modified, (g) copying back modified data items from the cache to the main memory when they are about to be overwritten in the cache, and (h) when all of said predetermined set of values have been allocated, resetting all the context tags in the cache to a predetermined reserved value not equal to any of said predetermined set of values.
Claim 7
Independent Claim 201 words
A method of processing data comprising the steps of: (a) storing data items in a main memory and in a cache, the cache having a plurality of locations, each location having a context tag, and a status indicator, (b) executing a plurality of processes, (c) allocating one of a predetermined set of values to each of the processes as a context number for that process, (d) storing a current context number equal to the context number of the process currently being executed, (e) loading data items from the main memory into a location of the cache, overwriting any data items already in those locations, and setting the context tags of those locations equal to the current context number, (f) modifying selected data items in the cache and setting the status indicators of the cache locations to indicate which items have been modified, (g) copying back modified data items from the cache to the main memory when they are about to be overwritten in the cache, and (h) when all of said predetermined set of values have been allocated, resetting all the context tags in the cache to a predetermined reserved value not equal to any of said predetermined set of values.

References Cited (Backward Citations)

US4086629A Cited
US4053948A Cited
US4322815A Cited
US4426682A Cited
US4714990A Cited
US4819154A Cited
US4713755A Cited
US4811209A Cited
US5025366A Cited
US4977498A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-09-08 1996-03-09 1996-09-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-09-08 2000-03-09 2000-09-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-09-08 2004-03-09 2004-09-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag