Processing I/O requests using a redundant array of independent disks (RAID)

US10922002B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10922002-B2
Application numberUS-202016750166-A
CountryUS
Kind codeB2
Filing dateJan 23, 2020
Priority dateJun 30, 2017
Publication dateFeb 16, 2021
Grant dateFeb 16, 2021

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.

Implementations of the subject matter described herein provide a storage management method and system. The storage management method comprises: in response to receiving a write request, dividing data to be written into a plurality of data blocks with a predetermined size, the plurality of data blocks having their respective logic block addresses; evenly mapping, based on the logic block addresses, the plurality of data blocks to a plurality of RAID extents of a Redundant Array of Independent Disks (RAID); mapping the plurality of data blocks in the plurality of RAID extents to the disk, so that the plurality of data blocks are distributed in order of size of logic block addresses in the disk.

First claim

Opening claim text (preview).

We claim: 1. A storage management method, comprising: in response to receiving an I/O request for a plurality of data blocks, determining, based on respective logic block addresses of the plurality of data blocks, position information of the plurality of data blocks which are evenly mapped to a plurality of RAID extents of a RAID; determining, based on the position information of the plurality of data blocks mapped to the RAID extents, position information of the plurality of data blocks which are mapped to a disk such that the plurality of data blocks are distributed in order of size of the logic block addresses in the disk, at least in part by: determining, based on remainders obtained by dividing indices of the data blocks in a related logic unit by a number of the RAID extents, sequence numbers of the data blocks which are mapped to the RAID extents, and determining, based on quotients obtained by dividing the indices of the data blocks by the number of the RAID extents, internal offsets of the data blocks which are distributed to the RAID extents; and reading/writing the plurality of data blocks based on the position information of the plurality of data blocks in the disk. 2. The method according to claim 1 , wherein determining position information of the plurality of data blocks which are mapped to a disk comprises: determining internal offsets of the data blocks which are mapped to the disk based on a number of disk extents included in the disk, a number of data blocks included in the disk extents, and indices of the data blocks in the related logic unit. 3. The method according to claim 2 , wherein a number of the plurality of data blocks is greater than the number of the RAID extents, such that the plurality of data blocks in the related logic unit are evenly mapped to all the RAID extents of the RAID. 4. A storage management system, comprising: a storage unit configured to store one or more programs; and a processing unit coupled to the storage unit and configured to execute the one or more programs to cause the apparatus to perform acts comprising: in response to receiving an I/O request for a plurality of data blocks, determining, based on respective logic block addresses of the plurality of data blocks, position information of the plurality of data blocks which are evenly mapped to the plurality of RAID extents of the RAID; determining, based on the position information of the plurality of data blocks mapped to the RAID extents, position information of the plurality of data blocks which are mapped to a disk such that the plurality of data blocks are distributed in order of size the logic block addresses in the disk, at least in part by: determining, based on remainders obtained by dividing indices of the data blocks in a related logic unit by a number of the RAID extents, sequence numbers of the data blocks which are mapped to the RAID extents, and determining, based on quotients obtained by dividing the indices of the data blocks by the number of the RAID extents, internal offsets of the data blocks which are distributed to the RAID extents; and reading/writing the plurality of data blocks based on the position information of the plurality of data blocks in the disk. 5. The system according to claim 4 , wherein determining position information of the plurality of data blocks which are mapped to a disk comprises: determining internal offsets of the data blocks which are mapped to the disk based on a number of disk extents included in the disk, a number of data blocks included in the disk extents and indices of the data blocks in the related logic unit. 6. The system according to claim 5 , wherein a number of the plurality of data blocks is greater than the number of the RAID extents, such that the plurality of data blocks in the related logic unit are evenly mapped to all the RAID extents of the RAID. 7. A computer program product for storage management, the computer program product comprising: a non-transitory computer readable medium encoded with computer-executable code, the code configured for the execution of: in response to receiving an I/O request for a plurality of data blocks, determining, based on respective logic block addresses of the plurality of data blocks, position information of the plurality of data blocks which are evenly mapped to a plurality of RAID extents of a RAID; determining, based on the position information of the plurality of data blocks mapped to the RAID extents, position information of the plurality of data blocks which are mapped to a disk such that the plurality of data blocks are distributed in order of size of the logic block addresses in the disk, at least in part by: determining, based on remainders obtained by dividing indices of the data blocks in a related logic unit by a number of the RAID extents, sequence numbers of the data blocks which are mapped to the RAID extents, and determining, based on quotients obtained by dividing the indices of the data blocks by the number of the RAID extents, internal offsets of the data blocks which are distributed to the RAID extents; and reading/writing the plurality of data blocks based on the position information of the plurality of data blocks in the disk. 8. The computer program product according to claim 7 , wherein determining position information of the plurality of data blocks which are mapped to a disk comprises: determining internal offsets of the data blocks which are mapped to the disk based on a number of disk extents included in the disk, a number of data blocks included in the disk extents, and indices of the data blocks in the related logic unit. 9. The computer program product according to claim 8 , wherein a number of the plurality of data blocks is greater than the number of the RAID extents, such that the plurality of data blocks in the related logic unit are evenly mapped to all the RAID extents of the RAID.

Assignees

Inventors

Classifications

  • G06F3/064Primary

    Management of blocks · CPC title

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Disk arrays, e.g. RAID, JBOD · 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 US10922002B2 cover?
Implementations of the subject matter described herein provide a storage management method and system. The storage management method comprises: in response to receiving a write request, dividing data to be written into a plurality of data blocks with a predetermined size, the plurality of data blocks having their respective logic block addresses; evenly mapping, based on the logic block address…
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 Feb 16 2021 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 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).