1. A method, comprising: keeping a record of the roles of some disk locations X and Y in order to preserve the original data contents of location X; in the event that an operating system requests overwriting of original data at location X with new data, diverting the storing of the new data to disk location Y instead of taking the place of the original data at location X such that the original data remains in disk location X; consulting the record in the event the operating system requests a read of location X in order to divert the read to location Y; reconstructing a prior state of data stored on the disk corresponding to an earlier time by (i) reading data from the disk which the operating system has not requested to be overwritten before the prior state occurred, (ii) reading original data retained on the disk, and (iii) combining the data read from both sources (i) and (ii); and automatically recycling the disk locations that are associate with the original data overwritten by the operating system such as X to receive the new data of a subsequent diverted write by the operating system.