1. A method for storage checkpointing in a mirrored virtual machine system, comprising a storage controller: receiving a modifying operation to storage from a virtual machine; carrying out the modifying operation in a non-destructive manner by saving modifying operation data of the modifying operation to a checkpointing region of the storage and preserving a stored previous data state; receiving a checkpoint notification; and committing the modifying operation data from the checkpointing region and releasing the stored previous data state.