A storage system including a computer, and a storage apparatus having a plurality of disk devices storing pieces of data sent from the computer and a plurality of logical units configured from the disk devices, comprising:
- a group management table storing group information including at least information for one or more groups configured from the logical units and information on whether or not these groups are active;
- a power control unit which switches ON/OFF the power of the disk devices associated with the logical units in the groups;
- a data management table storing management information including:
- logical unit numbers corresponding to the logical units associated with storage locations of the pieces of data stored in the disk devices, values representing bit strings for the pieces of data, and computer-designated numbers associated with the logical units;
- a calculation unit which calculates, when receiving a piece of data from the computer, a value representing the bit string for the piece of data;
- a judgment unit which judges whether or not a value identical to the value calculated by the calculation unit is stored in the data management table;
- a first storing unit which stores, when the judgment unit judges that no identical value is stored, the received piece of data in the data management table and stores it in one or more disk devices associated with a logical unit number of a logical unit constituting an active group, based on the group management table;
- a second storing unit which stores, when the judgment unit judges that an identical value is stored, the received piece of data in one or more of the disk devices based on the group information in the group management table and the management information in the data management table;
- and
- a un-compared data management table storing un-compared data information including at least the logical unit numbers of logical units temporarily storing pieces of data and values representing the bit strings for the pieces of data,
- wherein the second storing unit comprises:
- a non-comparison judgment unit which judges whether or not a value identical to the value representing the bit string for the received piece of data is stored in the un-compared data management table,
- a un-compared data processing unit which stores, when the non-comparison judgment unit judges that an identical value is stored, the received piece of data in one or more disk devices associated with the logical unit number of a logical unit constituting an active group, based on the group management table, and stores the logical unit number associated with the disk devices storing the received piece of data, and the value representing the bit string for the received piece of data in the un-compared data management table, and
- a de-duplication unit which performs, when the non-comparison judgment unit that judges an identical value is not stored, de-duplication processing to prevent the received piece of data from being stored redundantly;
- wherein the de-duplication unit comprises:
- a status judgment unit which judges, based on the group management table, whether or not one or more disk devices storing the piece of data having a value identical to the value representing the bit string for the received piece of data, are active;
- a data judgment unit which reads, when the status judgment unit judges that the disk devices are active, the piece of data having the identical value from the disk devices, and judges whether or not the read piece of data and the received piece of data match;
- a third storing unit which stores, when the data judgment unit judges that the pieces of data match, a computer-designated number for the received piece of data in the data management table, and associates it with the logical unit number of the read piece of data;
- and
- a fourth storing unit which stores, when the data judgment unit judges that the above pieces of data do not match, the received piece of data in the disk devices storing the read piece of data, and stores the management information for the received piece of data in the data management table.