IP Library Granted Patent US 11,099,985
Granted Patent B2
US 11,099,985 · App. 16/772,433 · Granted Aug 24, 2021

Storage controller, storage array device, data depositing method, and storage medium

Inventor: Toshinori Fukunaga (Kanagawa, JP)
Assignee: NEC Platforms, Ltd.
G06F12/0802G06F3/0604G06F3/0652G06F3/0655G06F3/0676G06F3/0679G06F2212/70G06F2212/7205
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,099,985
App. No.
16/772,433
Granted
Aug 24, 2021
Kind
B2
Abstract

A storage controller, includes: at least one memory storing a set of instructions; and at least one processor configured to execute the set of instructions to: perform cache processing of storing, in a cache storage, data stored in a physical disk; specify a set of data that are adjacent to each other in a logical disk and are not adjacent to each other in the physical disk, among data stored in the cache storage, and set a group including the specified set of data; determine, at an opportunity in which all cached data among data belonging to the group become target data of deletion from the cache storage, a range in the physical disk in which the target data are stored in such a way that all data belonging to the group are continuously arranged in the physical disk; and write the target data into the determined range.

Claims (52)

1. A storage controller, comprising:

at least one memory storing a set of instructions; and

at least one processor configured to execute the set of instructions to:

perform cache processing of storing, in a cache storage, data stored in a physical disk;

specify a set of pieces of data that are adjacent to each other in a logical disk and are not adjacent to each other in the physical disk, among data stored in the cache storage, and set a group including the specified set of data;

determine, at an opportunity in which all cached data among data belonging to the group become a target to be deleted from the cache storage, a range in the physical disk in which data being the target to be deleted are stored in such a way that all data belonging to the group are continuously arranged in the physical disk; and

write the data being the target to be deleted into the determined range.

2. The storage controller according to claim 1 , wherein

each piece of the data is data in an individually compressible unit, and

the at least one processor is further configured to execute the set of instructions to

individually compress each piece of data being the target to be deleted, and stores each piece of the compressed data into the determined range.

3. The storage controller according to claim 1 , wherein

the at least one processor is further configured to execute the set of instructions to

also store, when the storage controller receives a read request for reading data of a part of data belonging to the group, data that belong to the group and are not a target of the read request, in the cache storage.

4. The storage controller according to claim 1 , wherein

the at least one processor is further configured to execute the set of instructions to

specify, when the storage controller receives a read request for reading data that do not belong to any of the groups, data that are stored in the cache storage, are adjacent to data being a target of the read request in the logical disk, and are adjacent to the data being the target of the read request in the physical disk, and sets a group including the specified data and the data being the target of the read request.

5. The storage controller according to claim 1 , wherein

the at least one processor is further configured to execute the set of instructions to

determine, when the storage controller receives a write request for updating data of a part of data belonging to the group, data to be cached from data included in the group, based on a comparison between a size of data after updating of data being a target of the write request and a size of data before updating of the data being the target of the write request, and caches the determined data.

6. A storage array device, comprising:

the storage controller according to claim 1 ;

the cache storage; and

a disk drive that includes the physical disk and in which the logical disk is constructed.

7. A data storage method, comprising:

performing cache processing of storing, in a cache storage, data stored in a physical disk;

specifying a set of pieces of data that are adjacent to each other in a logical disk and are not adjacent to each other in the physical disk, among data stored in the cache storage, and setting a group including the specified set of data;

determining, at an opportunity in which all cached data among data belonging to the group become a target to be deleted from the cache storage, a range in the physical disk in which data being the target to be deleted are stored in such a way that all data belonging to the group are continuously arranged in the physical disk; and

writing the data being the target to be deleted into the determined range.

8. The data storage method according to claim 7 , wherein

each piece of the data is data in an individually compressible and extendable unit, and

the data storage method further comprises individually compressing each piece of data being the target to be deleted, and storing each piece of the compressed data into the determined range.

9. The data storage method according to claim 7 , further comprising

also storing, when receiving a read request for reading data of a part of data belonging to the group, data that belong to the group and are not a target of the read request, in the cache storage.

10. The data storage method according claim 7 , further comprising

specifying, when receiving a read request for reading data that do not belong to any of the groups, data that are stored in the cache storage, are adjacent to data being a target of the read request in the logical disk, and are adjacent to the data being the target of the read request in the physical disk, and setting a group including the specified data and the data being the target of the read request.

11. The data storage method according to claim 7 , further comprising

determining, when receiving a write request for updating data of a part of data belonging to the group, data to be cached from data included in the group, based on a comparison between a size of data after updating of data being a target of the write request and a size of data before updating of the data being the target of the write request, and caching the determined data.

12. A non-transitory computer-readable storage medium that stores a program causing a computer to execute:

cache processing of storing, in a cache storage, data stored in a physical disk;

setting processing of specifying a set of pieces of data that are adjacent to each other in a logical disk and are not adjacent to each other in the physical disk, among data stored in the cache storage, and setting a group including the specified set of data;

determination processing of determining, at an opportunity in which all cached data among data belonging to the group become a target to be deleted from the cache storage, a range in the physical disk in which data being the target to be deleted are stored in such a way that all data belonging to the group are continuously arranged in the physical disk; and

writing processing of writing the data being the target to be deleted into the determined range.

13. The storage medium according to claim 12 , wherein

each piece of the data is data in an individually compressible and extendable unit, and

the writing processing individually compresses each piece of data being the target to be deleted, and stores each piece of the compressed data into the determined range.

14. The storage medium according to claim 12 , wherein

the cache processing also stores, when the computer receives a read request for reading data of a part of data belonging to the group, data that belong to the group and are not a target of the read request, in the cache storage.

15. The storage medium according to claim 12 , wherein

the setting processing specifies, when the computer receives a read request for reading data that do not belong to any of the groups, data that are stored in the cache storage, are adjacent to data being a target of the read request in the logical disk, and are adjacent to the data being the target of the read request in the physical disk, and sets a group including the specified data and the data being the target of the read request.

16. The storage medium according to claim 12 , wherein

the cache processing determines, when the computer receives a write request for updating data of a part of data belonging to the group, data to be cached from data included in the group, based on a comparison between a size of data after updating of data being a target of the write request and a size of data before updating of the data being the target of the write request, and caches the determined data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2020
From: FUKUNAGA, TOSHINORI
To: NEC PLATFORMS, LTD.
Reel/Frame 053191/0778 →
Priority Claims (1)
JP JP2017-244457 · Dec 20, 2017 · national
Continuity (1)
Related Publication 20210073128A1 · Mar 11, 2021