1. A method of transferring data, comprising the steps of: writing data from a controller to a volatile memory; placing the volatile memory in a transfer state; transferring the data from the volatile memory in the transfer state to a nonvolatile memory; and releasing the volatile memory from the transfer state in response to confirming completion of the transfer of the data.