IP Library Granted Patent US 11,188,432
Granted Patent B2
US 11,188,432 · App. 16/805,314 · Granted Nov 30, 2021

Data resiliency by partially deallocating data blocks of a storage device

Inventors: Damian Yurzola (San Jose, CA); Gordon James Coleman (Los Altos, CA); Vidyabhushan Mohan (San Jose, CA); Melissa Kimble (Orono, ME)
Assignee: Pure Storage, Inc.
G06F11/2094G06F2201/82
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,188,432
App. No.
16/805,314
Granted
Nov 30, 2021
Kind
B2
Abstract

Failure information associated with a plurality of blocks of a solid-state storage device of a plurality of solid-state storage devices is received. One or more blocks of the plurality of blocks storing uncorrectable data are identified based on the received failure information. A partial deallocation of the one or more blocks of the plurality of blocks is issued, the partial deallocation indicating that the one or more blocks store uncorrectable data. A remedial action associated with the one or more blocks of the plurality of blocks is performed.

Claims (50)

1. A storage system comprising:

a plurality of solid-state storage devices; and

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

receive failure information associated with a plurality of blocks of a solid-state storage device of the plurality of solid-state storage devices;

identify one or more blocks of the plurality of blocks storing uncorrectable data based on the received failure information;

issue a partial deallocation of the one or more blocks of the plurality of blocks, the partial deallocation indicating that the one or more blocks store uncorrectable data;

add information associated with the one or more blocks to a data structure that includes a listing of partially deallocated blocks, wherein the processing device prevents reads from the partially deallocated blocks; and

perform a remedial action associated with the one block of the plurality of blocks.

2. The storage system of claim 1 , wherein at least one of the plurality of solid-state storage devices comprises a direct flash memory storage device.

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

generate a bitmap for the plurality of blocks based on the received failure information, wherein the one or more blocks of the plurality of blocks storing uncorrectable data are identified based on the generated bitmap, and wherein data of fully deallocated blocks can be erased by the processing device.

4. The storage system of claim 1 , wherein to perform the remedial action associated with the one or more blocks, the processing device is further to:

receive, from a host system, a read request for the uncorrectable data stored at the one or more blocks of the plurality of blocks, which initiates a rebuild operation to rebuild the uncorrectable data.

5. The storage system of claim 1 , wherein to perform the remedial action associated with the one or more blocks, the processing device is further to:

initiate a rebuild operation to rebuild the uncorrectable data.

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

transmit a command to the solid-state storage device to perform a scan on the plurality of blocks to acquire the failure information, wherein the failure information is received in response to transmitting the command.

7. The storage system of claim 1 , wherein the failure information comprises raw bit error rates (RBER) for the plurality of blocks of the solid-state storage device.

8. A method, comprising:

receiving failure information associated with a plurality of blocks of a solid-state storage device of a plurality of solid-state storage devices;

identifying one or more blocks of the plurality of blocks storing uncorrectable data based on the received failure information;

issuing, by a processing device, a partial deallocation of the one or more blocks of the plurality of blocks, the partial deallocation indicating that the one or more blocks store uncorrectable data;

adding information associated with the one or more blocks to a data structure that includes a listing of partially deallocated blocks, wherein the processing device prevents reads from the partially deallocated blocks; and

performing a remedial action associated with the one or more blocks of the plurality of blocks.

9. The method of claim 8 , wherein at least one of the plurality of solid-state storage devices comprises a direct flash memory storage device.

10. The method of claim 8 , further comprising:

generating a bitmap for the plurality of blocks based on the received failure information, wherein the one or more blocks of the plurality of blocks storing uncorrectable data are identified based on the generated bitmap.

11. The method of claim 8 , wherein performing the remedial action associated with the one or more blocks further comprises:

receiving, from a host system, a read request for the uncorrectable data stored at the one or more blocks of the plurality of blocks, and initiating a rebuild operation to rebuild the uncorrectable data responsive

to receiving the read request.

12. The method of claim 8 , wherein performing the remedial action associated with the one or more blocks further comprises:

initiating a rebuild operation to rebuild the uncorrectable data and wherein data of fully deallocated blocks can be erased by the processing device.

13. The method of claim 8 , further comprising:

transmitting a command to the solid-state storage device to perform a scan on the plurality of blocks to acquire the failure information, wherein the failure information is received in response to transmitting the command.

14. The method of claim 8 , wherein the failure information comprises raw bit error rates (RBER) for the plurality of blocks of the solid-state storage device.

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

receive failure information associated with a plurality of blocks of a solid-state storage device of a plurality of solid-state storage devices;

identify one or more blocks of the plurality of blocks storing uncorrectable data based on the received failure information;

issue, by the processing device, a partial deallocation of the one or more blocks of the plurality of blocks, the partial deallocation indicating that the one or more blocks store uncorrectable data;

add information associated with the one or more blocks to a data structure that includes a listing of partially deallocated blocks, wherein the processing device prevents reads from the partially deallocated blocks; and

perform a remedial action associated with the one or more blocks of the plurality of blocks.

16. The non-transitory computer readable storage medium of claim 15 , wherein at least one of the plurality of solid-state storage devices comprises a direct flash memory storage device.

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

generate a bitmap for the plurality of blocks based on the received failure information, wherein the one or more blocks of the plurality of blocks storing uncorrectable data are identified based on the generated bitmap.

18. The non-transitory computer readable storage medium of claim 15 , wherein to perform the remedial action associated with the one or more blocks, the processing device is further to:

receive, from a host system, a read request for the uncorrectable data stored at the one or more blocks of the plurality of blocks, which initiates a rebuild operation to rebuild the uncorrectable data.

19. The non-transitory computer readable storage medium of claim 15 , wherein to perform the remedial action associated with the one or more blocks, the processing device is further to:

initiate a rebuild operation to rebuild the uncorrectable data and wherein data of fully deallocated blocks can be erased by the processing device.

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

transmit a command to the solid-state storage device to perform a scan on the plurality of blocks to acquire the failure information, wherein the failure information is received in response to transmitting the command.

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 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2020
From: YURZOLA, DAMIAN; COLEMAN, GORDON JAMES; MOHAN, VIDYABHUSHAN; KIMBLE, MELISSA
To: PURE STORAGE, INC.
Reel/Frame 051967/0769 →
Cited By (1)
US 12,639,178