Dynamic data space
First Claim
1. A method for updating a mass storage system using data error checking and correction includingallocating a plurality of storage blocks to files in a file system;
- determining a first subset of said storage blocks in which to record error code information and a second subset of said storage blocks in which to record data;
marking a storage block of said first subset, whereby said file system copies data from said marked storage block to a storage block in said second subset; and
whereby said first subset of said storage blocks are reserved for use by said file system for recording said error code information.
2 Assignments
0 Petitions
Accused Products
Abstract
A data storage system, such as RAID, upgraded dynamically including multiple stages, providing error checking data without taking the system off-line. Checksums are computed from the data and placed in block 63 of the same disk. The combination of parity bits across the parity disk, the remaining uncorrupted data in the data disks, and checksums within each disk includes sufficient information to enable restoration of corrupt data. The system is upgraded by reserving permanent checksum blocks, writing the checksums to a volume block number, and placing the checksums in permanently reserved checksum block locations after first moving data already there to unreserved blocks.
145 Citations
42 Claims
-
1. A method for updating a mass storage system using data error checking and correction including
allocating a plurality of storage blocks to files in a file system; -
determining a first subset of said storage blocks in which to record error code information and a second subset of said storage blocks in which to record data;
marking a storage block of said first subset, whereby said file system copies data from said marked storage block to a storage block in said second subset; and
whereby said first subset of said storage blocks are reserved for use by said file system for recording said error code information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
waiting for said file system to free at least one storage block in said first subset; - and
recording error code information in said at least one storage block in said first subset.
-
-
3. A method as in claim 1, including
associating a group of storage blocks with each one of said first subset of storage blocks; -
determining error code information with regard to said group of storage blocks; and
recording said error code information in said associated storage block in said first subset.
-
-
4. A method as in claim 3, including
performing said determination of error code information in response to recording data in at least one of said group of associated storage blocks. -
5. A method as in claim 3, including performing said determination of error code information in response to a time duration during which no new data is recorded in said group of associated storage blocks.
-
6. A method as in claim 1, wherein said updating can be performed with said file system on-line.
-
7. A method as in claim 1, wherein said updating can be performed while retaining legacy data included in said dynamic storage system.
-
8. A method as in claim 7, wherein said legacy data is formatted with sectors of 512 bytes.
-
9. A method for a dynamic data storage system including
upgrading said dynamic storage system on the fly with multiple stages to provide redundant data for error checking with the system able to remain on-line; -
retaining legacy data included in said dynamic storage system;
associating a collection of parity bits and a collection of checksums;
identifying corrupted data; and
restoring said corrupted data. - View Dependent Claims (10, 11, 12)
-
-
13. A method for upgrading a dynamic storage system on the fly with multiple stages to provide redundant data for error checking with the system able to remain on-line including
retaining legacy data included in said dynamic storage system; -
allocating a plurality of storage blocks to files in a file system;
determining a first subset of said storage blocks in which to record error code information and a second subset of said storage blocks in which to record data;
marking a storage block of said first subset, whereby said file system copies data from said marked storage block to a storage block in said second subset; and
recording error code information in said at least one storage block in said first subset. - View Dependent Claims (14)
associating a group of storage blocks with each one of said first subset of storage blocks; determining error code information with regard to said group of storage blocks; and
recording said error code information in said associated one storage blocks in said first subset.
-
-
15. An apparatus comprising a mass storage system updated using data error checking and correction including
a plurality of storage blocks allocated to files in a file system; -
a first subset of said storage blocks selected to record error code information and a second subset of said storage blocks in which to record data;
a storage block of said first subset marked for copying data from said marked storage block to a storage block in said second subset; and
whereby said first subset of said storage blocks are reserved for use by said file system for recording said error code information. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
said file system waits to free at least one storage block in said first subset; - and
error code information is recorded in said at least one storage block in said first subset.
-
-
17. An apparatus as in claim 15, including
a group of storage blocks associated with each one of said first subset of storage blocks; - and
error code information determined with regard to said group of storage blocks, with said error code information recorded in said associated one storage blocks in said first subset.
- and
-
18. An apparatus as in claim 17, wherein said error code information is determined in response to recording data in at least one of said group of associated storage blocks.
-
19. An apparatus as in claim 17, wherein said error code information is determined in response to a time duration during which no new data is recorded in said group of associated storage blocks.
-
20. An apparatus as in claim 15, wherein said updating can be performed with said file system on-line.
-
21. An apparatus as in claim 15, wherein said updating is performed while retaining legacy data included in said dynamic storage system.
-
22. An apparatus as in claim 15, wherein said legacy data is formatted with sectors of 512 bytes.
-
23. An apparatus comprising a dynamic data storage system including
redundant data for error checking, with said dynamic storage system upgraded on the fly with multiple stages to provide said redundant data for error checking with the system able to remain on-line; -
legacy data retained in said dynamic storage system; and
an associated a collection of parity bits and a collection of checksums;
wherein corrupted data is identified and restored. - View Dependent Claims (24, 25, 26)
-
-
27. An apparatus comprising a dynamic storage system that can be upgraded on the fly with multiple stages to provide redundant data for error checking with the system able to remain on-line including
legacy data is retained in said dynamic storage system; - and
a plurality of storage blocks allocated to files in a file system;
wherein a first subset of said storage blocks are selected in which to record error code information and a second subset of said storage blocks in which to record data;
wherein a storage block of said first subset are marked, whereby said file system copies data from said marked storage block to a storage block in said second subset; and
wherein error code information is recorded in said at least one storage block in said first subset. - View Dependent Claims (28)
a group of storage blocks associated with each one of said first subset of storage blocks; wherein error code information is determined with regard to said group of storage blocks; and
wherein said error code information is recorded in said associated storage blocks in said first subset.
- and
-
29. An apparatus for updating a mass storage system using data error checking and correction including
a means for allocating a plurality of storage blocks to files in a file system; -
a means for determining a first subset of said storage blocks in which to record error code information and a second subset of said storage blocks in which to record data;
a means for marking a storage block of said first subset, whereby said file system copies data from said marked storage block to a storage block in said second subset; and
whereby said first subset of said storage blocks are reserved for use by said file system for recording said error code information. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
a means for waiting for said file system to free at least one storage block in said first subset; - and
a means for recording error code information in said at least one storage block in said first subset.
-
-
31. An apparatus as in claim 29, including
a means for associating a group of storage blocks with each one of said first subset of storage blocks, a means for determining error code information with regard to said group of storage blocks; - and
a means for recording said error code information in said associated storage block in said first subset.
- and
-
32. An apparatus as in claim 31, including
a means for performing said determination of error code information in response to recording data in at least one of said group of associated storage blocks. -
33. An apparatus as in claim 31, including a means for performing said determination of error code information in response to a time duration during which no new data is recorded in said group of associated storage blocks.
-
34. An apparatus as in claim 29, wherein said a means for updating can be performed with said file system on-line.
-
35. An apparatus as in claim 29, wherein said a means for updating can be performed while retaining legacy data included in said dynamic storage.
-
36. An apparatus as in claim 35, wherein said legacy data is formatted with sectors of 512 bytes.
-
37. An apparatus for a dynamic data storage system including
a means for upgrading said dynamic storage system on the fly with multiple stages to provide redundant data for error checking with the system able to remain on-line; -
a means for retaining legacy data included in said dynamic storage system;
a means for associating a collection of parity bits and a collection of checksums;
a means for identifying corrupted data; and
a means for restoring said corrupted data. - View Dependent Claims (38, 39, 40)
-
-
41. An apparatus for upgrading a dynamic storage system on the fly with multiple stages to provide redundant data for error checking with the system able to remain on-line including
a means for retaining legacy data included in said dynamic storage system; -
a means for allocating a plurality of storage blocks to files in a file system;
a means for determining a first subset of said storage blocks in which to record error code information and a second subset of said storage blocks in which to record data;
a means for marking a storage block of said first subset, whereby said file system copies data from said marked storage block to a storage block in said second subset; and
a means for recording error code information in said at least one storage block in said first subset. - View Dependent Claims (42)
a means for associating a group of storage blocks with each one of said first subset of storage blocks; a means for determining error code information with regard to said group of storage blocks; and
a for recording said error code information in said associated one storage blocks in said first subset.
-
Specification