Storage controller providing store-and-forward mechanism in distributed data storage system
First Claim
1. A storage system comprising:
- a host processing system;
a plurality of storage arrays located remotely from each other, each of the storage arrays including one or more mass storage devices; and
a plurality of storage controllers, each of the storage controllers coupled locally to a different one of the storage arrays, the storage controllers coupled to the host processing system and configured to provide the host processing system with access to the plurality of storage arrays;
wherein each of the plurality of storage controllers internally maintains and updates a change map representing changes to data stored in the storage array coupled locally thereto.
6 Assignments
0 Petitions
Accused Products
Abstract
A network comprises at least one host processing system, 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 controller 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.
-
Citations
3 Claims
-
1. A storage system comprising:
-
a host processing system;
a plurality of storage arrays located remotely from each other, each of the storage arrays including one or more mass storage devices; and
a plurality of storage controllers, each of the storage controllers coupled locally to a different one of the storage arrays, the storage controllers coupled to the host processing system and configured to provide the host processing system with access to the plurality of storage arrays;
wherein each of the plurality of storage controllers internally maintains and updates a change map representing changes to data stored in the storage array coupled locally thereto. - View Dependent Claims (2)
the plurality of storage controllers includes a first storage controller, a second storage controller, and a third storage controller, each located remotely from each other;
the plurality of storage arrays includes a first storage array, a second storage array, and a third storage array coupled respectively to the first storage controller, the second storage controller, and the third storage controller;
the first storage controller is configured to transmit a first single copy of data to the second storage controller;
the second storage controller is configured to respond to the first single copy of the data by internally caching the data and storing one or more copies of the data in the second storage array, and by transmitting a second single copy of the data to the third storage array; and
the third storage controller is configured to respond to the second single copy of the data by internally caching the data and storing one or more copies of the data in the third storage array.
-
-
3. A method of operating a storage system including a plurality of storage controllers located remotely with respect to each other, each of the storage controllers locally coupled to one of a plurality of storage arrays, the method comprising:
-
transmitting a first single copy of data from a first storage controller of the plurality of storage controllers to a second storage controller of the plurality of storage controllers;
receiving the first single copy at the second storage controller;
caching the first single copy within the second storage controller;
using the second storage controller to store a plurality of copies of the data in a storage array locally coupled to the second storage controller based on the first single copy;
using the second storage controller to transmit a second single copy of the data to a third storage controller of the plurality of storage controllers;
receiving the second single copy at the third storage controller;
caching the second single copy within the third storage controller;
using the third storage controller to store a plurality of copies of the data in a storage array locally coupled to the third storage controller based on the second single copy; and
in each of the first, second, and third storage controllers, internally maintaining and updating a change map representing changes to data stored in the storage array coupled locally thereto.
-
Specification