Scalable distributed computations utilizing multiple distinct clouds
US-10348810-B1 · Jul 9, 2019 · US
US11314430B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11314430-B2 |
| Application number | US-201916656832-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 18, 2019 |
| Priority date | Oct 31, 2018 |
| Publication date | Apr 26, 2022 |
| Grant date | Apr 26, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.