File system driven raid rebuild technique
First Claim
Patent Images
1. A system comprising:
- a central processing unit (CPU) of a node;
one or more storage arrays of solid state drives (SSDs) coupled to the node, each storage array including a plurality of segments, the SSDs organized as one or more redundant array of independent disks (RAID) groups configured to provide data redundancy for the segments; and
a memory coupled to the CPU and configured to store a layered file system of a storage input/output (I/O) stack, the layered file system configured to perform segment cleaning to consolidate fragmented free space of a first segment by copying data from the first segment to a second segment, the layered file system further configured to initiate the segment cleaning of the first segment having a RAID configuration including a temporarily failed SSD in response to recovery of the temporarily failed SSD, wherein the RAID configuration is rebuilt for the second segment in response to the segment cleaning of the first segment, and wherein data in-flight to the temporarily failed SSD is discarded while the temporarily failed SSD is offline rather than rewritten when the temporarily failed SSD recovers.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, one or more storage arrays of solid state drives (SSDs) that include a plurality of segments are organized as one or more redundant array of independent disks (RAID) groups, where the RAID groups provides data redundancy for the segments. A node executing a layered file system of a storage input/output (I/O) stack performs segment cleaning to clean the segments. It further initiates rebuild of a RAID configuration of the SSDs on a segment-by-segment basis in response to the segment cleaning. In such a configuration, each segment includes one or more RAID stripes that provide a level of data redundancy as well as RAID organization for the segment.
-
Citations
20 Claims
-
1. A system comprising:
-
a central processing unit (CPU) of a node; one or more storage arrays of solid state drives (SSDs) coupled to the node, each storage array including a plurality of segments, the SSDs organized as one or more redundant array of independent disks (RAID) groups configured to provide data redundancy for the segments; and a memory coupled to the CPU and configured to store a layered file system of a storage input/output (I/O) stack, the layered file system configured to perform segment cleaning to consolidate fragmented free space of a first segment by copying data from the first segment to a second segment, the layered file system further configured to initiate the segment cleaning of the first segment having a RAID configuration including a temporarily failed SSD in response to recovery of the temporarily failed SSD, wherein the RAID configuration is rebuilt for the second segment in response to the segment cleaning of the first segment, and wherein data in-flight to the temporarily failed SSD is discarded while the temporarily failed SSD is offline rather than rewritten when the temporarily failed SSD recovers. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
organizing one or more storage arrays of solid state drives (SSDs) that include a plurality of segments as one or more redundant array of independent disks (RAID) groups, the RAID groups configured to provide data redundancy for the segments; performing, by a node executing a layered file system of a storage input/output (I/O) stack, segment cleaning to consilidatc fragmented free space of a first segment by copying data from the first segment to a second segment; and initiating the segment cleaning of the first segment having a RAID configuration including a temporarily failed SSD in response to recovery of the temporarily failed SSD, wherein the RAID configuration is rebuilt for the second segment in response to the segment cleaning of the first segment, and wherein data in-flight to the temporarily failed SSD is discarded while the temporarily failed SSD is offline rather than rewritten when the temporarily failed SSD recovers. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium including program instructions for execution on one or more processors, the program instructions when executed operable to:
-
organize one or more storage arrays of solid state drives (SSDs) that include a plurality of segments as one or more redundant array of independent disks (RAID) groups, the RAID groups configured to provide data redundancy for the segments; perform segment cleaning to consolidate fragmented free space of a first segment by copying data from the first segment to a second segment; and initiate the segment cleaning of the first segment having a RAID configuration including a temporarily failed SSD in response to recovery of the temporarily failed SSD, wherein the RAID configuration is rebuilt for the second segment in response to the segment cleaning of the first segment, and wherein data in-flight to the temporarily failed SSD is discarded while the temporarily failed SSD is offline rather than rewritten when the temporarily failed SSD recovers. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification