Claims
- 1. A data backup system for use with a server running a storage application that writes and read data blocks to and from a self archiving log structured volume, the data backup system comprising:
a self archiving log structured volume for copying blocks from primary storage to backing storage while the storage application is running; an agent to indicate to the self archiving log structured volume when the blocks of the self archiving log structured volume are in a consistent state with respect to the storage application; and primary and backup storage operable with the self archiving log structured volume to store the logged blocks and synch events of the self archiving log structured volume.
- 2. The data backup system of claim 1 wherein:
the self archiving log structured volume includes a log having a plurality of log segments and an index, the log segments including a current log segment and active log segments for storing blocks of an active volume, wherein the index shows the current position of each block in the log segments.
- 3. The data backup system of claim 2 wherein:
the self archiving log structured volume satisfies write block requests from the storage application by copying the written block to the end of the log and then updating the index with the current position of that block in the log.
- 4. The data backup system of claim 2 wherein:
the self archiving log structured volume satisfies a read block request by looking up the requested block in the index and then copying the requested block from the log.
- 5. The data backup system of claim 2 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.
- 6. The data backup system of claim 2 wherein:
the self archiving log structured volume writes blocks to the current segment of the log and then converts the current segment to an active segment when the current segment is full.
- 7. The data backup system of claim 6 wherein:
the active segments of the log structured volume are in a time sequential order.
- 8. The data backup system of claim 2 wherein:
the segments of the log are of equal size.
- 9. The data backup system of claim 2 wherein:
the log further includes a plurality of inactive segments and a plurality of recycle segments.
- 10. The data backup system of claim 2 wherein:
the self archiving log structured volume is operable to construct a volume index from any synch point by scanning backward in the log and updating the index entry for each block to the most recent position in the log.
- 11. The data backup system of claim 10 wherein:
the current segment and the active segments of the log make up a working set of segments having a fixed length from which all write request blocks are satisfied.
- 12. The data backup system of claim 11 wherein:
the maximum length of the scan is the length of the working set of segments and one additional segment.
- 13. The data backup system of claim 12 wherein:
the oldest active segment is designated as an inactive segment when the working set of segments becomes full.
- 14. The data backup system of claim 13 wherein:
the inactive segments are compressed and archived by the self archiving log structured volume to the backing storage.
- 15. The data backup system of claim 14 wherein:
the contents of an inactive segment on the primary storage are discarded after being compressed and archived to the backing storage and the inactive segment then becomes a recycle segment.
- 16. The data backup system of claim 2 wherein:
the size of each segment and the number of segments is determined by policy.
- 17. The data backup system of claim 2 wherein:
the self archiving log structured volume is operable to migrate inactive segments of the log to the backing storage.
- 18. The data backup system of claim 17 wherein:
the self archiving log structured volume is operable to ensure that a volume can be reconstructed from a fixed number of log segments.
- 19. A method for backing up data using a self archiving log structured volume having a sequence of numbered blocks of fixed length and a log for recording log entries of write events and synch events to the volume, wherein the log includes synch event entries, active log entries, and inactive log entries, the method comprising:
performing a write event by copying data to a sequence of the blocks of the volume, wherein each write event entry includes the number of the block being written and the contents of the block being transferred; performing a synch event to record a point in time when the blocks of the volume were known to be in a consistent state, wherein each synch event entry includes the time of the synch event; performing a log entry for a write event, wherein a log entry for a write event is an active log entry until superseded by a later write event for the same block number and then the active log entry becomes an inactive log entry, wherein when an active segment consists only of inactive entries and synch entries the active segment becomes an inactive segment eligible to be archived; archiving an inactive segment to backing storage; converting the archived inactive segment to a recycle segment containing no entries and eligible to become the new current segment, wherein the current log segment and the active log segment define a finite reconstruction length for the volume; recording index entries in an index of the log, each index entry associated with a volume block number and a corresponding log entry; and satisfying write events by adding an entry for a block of the volume to the current log segment and updating the index entry for the block number with the log location of the new log entry.
- 20. The method of claim 19 wherein:
inactive log entries are archived to backing storage without knowledge of a storage application owning the volume because the log organization eliminates the possibility of contention for the same blocks between the storage application and the archiving process.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser. No. 09/657,291, filed on Sep. 8, 2000.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09657291 |
Sep 2000 |
US |
Child |
10721397 |
Nov 2003 |
US |