Storage management method, electronic device and computer readable medium

US10789170B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10789170-B2
Application numberUS-201816196692-A
CountryUS
Kind codeB2
Filing dateNov 20, 2018
Priority dateApr 28, 2018
Publication dateSep 29, 2020
Grant dateSep 29, 2020

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.

Various techniques are directed to a storage management method, an electronic device and a computer readable medium. Such techniques may involve: receiving a request for a target storage block in a disk; obtaining, from a cache, a cache indicator indicating a state of a group of storage blocks including the target storage block, the number of bits occupied by the cache indicator in the cache being less than the number of storage blocks in the group of storage blocks; and responding to the request based on the cache indicator. Such techniques can reduce times of access to the disk and thereby enhancing input/output performance.

First claim

Opening claim text (preview).

We claim: 1. In electronic equipment, a storage management method, comprising: maintaining a set of on-disk indicators and a cache indicator for a group of storage blocks in a disk, the on-disk indicators including per-block mapping indicators each indicating a mapping state of a respective storage block of the group, the cache indicator indicating an overall mapping state for the group of storage blocks, the overall mapping state selected from (1) an all-mapped state when all the storage blocks of the group are mapped, (2) an all-unmapped state when all the storage blocks of the group are unmapped, and (3) a hybrid state when some of the storage blocks of the group are mapped and others of the storage blocks of the group are unmapped; receiving a request for a target storage block of the group of storage blocks; obtaining, from a cache, the cache indicator indicating the state of the group of storage blocks including the target storage block; and responding to the request based on the cache indicator, by (1) when the cache indicator indicates the all-mapped state and when it indicates the all-unmapped state, then responding to the request without accessing the per-block mapping indicator for the target block, and (2) when the cache indicator indicates the hybrid state, then first obtaining the per-block mapping indicator for the target block and then responding to the request based on the per-block mapping indicator. 2. The method according to claim 1 , wherein the request is a read request, and responding to the request based on the cache indicator comprises: in response to the cache indicator indicating the all-unmapped state in which mappings of the group of storage blocks to respective logical blocks are all cancelled, providing a zero pattern, without accessing the per-block mapping indicator indicating the state of the target storage block in the disk. 3. The method according to claim 1 , wherein the request is a read request, and responding to the request based on the cache indicator comprises: in response to the cache indicator indicating the all-mapped state in which the storage blocks of the group are all mapped to respective logical blocks, reading, from the target storage block, data associated with the read request, without accessing the per-block mapping indicator indicating the state of the target storage block in the disk. 4. The method according to claim 1 , wherein the request is a read request, and responding to the request based on the per-block mapping indicator comprises: in response to the per-block mapping indicator indicating a mapped state in which the target storage block is mapped to a target logical block, reading, from the target storage block, data associated with the request; and in response to the per-block mapping indicator indicating an unmapped state in which mapping of the target storage block to the target logical block is cancelled, providing a zero pattern. 5. The method according to claim 1 , wherein the request is a write request, and responding to the request based on the cache indicator comprises: in response to the cache indicator indicating the all-unmapped state in which mappings of the group of storage blocks to respective logical blocks are all cancelled, filling the target storage block with zero; writing, to the target storage block, data associated with the write request; modifying the per-block mapping indicator indicating the state of the target storage block in the disk to indicate a mapped state in which the target storage block is mapped to a target logical block; and modifying the cache indicator to indicate the hybrid state in which a first portion of storage blocks in the group of storage blocks are mapped to respective logical blocks and mappings of a second portion of storage blocks in the group of storage blocks to respective logical blocks are cancelled. 6. The method according to claim 1 , wherein the request is a write request, and responding to the request based on the cache indicator comprises: in response to the cache indicator indicating the all-mapped state in which the storage blocks of the group are all mapped to respective logical blocks, writing, to the target storage block, data associated with the write request, without accessing the per-block mapping indicator indicating the state of the target storage block in the disk. 7. The method according to claim 1 , wherein the request is a write request, and responding to the request based on the per-block mapping indicator comprises: in response to the per-block mapping indicator indicating a mapped state in which the target storage block is mapped to a target logical block, writing, to the target storage block, data associated with the write request. 8. The method according to claim 7 , further comprising: in response to the per-block mapping indicator indicating an unmapped state in which mapping of the target storage block to the target logical block is cancelled, filling the target storage block with zero; writing, to the target storage block, the data associated with the write request; modifying the per-block mapping indicator as indicating the mapped state; and in response to a modification of the per-block mapping indicator causing an all-mapped state in which the storage blocks of the group are all mapped to respective logical blocks, modifying the cache indicator to indicate the all-mapped state. 9. The method according to claim 8 , wherein the hybrid state comprises a first hybrid state in which the number of storage blocks in the group of storage blocks that are mapped to respective logical blocks is less than a threshold number, and a second hybrid state in which the number of storage blocks in the group of storage blocks that are mapped to respective logical blocks is higher than the threshold number, the cache indicator indicating the first hybrid state, the method further comprising: in response to the modification of the per-block mapping indicator causing the second hybrid state, modifying the cache indicator indicating the first hybrid state to indicate the second hybrid state. 10. The method according to claim 9 , further comprising: in response to that the cache indicator indicating the first hybrid state is modified to indicate the second hybrid state, starting a timer; and in response to the timer expiring, triggering a background service that: obtains, from the disk, the per-block mapping indicators indicating respective states of the storage blocks in the group of storage blocks; determines, based on the per-block mapping indicators, pre-filling storage blocks in the group of storage blocks whose mappings to respective logical blocks are cancelled; fills the pre-filling storage blocks with zero; modifies per-block mapping indicators indicating states of the pre-filling storage blocks in the disk to indicate the mapped state in which the pre-filling storage blocks are mapped to respective logical blocks; and modifies the cache indicator to indicate the all-mapped state in which the group of storage blocks are all mapped to respective logical blocks. 11. An electronic device, comprising: a processor; and a memory storing instructions therein, the instructions, when executed by the processor, causing the electronic device to perform the following acts: maintaining a set of on-disk indicators and a cache indicator for a group of storage blocks in a disk, the on-disk indicators including per-block mapping indicators each indicating a mapping state of a respective storage block of the group, the cache indicator indicating an overall mapping state for the group of storage blocks, the overall mapping state selected from (1) an

Assignees

Inventors

Classifications

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

  • Improving I/O performance · CPC title

  • in block erasable memory, e.g. flash memory · CPC title

  • In storage device · CPC title

  • Hybrid cache memory, e.g. having both volatile and non-volatile portions · 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 US10789170B2 cover?
Various techniques are directed to a storage management method, an electronic device and a computer readable medium. Such techniques may involve: receiving a request for a target storage block in a disk; obtaining, from a cache, a cache indicator indicating a state of a group of storage blocks including the target storage block, the number of bits occupied by the cache indicator in the cache be…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0868. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 29 2020 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).