Patent ID: 7831764
Filing Date: 2010-11-09
Classification: G06F

Abstract:
1. A storage system, which is coupled to a host computer through a network and stores data that is read/written by the host computer, comprising: an interface that is coupled to the network; a processor that is coupled to the interface; a memory that is coupled to the processor; a cache memory in which the read/written data is temporarily stored; and a storage device in which the read/written data is stored, wherein the storage device comprises a plurality of memory drives that are formed of non-volatile memory, and form a group of the memory drives whose number is larger than the number of memory drives necessary to provide the memory capacity which is identified by the host computer, wherein each of the memory drives included in the group has a storage area divided in predetermined capacity, wherein the divided storage areas are managed in each of segments that includes at least one of the divided storage areas included in the respective memory drives included in the group, wherein the processor allocates, to the respective divided storage areas, at least one data storage area in which the read and written data is stored and at least one temporary storage area which is a free area are included in the segment, wherein in the case where the processor receives a data write request from the host computer through the interface, the processor extracts the data storage area in which the write data is written, and specifies the segment including the extracted data storage area, and wherein in the case where size of the write data is larger than a value that is determined on the basis of size of the data that is stored in the extracted data storage area, the processor reads the data stored in the extracted data storage area, updates the read data according to the write request, stores the updated data in the cache memory, selects first temporary storage area included in the specified segment, writes the data stored in the cache memory in the selected first temporary storage area, sets the selected first temporary storage area as a new data storage area, erases the extracted data storage area, and sets the extracted data storage area as a new temporary storage area, wherein the processor: allocates, to the segment, at least one redundant data storage area in which redundant data of the data stored in the data storage area; extracts the redundant data storage area in which the redundant data of the data stored in the extracted data storage area is stored, in the case where the processor receives data requested to write from the host computer through the interface; updates the redundant data on the basis of the received data write request; and stores the updated redundant data in the cache memory.