Architecture for a high-performance network/bus multiplexer interconnecting a network and a bus that transport data using multiple protocols
First Claim
1. A method for interconnecting a first communications medium, supporting a first transmission protocol that provides transmission of data transfer commands and data, with a second communications medium supporting a second transmission protocol that provides transmission of input/output commands and data, the method including:
- providing a multiplexing hardware device having a local processor connected to a local memory by a local bus, the local bus connected to a first communications adapter that sends data and commands to, and that receives data and commands from, the first communications medium, and to a second communications adapter that sends data and commands to, and that receives data and commands from, the second communications medium, the local bus connected to a shared memory, the first communications adapter, and the second communications adapter by a bus bridge and an internal data bus, the internal bus, the local bus, and a combination of the internal bus, the local bus, and the bus bridge providing reading and writing operations that result in exchanges of data between the local memory, the shared memory, and the communications adapters;
receiving a data transfer command, directed to the second communications adapter, from the first communications medium by the first communications adapter;
writing the received data transfer command via the internal bus, the bus bridge, and the local bus to the local memory;
processing the data transfer command by the local processor and sending an input/output command corresponding to the received data transfer command to the second communications adapter via the local bus, the bus bridge, and the internal bus; and
executing an input/output operation corresponding to the received input/output command and exchanging data related to execution of the input/output operation with the first communications adapter, via the internal bus and shared memory, by the second communications adapter.
3 Assignments
0 Petitions
Accused Products
Abstract
A high-performance network/bus multiplexer that exchanges data transfer commands and data between different communications mediums, such as the Fibre Channel and one or more SCSI buses. High-performance is achieved by avoiding transmitting read bus operations through bus bridges, and by limiting contention for buses by connecting Fibre Channel host adapters to a first internal bus and SCSI adapters to a second internal bus.
-
Citations
47 Claims
-
1. A method for interconnecting a first communications medium, supporting a first transmission protocol that provides transmission of data transfer commands and data, with a second communications medium supporting a second transmission protocol that provides transmission of input/output commands and data, the method including:
-
providing a multiplexing hardware device having a local processor connected to a local memory by a local bus, the local bus connected to a first communications adapter that sends data and commands to, and that receives data and commands from, the first communications medium, and to a second communications adapter that sends data and commands to, and that receives data and commands from, the second communications medium, the local bus connected to a shared memory, the first communications adapter, and the second communications adapter by a bus bridge and an internal data bus, the internal bus, the local bus, and a combination of the internal bus, the local bus, and the bus bridge providing reading and writing operations that result in exchanges of data between the local memory, the shared memory, and the communications adapters; receiving a data transfer command, directed to the second communications adapter, from the first communications medium by the first communications adapter; writing the received data transfer command via the internal bus, the bus bridge, and the local bus to the local memory; processing the data transfer command by the local processor and sending an input/output command corresponding to the received data transfer command to the second communications adapter via the local bus, the bus bridge, and the internal bus; and executing an input/output operation corresponding to the received input/output command and exchanging data related to execution of the input/output operation with the first communications adapter, via the internal bus and shared memory, by the second communications adapter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for interconnecting a first communications medium, supporting a first transmission protocol that provides transmission of data transfer commands and data, with a second communications medium supporting a second transmission protocol that provides transmission of input/output commands and data, the method including:
-
providing a local processor connected to a local memory by a local bus, the local bus connected, via a first bus bridge and a first internal bus, to a dual-ported shared memory and to a first communications adapter that sends data and commands to, and that receives data and commands from, the first communications medium, the local bus connected, via a second bus bridge and a second internal bus, to the dual-ported shared memory and a second communications adapter that sends data and commands to, and that receives data and commands from, the second communications medium, the local bus, the internal buses, and combinations of an internal bus selected from either of the two internal buses, the local bus, and the bus bridge connected to the selected internal bus providing reading and writing operations for exchanging data between the local memory, the dual-ported shared memory, and the communications adapters; receiving a data transfer command, directed to the second communications adapter, from the first communications medium by the first communications adapter; writing the received data transfer command via the first internal bus, the first bus bridge, and the local bus to the local memory; processing the data transfer command by the local processor and sending an input/output command corresponding to the received data transfer command to the second communications adapter; and executing an input/output operation corresponding to the received input/output command and exchanging data related to execution of the input/output operation with the first communications adapter via the second internal bus, the dual-ported shared memory, and the first internal bus, by the second communications adapter. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A multiplexing hardware device that interconnects a first communications medium, supporting a first transmission protocol that provides transmission of data transfer commands and data, with a second communications medium supporting a second transmission protocol providing transmission of input/output commands and data, the multiplexing hardware device including:
-
a local processor that translates data transfer commands and messages from the first transmission protocol to the second transmission protocol; a local memory that stores control data structures and queues which the local processor uses to control the communications adapters and track data transfer commands as they are processed within the multiplexing hardware device; a local bus that interconnects the local processor with the local memory and that supports reading and writing operations; a first communications adapter that sends data and commands to, and that receives data and commands from, the first communications medium; a second communications adapter that sends data and input/output commands to, and that receives data and commands from, the second communications medium; a shared memory that stores control data structures and queues which the local processor uses to control the communications adapters and that stores data exchanged between the first communications adapter and the second communications adapter; an internal bus to which the communications adapters and shared memory are connected and that supports reading and writing operations; and a bus bridge that interconnects the internal bus and the local bus. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A multiplexing hardware device that interconnects a first communications medium supporting a first transmission protocol that provides transmission of data transfer commands and data with a second communications medium supporting a second transmission protocol that provides transmission of input/output commands and data, the multiplexing hardware device including:
-
a local processor that translates data transfer commands and messages from the first transmission protocol to the second transmission protocol; a local memory that stores control data structures and queues which the local processor uses to control the communications adapters and track data transfer commands as they are processed within the multiplexing hardware device; a local bus that interconnects the local processor with the local memory and that supports reading and writing operations; a first communications adapter that sends data and commands to, and that receives data and commands from, the first communications medium; a second communications adapter that sends data and input/output commands to, and that receives data and commands from, the second communications medium; a dual-ported shared memory for storing control data structures and queues which the local processor uses to control the communications adapters and that stores data exchanged between the first communications adapter and the second communications adapter; a first internal bus to which the first communications adapter and dual-ported memory are connected and that supports reading and writing operations; a first bus bridge that interconnects the first internal bus and the local bus; a second internal bus to which the second communications adapter and dual-ported memory are connected and that supports reading and writing operations; and a second bus bridge that interconnects the second internal bus and the local bus. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47)
-
Specification