← Back to Patent Explorer
US5737758A 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 13:59
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: 6
Claim 1
Independent Claim 177 words
In a computer system including a plurality of caching agents and a bus coupling one or more of the plurality of caching agents to one another, a method of maintaining cache coherence, the method comprising the steps of: (a) monitoring the bus for a snoopable request, the snoopable request having an address associated with it, and responsive to finding the snoopable request; (i) allocating an entry in a snoop queue, the snoop queue having one or more entries, (ii) comparing the address of the snoopable request with one or more pending addresses stored in the snoop queue corresponding to one or more pending bus operations, (iii) setting a first block condition if there is a match between the address of the snoopable request and the one or more pending addresses stored in the snoop queue, and (iv) setting one or more history bits indicating a chronological ordering of the entry in the snoop queue; and (b) preventing one or more subsequent snoop operations from starting until the first block condition set in the step (a)(iii) is cleared.
Claim 2
Dependent Claim 177 words
In a computer system including a plurality of caching agents and a bus coupling one or more of the plurality of caching agents to one another, a method of maintaining cache coherence, the method comprising the steps of: (a) monitoring the bus for a snoopable request, the snoopable request having an address associated with it, and responsive to finding the snoopable request; (i) allocating an entry in a snoop queue, the snoop queue having one or more entries, (ii) comparing the address of the snoopable request with one or more pending addresses stored in the snoop queue corresponding to one or more pending bus operations, (iii) setting a first block condition if there is a match between the address of the snoopable request and the one or more pending addresses stored in the snoop queue, and (iv) setting one or more history bits indicating a chronological ordering of the entry in the snoop queue; and (b) preventing one or more subsequent snoop operations from starting until the first block condition set in the step (a)(iii) is cleared.
Claim 3
Dependent Claim 44 words
The method of claim 1 further comprising the step of: (a)(v) setting a second block condition if the first block condition of another entry is set in the snoop queue, the step (a)(v) being performed after the step (a)(iv) and before the step (b).
Claim 4
Dependent Claim 28 words
The method of claim 1 wherein the first block condition prevents the one or more subsequent snoop operations from starting until a blocking snoop operation has been completed.
Claim 5
Dependent Claim 67 words
The method of claim 1 further comprising a step of (a)(v) setting a second block condition if the first block condition of an allocated entry is set in the snoop queue, wherein the second block condition prevents one or more subsequent snoop operations from starting until a blocking snoop operation has been initiated, the step (a)(v) being performed after the step (a)(iv) and before the step (b).
Claim 6
Dependent Claim 26 words
The method of claim 1 wherein the step (a)(iii) further includes setting the first block condition if a previously-allocated entry does not have an associated address.

References Cited (Backward Citations)

US5355467A Cited
US5335335A Cited
US5325503A Cited
US5463753A Cited
US5572703A Cited
US5623628A 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