IP Library Granted Patent US 11,604,690
Granted Patent B2
US 11,604,690 · App. 16/713,153 · Granted Mar 14, 2023

Online failure span determination

Inventors: Damian Yurzola (San Jose, CA); Vidyabhushan Mohan (San Jose, CA); Gordon James Coleman (Los Altos, CA); Melissa Kimble (Orono, ME); Hari Kannan (Sunnyvale, CA)
Assignee: PURE STORAGE, INC.
G06F11/0793G06F3/064G06F3/0619G06F3/0683G06F11/076G06F11/1092G06F12/0246G06F12/0253
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 11,604,690
App. No.
16/713,153
Granted
Mar 14, 2023
Kind
B2
Abstract

An indication is received from a storage device that an attempt to read a portion of data from a block of the storage device has failed. A command is transmitted to the storage device to perform a scan on data stored at the block comprising the portion of data to acquire failure information associated with a plurality of subsets of the data stored at the block. The failure information associated with the plurality of subsets of the data stored at the block is received from the storage device.

Claims (45)

1. A storage system, comprising:

a plurality of storage devices; and

a storage controller, operatively coupled to the plurality of storage devices, the storage controller comprising a processing device to:

receive, from a storage device of the plurality of storage devices, an indication that an attempt to read a portion of data from a block of the storage device has failed;

transmit a command to the storage device to trigger the storage device to perform a scan on a plurality of subsets of the data stored at the block, the data stored at the block comprising the portion of data, responsive to the scan, the storage device acquiring failure information associated with each of the plurality of subsets of the data stored at the block and storing the failure information in memory of the storage device; and

receive, from the storage device, the failure information that the storage device acquired through the storage device performing the scan and the storage device storing the failure information in the memory of the storage device.

2. The storage system of claim 1 , wherein the failure information comprises at least one of a bitmap indicating whether each of the subsets of the data are correctable, an average raw bit error rate (RBER) of the plurality of subsets of the data, or a maximum RBER of the plurality of subsets of the data.

3. The storage system of claim 1 , wherein the processing device is further to:

in response to identifying one or more subsets of the data stored at the block that are degraded based on the failure information, perform one last or more remedial actions associated with the one or more of the subsets of the data.

4. The storage system of claim 3 , wherein to perform the one or more remedial actions, the processing device is further to:

perform a rebuild operation on the one or more of the subsets of the data, wherein the rebuild operation is performed on the one or more of the subsets of the data in a determined order based on the failure information.

5. The storage system of claim 3 , wherein to perform the one or more remedial actions, the processing device is further to:

perform garbage collection on the one or more subsets of the data, wherein the garbage collection is performed on the one or more subsets of the data in a determined order based on the failure information.

6. The storage system of claim 3 , wherein to perform the one or more remedial actions, the processing device is further to:

mark one or more regions of the storage device associated with the one or more subsets of the data, wherein marking the one or more regions of the storage device prevents storage of user data at the one or more marked regions.

7. The storage system of claim 1 , wherein to receive the failure information associated with the plurality of subsets of the data stored at the block, the processing device is further to:

read the failure information from the storage device, responsive to receiving, from the storage device, a second indication that the failure information is available at the storage device.

8. A method, comprising:

receiving, from a storage device, an indication that an attempt to read a portion of data from a block of the storage device has failed;

transmitting a command to the storage device to trigger the storage device to perform a scan on a plurality of subsets of the data stored at the block, the data stored at the block comprising the portion of data, responsive to the scan, the storage device acquiring failure information associated with each of the plurality of subsets of the data stored at the block and storing the failure information in memory of the storage device; and

receiving, by a processing device from the storage device, the failure information that the storage device acquired through the storage device performing the scan and the storage device storing the failure information in the memory of the storage device.

9. The method of claim 8 , wherein the failure information comprises at least one of a bitmap indicating whether each of the subsets of the data are correctable, an average raw bit error rate (RBER) of the plurality of subsets of the data, or a maximum RBER of the plurality of subsets of the data.

10. The method of claim 8 , further comprising:

in response to identifying the one or more subsets of the data stored at the block that are degraded based on the failure information, performing one or more remedial actions associated with the one or more of the subsets of the data.

11. The method of claim 10 , wherein performing the one or more remedial actions comprises:

performing a rebuild operation on the one or more of the subsets of the data, wherein the rebuild operation is performed on the one or more of the subsets of the data in a determined order based on the failure information.

12. The method of claim 10 , wherein performing the one or more remedial actions comprises:

performing garbage collection on the one or more subsets of the data, wherein the garbage collection is performed on the one or more subsets of the data in a determined order based on the failure information.

13. The method of claim 10 , wherein performing the one or more remedial actions comprises:

marking one or more regions of the storage device associated with the one or more subsets of the data, wherein marking the one or more regions of the storage device prevents storage of user data at the one or more marked regions.

14. The method of claim 8 , wherein receiving the failure information associated with the plurality of subsets of the data stored at the block comprises:

reading the failure information from the storage device, responsive to receiving, from the storage device, a second indication that the failure information is available at the storage device.

15. A non-transitory computer readable storage medium storing instructions, which when executed, cause a processing device of a storage controller to:

receive, from a storage device of a plurality of storage devices, an indication that an attempt to read a portion of data from a block of the storage device has failed;

transmit a command to the storage device to trigger the storage device to perform a scan on a plurality of subsets of the data stored at the block, the data stored at the block comprising the portion of data, responsive to the scan, the storage device acquiring failure information associated with each of the plurality of subsets of the data stored at the block and storing the failure information in memory of the storage device; and

receive, by the processing device from the storage device, the failure information that the storage device acquired through the storage device performing the scan and the storage device storing the failure information in the memory of the storage device.

16. The non-transitory computer readable storage medium of claim 15 , wherein the failure information comprises at least one of a bitmap indicating whether each of the subsets of the data are correctable, an average raw bit error rate (RBER) of the plurality of subsets of the data, or a maximum RBER of the plurality of subsets of the data.

17. The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further to:

in response to identifying the one or more subsets of the data stored at the block that are degraded based on the failure information, perform one or more remedial actions associated with the one or more of the subsets of the data.

18. The non-transitory computer readable storage medium of claim 17 , wherein to perform the one or more remedial actions, the processing device is further to:

perform a rebuild operation on the one or more of the subsets of the data, wherein the rebuild operation is performed on the one or more of the subsets of the data in a determined order based on the failure information.

19. The non-transitory computer readable storage medium of claim 17 , wherein to perform the one or more remedial actions, the processing device is further to:

perform garbage collection on the one or more subsets of the data, wherein the garbage collection is performed on the one or more subsets of the data in a determined order based on the failure information.

20. The non-transitory computer readable storage medium of claim 17 , wherein to perform the one or more remedial actions, the processing device is further to:

mark one or more regions of the storage device associated with the one or more subsets of the data, wherein marking the one or more regions of the storage device prevents storage of user data at the one or more marked regions.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2021
From: YURZOLA, DAMIAN; MOHAN, VIDYABHUSHAN; COLEMAN, GORDON JAMES; KIMBLE, MELISSA; KANNAN, HARI
To: PURE STORAGE, INC.
Reel/Frame 058218/0338 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
Cited By (1)
US 12,706,917