# US 10,503,644 B2 · Method, device and computer readable storage media for managing storage system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,503,644 B2
- Document ID: US10503644B2
- Status: Granted
- Kind: B2
- Application number: 15/954,735
- Filed: 2018-04-17
- Published: 2018-10-18
- Granted: 2019-12-10
- Earliest claimed: 2017-04-17
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Xinlei Xu; Ruiyong Jia; Liam Li; Lifeng Yang; Jian Gao
- Web page: https://patentgrep.com/patent/US10503644B2

## CPC

- G06F 12/0828: {with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0611: {in relation to response time}
- G06F 3/0634: {by changing the state or mode of one or more devices}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 12/0811: with multilevel cache hierarchies
- G06F 12/0846: Cache with multiple tag or data arrays being simultaneously accessible
- G06F 12/0897: with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Embodiments of the present disclosure provide a method for managing a storage system, an apparatus and a computer readable storage medium. The method comprises: determining a permitted concurrency number for respective access to multiple storage devices in the storage system by a multi-level cache device of the storage system, the permitted concurrency number being associated with a state of the multiple storage devices; in response to receiving an access request for the storage system, determining a cache device in the multi-level cache device corresponding to the access request; determining whether a current concurrency number of access to the multiple storage devices in the cache device reaches the permitted concurrency number; and in response to determining that the current concurrency number fails to reach the permitted concurrency number, executing the access request for the storage system.

## Claims

### Claim 1

A method of managing a storage system, comprising:
determining a permitted concurrency number for respective access to multiple storage devices in the storage system by a multi-level cache device of the storage system, the permitted concurrency number being associated with a state of the multiple storage devices;
in response to receiving an access request for the storage system, determining a cache device in the multi-level cache device corresponding to the access request;
determining whether a current concurrency number of access to the multiple storage devices in the cache device reaches the permitted concurrency number; and
in response to determining that the current concurrency number fails to reach the permitted concurrency number, executing the access request for the storage system.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
in response to determining that the current concurrency number reaches the permitted concurrency number, hanging up the access request.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the multi-level cache device includes two levels of cache devices, respectively a first cache device and a second cache device.

### Claim 4 (depends on 1)

The method according to claim 1, wherein determining a permitted concurrency number for respective access to multiple storage devices in the storage system by a multi-level cache device of the storage system comprises:
calculating, based on a total driver number, a driver type, a disk array type and a disk array group state in the multiple storage devices, a total permitted concurrency number of the multi-level cache device; and
calculating, based on the total permitted concurrency number of the multi-level cache device, a completion condition of a disk array group, an average response time of a disk array group and a distribution percentage of each level of cache device, a permitted concurrency number of respective access to the storage processor by the multi-level cache device.

### Claim 5 (depends on 3)

The method according to claim 3, wherein the storage system includes a first storage processor and a second storage processor.

### Claim 6 (depends on 5)

The method according to claim 5, further comprising:
determining that a connection of the first storage processor to at least one of the multiple storage devices is failed;
setting the permitted concurrency number of the multi-level cache device in the first storage processor as zero.

### Claim 7 (depends on 6)

The method according to claim 6, further comprising:
setting the permitted concurrency number of the first cache device in the first storage processor as zero;
setting the permitted concurrency number of the second cache device in the first storage processor as zero;
forwarding the access request for the first storage processor to the second storage processor; and
setting the permitted concurrency number of the second cache device in the second memory processor as zero.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the multiple storage devices are disk drivers.

### Claim 9 (depends on 3)

The method according to claim 3, wherein the first cache device is a dynamic random access memory cache device.

### Claim 10 (depends on 3)

The method according to claim 3, wherein the second cache devices is a solid state disk cache device.

### Claim 11

A device for managing a storage system, comprising:
at least one processing unit;
at least one memory coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions when executed by the at least one processing unit causing the device to execute actions, the actions comprising:
determining a permitted concurrency number for respective access to multiple storage devices in the storage system by a multi-level cache device of the storage system, the permitted concurrency number being associated with a state of the multiple storage devices;
in response to receiving an access request for the storage system, determining a cache device in the multi-level cache device corresponding to the access request;
determining whether a current concurrency number of the cache device reaches the permitted concurrency number; and
in response to determining that the current concurrency number fails to reach the permitted concurrency number, executing the access request for the storage system.

### Claim 12 (depends on 11)

The device according to claim 11, the actions further comprising:
in response to determining that the current concurrency number reaches the permitted concurrency number, hanging up the access request.

### Claim 13 (depends on 11)

The device according to claim 11, wherein the multi-level cache device includes two levels of cache devices, respectively a first cache device and a second cache device.

### Claim 14 (depends on 11)

The device according to claim 11, wherein determining a permitted concurrency number for respective access to multiple storage devices in the storage system by a multi-level cache device of the storage system comprises:
calculating, based on a total driver number, a driver type, a disk array type and a disk array group state in the multiple storage devices, a total permitted concurrency number of the multi-level cache device;
calculating, based on the total permitted concurrency number of the multi-level cache device, a completion condition of a disk array group, an average response time of a disk array group and a distribution percentage of each level of cache device, a permitted concurrency number of respective access to the storage processor by the multi-level cache device.

### Claim 15 (depends on 13)

The device according to claim 13, wherein the storage system includes a first storage processor and a second storage processor.

### Claim 16 (depends on 15)

The device according to claim 15, the actions further comprising:
determining that a connection of the first storage processor to the multiple storage devices is failed;
setting the permitted concurrency number of the multi-level cache device in the first storage processor as zero.

### Claim 17 (depends on 16)

The device according to claim 16, the actions further comprising:
setting the permitted concurrency number of the first cache device in the first storage processor as zero;
setting the permitted concurrency number of the second cache device in the first storage processor as zero;
forwarding the access request for the first storage processor to the second storage processor; and
setting the permitted concurrency number of the second cache device in the second memory processor as zero.

### Claim 18 (depends on 11)

The device according to claim 11, wherein the multiple storage devices are disk drivers.

### Claim 19 (depends on 13)

The device according to claim 13, wherein the first cache device is a dynamic random access memory cache device.

### Claim 20 (depends on 13)

The device according to claim 13, wherein the second cache devices is a solid state disk cache device.
