To quickly solve the problem of mismatching of memory regions when a power source is interrupted during processing in the rewriting of data and garbage collection.
A memory managing part 3 manages a memory part 2 by using a leading unit for managing a logical address and a data unit for managing data rewriting. The leading unit is provided with the logical address of the data unit and the physical address of the leading unit of the data unit, and the data unit is provided with the physical address of the next data unit of its own unit and state information indicating whether its own units is in the middle of writing and real data. As for restoration processing, the progress situation of the processing is detected by making the logical address and physical address of the memory part correspond to each other by the leading unit and the data unit, and the overwriting processing of data is executed only to the data unit in the middle of writing the state information. Even when a power source is interrupted during the garbage collection processing, the garbage collection processing is executed only to the unit in the middle of rewriting.
Suzuki, Katsuhiko
Hirata, Shinichi
Goromaru, Hideki
