# US 10,871,971 B2 · Method, electronic device and computer program product for dual-processor 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,871,971 B2
- Document ID: US10871971B2
- Status: Granted
- Kind: B2
- Application number: 16/512,641
- Filed: 2019-07-16
- Published: 2020-01-23
- Granted: 2020-12-22
- Earliest claimed: 2018-07-20
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Rongrong Shang; Xiaobo Zhang; Haiying Tang; Jian Gao; Lifeng Yang
- Web page: https://patentgrep.com/patent/US10871971B2

## CPC

- G06F 3/061: {Improving I/O performance}
- G06F 9/4411: {Configuring for operating with peripheral devices; Loading of device drivers}
- G06F 3/0632: {by initialisation or re-initialisation of storage systems}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 9/30007: {to perform operations on data operands}
- G06F 9/3877: {using a secondary processor, e.g. coprocessor (peripheral processor G06F13/12)}
- G06F 9/466: {Transaction processing}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 2009/3883: {Two-engine architectures, i.e. stand-alone processor acting as a secondary processor}
- G06F 2209/5011: Pool
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In accordance with certain techniques, at a first processor of a dual-processor storage system, a change in an initial logical unit corresponding to a storage area in a physical storage device of the storage system is detected. Based on the change in the initial logical unit, a plurality of update operations to be performed on a mapped logical unit driver mapping a plurality of initial logical units including the initial logical unit to a plurality of mapped logical units are determined. An indication of the plurality of update operations is sent to a second processor of the storage system, to cause the second processor to perform the plurality of update operations on a peer mapped logical unit driver associated with the mapped logical unit driver.

## Claims

### Claim 1

A computer-implemented method, comprising:
detecting, at a first processor of a dual-processor storage system, a change in an initial logical unit corresponding to a storage area in a physical storage device of the storage system;
determining, based on the change in the initial logical unit, a plurality of update operations to be performed on a mapped logical unit driver mapping a plurality of initial logical units including the initial logical unit to a plurality of mapped logical units; and
sending an indication of the plurality of update operations to a second processor of the storage system, to cause the second processor to perform the plurality of update operations on a peer mapped logical unit driver associated with the mapped logical unit driver;
wherein determining the plurality of update operations to be performed on the mapped logical unit driver comprises:
determining a pool to which the initial logical unit belongs;
determining a plurality of mapped logical unit objects in the pool; and
determining the plurality of update operations based on the plurality of mapped logical unit objects.

### Claim 2 (depends on 1)

The method of claim 1, wherein detecting the change in the initial logical unit comprises:
determining that at least one of a state or an attribute of the initial logical unit changes.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining the plurality of update operations based on the plurality of mapped logical unit objects comprises:
for each of the plurality of mapped logical unit objects,
indicating the change in the initial logical unit to an object manager at the first processor; and
determining, by the object manager, an update operation to be performed on the mapped logical unit object.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the plurality of update operations based on the plurality of mapped logical unit objects comprises:
indicating the change in the initial logical unit to a plurality of object managers at the first processor corresponding to the plurality of mapped logical unit objects; and
determining, by the plurality of object managers, update operations to be performed on the mapped logical unit objects respectively.

### Claim 5 (depends on 1)

The method of claim 1, wherein sending the indication of the plurality of update operations to the second processor of the storage system comprises:
sending the indication to the second processor in response to the plurality of update operations being committed in one transaction.

### Claim 6 (depends on 1)

The method of claim 1, wherein sending the indication of the plurality of update operations to the second processor of the storage system comprises:
sending, by a pool manager at the first processor, to the second processor the indication including an identifier of a pool object corresponding to a pool to which the initial logical unit belongs.

### Claim 7

An electronic device, comprising:
at least two processors; and
at least one memory including computer program instructions, the at least one memory and the computer program instructions configured, with a first processor of the at least two processors, to cause the electronic device to:
detect, at the first processor, a change in an initial logical unit corresponding to a storage area in a physical storage device of a storage system;
determine, based on the change in the initial logical unit, a plurality of update operations to be performed on a mapped logical unit driver mapping a plurality of initial logical units including the initial logical unit to a plurality of mapped logical units; and
send an indication of the plurality of update operations to a second processor of the storage system, to cause the second processor to perform the plurality of update operations on a peer mapped logical unit driver associated with the mapped logical unit driver;
wherein the at least one memory and the computer program instructions are further configured, with the first processor, to cause the electronic device to:
determine a pool to which the initial logical unit belongs;
determine a plurality of mapped logical unit objects in the pool; and
determine the plurality of update operations based on the plurality of mapped logical unit objects.

### Claim 8 (depends on 7)

The electronic device of claim 7, wherein the at least one memory and the computer program instructions are further configured, with the first processor, to cause the electronic device to:
determine that at least one of a state or an attribute of the initial logical unit changes.

### Claim 9 (depends on 7)

The electronic device of claim 7, wherein the at least one memory and the computer program instructions are further configured, with the first processor, to cause the electronic device to:
for each of the plurality of mapped logical unit objects,
indicate the change in the initial logical unit to an object manager at the first processor; and
determine, by the object manager, an update operation to be performed on the mapped logical unit object.

### Claim 10 (depends on 7)

The electronic device of claim 7, wherein the at least one memory and the computer program instructions are further configured, with the first processor, to cause the electronic device to:
indicate the change in the initial logical unit to a plurality of object managers at the first processor corresponding to the plurality of mapped logical unit objects; and
determine, by the plurality of object managers, update operations to be performed on the mapped logical unit objects respectively.

### Claim 11 (depends on 7)

The electronic device of claim 7, wherein the at least one memory and the computer program instructions are further configured, with the first processor, to cause the electronic device to:
send the indication to the second processor in response to the plurality of update operations being committed in one transaction.

### Claim 12 (depends on 7)

The electronic device of claim 7, wherein the at least one memory and the computer program instructions are further configured, with the first processor, to cause the electronic device to:
send, by a pool manager at the first processor, to the second processor the indication including an identifier of a pool object corresponding to a pool to which the initial logical unit is belongs.

### Claim 13

A computer program product having a non-transitory computer readable medium which stores a set of instructions to operate a dual-processor storage system; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:
detecting, at a first processor of the dual-processor storage system, a change in an initial logical unit corresponding to a storage area in a physical storage device of the dual-processor storage system;
determining, based on the change in the initial logical unit, a plurality of update operations to be performed on a mapped logical unit driver mapping a plurality of initial logical units including the initial logical unit to a plurality of mapped logical units; and
sending an indication of the plurality of update operations to a second processor of the dual-processor storage system, to cause the second processor to perform the plurality of update operations on a peer mapped logical unit driver associated with the mapped logical unit driver;
wherein determining the plurality of update operations to be performed on the mapped logical unit driver comprises:
determining a pool to which the initial logical unit belongs;
determining a plurality of mapped logical unit objects in the pool; and
determining the plurality of update operations based on the plurality of mapped logical unit objects.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein detecting the change in the initial logical unit comprises:
determining that at least one of a state or an attribute of the initial logical unit changes.

### Claim 15 (depends on 13)

The computer program product of claim 13, wherein determining the plurality of update operations based on the plurality of mapped logical unit objects comprises:
for each of the plurality of mapped logical unit objects,
indicating the change in the initial logical unit to an object manager at the first processor; and
determining, by the object manager, an update operation to be performed on the mapped logical unit object.

### Claim 16 (depends on 13)

The computer program product of claim 13, wherein determining the plurality of update operations based on the plurality of mapped logical unit objects comprises:
indicating the change in the initial logical unit to a plurality of object managers at the first processor corresponding to the plurality of mapped logical unit objects; and
determining, by the plurality of object managers, update operations to be performed on the mapped logical unit objects respectively.

### Claim 17 (depends on 13)

The computer program product of claim 13, wherein sending the indication of the plurality of update operations to the second processor of the storage system comprises:
sending the indication to the second processor in response to the plurality of update operations being committed in one transaction.

### Claim 18 (depends on 13)

The computer program product of claim 13, wherein sending the indication of the plurality of update operations to the second processor of the storage system comprises:
sending, by a pool manager at the first processor, to the second processor the indication including an identifier of a pool object corresponding to a pool to which the initial logical unit belongs.
