Patent ID: 7747664

Claim:
A system comprising: a data storage device having a file system, said file system comprising: a first file allocation table adapted to store addresses describing chains of storage segments; a first bitmap image adapted to store an allocation bit for each of said storage segments, the allocation bit for a particular storage segment identifying whether the particular storage segment is free or not; a second file allocation table adapted to store addresses describing chains of storage segments, the second file allocation table being a synchronized identical copy of said first file allocation table; a second bitmap image being a synchronized identical copy of said first bitmap image; an indicium adapted to indicate that said first file allocation table and said first bitmap image are last known good; a processor adapted to: perform a change to a portion of said file system, said change comprising modifying said second bitmap image, said change further comprises modifying said second file allocation table, wherein said change comprises at least one of deleting at least a portion of a file, adding a file or modifying a file, wherein said change further comprises when adding a file or modifying a file: updating a directory entry to reflect a size change of said file; updating said second file allocation table to modify a cluster chain; and updating said second bitmap image to indicate allocated clusters for said file; after said change is completed, modify said indicium to indicate that said second file allocation table and said second bitmap image are last known good; and update said first file allocation table and said first bitmap image to be copies of said second file allocation table and said second bitmap image.