1. A computer implemented method for storing data on a storage device and retrieving data from the storage device comprising the steps of: a. pre-allocating in a processor a plurality of empty files at the storage device, each of the empty files having a pre-determined file size; b. overwriting sequentially in a processor the empty files with a plurality of data blocks, each of the data blocks having a pre-determined size; and c. retrieving overwritten data blocks from the storage device.