Disk scrubbing system
DCFirst Claim
1. A data storage subsystem that receives data from at least one connected data processor and stores said data on a plurality of disk drives divided into a plurality of logical partitions, said logical partitions comprising dedicated partitions currently storing data and free partitions available to store data, said data storage subsystem comprising:
- a memory controller independent of said plurality of disk drives comprising means for identifying said dedicated and said free partitions;
means for reading said memory controller to determine the identity of said dedicated partitions; and
means responsive to said reading of said memory controller for periodically verifying the integrity of data currently stored in each of said identified dedicated partitions, said means for periodically verifying comprising;
means for reading data in each of said identified dedicated partitions;
means responsive to said reading of data from each said identified dedicated partition for generating error check information from said read data;
means responsive to said generation of said error check information for detecting errors in data in each said identified dedicated partition; and
means responsive to said detection of errors for correcting said data containing errors.
0 Assignments
Litigations
0 Petitions
Accused Products
Abstract
One or more background processes that references data storage volumes and cylinders that are to be scrubbed to ensure the integrity of the data stored thereon. A priority scrubbing process is also available to note data storage volumes that have recently had data written thereon by the host processor and which require a more timely review of the data than less frequently used volumes.
165 Citations
36 Claims
-
1. A data storage subsystem that receives data from at least one connected data processor and stores said data on a plurality of disk drives divided into a plurality of logical partitions, said logical partitions comprising dedicated partitions currently storing data and free partitions available to store data, said data storage subsystem comprising:
-
a memory controller independent of said plurality of disk drives comprising means for identifying said dedicated and said free partitions; means for reading said memory controller to determine the identity of said dedicated partitions; and means responsive to said reading of said memory controller for periodically verifying the integrity of data currently stored in each of said identified dedicated partitions, said means for periodically verifying comprising; means for reading data in each of said identified dedicated partitions; means responsive to said reading of data from each said identified dedicated partition for generating error check information from said read data; means responsive to said generation of said error check information for detecting errors in data in each said identified dedicated partition; and means responsive to said detection of errors for correcting said data containing errors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A data storage subsystem that receives data from at least one connected data processor and stores said data on a plurality of disk drives divided into a plurality of logical partitions, each of said logical partitions comprising at least two disk drives, said data storage subsystem comprising:
-
said logical partitions further comprising dedicated partitions currently storing data and free partitions available for storing data; a memory controller independent of said plurality of disk drives comprising means for identifying said dedicated partitions and said free partitions; means for locating memory space available to store data in said logical partitions; means for receiving data from said at least one connected data processor; means responsive to said receiving of data for selecting a memory space in said logical partitions capable of storing the received data; means for writing received data into said selected memory space; means responsive to said writing of data for updating said identifying means to indicate that said free partitions containing said selected memory space have changed to currently dedicated partitions; means for reading said memory controller to determine the identity of said dedicated partitions; and means responsive to reading of said memory controller for periodically verifying the integrity of data currently stored in each of said identified dedicated partitions, said means for periodically verifying comprising; means for reading data in each of said identified dedicated partitions; means responsive to said reading of data from each said identified dedicated partition for generating error check information from said read data; means responsive to said generation of said error check information for detecting errors in data in each said identified dedicated partition; and means responsive to said detection of errors for correcting said data containing errors. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method for correcting data errors in a data storage subsystem that receives data from at least one connected data processor and stores said data on a plurality of disk drives divided into a plurality of logical partitions, said logical partitions comprising dedicated partitions currently storing data and free partitions available for storing data, the method comprising the steps of:
-
generating information identifying said dedicated partitions and said free partitions; storing said generated information in a memory controller independent of said plurality of disk drives; reading said memory controller to determine the identity of said dedicated partitions; and periodically verifying the integrity of the data stored in each of said identified dedicated partitions comprising the steps of; reading data stored in each of said identified dedicated partitions; generating error check information from said read data; detecting errors in data stored in each of said dedicated partitions using said generated error check information; and correcting errors in said data stored in each said dedicated partition responsive to said detection of errors. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method for correcting data errors in a data storage subsystem that receives data from at least one connected data processor and stores said data on a plurality of disk drives divided into a plurality of logical partitions, said logical partitions comprising dedicated partitions currently storing data and free partitions available to store data, said method comprising the steps of:
-
generating information identifying said dedicated partitions and said free partitions; storing said generated information in a memory controller independent of said plurality of disk drives; locating available memory space in said logical partitions; receiving data from said at least one connected data processor; selecting memory space from said located available memory space capable of storing said received data; writing said received data into said selected memory space; updating said generated information to indicate that said identified free partitions in which said received data was written have changed to currently dedicated partitions; reading said memory controller to determine the identity of said dedicated partitions; and periodically verifying the integrity of data stored on each of said identified dedicated partitions, said periodically verifying step comprising the steps of; reading data stored in each of said identified dedicated partitions; generating error check information from said read data; detecting errors in data stored in each of said dedicated partitions using said generated error check information; and correcting errors in data stored in each said dedicated partition responsive to said detection of errors. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A data storage subsystem that receives data for at least one connected data processor and stores said data on a plurality of disk drives divided into a plurality of logical partitions, said logical partitions comprising dedicated partitions currently storing data and free partitions available for storing data, said data storage subsystem comprising:
-
a virtual track directory for mapping said plurality of logical partitions to corresponding physical segments on said plurality of disk drives; a plurality of flag bits each corresponding to one of said logical partitions, stored in a memory controller independent of said plurality of disk drives, for identifying said dedicated partitions and free partitions; means for reading each said flag bit to determine the identity of said dedicated partitions; means responsive to said reading of each said flag bit for periodically verifying the integrity of data stored in each of said identified dedicated partitions, said verifying means comprising; means for reading data in each of said identified dedicated partitions; means responsive to said reading of data from each said identified dedicated partition for generating error check information from said read data; means responsive to said generation of said error check information for detecting errors in data stored in each said identified dedicated partition; and means responsive to said detection of errors for correcting said data containing errors. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
Specification