Patent ID: 8706988

Claim:
A method of controlling a memory system comprising: storing a snapshot in a nonvolatile memory; storing a main log in a first block of the nonvolatile memory; storing a backup log in a second block of the nonvolatile memory; storing management information including a storage position of data stored in the nonvolatile memory in a volatile memory; performing data management in the nonvolatile memory based on the management information; receiving data from a host apparatus, writing data in the nonvolatile memory, and updating the management information; writing the main log in the first block in the nonvolatile memory after writing data in the nonvolatile memory, the main log being an update information of the management information; writing the backup log in the second block in the nonvolatile memory after writing the main log in the nonvolatile memory, the backup log having contents same as that of the main log; and saving the management information as the snapshot in the nonvolatile memory when a predetermined condition is satisfied; wherein the nonvolatile memory includes a plurality of blocks, each one of the plurality of blocks is a data erasing unit, and the main log and the backup log are written in different blocks respectively, and each one of the plurality of blocks includes a plurality of pages, each one of the plurality of pages is a data programming unit or a data reading unit, and the main log and the backup log are written in different pages having a same page number respectively.