US4775955A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Cache coherence mechanism based on locking
Assignee: International Business Machines Corp
•
Filing: 1987-12-18
•
Granted: 1988-10-04
•
Expires: 2007-12-18
Abstract
Abstract A method and apparatus is provided for associating in cache directories the Control Domain Identifications (CDIDs) of software covered by each cache line. Through the use of such provision and/or the addition of Identifications of users actively using lines, cache coherence of certain data is controlled without performing conventional Cross-Interrogates (XIs), if the accesses to such objects are properly synchronized with locking type concurrency controls. Software protocols to caches are provided for the resource kernel to control the flushing of released cache lines. The parameters of these protocols are high level Domain Identifications and Task Identifications.
Inventors
- 👤 Lishing Liu
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 17:40
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0815; G06F12/0837
Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
345 words
A method of cache control in a multiprocessing system comprised of a plurality of processors which share a main storage, with each processor having a cache and a directory, each of said directories having a plurality of line entries of information, with a block of information being comprised of at least one line, with a control domain (CD) being defined as at least one of said blocks of information, with each line entry including a CD identification (CDID) flage to identify the CD to which a line belongs, and further including a change (CH) flag which is one state is indicative of said line having been changed since the last update to main storage and when in another state is indicative of not having been changed since the last update to main storage, said method comprising the steps of: setting said CDID flag, of any line of information transferred from said main storage to said cache, to a selected state which identifies the CD to which said any line is associated with; issuing a CDID flag, of any line of information transferred from said main storage to said cache, to a selected state which identifies the CD to which said any line is associated with; issuing a FLUSH command, said FLUSH command including a predetermined CDID flag, by a given processor to remove a line of information with said predetermined CDID from the cache associated with said given processor, said flush command including a modify (M) flag which indicates in one state that said FLUSH command operates only on changed lines in said cache, and in another state operates on changed and unchanged lines; comparing the CD identification flag in the FLUSH command with the CD identification flag of the lines of information in the associated cache, and if a match of CDID's is found, removing the line with the matched CDID from said associated cache; and removing said line of information from said cache only when said M flag is in said one state concurrent with said CH flag being in said one state.
Claim 2
Independent Claim
345 words
A method of cache control in a multiprocessing system comprised of a plurality of processors which share a main storage, with each processor having a cache and a directory, each of said directories having a plurality of line entries of information, with a block of information being comprised of at least one line, with a control domain (CD) being defined as at least one of said blocks of information, with each line entry including a CD identification (CDID) flage to identify the CD to which a line belongs, and further including a change (CH) flag which is one state is indicative of said line having been changed since the last update to main storage and when in another state is indicative of not having been changed since the last update to main storage, said method comprising the steps of: setting said CDID flag, of any line of information transferred from said main storage to said cache, to a selected state which identifies the CD to which said any line is associated with; issuing a CDID flag, of any line of information transferred from said main storage to said cache, to a selected state which identifies the CD to which said any line is associated with; issuing a FLUSH command, said FLUSH command including a predetermined CDID flag, by a given processor to remove a line of information with said predetermined CDID from the cache associated with said given processor, said flush command including a modify (M) flag which indicates in one state that said FLUSH command operates only on changed lines in said cache, and in another state operates on changed and unchanged lines; comparing the CD identification flag in the FLUSH command with the CD identification flag of the lines of information in the associated cache, and if a match of CDID's is found, removing the line with the matched CDID from said associated cache; and removing said line of information from said cache only when said M flag is in said one state concurrent with said CH flag being in said one state.
Claim 3
Dependent Claim
70 words
The method of claim 1, wherein a user identification (UID) flage is assigned to each system user of lines of information stored in said main storage to idenfify if more than one user is utilizing a same line of information, said method including the step of: responding to said FLUSH command by a cache only if ally UID's indicate that no use is being made of said line of information.
Claim 4
Independent Claim
439 words
A method of cache control for maintaining cache coherence in a multiprocessing system comprised of a plurality of central processors (CPs), in which CPs share a main storage (MS), with each CP having a cache and a CP directory, said CP directory having a plurality of line entries of information, with a block of information being comprised of at least one line, with a control domain (CD) being defined as at least one block, with each line entry in said CP directory including a CD identification (CDID) flag, the state of which identifies the CD of the block to which a line belongs, a change flag (CH) the state of which is indicative of whether information content of the line has been changed since a last update to said main storage, a plurality of user identification (UIDC) flags indicative of whether or not the line of information is being used, said method comprising the steps of: setting the CDID flags of each line of information of any block of information transferred from said MS to said cache to identify the CD of said any block of information; issuing a FLUSH command, said FLUSH command removing a line of information from a cache and including a CDID flag that is indicative of the CD of lines of information to be removed from said cache, a modify (M) flag which if present indicates said command is to operate only on changed lines in a cache, and a user FLUSH comand identification (UID) flag which if present indicates said command is to operate only if there is no user of said line of information; comparing the CDID flag of the FLUSH command with the CDIDs of the lines of information in the associated cache; determining if said M flag of said FLUSH command is present concurrent with said CH flag of the line of information indicating said line of information has been modified; determining if said UID flag of said FLUSH command is present concurrent with said plurality of UIDC flags of the lines of information indicating there are no users of the line of information; and removing a line of information from said cache in response to a match of the CDID flag of said FLUSH command and the CDID of said line of information, and said M flag of said FLUSH command being present concurrent with the CH flag of said line indicating said line of information has been modified, and said UID flag of said FLUSH command being present concurrent with said UIDC flag of said line of information indicating there are no users of the line of information.
Claim 5
Independent Claim
439 words
A method of cache control for maintaining cache coherence in a multiprocessing system comprised of a plurality of central processors (CPs), in which CPs share a main storage (MS), with each CP having a cache and a CP directory, said CP directory having a plurality of line entries of information, with a block of information being comprised of at least one line, with a control domain (CD) being defined as at least one block, with each line entry in said CP directory including a CD identification (CDID) flag, the state of which identifies the CD of the block to which a line belongs, a change flag (CH) the state of which is indicative of whether information content of the line has been changed since a last update to said main storage, a plurality of user identification (UIDC) flags indicative of whether or not the line of information is being used, said method comprising the steps of: setting the CDID flags of each line of information of any block of information transferred from said MS to said cache to identify the CD of said any block of information; issuing a FLUSH command, said FLUSH command removing a line of information from a cache and including a CDID flag that is indicative of the CD of lines of information to be removed from said cache, a modify (M) flag which if present indicates said command is to operate only on changed lines in a cache, and a user FLUSH comand identification (UID) flag which if present indicates said command is to operate only if there is no user of said line of information; comparing the CDID flag of the FLUSH command with the CDIDs of the lines of information in the associated cache; determining if said M flag of said FLUSH command is present concurrent with said CH flag of the line of information indicating said line of information has been modified; determining if said UID flag of said FLUSH command is present concurrent with said plurality of UIDC flags of the lines of information indicating there are no users of the line of information; and removing a line of information from said cache in response to a match of the CDID flag of said FLUSH command and the CDID of said line of information, and said M flag of said FLUSH command being present concurrent with the CH flag of said line indicating said line of information has been modified, and said UID flag of said FLUSH command being present concurrent with said UIDC flag of said line of information indicating there are no users of the line of information.
Claim 6
Dependent Claim
51 words
The method of claim 3, including the step of indicating a given UIDC flag in a line of information is made invalid if said UIDC flag is in a line of information in which the CDID and CH flag match with the CDID and M Flag, respectively, of the FLUSH command.
References Cited (Backward Citations)
US4471429A
Cited
US4426681A
Cited
US4322795A
Cited
US4394731A
Cited
US4513367A
Cited
US4484267A
Cited
US4493026A
Cited
US4622631A
Cited
US4622631B1
Cited
US4620275A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1991-10-04 | 1992-04-04 | 1992-10-04 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1995-10-04 | 1996-04-04 | 1996-10-04 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1999-10-04 | 2000-04-04 | 2000-10-04 | $7700.00 | Window Closed / Lapsed |