IP Library Granted Patent US 8,990,495
Granted Patent B2
US 8,990,495 · App. 13/296,334 · Granted Mar 24, 2015

Method and system for storing data in raid memory devices

Inventors: Renen Hallak (Tel-Aviv, IL); Yaron Segev (RaAnana, IL)
Assignee: EMC Corporation
G06F11/1092G06F2211/1057
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 8,990,495
App. No.
13/296,334
Filed
Nov 15, 2011
Granted
Mar 24, 2015
Kind
B2
Art Unit
2131
USPC
711/114
Abstract

A redundant array of independent disk (RAID) memory storage system comprising data storage blocks arranged in a first plurality of data rows and a second plurality of data columns, wherein parity data is stored in additionally defined parity blocks, and wherein numbers of data blocks in respective columns are different, to accommodate the additional diagonal parity data block that the geometry of the system requires. The system is suitable for an SSD array in which sequential disk readout is not required.

Claims (28)

1. A redundant array of independent disk (RAID) memory storage system comprising data storage blocks arranged in said array in a first plurality of data rows and a second plurality of data columns, wherein parity data is stored in additionally defined parity blocks, and wherein numbers of blocks in respective columns are different;

wherein at least some of said parity data is row parity data placed in a plurality of columns of row parity data wherein at least some of said parity data is diagonal parity data placed in diagonal parity blocks in a diagonal parity column, wherein the number of said data blocks comprising each row parity set is larger than the number of said data blocks comprising each diagonal parity set.

2. The RAID memory storage system of claim 1 , wherein the said data storage blocks are arranged in at least two independent parity groups, wherein each said parity group has a plurality of said parity blocks and an equal number of parity sets comprising a subset of the said data storage blocks.

3. The RAID memory storage system of claim 1 , wherein each said data block is present in exactly two said parity blocks.

4. The RAID memory storage system of claim 1 , wherein at least some of said parity blocks are arranged in parity columns other than those containing respective data blocks, and wherein each remaining said parity block is placed in a column containing data blocks other than a column which contains respective data blocks of the respective parity block.

5. The RAID memory storage system of claim 1 , wherein at least some of said parity data is row parity data placed in row parity blocks in at least one row parity column.

6. The RAID memory storage system of claim 1 , wherein at least some of said parity data is diagonal parity data placed in diagonal parity blocks in a diagonal parity column.

7. The RAID memory storage system of claim 1 , wherein at least some of said parity data is diagonal parity data placed in a column of diagonal parity data, said diagonal parity column comprising one more block than a number of said first plurality of data rows.

8. The RAID memory storage system of claim 1 , wherein at least some of said parity data is row parity data placed in row parity blocks in at least one row parity column wherein at least some of said parity data is diagonal parity data placed in diagonal parity blocks in a diagonal parity column, wherein said data storage blocks are arranged with a blank diagonal, such that each data column sharing said blank diagonal has one less block than a number of said plurality of rows and said diagonal parity column has a number of blocks equal to said number of said first plurality of data rows.

9. The RAID memory storage system of claim 1 , wherein said array comprises a plurality of solid state drives (SSD).

10. The RAID memory storage system of claim 1 , wherein said second plurality of data columns equals a prime number and said first plurality of data rows is less than said second plurality of data columns.

11. The RAID memory storage system of claim 10 , wherein said second plurality of data columns is equal to a number of disks allowed in said array, wherein at any given time an actual number of disks present is less than or equal to said allowed number of disks.

12. The RAID storage system of claim 10 , further comprising a disk addition unit for adding a new disk to the array and maintaining a balance of parity blocks over said array, the disk addition unit being configured to migrate a selected row parity block to said new disk by retaining said row parity block at an original disk position and defining a zeroed block of data to receive future parity updates for said selected row parity block, said disk addition unit further configured to calculate a new diagonal parity block on said new disk.

13. The RAID storage system of claim 1 , further comprising a single disk failure recovery unit configured to use row parity to recover a first plurality of lost data blocks and to use diagonal parity to recover remaining data blocks, thereby to use data blocks already read from said row parity recovery to calculate said diagonal parity recovery.

14. The RAID storage system of claim 1 , further comprising a double disk failure recover unit, configured to recover a first block of a first lost disk in a first, and then succeeding ones, of said rows using diagonal parity and then to recover a first block of a second lost disk in said first row, and then succeeding rows using row parity data of said first row and then succeeding rows respectively.

15. The RAID storage system of claim 1 , further comprising a data update unit for writing a new data block over an old data block, the data update unit configured to read said old data block, and existing parity data, write said new data block and XOR data of said old block with data of said new data block and said existing parity data to form new parity data.

16. A redundant array of independent disk (RAID) memory storage method comprising storing data storage blocks arranged in a first plurality of data rows and a second plurality of data columns, and storing parity data in additionally defined parity blocks, said columns being arranged such that numbers of blocks in respective columns are different;

wherein at least some of said parity data is row parity data placed in row parity blocks in a row parity column wherein at least some of said parity data is diagonal parity data placed in diagonal parity blocks in a diagonal parity column, the method comprising arranging said data storage blocks with a blank diagonal, such that each data column sharing said blank diagonal has one less block than a number of said plurality of rows and said diagonal parity column has a number of blocks equal to said number of said first plurality of data rows.

17. The RAID memory storage method of claim 16 , wherein at least some of said parity data is row parity data placed in row parity blocks in a row parity column.

18. The RAID memory storage method of claim 16 , wherein at least some of said parity data is diagonal parity data placed in diagonal parity blocks in a diagonal parity column.

19. The RAID memory storage method of claim 16 , wherein at least some of said parity data is diagonal parity data placed in a column of diagonal parity data, said diagonal parity column comprising one more block than a number of said first plurality of data rows.

20. The RAID memory storage method of claim 16 , wherein said array comprises a plurality of solid state drives (SSD).

21. The RAID memory storage method of claim 16 , wherein said second plurality of data columns equals a prime number and said first plurality of data rows is one less than said second plurality of data columns.

22. The RAID memory storage method of claim 21 , wherein said second plurality of data columns is equal to a number of disks allowed in said array, and providing, at any given time, an actual number of disks which is less than or equal to said allowed number of disks.

23. The RAID storage method of claim 21 , further comprising adding a new disk to the array and maintaining a balance of parity blocks over said array, the method comprising migrating a selected row parity block to said new disk by retaining said row parity block at an original disk position and defining a zeroed block of data to receive future parity updates for said selected row parity block, and calculating a new diagonal parity block on said new disk.

24. The RAID storage method of claim 16 , further comprising, in the event of single disk failure, using row parity to recover a first plurality of lost data blocks and to use diagonal parity to recover remaining data blocks, thereby to use data blocks already read from said row parity recover to calculate said diagonal parity recovery.

25. The RAID storage method of claim 16 , further comprising, in the event of double disk failure, recovering a first block of a first lost disk in a first, and then succeeding ones, of said rows using diagonal parity and then to recover a first block of a second lost disk in a said first row, and then succeeding rows using row parity data of said first row and then succeeding rows respectively.

26. The RAID storage method of claim 16 , further comprising writing a new data block over an old data block, by reading said old data block and existing parity data, writing said new data block and XORing data of said old data block with data of said new data block and said existing parity data to form new parity data.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2013
From: XTREMIO LIMITED
To: EMC CORPORATION
Reel/Frame 029763/0054 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2011
From: HALLAK, RENEN; SEGEV, YARON
To: XTREMIO LTD.
Reel/Frame 027406/0091 →
Continuity (1)
Related Publication 20130124776A1 · May 16, 2013