Method and apparatus for storage command and data router
First Claim
1. An interconnecting unit for coupling a plurality of hosts to a plurality of storage devices, the coupling involving exchange of a plurality of serial I/O structures between the plurality of hosts and the plurality of storage devices, the interconnecting unit comprising:
- a. a plurality of device control units enabling distribution of a plurality of commands to the plurality of storage devices, each of the plurality of commands being an element of a serial I/O structure;
b. a plurality of host interface units, each of the plurality of host interface units synchronizing data between a host and the interconnecting unit;
c. a plurality of device interface units, each of the plurality of device interface units synchronizing data between a storage device and the interconnecting unit; and
d. an interconnect routing unit to connect a device control unit to a device interface unit.
15 Assignments
0 Petitions
Accused Products
Abstract
An interconnecting unit and method for data communication between a plurality of computer hosts and a plurality of storage devices. The interconnecting unit couples the hosts to the storage devices and enables the data communication. The interconnection includes a plurality device control units. Each of the device control unit allows multiple commands to be distributed to multiple storage devices. The communication through the interconnecting unit is strong enough to tolerate failure across one connection path between the hosts and the storage devices.
-
Citations
18 Claims
-
1. An interconnecting unit for coupling a plurality of hosts to a plurality of storage devices, the coupling involving exchange of a plurality of serial I/O structures between the plurality of hosts and the plurality of storage devices, the interconnecting unit comprising:
-
a. a plurality of device control units enabling distribution of a plurality of commands to the plurality of storage devices, each of the plurality of commands being an element of a serial I/O structure;
b. a plurality of host interface units, each of the plurality of host interface units synchronizing data between a host and the interconnecting unit;
c. a plurality of device interface units, each of the plurality of device interface units synchronizing data between a storage device and the interconnecting unit; and
d. an interconnect routing unit to connect a device control unit to a device interface unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A data storage system, the data storage system comprising:
-
a. a plurality of hosts, each of the plurality of hosts being queue capable;
b. a plurality of storage devices;
c. an interconnecting unit for coupling the plurality of hosts to the plurality of storage devices, the coupling involving exchange of a plurality of serial I/O structure between the plurality of hosts and the plurality of storage devices, the interconnecting unit comprising;
i. a plurality of device control units enabling distribution of a plurality of commands to the plurality of storage devices, each of the plurality of commands being an element of serial I/O structure;
ii. a plurality of host interface units, each of the plurality of host interface units synchronizing the data between the host and the interconnecting unit, each of the plurality of host interface units converting the elements of the serial I/O structure in a serial bit stream format to a character bit format;
iii. a plurality of device interface units, each of the plurality of device interface units synchronizing the data between the storage device and the interconnecting unit, the device interface unit converting the element of the serial I/O structure in the serial bit stream format to the character bit format; and
iv. an interconnect routing unit to connect a device control unit to a device interface unit. - View Dependent Claims (18)
-
-
15. A method for data storage between a plurality of hosts and a plurality of storage devices, the method comprising the steps of:
-
a. receiving a command from a host, the command being directed to a storage device;
b. selecting the storage device to which the received command is directed;
c. delivering the command to the selected storage device;
d. receiving a receipt from the selected storage device if the command is delivered without error;
e. monitoring the plurality of hosts for a next command and plurality of storage device for a response to the delivered command;
repeating steps a to d if the next command is received from the host;
performing steps f to h if the response is received from one of the storage devices;
f. identifying whether the storage device is queue capable;
g. routing the response to the host, the routing being based on the identification of the storage device;
h. locking host and the responding storage device for operation, the operation being based on the command;
i. checking if there is a command in a queue;
repeating steps f to h if there is a command in the queue. - View Dependent Claims (16, 17)
-
Specification