IP Library Granted Patent US 9,152,498
Granted Patent B2
US 9,152,498 · App. 14/520,413 · Granted Oct 6, 2015

Raid storage systems having arrays of solid-state drives and methods of operation

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,152,498
App. No.
14/520,413
Granted
Oct 6, 2015
Kind
B2
Abstract

RAID storage systems and methods adapted to enable the use of NAND flash-based solid-state drives. The RAID storage system includes an array of solid-state drives and a controller operating to combine the solid-state drives into a logical unit. The controller utilizes data striping to form data stripe sets comprising data (stripe) blocks that are written to individual drives of the array, utilizes distributed parity to write parity data of the data stripe sets to individual drives of the array, and writes the data blocks and the parity data to different individual drives of the array. The RAID storage system detects the number of data blocks of at least one of the data stripe sets and then, depending on the number of data blocks detected, may invert bit values of the parity data or add a dummy data value of “1” to the parity value.

Claims (21)

1. A method of operating a RAID storage system comprising an array of solid-state drives and a controller operating to combine the array of solid-state drives into a logical unit, utilize data striping to segment data to form data stripe sets comprising data blocks that are written to individual drives of the array of solid-state drives, utilize distributed parity to write parity data of the data stripe sets to individual drives of the array of solid-state drives, and write the data blocks and the parity data to different individual drives of the array of solid-state drives, the method comprising:

detecting the number of data blocks of at least one of the data stripe sets;

calculating the parity data corresponding to the data blocks for each data stripe set; and

either writing the calculated parity data to a parity block on an individual drive of the array of solid-state drives if the number of detected data blocks is odd, or inverting bit values of the calculated parity data to yield inverted parity data that are then written to a parity block on an individual drive of the array of solid-state drives if the number of detected data blocks is even.

2. The method of claim 1 , wherein the calculating step is carried out at a system level of the RAID storage system.

3. The method of claim 1 , wherein the calculating step is carried out by a dedicated microprocessor within the RAID storage system.

4. The method of claim 1 , wherein the inverting step is performed by software operating within the RAID storage system.

5. The method of claim 1 , wherein the inverting step is performed by a dedicated inversion circuitry within the RAID storage system.

6. The method of claim 1 , wherein the detecting step is performed by the controller.

7. The method of claim 1 , wherein the inverting step is performed by the controller.

8. The method of claim 1 , wherein the detecting and inverting steps are performed by the controller.

9. A RAID storage system comprising:

an array of solid-state drives;

a controller operating to combine the array of solid-state drives into a logical unit, utilize data striping to segment data to form data stripe sets comprising data blocks that are written to individual drives of the array of solid-state drives, utilize distributed parity to write parity data of the data stripe sets to individual drives of the array of solid-state drives, and write the data blocks and the parity data to different individual drives of the array of solid-state drives;

means for detecting the number of data blocks of at least one of the data stripe sets; and

means for calculating the parity data corresponding to the data blocks for each data stripe set by adding a dummy bit value to the parity data if the number of data blocks detected by the detecting means is an even number, and not adding the dummy bit value to the parity data if the number of data blocks detected by the detecting means is an odd number;

wherein the controller writes the calculated parity data to a parity block on an individual drive of the array of solid-state drives.

10. A method of operating a RAID storage system comprising an array of solid-state drives and a controller operating to combine the array of solid-state drives into a logical unit, utilize data striping to segment data to form data stripe sets comprising data blocks that are written to individual drives of the array of solid-state drives, utilize distributed parity to write parity data of the data stripe sets to individual drives of the array of solid-state drives, and write the data blocks and the parity data to different individual drives of the array of solid-state drives, the method comprising:

detecting the number of data blocks of at least one of the data stripe sets; and

calculating the parity data corresponding to the data blocks for each data stripe set by adding a dummy bit value to the parity data if the number of data blocks is an even number, and not adding the dummy bit value to the parity data if the number of data blocks is an odd number;

writing the calculated parity data to a parity block on an individual drive of the array of solid-state drives.

Assignments (8)
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2017
From: TOSHIBA CORPORATION
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043620/0430 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2016
From: ZCO LIQUIDATING CORPORATION (F/K/A OCZ TECHNOLOGY GROUP, INC.)
To: TOSHIBA CORPORATION
Reel/Frame 038840/0738 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2016
From: OCZ STORAGE SOLUTIONS, INC.
To: TOSHIBA CORPORATION
Reel/Frame 038434/0371 →
CHANGE OF NAME Recorded Sep 9, 2015
From: TAEC ACQUISITION CORP.
To: OCZ STORAGE SOLUTIONS, INC.
Reel/Frame 036573/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2015
From: LEACH, ANTHONY; SCHUETTE, FRANZ MICHAEL
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 035821/0937 →