Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
104 words
Method for providing large granularity locking of exclusivity in multi-processor caches of a multi-processor (MP) system, characterized by the steps of: providing a unique access right granted to a processor (CP) by giving other processors a temporarily invalid state on a block (B) of data in cache, even though some lines in the block (B) may still be resident in the cache; and when another processor (CPs) fetches data in the block having a temporarily invalid state (TI), enforcing the unique access right by requiring a request for a read only access right before accessing by the other processor, even for a cache hit.
Claim 2
Dependent Claim
104 words
Method for providing large granularity locking of exclusivity in multi-processor caches of a multi-processor (MP) system, characterized by the steps of: providing a unique access right granted to a processor (CP) by giving other processors a temporarily invalid state on a block (B) of data in cache, even though some lines in the block (B) may still be resident in the cache; and when another processor (CPs) fetches data in the block having a temporarily invalid state (TI), enforcing the unique access right by requiring a request for a read only access right before accessing by the other processor, even for a cache hit.
Claim 3
Dependent Claim
114 words
Apparatus for providing large granularity locking of exclusivity of a block of data stored in a cache memory of a multi-processor system comprising a plurality of central processors, each having a cache memory and a buffer control element, a main storage and a storage control element characterized by lock table means for each of said processors in the storage control element (30) for maintaining a record of exclusive status of blocks (EXB) of data stored in all cache memories; and by local lock table means in each of the buffer control elements (BCE) for maintaining a subset of the record of exclusive status of blocks (EXB) of data accessed by a corresponding processor (CP).
Claim 4
Dependent Claim
114 words
Apparatus for providing large granularity locking of exclusivity of a block of data stored in a cache memory of a multi-processor system comprising a plurality of central processors, each having a cache memory and a buffer control element, a main storage and a storage control element characterized by lock table means for each of said processors in the storage control element (30) for maintaining a record of exclusive status of blocks (EXB) of data stored in all cache memories; and by local lock table means in each of the buffer control elements (BCE) for maintaining a subset of the record of exclusive status of blocks (EXB) of data accessed by a corresponding processor (CP).
Claim 5
Dependent Claim
101 words
Method as set forth in claim 1, comprised by the steps of: providing a plurality of lock tables in said storage control element (30), one for each of said processors (CPs), for maintaining a record of exclusive states granted to each of said processors for blocks of data; providing in each of said lock tables a bit-vector (S B ) composed of a bit for each block entry to filter out successive invalidates on the same line of a block; and for each new entry for a block inserted in the lock table, resetting all (S B ) bits to zeroes.
Claim 6
Dependent Claim
90 words
Method recited in claim 3 further comprising, when the storage control element (30) receives a store to a block from a processor, the steps of: testing an associated bit (S B ) at the block entry in the lock table to determine if it is a one; if the associated bit (S B ) is a one, processing the store; but otherwise, sending by the storage control element invalidate line signals to remote processors and then turning the associated bit (S B ) to a one and processing the store.
Claim 7
Dependent Claim
83 words
Method recited in claim 4 wherein when the storage control element (30) receives an exclusive status request for a block of data from one of said processors, said method further comprises the steps of: testing to determine if the block of data has an entry in the lock table for the requesting processor in the storage control element (30); and if so, sending by the storage control element (30) hold signals to remote processors and granting exclusive status to the requesting processor (CP).
Claim 8
Dependent Claim
93 words
Method recited in claim 6 wherein if the block (B) of data does not have an entry in the lock table for the requesting processor (CP), further comprising the steps of: testing to determine if the block (B) of data has an entry in the lock table of any other of said processors in the storage control element (30); and if not, inserting by the storage control element (30) a new entry for the block in the lock table of the requesting processor (CP) before performing the step of sending out hold signals.
Claim 9
Dependent Claim
135 words
Method recited in one of claims 1 - 6 wherein if the block has an entry in the lock table of another of said processors, further comprising the steps of: testing to determine if there is an entry in the local lock table for the other processor (CP) for the requested block (B); and if so, signaling by the storage control element (30) to the other processor (CP) to delete the entry for the block from its local lock table, and upon acknowledgement by the other processor (CP), deleting the entry for the block in the lock table for the other processor in the storage control element (30) before performing the step of inserting a new entry for the block in the lock table of the requesting processor; but otherwise, performing said deleting step directly.
Claim 10
Dependent Claim
93 words
Method recited in claim 7 wherein when the storage control element receives a release of exclusive status for a block of data from a processor, further comprising the steps of: sending by the storage control element (30) clear signals to all remote processors; and updating by the storage control element (30) the status of entry for the block (B) of data in the lock table for the requesting processor (CP) indicating that an entry for the block of data is no longer recorded in the local lock table for the requesting processor (CP).
Claim 11
Dependent Claim
126 words
Method recited in claim 5 wherein the storage control element receives a read only status request for a block of data from one of said processors, further comprising the steps of: testing to determine if the block (B) of data has an entry recorded in the lock tables of other processors (CP); and if not, signaling by the storage control element (30) the granting of the read only status to the requesting processor; testing to determine if the block (B) of data has an entry recorded in the local lock table of another processor (CP); and if not, deleting by the storage control element the entry for the block of data in the lock table for the other processor (CP) before performing the step of signaling.
Claim 12
Dependent Claim
178 words
Method recited in claim 9 wherein if the block of data has an entry recorded in the local lock table of another processor, further comprising the steps of: signaling by the storage control element (30) to the other processor (CP) to release exclusive status for the block of data from its local lock table; and when the other processor (CP) has acknowledged, sending by the storage control element (30) clear signals to processors except said other processor, requesting processor automatically getting read only status for said block (B) of data upon receiving a clear signal; providing a unique access right granted to a processor by giving other processors a temporarily invalid state (T1) on a block (B) of data in cache, even though some lines in the block may still be resident in the cache; and when another processor (CP) fetches data in the block (B) having a temporarily invalid state (TI), enforcing the unique access right by requiring a request for a read only access right before accessing by the other processor, even for a cache hit.