Systems and methods for optimizing write accesses in a storage array

US9886204B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9886204-B2
Application numberUS-201614989635-A
CountryUS
Kind codeB2
Filing dateJan 6, 2016
Priority dateMar 14, 2012
Publication dateFeb 6, 2018
Grant dateFeb 6, 2018

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.

A method may include storing data in one or more first-type stripes spanning a plurality of N storage resources and having N−1 data strips for storing the data and a parity strip for storing parity information for the data stored to the particular first-type stripe and each of the plurality of storage resources includes one of a data strip or a parity strip of the particular first-type stripe if the data to be stored exceeds a threshold size. If the data to be stored does not exceed a threshold size, the method may include storing the data in a second-type stripe and a third-type stripe each spanning N storage resources, such that each stripe comprises N−1 data strips for storing the data and a metadata strip for storing address information for the corresponding second-type strip or third-type strip.

First claim

Opening claim text (preview).

What is claimed is: 1. A storage array comprising: a plurality of storage resources; and a controller communicatively coupled to the plurality of storage resources, the controller configured to: receive a write operation; determine whether a size of data to be written to the storage array in accordance with the write operation is greater than a threshold size; in response to determining that the size of data is greater than the threshold size, store the data in one or more first-type stripes spanning the plurality of storage resources; and in response to determining that the size of data is not greater than the threshold size: store the data in a second-type stripe spanning the plurality of storage resources; and store the data in a third-type stripe, wherein: the third-type stripe includes a mirror of the second-type stripe; the third-type stripe spans the plurality of storage resources; and each individual portion of data stored in the third-type stripe is stored on a storage resource that neighbors the storage resource on which the data in the second-type stripe is stored. 2. A storage array according to claim 1 , wherein the threshold size is equal to the size of a strip. 3. A storage array according to claim 1 , wherein: each first-type stripe comprises a first plurality of strips; each second-type stripe comprises a second plurality of strips; each third-type stripe comprises a third plurality of strips; and each strip is of equal size. 4. A storage array according to claim 1 , wherein each first-type stripe, second-type stripe, and third-type stripe are of equal size. 5. A storage array according to claim 1 , each first-type stripe comprising a RAID5 stripe. 6. A storage array according to claim 1 , wherein the mirror of the second-type stripe is stored in accordance with RAID1. 7. A storage array according to claim 1 , the controller comprising a RAID controller. 8. An information handling system comprising: a processor; a plurality of storage resources; and a controller communicatively coupled to the plurality of storage resources and the processor, the controller configured to: receive a write operation from the processor; determine whether a size of data to be written to the storage array in accordance with the write operation is greater than a threshold size; in response to determining that the size of data is greater than the threshold size, store the data in one or more first-type stripes spanning the plurality of storage resources; and in response to determining that the size of data is not greater than the threshold size: store the data in a second-type stripe spanning the plurality of storage resources; and store the data in a third-type stripe wherein: the third-type stripe includes a mirror of the second-type stripe; and the third-type stripe spans the plurality of storage resources, such that each individual portion of data stored in the third-type stripe is stored on a storage resource that neighbors the storage resource on which the data in the second-type stripe is stored. 9. An information handling system according to claim 8 , wherein the threshold size is equal to the size of a strip. 10. An information handling system according to claim 8 , wherein: each first-type stripe comprises a first plurality of strips; each second-type stripe comprises a second plurality of strips; each third-type stripe comprises a third plurality of strips; and each strip is of equal size. 11. An information handling system according to claim 8 , wherein each first-type stripe, second-type stripe, and third-type stripe are of equal size. 12. An information handling system according to claim 8 , each first-type stripe comprising a RAID5 stripe. 13. An information handling system according to claim 8 , wherein the mirror of the second-type stripe is stored in accordance with RAID1. 14. An information handling system according to claim 8 , the controller comprising a RAID controller. 15. A method comprising: receiving a write operation for data to be stored in a storage array comprising a plurality of storage resources; determining whether a size of data to be written to the storage array in accordance with the write operation is greater than a threshold size; in response to determining that the size of data is greater than the threshold size, storing the data in one or more first-type stripes spanning the plurality of storage resources; and in response to determining that the size of data is not greater than the threshold size: storing the data in a second-type stripe spanning the plurality of storage resources; and storing the data in a third-type stripe wherein: the third-type stripe includes a mirror of the second-type stripe; and the third-type stripe spans the plurality of storage resources, such that each individual portion of data stored in the third-type stripe is stored on a storage resource that neighbors the storage resource on which the data in the second-type stripe is stored. 16. A method according to claim 15 , wherein the threshold size is equal to the size of a strip. 17. A method according to claim 15 , wherein: each first-type stripe comprises a first plurality of strips; each second-type stripe comprises a second plurality of strips; each third-type stripe comprises a third plurality of strips; and each strip is of equal size. 18. A method according to claim 15 , wherein each first-type stripe, second-type stripe, and third-type stripe are of equal size. 19. A method according to claim 15 , each first-type stripe comprising a RAID5 stripe. 20. A method according to claim 15 , wherein the mirror of the second-type stripe is stored in accordance with RAID1.

Assignees

Inventors

Classifications

  • G06F3/0616Primary

    in relation to life time, e.g. increasing Mean Time Between Failures [MTBF] · CPC title

  • Organizing or formatting or addressing of data · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title

  • at area level, e.g. provisioning of virtual or logical volumes · 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 US9886204B2 cover?
A method may include storing data in one or more first-type stripes spanning a plurality of N storage resources and having N−1 data strips for storing the data and a parity strip for storing parity information for the data stored to the particular first-type stripe and each of the plurality of storage resources includes one of a data strip or a parity strip of the particular first-type stripe i…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/0616. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 06 2018 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).