Claims
- 1. In a shared I/O subsystem having a plurality of I/O interfaces for coupling a plurality of computer systems, each of I/O interfaces communicatively coupling one of the computer systems to the shared I/O subsystem, a method comprising:
receiving, at a first one of the I/O interfaces, a data packet from one of the computer systems coupled to the first one of the I/O interfaces, the data packet having a variable length; arranging, at the first one of the I/O interfaces, the data packet into an internal format, the internal format having a first portion that includes data bits and a second portion that includes control bits; receiving the data packet in a buffer in the shared I/O subsystem, wherein the second portion is received after the first portion; verifying, with the shared I/O subsystem, that the data packet has been completely received by the buffer by monitoring a memory bit aligned with a final bit in the second portion of the data packet; and transmitting, in response to the verifying, the data packet to another one of the computer systems coupled to a second one of the I/O interfaces.
- 2. The method of claim 1, wherein at least one of the computer systems coupled to one of the I/O interfaces is a System Area Network.
- 3. The method of claim 1, wherein at least one of the computer systems coupled to one of the I/O interfaces is a Storage Area Network.
- 4. The method of claim 1, wherein at least one of the computer systems coupled to one of the I/O interfaces is a server.
- 5. The method of claim 1, wherein at least one of the computer systems coupled to one of the I/O interfaces is an InfiniBand network.
- 6. The method of claim 1, wherein the data packet received is an Ethernet frame.
- 7. The method of claim 1, wherein the internal format follows an InfiniBand protocol.
- 8. The method of claim 1, wherein the computer systems include two or more servers, and wherein one of the servers uses an operating system that is different from an operating system used by one other of the servers.
- 9. The method of claim 1, wherein at least one of the I/O interfaces is operatively coupled to at least one of a network, an appliance, and a device.
- 10. The method of claim 9, wherein the network is an InterProcess Communications Network.
- 11. The method of claim 9, wherein the network is a Local Area Network.
- 12. The method of claim 9, wherein the network is a Wide Area Network.
- 13. The method of claim 9, wherein the network is a Metropolitan Area Network.
- 14. The method of claim 1, wherein the computer systems are interconnected to the shared I/O subsystem by a switching fabric.
- 15. The method of claim 14, wherein the switching fabric comprises a high speed, high bandwidth, and low latency fabric.
- 16. The method of claim 15, wherein the switching fabric uses an InfiniBand protocol.
- 17. The method of claim 1, wherein at least one of the I/O interfaces is a virtual port.
- 18. The method of claim 1, wherein at least one of the I/O interfaces is a network adapter.
- 19. A shared I/O subsystem for a plurality of computer systems, comprising:
a plurality of I/O interfaces, each of the I/O interfaces communicatively coupling one of the computer systems to the shared I/O subsystem, wherein a first one of the I/O interfaces receives a data packet from one of the computer systems coupled to the first one of the I/O interfaces, the data packet having a variable length, and wherein the data packet is arranged into an internal format, the internal format having a first portion that includes data bits and a second portion that includes control bits; and a buffer receiving the data packet, wherein the second portion is received after the first portion; wherein the shared I/O subsystem verifies that the data packet has been completely received by the buffer by monitoring a memory bit aligned with a final bit in the second portion of the data packet, and wherein the shared I/O subsystem transmits, in response to the verifying, the data packet to another one of the computer systems coupled to a second one of the I/O interfaces.
- 20. A shared I/O subsystem having a plurality of I/O interfaces for coupling a plurality of computer systems, each of I/O interfaces communicatively coupling one of the computer systems to the shared I/O subsystem, comprising:
means for receiving, at a first one of the I/O interfaces, a data packet from one of the computer systems coupled to the first one of the I/O interfaces, the data packet having a variable length; means for arranging, at the first one of the I/O interfaces, the data packet into an internal format, the internal format having a first portion that includes data bits and a second portion that includes control bits; means for receiving the data packet in a buffer in the shared I/O subsystem, wherein the second portion is received after the first portion; means for verifying, with the shared I/O subsystem, that the data packet has been completely received by the buffer by monitoring a memory bit aligned with a final bit in the second portion of the data packet; and means for transmitting, in response to the verifying, the data packet to another one of the computer systems coupled to a second one of the I/O interfaces.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to provisional patent application No. 60/380,070, entitled “Shared I/O Subsystem”, filed May 6, 2002, incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60380071 |
May 2002 |
US |