IP Library Granted Patent US 9,256,564
Granted Patent B2
US 9,256,564 · App. 13/723,261 · Granted Feb 9, 2016

Techniques for improving throughput and performance of a distributed interconnect peripheral bus

Inventors: Yaron Elboim (Haifa, IL); Ran Vayda (Binyamina, IL); Ran Eliyahu Hay (Rosh Hahayin, IL)
Assignee: QUALCOMM Incorporated
G06F13/4027G06F12/0862G06F2212/507
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,256,564
App. No.
13/723,261
Granted
Feb 9, 2016
Kind
B2
Abstract

A method for accelerating execution of read operations in a distributed interconnect peripheral bus is provided. The method comprises generating a first number of speculative read requests addressed to an address space related to a last read request served on the bus; sending the speculative read requests to a root component connected to the bus; receiving a second number of read completion messages from the root component of the bus; and sending a read completion message out of the received read completion messages component to the endpoint component only if the read completion message is respective of a real read request or a valid speculative read request out of the speculative read requests, wherein a real read request is issued by the endpoint component.

Claims (50)

1. A method for accelerating execution of read operations, comprising:

generating a plurality of speculative read requests;

sending a first number of the plurality of the speculative read requests to a device coupled to an endpoint component via a wireless medium;

receiving of one or more read completion messages from the device;

tracking a number of received read completion messages;

receiving a real read request from the endpoint component;

sending one of the one or more received read completion messages to the endpoint component if one of the one or more received read completion messages corresponds to the real read request or if one of the one or more received read completion messages corresponds to one of the first number of the plurality of speculative read requests; and

sending a second number of the plurality of speculative read requests if the tracked number of received completion messages is greater than a threshold number.

2. The method of claim 1 , further comprising:

determining if the received real read request matches one of the plurality of speculative read requests;

storing the received real read request if a match exists; and

storing an identifier of one of the plurality of speculative read requests if a match does not exist, upon determining the one of the plurality of speculative read requests does not correspond to the one or more of the received read completion messages.

3. The method of claim 2 , further comprising:

sending, to the device, the received real read request if a match does not exist.

4. The method of claim 3 , further comprising:

checking if each of the received read completion messages is responsive to the received real read request or if one of the plurality of speculative read requests corresponds to the one or more received read completion messages;

sending, to the endpoint component, each of the received read completion messages responsive to the received real read request; and

translating each of the received read completion messages to match an identifier of a stored real read request for each of the received read completion messages responsive to the speculative read request of the plurality of speculative read requests corresponding to the one or more received read completion messages.

5. The method of claim 1 , wherein the generation of the plurality of speculative read requests is triggered upon reception of a consecutive threshold number of real read requests directed to the same address space.

6. The method of claim 1 , wherein the bus is a distributed peripheral component interconnect express (PCIe) bus.

7. An apparatus for accelerating execution of read operations, comprising:

circuitry coupled to an endpoint component, wherein the circuitry is coupled to a device via a wireless medium and is configured to:

generate a plurality of speculative read requests;

send a first number of the plurality of speculative read requests to the device;

receive one or more read completion messages from the device;

track a number of received read completion messages;

receive a real read request from the endpoint component;

send one of the one or more received read completion messages to the endpoint component if one of the more or more received read completion messages corresponds to the real read request or if one of the one or more received read completion messages corresponds to one of the first number of the plurality of speculative read requests; and

send a second number of the plurality of speculative read requests if the tracked number of received completion messages is greater than a threshold number.

8. The apparatus of claim 7 , wherein the circuitry is further configured to:

determine if the received real read request matches one of the plurality of speculative read requests;

store the received real read request if a match exists; and

store an identifier of one of the plurality of speculative read requests, if a match does not exist, upon determining the one of the plurality of speculative read requests does not correspond to one or more of the received read completion messages.

9. The apparatus of claim 8 , wherein the circuitry is further configured to send, to the device, the received real read request if a match does not exist.

10. The apparatus of claim 9 , wherein the circuitry is further configured to:

check if each of the received read completion messages is responsive to the received real read request or if one of the plurality of speculative read requests corresponds to the one or more received read completion messages;

send, to the endpoint component, each of the received read completion messages responsive to the received real read request; and

translate each of the received read completion messages to match an identifier of a stored real read request for each of the received read completion messages responsive to the speculative read request of the plurality of speculative read requests corresponding to the one or more received read completion messages.

11. The apparatus of claim 7 , wherein the circuitry is configured to generate the plurality of speculative read requests upon reception of a consecutive threshold number of real read requests directed to the same address space.

12. The apparatus of claim 7 , wherein the circuitry is coupled to the device though a distributed peripheral component interconnect express (PCIe) bus.

13. An apparatus for accelerating execution of read operations, comprising:

circuitry coupled to a device, wherein the circuitry is coupled to an endpoint component over a wireless medium and is configured to:

receive a read request from the device;

compute a wait time for transmission of the received read request;

wait for the computed wait time to elapse;

transmit the received read request to the endpoint component once the wait time has elapsed; and

receive a new read request from the device after receiving greater than a threshold number of read completion messages from the device.

14. The apparatus of claim 13 , wherein the wait time is computed as a function of a size of data to be read.

15. The apparatus of claim 13 , wherein the circuitry is coupled to an endpoint component by a distributed peripheral component interconnect express (PCIe) bus.

16. The apparatus of claim 15 , wherein the read request and the read completion messages are encapsulated in transaction layer packets of the distributed PCIe bus.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2014
From: WILOCITY LTD.
To: QUALCOMM ATHEROS, INC.
Reel/Frame 033521/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2014
From: QUALCOMM ATHEROS, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 033521/0834 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2012
From: ELBOIM, YARON; VAYDA, RAN; HAY, RAN ELIYAHU
To: WILOCITY LTD.
Reel/Frame 029515/0121 →
Continuity (2)
Provisional Application 61587460 · Jan 17, 2012
Related Publication 20130185472A1 · Jul 18, 2013