A system and method for providing online data backup for a computer
system. In which the computer system includes an intermediate block data
container. The computer system may utilize the intermediate block data
container to manage data block release during the online data backup
process. When the data storage driver receives a request to write a block
into a data area that has already been copied by the backup procedure,
then the required write is performed without limitations. If the incoming
write request is directed to an area not yet backed-up, then the write
process is suspended and the current state of the given data area is
copied to the intermediate data storage container. When the copy
procedure is completed, the system will allow the write procedure to be
executed. Thus, the content of the data block at the moment the backup
procedure commenced is stored in the intermediate block container. The
content will be copied from the intermediate block data container by the
backup procedure when required. The block will then be flagged and the
backup process may continue.