An expedited data
backup is performed by creating a duplicate set of pointers to a current dataset already identified by an original pointer set, then designating the dataset as a
backup dataset, and thereafter preventing changes to the pointed-to-data and the duplicate pointers, where changes to the current dataset are nonetheless effected by storing new data and modifying the original pointer set alone. More specifically, the
backup involves an original dataset having multiple subparts residing at various original storage locations, which are pointed-to by a primary set of pointers. A virtual backup copy is created by duplicating the primary set of pointers to create a backup set of pointers. The backup set of pointers are entered in a backup
list, in association with the virtual backup copy and the original dataset. To preserve the backup copy, the
system prevents changes to the original dataset and the backup set of pointers. When any changes are directed to subparts of the original dataset, the
system creates a changed dataset by storing the changes at one or more change storage locations and updating the primary set of pointers to identify the change storage locations along with any original storage locations still containing unchanged subparts of the original dataset. In addition to expediting data backups, fast
data recovery is possible by updating the primary set of pointers to duplicate the backup set of pointers.