IP Library Granted Patent US 7,818,470
Granted Patent B2
US 7,818,470 · App. 11/863,192 · Granted Oct 19, 2010

Adaptive interrupt on serial rapid input/output (SRIO) endpoint

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 7,818,470
App. No.
11/863,192
Granted
Oct 19, 2010
Kind
B2
Abstract

A serial buffer is configured to transmit a plurality of received data packets through a data packet transfer path to a host processor. A doorbell controller of the serial buffer monitors the number of data packets transmitted to the host processor through the data packet transfer path, and estimates the number of data packets actually received by the host processor. The doorbell controller generates a doorbell command each time that the estimated number of data packets corresponds with a fixed number of data packets in a frame. The doorbell commands are transmitted to the host processor on a doorbell command path, which is faster than the data packet transfer path. The doorbell controller may estimate the number of data packets actually received by the host processor in response to a first delay value, which represents how much faster the doorbell command path is than the data packet transfer path.

Claims (28)

1. A serial buffer comprising:

a data packet transfer path configured to transmit a plurality of received data packets to a host processor; and

a doorbell controller configured to monitor a number of data packets transmitted to the host processor on the data packet transfer path, estimate a number of data packets actually received by the host processor, and generate a doorbell command each time that the estimated number of data packets corresponds with a frame of data packets.

2. The serial buffer of claim 1 , wherein the doorbell controller transmits the doorbell commands to the host processor on a doorbell command path, which is faster than the data packet transfer path, wherein the doorbell controller is configured to estimate the number of data packets actually received by the host processor in response to a first delay value that represents how much faster the doorbell command path is than the data packet transfer path.

3. The serial buffer of claim 2 ,

wherein the first delay value is specified in units that are defined by a time required to transmit a data packet through the data packet transfer path.

4. The serial buffer of claim 2 , wherein the doorbell controller is configured to generate a first doorbell command upon determining that a number of data packets transmitted to the host processor on the data packet transfer path is greater than a number of data packets in a frame of data packets.

5. The serial buffer of claim 4 , wherein the doorbell controller is further configured to generate a second doorbell command upon determining that an additional number of data packets transmitted to the host processor on the data packet transfer path is equal to the number of data packets in a frame of data packets.

6. The serial buffer of claim 2 , wherein the first delay value is dynamically adjustable in response an offset adjust signal that is representative of a number of data packets actually received by the host processor when a corresponding doorbell command is received by the host processor.

7. The serial buffer of claim 1 , wherein the data packet transfer path comprises a plurality of queues configured to store received data packets.

8. The serial buffer of claim 7 , wherein each of the queues has a corresponding water mark and a corresponding water level indicating a number of stored data packets to be transmitted, wherein each of the queues also includes means for indicating when the corresponding water level reaches the corresponding water mark.

9. The serial buffer of claim 7 , wherein each of the queues corresponds with a different channel within the serial buffer.

10. A method of operating a serial buffer comprising:

transmitting a plurality of received data packets through a data packet transfer path of a serial buffer to a host processor;

monitoring a number of data packets transmitted to the host processor through the data packet transfer path;

estimating a number of data packets actually received by the host processor from the data packet transfer path; and

generating a doorbell command with the serial buffer each time that the estimated number of data packets corresponds with a number of data packets in a frame of data packets.

11. The method of claim 10 , further comprising:

transmitting the doorbell command to the host processor on a doorbell command path, which is faster than the data packet transfer path; and

estimating the number of data packets actually received by the host processor in response to a first delay value that represents how much faster the doorbell command path is than the data packet transfer path.

12. The method of claim 11 , further comprising specifying the first delay value in units that are defined by a time required to transmit a data packet through the data packet transfer path.

13. The method of claim 11 , further comprising generating a first doorbell command upon determining that a number of data packets transmitted to the host processor on the data packet transfer path is greater than a number of data packets in a frame of data packets.

14. The method of claim 13 , further comprising generating a second doorbell command upon determining that an additional number of data packets transmitted to the host processor on the data packet transfer path is equal to the number of data packets in a frame of data packets.

15. The method of claim 11 , further comprising dynamically adjusting the first delay value in response an offset adjust signal that is representative of a number of data packets actually received by the host processor when a corresponding doorbell command is received by the host processor.

16. The method of claim 15 , further comprising selecting the offset adjust signal to reduce the first delay value when the number of data packets actually received by the host processor when the corresponding doorbell command is received by the host processor is greater than the estimated number of data packets.

17. The method of claim 15 , further comprising selecting the offset adjust signal to increase the first delay value when the number of data packets actually received by the host processor when the corresponding doorbell command is received by the host processor is less than the estimated number of data packets.

18. The method of claim 10 , further comprising storing the plurality of received data packets in one or more queues located in the data packet transfer path.

19. The method of claim 18 , further comprising initiating the transfer of data packets from a queue when a water level of the queue reaches a corresponding water level of the queue.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2025
From: RENESAS ELECTRONICS AMERICA INC.
To: AXIRO SEMICONDUCTOR INC.
Reel/Frame 070864/0142 →
MERGER Recorded Apr 15, 2025
From: INTEGRATED DEVICE TECHNOLOGY, INC.
To: RENESAS ELECTRONICS AMERICA INC.
Reel/Frame 070851/0391 →
RELEASE OF SECURITY INTEREST Recorded Mar 29, 2019
From: JPMORGAN CHASE BANK, N.A.
To: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; CHIPX, INCORPORATED; ENDWAVE CORPORATION; MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 048746/0001 →
SECURITY AGREEMENT Recorded Apr 5, 2017
From: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; MAGNUM SEMICONDUCTOR, INC.; ENDWAVE CORPORATION; CHIPX, INCORPORATED
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042166/0431 →