IP Library Granted Patent US 8,976,667
Granted Patent B1
US 8,976,667 · App. 13/678,145 · Granted Mar 10, 2015

Method and system for programmable delay before transmission pausing

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 8,976,667
App. No.
13/678,145
Granted
Mar 10, 2015
Kind
B1
Abstract

Method and system for maximizing data transmission between a first network device and a second network device connected to a network, is provided. A data transmission pause request received from a port of the first network device by a port of the second network device. The process then determines if the first network device's port can receive additional data; and transmits additional data to the first network device from the second network device if the first network device's port can receive additional data.

Claims (34)

1. A method for maximizing data transmission between a first network device connected to a second network device, comprising:

receiving a pause request packet from a port of the first network device at a port of the second network device;

determining if the port of the first network device can receive additional data; and

delaying transmission pause and transmitting additional data to the first network device from the second network device if the port of the first network device can receive additional data.

2. The method of claim 1 , wherein delaying transmission pause and transmitting additional data further comprises: transmitting data from the port of the second network device to the port of the first network device before the second network device has to stop transmitting data.

3. The method of claim 1 , wherein determining if the port of the first network device can receive additional data further comprises:

determining how much data was on a link between the first network device and the second network device when the pause request packet was received by the second network device; and

determining remaining capacity of a receive buffer of the port of the first network device.

4. The method of claim 1 , further comprising:

determining if data remains to be transmitted from the second network device to the first network device; and

transmitting only as much data from the second network device to the first network device as will not overflow a receive buffer of the port of the first network device.

5. The method of claim 1 , further comprising:

determining if data remains to be transmitted from the second network device to the first network device; and

transmitting only as much data from the second network device to the first network device as can be sent within a period of time before the second network device has to stop transmitting data.

6. The method of claim 1 , wherein the first network device is an adapter and the second network device is a switch element.

7. A system for maximizing data transmission on a network link, comprising:

a first network device coupled to a network via the network link; and

a second network device coupled to the network;

wherein the second network device receives a pause request packet from the first network device and determines if the first network device can receive additional data within a fixed quanta, based on a determination of remaining capacity in a receive buffer of the first network device, and wherein the second network device implements the transmission pause request within the fixed quanta but transmits additional data to the first network device when there is remaining capacity in the receive buffer.

8. The system of claim 7 , wherein the second network device includes a delay timer providing how much time remains to transmit data to the first network device before the second network device has to stop transmitting data.

9. The system of claim 7 , wherein the second network device determines how much data already sent to the first network device has yet to be received by the first network device.

10. The system of claim 7 , wherein the second network device determines how much data remains in a transmit buffer to be sent to the first network device, how much data remaining in the transmit buffer can be received by the first network device within the fixed quanta, and how much of the data remaining in the transmit buffer can be sent without exceeding remaining capacity in the receive buffer.

11. The system of claim 7 , wherein the first network device is an adapter and the second network device is a switch element.

12. A network device for maximizing data transmission coupled to a network via a network link, comprising:

a processor for executing firmware code; and

a port for receiving and transmitting frames;

wherein the network device receives a pause request packet from a destination network device and determines if the destination network device can receive additional data within a fixed quanta, based on a determination of remaining capacity in a receive buffer of the destination network device and wherein the source network device implements the transmission pause request within the fixed quanta but transmits additional data to the destination network device when there is remaining capacity in the receive buffer.

13. The network device of claim 12 , where the network device includes a delay timer providing how much time remains to transmit data to the destination network device before the source network device has to stop transmitting data.

14. The network device of claim 12 , wherein the network device determines how much data already sent to the destination network device has yet to be received by the destination network device.

15. The network device of claim 12 , wherein the source network device determines how much data remains in a transmit buffer to be sent to the destination network device, how much data remaining to be transmitted can be received by the destination network device within the fixed quanta, and how much of the data remaining in the transmit buffer can be sent without exceeding remaining capacity in the receive buffer.

16. The network device of claim 12 , wherein the network device comprises a switch element.

17. The network device of claim 12 , wherein the port includes a plurality of sub-ports configured to operate independently for sending and receiving information at a plurality of rates complying with a plurality of protocols.

18. The network device of claim 17 , wherein one of the plurality of sub-ports is configured to operate as a Fibre Channel port.

19. The network device of claim 17 , wherein one of the plurality of sub-ports is configured to operate as an Ethernet or Fibre Channel over Ethernet port.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
MERGER Recorded Oct 18, 2017
From: QLOGIC CORPORATION
To: CAVIUM, INC.
Reel/Frame 044812/0504 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2012
From: DROPPS, FRANK R.
To: QLOGIC, CORPORATION
Reel/Frame 029306/0026 →