US2018018267A1PendingUtilityA1
Speculative reads in buffered memory
Est. expiryDec 23, 2034(~8.4 yrs left)· nominal 20-yr term from priority
G06F 2212/1016G06F 12/0835G06F 2212/507G06F 12/0862G06F 2212/6026G06F 12/0884Y02D10/00
53
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A speculative read request is received from a host device over a buffered memory access link for data associated with a particular address. A read request is sent for the data to a memory device. The data is received from the memory device in response to the read request and the received data is sent to the host device as a response to a demand read request received subsequent to the speculative read request.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . An apparatus comprising:
host logic to:
perform a cache lookup for data associated with a particular memory address;
send a speculative read request to a buffer device in conjunction with the cache lookup, wherein the speculative read request is to cause the buffer device to obtain the data from memory; and
determine whether to send a read request to the buffer device to cause the buffer chip to return the data from memory based at least in part on a result of the cache lookup.
2 . The apparatus of claim 1 , wherein obtaining the data through the cache lookup causes the host logic not to send the read request.
3 . The apparatus of claim 1 , wherein the read request is to be sent for the data in response to a cache lookup miss.
4 . The apparatus of claim 3 , wherein the host logic is to send the read request and receive the data from the buffer device as obtained from memory.
5 . The apparatus of claim 1 , wherein the speculative read request is to be sent before the result is returned from the cache lookup.
6 . The apparatus of claim 1 , wherein the host logic is further to determine whether to send the speculative read request in conjunction with the cache lookup.
7 . The apparatus of claim 6 , wherein the speculative read request is to be determined to be sent based on resource availability information associated with the buffer device.
8 . The apparatus of claim 6 , wherein the speculative read request is to be determined based on a likelihood that the cache lookup will result in a miss.
9 . The apparatus of claim 1 , wherein the cache comprises a last level cache.
10 . An apparatus comprising:
a memory controller to:
receive, from a host device over a buffered memory access link, a speculative read request for data associated with a particular address;
send a read request for the data to a memory device;
receive the data from the memory device in response to the read request; and
send the data to the host device in response to a demand read request subsequent to the speculative read request.
11 . The apparatus of claim 10 , wherein the memory controller is provided on a buffer chip separate from the host device.
12 . The apparatus of claim 10 , wherein the demand read request comprises any memory read request to the same address as the speculative read request.
13 . The apparatus of claim 10 , wherein the memory controller does not send a response to the host device for the speculative read request absent a corresponding demand read request from the host device.
14 . The apparatus of claim 13 , wherein the speculative read request is to comprise a field to indicate the particular address and a transaction identifier field with an invalid value, the read request is to comprise a field to indicate the particular address and a transaction identifier field to indicate a transaction identifier of the read request, and the data is to be sent to the host device as a response, wherein the response is to comprise a field to indicate the particular address and a transaction identifier field to indicate the transaction identifier of the read request.
15 . The apparatus of claim 13 , wherein the memory controller is to drop data obtained from memory in response to a speculative read request when a corresponding demand read is not received.
16 . At least one machine accessible storage medium having code stored thereon, the code when executed on a machine, causes the machine to:
determine whether to send a speculative read request in association with a particular lookup of last level cache, wherein the particular lookup comprises a lookup for data associated with a particular memory address; perform the particular lookup of the last level cache; send a speculative read request to a buffer device in conjunction with the particular lookup, wherein the speculative read request is to cause the buffer chip to obtain the data from memory at least partially in parallel with the particular lookup; and send a demand read request to the buffer device to cause the buffer chip to return the data from memory on a miss result for the particular lookup.
17 . A system comprising:
a buffer chip; memory to be accessed by through the buffer chip; a processor block coupled to the buffer chip by a memory access link, wherein the processor block comprises:
one or more processor cores;
last level cache;
a host controller to:
perform a lookup of the last level cache for data associated with a particular address of the memory;
send a speculative read request to the buffer chip in conjunction with the lookup, wherein the speculative read request is to cause the buffer device to obtain the data from the memory; and
determine whether to send a read request to the buffer chip to cause the buffer chip to return the data from memory based at least in part on a result of the cache lookup.
18 . The system of claim 17 , wherein the buffer chip comprises a memory controller to access data from the memory responsive to requests received, at the buffer chip, from the processor block.
19 . The system of claim 18 , wherein the memory controller is to:
retrieve the data from the memory in response to the speculative read request; and drop the retrieved data if a corresponding read request is not received from the processor block following the speculative read request.
20 . The system of claim 18 , wherein the memory controller is to determine whether to ignore or service the speculative read request based at last in part on availability of buffer chip resources.Join the waitlist — get patent alerts
Track US2018018267A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.