Storage system and storage control method
Abstract
A nonvolatile storage device has a permanent area and a cache data log area. A memory has a cache data area. A processor stores data related to a write request in the cache data area, stores a log header having a sequence number and data stored in the memory in a cache data log area, responds to a write request source, registers a sequence number of the log header in an invalidation table, destages the data stored in the memory to the permanent area, creates a log header having a sequence number, registers the sequence number in the invalidation table, and when the cache data log area is collected by a garbage collection method, deletes a log header having a sequence number older than the sequence number registered in the invalidation table and corresponding data from the cache data log area to release the storage area.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A storage system comprising:
a nonvolatile storage device; a processor configured to operate as a storage controller for processing read and write from and to the storage device; and a memory, wherein the storage device has a permanent area in which data is destaged and permanently stored and a cache data log area in which a cache data log is stored to make the cache data log non-volatile, the memory has a cache data area, and the processor is configured to when receiving a write request, store data related to the write request in the cache data area provided in the memory, create a log header having a sequence number related to memory storage of the data, store the log header and the data stored in the memory in the cache data log area of the storage device, respond to a request source of the write request, and register the sequence number of the created log header in an invalidation table, destage the data stored in the memory to the permanent area of the storage device, create a log header having a sequence number related to the destage, and register the sequence number in the invalidation table, and when the cache data log area of the storage device is collected by a garbage collection method, delete a log header having a sequence number older than the sequence number registered in the invalidation table and data related to the log header from the cache data log area to release the storage area.
2 . The storage system according to claim 1 , wherein
the cache data area has a plurality of partial areas, and for each of the partial areas, the destage is performed, the sequence numbers are compared, and the storage area is released.
3 . The storage system according to claim 1 , wherein
when all pieces of data in one of the partial areas are overwritten, a log header related to the overwriting is created, and a sequence number of the log header is registered in the invalidation table.
4 . The storage system according to claim 1 , wherein
the log header includes address information indicating a range of the write or a range of the destage and a sequence number indicating a log order, and when the cache data log area of the storage device is collected by the garbage collection method, the processor specifies a corresponding partial area based on the address information of the log header that is a determination target of collection necessity, and compares a sequence number associated with the specified partial area in the invalidation table with the sequence number of the log header to determine whether collection is necessary.
5 . The storage system according to claim 4 , wherein,
the processor is configured to when the cache data log area of the storage device is collected by the garbage collection method, specify the corresponding partial area based on the address information of the log header that is the determination target of collection necessity, compare the sequence number associated with the specified partial area in the invalidation table with the sequence number of the log header, and determine, if the sequence number of the log header is a number earlier than the sequence number stored in the invalidation table, a log indicated by the log header to be unnecessary and perform collection, and determine, if the sequence number of the log header is not a number earlier than the sequence number stored in the invalidation table, the log indicated by the log header to be necessary, create the log in a new area of the cache data log area, and perform the collection.
6 . The storage system according to claim 5 , wherein
the invalidation table holds a total size of the log header and data of the cache data log area for each of the partial areas, and the processor selects a log header and data as a target of the collection based on the total size.
7 . The storage system according to claim 2 , wherein
a size of the partial area is equal to a minimum unit of data stored in the memory.
8 . The storage system according to claim 1 , wherein
a partial area of the cache data area of the memory has a first partial area having a large size and configured to store data and a second partial area having a small size and configured to store metadata, and the corresponding cache data log area is collected for each of the partial areas.
9 . A storage control method for controlling a storage system,
the storage system including a nonvolatile storage device, a processor configured to operate as a storage controller for processing read and write from and to the storage device, and a memory, the storage device having a permanent area in which data is destaged and permanently stored and a cache data log area in which a cache data log is stored to make the cache data log non-volatile, the memory having a cache data area, the storage control method comprising: by the processor, when receiving a write request, storing data related to the write request in the cache data area provided in the memory; creating a log header having a sequence number related to memory storage of the data, storing the log header and the data stored in the memory in the cache data log area of the storage device, responding to a request source of the write request, and registering the sequence number of the created log header in an invalidation table; destaging the data stored in the memory to the permanent area of the storage device, creating a log header having a sequence number related to the destage, and registering the sequence number in the invalidation table; and when the cache data log area of the storage device is collected by a garbage collection method, deleting a log header having a sequence number older than the sequence number registered in the invalidation table and data related to the log header from the cache data log area to release the storage area.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.