# US 2021/0240584 A1 · Data recovery method, system, and apparatus in storage system

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

- Number: US 2021/0240584 A1
- Document ID: US20210240584A1
- Status: Published application
- Kind: A1
- Application number: 17/233,893
- Filed: 2021-04-19
- Published: 2021-08-05
- Earliest claimed: 2018-10-25
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Guiyou Pu
- Web page: https://patentgrep.com/patent/US20210240584A1

## CPC

- G06F 11/108: {Parity data distribution in semiconductor storages, e.g. in SSD}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0688: {Non-volatile semiconductor memory arrays}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Embodiments of the present disclosure provide a data recovery method in a storage system. A solid state disk is divided into a plurality of fault domains, and each fault domain is used to provide a physical address for a specific range of logical addresses of an SSD, so that when a fault domain of the solid state disk is faulty, it is unnecessary to reconstruct data in the entire SSD.

## Claims

### Claim 1

A data recovery method in a storage system, wherein the storage system comprises a controller, a first solid state disk (SSD), and a second SSD; the first SSD and the second SSD each comprise a plurality of fault domains; the storage system comprises a chunk group that is formed based on an erasure code (EC) algorithm, and the chunk group comprises a first chunk in the first SSD and a second chunk in the second SSD; an address of the first chunk is mapped to a physical address provided by a first fault domain of the first SSD, and an address of the second chunk is mapped to a physical address provided by a second fault domain of the second SSD; and
the method comprises:
receiving, by the controller, fault information of the first SSD, wherein the fault information indicates that the first fault domain is faulty; and
in response to receiving the fault information, recovering, by the controller based on the erasure code algorithm, data stored at the address of the first chunk in the chunk group.

### Claim 2 (depends on 1)

The method according to claim 1, wherein one fault domain in each of the first SSD and the second SSD is a plurality of die packages connected on one channel.

### Claim 3 (depends on 1)

The method according to claim 1, wherein one fault domain in each of the first SSD and the second SSD is one or more die packages.

### Claim 4 (depends on 1)

The method according to claim 1, wherein one fault domain in each of the first SSD and the second SSD is one or more dies.

### Claim 5 (depends on 1)

The method according to claim 1, wherein one fault domain in each of the first SSD and the second SSD is one or more flash memory planes.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the storage system stores a correspondence between the first fault domain and the chunk group and a correspondence between the second fault domain and the chunk group.

### Claim 7 (depends on 6)

The method according to claim 6, further comprising, in response to receiving the fault information, querying, by the controller, the correspondence between the first fault domain and the chunk group to determine the chunk group.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the storage system stores a correspondence between the address of the first chunk and the first fault domain and a correspondence between the address of the second chunk and the second fault domain.

### Claim 9

A storage system, wherein the storage system comprises a controller, a first solid state disk (SSD), and a second SSD; the first SSD and the second SSD each comprise a plurality of fault domains, the storage system comprises a chunk group that is formed based on an erasure code (EC) algorithm, and the chunk group comprises a first chunk in the first SSD and a second chunk in the second SSD; an address of the first chunk is mapped to a physical address provided by a first fault domain of the first SSD, and an address of the second chunk is mapped to a physical address provided by a second fault domain of the second SSD; and
the controller is configured to:
receive fault information of the first SSD, wherein the fault information is used to indicate that the first fault domain is faulty; and
in response to receiving the fault information, recover, based on the erasure code algorithm, data stored at the address of the first chunk in the chunk group.

### Claim 10 (depends on 9)

The storage system according to claim 9, wherein the storage system stores a correspondence between the first fault domain and the chunk group and a correspondence between the second fault domain and the chunk group; and
the controller is further configured to query the correspondence between the first fault domain and the chunk group to determine the chunk group in response to receiving the fault information.

### Claim 11 (depends on 9)

The storage system according to claim 9, wherein one fault domain in each of the first SSD and the second SSD is a plurality of die packages connected on one channel.

### Claim 12 (depends on 9)

The storage system according to claim 9, wherein one fault domain in each of the first SSD and the second SSD is one or more die packages.

### Claim 13 (depends on 9)

The storage system according to claim 9, wherein one fault domain in each of the first SSD and the second SSD is one or more dies.

### Claim 14 (depends on 9)

The storage system according to claim 9, wherein one fault domain in each of the first SSD and the second SSD is one or more flash memory planes.
