Method, electronic device and computer program product for processing data

US12175107B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12175107-B2
Application numberUS-202217993263-A
CountryUS
Kind codeB2
Filing dateNov 23, 2022
Priority dateApr 22, 2022
Publication dateDec 24, 2024
Grant dateDec 24, 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.

Techniques for processing data involve receiving an access request for a logical block used for storing data, the access request including a logical block address for the logical block. Such techniques further involve determining, if it is determined that the logical block address is in a used address space, an index entry corresponding to the logical block address from index entries, the index entry indicating arrangements of logical blocks on a corresponding pool stripe, wherein the pool stripe includes disk blocks from disks in a disk pool, and data blocks form at least one data stripe for a disk array. Such techniques further involve determining a target block corresponding to the logical block based on the index entry. Such techniques further involve processing the access request by using the target block. Accordingly, the processing speed of sequential I/O operations is improved, time is saved, and user experience is improved.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for processing data, comprising: receiving an access request for a logical block used for storing data, the access request comprising a logical block address for the logical block; determining, if determining that the logical block address is in a used address space, a first index entry corresponding to the logical block address from a plurality of index entries, the index entry of the plurality of index entries indicating arrangements of a plurality of logical blocks on a corresponding pool stripe, wherein the pool stripe comprises a plurality of disk blocks from a plurality of disks in a disk pool, and data blocks in the plurality of logical blocks form at least one data stripe for a disk array; determining a target disk block corresponding to the logical block from the plurality of disk blocks based on the first index entry; and processing the access request by using the target disk block; wherein the index entry comprises an address of a starting logical block located in the pool stripe and a quantity of logical blocks; and wherein determining the first index entry comprises: determining an address range associated with the index entry based on the address of the starting logical block and the quantity; and determining the index entry as the first index entry if determining that the logical block address is within the address range. 2. The method according to claim 1 , wherein the index entry further comprises a position of the starting logical block in the plurality of disk blocks in the pool stripe; and wherein determining the target disk block comprises: determining a target disk block corresponding to the logical block from the plurality of disk blocks based on the address of the starting logical block and the position. 3. The method according to claim 1 , wherein the access request is a write request, wherein processing the access request by using the target disk block comprises: writing the data to the target disk block to form a data block; generating a parity data block based on the data block and a related data block on a related disk block in the pool stripe; and storing the parity data block to update the data stripe. 4. The method according to claim 3 , further comprising: determining a new pool stripe available for the logical block based on the plurality of disks if determining that the logical block address is in an unused address space; determining a disk block available for the logical block from the new pool stripe; writing data to the disk block to form a data block; forming a data stripe for a disk array in the new pool stripe based on the data block; and updating a new index entry for the new pool stripe based on the arrangement of the logical block in the new pool stripe. 5. The method according to claim 1 , wherein the plurality of disks are a first set of disks, and the method further comprises: responding to receiving a write request after a second set of disks is added to the disk pool, the write request comprising a plurality of ordered logical block addresses for a plurality of logical blocks used for storing data; determining, if determining that the plurality of ordered logical block addresses are in the used address space, a second index entry corresponding to a first ordered logical block address of the plurality of ordered logical block addresses from the plurality of index entries; determining, based on the first set of disks and the second set of disks, a total quantity of disk blocks in a target pool stripe corresponding to the second index entry; determining, based on the second index entry and the total quantity, a reference quantity of logical blocks in the target pool stripe available for use in the plurality of logical blocks; storing data in the reference quantity of disk blocks in the target pool stripe in sequence; and updating the second index entry and an index entry of a next pool stripe of the target pool stripe based on the storage. 6. The method according to claim 5 , further comprising: transferring, after the second set of disks is added to the disk pool, data in the disk pool to evenly store the data in the first set of disks and the second set of disks in the disk pool if determining that there is no access operation. 7. The method according to claim 6 , wherein transferring data in the disk pool comprises: moving data stored in a pool stripe in the disk pool upward or downward to transfer the data in the disk pool. 8. The method according to claim 1 , further comprising: storing index entries corresponding to the pool stripe in disk blocks of the pool stripe. 9. The method according to claim 1 , wherein the plurality of disks in the disk pool each reserve a predetermined size of idle space; and the method further comprises: restoring, in response to a disk failure in the disk pool, data blocks stored in the failed disk to the idle space in a disk in use in the disk pool. 10. An electronic device, comprising: at least one processor; and a memory coupled to the at least one processor and having instructions stored therein, wherein the instructions, when executed by the at least one processor, cause the device to perform actions comprising: receiving an access request for a logical block used for storing data, the access request comprising a logical block address for the logical block; determining, if determining that the logical block address is in a used address space, a first index entry corresponding to the logical block address from a plurality of index entries, the index entry of the plurality of index entries indicating arrangements of a plurality of logical blocks on a corresponding pool stripe, wherein the pool stripe comprises a plurality of disk blocks from a plurality of disks in a disk pool, and data blocks in the plurality of logical blocks form at least one data stripe for a disk array; determining a target disk block corresponding to the logical block from the plurality of disk blocks based on the first index entry; and processing the access request by using the target disk block; wherein the index entry comprises an address of a starting logical block located in the pool stripe and a quantity of logical blocks; and wherein determining the first index entry comprises: determining an address range associated with the index entry based on the address of the starting logical block and the quantity; and determining the index entry as the first index entry if determining that the logical block address is within the address range. 11. The electronic device according to claim 10 , wherein the index entry further comprises a position of the starting logical block in the plurality of disk blocks in the pool stripe; and wherein determining the target disk block comprises: determining a target disk block corresponding to the logical block from the plurality of disk blocks based on the address of the starting logical block and the position. 12. The electronic device according to claim 10 , wherein the access request is a write request, wherein processing the access request by using the target disk block comprises: writing the data to the target disk block to form a data block; generating a parity data block based on the data block and a related data block on a related disk block in the pool stripe; and storing the parity data block to update the data stripe. 13. The electronic device according to claim 12 , wherein the actions further comprise: determining a new pool stripe available for the logical block based on the plurality of disks if determining that the logical block address is in an

Assignees

Inventors

Classifications

  • in relation to response time · CPC title

  • in relation to access · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • at area level, e.g. provisioning of virtual or logical volumes · CPC title

  • G06F3/064Primary

    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 US12175107B2 cover?
Techniques for processing data involve receiving an access request for a logical block used for storing data, the access request including a logical block address for the logical block. Such techniques further involve determining, if it is determined that the logical block address is in a used address space, an index entry corresponding to the logical block address from index entries, the index…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/064. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 24 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).