摘要:
A plurality of PCIe switch complexes are interposed between a plurality of I/O devices and a plurality of microprocessor complexes. Each PCIe switching complex comprises a plurality of PCIe switches wherein each switch possesses at least one non-transparent port. The non-transparent port is used to cross-couple each PCIe switch creating an active matrix of paths between the HBAs associated with each I/O device and each microprocessor. The paths between each HBA (I/O device) and each microprocessor are mapped using a recursive algorithm providing each I/O device with direct memory access to each microprocessor.
摘要:
A plurality of PCIe switch complexes are interposed between a plurality of I/O devices and a plurality of microprocessor complexes. Each PCIe switching complex comprises a plurality of PCIe switches wherein each switch possesses at least one non-transparent port. The non-transparent port is used to cross-couple each PCIe switch creating an active matrix of paths between the HBAs associated with each I/O device and each microprocessor. The paths between each HBA (I/O device) and each microprocessor are mapped using a recursive algorithm providing each I/O device with direct memory access to each microprocessor.
摘要:
Data buffering allocation in a microprocessor complex for a request of memory allocation is supported through a remote buffer batch allocation protocol. The separation of control and data placement allows simultaneous maximization of microprocessor complex load sharing, and minimization of inter-processor signaling/metadata migration. Separating processing control from data placement allows the location of data buffering to be chosen so as to maximize bus bandwidth utilization and achieve non-blocking switch behavior. This separation reduces the need for inter-processor communication and associated interrupts thus improving computation efficiency and performance.
摘要:
Data buffering allocation in a microprocessor complex for a request of memory allocation is supported through a remote buffer batch allocation protocol. The separation of control and data placement allows simultaneous maximization of microprocessor complex load sharing, and minimization of inter-processor signaling/metadata migration. Separating processing control from data placement allows the location of data buffering to be chosen so as to maximize bus bandwidth utilization and achieve non-blocking switch behavior. This separation reduces the need for inter-processor communication and associated interrupts thus improving computation efficiency and performance.
摘要:
Dual ported Input/Output (“I/O”) routers couple I/O devices to a cross-coupled switching fabric providing multiple levels of data path redundancy. Each I/O router possesses two or more internal ports allowing each I/O router to access multiple switches in a cross-coupled switching fabric. The additional redundant paths between each I/O device and each microprocessor complex provide additional means to balance data traffic and thereby maximize bandwidth utilization. I/O routers can be interleaved with single HBAs establishing access a switching fabric that uses cross-coupled nontransparent ports thus providing each I/O device with multiple paths upon which to pass data. Data paths are identified by a recursive address scheme that uniquely identifies each data path option available to each I/O device.
摘要:
In one of many embodiments, an InfiniBand network architecture is provided where a router circuitry communicates data between a host and a target device where the router circuitry includes circuitry for generating an external queue pair (QP) for establishing communication between the router circuitry and the host through a reliable connection (RC) session. The router circuitry also includes circuitry for generating internal queue pairs where the internal queue pairs establishes communication between the router circuitry and a device controller, between the between the device controller and the target device, and between the router circuitry and the target device by using reliable connection (RC) sessions. The router circuitry also includes mapping circuitry capable of establishing data destinations in communications between the target and the host. The internal queue pairs are coupled with the external queue pair through the mapping circuitry.
摘要:
A network system for actively controlling congestion to optimize throughput is provided. The network system includes a sending host which is configured to send packet traffic at a set rate. The network system also includes a sending switch for receiving the packet traffic. The sending switch includes an input buffer for receiving the packet traffic at the set rate where the input buffer is actively monitored to ascertain a capacity level. The sending switch also includes code for setting a probability factor that is correlated to the capacity level where the probability factor increases as the capacity level increases and decreases as the capacity level decreases. The sending switch also has code for randomly generating a value where the value is indicative of whether packets being sent by the sending switch are to be marked with a congestion indicator. The sending switch also includes transmit code that forwards the packet traffic out of the sending switch where the packet traffic includes one of marked packets and unmarked packets. The network system also has a receiving end which is the recipient of the packet traffic and also generates acknowledgment packets back to the sending host where the acknowledgment packets are marked with the congestion indicator when receiving marked packets and are not marked with the congestion indicator when receiving unmarked packets. In another example, the sending host is configured to monitor the acknowledgment packets and to adjust the set rate based on whether the acknowledgment packets are marked with the congestion indicator. In a further example, the set rate is decreased every time one of the marked packets is detected and increased when no marked packets are detected per round trip time (PRTT).
摘要:
A method for processing storage data that is to be communicated over a network is provided. Initially, storage data to be transmitted over a network is provided. Once the data is provided, the method includes serializing the storage data using storage encapsulation protocol headers to generate serialized storage data. Then, the serialized storage data is encapsulated using a simple transport protocol to generate simple transport protocol data segments of the storage data. At this point, each of the simple transport protocol data segments are encapsulated into Ethernet frames. The Ethernet frames can then be communicated over standard Ethernet hubs and switches to enable communication to a selected storage target. In one example, the storage data is provided in the form of SCSI data, ATAPI data, and the like. This data can then be communicated to any storage target that may be connected to the network that is capable of processing the storage data.
摘要:
A method for processing data packets received at a computing system is provided. The method includes receiving a data packet and processing lower layer protocol headers of the data packet to expose overlying headers of the data packet. The overlying headers in a shared hardware component capable of executing header data for a transmission control protocol (TCP) communication and a storage transport protocol (STP) communication are processed. The header data for the TCP communication and the STP communication are positioned into standard header field locations. It is determined whether the data packet is from the TCP communication or the STP communication. If the data packet is from the TCP communication the processing of the overlying headers of the data packet separately in TCP processing is completed. If the data packet is from the STP communication, the processing of the overlying headers of the data packet separately in STP processing is completed.
摘要:
An Ethernet storage protocol (ESP) enabled network is provided. The network includes a host computer having host interface circuitry for communicating data in an Ethernet network, and the host interface circuitry is configured to receive parallel data from the host computer provided in accordance with a peripheral device protocol, serialize the parallel data, and encapsulate the serialized parallel data into Ethernet frames for transmission over the Ethernet network. The network also includes a target having target interface circuitry for communicating data in the Ethernet network. The target interface circuitry is configured to receive the encapsulated serialized parallel data and reconstruct the serialized parallel data into the peripheral device protocol. The peripheral device protocol is one of a SCSI protocol, an ATAPI protocol, and a UDMA protocol. The data can be storage data, network data, file data, virtual interface data, or any other type of data that will benefit from high bandwidth transmission over a network.