Method and apparatus for efficient scalable storage management
First Claim
1. A storage controller for controlling a storage system for exchanging data between at least one host device and at least one storage device, the storage-controller comprising:
- a metadata cache memory operable to store virtualization tables to determine the memory address of stored information based on a virtual address of the stored information;
a block cache memory controlled by said storage processor and operable to store a predetermined set of information for rapid access to a host device through said switching device;
a switching device coupled to a host device, a storage device, the metadata cache and the block cache memory;
a first storage processor coupled to the switching device for controlling a transfer of data from the metadata cache and the block cache memory via the switching device; and
a second storage processor coupled to the switching device for controlling a transfer of data from the metadata cache and the block cache memory via the switching device, wherein the second storage processor is controlling a transfer of data from the metadata cache via the switching device at the same time as the first storage processor is controlling a transfer of data from the block cache memory via the switching device.
13 Assignments
0 Petitions
Accused Products
Abstract
A hybrid centralized and distributed processing system includes a switching device that connects a storage processor to one or more servers through a host channel processor. The switching device also connects the storage processor to one or more storage devices such as disk drive arrays, and to a metadata cache and a block data cache memory. The storage processor processes access request from one or more servers in the form of a logical volume or logical block address and accesses the metadata cache to determine the physical data address. The storage processor monitors the performance of the storage system and performs automatic tuning by reallocating the logical volume, load balancing, hot spot removal, and dynamic expansion of storage volume. The storage processor also provides fault-tolerant access and provides parallel high performance data paths for fail over. The storage processor also provides faster access by providing parallel data paths for, making local copies and providing remote data copies, and by selecting data from a storage device that retrieves the data the earliest.
247 Citations
39 Claims
-
1. A storage controller for controlling a storage system for exchanging data between at least one host device and at least one storage device, the storage-controller comprising:
-
a metadata cache memory operable to store virtualization tables to determine the memory address of stored information based on a virtual address of the stored information; a block cache memory controlled by said storage processor and operable to store a predetermined set of information for rapid access to a host device through said switching device; a switching device coupled to a host device, a storage device, the metadata cache and the block cache memory; a first storage processor coupled to the switching device for controlling a transfer of data from the metadata cache and the block cache memory via the switching device; and a second storage processor coupled to the switching device for controlling a transfer of data from the metadata cache and the block cache memory via the switching device, wherein the second storage processor is controlling a transfer of data from the metadata cache via the switching device at the same time as the first storage processor is controlling a transfer of data from the block cache memory via the switching device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method for accessing a storage device, the method comprising:
-
receiving a request for a read operation, wherein the request includes a reference to a virtual storage space; accessing a metadata cache memory with a first processor via a switch to obtain one or more logical locations corresponding to the virtual storage space; determining that at least a part of the one or more logical locations is mapped to a block cache memory; and transferring data from the at least a part of the one or more logical locations from the block cache memory to the first processor via the switch concurrently with transferring data from the metadata cache to a second processor via the switch. - View Dependent Claims (30, 31, 32, 33)
-
-
34. A method for accessing a storage device, the method comprising:
-
transferring data from a metadata cache memory to a first processor via a switch to obtain one or more logical locations corresponding to a virtual storage space; determining that at least a part of the one or more logical locations is mapped to a block cache memory; and transferring data from the at least a part of the one or more logical locations from the block cache memory to the first processor via the switch concurrently with transferring data via the switch from the metadata cache memory to a second processor for a subsequent data operation. - View Dependent Claims (35, 36, 37, 38, 39)
-
Specification