IP Library › Granted Patent US 10,432,233
Granted Patent B1
US 10,432,233 · App. 16/028,933 · Granted Oct 1, 2019

Error correction processing in a storage device

Inventors: John Colgrove (Los Altos, CA); Ethan Miller (Santa Cruz, CA)
Assignee: Pure Storage Inc.
H03M13/353G06F11/1012G06F11/1076
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,432,233
App. No.
16/028,933
Granted
Oct 1, 2019
Kind
B1
Abstract

Dynamically adjusting an error correction effort level of a storage device, including: receiving, from a storage array controller, an error correction effort level to perform when attempting to read data from the storage device; identifying that an attempt to read the data resulted in an error; and determining whether an amount of error correction effort level required to attempt to correct the error exceeds the error correction effort level to perform when attempting to read data from the storage device.

Claims (26)

1. A method of dynamically adjusting error correction processing within a storage device, the method comprising:

identifying, by a storage controller, that an attempt to read data from a storage device resulted in an error;

determining whether one or more controller actions to attempt to correct the error exceeds a threshold for error processing in attempting to read data from the storage device; and

processing, by the storage controller, the error from the storage device in accordance with the determination of whether the one or more controller actions to attempt to correct the error exceeds the threshold for error processing.

2. The method of claim 1 further comprising, sending, by the storage controller, the amount of error correction effort level required to attempt to correct the error when attempting to read data from the storage device.

3. The method of claim 1 wherein the threshold for error processing is based upon a maximum number of errors that the storage device should attempt to resolve using an error-correcting code.

4. The method of claim 1 wherein the threshold for error processing is based upon a maximum number of attempts that the storage device should make to read the data.

5. The method of claim 1 further comprising storing the error correction effort level to perform when attempting to read data from the storage device as a configurable parameter on the storage device.

6. The method of claim 1 wherein the error correction effort level to perform when attempting to read data from the storage device is determined in dependence upon the ability to rebuild the data from other sources.

7. An apparatus for dynamically adjusting error correction processing, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

identifying, by a storage controller, that an attempt to read data from a storage device resulted in an error;

determining whether one or more controller actions to attempt to correct the error exceeds a threshold for error processing in attempting to read data from the storage device; and

processing, by the storage controller, the error from the storage device in accordance with the determination of whether the one or more controller actions to attempt to correct the error exceeds the threshold for error processing.

8. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of, sending, by the storage controller, the amount of error correction effort level required to attempt to correct the error when attempting to read data from the storage device.

9. The apparatus of claim 7 wherein the threshold for error processing is based upon a maximum number of errors that the storage device should attempt to resolve using an error-correcting code.

10. The apparatus of claim 7 wherein the threshold for error processing is based upon a maximum number of attempts that the storage device should make to read the data.

11. The apparatus of claim 7 further comprising storing the error correction effort level to perform when attempting to read data from the storage device as a configurable parameter on the storage device.

12. The apparatus of claim 7 wherein the error correction effort level to perform when attempting to read data from the storage device is determined in dependence upon the ability to rebuild the data from other sources.

13. A computer program product for dynamically adjusting error correction processing, the computer program product disposed upon a nontransitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

identifying, by a storage controller, that an attempt to read data from a storage device resulted in an error;

determining whether one or more controller actions to attempt to correct the error exceeds a threshold for error processing in attempting to read data from the storage device; and

processing, by the storage controller, the error from the storage device in accordance with the determination of whether the one or more controller actions to attempt to correct the error exceeds the threshold for error processing.

14. The computer program product of claim 13 further comprising computer program instructions that, when executed, cause the computer to carry out the step of, sending, by the storage controller, the amount of error correction effort level required to attempt to correct the error when attempting to read data from the storage device.

15. The computer program product of claim 13 wherein the threshold for error processing is based upon a maximum number of errors that the storage device should attempt to resolve using an error-correcting code.

16. The computer program product of claim 13 wherein the threshold for error processing is based upon a maximum number of attempts that the storage device should make to read the data.

17. The computer program product of claim 13 wherein the error correction effort level to perform when attempting to read data from the storage device is determined in dependence upon the ability to rebuild the data from other sources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2018
From: COLGROVE, JOHN; MILLER, ETHAN
To: PURE STORAGE, INC.
Reel/Frame 046282/0095 →
Continuity (1)
Continuation 14925255 · Oct 28, 2015
Cited By (5)
US 12,204,403 US 12,242,337 US 12,346,561 US 12,405,857 US 12,417,176