US 11,947,799 B1
Systems and methods for using the TRIM command with solid state devices
Paresh Chatterjee, Fremont, CA (US); Sharon Samuel Enoch, Dacula, GA (US); Venugopalreddy Mallavaram, Duluth, GA (US); and Senthilkumar Ramasamy, Duluth, GA (US)
Assigned to Amzetta Technologies, LLC, Norcross, GA (US)
Filed by Amzetta Technologies, LLC, Norcross, GA (US)
Filed on Jul. 20, 2022, as Appl. No. 17/869,307.
Application 17/869,307 is a continuation of application No. 17/068,166, filed on Oct. 12, 2020, abandoned.
Claims priority of provisional application 62/913,781, filed on Oct. 11, 2019.
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/061 (2013.01) [G06F 3/0616 (2013.01); G06F 3/0631 (2013.01); G06F 3/064 (2013.01); G06F 3/0652 (2013.01); G06F 3/0659 (2013.01); G06F 3/0665 (2013.01); G06F 3/067 (2013.01); G06F 3/0689 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A data storage system, comprising:
physical storage comprising a solid state drive (SSD);
a storage system computer operably coupled to the physical storage over a network, the storage system computer comprising a processing unit and a memory, the memory being operably coupled to the processing unit; and
a distributed volume management (DVM) module stored in the memory that, when executed by the processing unit, causes the processing unit to:
allocate a logical volume from the physical storage;
subdivide the logical volume into a plurality of logical blocks;
maintain a mapping table for tracking the logical blocks of the logical volume;
determine input/output (I/O) load of the data storage system; and
in response to a predetermined event, execute a TRIM command for one or more unused data blocks of the SSD over the network, wherein the TRIM command is executed when the I/O load is less than a threshold.