Patent ID: 8275930

Claim:
A storage system that receives an input/output (I/O) command from an external device, comprising: a plurality of storage devices; a battery serving as a secondary power source; a volatile memory which stores a plurality of information elements including dirty-amount management information indicating upper limit of the amount of dirty data, which has not yet been written to the storage devices, which is savable utilizing each battery rate of plural battery rates; a non-volatile memory which stores dirty-amount management information showing correspondence between a battery and dirty amount which is upper limit of a total amount of dirty data which is savable among dirty data which has not yet been written to any one of the plurality of storage devices, monitoring charging rate information of the battery, and monitoring dirty amount information showing current dirty amount; an I/O control unit that executes process (A) to (D) of: (A) when the I/O command is a write command, determining, based on the write command, the dirty-amount management information, the monitoring charging rate information, and the monitoring dirty amount information, whether or not sum of information amount of data specified by the write command and the amount of dirty data in the volatile memory exceeds the upper limit at the battery rate indicated by the dirty amount management information, (B) when determining result of the (A) is negative, temporarily storing the data specified by the write command in the volatile memory as dirty data, (C) when determining result of the (A) is positive, storing the data specified by the write command in the volatile memory as clean data and writing the data to at least one of the plurality of storage devices, (D) when the I/O command is a read command, reading data specified by the read command from at least one of the plurality of storage devices, temporarily storing the data in the volatile memory, reading the data from the volatile memory, and sending the data to the external device, a save unit that saves target information elements, which are included in the information elements stored in the volatile memory and are save targets, to the non-volatile memory by using power supplied from the battery when power supplied from a primary power source to the volatile memory is stopped; and a battery monitoring unit that monitors a charging state of the battery and reflects detected charging state on the monitoring charging rate information.