Patent ID: 9058883
Filing Date: 2015-06-16
Classification: G06F,G11C

Abstract:
1. A control apparatus that reads data from and writes data to a plurality of blocks in a flash memory, each of the blocks serving as a unit of data erasure, the control apparatus comprising: an erase check unit configured to (i) select a next block that is next to and different from a current data recording destination block, (ii) erase data in the next block, and (iii) determine whether data erasure in the next block has been successful or not; and a valid data copy unit configured to (i) designate the next block as a new data recording destination block usable for data recording, and (ii) copy a part of a plurality of data records from a previous data recording destination block to the new data recording destination block, based on a determination of the erase check unit that the data erasure in the next block is successful, wherein the erase check unit designates that the next block is broken based on a determination that the data erasure of the next block has failed, the erase check unit further searches for and selects a yet-next block next to the next block, and determines whether the data erasure in the yet-next block is successful or not after attempting the data erasure in the yet-next block, the valid data copy unit designates the yet-next block as the new data recording destination block, based on a determination of the erase check unit that the data erasure of the yet-next block is successful, the plurality of blocks are grouped into plural areas for classifying recording destinations of data records according to data types in the data records, the erase check unit selects the next block from a group of blocks belonging to the data recording destination block among the plural areas, and performs the data erasure to erase data in the next block and to determine whether the data erasure in the next block is successful, the erase check unit determines that the next block is broken when the data erasure in the next block fails, the erase check unit excludes the broken block from the group of blocks in the data recording destination block area, and the erase check unit selects the yet-next block from replacement blocks in a replacement block area which is designated as having a lowest data recording frequency among the plural block areas, includes the yet-next block in the group of blocks in the recording destination block areas, and excludes the yet-next block from a group of blocks in the replacement block area, copies a part of currently-recorded records in the yet-next block to a determined-as-broken block, includes the determined-as-broken block in the group of blocks in the replacement block area, and performs the data erasure to erase data in the yet-next block to determine whether the data erasure in the yet-next block is successful.