Data storage controller providing multiple hosts with access to multiple storage subsystems
First Claim
1. A storage controller, comprising:
- a host interface providing a data interface with at least one host processing system independent of a device type of each said at least one host processing system, the storage controller physically separate from each said at least one host processing system;
a storage interface providing a data interface with at least one storage array, the storage controller physically separate from each said at least one storage array, each said at least one storage array including at least one mass storage device, the storage interface further providing the data interface with said at least one storage array independent of the device type(s) of the mass storage devices in each said array; and
control circuitry coupled to the host interface and the data interface, the control circuitry configured to enable said at least one host processing system to access each said at least one storage array, such that the presence of the storage controller is transparent to each said at least one host processing system and each said at least one storage array.
6 Assignments
0 Petitions
Accused Products
Abstract
A computer network comprises a number of storage controllers, each coupled to one of a plurality of storage arrays, each storage array including at least one mass storage device. Each storage controller may be coupled to at least one host processing system and to at least one other storage controller to control access of the host processing systems to the mass storage devices. Multiple copies of data are maintained in storage arrays that are geographically remote to each other, such that any copy can be accessed by any host. Each storage controllers includes an interface with a host that emulates a mass storage device and an interface with a local storage array that emulates a host. The interfaces to the host and local storage arrays are independent of the type of host or devices in the local storage array. Two or more hosts may be dissimilar to each other, and two or more storage arrays may include dissimilar mass storage devices. Hosts access stored data using virtual addressing. During a data access, the storage controller connected to the accessing host maps a virtual address provided by the host to a real physical location in any of the storage arrays, such that the actual location of the data is transparent to the host. The storage controllers provide automatic back-up and error correction as well as write protection of back-up copies.
316 Citations
40 Claims
-
1. A storage controller, comprising:
-
a host interface providing a data interface with at least one host processing system independent of a device type of each said at least one host processing system, the storage controller physically separate from each said at least one host processing system; a storage interface providing a data interface with at least one storage array, the storage controller physically separate from each said at least one storage array, each said at least one storage array including at least one mass storage device, the storage interface further providing the data interface with said at least one storage array independent of the device type(s) of the mass storage devices in each said array; and control circuitry coupled to the host interface and the data interface, the control circuitry configured to enable said at least one host processing system to access each said at least one storage array, such that the presence of the storage controller is transparent to each said at least one host processing system and each said at least one storage array. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A data storage controller for providing a plurality of host processing systems with access to a plurality of storage arrays, each of the storage arrays including a plurality of mass storage devices, the data storage controller comprising:
-
a processor; and a memory coupled to the processor, the memory having instructions stored therein which, when executed by the processor, cause the data storage controller to; provide a data interface with a local host processing system independent of a device type of the local host processing system, the storage controller physically separate from the local host processing system; emulate a local storage array to the local host processing system, such that the presence of the storage controller is functionally transparent to the local host processing system; provide a data interface with the local storage array independent of the type of mass storage devices in the local storage array, the storage controller physically separate from the local storage array; emulate the host processing system to the mass storage devices of the local storage array, such that the presence of the storage controller is transparent to the local storage array; provide an interface to a remote data storage controller, the remote data storage controller for coupling to a remote storage array; and control communication of data such that any of the plurality of host processing systems can access data in any of the plurality of storage arrays. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. In a storage controller coupled to a plurality of host processing systems and a plurality of storage arrays, a method of providing the plurality of host processing systems with access to the plurality of storage arrays, the plurality of host processing systems including a local host processing system, the plurality of storage arrays including a local storage array, each of the storage arrays including a plurality of mass storage devices, the method comprising:
-
providing a data interface with the local host processing system, the host processing system physically separate from the storage controller; emulating the local storage array, such that the presence of the storage controller is transparent to the local host processing system; providing a data interface with the local storage array, the local storage array physically separate from the storage controller, wherein the local storage array may include any of a plurality of different storage mediums; emulating the local host processing system, such that the presence of the storage controller is transparent to the local storage array; providing an interface to a remote data storage controller coupled to a remote storage array of the plurality of storage arrays; and controlling communication of data such that any of the plurality of host processing systems can access data in any of the plurality of storage arrays. - View Dependent Claims (26, 27, 28, 29, 30)
-
-
31. A system comprising:
-
a plurality of host processing systems; a plurality of storage arrays, each of the storage arrays including at least one mass storage device; and a plurality of storage controllers, each of the storage controllers coupled to one of the host processing systems and physically separate from the host processing systems, each of the storage controllers coupled to one of the storage arrays and physically separate from the storage arrays, each of the storage controllers further coupled to another one of the storage controllers, each of the storage controllers having a first interface with one of the host processing systems, the first interface for emulating a mass storage device such that the presence of the storage controller is transparent to the host processing systems, each of the storage controllers further having a second interface with a local storage array, the second interface for emulating a host processing system such that the presence of the storage controller is transparent to storage arrays, the plurality of storage controllers cooperating to permit any of the host processing systems to access data stored in any of the storage arrays. - View Dependent Claims (32, 33, 34)
-
-
35. A systems comprising:
-
a plurality of host processing systems; a plurality if storage arrays, each of the storage arrays including at least one mass storage device; and a plurality of storage controllers, each of the storage controllers coupled to one of the host processing systems and physically separate from said one of the host processing systems, coupled to one of the storage arrays and physically separate from said one of the storage arrays, and coupled to another one of the storage controllers, wherein the storage controllers cooperate to permit any of the host processing systems to access data stored in any of the storage arrays, each of the storage controllers including means for supporting any one of a plurality of types of mass storage media in a corresponding one of the storage arrays, wherein the presence of each of the storage controllers is transparent to each of the host processing systems and each of the storage arrays. - View Dependent Claims (36, 37, 38, 39, 40)
-
Specification