IP Library Granted Patent US 11,714,572
Granted Patent B2
US 11,714,572 · App. 16/895,080 · Granted Aug 1, 2023

Optimized data resiliency in a modular storage system

Inventors: Hari Kannan (Sunnyvale, CA); Robert Lee (San Carlos, CA); Yuhong Mao (Fremont, CA); Ronald Karr (Palo Alto, CA); Boris Feigin (San Francisco, CA)
Assignee: PURE STORAGE, INC.
G06F3/0659G06F3/0614G06F3/0652G06F3/0653G06F3/0658G06F3/0689
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 11,714,572
App. No.
16/895,080
Granted
Aug 1, 2023
Kind
B2
Abstract

A redundant array of independent drives (RAID) stripe is formed across a set of storage controllers of a plurality of storage controllers, wherein the RAID stripe comprises two or more of a plurality of modular storage devices of at least one of the set of storage controllers. The RAID stripe is written across the set of storage controllers.

Claims (38)

1. A storage system comprising:

a plurality of storage controllers, wherein each of the plurality of storage controllers is configured to support a plurality of modular solid-state storage drives that are removable from the storage controllers, replaceable and relocatable to others of the storage controllers; and

a storage system controller detachably coupled to each storage controller of the plurality of storage controllers, the storage system controller comprising a processing device, the processing device to:

form a redundant array of independent drives (RAID) stripe across a set of storage controllers of the plurality of storage controllers, wherein the RAID stripe comprises two or more of the plurality of modular solid-state storage drives of at least one of the set of storage controllers; and

write the RAID stripe across the set of storage controllers.

2. The storage system of claim 1 , wherein the plurality of modular solid-state storage drives comprises direct-mapped solid-state storage drives.

3. The storage system of claim 1 , wherein the processing device is further to:

form a second RAID stripe across a second set of storage controllers of the plurality of storage controllers, wherein the second RAID stripe has a different geometry than the RAID stripe; and

write the second RAID stripe across the second set of storage controllers.

4. The storage system of claim 1 , wherein the plurality of storage controllers comprise one or more authorities, wherein each of the one or more authorities determines how operations will proceed against particular logical elements of the plurality of modular solid-state storage drives, wherein each of the particular logical elements is operated on through a particular authority of the one or more authorities across the plurality of storage controllers, wherein the particular authority communicates with the plurality of storage controllers to facilitate a collective performance of operations against the particular logical elements.

5. The storage system of claim 1 , wherein the processing device is further to:

determine a change associated with a topography of the plurality of storage controllers, wherein a new erasure coding scheme is selected for forming a subsequent RAID stripe based on determining the change associated with the topography of the plurality of storage controllers.

6. The storage system of claim 1 , further comprising:

one or more storage device interconnectors operatively coupled to the plurality of modular solid-state storage drives, wherein the one or more storage device interconnectors enable transfer of data between the plurality of modular solid-state storage drives.

7. The storage system of claim 1 , wherein the storage system controller is configured to support a non-disruptive upgrade of one or more of the plurality of storage controllers.

8. A method, comprising:

forming, by a processing device of a storage system controller, a redundant array of independent drives (RAID) stripe across a set of storage controllers of a plurality of storage controllers coupled to the storage system controller, wherein the RAID stripe comprises two or more of a plurality of modular solid-state storage drives of at least one of the set of storage controllers, with the modular solid-state storage drives being removable from the storage controllers, replaceable and relocatable to others of the storage controllers, wherein the storage system controller is detachably coupled to the set of controllers; and

writing the RAID stripe across the set of storage controllers.

9. The method of claim 8 , wherein the plurality of modular solid-state storage drives comprises direct-mapped solid-state storage drives.

10. The method of claim 8 , further comprising:

forming a second RAID stripe across a second set of storage controllers of the plurality of storage controllers, wherein the second RAID stripe has a different geometry than the RAID stripe; and

writing the second RAID stripe across the second set of storage controllers.

11. The method of claim 8 , wherein the plurality of storage controllers comprise one or more authorities, wherein each of the one or more authorities determines how operations will proceed against particular logical elements of the plurality of modular solid-state storage drives, wherein each of the particular logical elements is operated on through a particular authority of the one or more authorities across the plurality of storage controllers, wherein the particular authority communicates with the plurality of storage controllers to facilitate a collective performance of operations against the particular logical elements.

12. The method of claim 8 , further comprising:

determining a change associated with a topography of the plurality of storage controllers, wherein a new erasure coding scheme is selected for forming a subsequent RAID stripe based on determining the change associated with the topography of the plurality of storage controllers.

13. The method of claim 8 , wherein one or more storage device interconnectors are operatively coupled to the plurality of modular solid-state storage drives, wherein the one or more storage device interconnectors enable transfer of data between the plurality of modular solid-state storage drives.

14. The method of claim 8 , wherein the storage system controller is configured to support a non-disruptive upgrade of one or more of the plurality of storage controllers.

15. A non-transitory computer readable storage medium storing instructions, which when executed, cause a processing device of a storage system controller to:

form, by the processing device of the storage system controller, a redundant array of independent drives (RAID) stripe across a set of storage controllers of a plurality of storage controllers coupled to the storage system controller, wherein the RAID stripe comprises two or more of a plurality of modular solid-state storage drives of at least one of the set of storage controllers, with the modular solid-state storage drives being removable from the storage controllers, replaceable and relocatable to others of the storage controllers, wherein the storage system controller is detachably coupled to the set of controllers; and

write the RAID stripe across the set of storage controllers.

16. The non-transitory computer readable storage medium of claim 15 , wherein the plurality of modular solid-state storage drives comprises direct-mapped solid-state storage drives.

17. The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further to:

form a second RAID stripe across a second set of storage controllers of the plurality of storage controllers, wherein the second RAID stripe has a different geometry than the RAID stripe; and

write the second RAID stripe across the second set of storage controllers.

18. The non-transitory computer readable storage medium of claim 15 , wherein the plurality of storage controllers comprise one or more authorities, wherein each of the one or more authorities determines how operations will proceed against particular logical elements of the plurality of modular solid-state storage drives, wherein each of the particular logical elements is operated on through a particular authority of the one or more authorities across the plurality of storage controllers, wherein the particular authority communicates with the plurality of storage controllers to facilitate a collective performance of operations against the particular logical elements.

19. The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further to:

determine a change associated with a topography of the plurality of storage controllers, wherein a new erasure coding scheme is selected for forming a subsequent RAID stripe based on determining the change associated with the topography of the plurality of storage controllers.

20. The non-transitory computer readable storage medium of claim 15 , wherein one or more storage device interconnectors are operatively coupled to the plurality of modular solid-state storage drives, wherein the one or more storage device interconnectors enable transfer of data between the plurality of modular solid-state storage drives.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2020
From: KANNAN, HARI; LEE, ROBERT; MAO, YUHONG; KARR, RONALD; FEIGIN, BORIS
To: PURE STORAGE, INC.
Reel/Frame 052863/0939 →
Continuity (5)
Provisional Application 62947740 · Dec 13, 2019
Provisional Application 62934332 · Nov 12, 2019
Provisional Application 62901097 · Sep 16, 2019
Provisional Application 62863701 · Jun 19, 2019
Related Publication 20200401350A1 · Dec 24, 2020
Cited By (1)
US 12,561,093