Patent ID: 9690691
Date: 2017-06-27
CPC Classifications: G06F

Claim:
1. A controller that is connected to a data access unit that writes and reads data to and from a data storage unit that stores data, a management information access unit that writes and reads data to and from a management information storage unit that stores management information including address conversion information in which physical addresses and logical addresses of the data storage unit are associated with each other, a first access unit that writes and reads data to and from a first storage unit that stores a first physical address of the data storage unit, and a second access unit that writes and reads data to and from a second storage unit that stores a second physical address of the data storage unit, wherein a storage area of the data storage unit is composed of blocks, the blocks including one or more first blocks for host write that are allocated for write object data, the write object data being data requested to be written by a host device, includes one or more second blocks for compaction that are allocated for compaction object data, and includes one or more non-used blocks; the first physical address is indicative of a page in the one or more first blocks for the host write; and the second physical address is indicative of a page in the one or more second blocks for the compaction, and the controller comprises: a write instructing unit that instructs the data access unit to write the write object data in the page in the one or more first blocks for the host write indicated by the first physical address; and a compaction unit that instructs the data access unit to write the compaction object data in the page in the one or more second blocks for the compaction indicated by the second physical address, and wherein an allocating unit allocates, when non-used blocks are to be allocated to the one or more first blocks and to the one or more second blocks, non-used blocks such that a rate at which non-used blocks are allocated to the one or more first blocks and non-used blocks are allocated to the one or more second blocks is expressed by 1:N; and N becomes a rate of a write amount of the compaction object data to be processed when a write amount of the write object data from the host device is 1.