Multi-processor caches with large granularity exclusivity locking
AssigneeInternational Business Machines Corporation
InventorLishing Liu
Life of this patent
Estimating the term…
Abstract
A tightly coupled multi-processor (MP) system is provided with large granularity locking of exclusivity in multi-processor caches. The unique access right for a processor P.sub.i is enforced by giving other central processors (CPs) a temporarily invalid (TI) state on block B, even though some lines in the block B may still be resident in the cache. Any CP trying to access a block in the TI state will need to talk to the storage control element (SCE) to obtain proper authorization (e.g., RO or EX state) on the block. Assuming that a CP may have three states on a block B, temporarily invalid TI.sub.B, read only RO.sub.B and exclusive EX.sub.B, TI.sub.B is the initial state for all B at all CPs.
Claims9
In a tightly coupled multi-processor system of the type comprising a plurality of central processors, a main storage and a storage control element connected to said main storage, each central processor having a buffer control element including a store through cache, a method for providing large granularity locking of exclusivity of a block of data in caches of said central processors comprising the steps of:
- reading from or writing to said main storage units of data under the control of said storage control element by said buffer control elements in response to requests by said central processors;
- storing by said buffer control elements in their respective caches a plurality of blocks of data read from said main storage, each of said blocks of data comprising a plurality of cache lines and each cache line having a plurality of units of data;
- establishing by said storage control element three possible states on a block of data, said states including a temporarily invalid state, a read only state and an exclusive state, the temporarily invalid state being the initial state for all blocks of data in caches of said central processors;
- recording by said storage control element states of blocks of data for the central processors at the storage control element and the buffer control elements, said recording at the storage control element being in lock tables, one for each central processor, to keep track of ownerships of exclusive states of blocks of data, and said recording at the buffer control elements being in local lock tables to maintain a subset of a corresponding lock table exclusive status of blocks of data for that central processor;
- enforcing by said storage control element a unique access right to a block of data in a cache for one of said central processors by giving other central processors said temporarily invalid state on said block of data, even though some lines in the block of data may still be resident in caches of said other central processors;
- and
- for any central processor trying to access said block of data in a temporarily invalid state, communicating by the accessing central processor with the storage control element to obtain proper authorization, the storage control element changing the temporarily invalid state on the block of data for the accessing central processor to a read only or exclusive state to grant authorization to the accessing central processor.
A tightly coupled multi-processor system comprising:
- a plurality of central processors;
- a main storage;
- storage control means connected to said main storage and including a plurality of lock tables corresponding to said plurality of central processors, said lock tables maintaining a record of exclusive states of blocks of data by respective ones of said plurality of central processors;
- a plurality of buffer control elements, one for each of said central processors, the buffer control element of each central processor reading from or writing to said main storage units of data via said storage control means, each said buffer control element including a cache storing a plurality of blocks of data, each of said blocks of data comprising a plurality of cache lines and each cache line having a plurality of units of data, said buffer control element including local lock tables which maintain a subset of a corresponding lock table exclusive status of blocks of data for that central processor;
- said storage control means establishing three possible states on a block of data, said states including a temporarily invalid state, a read only state and an exclusive state, the temporarily invalid state being the initial state for all blocks of data in caches of said central processors;
- said storage control means further recording states of blocks of data for the central processors in said plurality of lock tables at the storage control element and said local lock tables at the buffer control elements to keep track of ownerships of exclusive states of blocks of data;
- said storage control means enforcing a unique access right to a block of data in a cache for one of said central processors by giving other central processors said temporarily invalid state on said block of data, even though some lines in the block of data may still be resident in caches of said other central processors and, for any central processor trying to access said block of data in a temporarily invalid state, communicating with the accessing central processor and changing the temporarily invalid state on the block of data for the accessing central processor to a read only or exclusive state to grant authorization to the accessing central processor on the block of data to provide large granularity locking of exclusivity of blocks of data in said caches.
Dependencies are inferred from the claim text.