1. A method of writing data from a controller to a nonvolatile memory, comprising the steps of: writing data from the controller to a volatile memory having a data register and a memory core so that the data is stored in the memory core; reading the data from the memory core to the data register while a refresh operation of the memory core is not suspended; placing the volatile memory in a transfer state in which refresh operation of the memory core is not performed to place the memory core in an inactive state where the memory core does not function as a memory for storing data after reading the data from the memory core to the data register; transferring the data from the data register of 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, wherein said step of releasing the volatile memory from the transfer state includes: reading the data from the volatile memory as first data; reading the data from the nonvolatile memory as second data; and releasing the volatile memory from the transfer state in response to finding that the first data matches the second data.