Patent ID: 6915315

Claim:
A data backup system for use with a server running a storage application that writes and read data blocks, the data backup system comprising: a self archiving log structured volume for copying data blocks from a log in primary storage to backing storage while the storage application is running and writing and reading data blocks of an active volume to and from the self archiving log structured volume, the self archiving log structured volume includes the log which has a plurality of log segments and an index, the log segments including a current log segment and active log segments for storing data blocks of the active volume, the log segments further including a plurality of inactive segments and a plurality of recycle segments, wherein the index shows the current position of each data block in the log segments; wherein the self archiving log structured volume satisfies write block requests from the storage application by writing the written data block to the current log segment, converting the current log segment to an active log segment with the current log segment is full, and then updating the index with the current position of that data block in the log, wherein the current log segment and the active log segments of the log make up a working set of segments having a fixed length from which all write request data blocks are satisfied by the self archiving log structured volume; wherein the self archiving log structured volume satisfies a read block request by looking up the requested data block in the index and then copying the requested data block from the log; an agent cooperating with the storage application to send a synch event to the self archiving log structured volume when the data blocks of the self archiving log structured volume are in a consistent state with respect to the storage application; wherein the self archiving log structured volume records a synch event by writing a special block to the log containing the date, time, and other information describing the synch event, wherein the self archiving log structured volume constructs a volume index from any synch point by scanning backward in the log and updating the index entry for each data block to the most recent position in the log; and primary storage and backup storage operable with the self archiving log structured volume to store the logged data blocks and synch events of the self archiving log structured volume; wherein, in order to ensure that a volume can be reconstructed from a fixed number of log segments, the self archiving log structured volume designates the oldest active log segment as an inactive log segment when the working set of segments becomes full, and then compresses and archives this inactive segment to the backing storage, and then discards the contents of this inactive segment from the primary storage, and then designates this inactive segment as a recycle segment.