Claims Analysis
Total Claims: 19
Claim 1
Independent Claim
170 words
A method of buffering data read from a memory, comprising the steps of: storing addresses in a history buffer, said addresses being sequential to memory read addresses used for a plurality of read requests made to said memory by one or more requestors coupled thereto; detecting if a subsequent read request is made using an address which is equal to any one of the addresses stored in said history buffer, and, if so, generating a stream detect signal; in response to said stream detect signal, fetching data from said memory at a next-sequential address incremented from said sequential address, and storing said next-sequential address and said data in a stream buffer; comparing the address of a subsequent read request to the addresses stored in said stream buffer to determine whether said subsequent read request is to said next-sequential address; and if said subsequent read request is determined to be to said next-sequential address, sending said data from said stream buffer to the requestor without accessing said memory for said data.
Claim 2
Independent Claim
170 words
A method of buffering data read from a memory, comprising the steps of: storing addresses in a history buffer, said addresses being sequential to memory read addresses used for a plurality of read requests made to said memory by one or more requestors coupled thereto; detecting if a subsequent read request is made using an address which is equal to any one of the addresses stored in said history buffer, and, if so, generating a stream detect signal; in response to said stream detect signal, fetching data from said memory at a next-sequential address incremented from said sequential address, and storing said next-sequential address and said data in a stream buffer; comparing the address of a subsequent read request to the addresses stored in said stream buffer to determine whether said subsequent read request is to said next-sequential address; and if said subsequent read request is determined to be to said next-sequential address, sending said data from said stream buffer to the requestor without accessing said memory for said data.
Claim 3
Dependent Claim
44 words
A method according to claim 1 wherein said step of fetching data from said memory at said next-sequential address includes the further step of fetching a plurality of blocks of data from said memory at a plurality of addresses subsequent to said next-sequential address.
Claim 4
Dependent Claim
27 words
A method according to claim 2 including the further step of storing said plurality of blocks of data in said buffer, the buffer operating as a FIFO.
Claim 5
Dependent Claim
19 words
A method according to claim 1 wherein said buffer is a FIFO having a plurality of sets of entries.
Claim 6
Dependent Claim
28 words
A method according to claim 4 including the steps of selecting the least recently used of said sets of entries for storing said data from said next-sequential address.
Claim 7
Dependent Claim
38 words
A method according to claim 1 including the step of sending said read requests to said memory by said requestors via a system bus, said step of fetching data using a memory bus separate from said system bus.
Claim 8
Independent Claim
198 words
A system for reading data from a memory in response to read requests received from one or more requestors coupled thereto, comprising: a read buffer including a plurality of FIFOs, each FIFO having a plurality of entries; an address queue receiving and storing addresses sequential to the addresses of said read requests; a stream detect circuit for producing a stream detect signal in response to a read request having an address equal to one of said sequential addressees stored in said address queue; means responsive to said stream detect signal for selecting one of said FIFOs of said read buffer for storing sequential data; means for fetching data from said memory at locations subsequent to said sequential address and loading said fetched data and an address corresponding thereto into said selected FIFO; means for comparing the address of a subsequent read request to the addresses stored in said FIFOs to determine whether said subsequent read request is for any of said subsequent memory locations; and means for sending data from the one of said FIFOs that is determined to contain the memory location that said subsequent read request is for to the requestor making said subsequent read request.
Claim 9
Independent Claim
198 words
A system for reading data from a memory in response to read requests received from one or more requestors coupled thereto, comprising: a read buffer including a plurality of FIFOs, each FIFO having a plurality of entries; an address queue receiving and storing addresses sequential to the addresses of said read requests; a stream detect circuit for producing a stream detect signal in response to a read request having an address equal to one of said sequential addressees stored in said address queue; means responsive to said stream detect signal for selecting one of said FIFOs of said read buffer for storing sequential data; means for fetching data from said memory at locations subsequent to said sequential address and loading said fetched data and an address corresponding thereto into said selected FIFO; means for comparing the address of a subsequent read request to the addresses stored in said FIFOs to determine whether said subsequent read request is for any of said subsequent memory locations; and means for sending data from the one of said FIFOs that is determined to contain the memory location that said subsequent read request is for to the requestor making said subsequent read request.
Claim 10
Dependent Claim
42 words
A system according to claim 7 wherein said means for fetching data from said memory at said sequential address includes means for fetching a plurality of blocks of data from said memory at a plurality of addresses subsequent to said sequential address.
Claim 11
Dependent Claim
25 words
A system according to claim 8 including means for storing said plurality of blocks of data in said buffer, the buffer operating as a FIFO.
Claim 12
Dependent Claim
29 words
A system according to claim 9 wherein said buffer is a FIFO having a plurality of sets of entries for a plurality of sets of said blocks of data.
Claim 13
Dependent Claim
27 words
A system according to claim 10 including means for selecting the least recently used of said sets of entries for storing said data from said sequential address.
Claim 14
Dependent Claim
226 words
A computer system, comprising: (a) one or more CPUs coupled to a memory by a system bus, the CPUs sending memory read requests to said memory by said system bus; and (b) a memory controller coupled between said memory and said system bus, said memory controller including: a read buffer, the read buffer having a plurality of FIFOs, each FIFO having a plurality of entries; an address queue for receiving and storing addresses sequential to the addresses of said requests; a stream detect circuit for producing a stream detect signal in response to a read request having an address equal to one of said sequential addresses stored in said address queue; means responsive to said stream detect signal for selecting one of said FIFOs of said read buffer for storing sequential data; means for fetching data from said memory at locations subsequent to said sequential address and loading said fetched data and an address corresponding thereto into said selected FIFO; means for comparing the address of a subsequent read request to the address stored in said FIFOs to determine whether said subsequent read request is for any of said subsequent memory locations; and means for sending data from the one of said FIFOs that is determined to contain the memory location that said subsequent read request is for to the CPU making said subsequent read request.
Claim 15
Dependent Claim
226 words
A computer system, comprising: (a) one or more CPUs coupled to a memory by a system bus, the CPUs sending memory read requests to said memory by said system bus; and (b) a memory controller coupled between said memory and said system bus, said memory controller including: a read buffer, the read buffer having a plurality of FIFOs, each FIFO having a plurality of entries; an address queue for receiving and storing addresses sequential to the addresses of said requests; a stream detect circuit for producing a stream detect signal in response to a read request having an address equal to one of said sequential addresses stored in said address queue; means responsive to said stream detect signal for selecting one of said FIFOs of said read buffer for storing sequential data; means for fetching data from said memory at locations subsequent to said sequential address and loading said fetched data and an address corresponding thereto into said selected FIFO; means for comparing the address of a subsequent read request to the address stored in said FIFOs to determine whether said subsequent read request is for any of said subsequent memory locations; and means for sending data from the one of said FIFOs that is determined to contain the memory location that said subsequent read request is for to the CPU making said subsequent read request.
Claim 16
Dependent Claim
43 words
A computer system according to claim 12 wherein said means for fetching data from said memory at said sequential address includes means for fetching a plurality of blocks of data from said memory at a plurality of addresses subsequent to said sequential address.
Claim 17
Dependent Claim
26 words
A computer system according to claim 13 including means for storing said plurality of blocks of data in said buffer, the buffer operating as a FIFO.
Claim 18
Dependent Claim
30 words
A computer system according to claim 14 wherein said buffer is a FIFO having a plurality of sets of entries for a plurality of sets of said blocks of data.
Claim 19
Dependent Claim
28 words
A computer system according to claim 15 including means for selecting the least recently used of said sets of entries for storing said data from said sequential address.