Claims
- 1. A method in a communications device for transmitting packets, the method comprising:
receiving packets, each packet being a control packet or a data packet; storing the received packets in memory of the communications device; selecting the stored packets based on whether the packets are control packets or data packets; retrieving the selected packets from memory of the communications device; and transmitting the retrieved packets in order of their selection.
- 2. The method of claim 1 wherein the memory of the communications device includes a portion for storing data packets and a separate portion for storing control packets.
- 3. The method of claim 2 wherein each portion of the memory is a FIFO buffer.
- 4. The method of claim 1 wherein the communications device has multiple ports and the selecting of the stored packets is performed for packets to be transmitted via the same port.
- 5. The method of claim 1 wherein the packets with a packet type of control include command packets.
- 6. The method of claim 1 wherein the packets with a packet type of control include status packets.
- 7. The method of claim 1 wherein the packets with a packet type of control include message packets.
- 8. The method of claim 1 including:
while transmitting a data packet,
receiving a control packet; interrupting the transmission of the data packet; transmitting the control packet; and after the control packet is transmitted, continuing with the interrupted transmission of the data packet.
- 9. The method of claim 8 wherein each packet has a header and the continuing includes transmitting a header corresponding to the interrupted portion of the data packet.
- 10. The method of claim 8 wherein each packet has a header and the continuing includes transmitting the remainder of the data packet without transmitting a new header.
- 11. The method of claim 8 wherein the interrupting of the transmission includes transmitting a preempt primitive and wherein the continuing with the interrupted transmission includes transmitting a continue primitive.
- 12. The method of claim 1 wherein the communications device is a switch that connects host devices to data store devices.
- 13. The method of claim 1 wherein the communications device is part of a storage area network.
- 14. The method of claim 1 wherein the selecting includes selecting control packets before selecting data packets.
- 15. The method of claim 1 wherein the selecting includes applying a selection algorithm that gives preference to selecting control packets over data packets.
- 16. A method in a communications device for transmitting packets, the method comprising:
receiving packets in an order, each packet being a first packet type or a second packet type; and transmitting the received packets in an order that is different from the order in which the packets were received based on whether the packets are a first packet type or a second packet type.
- 17. The method of claim 16 wherein the first packet type is a data packet and the second packet type is a control packet and control packets are transmitted before data packets.
- 18. The method of claim 17 wherein the transmitting includes selecting control packets before selecting data packets.
- 19. The method of claim 17 wherein the transmitting includes selecting in accordance with a selection algorithm that gives preference to control packets over data packets.
- 20. The method of claim 16 wherein the communications device has multiple ports and wherein the received packets are transmitted via the same port.
- 21. The method of claim 20 wherein the packets are received via a single port.
- 22. The method of claim 20 wherein the packets are received via different ports.
- 23. The method of claim 16 wherein the communications device is a switch that connects host devices to data storage devices.
- 24. The method of claim 16 wherein the communications device is part of a storage area network.
- 25. A communications device comprising:
a memory; a receive component that receives packets and stores the received packets in the memory, each packet being a control packet or a data packet; and a transmit component that retrieves the packets from the memory in an order based on whether the packets are control packets or data packets and that transmits the retrieved packets in order of retrieval.
- 26. The communications device of claim 25 wherein the memory includes a portion for storing data packets and a separate portion for storing control packets.
- 27. The communications device of claim 26 wherein each portion of the memory is a FIFO buffer.
- 28. The communications device of claim 25 including multiple ports, each with a transmit component.
- 29. The communications device of claim 25 wherein the transmit component interrupts transmitting of a data packet to transmit a control packet.
- 30. The communications device of claim 29 wherein transmitting of the interrupted data packet continues after the control packet is transmitted.
- 31. The communications device of claim 30 wherein the interrupting of the transmitting includes transmitting a preempt primitive and wherein the continuing with the interrupted data packet includes transmitting a continue primitive.
- 32. The communications device of claim 25 wherein the communications device is a switch that connects host devices to data store devices.
- 33. The communications device of claim 25 wherein the communications device is part of a storage area network.
- 34. The communications device of claim 25 wherein control packets are retrieved before data packets.
- 35. The communications device of claim 25 wherein packets are retrieved based on a retrieval algorithm that gives preference to retrieving control packets over data packets.
- 36. A communications device comprising:
means for receiving packets in an order, each packet being a first packet type or a second packet type; and means for transmitting the received packets in an order that is different from the order in which the packets were received based on whether the packets are a first packet type or a second packet type.
- 37. The communications device of claim 36 wherein the first packet type is a data packet and the second packet type is a control packet and control packets are transmitted before data packets.
- 38. The communications device of claim 37 wherein the means for transmitting includes selecting control packets before selecting data packets.
- 39. The communications device of claim 36 wherein the communications device is a switch with multiple ports and wherein the retrieved packets are transmitted via the same port.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/252,724 entitled “METHOD AND APPARATUS FOR STORAGE I/O WITH FULL-DUPLEX ONE-TIME BLOCK I/O TRANSFER AND ADAPTIVE PAYLOAD SIZING,” filed Nov. 22, 2000, and is related to U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR PLESIOSYNCHRONOUS COMMUNICATIONS WITH NULL INSERTION AND REMOVAL” (Attorney Docket No. 371798002US); U.S. patent application Ser. No. ______, entitled “METHOD AND SYSTEM FOR TRANSITION-CONTROLLED SELECTIVE BLOCK INVERSION COMMUNICATIONS” (Attorney Docket No. 371798007US); U.S. patent application Ser. No. ______ entitled “COMMUNICATIONS ARCHITECTURE FOR STORAGE-BASED DEVICES” (Attorney Docket No. 371798008US1); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR PACKET ORDERING BASED ON PACKET TYPE” (Attorney Docket No. 371798013US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR HOST HANDLING OF COMMUNICATIONS ERRORS” (Attorney Docket No. 371798014US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR DYNAMIC SEGMENTATION OF COMMUNICATIONS PACKETS” (Attorney Docket No. 371798015US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR ASYMMETRIC PACKET ORDERING BETWEEN COMMUNICATIONS DEVICES” (Attorney Docket No. 371798016US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR COMMUNICATING CONTROL INFORMATION VIA OUT-OF-BAND SYMBOLS” (Attorney Docket No. 371798017US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR INTEGRATING PACKET TYPE INFORMATION WITH SYNCHRONIZATION SYMBOLS” (Attorney Docket No. 371798018US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR NESTING OF COMMUNICATIONS PACKETS” (Attorney Docket No. 371798019US); U.S. patent application Ser. No. ______ entitled “COMMUNICATIONS ARCHITECTURE FOR MEMORY-BASED DEVICES” (Attorney Docket No. 371798012US); U.S. patent application Ser. No. ______ entitled “METHOD AND SYSTEM FOR DC-BALANCING AT THE PHYSICAL LAYER” (Attorney Docket No. 371798020US); and U.S. patent application Ser. No. ______ entitled “MULTISECTION MEMORY BANK SYSTEM” (Attorney Docket No. 371798021US, which are all hereby incorporated by reference in their entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60252724 |
Nov 2000 |
US |