1. A device comprising: a processor; a memory operably coupled to the processor; a communication interface operably coupled to the processor to receive a plurality of files from a second device; and a computer-readable medium operably coupled to the processor, the computer-readable medium comprising instructions that when executed by the processor cause the device to (a) allocate a block of the memory for storing the received plurality of files, the allocated block having a predetermined memory size; (b) define a block header associated with the allocated block including an identifier of a first file of the received plurality of files and including a first timestamp identifying when the first file of the plurality of files was sent from the second device; (c) write the block header to the allocated block; (d) define a first file header associated with the first file of the received plurality of files, distinct from the block header, including the identifier of the first file; (e) write the first file header and the first file to the allocated block after the block header; (f) repeat (d) and (e) with each file of the received plurality of files as the first file; (g) define a block trailer including a second timestamp identifying with a last file of the plurality of files was sent from the second device, and writing the defined block trailer to the allocated block of memory; (h) copy the allocated block to a third device to create a backup copy of the received plurality of files; (i) receive a request at the first device to restore a file of the plurality of files to the second device, the request including a third timestamp identifying when the file was sent from the second device; (j) compare the third timestamp with the first timestamp and with the second timestamp; and (k) determine if the file is included in the allocated block of memory based on the comparison.