Patent US5737759A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5737759A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests

Assignee: Intel Corp
•
Filing: 1997-04-04
•
Granted: 1998-04-07
•
Expires: 2017-04-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An efficient method for handling multiple conflicting snoop requests with minimal stalling on the external bus by using blocking conditions to maintain and update a snoop queue for maintaining cache coherence in a computer system with caching units. An entry in a snoop queue is allocated to a snoopable request which has an associated snoop address. The snoop address is compared with addresses corresponding to previously allocated entries stored in the snoop queue. A block condition is set if there is a match between the snoop address and one or more of the addresses stored in the snoop queue. One or more history bits are set in the snoop queue indicating a chronological ordering of the entry in the snoop queue. A snoop operation corresponding to the snoop request is blocked until the block condition is cleared.

Inventors

  • 👤 Amit A. Merchant

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 14:37
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0815; G06F12/0831; G06F12/0833

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 70 words
A method of maintaining cache coherence comprising the steps of: (a) allocating an entry in a snoop queue to a snoopable request; (b) blocking the snoopable request to delay performing a snoop operation in response to the snoopable request until a blocking condition is satisfied; (c) performing the snoop operation in response to the snoopable request after the blocking condition is satisfied; (d) deallocating the entry from the snoop queue.
Claim 2
Independent Claim 70 words
A method of maintaining cache coherence comprising the steps of: (a) allocating an entry in a snoop queue to a snoopable request; (b) blocking the snoopable request to delay performing a snoop operation in response to the snoopable request until a blocking condition is satisfied; (c) performing the snoop operation in response to the snoopable request after the blocking condition is satisfied; (d) deallocating the entry from the snoop queue.
Claim 3
Dependent Claim 30 words
The method of claim 1 wherein the step (c) of performing the snoop operation further includes the step of (c1) sending a snoop inquiry to one or more caching units.
Claim 4
Dependent Claim 31 words
The method of claim 2 wherein the step (c) of performing the snoop operation further includes the step of (c2) receiving a snoop response from the one or more caching units.
Claim 5
Dependent Claim 96 words
The method of claim 2 wherein the step (c) of performing the snoop operation further includes the step of (c2) receiving a snoop response from the one or more caching units; and (c3) determining a cumulative snoop response from the snoop responses received from the one or more caching units, wherein if the cumulative snoop response indicates a hit to a modified cache line, then sending a snoop abort to the one or more caching units upon a first condition and sending a snoop confirm to the one or more caching units upon a second condition.
Claim 6
Dependent Claim 19 words
The method of claim 4 wherein the first condition is satisfied if an error occurred during the snoop operation.
Claim 7
Dependent Claim 21 words
The method of claim 4 wherein the first condition is satisfied if an address parity error occurred during the snoop operation.
Claim 8
Dependent Claim 27 words
The method of claim 4 wherein the first condition is satisfied if an address parity error occurred during the snoop operation, otherwise the second condition is satisfied.
Claim 9
Dependent Claim 55 words
The method of claim 4 wherein the steps (a)-(d) are performed for a first snoopable request and the steps (a)-(d) are performed for a second snoopable request, and performing the steps (a)-(d) corresponding to the first snoopable request at least partially overlaps in time with performing the steps (a)-(d) corresponding to the second snoopable request.
Claim 10
Independent Claim 71 words
A method of maintaining cache coherence comprising the steps of: (a) allocating a first entry in a snoop queue corresponding to a first bus request having an unknown address; (b) allocating a second entry in the snoop queue corresponding to a second bus request; (c) blocking the second entry from starting a snoop operation corresponding to the second bus request until the first entry has been deallocated from the snoop queue.
Claim 11
Independent Claim 71 words
A method of maintaining cache coherence comprising the steps of: (a) allocating a first entry in a snoop queue corresponding to a first bus request having an unknown address; (b) allocating a second entry in the snoop queue corresponding to a second bus request; (c) blocking the second entry from starting a snoop operation corresponding to the second bus request until the first entry has been deallocated from the snoop queue.
Claim 12
Dependent Claim 34 words
The method of maintaining cache coherence of claim 9 wherein the first bus request is a deferred reply from a caching agent, wherein the deferred reply has an associated token instead of an address.

References Cited (Backward Citations)

US5355467A Cited
US5335335A Cited
US5325503A Cited
US5463753A Cited
US5572703A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag