IP Library Granted Patent US 9,098,451
Granted Patent B1
US 9,098,451 · App. 14/550,466 · Granted Aug 4, 2015

Shingled repair set for writing data

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,098,451
App. No.
14/550,466
Granted
Aug 4, 2015
Kind
B1
Abstract

Embodiments are directed towards writing data to a shingle of storage devices enabling storage devices not in the shingle to be turned off. A shingle may be a sub-group of more than one storage devices selected from a larger group of storage devices. A plurality of data repair sets may be written to various subsets of the storage devices in the shingle. Each data repair set may include data block(s) and repair block(s)—with each block being stored on a different storage device in the shingle. When a condition is satisfied, the shingle may be modified to either remove at least one storage device from the shingle, add at least one other storage device to the shingle, or both. In various embodiments, the at least one other storage device may be a storage device in the group of storage devices that is not currently included in the shingle.

Claims (50)

1. A method for storing data across a storage system, comprising:

establishing a shingle of storage devices, wherein the shingle refers to a logical organization of a sub-group of more than one storage device selected from a larger group of storage devices;

writing a plurality of data repair sets to one or more subsets of the storage devices in the shingle, wherein each data repair set includes at least one data block and at least one repair block, and wherein each block is stored on a different storage device in the one or more subsets in the shingle; and

when a condition is satisfied, modifying the shingle to remove at least one storage device from the shingle and to add at least one other storage device to the shingle, wherein the at least one other storage device is in the group of storage devices and currently non-included in the shingle, and wherein the at least one removed storage device is removed from a logical tail of the shingle's organization of the sub-group of storage devices and the at least one other storage device is added to a logical head of the shingle's organization of the sub-group of storage devices.

2. The method of claim 1 , further comprising, powering down the at least one removed storage device.

3. The method of claim 1 , further comprising, powering up the at least one added other storage device.

4. The method of claim 1 , further comprising, when a storage capacity of at least one of the storage devices in the shingle exceeds a predetermined threshold, satisfying the condition.

5. The method of claim 1 , further comprising satisfying the condition based on a predetermined time period.

6. The method of claim 1 , further comprising:

when a capacity condition is satisfied for the group of storage device, determining a new group of storage devices; and

determining a new shingle that logically organizes a new sub-group of storage devices from the larger new group of storage devices.

7. The method of claim 1 , wherein modifying the shingle includes wrapping the shingle to a lowest ordered storage device in the group of storage devices that was previously removed from the shingle.

8. A system for storing data across a storage system, comprising:

a group of storage devices; and

at least one network device that performs actions, including

establishing a shingle of storage devices, wherein the shingle refers to a logical organization of a sub-group of more than one storage device selected from the larger group of storage devices;

writing a plurality of data repair sets to one or more subsets of the storage devices in the shingle, wherein each data repair set includes at least one data block and at least one repair block, and wherein each block is stored on a different storage device in the one or more subsets in the shingle; and

when a condition is satisfied, modifying the shingle to remove at least one storage device from the shingle and to add at least one other storage device to the shingle, wherein the at least one other storage device is in the group of storage devices and currently non-included in the shingle, and wherein the at least one removed storage device is removed from a logical tail of the shingle's organization of the sub-group of storage devices and the at least one other storage device is added to a logical head of the shingle's organization of the sub-group of storage devices.

9. The system of claim 8 , further comprising, powering down the at least one removed storage device.

10. The system of claim 8 , further comprising, powering up the at least one added other storage device.

11. The system of claim 8 , further comprising, when a storage capacity of at least one of the storage devices in the shingle exceeds a predetermined threshold, satisfying the condition.

12. The system of claim 8 , further comprising:

when a capacity condition is satisfied for the group of storage device, determining a new group of storage devices; and

determining a new shingle that logically organizes a new sub-group of storage devices from the larger new group of storage devices.

13. The system of claim 8 , wherein modifying the shingle includes wrapping the shingle to a lowest ordered storage device in the group of storage devices that was previously removed from the shingle.

14. A network computer for storing data across a storage system, comprising:

a memory that stores instructions; and

a processor that executes the instructions to perform actions, including

establishing a shingle of storage devices, wherein the shingle refers to a logical organization of a sub-group of more than one storage device selected from a larger group of storage devices;

writing a plurality of data repair sets to one or more subsets of the storage devices in the shingle, wherein each data repair set includes at least one data block and at least one repair block, and wherein each block is stored on a different storage device in the one or more subsets in the shingle; and

when a condition is satisfied, modifying the shingle to remove at least one storage device from the shingle and to add at least one other storage device to the shingle, wherein the at least one other storage device is in the group of storage devices and currently non-included in the shingle, and wherein the at least one removed storage device is removed from a logical tail of the shingle's organization of the sub-group of storage devices and the at least one other storage device is added to a logical head of the shingle's organization of the sub-group of storage devices.

15. The network computer of claim 14 , wherein the processor that executes the instructions performs further actions, comprising, powering down the at least one removed storage device.

16. The network computer of claim 14 , wherein the processor that executes the instructions performs further actions, comprising, when a storage capacity of at least one of the storage devices in the shingle exceeds a predetermined threshold, satisfying the condition.

17. The network computer of claim 14 , wherein the processor that executes the instructions performs further actions, comprising, satisfying the condition based on a predetermined time period.

18. The network computer of claim 14 , wherein the processor that executes the instructions performs further actions, comprising:

when a capacity condition is satisfied for the group of storage device, determining a new group of storage devices; and

determining a new shingle that logically organizes a new sub-group of storage devices from the larger new group of storage devices.

19. The network computer of claim 14 , wherein modifying the shingle includes wrapping the shingle to a lowest ordered storage device in the group of storage devices that was previously removed from the shingle.

20. A processor readable non-transitory storage media that includes instructions for storing data across a storage system, wherein execution of the instructions by a processor performs actions, comprising:

establishing a shingle of storage devices, wherein the shingle refers to a logical organization of a sub-group of more than one storage device selected from a larger group of storage devices;

writing a plurality of data repair sets to one or more subsets of the storage devices in the shingle, wherein each data repair set includes at least one data block and at least one repair block, and wherein each block is stored on a different storage device in the one or more subsets in the shingle; and

when a condition is satisfied, modifying the shingle to remove at least one storage device from the shingle and to add at least one other storage device to the shingle, wherein the at least one other storage device is in the group of storage devices and currently non-included in the shingle, and wherein the at least one removed storage device is removed from a logical tail of the shingle's organization of the sub-group of storage devices and the at least one other storage device is added to a logical head of the shingle's organization of the sub-group of storage devices.

21. The media of claim 20 , further comprising, powering down the at least one removed storage device.

22. The media of claim 20 , further comprising, powering up the at least one added other storage device.

23. The media of claim 20 , further comprising, when a storage capacity of at least one of the storage devices in the shingle exceeds a predetermined threshold, satisfying the condition.

24. The media of claim 20 , further comprising satisfying the condition based on a predetermined time period.

25. The media of claim 20 , further comprising:

when a capacity condition is satisfied for the group of storage device, determining a new group of storage devices; and

determining a new shingle that logically organizes a new sub-group of storage devices from the larger new group of storage devices.

26. The media of claim 20 , wherein modifying the shingle includes wrapping the shingle to a lowest ordered storage device in the group of storage devices that was previously removed from the shingle.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 60333/0323 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071565/0602 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 10, 2022
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 060333/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2020
From: IGNEOUS SYSTEMS, INC.
To: RUBRIK, INC.
Reel/Frame 054781/0196 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2014
From: RAKITZIS, TRIANTAPHYLLOS BYRON; HUGHES, JEFFREY DOUGLAS; BHAGESHPUR, KIRAN V.
To: IGNEOUS SYSTEMS, INC.
Reel/Frame 034233/0811 →