Transfer ready frame reordering
First Claim
1. A method comprising:
- receiving a plurality of information units each comprising one or more frames destined for a first device, wherein the plurality of information units includes one or more transfer ready information units and one or more non-transfer-ready information units, and wherein at least one of the one or more non-transfer-ready information units is received before the one or more transfer ready information units;
adding the plurality of information units to at least one buffer, wherein the at least one buffer is configured to queue information units destined for the first device; and
conveying the queued plurality of information units from the at least one buffer to the first device;
wherein, in said conveying, the one or more transfer ready information units are conveyed to the first device prior to the one or more non-transfer-ready information units.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method for reordering received frames to ensure that transfer ready (XFER_RDY) frames among the received frames are handled at higher priority, and thus with lower latency, than other frames. In one embodiment, an output that is connected to one or more devices may be allocated an additional queue specifically for XFER_RDY frames. Frames on this queue are given a higher priority than frames on the normal queue. XFER_RDY frames are added to the high priority queue, and other frames to the lower priority queue. XFER_RDY frames on the higher priority queue are forwarded before frames on the lower priority queue. In another embodiment, a single queue may be used to implement XFER_RDY reordering. In this embodiment, XFER_RDY frames to be inserted in front of other types of frames in the queue.
-
Citations
70 Claims
-
1. A method comprising:
-
receiving a plurality of information units each comprising one or more frames destined for a first device, wherein the plurality of information units includes one or more transfer ready information units and one or more non-transfer-ready information units, and wherein at least one of the one or more non-transfer-ready information units is received before the one or more transfer ready information units;
adding the plurality of information units to at least one buffer, wherein the at least one buffer is configured to queue information units destined for the first device; and
conveying the queued plurality of information units from the at least one buffer to the first device;
wherein, in said conveying, the one or more transfer ready information units are conveyed to the first device prior to the one or more non-transfer-ready information units. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method comprising:
-
a first device sending a data read command to a second device;
the first device sending a data write command to the second device;
the second device sending one or more read data information units to the first device in response to the data read command, wherein the one or more read data information units each comprise a portion of read data requested in the data read command;
the second device sending a transfer ready information unit to the first device in response to the data write command, wherein the transfer ready information unit indicates that the second device is ready to receive write data from the first device;
receiving the one or more read data information units and the transfer ready information unit destined for the first device, wherein at least one of the one or more read data information units is received before the transfer ready information unit;
adding the one or more read data information units and the transfer ready information unit to at least one buffer, wherein the at least one buffer is configured to queue information units destined for the first device; and
conveying the one or more read data information units and the transfer ready information unit from the at least one buffer to the first device;
wherein, in said conveying, the transfer ready information unit is conveyed to the first device prior to the one or more read data information units. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A device comprising:
-
a first port operable to couple to a first device;
a second port operable to couple to a second device and configured to receive a plurality of information units each comprising one or more frames sent from the second device and destined for the first device, wherein the plurality of information units includes one or more transfer ready information units and one or more non-transfer-ready information units, and wherein at least one of the one or more non-transfer-ready information units is received by the device before the one or more transfer ready information units;
a memory comprising at least one buffer operable to queue information units in transit between the first and second ports of the device;
distribution logic coupled between the first port and the memory and configured to add the plurality of information units to the at least one buffer; and
scheduler logic coupled between the memory and the second port and configured to convey the queued plurality of information units from the at least one buffer to the first device;
wherein, in said conveying, the scheduler logic is further configured to convey the one or more transfer ready information units to the first device prior to conveying the one or more non-transfer-ready information units. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A network switch comprising:
-
a plurality of ports, wherein the plurality of ports comprises;
a first port operable to couple to a first device; and
a second port operable to couple to a second device and configured to receive a plurality of information units each comprising one or more frames sent from the second device and destined for the first device, wherein the plurality of information units includes one or more transfer ready information units and one or more non-transfer-ready information units, and wherein at least one of the one or more non-transfer-ready information units is received by the device before the one or more transfer ready information units;
a memory comprising at least one buffer operable to queue information units in transit between the first and second ports of the device;
logic means coupled between the first port and the second port and configured to;
add the plurality of information units to the at least one buffer; and
convey the queued plurality of information units from the at least one buffer through the first port to the first device, wherein the one or more transfer ready information units are conveyed to the first device prior to conveying the one or more non-transfer-ready information units. - View Dependent Claims (43, 44, 45)
-
-
46. A system comprising:
-
a first device;
a second device; and
a third device operable to couple to the first device and to the second device, wherein information units in transit between the first and second devices are conveyed through the third device, and wherein the third device comprises at least one buffer operable to queue information units in transit between the first and second devices;
wherein the first device is configured to;
send one or more data read commands to the second device; and
send one or more data write commands to the second device;
wherein the second device is configured to;
send one or more read data information units to the first device in response to the one or more data read commands, wherein the one or more read data information units each comprise a portion of read data requested in the one or more data read commands; and
send one or more transfer ready information units to the first device in response to the one or more data write commands, wherein each transfer ready information unit indicates that the second device is ready to receive write data from the first device;
wherein the third device is configured to;
receive the one or more read data information units and the one or more transfer ready information units destined for the first device, wherein at least one of the one or more read data information units is received before the one or more transfer ready information units;
add the one or more read data information units and the one or more transfer ready information units to the at least one buffer; and
convey the one or more read data information units and the one or more transfer ready information units from the at least one buffer to the first device;
wherein, in said conveying, the one or more transfer ready information units are conveyed to the first device prior to the one or more read data information units. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A storage area network comprising:
-
a device comprising at least one buffer operable to queue information units in transit on the storage area network;
a plurality of storage devices coupled to the device; and
a host bus adapter coupled to the device;
wherein the device is configured to;
receive from the plurality of storage devices a plurality of information units destined for the host bus adapter, wherein the plurality of information units includes one or more transfer ready information units and one or more non-transfer-ready information units, and wherein at least one of the one or more non-transfer-ready information units is received by the device before the one or more transfer ready information units;
add the plurality of information units to the at least one buffer; and
convey the queued plurality of information units from the at least one buffer to the host bus adapter;
wherein, in said conveying, the device is further configured to convey the one or more transfer ready information units to the host bus adapter prior to conveying the one or more non-transfer-ready information units to the host bus adapter. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66)
-
-
67. A carrier medium comprising program instructions executable within a network switch, wherein the program instructions are executable to implement:
-
receiving a plurality of information units each comprising one or more frames destined for a first device coupled to the network switch, wherein the plurality of information units includes one or more transfer ready information units and one or more non-transfer-ready information units, and wherein at least one of the one or more non-transfer-ready information units is received before the one or more transfer ready information units;
adding the plurality of information units to at least one buffer on the network switch, wherein the at least one buffer is configured to queue information units destined for the first device; and
conveying the queued plurality of information units from the at least one buffer to the first device;
wherein, in said conveying, the one or more transfer ready information units are conveyed to the first device prior to the one or more non-transfer-ready information units. - View Dependent Claims (68, 69, 70)
-
Specification