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

Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer

Assignee: Hewlett Packard Development Co LP
•
Filing: 1994-02-16
•
Granted: 1996-12-17
•
Expires: 2014-02-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A read buffering system employs FIFOs to hold sequential read data for a number of data streams being fetched by a computer. When the system sees a read command from the CPU, it stores an incremented value of the address of the read command in a history buffer and marks the entry as valid. The system detects a stream when a subsequent read command specifies an address that matches the address value stored in the history buffer. Upon detecting a stream, the system fetches data from DRAMs at addresses that follow the address of the subsequent read command, and stores it in a FIFO. However, to reduce unnecessary prefetching, the system looks for a read X, write X, read X+1 (where X and X+1 designate addresses) succession of commands so as to prevent them from creating a stream. This succession occurs often and qualifies as a stream, but is seldom followed by other reads that maintain the stream. The system checks for this succession by comparing an incremented value of the address of the write command with each valid address value stored in the history buffer. A match causes the system to invalidate the history buffer entry containing the matched address value. This effectively disables the use of this address value for detecting a stream upon subsequent read commands and, consequently, for prefetching data from memory.

Inventors

  • 👤 Paul M. Goodwin
  • 👤 Kurt M. Thaller

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 13:51
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/16; G06F13/1605; G06F13/161; G06F13/1626; G06F13/1631

Claims Analysis

Total Claims: 4
Claim 1
Independent Claim 118 words
A method of fetching data from a memory, comprising the steps of: receiving a first read command specifying a first address of said memory to be read; receiving a subsequent write command specifying an address of said memory to be written; receiving a second read command, subsequent to said write command, specifying a second address of said memory to be read, said second address sequentially following said first address; and in response to said second read command, if said first address to be read and said address to be written are different addresses, fetching data from said memory at an address that follows said second address specified in said second read command, and otherwise refraining from said fetching.
Claim 2
Independent Claim 118 words
A method of fetching data from a memory, comprising the steps of: receiving a first read command specifying a first address of said memory to be read; receiving a subsequent write command specifying an address of said memory to be written; receiving a second read command, subsequent to said write command, specifying a second address of said memory to be read, said second address sequentially following said first address; and in response to said second read command, if said first address to be read and said address to be written are different addresses, fetching data from said memory at an address that follows said second address specified in said second read command, and otherwise refraining from said fetching.
Claim 3
Dependent Claim 145 words
The method of claim 1, further comprising the steps of: in response to said first read command, storing a first computed address value corresponding to said first address into a history buffer entry and marking said entry as valid; in response to said write command, comparing a second computed address value corresponding to said address to be written with said stored first computed address value, and, if they match, marking said history buffer entry as invalid; in response to said second read command, comparing said second address to be read with said stored first computed address value, said comparing resulting in generating a match signal; and in response to said match signal, if said history buffer entry is valid, generating a stream-detect signal, and otherwise refraining from generating said stream-detect signal; and wherein said step of data fetching is in response to said stream-detect signal.
Claim 4
Dependent Claim 25 words
A method according to claim 2, wherein said first and second computed address values each result from incrementing the address specified in the corresponding command.

References Cited (Backward Citations)

US3840863A Cited
US4159532A Cited
US4499576A Cited
US4853840A Cited
US4989135A Cited
US4980823A Cited
US5226130A Cited
US5261066A Cited
US5251310A Cited
US5265236A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag