Reading data in sub-blocks using data state information

US11314430B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11314430-B2
Application numberUS-201916656832-A
CountryUS
Kind codeB2
Filing dateOct 18, 2019
Priority dateOct 31, 2018
Publication dateApr 26, 2022
Grant dateApr 26, 2022

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 read data. Such techniques involve: in response to receiving a read request from the user for data on a physical data block, determining whether there is data state information corresponding to the physical data block. The data state information may include a plurality of units for respectively indicating availability of data stored in a plurality of sub-blocks of the physical data block. Such techniques further involve: in response to determining that there is data state information, selecting a target sub-block from the plurality of sub-blocks of the physical storage block based on the data state information. Such techniques further involve: providing the user with data stored in the target sub-block. Such techniques are capable of determining the availability of data at a finer granularity.

First claim

Opening claim text (preview).

We claim: 1. A method of reading data, comprising: receiving a plurality of read requests from a user for data on respective physical data blocks, and, in response, performing a determination operation for each of the physical data blocks, the determination operation including, for any given physical data block: determining a virtual entry for storing location information of that given physical data block according to its read request by locating a virtual storage block within a B-tree; and detecting data state information from the virtual entry, including determining whether the virtual entry points to a bitmap that includes a plurality of units for respectively indicating availability of data stored in a plurality of sub-blocks of that given physical data block, the bitmap being separate from the located virtual storage block and separate from the given physical data block; and determining that there is the data state information corresponding to a first physical data block for a first read request of the plurality of read requests, and, in response: selecting a target sub-block from the plurality of sub-blocks of the first physical data block based on the data state information corresponding to the first physical data block by: determining, from the plurality of units of the data state information corresponding to the first physical data block, a unit marked as available and determining a sub-block corresponding to the determined unit as the target sub-block; providing the user with data stored in the selected target sub-block; and deleting the data state information after providing the user with the data. 2. The method according to claim 1 , further comprising: determining that the data state information corresponding to a second physical data block for a second read request of the plurality of read requests is absent, and, in response, returning data read failure information. 3. The method according to claim 1 , further comprising receiving a write request to write data to a second physical data block, and, in response: determining a sub-block of the second physical data block to which the data is to be written; and marking, in data state information corresponding to the second physical data block, a unit corresponding to the determined sub-block as available. 4. The method according to claim 3 , wherein the marking the unit corresponding to the determined sub-block as available comprises: determining, from the data state information corresponding to the second physical data block, the unit corresponding to the determined sub-block; and setting the determined unit to a predetermined value. 5. An electronic device, comprising: at least one processing unit; and at least one memory coupled to the at least one processing unit and storing machine-executable instructions, the machine-executable instructions, when executed by the at least one processing unit, causing the electronic device to perform acts, the acts comprising: receiving a plurality of read requests from a user for data on respective physical data blocks, and, in response, performing a determination operation for each of the physical data blocks, the determination operation including, for any given physical data block: determining a virtual entry for storing location information of that given physical data block according to its read request by locating a virtual storage block within a B-tree; and detecting data state information from the virtual entry, including determining whether the virtual entry points to a bitmap that includes a plurality of units for respectively indicating availability of data stored in a plurality of sub-blocks of that given physical data block, the bitmap being separate from the located virtual storage block and separate from the given physical data block; and determining that there is the data state information corresponding to a first physical data block for a first read request of the plurality of read requests, and, in response: selecting a target sub-block from the plurality of sub-blocks of the first physical data block based on the data state information corresponding to the first physical data block by: determining, from the plurality of units of the data state information corresponding to the first physical data block, a unit marked as available and determining a sub-block corresponding to the determined unit as the target sub-block; providing the user with data stored in the selected target sub-block; and deleting the data state information after providing the user with the data. 6. The device according to claim 5 , wherein the acts further comprise: determining that the data state information corresponding to a second physical data block for a second read request of the plurality of read requests is absent, and, in response, returning data read failure information. 7. The device according to claim 5 , wherein the acts further comprise receiving a write request to write data to a second physical data block, and, in response: determining a sub-block of the second physical data block to which the data is to be written; and marking, in data state information corresponding to the second physical data block, a unit corresponding to the determined sub-block as available. 8. The device according to claim 7 , wherein the marking the unit corresponding to the determined sub-block as available comprises: determining, from the data state information corresponding to the second physical data block, the unit corresponding to the determined sub-block; and setting the determined unit to a predetermined value. 9. A computer program product having a non-transitory computer readable medium which stores a set of instructions to read data; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of: receiving a plurality of read requests from a user for data on respective physical data blocks, and, in response, performing a determination operation for each of the physical data blocks, the determination operation including, for any given physical data block: determining a virtual entry for storing location information of that given physical data block according to its read request by locating a virtual storage block within a B-tree; and detecting data state information from the virtual entry, including determining whether the virtual entry points to a bitmap that includes a plurality of units for respectively indicating availability of data stored in a plurality of sub-blocks of that given physical data block, the bitmap being separate from the located virtual storage block and separate from the given physical data block; determining that there is the data state information corresponding to a first physical data block for a first read request of the plurality of read requests, and, in response: selecting a target sub-block from the plurality of sub-blocks of the first physical data block based on the data state information corresponding to the first physical data block by: determining, from the plurality of units of the data state information corresponding to the first physical data block, a unit marked as available and determining a sub-block corresponding to the determined unit as the target sub-block; providing the user with data stored in the selected target sub-block; and deleting the data state information after providing the user with the data.

Assignees

Inventors

Classifications

  • G06F3/064Primary

    Management of blocks · CPC title

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

  • Single storage device · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · 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 US11314430B2 cover?
Techniques read data. Such techniques involve: in response to receiving a read request from the user for data on a physical data block, determining whether there is data state information corresponding to the physical data block. The data state information may include a plurality of units for respectively indicating availability of data stored in a plurality of sub-blocks of the physical data b…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
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 Apr 26 2022 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).