IP Library Granted Patent US 9,483,349
Granted Patent B2
US 9,483,349 · App. 14/157,828 · Granted Nov 1, 2016

Clustered raid data organization

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,483,349
App. No.
14/157,828
Granted
Nov 1, 2016
Kind
B2
Abstract

In one embodiment, a node of a cluster having a plurality of nodes, executes a storage input/output (I/O) stack having a redundant array of independent disks (RAID) layer. The RAID layer organizes solid state drives (SSDs) within one or more storage arrays as a plurality of RAID groups associated with one or more extent stores. The RAID groups are formed from slices of storage spaces of the SSDs instead of entire storage spaces of the SSDs. This provides for RAID groups to co-exist on a same set of the SSDs.

Claims (37)

1. A system comprising:

a central processing unit (CPU) of a node of a cluster having a plurality of nodes;

one or more storage arrays of solid state drives (SSDs) coupled to the node; and

a memory coupled to the CPU and configured to store a storage input/output (I/O) stack having a redundant array of independent disks (RAID) layer executable by the CPU, the RAID layer configured to organize the SSDs within the one or more storage arrays as a plurality of RAID groups associated with one or more extent stores, the RAID groups formed from slices of storage spaces of the SSDs instead of entire storage spaces of the SSDs, such that RAID groups co-exist on a same set of the SSDs, the one or more extent stores including segments spanning a RAID group, and wherein each segment within the RAID group represents a unit of redundancy with at least one of different parity distribution and amount of parity overhead.

2. The system of claim 1 wherein different nodes of the cluster access different RAID groups on the same set of the SSDs.

3. The system of claim 1 wherein the SSDs are configured with multi-stream access capability to enable the one or more extent stores to co-exist on the same set of SSDs.

4. The system of claim 3 wherein the multi-stream access capability allows a first node of the cluster to service a first extent store on a first RAID group and a second node of the cluster to service a second extent store on a second RAID group.

5. The system of claim 1 wherein each segment is associated with a separate RAID group.

6. The system of claim 1 wherein parity and data are arranged on a segment-by-segment basis according to a RAID configuration of the segment supported by the RAID group.

7. The system of claim 1 wherein a first segment uses a first slice on a first SSD for parity and a second segment uses a second slice on a second SSD for the parity.

8. The system of claim 1 wherein a first segment uses single parity protection and a second segment uses double parity protection.

9. A method comprising:

executing, by a node of a cluster having a plurality of nodes, a storage input/output (I/O) stack having a redundant array of independent disks (RAID) layer,

organizing, by the RAID layer, solid state drives (SSDs) within one or more storage arrays as a plurality of RAID groups associated with one or more extent stores; and

forming the RAID groups from slices of storage spaces of the SSDs instead of entire storage spaces of the SSDs, such that RAID groups co-exist on a same set of the SSDs, the one or more extent stores including segments spanning a RAID group, and wherein each segment within the RAID group represents a unit of redundancy with at least one of different parity distribution and amount of parity overhead.

10. The method of claim 9 further comprising:

accessing, by different nodes of the cluster, different RAID groups on the same set of the SSDs.

11. The method of claim 9 further comprising:

configuring the SSDs with multi-stream access capability to enable the one or more extent stores to co-exist on the same set of SSDs.

12. The method of claim 11 further comprising:

using the multi-stream access capability to have a first node of the cluster service a first extent store on a first RAID group and a second node of the cluster to service a second extent store on a second RAID group.

13. The method of claim 9 further comprising:

associating each segment with a separate RAID group.

14. The method of claim 9 further comprising:

arranging parity and data on a segment-by-segment basis according to a RAID configuration of the segment supported by the RAID group.

15. The method of claim 9 further comprising:

using a first slice on a first SSD for parity for a first segment; and

using a second slice on a second SSD for the parity for a second segment.

16. The system of claim 1 wherein the RAID group is formed from a slice of storage spaces having different locations on at least two of the SSDs.

17. The system of claim 1 wherein the RAID group is formed from a slice of storage spaces having a same location on at least two of the SSDs.

18. The method of claim 9 further comprising:

forming the RAID group from a slice of storage spaces having different locations on at least two of the SSDs.

19. The method of claim 9 further comprising:

forming the RAID group from a slice of storage spaces having a same location on at least two of the SSDs.

20. A non-transitory computer readable medium having executable program instructions when executed by a processor operable to:

organize solid state drives (SSDs) within one or more storage arrays coupled to the processor as a plurality of RAID groups associated with one or more extent stores; and

form the RAID groups from slices of storage spaces of the SSDs instead of entire storage spaces of the SSDs, such that RAID groups co-exist on a same set of the SSDs, the one or more extent stores including segments spanning a RAID group, and wherein each segment within the RAID group represents a unit of redundancy with at least one of different parity distribution and amount of parity overhead.

Assignments (2)
CHANGE OF NAME Recorded Jun 26, 2024
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 067847/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2014
From: SUNDARAM, RAJESH; BADDEPUDI, BHARAT; KIMMEL, JEFFREY S.
To: NETAPP, INC.
Reel/Frame 032701/0482 →