Patent ID: 8601206

Claim:
A non-transitory computer readable medium comprising instructions, which when executed by a processor, perform a method, the method comprising: creating a transaction object for a transaction, wherein the transaction object is identified by a transaction object ID (TOI) and associated with an object identified by an object ID (OID); storing, in persistent storage, a first table of contents entry (TE) and a metadata (MD) frag for the transaction object, wherein the first TE references the MD frag and the MD frag identifies the object; receiving a write request to write data to the transaction object as part of the transaction, wherein the write request specifies the TOI and an offset; in response to the write request: storing, in the persistent storage, a second TE and a data frag, wherein the second TE specifies the TOI and offset, and wherein the second TE references the data frag and the data frag comprises the data; storing, in an in-memory data structure, an entry comprising a hash value and a physical address of the data frag, wherein the hash value is derived from the TOI and the offset; receiving a commit request to commit the transaction; in response to the commit request: storing, in persistent storage, a third TE and a second metadata (MD) frag for the transaction object, wherein third TE references the second MD frag, wherein the second MD frag identifies the object and specifies that the transaction is committed; updating, in the in-memory data structure, a second entry comprising a second hash value and a second physical address for a second data frag to replace the second physical address with the physical address, wherein the second hash value is derived from the OID and the offset.