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

Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues

Assignee: HP Inc
•
Filing: 1995-08-17
•
Granted: 1997-07-29
•
Expires: 2015-08-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for snooping both cache memory and associated buffer queues in a cache subsystem arrangement. Since there are usually several requests for cache data being handled at any given time under high performance operation of multiple processors, a cache arrangement includes at least one buffer queue for storing the address of the cache data line and the status of the cache data line, which facilitate keeping track of the data requests and handling them efficiently. In response to a snoop request, a snoop address is compared to the address stored in the buffer queue so as to provide a positive comparison result if the snoop address matches the address stored in the buffer queue, thereby indicating a snoop hit condition. The buffer queue of the cache arrangement further has a snoop hit bit for storing a record of the positive comparison result that indicates the snoop hit condition. Even if there is still a pending transaction involving the buffer queue, the snoop request of the cache is satisfied once the comparison result has been stored in the snoop hit bit of the buffer queue, thereby keeping the cache high performance for local code while at the same time providing efficient support for snoop requests.

Inventors

  • 👤 Dean Mulla
  • 👤 Sorin Iacobovici

Bibliographic Details

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

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 165 words
A method comprising the steps of: providing a cache memory for storing a data line, and a cache tag for identifying an address of the data line and a status of the data line; providing at least one buffer queue coupled with the data cache for storing the address of the data line and the status of the data line, thereby referencing the data line; comparing a snoop address to the address stored in the buffer queue so as to provide a positive comparison result if the snoop address matches the address stored in the buffer queue, thereby indicating a snoop hit condition; assigning at least one snoop hit bit to the buffer queue; and setting the snoop hit bit in response to the positive comparison result indicating the snoop hit condition; wherein a snoop request is satisfied even if there is still a pending transaction involving the buffer queue, once the comparison result is stored in the snoop hit bit of the buffer queue.
Claim 2
Independent Claim 165 words
A method comprising the steps of: providing a cache memory for storing a data line, and a cache tag for identifying an address of the data line and a status of the data line; providing at least one buffer queue coupled with the data cache for storing the address of the data line and the status of the data line, thereby referencing the data line; comparing a snoop address to the address stored in the buffer queue so as to provide a positive comparison result if the snoop address matches the address stored in the buffer queue, thereby indicating a snoop hit condition; assigning at least one snoop hit bit to the buffer queue; and setting the snoop hit bit in response to the positive comparison result indicating the snoop hit condition; wherein a snoop request is satisfied even if there is still a pending transaction involving the buffer queue, once the comparison result is stored in the snoop hit bit of the buffer queue.
Claim 3
Dependent Claim 33 words
A method as in claim 1 further comprising a step of relinquishing any ownership of the data line referenced by the buffer queue in response to the setting of the snoop hit bit.
Claim 4
Independent Claim 230 words
An apparatus comprising: a first and second central processing unit; a main memory; a system bus coupled with the first and second central processing unit and the main memory; a bus controller coupled with the system bus for initiating a snoop request and providing a snoop address in response to the first central processing unit accessing the main memory over the system bus; a cache arrangement coupled with the second central processing unit, the cache arrangement including a cache memory for storing a data line, a cache tag for identifying an address of the cache data line and a status of the cache data line, and a buffer queue for storing the address of the cache data line and the status of the cache data line; said cache arrangement responsive to the snoop request to compare the snoop address with the address stored in the buffer queue to provide a positive comparison result if the snoop address matches the address stored in the buffer queue, thereby indicating a snoop hit condition; wherein the buffer queue further has a snoop hit bit for storing a record of the positive comparison result that indicated the snoop hit condition; and wherein a snoop request is satisfied even if there is still a pending transaction involving the buffer queue, once the comparison result is stored in the snoop hit bit of the buffer queue.
Claim 5
Independent Claim 230 words
An apparatus comprising: a first and second central processing unit; a main memory; a system bus coupled with the first and second central processing unit and the main memory; a bus controller coupled with the system bus for initiating a snoop request and providing a snoop address in response to the first central processing unit accessing the main memory over the system bus; a cache arrangement coupled with the second central processing unit, the cache arrangement including a cache memory for storing a data line, a cache tag for identifying an address of the cache data line and a status of the cache data line, and a buffer queue for storing the address of the cache data line and the status of the cache data line; said cache arrangement responsive to the snoop request to compare the snoop address with the address stored in the buffer queue to provide a positive comparison result if the snoop address matches the address stored in the buffer queue, thereby indicating a snoop hit condition; wherein the buffer queue further has a snoop hit bit for storing a record of the positive comparison result that indicated the snoop hit condition; and wherein a snoop request is satisfied even if there is still a pending transaction involving the buffer queue, once the comparison result is stored in the snoop hit bit of the buffer queue.
Claim 6
Dependent Claim 25 words
An apparatus as in claim 3 wherein the buffer queue includes a buffer queue for containing outstanding requests that have been issued to the bus.
Claim 7
Dependent Claim 16 words
An apparatus as in claim 4 wherein the buffer queue includes a memory return buffer queue.
Claim 8
Dependent Claim 16 words
An apparatus as in claim 4 wherein the buffer queue includes a cache write buffer queue.
Claim 9
Dependent Claim 15 words
An apparatus as in claim 3 wherein the buffer queue includes a store buffer queue.
Claim 10
Dependent Claim 17 words
An apparatus as in claim 3 wherein the buffer queue includes an outstanding access request buffer queue.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-07-28 2001-01-27 2001-07-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-07-28 2005-01-27 2005-07-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-07-28 2009-01-27 2009-07-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag