1. A system for storage checkpointing in a mirrored virtual machine system, comprising: a processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to: receive a modifying operation to modify data stored at a physical storage location within the storage system from a first virtual machine; carry out the modifying operation in a non-destructive manner by saving modifying operation data of the modifying operation to a new checkpointing region of the physical storage location that is appended to the data stored at a previous checkpointing region in the physical storage location thereby preserving a stored previous data state of the data; receive a start new checkpoint notification; responsive to receiving the start new checkpoint notification, save subsequent modifying operation data in the previous checkpointing region, wherein the start new checkpoint notification is received and completed before new modifying operations are submitted by the first virtual machine; receive a retire previous checkpoint notification; copy an associated state of the new checkpointing region from the first virtual machine to the second virtual machine; responsive to receiving the retire previous checkpoint notification, commit the modifying operation data from the new checkpointing region to the appended physical storage location and releasing the data associated with the previous checkpointing region and modified by the modifying operation data as the new checkpointing region, wherein the retire previous checkpoint notification is received only when the associated state of the new checkpointing region has been completely transferred from the first virtual machine to a second virtual machine; and resume the implementation of the other modify operations from the first virtual machine.