Transaction-safe fat file system improvements
First Claim
Patent Images
1. A method comprising:
- maintaining a first file allocation table and a second file allocation table for a file system;
synchronizing the first file allocation table and the second file allocation table resulting in the second file allocation table comprising a copy of the first file allocation table, the first file allocation table and the second file allocation table containing sector information for used sectors of the file system;
setting a last known good indicator to indicate that the first file allocation table is a last known good file allocation table;
initiating a write operation to write data to a file in the file system; and
, thereafter;
writing the data to one or more unused sectors in the file system;
subsequent to writing the data to the one or more unused sectors in the file system, rendering an update to the second file allocation table;
preserving the first file allocation table and the last known good indicator between writing the data to the one or more unused sectors in the file system and rendering the update to the second file allocation table; and
maintaining the first file allocation table as the last known good file allocation table when the write operation is interrupted, wherein the last known good indicator is not reset to indicate that the second file allocation table is maintained as the last known good file allocation table.
1 Assignment
0 Petitions
Accused Products
Abstract
Concepts for enhancing operation of transaction-safe file allocation table systems are described. The concepts include writing a file to non-volatile memory media and rendering an update of file size to the TFAT storage medium; and receiving a request to locate data in a non-volatile memory having a TFAT file management system, selecting a sector of the memory to parse to locate the data, determining when the selected sector is a first sector of a directory or subdirectory of the memory and when determining reveals that the selected sector is a first sector, skipping reading data from the selected sector. The concepts also include flushing a cache and synchronizing FATs.
83 Citations
20 Claims
-
1. A method comprising:
-
maintaining a first file allocation table and a second file allocation table for a file system; synchronizing the first file allocation table and the second file allocation table resulting in the second file allocation table comprising a copy of the first file allocation table, the first file allocation table and the second file allocation table containing sector information for used sectors of the file system; setting a last known good indicator to indicate that the first file allocation table is a last known good file allocation table; initiating a write operation to write data to a file in the file system; and
, thereafter;writing the data to one or more unused sectors in the file system; subsequent to writing the data to the one or more unused sectors in the file system, rendering an update to the second file allocation table; preserving the first file allocation table and the last known good indicator between writing the data to the one or more unused sectors in the file system and rendering the update to the second file allocation table; and maintaining the first file allocation table as the last known good file allocation table when the write operation is interrupted, wherein the last known good indicator is not reset to indicate that the second file allocation table is maintained as the last known good file allocation table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable storage medium storing computer-executable instructions that, when executed, cause a computing device to perform a method comprising:
-
maintaining a first file allocation table and a second file allocation table for a file system; synchronizing the first file allocation table and the second file allocation table resulting in the second file allocation table comprising a copy of the first file allocation table, the first file allocation table and the second file allocation table containing sector information for used sectors of the file system; setting a last known good indicator to indicate that the first file allocation table is a last known good file allocation table; initiating a write operation to write data to a file in the file system; and
, thereafter;writing the data to one or more unused sectors in the file system; subsequent to writing the data to the one or more unused sectors in the file system, rendering an update to the second file allocation table; preserving the first file allocation table and the last known good indicator between writing the data to the one or more unused sectors in the file system and rendering the update to the second file allocation table; and maintaining the first file allocation table as the last known good file allocation table when the write operation is interrupted, wherein the last known good indicator is not reset to indicate that the second file allocation table is the last known good file allocation table. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computing device comprising:
-
a data storage device storing a file system; a first file allocation table and a second file allocation table for the file system; and one or more computer storage media storing computer-executable instructions for; synchronizing the first file allocation table and the second file allocation table resulting in the second file allocation table comprising a copy of the first file allocation table, the first file allocation table and the second file allocation table containing sector information for used sectors of the file system, setting a last known good indicator to indicate that the first file allocation table is a last known good file allocation table, initiating a write operation to write data to a file in the file system, and, thereafter; writing the data to one or more unused sectors in the file system; subsequent to writing the data to the one or more unused sectors in the file system, rendering an update to the second file allocation table; preserving the first file allocation table and the last known good indicator between writing the data to the one or more unused sectors in the file system and rendering the update to the second file allocation table; and maintaining the first file allocation table as the last known good file allocation table when the write operation is interrupted, wherein the last known good indicator is not reset to indicate that the second file allocation table is the last known good file allocation table. - View Dependent Claims (20)
-
Specification