IP Library Granted Patent US 10,459,798
Granted Patent B2
US 10,459,798 · App. 15/705,452 · Granted Oct 29, 2019

Data storage system with multiple parity redundancy

Inventor: Chetan Bendakaluru Lingarajappa (Bangalore, IN)
Assignee: Seagate Technology LLC
G06F11/1096G06F3/064G06F3/065G06F3/0607G06F3/0619G06F3/0658G06F3/0665G06F3/0688G06F3/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 10,459,798
App. No.
15/705,452
Filed
Sep 15, 2017
Granted
Oct 29, 2019
Kind
B2
Art Unit
2111
USPC
714/766
Abstract

A data storage system can have multiple parity redundancy with a plurality of data storage units arranged into logical rows and logical columns. A controller connected to the plurality of data storage units can orchestrate the logical rows storing striped data having at least one rotational parity value and each logical column storing striped data with a static parity value. The static parity value of each logical column may be computed from the at least one rotational parity value of at least one logical row as directed by the controller.

Claims (24)

1. A system comprising a controller connected to a plurality of data storage units arranged into logical rows and columns, the logical rows storing striped data having at least one rotational parity value, each logical column storing striped data with a static parity value, the static parity value of each logical column computed from the at least one rotational parity value of at least one logical row as directed by the controller, at least one data storage unit of the plurality of data storage units having a zero value assigned by the controller responsive to a data storage device being newly connected to the controller.

2. The system of claim 1 , wherein the striped data and at least one rotational parity value of each logical column are stored in different and physically separated data storage devices.

3. The system of claim 1 , wherein each logical row corresponds with multiple different and physically separated data storage devices.

4. The system of claim 3 , wherein each data storage device each unit comprises a local programmable processor and memory.

5. The system of claim 1 , wherein the controller sets each logical row to different provisioned level.

6. The system of claim 5 , wherein the controller sets each logical column to a common provisioned level.

7. The system of claim 1 , wherein the striped data is user-generated data.

8. The system of claim 1 , wherein the logical rows are provisioned to a redundant array of independent devices (RAID) level 6 and the logical columns are provisioned to a RAID level 4.

9. The system of claim 1 , wherein each logical row and logical column has more than one parity computation.

10. A method comprising:

connecting a controller to a plurality of data storage units;

arranging the plurality of data storage units into logical rows and columns, each logical row and logical column storing striped data;

computing a rotational parity value for each logical row with the controller;

generating a static parity value for each logical column with the controller, the static parity value of each logical column computed from the rotational parity value of the logical row in which the static parity value resides, the static parity value of a first logical column of the plurality of logical columns stored in a first data storage unit of the plurality of data storage units, the striped data and at least one rotational parity value of the first logical columns stored in a second storage device, the first storage device having a greater data capacity than the second data storage device.

11. The method of claim 10 , wherein the controller assigns a zero value to a data storage unit responsive to a data storage device being removed from the controller.

12. The method of claim 10 , wherein the controller assigns a zero value to a data storage unit responsive to a data storage device being newly connected to the controller.

13. The method of claim 10 , wherein the controller assigns a zero value to a data storage unit responsive to a first data storage device having a different data capacity than a second data storage device, each data storage device connected to the controller and forming portions of the logical rows and columns.

14. The method of claim 10 , wherein the controller reconstructs at least one data storage unit responsive to an encountered data storage error.

15. The method of claim 14 , wherein the controller reconstructs the at least one data storage unit from the static parity value of the logical column.

16. The method of claim 15 , wherein the controller evaluates reconstructing the at least one data storage unit from the rotational parity value of the logical row and uses the static parity value instead of the rotational parity value.

17. The method of claim 10 , wherein the controller changes a first logical row from a first provisioned level to a second provisioned level without taking any other logical rows offline.

18. The method of claim 10 , wherein the controller stores user-generated data to a logical row and logical column while two data storage units are non-operational in response to encountered failures.

19. A system comprising a network controller connected to a plurality of data storage units arranged into logical rows and columns, the logical rows storing striped data and at least one rotational parity value, the logical columns storing striped data with a static parity value, the static parity value of each logical column computed from the at least one rotational parity value of at least one logical row as directed by the network controller, the static parity value of a first logical column stored in a first data storage device, the striped data and at least one rotational parity value of the first logical columns stored in a second storage device, the first storage device having a greater data capacity than the second data storage device.

20. The system of claim 19 , wherein each logical column has a different data storage device storing the static parity value than the striped data and at least one rotational parity value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2017
From: LINGARAJAPPA, CHETAN BENDAKALURU
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 043600/0191 →
Continuity (1)
Related Publication 20190087272A1 · Mar 21, 2019
Cited By (1)
US 12,656,975