All hard disk drives and removable disk drives come with a cache (also called buffer). This is the speediest part of memory for that disk which is used to carry any modifications in data before they are flushed (written) to the hard disk. Just like RAM installed on your motherboard the disk cache is a volatile memory i.e., its contents are lost as soon as the power is turned off. So if you are writing or copying some important file or data to your disk drive and the system experiences a power failure or hangs up, then you lose the data that was inside the disk cache and was not yet written to the disk. If you want to make sure that data is written to the hard disk (non-volatile memory), then you can use the free SysInternals Sync tool which forces Windows to quickly flush the data to disks – thus ensuring that your information will not be lost even if the disk is suddenly powered off.
You can get Sync from the SysInternals website. The tool is a command line tool and must be run with administrator privileges, so you have to open the elevated command prompt in Windows and then give the appropriate command for it to work. To see all the options (parameters) available for this tool, you an give the command sync /? as shown in the following snapshot.
Basically, if you run Sync without any parameters then the program will simply flush any cached data for your fixed drives. But if you run Sync with -r parameter, then it will flush the cache for all the removable disk drives only. You can also specify particular drive letters so as to target the flushing only to those disk drives.
The Sync tool is useful if you want to quickly flush the data to disk drives, remove them from your computer and walk away. However no progress is shown for the actual flushing, so you may have to wait at least 10 seconds before you know that the data has been flushed.
You can get SysInternals Sync from http://technet.microsoft.com/.