IP Library Granted Patent US 10,922,172
Granted Patent B2
US 10,922,172 · App. 16/520,795 · Granted Feb 16, 2021

On the fly raid parity calculation

Inventor: Julien Margetts (Thame, GB)
Assignee: Toshiba Memory Corporation
G06F11/1068G06F11/1076G11C29/52
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,922,172
App. No.
16/520,795
Granted
Feb 16, 2021
Kind
B2
Abstract

A data storage device comprises a storage array containing first data, a buffer containing RAID units, and a controller in communication with the storage array and the buffer. The controller is configured to receive a read request from a host device for a second data stored in the storage array, and determine an identifier associated with the requested second data. The controller is also configured to determine if the requested second data contains an unrecoverable error. The controller then accumulates first data, including a parity value, contained in the storage array associated with the same identifier as the requested second data in a reconstruction buffer, if the requested second data contains an unrecoverable error.

Claims (39)

1. A data storage device comprising:

a storage array containing first data;

a buffer containing RAID units; and

a controller in communication with the storage array and the buffer,

the controller configured to:

receive a read request from a host device for a second data stored in the storage array,

determine an identifier associated with the requested second data,

determine if the requested second data contains an unrecoverable error, and

accumulate first data, including a parity value, contained in the storage array associated with the same identifier as the requested second data in a reconstruction buffer, if the requested second data contains an unrecoverable error.

2. The data storage device of claim 1 , wherein the controller is further configured to:

reconstruct the requested second data from the accumulated first data and the parity value; and

transfer the reconstructed second data to the host device via the RAID units.

3. The data storage device of claim 1 , wherein the RAID units are configured to be in communication with the storage array via the controller.

4. The data storage device of claim 1 , wherein the storage array comprises a nonvolatile storage array.

5. The data storage device of claim 1 , wherein the requested second data is reconstructed by performing a logical XOR operation on the accumulated first data and the parity value.

6. The data storage device of claim 1 , wherein the controller determines the location of the requested second data in the storage array using a look up table.

7. The data storage device of claim 1 , wherein the buffer is a DRAM buffer.

8. The data storage device of claim 1 , wherein the RAID units are implemented as RAID 5.

9. A method comprising:

receiving, by a controller in communication with a storage array, a read request from a host device for second data stored in the storage array;

determining an identifier associated with the requested second data;

determining if the requested second data contains an unrecoverable error; and

accumulating first data, including a parity value, contained in the storage array associated with the same identifier as the requested second data in a reconstruction buffer, if the requested second data contains an unrecoverable error.

10. The method of claim 9 , further comprising:

reconstructing the requested second data from the accumulated first data and the parity value; and

transferring the reconstructed second data to the host device via the RAID units.

11. The method of claim 9 , wherein the storage array comprises a nonvolatile storage array.

12. The method of claim 9 , further comprising:

performing a logical XOR operation on the first data and the parity value.

13. The method of claim 9 , wherein the controller determines the location of the requested second data in the storage array using a look up table.

14. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform a method comprising:

receiving, by a controller in communication with a storage array, a read request from a host device for second data stored in the storage array;

determining an identifier associated with the requested second data;

determining if the requested second data contains an unrecoverable error; and

accumulating first data, including a parity value, contained in the storage array associated with the same identifier as the requested second data in a reconstruction buffer, if the requested second data contains an unrecoverable error.

15. The non-transitory computer-readable medium of claim 14 , wherein the controller is further configured to:

reconstruct the requested second data from the accumulated first data and the parity value; and

transfer the reconstructed second data to the host device via the RAID units.

16. The non-transitory computer-readable medium of claim 14 , wherein the storage array comprises a nonvolatile storage array.

Assignments (3)
CHANGE OF NAME AND ADDRESS Recorded Feb 4, 2022
From: K.K PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 058957/0124 →
CHANGE OF NAME AND ADDRESS Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058905/0582 →
MERGER Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: K.K PANGEA
Reel/Frame 058946/0675 →