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

High availability error self-recovering shared cache for multiprocessor systems

Assignee: International Business Machines Corp
•
Filing: 1995-08-18
•
Granted: 2000-01-11
•
Expires: 2015-08-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A high availability shared cache memory in a tightly coupled multiprocessor system provides an error self-recovery mechanism for errors in the associated cache directory or the shared cache itself. After an error in a congruence class of the cache is indicated by an error status register, self-recovery is accomplished by invalidating all the entries in the shared cache directory means of the accessed congruence class by resetting Valid bits to "0" and by setting the Parity bit to a correct value, wherein the request for data to the main memory is not cancelled. Multiple bit failures in the cached data are recovered by setting the Valid bit in the matching column to "0". The processor reissues the request for data, which is loaded into the processor's private cache and the shared cache as well. Further requests to this data by other processors are served by the shared cache.

Inventors

  • 👤 Gerhard Dottling
  • 👤 Klaus-Jorg Getzlaff
  • 👤 Bernd Leppla
  • 👤 Wille Udo

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 23:49
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1402; G06F11/1405; G06F11/141

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 245 words
A high availability shared cache in a multiprocessor system having at least two processing units, for storing information as congruence classes to be utilized by the processing units, wherein the multiprocessor system comprises: cache means associated with each of said processing units for storing information to be utilized by the processing units; main memory means for storing information to be utilized by the processing units, which are managed by arbitration means; bus means for transferring information between the processing units, the shared cache, and the main memory means; shared cache directory means for managing the shared cache, comprising entries of all the information stored in the shared cache, a Valid bit for the status of the information stored in the shared cache, and a Parity bit for indicating errors in the shared cache; and error status register means for recording error events, which are provided by the shared cache; wherein a request for information is transmitted to the shared cache and the main memory means, in parallel, and in case of the error status register means recording an error in any entry of a congruence class in the shared cache directory means, self-recovery of the shared cache is accomplished by invalidating all the entries in the shared cache directory means of the accessed congruence class by resetting the Valid bits to "0" and by setting the Parity bit to a correct value; and the request for information to the main memory means is not cancelled.
Claim 2
Dependent Claim 245 words
A high availability shared cache in a multiprocessor system having at least two processing units, for storing information as congruence classes to be utilized by the processing units, wherein the multiprocessor system comprises: cache means associated with each of said processing units for storing information to be utilized by the processing units; main memory means for storing information to be utilized by the processing units, which are managed by arbitration means; bus means for transferring information between the processing units, the shared cache, and the main memory means; shared cache directory means for managing the shared cache, comprising entries of all the information stored in the shared cache, a Valid bit for the status of the information stored in the shared cache, and a Parity bit for indicating errors in the shared cache; and error status register means for recording error events, which are provided by the shared cache; wherein a request for information is transmitted to the shared cache and the main memory means, in parallel, and in case of the error status register means recording an error in any entry of a congruence class in the shared cache directory means, self-recovery of the shared cache is accomplished by invalidating all the entries in the shared cache directory means of the accessed congruence class by resetting the Valid bits to "0" and by setting the Parity bit to a correct value; and the request for information to the main memory means is not cancelled.
Claim 3
Dependent Claim 48 words
The shared cache according to claim 1, wherein the cache means associated with each processing unit provide a Valid bit, a Multiple Copy bit and a Change bit, and the shared cache directory means further provides a Multiple Copy bit, for the status of the information stored therein.
Claim 4
Dependent Claim 34 words
The shared cache according to claim 1, wherein information provided by the main memory means is loaded into the shared cache and the cache means, which are associated with the processing units, in parallel.
Claim 5
Dependent Claim 39 words
The shared cache according to claim 3, wherein after the requested information is received by the requesting processing unit and the shared cache, both validate the corresponding entry in their cache directories by setting the Valid bits to "1".
Claim 6
Dependent Claim 33 words
The shared cache according to claim 1, wherein if for more than one congruence class an error is indicated, the corresponding Valid bits in the shared cache directory means are set to "0".
Claim 7
Dependent Claim 32 words
The shared cache according to claim 1, wherein in case of a frequently found erroneous entry, the corresponding entry of the shared cache directory means is cancelled by setting a Delete bit.
Claim 8
Dependent Claim 248 words
A high availability shared cache in a multiprocessor system having at least two processing units, for storing information, to be utilized by the processing units, as congruence classes, wherein the multiprocessor system comprises: cache means associated with each of said processing units for storing information to be utilized by the processing units; main memory means for storing information to be utilized by the processing units, which are managed by arbitration means; bus means for transferring information between the processing units, the shared cache, and the main memory means; shared cache directory means for managing the shared cache, comprising entries of all the information stored in the shared cache, a Valid bit for the status of the information stored in the shared cache, and a Parity bit for indicating errors in the shared cache; and error status register means for recording error events, which are provided by the shared cache; wherein a request for information is transmitted to the shared cache and the main memory means, in parallel, and in case of multiple bit failures in the shared cache as indicated by an error correction facility, self-recovery of the shared cache is accomplished by invalidating matching entries in the shared cache directory means of the corresponding congruence class by resetting the Valid bits to "0" and by informing the requesting processing unit that the information can not be provided, whereby the processing unit issues the request for information again and the request is served by the main memory means.
Claim 9
Dependent Claim 248 words
A high availability shared cache in a multiprocessor system having at least two processing units, for storing information, to be utilized by the processing units, as congruence classes, wherein the multiprocessor system comprises: cache means associated with each of said processing units for storing information to be utilized by the processing units; main memory means for storing information to be utilized by the processing units, which are managed by arbitration means; bus means for transferring information between the processing units, the shared cache, and the main memory means; shared cache directory means for managing the shared cache, comprising entries of all the information stored in the shared cache, a Valid bit for the status of the information stored in the shared cache, and a Parity bit for indicating errors in the shared cache; and error status register means for recording error events, which are provided by the shared cache; wherein a request for information is transmitted to the shared cache and the main memory means, in parallel, and in case of multiple bit failures in the shared cache as indicated by an error correction facility, self-recovery of the shared cache is accomplished by invalidating matching entries in the shared cache directory means of the corresponding congruence class by resetting the Valid bits to "0" and by informing the requesting processing unit that the information can not be provided, whereby the processing unit issues the request for information again and the request is served by the main memory means.
Claim 10
Dependent Claim 48 words
The shared cache according to claim 7, wherein the cache means associated with each processing unit provide a Valid bit, a Multiple Copy bit and a Change bit, and the shared cache directory means further provides a Multiple Copy bit, for the status of the information stored therein.
Claim 11
Dependent Claim 34 words
The shared cache according to claim 7, wherein information provided by the main memory means is loaded into the shared cache and the cache means, which are associated with the processing units, in parallel.
Claim 12
Dependent Claim 38 words
The shared cache according to claim 7, wherein after the requested information is received by the requesting unit and the shared cache, both validate the corresponding entry in their cache directories by setting the Valid bits to "1".
Claim 13
Dependent Claim 20 words
A multiprocessor computer system comprising a high availability shared cache memory with an error self-recovery mechanism according to claim 1.
Claim 14
Dependent Claim 20 words
A multiprocessor computer system comprising a high availability shared cache memory with an error self-recovery mechanism according to claim 7.

References Cited (Backward Citations)

US5276848A Cited
US5584013A Cited
US5680577A Cited
US5740353A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-01-10 2003-07-12 2004-01-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-01-10 2007-07-12 2008-01-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-01-10 2011-07-12 2012-01-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag