Patent ID: 7836025

Claim:
A method of storing data to nonvolatile mass storage in a network file computer system which includes a server computer and a plurality of client computers which execute a file system protocol, the server computer including a nonvolatile system memory, the method comprising: sending data and a client request to store the data in the mass storage from a client computer to the server computer; temporarily storing a single copy of the data in the nonvolatile system memory; establishing a nonvolatile log which defines the data and each client request in the nonvolatile system memory; establishing a pointer as a part of the nonvolatile log for each client request, the pointer identifying a memory address within the nonvolatile system memory wherein the single copy of the data is temporarily stored; updating a nonvolatile inode which includes information that defines the present contents of the nonvolatile mass storage with each change in data written to the nonvolatile mass storage; periodically obtaining nonvolatile consistency points which each define contents of the mass storage when the nonvolatile consistency points are acquired; and recovering from an unclean shutdown by using one of the nonvolatile consistency points, the inode, the pointers, and the client requests within the nonvolatile log to restore the nonvolatile mass storage to a previous state existing before the unclean shutdown and to execute the client requests pending before the unclean shutdown.