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

Multiprocessing system configured to detect and efficiently provide for migratory data access patterns

Assignee: Oracle America Inc
•
Filing: 1996-07-01
•
Granted: 1998-03-31
•
Expires: 2016-07-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system includes a directory at each node which stores coherency information for the coherency units for which that node is the home node. In addition, the directory stores a data access state corresponding to each coherency unit which indicates the data access pattern observed for that coherency unit. The data access state may indicate migratory or non-migratory data access patterns. If the coherency unit has been observed to have a migratory data access pattern, then read/write access rights are granted. Conversely, if the coherency unit has been observed to have non-migratory data access patterns, then read access rights are granted. The home node further detects the migratory and non-migratory data access patterns and selects transitions between the migratory and non-migratory data access states independent of the cache hierarchies within the nodes which access the affected coherency unit. In one embodiment, a pair of counters are employed for each coherency unit. One of the counters is incremented when the coherency unit is in the migratory data access state and a data migration is detected. The other counter is incremented when the coherency unit is in the non-migratory data access state and a data migration is detected. When one of the counters overflows, the home node transitions the data access state of the coherency unit to the alternate data access state.

Inventors

  • 👤 Erik E. Hagersten
  • 👤 Mark D. Hill

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 23:22
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0815; G06F12/0817; G06F12/0813; G06F2212/00; G06F2212/27; G06F2212/272

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 181 words
A method for providing a coherency unit to a processing node in a multiprocessing computer system, comprising: storing a state corresponding to said coherency unit within a directory at a home node of said coherency unit, wherein said state is indicative of a migratory data access pattern if said state maintains a first value, and wherein said state is indicative of a non-migratory data access pattern if said state maintains a second value; providing said coherency unit to said processing node along with read/write access rights in response to a read coherency request from said processing node if said state maintains said first value, and wherein said read/write access rights exclude an indication of said migratory data access pattern and said non-migratory data access pattern; providing said coherency unit to said processing node along with read access rights in response to said read coherency request from said processing node if said state maintains said second value; and changing said state from said first value to said second value in response to a pattern of coherency requests received by said home node.
Claim 2
Independent Claim 181 words
A method for providing a coherency unit to a processing node in a multiprocessing computer system, comprising: storing a state corresponding to said coherency unit within a directory at a home node of said coherency unit, wherein said state is indicative of a migratory data access pattern if said state maintains a first value, and wherein said state is indicative of a non-migratory data access pattern if said state maintains a second value; providing said coherency unit to said processing node along with read/write access rights in response to a read coherency request from said processing node if said state maintains said first value, and wherein said read/write access rights exclude an indication of said migratory data access pattern and said non-migratory data access pattern; providing said coherency unit to said processing node along with read access rights in response to said read coherency request from said processing node if said state maintains said second value; and changing said state from said first value to said second value in response to a pattern of coherency requests received by said home node.
Claim 3
Dependent Claim 26 words
The method as recited in claim 1 further comprising detecting said migratory data access pattern and setting said state to said first value in response thereto.
Claim 4
Dependent Claim 38 words
The method as recited in claim 2 wherein said detecting said migratory data access pattern comprises detecting an overflow of a first count value, wherein said first count value is incremented each time a data migration is detected.
Claim 5
Dependent Claim 25 words
The method as recited in claim 3 wherein said first count value is incremented each time a data migration of said coherency unit is detected.
Claim 6
Dependent Claim 45 words
The method as recited in claim 4 wherein said first count value is stored in said directory such that said first count value is associated with said coherency unit, and wherein said first count value is incremented if said state is maintaining said second value.
Claim 7
Dependent Claim 47 words
The method as recited in claim 5 wherein said changing said state comprises detecting an overflow of a second counter value, wherein said second counter value is incremented each time said data migration of said coherency unit is detected while said state is maintaining said first value.
Claim 8
Independent Claim 164 words
A method for providing a coherency unit to a processing node comprising: storing a state corresponding to said coherency unit within a directory at a home node of said coherency unit, wherein said state is indicative of a migratory data access pattern if said state maintains a first value, and wherein said state is indicative of a non-migratory data access pattern if said state maintains a second value; providing said coherency unit to said processing node along with read/write access rights in response to a read coherency request from said processing node if said state maintains said first value; providing said coherency unit to said processing node along with read access rights in response to said read coherency request from said processing node if said state maintains said second value; and changing said state from said first value to said second value in response to a pattern of coherency requests received by said home node; wherein said state is stored only within said directory.
Claim 9
Independent Claim 164 words
A method for providing a coherency unit to a processing node comprising: storing a state corresponding to said coherency unit within a directory at a home node of said coherency unit, wherein said state is indicative of a migratory data access pattern if said state maintains a first value, and wherein said state is indicative of a non-migratory data access pattern if said state maintains a second value; providing said coherency unit to said processing node along with read/write access rights in response to a read coherency request from said processing node if said state maintains said first value; providing said coherency unit to said processing node along with read access rights in response to said read coherency request from said processing node if said state maintains said second value; and changing said state from said first value to said second value in response to a pattern of coherency requests received by said home node; wherein said state is stored only within said directory.
Claim 10
Independent Claim 220 words
An apparatus for providing a coherency unit to a processing node in a multiprocessing computer system, comprising: a directory configured to store an access pattern state for said coherency unit, wherein said access pattern state maintains a first value if a migratory data access pattern is detected for said coherency unit, and wherein said access pattern state maintains a second value if a non-migratory data access pattern is detected; and a home agent coupled to said directory, wherein said home agent is coupled to received a read coherency request, and wherein said home agent is configured to generate a first coherency demand if said access pattern state maintains said first value, and wherein said first coherency demand causes an originator of said read coherency request to receive read/write access rights to said coherency unit, and wherein said home agent is configured to generate a second coherency demand if said access pattern state maintains said second value, and wherein said second coherency demand causes said originator to receive read-only access rights to said coherency unit, and wherein said home agent is configured to change said access pattern state from said first value to said second value according to a predefined algorithm employed by said home agent, said predetermined algorithm responsive to a pattern of coherency requests received by said home node.
Claim 11
Independent Claim 220 words
An apparatus for providing a coherency unit to a processing node in a multiprocessing computer system, comprising: a directory configured to store an access pattern state for said coherency unit, wherein said access pattern state maintains a first value if a migratory data access pattern is detected for said coherency unit, and wherein said access pattern state maintains a second value if a non-migratory data access pattern is detected; and a home agent coupled to said directory, wherein said home agent is coupled to received a read coherency request, and wherein said home agent is configured to generate a first coherency demand if said access pattern state maintains said first value, and wherein said first coherency demand causes an originator of said read coherency request to receive read/write access rights to said coherency unit, and wherein said home agent is configured to generate a second coherency demand if said access pattern state maintains said second value, and wherein said second coherency demand causes said originator to receive read-only access rights to said coherency unit, and wherein said home agent is configured to change said access pattern state from said first value to said second value according to a predefined algorithm employed by said home agent, said predetermined algorithm responsive to a pattern of coherency requests received by said home node.
Claim 12
Dependent Claim 18 words
The apparatus as recited in claim 8 wherein said first coherency demand comprises a read to own demand.
Claim 13
Dependent Claim 18 words
The apparatus as recited in claim 9 wherein said second coherency demand comprises a read to share demand.
Claim 14
Dependent Claim 18 words
The apparatus as recited in claim 10 wherein said read coherency request comprises a read to share request.
Claim 15
Dependent Claim 51 words
The apparatus as recited in claim 8 wherein said directory is further configured to store a first count value, and wherein said home agent is configured to increment said first count value if said access pattern state maintains said second value and a data migration is detected for said coherency unit.
Claim 16
Dependent Claim 31 words
The apparatus as recited in claim 12 wherein said home agent is further configured to set said access pattern state to said first value upon overflow of said first count value.
Claim 17
Dependent Claim 46 words
The apparatus as recited in claim 13 wherein said directory is further configured to store a second count value, wherein said home agent is configured to increment said second count value if said access pattern state maintains said first value and said data migration is detected.
Claim 18
Dependent Claim 28 words
The apparatus as recited in claim 14 wherein said predefined algorithm comprises setting said access pattern state to said second value upon overflow of said second count value.
Claim 19
Dependent Claim 172 words
A computer system comprising: a first processing node configured to convey a read coherency request; a second processing node coupled to receive said read coherency request from said first processing node, wherein said second processing node comprises a directory, and wherein said directory is configured to store a data access pattern state corresponding to a coherency unit affected by said read coherency request, and wherein said second processing node is configured to issue a coherency demand in response to said read coherency request and to said data access pattern state, and wherein said second processing node monitors said read coherency requests and said data access state in order to change said data access state; and a third processing node coupled to receive said coherency demand from said second processing node, wherein said third processing node is configured to convey said coherency unit to said first processing node, and wherein said third processing node is further configured to provide an indication of access rights to said coherency unit to said first processing node.
Claim 20
Dependent Claim 172 words
A computer system comprising: a first processing node configured to convey a read coherency request; a second processing node coupled to receive said read coherency request from said first processing node, wherein said second processing node comprises a directory, and wherein said directory is configured to store a data access pattern state corresponding to a coherency unit affected by said read coherency request, and wherein said second processing node is configured to issue a coherency demand in response to said read coherency request and to said data access pattern state, and wherein said second processing node monitors said read coherency requests and said data access state in order to change said data access state; and a third processing node coupled to receive said coherency demand from said second processing node, wherein said third processing node is configured to convey said coherency unit to said first processing node, and wherein said third processing node is further configured to provide an indication of access rights to said coherency unit to said first processing node.
Claim 21
Dependent Claim 28 words
The computer system as recited in claim 16 wherein said indication indicates read/write access if said data access pattern state indicates migratory data accesses for said coherency unit.
Claim 22
Dependent Claim 28 words
The computer system as recited in claim 17 wherein said indication indicates read-only access if said data access pattern state indicates non-migratory data accesses for said coherency unit.
Claim 23
Independent Claim 181 words
A method for providing a coherency unit to a processing node in a multiprocessing computer system, comprising: storing a state corresponding to said coherency unit within a directory at a home node of said coherency unit, wherein said state is indicative of a migratory data access pattern if said state maintains a first value, and wherein said state is indicative of a non-migratory data access pattern if said state maintains a second value, and wherein said migratory data access pattern results from a plurality of processing units in turn performing a read of said coherency unit followed by an update of said coherency unit; providing said coherency unit to said processing node along with read/write access rights in response to a read coherency request from said processing node if said state maintains said first value, and wherein said read/write access rights exclude an indication of said migratory data access pattern and said non-migratory data access pattern; and changing said state from said first value to said second value in response to a pattern of coherency requests received by said home node.
Claim 24
Independent Claim 181 words
A method for providing a coherency unit to a processing node in a multiprocessing computer system, comprising: storing a state corresponding to said coherency unit within a directory at a home node of said coherency unit, wherein said state is indicative of a migratory data access pattern if said state maintains a first value, and wherein said state is indicative of a non-migratory data access pattern if said state maintains a second value, and wherein said migratory data access pattern results from a plurality of processing units in turn performing a read of said coherency unit followed by an update of said coherency unit; providing said coherency unit to said processing node along with read/write access rights in response to a read coherency request from said processing node if said state maintains said first value, and wherein said read/write access rights exclude an indication of said migratory data access pattern and said non-migratory data access pattern; and changing said state from said first value to said second value in response to a pattern of coherency requests received by said home node.
Claim 25
Independent Claim 164 words
A method for providing a coherency unit to a processing node comprising: storing a state corresponding to said coherency unit within a directory at a home node of said coherency unit, wherein said state is indicative of a migratory data access pattern if said state maintains a first value, and wherein said state is indicative of a non-migratory data access pattern if said state maintains a second value, and wherein said migratory data access pattern results from a plurality of processing units in turn performing a read of said coherency unit followed by an update of said coherency unit; providing said coherency unit to said processing node along with read/write access rights in response to a read coherency request from said processing node if said state maintains said first value; and changing said state from said first value to said second value in response to a pattern of coherency requests received by said home node; wherein said state is stored only within said directory.
Claim 26
Independent Claim 164 words
A method for providing a coherency unit to a processing node comprising: storing a state corresponding to said coherency unit within a directory at a home node of said coherency unit, wherein said state is indicative of a migratory data access pattern if said state maintains a first value, and wherein said state is indicative of a non-migratory data access pattern if said state maintains a second value, and wherein said migratory data access pattern results from a plurality of processing units in turn performing a read of said coherency unit followed by an update of said coherency unit; providing said coherency unit to said processing node along with read/write access rights in response to a read coherency request from said processing node if said state maintains said first value; and changing said state from said first value to said second value in response to a pattern of coherency requests received by said home node; wherein said state is stored only within said directory.

References Cited (Backward Citations)

US5537574A Cited
US5544345A Cited
US5560027A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-03-30 2001-09-29 2002-03-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-03-30 2005-09-29 2006-03-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-03-30 2009-09-29 2010-03-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag