IP Library Granted Patent US 9,552,258
Granted Patent B2
US 9,552,258 · App. 14/633,406 · Granted Jan 24, 2017

Method and system for storing data in raid memory devices

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,552,258
App. No.
14/633,406
Granted
Jan 24, 2017
Kind
B2
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 (17)

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, wherein numbers of blocks in respective columns are different;

wherein at least some of said parity data is row parity data placed in a column 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 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 each said data block is present in exactly two said parity blocks.

3. 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.

4. 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.

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 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.

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

7. 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.

8. The RAID memory storage system of claim 7 , 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.

9. The RAID storage system of claim 7 , 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.

10. 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.

11. The RAID storage system of claim 1 , further comprising a double disk failure recovery 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.

12. 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 data block with data of said new data block and said existing parity data to form new parity data.

13. A computer-executable method of managing a redundant array of independent disk (RAID) memory storage, the computer-executable method comprising:

storing data storage blocks 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, wherein numbers of blocks in respective columns are different;

wherein at least some of said parity data is row parity data placed in a column 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 blocks comprising each row parity set is larger than the number of said data blocks comprising each diagonal parity set.

Assignments (4)
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 →
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 Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2016
From: SEGEV, YARON; HALLAK, RENEN
To: EMC CORPORATION
Reel/Frame 040735/0019 →