| CPC G06F 3/0608 (2013.01) [G06F 3/064 (2013.01); G06F 3/0652 (2013.01); G06F 3/0659 (2013.01); G06F 3/0679 (2013.01); G06F 12/0246 (2013.01)] | 20 Claims | 

| 
               1. A method, comprising: 
            tracking a number of commands received from a host device; 
                determining a number of free memory blocks in a data storage device based, at least in part, on a predetermined number of commands being received; 
                generating a data point based, at least in part, on the number of received commands and the determined number of free memory blocks; 
                determining a write pattern of the host device based, at least in part, on a determination that a plurality of data points have been generated; and 
                initiating a garbage collection process based, at least in part, on the determined write pattern of the host device. 
               |