Patent ID: 8145598

Claim:
A method for maintaining single instance storage of a plurality of asset parts in a data storage system comprising a plurality of storage nodes, the method comprising: using at least one processor for: maintaining a journal associated with the plurality of the asset parts, the journal comprising entries having generation numbers that are larger than generation numbers of previous entries; creating a first entry to the journal corresponding to a request to add or remove a reference from an asset to an asset part, the first entry further comprising a first generation number assigned thereto; performing a confirmation cycle, wherein the confirmation cycle comprises comparing the first generation number to a second generation number that is associated with the asset part, and when the first generation number is larger than the second generation number, causing a reference count associated with the asset part to be changed; and wherein each of the plurality of asset parts comprises asset part content and asset part metadata, the asset part metadata being associated with a stripe, wherein the asset part content and the stripe are replicated across at least two of the plurality of storage nodes, forming at least one replicated asset part content and at least one replicated stripe having a replicated journal, and wherein creating the first entry further comprises creating the first entry in the replicated journal.