Method and apparatus for storage command and data router
AssigneeCOPAN Systems, Inc.
InventorsBahareh Ghaffari, Aloke Guha
Life of this patent
Estimating the term…
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.
Claims18
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.
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.
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.
Dependencies are inferred from the claim text.