File system driven raid rebuild technique

US9389958B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9389958-B2
Application numberUS-201414161184-A
CountryUS
Kind codeB2
Filing dateJan 22, 2014
Priority dateJan 17, 2014
Publication dateJul 12, 2016
Grant dateJul 12, 2016

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.

In one embodiment, a file system driven RAID rebuild technique is provided. A layered file system may organize storage of data as segments spanning one or more sets of storage devices, such as solid state drives (SSDs), of a storage array, wherein each set of SSDs may form a RAID group configured to provide data redundancy for a segment. The file system may then drive (i.e., initiate) rebuild of a RAID configuration of the SSDs on a segment-by-segment basis in response to cleaning of the segment (i.e., segment cleaning). Each segment may include one or more RAID stripes that provide a level of data redundancy (e.g., single parity RAID 5 or double parity RAID 6) as well as RAID organization (i.e., distribution of data and parity) for the segment. Notably, the level of data redundancy and RAID organization may differ among the segments of the array.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving a write request directed towards a logical unit (LUN), the write request having data and processed at a node of a cluster, the node connected to a storage array of solid state drives (SSDs) forming a storage pool; organizing a first set of the SSDs into a first redundancy group having a first redundancy configuration; storing the data in a first segment associated with the first redundancy group, wherein the first segment has a log-structured layout, wherein the first segment spans the first redundancy group; in response to a failed SSD in the first redundancy group, allocating a second segment associated with a second redundancy group, wherein the second segment has a log-structured layout, wherein the second redundancy group is organized from the first set of SSDs excluding the failed SSD, wherein the second segment spans the second redundancy group, wherein the second redundancy group has a second redundancy configuration; and rebuilding redundancy in response to cleaning the first segment, the rebuilding to retire the failed SSD from use in an active redundancy configuration, the cleaning to consolidate fragmented free space of the storage pool by copying valid blocks of the data from the first segment that spans the first redundancy group organized from the first set of SSDs including the failed SSD to the second segment that spans the second redundancy group organized from the first set of SSDs excluding the failed SSD, according to the second redundancy configuration, while omitting any deleted or overwritten blocks of the data. 2. The method of claim 1 wherein the first segment comprises a plurality of stripes according to the first redundancy configuration spanning the first redundancy group. 3. The method of claim 1 wherein the first redundancy configuration is different than the second redundancy configuration. 4. The method of claim 2 wherein a first parity distribution of the first redundancy group differs from a second parity distribution of the second redundancy group, and wherein the first parity distribution has a fixed arrangement among the plurality of stripes of the first segment. 5. The method of claim 1 wherein the first redundancy group has a same number of parity SSDs as the second redundancy group. 6. The method of claim 1 wherein the cleaning is initiated in response to an amount of free space of the storage pool being less than a free space threshold. 7. The method of claim 1 further comprising: in response to removing an SSD from the storage array of SSDs, allocating a third segment associated with a third redundancy group, wherein the third segment has a log-structured layout, wherein the third redundancy group is organized from the first set of SSDs including a new SSD and excluding the failed SSD, wherein the third segment spans the third redundancy group, wherein the third redundancy group has a third redundancy configuration; and cleaning the first segment by copying the data from the first segment to the third segment according to the third redundancy configuration. 8. The method of claim 1 wherein the failed SSD returns on-line. 9. The method of claim 1 where in the SSDs include flash components. 10. A method comprising: receiving a write request directed towards a logical unit (LUN), the write request having data and processed at a node of a cluster, the node connected to a storage array of solid state drives (SSDs); organizing a first set of the SSDs into a first redundancy group having a first redundancy configuration; storing the data in a first segment associated with the first redundancy group, wherein the first segment has a log-structured layout, wherein the first segment includes a first plurality of stripes according to the first redundancy configuration spanning the first redundancy group, wherein the first plurality of stripes includes a first fixed parity arrangement; and changing a parity arrangement used to store the data in response to cleaning the first segment, the cleaning to consolidate fragmented free space of the storage array by copying valid blocks of the data free the first segment to a second segment associated with a second redundancy group while omitting any deleted or overwritten blocks of the data, wherein the second segment has a log-structured layout, wherein the second segment includes a plurality of stripes according to the first redundancy configuration spanning the second redundancy group, wherein the second plurality of stripes includes a second fixed parity arrangement where parity is stored on one or more different SSDs than the first fixed parity arrangement. 11. A system comprising: a storage system having a memory connected to a processor via a bus; a storage array coupled to the storage system and having one or more solid state drives (SSDs) forming a storage pool; a storage I/O stack executing on the processor of the storage system, the storage I/O stack when executed operable to: receive a write request having data directed towards a logical unit (LUN); organize a first set of SSDs into a first redundancy group having a first redundancy configuration; store the data in a first segment associated with the first redundancy group, wherein the first segment has a log-structured layout, wherein the first segment spans the first redundancy group; in response to a failed SSD in the first redundancy group, allocate a second segment associated with a second redundancy group, wherein the second segment has a log-structured layout, wherein the second redundancy group is organized from the first set of SSDs excluding the failed SSD, wherein the second segment spans the second redundancy group, wherein the second redundancy group has a second redundancy configuration; and rebuild redundancy in response to cleaning the first segment, the rebuilding to retire the failed SSD from use in an active redundancy configuration, the cleaning to consolidate fragmented free space of the storage pool by copying valid blocks of the data from the first segment that spans the first redundancy group organized from the first set of SSDs including the failed SSD to the second segment that spans the second redundancy group organized from the first set of SSDs excluding the failed SSD, according to the second redundancy configuration, while omitting any deleted or overwritten blocks of the data, wherein the second segment includes a set of chunks, each chunk stored on an SSD of the second redundancy group, wherein a first chunk is written as a contiguous range with temporal locality. 12. The system of claim 11 wherein the first segment comprises a plurality of stripes according to the first redundancy configuration spanning the first redundancy group. 13. The system of claim 12 wherein a first parity distribution of the first redundancy group differs from a second parity distribution of the second redundancy group, and wherein the first parity distribution has a fixed arrangement among the plurality of stripes of the first segment. 14. The system of claim 11 wherein the first redundancy configuration is different than the second redundancy configuration. 15. The system of claim 11 wherein the first redundancy group has a same number of parity SSDs as the second redundancy group. 16. The system of claim 11 wherein operation of the storage I/O stack to clean is initiated in response to an amount of free space of the storage pool being less than a free space threshold. 17. The system of claim 11 wherein the storage I/O stack when executed is further operab

Assignees

Inventors

Classifications

  • G06F11/108Primary

    Parity data distribution in semiconductor storages, e.g. in SSD · CPC title

  • specifically adapted to static storage, e.g. adapted to flash memory or SSD · CPC title

  • Rebuilding, e.g. when physically replacing a failing disk · CPC title

  • Protection of memory contents; Detection of errors in memory contents · CPC title

  • Parity-multiple bits-RAID6, i.e. RAID 6 implementations · 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 US9389958B2 cover?
In one embodiment, a file system driven RAID rebuild technique is provided. A layered file system may organize storage of data as segments spanning one or more sets of storage devices, such as solid state drives (SSDs), of a storage array, wherein each set of SSDs may form a RAID group configured to provide data redundancy for a segment. The file system may then drive (i.e., initiate) rebuild o…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/108. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 12 2016 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).