Dynamic delete command partitioning with disk caching
First Claim
1. A method for operating a storage device, comprising:
- receiving, by a controller in communication with the storage device, requests for a plurality of Input/Output (“
I/O”
) operations and a request for a deletion operation by which one or more blocks of data stored in the storage device are to be marked for erasure;
estimating, by the controller, a first amount of time to complete the deletion operation;
when the first amount of time reaches a first threshold value, performing the following operations;
dividing the deletion operation into a first sub-deletion operation and at least one second sub-deletion operation, each of the first and second sub-deletion operations being associated with a respective subset of the one or more blocks of data stored in the storage device;
performing at least one first I/O operation of the plurality of I/O operations and the first sub-deletion operation;
caching the at least one second sub-deletion operation; and
performing the cached at least one second sub-deletion operation during an otherwise idle time of the storage device.
7 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for handling operation requests in a computing device. The methods comprise: queuing a first I/O operation and first TRIM operation in a first list of operations; analyzing the first TRIM operation for a plurality of block portions of a disk cache to determine a size thereof; estimating a first amount of time to complete the first TRIM operation; comparing the first amount of time to a first threshold value; selectively dividing the first TRIM operation into at least a second TRIM operation for first block portions contained in the plurality of block portions and at least a third TRIM operation for second block portions contained in the plurality of block portions, if the first amount of time is greater than the first threshold value; performing the first I/O operation followed by the second TRIM operation; and queuing the third TRIM operation in a second list of operations.
71 Citations
20 Claims
-
1. A method for operating a storage device, comprising:
-
receiving, by a controller in communication with the storage device, requests for a plurality of Input/Output (“
I/O”
) operations and a request for a deletion operation by which one or more blocks of data stored in the storage device are to be marked for erasure;estimating, by the controller, a first amount of time to complete the deletion operation; when the first amount of time reaches a first threshold value, performing the following operations; dividing the deletion operation into a first sub-deletion operation and at least one second sub-deletion operation, each of the first and second sub-deletion operations being associated with a respective subset of the one or more blocks of data stored in the storage device; performing at least one first I/O operation of the plurality of I/O operations and the first sub-deletion operation; caching the at least one second sub-deletion operation; and performing the cached at least one second sub-deletion operation during an otherwise idle time of the storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system, comprising:
-
a processor; and a non-transitory computer-readable storage medium comprising programming instructions that are configured to cause the processor to implement a method for operating a storage device, wherein the programming instructions comprise instructions to; receive requests for a plurality of Input/Output (“
I/O”
) operations and a request for a deletion operation by which one or more blocks of data stored in the storage device are to be marked for erasure;estimate a first amount of time to complete the deletion operation; when the first amount of time reaches a first threshold value, performing the following operations; divide the deletion operation into a first sub-deletion operation and at least one second sub-deletion operation, each of the first and second sub-deletion operations being associated with a respective subset of the one or more blocks of data stored in the storage device; perform at least one first I/O operation of the plurality of I/O operations and the first sub-deletion operation; cache the at least one second sub-deletion operation; and perform the cached at least one second sub-deletion operation during an otherwise idle time of the storage device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification