IP Library Granted Patent US 8,898,381
Granted Patent B2
US 8,898,381 · App. 12/960,626 · Granted Nov 25, 2014

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 8,898,381
App. No.
12/960,626
Granted
Nov 25, 2014
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 (25)

1. 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 inverting bit values of the parity data depending on the number of data blocks detected by the detecting means.

2. The RAID storage system of claim 1 , wherein the array of solid-state drives comprises physical or logical drives.

3. The RAID storage system of claim 1 , wherein the array of solid-state drives comprises NAND-based solid-state drives.

4. The RAID storage system of claim 1 , wherein the parity data are calculated with parity calculations carried out at a system level of the RAID storage system.

5. The RAID storage system of claim 1 , wherein the parity data are calculated with parity calculations carried out by a dedicated microprocessor within the RAID storage system.

6. The RAID storage system of claim 1 , wherein the inverting means comprises software operating within the RAID storage system.

7. The RAID storage system of claim 1 , wherein the inverting means comprises a dedicated inversion circuitry within the RAID storage system.

8. The RAID storage system of claim 1 , wherein the controller comprises the means for detecting the number of data blocks of at least one of the data stripe sets.

9. The RAID storage system of claim 1 , wherein the controller comprises the means for inverting bit values of the parity data depending on the number of data blocks detected by the detecting means.

10. The RAID storage system of claim 1 , wherein the controller comprises the means for detecting the number of data blocks of at least one of the data stripe sets and the means for inverting bit values of the parity data depending on the number of data blocks detected by the detecting means.

11. A controller for use in a RAID storage system, the RAID storage system comprising an array of solid-state drives, the controller comprising:

software or circuitry configured to operate 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; and

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

wherein the RAID storage system comprises means for inverting bit values of the parity data depending on the number of data blocks detected by the detecting means.

12. A controller for use in a RAID storage system, the RAID storage system comprising an array of solid-state drives, the controller comprising:

software or circuitry configured to operate 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, wherein the RAID storage system comprises means for detecting the number of data blocks of at least one of the data stripe sets; and

means for inverting bit values of the parity data depending on the number of data blocks detected by the detecting means.

13. A controller for use in a RAID storage system, the RAID storage system comprising an array of solid-state drives, the controller comprising:

software or circuitry configured to operate 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 inverting bit values of the parity data depending on the number of data blocks detected by the detecting means.

Assignments (15)
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
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 Apr 14, 2016
From: OCZ STORAGE SOLUTIONS, INC.
To: TOSHIBA CORPORATION
Reel/Frame 038434/0371 →
RELEASE OF SECURITY INTEREST BY BANKRUPTCY COURT ORDER (RELEASES REEL/FRAME 030092/0739) Recorded Apr 8, 2014
From: HERCULES TECHNOLOGY GROWTH CAPITAL, INC.
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 032640/0284 →
RELEASE OF SECURITY INTEREST BY BANKRUPTCY COURT ORDER (RELEASES REEL/FRAME 031611/0168) Recorded Apr 8, 2014
From: COLLATERAL AGENTS, LLC
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 032640/0455 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE AND ATTACH A CORRECTED ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED ON REEL 032365 FRAME 0920. ASSIGNOR(S) HEREBY CONFIRMS THE THE CORRECT EXECUTION DATE IS JANUARY 21, 2014. Recorded Mar 18, 2014
From: OCZ TECHNOLOGY GROUP, INC.
To: TAEC ACQUISITION CORP.
Reel/Frame 032461/0486 →
CHANGE OF NAME Recorded Feb 27, 2014
From: TAEC ACQUISITION CORP.
To: OCZ STORAGE SOLUTIONS, INC.
Reel/Frame 032365/0945 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2014
From: OCZ TECHNOLOGY GROUP, INC.
To: TAEC ACQUISITION CORP.
Reel/Frame 032365/0920 →
SECURITY AGREEMENT Recorded Nov 11, 2013
From: OCZ TECHNOLOGY GROUP, INC.
To: COLLATERAL AGENTS, LLC
Reel/Frame 031611/0168 →
SECURITY AGREEMENT Recorded Mar 27, 2013
From: OCZ TECHNOLOGY GROUP, INC.
To: HERCULES TECHNOLOGY GROWTH CAPITAL, INC.
Reel/Frame 030092/0739 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 030088/0443 →
SECURITY AGREEMENT Recorded May 14, 2012
From: OCZ TECHNOLOGY GROUP, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 028440/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2011
From: LEACH, ANTHONY; SCHUETTE, FRANZ MICHAEL
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 025821/0973 →