IP Library Granted Patent US 8,055,726
Granted Patent B1
US 8,055,726 · App. 11/555,180 · Granted Nov 8, 2011

Method and system for writing network data

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,055,726
App. No.
11/555,180
Granted
Nov 8, 2011
Kind
B1
Abstract

Method and system for writing data in a network is provided. The method includes receiving an original write command from a host system to write data to a target; sending a command notifying the host system to send data, wherein a local router sends the command to the host system; receiving data from the host system, wherein the local router receives data; segmenting the original write command into a plurality of write commands; sending the plurality of write commands with data to a remote router; sending a status command to the local router for the plurality of write commands except for a first write command; assembling the plurality of write commands with data to a single write command, wherein the remote router assembles the plurality of write commands with data; and sending the single write command to the target.

Claims (31)

1. A method for writing data in a network having a host system communicating with a target via a local router and a remote router, comprising:

(a) receiving an original write command from the host system to write data to the target; wherein the local router receives the original write command;

(b) sending a command notifying the host system that the target is ready to receive the data, wherein the local router sends the command to the host system instead of waiting for the target to respond and the host system is unaware that the local router sent the command;

(c) receiving data from the host system, wherein the local router receives the data from the host system;

(d) segmenting the original write command and the data into a plurality of segmented write commands and segmented data; wherein the local router segments the original write command and the data into a number of segments with each segment including a segmented write command from the plurality of write commands, and segmented data; where a segment size for each segment and the number of segments depend on a transfer size negotiated between the local router and the remote router;

(e) sending the plurality of segmented write commands with the segmented data to the remote router;

(f) sending a first status command to the local router for all of the plurality of segmented write commands except for a first write command from among the plurality of segmented write commands of step (d); wherein the remote router sends the first status command to the local router;

(g) assembling the plurality of segmented write commands with the segmented data to a single write command, wherein the remote router assembles the plurality of segmented write commands with the segmented data;

(h) sending the single write command to the target; wherein the remote router sends the single write command to the target;

(i) sending the data to the target after receiving a command from the target notifying the remote router that the target is ready to receive the data;

(j) sending a second status command to the local router, wherein the remote router sends the second status command; and

(k) sending the second status command to the host system, wherein the local router sends the second status command.

2. The method of claim 1 , wherein the original write command from the host system is a SCSI write command data block.

3. The method of claim 1 , wherein the command from the local router to the host system notifying the host system that the target is ready to receive data is a XFER_RDY command.

4. The method of claim 1 , wherein data transfer from the host system to the target occurs with single round trip delay.

5. The method of claim 1 , wherein the host system communicates with the local router via a network interface.

6. The method of claim 1 , wherein the local router uses a header for the plurality of segmented write commands and one of the plurality of segmented write commands includes the original write command.

7. The method of claim 1 , wherein the local router and the remote router each include a processor and at least two ports to support network communication.

8. A network system, comprising:

a host system for sending an original write command to write data to a target; and

a local router that receives the original write command and instead of waiting for the target to respond, the local router sends a command to the host system notifying the host system that the target is ready to receive data and the host system is unaware that the local router sent the command, instead of the target;

wherein the host system sends the data to the local router; and the local router (i) segments the original write command and the data into a number of segments with each segment including a segmented write command from a plurality of segmented write commands, and segmented data; and (ii) sends the plurality of segmented write commands and the segmented data to a remote router;

wherein the number of segments and a segment size depend on a transfer size negotiated between the local router and the remote router; and

wherein the remote router (i) sends a first status command to the local router for all the plurality of segmented write commands except for a first write command from among the plurality of segmented write commands; (ii) assembles the plurality of segmented write commands and segmented data to a single write command and data: (iii) sends the single write command to the target; (iv) sends data to the target after receiving a command from the target notifying the remote router that the target is ready to receive data; and (v) sends a second status command to the local router that sends the second status command to the host system.

9. The network system of claim 8 , wherein the remote router sends a status command to the local router after the data is sent to the target.

10. The network system of claim 8 , wherein the write command from the host system is a SCSI write command data block.

11. The network system of claim 8 , wherein the command from the local router to the host system notifying the host system that the target is ready to receive data is a XFER_RDY primitive.

12. The network system of claim 8 , wherein the data transfer occurs with single round trip delay.

13. The network system of claim 8 , wherein the host system communicates with the local router via a network interface.

14. The network system of claim 8 , wherein the local router uses a header for the plurality of segmented write commands and one of the plurality of segmented write commands includes the original write command.

15. The network system of claim 8 , wherein the local router and the remote router each include a processor and at least two ports to support network communication.

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 1, 2006
From: SHAH, SHISHIR
To: QLOGIC, CORPORATION
Reel/Frame 018466/0111 →