Patent ID: 8224877

Claim:
A method for maintaining a file system object in a non-volatile storage device at successive checkpoints, the method comprising: maintaining an object structure in a memory for the file system object, the object structure comprising a first tree structure rooted by a first root node and a second tree structure rooted by a second root node, each tree structure optionally including a number of intermediate nodes and a number of data blocks, each tree structure representing a version of the file system object; and alternately managing changes to the file system object using the first tree structure rooted by the first root node while storing the second tree structure rooted by the second root node in the non-volatile storage device for a checkpoint that is used for keeping the consistency of data on the non-volatile storage device if the contents of the memory are lost and managing changes to the object structure using the second tree structure rooted by the second root node while storing the first tree structure rooted by the first root node in the non-volatile storage device for a subsequent checkpoint.