Patent ID: 9367469
Filing Date: 2016-06-14
CPC Classification: G06F

Claim Text:
1. A storage system, comprising: multiple storage devices for storing data; and a storage controller, which comprises a processor and a cache memory in which data to be stored in the multiple storage devices is stored temporarily, wherein the cache memory comprises a nonvolatile semiconductor memory as a storage medium, and comprises a cache controller, which is coupled to the nonvolatile semiconductor memory, the nonvolatile semiconductor memory comprises multiple blocks, each of the multiple blocks is a data erase unit and comprises multiple pages, and each of the multiple pages is a data write and read unit, the processor sends to the cache memory data and attribute information, which comprises information related to a storage period, which is a period of time during which the data is stored in the cache memory, and wherein the cache controller: receives the data and the attribute information from the processor; selects a storage-destination block for the received data based on the received attribute information and attribute information on the data stored in the multiple blocks; and writes the received data to a page inside the selected storage-destination block, wherein the cache controller selects the storage-destination block such that data, for which the length of the storage period is within a prescribed value, is stored in the same block, wherein the cache controller selects the storage-destination block such that different data, for which the length of a time period during which the data is stored in the cache memory is equal to or larger than a prescribed value, is stored in different blocks, wherein, in a process for creating a parity, which is a redundancy code, in a case where the processor controls the multiple storage devices as a RAID and updates old data, which is pre-update data stored in any of the multiple storage devices, to new data, which is the data after updating the old data, the processor reads the old data and old parity, which is associated with the old data, from the multiple storage devices, sends the old data and attribute information showing the old data to the cache memory, and sends the old parity and attribute information showing the old parity to the cache memory, and the cache controller, based on the attribute information showing the old data and the attribute information showing the old parity, selects the same block as a storage-destination block for the old data and a storage-destination block for the old parity, wherein the processor invalidates old data and old parity when cache duplexing of new parity is completed after parity renewal if the new parity has to be duplexed in the cache memory.