Method and apparatus using slack area of file storage structures for file reconstruction
First Claim
1. A tagging method for application to a random access storage device having plural pre-allocated storage sub-areas across which plural files are recorded, said method comprising the steps of:
- (a) locating a logically-last storage sub-area of at least one of the files whose data is stored across the pre-allocated storage sub-areas of the random access storage device;
(b) determining if and how much storage slack space is available in the logically-last storage sub-area;
(c) in response to said determination of the available slack space, recording an end-of-file tagging code in the slack space, if sufficient slack space is available for such an end-of-file tagging code.
2 Assignments
0 Petitions
Accused Products
Abstract
Available slack area in file storage structures is used for storing file-reconstruction data. The file-reconstruction data includes a unique end-of-file tag code (405) positioned within a vital core (403) section of limited length. The vital core section is located close to or against the end of the slack area. Less-essential file-reconstruction data is grown frontwards from the vital core section to the beginning of the slack area as room permits. During file recovery, the random access storage device (e.g., a disk whose directory structure has been damaged) is scanned for storage sub-areas (e.g., allocation blocks) containing the predefined, unique end-of-file tag code appropriately positioned within the vital core portion at the end of the sub-area. Each storage sub-area having such a properly-positioned end-of-file tag code is designated as a possible end-of-file sub-area. A file recovery program uses this and other available information to reconstruct the directory structure to whatever extent is made possible.
142 Citations
43 Claims
-
1. A tagging method for application to a random access storage device having plural pre-allocated storage sub-areas across which plural files are recorded, said method comprising the steps of:
-
(a) locating a logically-last storage sub-area of at least one of the files whose data is stored across the pre-allocated storage sub-areas of the random access storage device; (b) determining if and how much storage slack space is available in the logically-last storage sub-area; (c) in response to said determination of the available slack space, recording an end-of-file tagging code in the slack space, if sufficient slack space is available for such an end-of-file tagging code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19)
-
-
14. A tagging method for application to a random access storage device having plural pre-allocated storage sub-areas across which plural files are recorded, said method comprising the steps of:
-
(a) locating a logically-last storage sub-area of at least one of the files whose data is stored across the pre-allocated storage sub-areas of the random access storage device; (b) determining if and how much storage slack space is available in the logically-last storage sub-area; (c) in response to said determination of the available slack space, recording an end-of-file tagging code in the slack space, if sufficient slack space is available for such an end-of-file tagging code; and (d) further recording other file-recovery assisting information in the slack space as the available slack space permits;
wherein;(a.1) said at least one file can be composed of multiple forks or multiple fragments or both; (a.2) said step (a) of locating further includes locating additional logically-last storage sub-areas of respective additional forks or additional fragments of the at least one file, other than the logically-last storage sub-area of said logically-last fork or logically-last fragment of the at least one file; (b.1) said step (b) of determining further includes determining if and how much additional storage slack space is available in each of the located additional logically-last storage sub-areas; (c.1) said step (c) of recording further includes, in response to said determination of the available additional slack space, recording an end-of-fragment tagging code in the additional slack space, if sufficient slack space is available for such an end-of-fragment tagging code; (d.1) said step (d) of further recording includes additionally recording other filerecovery assisting information in the additional slack space as the available additional slack space permits; and (d.2) said other file-recovery assisting information that is recorded includes one or more items in the first group consisting of; (d.21) an end-of-this-fork/fragment identifier for identifying the logical end of data of the respective fork or fragment using the storage sub-area in which said end-of-thisfork/fragment identifier resides; (d.22) a further-extents-of-this-fork/fragment identifier for identifying the number of further forks or fragments if any that logically extend beyond the respective fork or fragment using the storage sub-area in which said further-extents-of-this-fork/fragment identifier resides; and (d.23) a number of for-this-fork/fragment extent-records, said number being equal to that identified by the further-extents-of-this-fork/fragment identifier, each for-thisfork/fragment extent-record including a for-this-fork/fragment extent-pointer pointing to the start of the corresponding fork or fragment that logically extends beyond the respective fork or fragment using the storage sub-area in which said for-this-fork/fragment extentpointer resides; (d.23a) wherein each for-this-fork/fragment extent-record further includes a forthis-fork/fragment extent-length specifier for specifying the logical length of data in the corresponding fork or fragment that logically extends beyond the respective fork or fragment using the storage sub-area in which said for-this-fork/fragment extent-length specifier resides.
-
-
20. A tagging method for application to a random access storage device having plural pre-allocated storage sub-areas across which plural files are recorded, said random access storage device further having a directory structure for defining storage sub-areas allocated to each of said plural files and for optionally assigning one or more attributes to each such file, wherein the directory definition of each file may change over time as a consequence of file-modification requests made to an operating system, said method comprising the steps of:
-
(a) intercepting each file-modification request made to the operating system and for each given file that has been or is to be so-modified; (b) locating a logically-last storage sub-area of the given file; (c) determining if and how much storage slack space is available in the located logically-last storage sub-area; (d) in response to said determination of the available slack space, recording an end-of-file tagging code in the slack space, if sufficient slack space is available for such an end-of-file tagging code. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A tagged data storage medium having:
-
(a) a plurality of files recorded across respective pre-allocated storage sub-areas of the recording medium; and (b) file tagging information recorded in available slack space of the allocated storage sub-areas of each said file. - View Dependent Claims (26, 27, 28, 29, 30, 31, 43)
-
-
32. A file recovery method for application to a random access storage device having files defined by data stored storage sub-areas of the device, some of said storage sub-areas having slack areas tagged by a predefined end-of-file tagging code, said file recovery method comprising the steps of:
-
(a) scanning the random access storage device to identify as tagged, each storage sub-area containing the end-of-file tagging code; (b) in response to the identification of such tagged storage sub-areas, forming and storing file recovery information that indicates the ending locations of the identified storage sub-areas as respective, possible end positions or beginning positions of corresponding files or file fragments; and (c) reconstructing a directory structure in accordance with the formed file recovery information. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39)
-
-
40. A data-recovery assisting apparatus for operatively coupling to a system processing unit of a computer system having a random access storage device with a damaged directory structure, where the random access storage device stores files whose respective file data is distributed across plural storage sub-areas of the random access storage device and where at least some of the sub-areas contain slack areas tagged by a predefined unique tagging code, said data-recovery assisting apparatus containing instructions for causing the system processing unit to carry out a recovery process including the steps of:
-
(a) scanning the random access storage device to identify as tagged, each storage sub-area containing the end-of-file tagging code; (b) in response to the identification of such tagged storage sub-areas, forming and storing file recovery information that indicates the ending locations of the identified storage sub-areas as respective, possible end positions or beginning positions of corresponding files or file fragments; and (c) reconstructing a directory structure in accordance with the formed file recovery information. - View Dependent Claims (41, 42)
-
Specification