Distributing workload evenly across storage media in a storage array
First Claim
1. A processor-readable medium comprising processor-executable instructions configured for:
- compiling workload information for storage components within a storage array;
based on the workload information, predicting that at least one storage component contains high-access data; and
redistributing the high-access data evenly across all storage components within the storage array.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and methods employ a redistribution module to predict whether there is data stored in an arrayed storage device that is likely to be data that will be highly accessed in the future. The redistribution module locates high-access data on one or more storage components within the array and redistributes it evenly across all storage components in the array so that no single storage component contains a disproportionate amount of the high-access data. Redistributing high-access data evenly across all storage components (e.g., disks) in a storage array helps prevent I/O (input/output) bottlenecking at any single storage component in the array. I/Os are serviced in a more parallel manner which increases the overall performance of the storage array.
104 Citations
34 Claims
-
1. A processor-readable medium comprising processor-executable instructions configured for:
-
compiling workload information for storage components within a storage array;
based on the workload information, predicting that at least one storage component contains high-access data; and
redistributing the high-access data evenly across all storage components within the storage array. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A processor-readable medium comprising processor-executable instructions configured for:
-
compiling workload information for storage components within a storage array;
based on the workload information, determining least busy storage components and most busy storage components;
determining that a new disk access is a random I/O (input/output); and
using a least busy storage component to service the new disk access.
-
-
11. A processor-readable medium in a storage array having a plurality of storage components, the processor-readable medium comprising processor-executable instructions configured for:
-
accessing foreknowledge information to determine that data on at least one storage component is high-access data; and
redistributing the high-access data evenly across all storage components within the storage array. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A processor-readable medium in an array of disks, the processor-readable medium comprising processor-executable instructions configured for:
-
predicting that at least one disk contains high-access data; and
redistributing the high-access data evenly across all disks within the array. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A method of distributing workload evenly across storage components in a storage array comprising:
-
compiling workload information for each storage component within the storage array;
based on the workload information, predicting that at least one storage component contains high-access data; and
redistributing the high-access data evenly across all storage components within the storage array.
-
-
26. A method of distributing workload evenly across storage components in a storage array comprising:
-
compiling workload information for each storage component within the storage array;
based on the workload information, determining least busy storage components and most busy storage components;
determining that a new disk access is a random I/O (input/output); and
using a least busy storage component to service the new disk access.
-
-
27. A method of distributing workload evenly across storage components in a storage array comprising:
-
accessing foreknowledge information to determine that data on at least one storage component is high-access data; and
redistributing the high-access data evenly across all storage components within the storage array.
-
-
28. A method of distributing workload evenly across disks in an array of disks comprising:
-
predicting that at least one disk contains high-access data; and
redistributing the high-access data evenly across all disks within the array.
-
-
29. A storage array comprising:
-
two or more storage components;
a redistribution module configured to access storage component workload information, and based on the workload information, to redistribute high-access data evenly across the two or more storage components. - View Dependent Claims (30, 31)
-
-
32. A storage array comprising:
-
a processor;
two or more storage components;
a memory having foreknowledge information stored therein; and
a redistribution module executable on the processor to access the memory, determine from the foreknowledge information which data on the two or more storage components is high-access data, and redistribute the high-access data evenly across the two or more storage components.
-
-
33. A redundant array of independent disks comprising:
-
two or more disks;
a redistribution module configured to determine high-access data stored on a disk and to redistribute the high-access data evenly across the two or more disks.
-
-
34. A system comprising:
-
a host computer;
a virtual storage array to service data requests from the host computer, the virtual storage array having two or more storage components; and
a redistribution module executable on the virtual storage array to access workload information, and based on the workload information, to redistribute high-access data evenly across the two or more storage components.
-
Specification