Data reconstruction method and apparatus, computer device, and storage medium and system

US12135609B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12135609-B2
Application numberUS-202217574069-A
CountryUS
Kind codeB2
Filing dateJan 12, 2022
Priority dateJul 22, 2019
Publication dateNov 5, 2024
Grant dateNov 5, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method describes that a lost first block in a first stripe is directly reconstructed based on a first result obtained from a target quantity of storage devices, so that there is no need to read an unlost block in the first stripe. The first block may be reconstructed provided that the target quantity of first results are obtained. An amount of data of the first result is less than that of the unlost block in the first stripe. Therefore, a data transmission process occupies less network bandwidth, and this improves block reconstruction performance.

First claim

Opening claim text (preview).

What is claimed is: 1. A data reconstruction method, wherein the method comprises: determining a first block in a lost block in a first stripe, wherein a block in the first stripe is stored by a target quantity of storage devices; splitting a check matrix of the first stripe into a first submatrix and a target quantity of second submatrices, wherein the first submatrix comprises a column corresponding to the first block and a column corresponding to a second block, each second submatrix comprises a column corresponding to at least one third block, stored on one storage device, in the first stripe, the second block is any block in the stored valid block in the first stripe, and the at least one third block is any block other than the second block in the stored valid block; obtaining a first result from each of the target quantity of storage devices, wherein each first result is obtained after one of the target quantity of storage devices reads a stored valid block in the first stripe and performs calculation based on the stored valid block that is read, wherein an amount of data of the first result is less than that of a unlost block in the first stripe; and reconstructing the first block based on the first results from the target quantity of storage devices and the first submatrix. 2. The method according to claim 1 , wherein the reconstructing the first block based on the first results from the target quantity of storage devices and the first submatrix comprises: summing the first results from the target quantity of storage devices to obtain a summation matrix; obtaining a target block matrix based on an inverse matrix of the first submatrix and the summation matrix; and determining a first target row of the target block matrix as a reconstructed first block. 3. The method according to claim 1 , wherein before the reconstructing the first block based on the first results from the target quantity of storage devices and the first submatrix, the method further comprises: sending a first obtaining request to a storage device of the target quantity of storage devices corresponding to each second submatrix, wherein the first obtaining request comprises the second submatrix corresponding to the storage device, block information of a third block corresponding to each column of the second submatrix, and an identifier of a control device; and obtaining the first results returned by the target quantity of storage devices based on the first obtaining request. 4. The method according to claim 1 , wherein after the reconstructing the first block based on the first results from the target quantity of storage devices and the first submatrix, the method further comprises: sending a write request to a target storage device, wherein the write request comprises the reconstructed first block and block information of the reconstructed first block, and the target storage device stores the reconstructed first block based on the block information of the reconstructed first block. 5. The method according to claim 4 , wherein before the sending the write request to the target storage device, the method further comprises: obtaining the second block from a storage device of the target quantity of storage devices that stores the second block; reconstructing the second block based on the first results from the target quantity of storage devices and the first submatrix; and if a reconstructed second block is the same as the obtained second block, performing the sending the write request to the target storage device; otherwise, skipping performing the sending the write request to the target storage device, and preventing use of the first stripe. 6. The method according to claim 1 , wherein before the reconstructing the first block based on the first results from the target quantity of storage devices and the first submatrix, the method further comprises: sending a second obtaining request to the storage device of the target quantity of storage devices corresponding to each second submatrix, wherein the second obtaining request comprises the second submatrix corresponding to the storage device, block information of a third block corresponding to each column of the second submatrix, and an identifier of a target storage device; sending a target reconstruction request to the target storage device, wherein the target reconstruction request comprises the first submatrix, and the target reconstruction request indicates to reconstruct the first block based on the first submatrix; and receiving a reconstruction completion response sent by the target storage device, wherein the reconstruction completion response indicates that the first block is completely reconstructed. 7. The method according to claim 1 , wherein before the determining the first block in the lost block in the first stripe, the method further comprises: receiving a first reconstruction request, wherein the first reconstruction request comprises a storage medium identifier of an invalid storage medium on a storage device of the target quantity of storage devices; determining at least one second stripe based on the storage medium identifier in the first reconstruction request; and determining any stripe in the at least one second stripe as the first stripe, and wherein the determining the first block in the lost block in the first stripe comprises: determining any block in the lost block in the first stripe as the first block based on the storage medium identifier. 8. The method according to claim 1 , wherein before the determining the first block in the lost block in the first stripe, the method further comprises: receiving a second reconstruction request, wherein the second reconstruction request comprises block information of at least one block lost in a storage medium on a storage device of the target quantity of storage devices; determining at least one second stripe based on the block information of the at least one block in the second reconstruction request; and determining any stripe in the at least one second stripe as the first stripe, and wherein the determining the first block in the lost block in the first stripe comprises: determining any block in the lost block in the first stripe as the first block based on the block information of the at least one block in the second reconstruction request. 9. A computer device comprising: a memory configured to store instructions; and a processor coupled to the memory and configured to perform operations, the operations comprising: determining a first block in a lost block in a first stripe, wherein a block in the first stripe is stored by a target quantity of storage devices; splitting a check matrix of the first stripe into a first submatrix and a target quantity of second submatrices, wherein the first submatrix comprises a column corresponding to the first block and a column corresponding to a second block, each second submatrix comprises a column corresponding to at least one third block, stored on one storage device, in the first stripe, the second block is any block in the stored valid block in the first stripe, and the at least one third block is any block other than the second block in the stored valid block; obtaining a first result from each of the target quantity of storage devices, wherein each first result is obtained after one of the target quantity of storage devices reads a stored valid block in the first stripe and performs calculation based on the stored valid block that is read, wherein an amount of data of the first result is less than that of a unlost block in the first stripe; and reconstructing the first block based on the first results from the target quantity of storage devices and the first submatr

Assignees

Inventors

Classifications

  • using file system or storage system metadata · CPC title

  • Rebuilding, e.g. when physically replacing a failing disk · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Management of blocks · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12135609B2 cover?
A method describes that a lost first block in a first stripe is directly reconstructed based on a first result obtained from a target quantity of storage devices, so that there is no need to read an unlost block in the first stripe. The first block may be reconstructed provided that the target quantity of first results are obtained. An amount of data of the first result is less than that of the…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F11/1076. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 05 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).