Patent ID: 7254592

Claim:
A method of updating a block of digital data in which plural updating operations must either all succeed together or all fail together, the method comprising in order the steps of: providing a list of transaction identifiers that each are capable of temporarily uniquely identifying a group of the plural updating operations, each of the transaction identifiers being assigned to a group of the plural updating operations and designated active or not assigned to a group of the plural updating operations and designated inactive; changing an inactive one of the transaction identifiers to a first active transaction identifier that temporarily uniquely identifies a first group of the plural updating operations; first copying the block of digital data from a first memory location to a second memory location; updating the block of digital data by performing the first group of plural updating operations on the block of digital data in the second memory location; second copying the updated block of digital data from the second memory location to a third memory location, wherein each of the first and third memory locations has a state identifier that identifies a state of the data in the respective location, wherein after the updating step, the state identifier of the third memory location changes to a value indicating that the third memory location is undergoing a write operation, wherein after the second copying step, the state identifier of the third memory location changes to a value indicating that the third memory location contains data that has been updated as part of the first group of plural updating operations and then changes to a value indicating that the third memory location contains valid data; and changing the first active transaction identifier back to an inactive one of the transaction identifiers.