IP Library Granted Patent US 8,867,537
Granted Patent B1
US 8,867,537 · App. 13/610,095 · Granted Oct 21, 2014

Method and system for processing network packets

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,867,537
App. No.
13/610,095
Granted
Oct 21, 2014
Kind
B1
Abstract

A method for writing information to a first memory location controlled by a first computing system from a second memory location controlled by a second computing system that interfaces with the first computing system via a network connection is provided.

Claims (48)

1. A method for performing a read operation, the method comprising:

a first computing system registering a first memory buffer with a first network device, and a second computing system registering a second memory buffer with a second network device;

providing a first unique identifier for the first memory buffer, and a second unique identifier for the second memory buffer;

the second computing system advertising the second memory buffer to the first computing system;

the first computing system generating a read request to read information from a memory location and an untagged buffer PDU (Protocol Data Unit);

the first computing system sending the read request and the untagged buffer PDU to the second computing system;

transferring data from the second buffer to a tagged buffer PDU;

sending the tagged buffer PDU to the first computing system;

moving a payload of the tagged buffer PDU directly to the first memory buffer;

notifying the first computing system that the payload of the tagged buffer PDU has been moved to the first memory buffer, and creating an untagged buffer acknowledgement PDU; and

sending the untagged buffer acknowledgement PDU to the second computing system.

2. The method of claim 1 , wherein the first network device is a remote direct memory access (RDMA) enabled network interface card (RNIC) of the first computing system, and the first RNIC provides the first unique identifier, and the second network device is a second RNIC of the second computing system, where the second RNIC provides the second unique identifier.

3. The method of claim 1 , wherein an RNIC of the first computing system creates the untagged buffer PDU.

4. The method of claim 1 , wherein the untagged buffer PDU includes the first and second unique identifiers.

5. The method of claim 1 , wherein at least one check is performed prior to transferring the data from the second buffer to the tagged buffer PDU.

6. The method of claim 5 , wherein the at least one check includes at least one of CRC (Cyclic Redundancy Check), checking the first and/or second unique identifiers, and checking an offset.

7. The method of claim 1 , wherein the first network device of the first computing system notifies the first computing system that the payload of the tagged buffer PDU has been moved to the first memory buffer.

8. The method of claim 1 , wherein the tagged buffer PDU sent to the first computing system is sent to the first network device of the first computing system.

9. The method of claim 1 , further comprising:

adding the sent read request PDU to a send timer list;

queuing a read response in the send timer list;

removing the read request from the send timer list; and

after the untagged buffer acknowledgement PDU is received, removing the read request from the send timer list;

wherein the second network device of the second computing system removes the read response that was added to the send timer list.

10. A system for performing a read operation, the system comprising:

a first computing system having a first memory buffer with a first unique identifier, and a second computing system having a second memory buffer with a second unique identifier;

wherein the system is configured to

advertise the second memory buffer to the first computing system;

generate a read request to read information from a memory location and an untagged buffer PDU (Protocol Data Unit) in the first computing system, and send the read request and the untagged buffer PDU to the second computing system;

transfer data from the second buffer to a tagged buffer PDU;

send the tagged buffer PDU to the first computing system;

move a payload of the tagged buffer PDU directly to the first memory buffer;

notify the first computing system that the payload of the tagged buffer PDU has been moved to the first memory buffer, and create an untagged buffer acknowledgement PDU; and

send the untagged buffer acknowledgement PDU to the second computing system.

11. The system of claim 10 , further comprising a first network device of the first computing system and a second network device of the second computing system.

12. The system of claim 11 , wherein the first network device is a remote direct memory access (RDMA) enabled network interface card (RNIC), and the first RNIC provides the first unique identifier, and the second network device is a second RNIC, and the second RNIC provides the second unique identifier.

13. The system of claim 11 , wherein an RNIC of the first computing system creates the untagged buffer PDU.

14. The system of claim 10 , wherein the untagged buffer PDU includes the first and second unique identifiers.

15. The system of claim 10 , wherein at least one check is performed prior to transferring the data from the second memory buffer to the tagged buffer PDU.

16. The system of claim 15 , wherein the at least one check includes at least one of CRC (Cyclic Redundancy Check), checking the first and/or second unique identifiers, and checking an offset.

17. The system of claim 11 , wherein the first network device notifies the first computing system that the payload of the tagged buffer PDU has been moved to the first memory buffer.

18. The system of claim 11 , wherein the tagged buffer PDU sent to the first computing system is sent to the first network device.

19. The system of claim 10 , further comprising:

adding the sent read request PDU to a send timer list;

queuing a read response in the send timer list;

removing the read request from the send timer list; and

after the untagged buffer acknowledgement PDU is received, removing the read request from the send timer list;

wherein the second network device of the second computing system removes the read response that was added to the send timer list.

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 Feb 18, 2014
From: MICALIZZI, CHARLES, JR.
To: QLOGIC, CORPORATION
Reel/Frame 032234/0493 →