Method and system for background processing of data in a storage system
A method for processing data on a particular storage device in a plurality of storage devices is disclosed. A system and a computer program product for processing data on a particular storage device in a plurality of storage devices are also disclosed. All the storage devices from among the plurality of storage devices are not powered-on at the same time. A storage device, which is powered-off is selected for background processing. Further, a data-enhancing operation is selected. The selected storage device is powered on and the selected data-enhancing operation is processed on the storage device.
1. A method for processing data on a particular storage device in a plurality of storage devices, wherein less than all of the plurality of storage devices are powered-on at the same time, the method comprising:
selecting a data enhancing operation for data on the particular storage device;
determining that the particular storage device is powered off;
powering on the particular storage device; and
performing the data enhancing operation on the particular storage device.
2. The method of claim 1 , wherein the data enhancing operation comprises a storage operation.
3. The method of claim 2 , wherein the storage operation comprises a RAID calculation.
4. The method of claim 3 , wherein the RAID calculation includes a parity determination.
5. The method of claim 1 , further comprising:
performing a compression operation on the data.
6. The method of claim 5 , further comprising:
determining that no input/output activity is occurring.
7. The method of claim 5 , further comprising:
determining that there are sufficient processing resources to perform the compression operation.
8. The method of claim 7 , wherein processing resources includes processor cycles.
9. The method of claim 7 , wherein processing resources includes memory.
10. The method of claim 7 , wherein processing resources includes transmission bandwidth.
11. The method of claim 7 , further comprising:
determining whether there are sufficient energy resources to initiate the background processing on the storage devices.
12. The method of claim 5 , wherein the compression operation includes at least one of a lossless compression operation and global compression operation.
13. The method of claim 5 , further comprising:
writing compressed data to the particular storage device.
14. The method of claim 1 , further comprising:
performing an integrity checking operation on the data.
15. The method of claim 14 , further comprising:
forming a hash value from at least a portion of the data; and
checking the hash value against a predetermined value.
16. The method of claim 15 , further comprising:
if the hash value is not the same as the predetermined value then obtaining correct data; and
storing the correct data on the storage device.
17. The method of claim 16 , wherein the correct data is obtained from a cache.
18. The method of claim 16 , wherein the correct data is obtained from a backup copy.
19. The method of claim 1 , further comprising:
creating an index of the data.
20. The method of claim 19 , further comprising:
using the index in a keyword search.
21. The method of claim 1 , further comprising:
performing a data search.
22. The method of claim 1 , wherein powering-on the particular storage device comprises the step of checking a power budget.
23. A system for processing data on a particular storage device in a plurality of storage devices, wherein less than all of the plurality of storage devices are powered-on at the same time, the system comprising:
a selection module for selecting a data-enhancing operation from a set of operations comprising compression, data-integrity check, data-reliability test, object index preparation, and content search;
a power-check module for checking the power status on a storage device selected from the plurality of storage devices;
an activation module for powering-on the selected storage device; and
a data-enhancing activation module for processing the selected data-enhancing operation.
24. The system of claim 23 , wherein the data enhancing module comprising:
a compression module for processing the compression operation in case compression operation is selected for data-enhancement;
an integrity-check module for checking the integrity of the data stored in the selected storage device;
an index-creating module for creating an index for a portion of the data stored with the selected storage device; and
a data-search module for performing an efficient search, the data search can utilize the index created by the index-creating module.
25. The system of claim 24 , wherein the compression module performs a compression operation selected from a group consisting of lossless compression and global compression.
26. The system of claim 24 , wherein the compression module comprises:
an activity-check module for checking if any activity is being performed on the selected storage device;
a resource-check module for determining if sufficient resources are available for processing compression operation, the resources comprising energy resources, processing resources, and bandwidth resources; and
a writing module for writing the compressed data on the selected storage device.
27. The system of claim 24 , wherein the integrating check module comprises:
a hash-generating module for generating hashes for the selected portion of the data;
a hash-comparing module for comparing the generated hash with a predetermined hash value;
a data-extraction module for extracting a correct copy of data in case the predetermined hash value does not match with the generated hash value; and
a writing module for writing the extracted data on the selected storage device.
28. A system for processing data on a particular storage device in a plurality of storage devices, wherein less than all of the plurality of storage devices are powered-on at the same time, the system comprising:
means for selecting a data enhancing operation for data on the particular storage device;
means for determining that the particular storage device is powered off;
means for powering on the particular storage device; and
means for performing the data enhancing operation on the particular storage device.
29. A computer-readable medium including instructions executable by a processor processing data on a particular storage device in a plurality of storage devices, wherein less than all of the plurality of storage devices are powered-on at the same time, the computer-readable medium comprising:
one or more instructions for selecting a data enhancing operation for data on the particular storage device;
one or more instructions for determining that the particular storage device is powered off;
one or more instructions for powering on the particular storage device; and
one or more instructions for performing the data enhancing operation on the particular storage device.
30. An apparatus for processing data on a particular storage device in a plurality of storage devices, wherein less than all of the plurality of storage devices are powered-on at the same time, the apparatus comprising:
a processor for executing instructions; and
a machine-readable medium including:
one or more instructions for selecting a data enhancing operation for data on the particular storage device;
one or more instructions for determining that the particular storage device is powered off;
one or more instructions for powering on the particular storage device; and
one or more instructions for performing the data enhancing operation on the particular storage device.