IP Library › Granted Patent US 12,086,409
Granted Patent B2
US 12,086,409 · App. 17/900,282 · Granted Sep 10, 2024

Optimizing data deletion in a storage system

Inventors: Ganesh Sangle (Sunnyvale, CA); Chia-Chun Lin (Cupertino, CA); Prabir Paul (San Jose, CA); Vijayan Satyamoorthy Srinivasa (San Jose, CA)
Assignee: Pure Storage, Inc.
G06F3/0608G06F3/0653G06F3/0683G06F3/0652
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 12,086,409
App. No.
17/900,282
Granted
Sep 10, 2024
Kind
B2
Abstract

An example method for optimizing data deletion in a storage system comprises: detecting a command to delete data from a storage volume using a file system, the data stored on one or more blocks within a storage device associated with the storage volume; monitoring a load metric associated with the storage volume, the load metric indicative of a dynamically changing operational load of the storage volume; and initiating, based on the detecting the command and on the monitored load metric, a discard request for the storage device, the discard request commanding the storage device to indicate that the one or more blocks are free for use by the file system to store additional data.

Claims (59)

1. A method comprising:

detecting, by a storage management system, a command to delete data from a storage volume using a file system, the data stored on one or more blocks within a storage device associated with the storage volume;

monitoring, by the storage management system, a load metric associated with the storage volume, the load metric indicative of a dynamically changing operational load of the storage volume, wherein the monitoring the load metric comprises:

initiating an additional command for the storage device, the additional command having an expected time for completion,

detecting an actual time for completion of the additional command, and

comparing the actual time for completion of the additional command with the expected time for completion of the additional command; and

initiating, by the storage management system and based on the detecting the command and on the monitored load metric, a discard request for the storage device, the discard request commanding the storage device to indicate that the one or more blocks are free for use by the file system to store additional data or available to be reclaimed by a garbage collection process.

2. The method of claim 1 , wherein the initiating the discard request based on the monitored load metric comprises:

determining whether the monitored load metric is below a threshold load metric; and

initiating the discard request when the monitored load metric is below the threshold load metric.

3. The method of claim 1 , wherein the initiating the discard request based on the monitored load metric comprises assigning a cost for the initiating the discard request based on the monitored load metric.

4. The method of claim 3 , wherein the assigning the cost for the initiating the discard request comprises assigning a percentage of a size of the data stored on the one or more blocks based on the monitored load metric.

5. The method of claim 1 , wherein the initiating the discard request based on the monitored load metric comprises assigning a cost based on a difference between the actual time for completion of the additional command and the expected time for completion of the additional command.

6. The method of claim 1 , further comprising:

detecting an additional command to delete additional data from an additional storage volume used by the file system, the data stored on an additional one or more blocks with an additional storage device;

monitoring an additional load metric associated with the additional storage device; and

initiating, based on the detecting the additional command and the monitored additional load metric, an additional discard request for the additional storage device,

wherein the additional discard request is initiated prior to the discard request based on the monitored load metric being above a threshold load metric.

7. The method of claim 6 , further comprising:

determining a number of the one or more blocks and an additional number of the additional one or more blocks; and

prioritizing, based on the number and the additional number, between the discard request and the additional discard request based on how many blocks are freed by the discard request and how many blocks are freed by the additional discard request.

8. The method of claim 1 , wherein the initiating the discard request is performed by a container storage management system.

9. A system comprising:

one or more memories storing computer-executable instructions; and

one or more processors to execute the computer-executable instructions to:

detect a command to delete data from a storage volume using a file system, the data stored on one or more blocks within a storage device associated with the storage volume;

monitor a load metric associated with the storage volume, the load metric indicative of a dynamically changing operational load of the storage volume, wherein the monitoring the load metric comprises:

initiating an additional command for the storage device, the additional command having an expected time for completion,

detecting an actual time for completion of the additional command, and

comparing the actual time for completion of the additional command with the expected time for completion of the additional command; and

initiate, based on the detecting the command and on the monitored load metric, a discard request for the storage device, the discard request commanding the storage device to indicate that the one or more blocks are free for use by the file system to store additional data or available to be reclaimed by a garbage collection process.

10. The system of claim 9 , wherein the initiating the discard request based on the monitored load metric comprises:

determining whether the monitored load metric is below a threshold load metric; and

initiating the discard request when the monitored load metric is below the threshold load metric.

11. The system of claim 9 , wherein the initiating the discard request based on the monitored load metric comprises assigning a cost for the initiating the discard request based on the monitored load metric.

12. The system of claim 11 , wherein the assigning the cost for the initiating the discard request comprises assigning a percentage of a size of the data stored on the one or more blocks based on the monitored load metric.

13. The system of claim 9 , wherein the initiating the discard request based on the monitored load metric comprises assigning a cost based on a difference between the actual time for completion of the additional command and the expected time for completion of the additional command.

14. The system of claim 13 , further comprising:

detecting an additional command to delete additional data from an additional storage volume used by the file system, the data stored on an additional one or more blocks with an additional storage device;

monitoring an additional load metric associated with the additional storage device; and

initiating, based on the detecting the additional command and the monitored additional load metric, an additional discard request for the additional storage device,

wherein the additional discard request is initiated prior to the discard request based on the monitored load metric being above a threshold load metric.

15. The system of claim 14 , further comprising:

determining a number of the one or more blocks and an additional number of the additional one or more blocks; and

prioritizing, based on the number and the additional number, between the discard request and the additional discard request based on how many blocks are freed by the discard request and how many blocks are freed by the additional discard request.

16. A method comprising:

detecting, by a storage management system, a command to delete data from a storage volume using a file system, the data stored on one or more blocks within a storage device associated with the storage volume;

monitoring, by the storage management system, a load metric associated with the storage volume, the load metric indicative of a dynamically changing operational load of the storage volume;

initiating, by the storage management system and based on the detecting the command and on the monitored load metric, a discard request for the storage device, the discard request commanding the storage device to indicate that the one or more blocks are free for use by the file system to store additional data or available to be reclaimed by a garbage collection process;

detecting an additional command to delete additional data from an additional storage volume used by the file system, the data stored on an additional one or more blocks with an additional storage device;

monitoring an additional load metric associated with the additional storage device; and

initiating, based on the detecting the additional command and the monitored additional load metric, an additional discard request for the additional storage device,

wherein the additional discard request is initiated prior to the discard request based on the monitored load metric being above a threshold load metric.

17. The method of claim 16 , further comprising:

determining a number of the one or more blocks and an additional number of the additional one or more blocks; and

prioritizing, based on the number and the additional number, between the discard request and the additional discard request based on how many blocks are freed by the discard request and how many blocks are freed by the additional discard request.

18. The method of claim 16 , wherein the initiating the discard request based on the monitored load metric comprises assigning a cost for the initiating the discard request based on the monitored load metric.

19. The method of claim 18 , wherein the assigning the cost for the initiating the discard request comprises assigning a percentage of a size of the data stored on the one or more blocks based on the monitored load metric.

20. The method of claim 16 , wherein the initiating the discard request is performed by a container storage management system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2022
From: SANGLE, GANESH; LIN, CHIA-CHUN; PAUL, PRABIR; SRINIVASA, VIJAYAN SATYAMOORTHY
To: PURE STORAGE, INC., A DELAWARE CORPORATION
Reel/Frame 060955/0661 →
Continuity (1)
Related Publication 20240069729A1 · Feb 29, 2024