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

Hybrid NUMA COMA caching system and methods for selecting between the caching modes

Assignee: Oracle America Inc
•
Filing: 1995-12-22
•
Granted: 1999-04-06
•
Expires: 2015-12-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides a hybrid Non-Uniform Memory Architecture (NUMA) and Cache-Only Memory Architecture (COMA) caching architecture together with a cache-coherent protocol for a computer system having a plurality of sub-systems coupled to each other via a system interconnect. In one implementation, each sub-system includes at least one processor, a page-oriented COMA cache and a line-oriented hybrid NUMA/COMA cache. Such a hybrid system provides flexibility and efficiency in caching both large and small, and/or sparse and packed data structures. Each sub-system is able to independently store data in COMA mode or in NUMA mode. When caching in COMA mode, a sub-system allocates a page of memory space and then stores the data within the allocated page in its COMA cache. Depending on the implementation, while caching in COMA mode, the sub-system may also store the same data in its hybrid cache for faster access. Conversely, when caching in NUMA mode, the sub-system stores the data, typically a line of data, in its hybrid cache.

Inventors

  • 👤 David Wood
  • 👤 Erik Hagersten

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 15:18
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0811; G06F12/0813; G06F12/0815; G06F12/0817; G06F2212/00; G06F2212/25; G06F2212/254; G06F2212/2542; G06F2212/27; G06F2212/272

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 121 words
A method of storing data in a computer system having a plurality of sub-systems coupled to each other by a system interconnect, each said sub-system including a processor, a hybrid non-uniform-memory-architecture/cache-only-memory-architecture(NUMA/COMA) cache, a COMA cache and a directory, said method comprising the steps of: a designated processor of one said subsystem initiating a data transaction associated with a data line; determining whether a caching mode for said data line is a COMA mode or a NUMA mode; storing data associated with said data line in said COMA cache of said one sub-system in response to determining that said caching mode for said data line is said COMA mode; and storing said data in the hybrid NUMA/COMA cache of said one sub-system.
Claim 2
Independent Claim 121 words
A method of storing data in a computer system having a plurality of sub-systems coupled to each other by a system interconnect, each said sub-system including a processor, a hybrid non-uniform-memory-architecture/cache-only-memory-architecture(NUMA/COMA) cache, a COMA cache and a directory, said method comprising the steps of: a designated processor of one said subsystem initiating a data transaction associated with a data line; determining whether a caching mode for said data line is a COMA mode or a NUMA mode; storing data associated with said data line in said COMA cache of said one sub-system in response to determining that said caching mode for said data line is said COMA mode; and storing said data in the hybrid NUMA/COMA cache of said one sub-system.
Claim 3
Dependent Claim 60 words
The method of claim 1 wherein if said determining step determines that the data should also be stored in said COMA cache in the COMA mode, then the method further comprises the steps of: allocating a page of memory space in said COMA cache of said one sub-system; and storing said data within said allocated page of said COMA cache.
Claim 4
Dependent Claim 42 words
The method of claim 1 further comprising determining that said data stored in said hybrid NUMA/COMA cache of said one sub-system was previously discarded by said one sub-system a predetermined number of times due to a capacity miss or a conflict miss.
Claim 5
Dependent Claim 42 words
The method of claim 3 further comprising the steps of: writing-back said data to a home sub-system; marking said one sub-system as a last owner of said data; and discarding said data stored in said hybrid NUMA/COMA cache of said one sub-system.
Claim 6
Dependent Claim 55 words
The method of claim 4 wherein upon a subsequent read-to-own (RTO) or read-to-share (RTS) request for said data by said one sub-system, the method further comprising the steps of: detecting that said one sub-system was the last owner of said data; retrieving said data from said home sub-system; and incrementing a NUMA -- miss counter.
Claim 7
Dependent Claim 23 words
The method of claim 5 wherein said NUMA -- miss counter is associated with a page of memory which includes said data line.
Claim 8
Dependent Claim 71 words
The method of claim 5 wherein if said NUMA -- miss counter exceeds a predetermined threshold, then the method further includes the steps of: assigning said caching mode for said data line to said COMA mode; allocating a page of memory space in said COMA cache of said one sub-system; and storing said data line within said allocated page of said COMA cache upon a subsequent access to said data line.
Claim 9
Dependent Claim 39 words
The method of claim 3 further comprising the steps of: marking said one sub-system as a sharer of said data; and discarding said data stored in said hybrid NUMA/COMA cache of said one sub-system without re-marking said one sub-system.
Claim 10
Dependent Claim 51 words
The method of claim 8 wherein upon a subsequent read-to-share (RTS) request for said data by said one sub-system, the method further comprising the steps of: detecting that said one sub-system was the sharer of said data; retrieving said data from said home sub-system; and incrementing a NUMA -- miss counter.
Claim 11
Dependent Claim 23 words
The method of claim 9 wherein said NUMA -- miss counter is associated with a page of memory which includes said data line.
Claim 12
Dependent Claim 48 words
The method of claim 9 wherein said determining whether a caching mode for said data line is a COMA mode or a NUMA mode further comprises checking an address associated with said data transaction to determine whether said caching mode is said COMA mode or said NUMA mode.
Claim 13
Dependent Claim 19 words
The method of claim 11 wherein a default initial caching mode for said data line is said NUMA mode.
Claim 14
Dependent Claim 71 words
The method of claim 9 wherein if said NUMA -- miss counter exceeds a predetermined threshold, then the method further includes the steps of: assigning said caching mode for said data line to said COMA mode; allocating a page of memory space in said COMA cache of said one sub-system; and storing said data line within said allocated page of said COMA cache upon a subsequent access to said data line.
Claim 15
Dependent Claim 48 words
The method of claim 1 wherein said determining whether a caching mode for said data line is a COMA mode or a NUMA mode further comprises checking an address associated with said data transaction to determine whether said caching mode is said COMA mode or said NUMA mode.
Claim 16
Dependent Claim 19 words
The method of claim 1 wherein a default initial caching mode for said data line is said NUMA mode.
Claim 17
Dependent Claim 145 words
A computer program product including a computer-usable medium having computer-readable code embodied therein configured to cause a computer system to select between a non-uniform-memory-architecture (NUMA) mode and a cache-only-memory-architecture (COMA) mode, the computer system having a plurality of sub-systems coupled to each other by a system interconnect, each said sub-system including a processor, a hybrid NUMA/COMA cache, a COMA cache and a directory, the computer-readable code comprising: a routine configured to cause one said sub-system to store data associated with a data line in the hybrid NUMA/COMA cache of said one sub-system; and a routine configured to cause said one sub-system to determine whether a caching mode for the data is a COMA mode or a NUMA mode to thereby cause the data to be stored in the COMA cache of said one sub-system if said caching mode for the data is said COMA mode.
Claim 18
Dependent Claim 145 words
A computer program product including a computer-usable medium having computer-readable code embodied therein configured to cause a computer system to select between a non-uniform-memory-architecture (NUMA) mode and a cache-only-memory-architecture (COMA) mode, the computer system having a plurality of sub-systems coupled to each other by a system interconnect, each said sub-system including a processor, a hybrid NUMA/COMA cache, a COMA cache and a directory, the computer-readable code comprising: a routine configured to cause one said sub-system to store data associated with a data line in the hybrid NUMA/COMA cache of said one sub-system; and a routine configured to cause said one sub-system to determine whether a caching mode for the data is a COMA mode or a NUMA mode to thereby cause the data to be stored in the COMA cache of said one sub-system if said caching mode for the data is said COMA mode.
Claim 19
Dependent Claim 57 words
The computer program product of claim 16 wherein the computer-readable code further comprises: a routine configured to cause said one sub-system to determine if said data stored in said hybrid NUMA/COMA cache of said one sub-system was previously discarded by said one sub-system a predetermined number of times due to a capacity miss or a conflict miss.

References Cited (Backward Citations)

US5535116A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-04-05 2002-10-05 2003-04-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-04-05 2006-10-05 2007-04-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-04-05 2010-10-05 2011-04-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag