Patent ID: 8543783
Filing Date: 2013-09-24
Classification: G06F

Abstract:
1. A data storage apparatus that performs, for each of a plurality of divided blocks of data to be stored, writing of a compressed block of one of the divided blocks and compression of next one of the divided blocks in parallel, the data storage apparatus comprising: a compressing unit including a plurality of algorithm executing units which compress one of the divided blocks of the data to be stored, using different algorithms in parallel, so as to generate compressed blocks, the compressing unit being configured to generate a plurality of types of compressed blocks for each one of the divided blocks by using the plurality of algorithm executing units; a storage unit configured to store comparison result information indicating one of the compressed blocks generated by the compressing unit and the size of the compressed block; a comparing unit configured to compare sizes of the compressed blocks generated by the respective algorithm executing units, and store, in the storage unit, comparison result information on a compressed block having the smallest size among the compressed blocks; a block storage unit to which the compressed block is written; a writing start determining unit configured to perform a start determination to determine whether a quotient obtained by dividing the size of the compressed block that is indicated in the comparison result information stored in the storage unit by a writing speed of writing the compressed block is less than or equal to an elapsed time from when compression of a previous divided block is started to when writing thereof is started and, when the quotient is determined to be less than or equal to the elapsed time, makes a decision to start writing of the generated compressed block to the block storage unit and compression of a next block of the data to be stored; and a writing unit configured to, when the start decision is made by the writing start determining unit, select as a write block a compressed block having the smallest size among the compressed blocks generated by the compressing unit at the time the start decision is made by the writing start determining unit, on the basis of the comparison result information stored in the storage unit, and write the selected write block to the block storage unit.