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

Method for decreasing penalty resulting from a cache miss in multi-level cache system

Assignee: Hewlett Packard Development Co LP
•
Filing: 1994-08-04
•
Granted: 1996-11-19
•
Expires: 2014-08-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computing system includes a processor, a main memory, a first level cache and a second level cache. The second level cache contains data lines. The first level cache contains data line fragments of data lines within the second level cache. In response to a processor attempt to access a data word, a cache controller searches for the data word in the first level cache. When a first level cache miss results from the attempted access, a search is made for the data word in the second level cache. When a second level cache miss results a new data line, which contains the data word, is fetched from the main memory. Concurrently, the cache controller determines which entries of the first level cache are invalid. Once the new data line is fetched from the main memory, the new data line is placed in the second level cache, replacing the second level victim cache line. In addition, as many data line fragments as possible from the new data line are placed into invalid entries in the first level cache. One of data line fragments from the new data line placed into the first level cache includes the data word.

Inventors

  • 👤 James S. Finnell
  • 👤 Dean A. Mulla

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 21:59
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0811

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 232 words
In a computing system which includes a processor, a main memory, a first level cache and a second level cache, the second level cache containing data lines, and each valid entry within the first level cache containing a data line fragment of a data line within the second level cache, each data line fragment contained within the first level cache including a fragment, but not all, of a data line contained within the second level cache, a method which is performed when a first level cache miss and a second level cache miss results from a cache reference of a data word made by the processor, the method comprising the steps of: (a) fetching a new data line from the main memory; (b) while waiting for the new data line fetched in step (a) to arrive from the main memory, determining which entries of rile first level cache are invalid; and, (c) when the new data line arrives from the main memory, placing into the first level cache a data line fragment which includes the data word, end in addition placing into the first level cache at least one additional data line fragment which replaces an entry determined in step (b) to be invalid; wherein concurrent with step (c) the new data line is placed in the second level cache, replacing a second level victim cache line within the second level cache.
Claim 2
Dependent Claim 232 words
In a computing system which includes a processor, a main memory, a first level cache and a second level cache, the second level cache containing data lines, and each valid entry within the first level cache containing a data line fragment of a data line within the second level cache, each data line fragment contained within the first level cache including a fragment, but not all, of a data line contained within the second level cache, a method which is performed when a first level cache miss and a second level cache miss results from a cache reference of a data word made by the processor, the method comprising the steps of: (a) fetching a new data line from the main memory; (b) while waiting for the new data line fetched in step (a) to arrive from the main memory, determining which entries of rile first level cache are invalid; and, (c) when the new data line arrives from the main memory, placing into the first level cache a data line fragment which includes the data word, end in addition placing into the first level cache at least one additional data line fragment which replaces an entry determined in step (b) to be invalid; wherein concurrent with step (c) the new data line is placed in the second level cache, replacing a second level victim cache line within the second level cache.
Claim 3
Dependent Claim 47 words
A method as in claim 1 wherein in step (b) invalid entries include entries of the first level cache which are marked invalid and entries within the first level cache which contain cache line fragments from the second level victim cache line within the second level cache.
Claim 4
Dependent Claim 25 words
A method as in claim 1 wherein each second level cache line contains sixteen words and each first level cache line fragment contains four words.
Claim 5
Dependent Claim 47 words
A method as in claim 1 wherein in step (b) invalid entries include entries of the first level cache which are marked invalid and entries within the first level cache which contain cache line fragments from a second level victim cache line within the second level cache.
Claim 6
Dependent Claim 233 words
A computing system comprising; a processor; a main memory; a first level cache; a second level cache, the second level cache containing data lines and valid entries within the first level cache each containing a data line fragment of a dam line within the second level cache, each data line fragment contained within the first level cache including a fragment, but not all, of a data line contained within the second level cache; and, a cache controller, coupled to the processor, the main memory, the first level cache and the second level cache, the cache controller fetching a new dam line from the main memory when a first level cache miss and a second level cache miss results from a cache reference of a data word made by the processor, determining which entries of the first level cache are invalid, and placing into the first level cache a data line fragment which includes the data word and in addition replacing as many data line fragments as possible from the new data line into invalid entries in the first level cache when the new data line arrives from the main memory; wherein the cache controller additionally replaces a second level victim cache line within the second level cache concurrent with the cache controller placing as many data line fragments as possible from the new data line into invalid entries in the first level cache.
Claim 7
Dependent Claim 233 words
A computing system comprising; a processor; a main memory; a first level cache; a second level cache, the second level cache containing data lines and valid entries within the first level cache each containing a data line fragment of a dam line within the second level cache, each data line fragment contained within the first level cache including a fragment, but not all, of a data line contained within the second level cache; and, a cache controller, coupled to the processor, the main memory, the first level cache and the second level cache, the cache controller fetching a new dam line from the main memory when a first level cache miss and a second level cache miss results from a cache reference of a data word made by the processor, determining which entries of the first level cache are invalid, and placing into the first level cache a data line fragment which includes the data word and in addition replacing as many data line fragments as possible from the new data line into invalid entries in the first level cache when the new data line arrives from the main memory; wherein the cache controller additionally replaces a second level victim cache line within the second level cache concurrent with the cache controller placing as many data line fragments as possible from the new data line into invalid entries in the first level cache.
Claim 8
Dependent Claim 51 words
A computing system as in claim 5 wherein invalid entries as determined by the cache controller include entries of the first level cache which are marked invalid and entries within the first level cache which contain cache line fragments from the second level victim cache line within the second level cache.
Claim 9
Dependent Claim 26 words
A computing system as in claim 5 wherein each second level cache line contains sixteen words and each first level cache line fragment contains four words.
Claim 10
Dependent Claim 51 words
A computing system as in claim 5 wherein invalid entries as determined by the cache controller include entries of the first level cache which are marked invalid and entries within the first level cache which contain cache line fragments from a second level victim cache line within the second level cache.
Claim 11
Dependent Claim 270 words
In a computing system which includes a processor, a main memory, a first level cache and a second level cache, the second level cache containing data lines and the first level cache containing within valid entries data line fragments of data lines within the second level cache, each data line fragment contained within the first level cache including a fragment, but not all, of a data line contained within the second level cache, a method comprising the steps of: (a) in response to a processor attempt to access a data word, searching for the data word in the first level cache; (b) when a first level cache miss results from performance of step (a), searching for the data word in the second level cache; and, (c) when a second level cache miss results from the performance of step (b), performing the following substeps: (c.1) fetching a new data line from the main memory, the new data line containing the data word, (c.2) while waiting for the new data line fetched in substep (c.1) to arrive from the main memory, determining which entries of the first level cache are invalid, and (c.3) when the new data line is fetched from the main memory, placing as many data line fragments as possible from the new data line into invalid entries in the first level cache, one data line fragment from the new data line placed into the first level cache including the data word; wherein concurrent with substep (c.3) the new data line is placed in the second level cache, replacing a second level victim cache line within the second level cache.
Claim 12
Dependent Claim 270 words
In a computing system which includes a processor, a main memory, a first level cache and a second level cache, the second level cache containing data lines and the first level cache containing within valid entries data line fragments of data lines within the second level cache, each data line fragment contained within the first level cache including a fragment, but not all, of a data line contained within the second level cache, a method comprising the steps of: (a) in response to a processor attempt to access a data word, searching for the data word in the first level cache; (b) when a first level cache miss results from performance of step (a), searching for the data word in the second level cache; and, (c) when a second level cache miss results from the performance of step (b), performing the following substeps: (c.1) fetching a new data line from the main memory, the new data line containing the data word, (c.2) while waiting for the new data line fetched in substep (c.1) to arrive from the main memory, determining which entries of the first level cache are invalid, and (c.3) when the new data line is fetched from the main memory, placing as many data line fragments as possible from the new data line into invalid entries in the first level cache, one data line fragment from the new data line placed into the first level cache including the data word; wherein concurrent with substep (c.3) the new data line is placed in the second level cache, replacing a second level victim cache line within the second level cache.
Claim 13
Dependent Claim 47 words
A method as in claim 9 wherein in substep (c.2) invalid entries include entries of the first level cache which are marked invalid and entries within the first level cache which contain cache line fragments from the second level victim cache line within the second level cache.
Claim 14
Dependent Claim 25 words
A method as in claim 9 wherein each second level cache line contains sixteen words and each first level cache line fragment contains four words.
Claim 15
Dependent Claim 47 words
A method as in claim 9 wherein in substep (c.2) invalid entries include entries of the first level cache which are marked invalid and entries within the first level cache which contain cache line fragments from a second level victim cache line within the second level cache.

References Cited (Backward Citations)

US4464712A Cited
US4463420A Cited
US4823259A Cited
US4774654A Cited
US4722047A Cited
US4972316A Cited
US5214765A Cited
US5307477A Cited
US5136700A Cited
US5285323A Cited
US5249282A Cited
US5361391A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-11-19 2000-05-20 2000-11-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-11-19 2004-05-20 2004-11-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-11-19 2008-05-20 2008-11-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag