Transaction-safe FAT file system improvements
First Claim
1. A process for maintaining multiple transaction-safe file allocation tables (TFATs) for a volume of TFAT storage medium, comprising:
- writing a file to non-volatile memory media;
rendering an update of file size to at least one of the multiple TFATs maintained for the TFAT storage medium;
synchronizing the at least one updated TFAT with at least one other TFAT for the TFAT storage medium such that at least two of the multiple TFATs are copies of one another; and
changing a variable to a predetermined value to indicate that one of the synchronized TFATs is designated an active TFAT and that another of the synchronized TFATs is designated an inactive TFAT.
2 Assignments
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.
-
Citations
20 Claims
-
1. A process for maintaining multiple transaction-safe file allocation tables (TFATs) for a volume of TFAT storage medium, comprising:
-
writing a file to non-volatile memory media; rendering an update of file size to at least one of the multiple TFATs maintained for the TFAT storage medium; synchronizing the at least one updated TFAT with at least one other TFAT for the TFAT storage medium such that at least two of the multiple TFATs are copies of one another; and changing a variable to a predetermined value to indicate that one of the synchronized TFATs is designated an active TFAT and that another of the synchronized TFATs is designated an inactive TFAT. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A process for maintaining transaction-safe file allocation tables (TFATs) for a volume of TFAT storage medium, comprising:
-
determining when a write request includes need for writing new data over at least a portion of an entire cluster; when determining indicates that the entire cluster will be rewritten, writing the new data over the new cluster without first re-writing old data in the new cluster location; rendering an update to one of a plurality of TFATs maintained for the TFAT storage medium in response to writing any new data, the updated TFAT designated an inactive TFAT prior to the rendering; copying the updated TFAT over another one of the plurality of TFATs; and flipping the state of a bit to indicate that the updated TFAT is designated an active TFAT after the rendering. - View Dependent Claims (10, 11)
-
-
12. A process for writing data to a file in a TFAT volume, comprising:
-
writing multiple discontinuous pages to discontinuous locations of the file; rendering an update to a first TFAT maintained for the TFAT volume, the first TFAT designated as inactive prior to the rendering the update; changing a bit setting to designate the first TFAT as active after the rendering the update; and synchronizing the first TFAT with a second TFAT maintained for the TFAT volume such that the first and second TFATs are copies of one another, wherein the changing the bit setting further designates the second TFAT as inactive. - View Dependent Claims (13, 14, 15)
-
-
16. Computer readable storage media including computer-readable instructions configured to cause one or more processors to:
-
open a file for writing in a write-through mode; first write a first page of data to a first location in the file within a TFAT volume; second write a second page of data to a second location in the file within the TFAT volume, the second location being discontinuous with the first location, wherein the first and second write comprise an atomic write; render an update to a first TFAT maintained for the TFAT volume in response to the first write and the second write; copy the first TFAT over a second TFAT maintained for the TFAT volume in response to rendering the update; and changing a bit setting so as to designate the first TFAT as active and the second TFAT as inactive. - View Dependent Claims (17, 18, 19, 20)
-
Specification