Patent ID: 8219739

Claim:
A non-transitory machine accessible medium including program code that when executed by a machine, results in the machine performing operations comprising: in response to a request to update a data sector with data from a file, updating an entire volume associated with the file, the volume being comprised in a memory array that also includes at least one other portion that is outside the volume, wherein the updating the entire volume comprises: updating: a data sector including the data from the file; an uncompressed entry in a sector table, including a reference to the data sector and a compression field holding a first value in response to the data held in the data sector being compressed, and a second value in response to the data held in the data sector being uncompressed; and a file header including a reference to the sector table; and updating a configuration header that is copied at both a beginning and an end of the volume to demarcate the volume from the at least one other portion of the memory array, the configuration header that is copied at both the beginning and the end of the volume permitting the presence and boundaries of the volume to be recognized by locating the configuration header that is copied at both the beginning and the end of the volume, the configuration header also permitting validation that information in the volume has been stored correctly, the configuration header including a cyclic redundancy check (CRC) value based upon the volume, a size of the data sector, a number of blocks in the volume, a name of the volume, and an indication of the amount of free space in the volume.