Snapshot - DiskImage Backup for Windows NT

 
Screenshots

Snapshot is easy to use

The Snapshot user interface is Windows Wizard like with few surprises even to inexperienced users.
Anything with a drive letter (like C:, E:) can be backuped.
Anything with a drive letter (like X:) can be used for the image destination.
See some Screenshots of a backup operation.

Snapshot can be used often

For DOS based image backup, the user has to stop his work, boot into a different configuration, wait for the backup to finish, then boot Windows again.
With Snapshot, there is no need to boot. Simply start Snapshot, then continue to work normally.
This enables one of the most important things in backup business: backup often

It is even possible to make image backup for servers, that must be online 24 hours each day.

Snapshot is safe to use

The problem with Windows based disk imaging is, that Windows may constantly write to the disk, even with no user interaction. As the image creation takes some time, you may end up with an disk image, that partially reflects the disk status at program start, partially at a later time.

Snapshot handles this. Once Snapshot has been started, you may continue to work, delete anything on the disk, install new programs,... The created image will in any case reflect the disk status at program start.

Compatible

Snapshot is compatible with

Fast and efficient

Both speed and image size are data and configuration dependent. In short:

Snapshot saves about 100MB/min on a P200MMX, 400 MB/min on a P700, and 550 MB/min on a dual P700. The compressed image size is comparable to the best other DOS based disk imaging products.
More detailed performance data can he found here.

How it works

Any disk image program takes some time to run. Depending on computer speed and disk size, this take a few minutes to few hours. So a 1GB disk on a P200 will take ~10 minutes to store, and ~2 minutes on a REALLY FAST computer. As WinXX constantly writes to the disk, what do I get?

SnapShot takes the image at a certain point of time.

When SnapShot gets started, it will take some time to collect information about the disk to be saved, as disk size, used disk space,...
Then the OS is instructed to write all data from the disk caches.

And then, Snapshot takes the SnapShot.

All you will get in your Disk Image, is, what is at this very moment on your disk. What's on the disk, is saved; nothing else.
If you would POWER OFF the computer at this moment and make the image from DOS, you would get exactly the same. Because we flushed all data to the disk, WinXX will boot without CHKDSK, because the data on the disk are consistent.
You would loose the changes of any open (unsaved) files, of course, but the original would be existent and valid.

The magic

The idea is simple:

By using WindowsNT Driver technology, Snapshot chains itself between the file system and the disk driver and will see any request to the disk.
When any WRITE request to data, that are not yet saved, is detected, the data are read first from the disk and saved, before the WRITE request is allowed to proceed.

So the data are completely safe against change; and this allows the user to work, while Snapshot is running, no changes will not be reflected into the image produced. Whatever he does, the image will contain the disk data at start time.
He may work as usual, clean up the disk, install/uninstall Software, or even catch a virus of his choice.

SnapShot even makes some effort to minimize its influence on other programs.
Snapshot uses about 7MB of memory during Backup, 0 bytes when not activ.
Snapshot runs at low priority, giving the foreground application as many CPU cycles as needed.
As SnapShot uses a huge amount of disk IO (~15 MB/sec for P700), Snapshot would bring down a typical Windows program start to a crawl. So Snapshot watches for any user disk activity and will pause for a short while, so the user application runs at nearly full speed.
SnapShot still makes sure, that no unsaved data are overwritten. In this case, SnapShot will buffer these data up to a few Megabytes in memory, and then simply delay the application, until these data have been saved to the SnapShot destination.
This won't happen often, as applications tend to modify the same data over and over again, like a database's index files. These data will be saved the first time, a change is detected, later requests will proceed at normal speed.


Copyright © 2001-2004 tom ehlert -- last modified 10 Jul 04 link table for Bots