A management method of managing a storage area in a nonvolatile semiconductor memory drive of a type in which data is additionally written, the memory drive comprising a nonvolatile semiconductor memory arranged as a plurality of groups, each of the plurality of groups consisting of a plurality of pages, each of the plurality of pages comprising at least one cluster used as a data management unit, and a controller coupled to the semiconductor memory, the controller configured to control a process of writing and reading data with respect to the nonvolatile semiconductor memory, the method comprising:
- acquiring free groups by rearranging valid data stored in n groups in groups of a number not larger than n−1 when the number of free groups remaining in a plurality of groups becomes not larger than a predetermined number, wherein the valid data being rearranged is in a unit of clusters;
- and
- in order to suppress an execution opportunity of the acquiring of free groups by rearranging valid data, acquiring free groups by compressing data stored in m groups in which access to valid data stored therein has not been made for a period longer than a predetermined period and rearranging the compressed data in groups of a number not larger than m−1, wherein the data being compressed is in a unit of groups, and wherein
- the acquiring free groups by compressing data comprises decompressing the compressed data and rearranging the decompressed data when a read frequency with respect to valid data in a group set in a state in which the stored data is compressed and rearranged together with stored data of another group exceeds a predetermined number.