A memory system comprising: a first storage unit that is volatile; a second storage unit that is nonvolatile including a plurality of blocks, each one of the plurality of blocks being a data erasing unit and including a plurality of pages, each one of the plurality of pages being a data writing unit; a read/write control unit that performs data reading from the second storage unit and data writing to the second storage unit based on a management table (202, 204) in which a logical address is associated with a data storage position in the second storage unit; an operating state managing unit that stores a first log into the second storage unit before the log reflecting unit stores the difference log into the second storage unit after system startup, and stores a second log into the second storage unit when normal system halt is performed; and a management-information restoring unit that detects at least one of the first log, the difference log, and the second log stored in the second storage unit and judges whether normal system halt has been performed, characterized by a log control unit that transfers the management table to the first storage unit, and when an event to update the management table on the first storage unit occurs, stores difference information before and after update of the management table as a difference log into the first storage unit; a log reflecting unit that executes commit processing for storing the difference log into the second storage unit and reflecting the difference log in the management table stored in the first storage unit when a first condition is established; and further characterized in that the plurality of blocks includes a first type of block for which writing is performed in the block from a top page of the first block after performing an erasing operation and a second type of block in which invalid data is written up to a first area of the block, the first area being composed of at least one page from a top page of the second block, and writing is additionally performed to a page following the first area in the block without performing the erasing operation, and the management-information restoring unit changes the management table, when judging that the normal system halt is not performed, to release the block of the second type and use the released block as a block of the first type. a first storage unit that is volatile; a second storage unit that is nonvolatile including a plurality of blocks, each one of the plurality of blocks being a data erasing unit and including a plurality of pages, each one of the plurality of pages being a data writing unit; a read/write control unit that performs data reading from the second storage unit and data writing to the second storage unit based on a management table (202, 204) in which a logical address is associated with a data storage position in the second storage unit; an operating state managing unit that stores a first log into the second storage unit before the log reflecting unit stores the difference log into the second storage unit after system startup, and stores a second log into the second storage unit when normal system halt is performed; and a management-information restoring unit that detects at least one of the first log, the difference log, and the second log stored in the second storage unit and judges whether normal system halt has been performed, characterized by a log control unit that transfers the management table to the first storage unit, and when an event to update the management table on the first storage unit occurs, stores difference information before and after update of the management table as a difference log into the first storage unit; a log reflecting unit that executes commit processing for storing the difference log into the second storage unit and reflecting the difference log in the management table stored in the first storage unit when a first condition is established; and further characterized in that the plurality of blocks includes a first type of block for which writing is performed in the block from a top page of the first block after performing an erasing operation and a second type of block in which invalid data is written up to a first area of the block, the first area being composed of at least one page from a top page of the second block, and writing is additionally performed to a page following the first area in the block without performing the erasing operation, and the management-information restoring unit changes the management table, when judging that the normal system halt is not performed, to release the block of the second type and use the released block as a block of the first type.