| CPC G06F 3/0652 (2013.01) [G06F 12/0253 (2013.01); G06F 12/0884 (2013.01); G06F 12/0891 (2013.01); G06F 3/0616 (2013.01); G06F 3/0626 (2013.01); G06F 3/0679 (2013.01)] | 19 Claims | 

| 
               1. A method of storing data, by a host device, in a memory, the method comprising: 
            receiving, by the host device, information related to data to be written to the memory; 
                analyzing, by the host device, the received information related to the data to be written to the memory; 
                selecting, by the host device based on the analyzed information, one or more placement identifiers (IDs) on which to store the data; and 
                writing by a memory controller, responsive to a command by the host device, the data within an area of the memory corresponding to the one or more selected placement IDs, and 
                wherein the selection of the one or more placement IDs by the host device is based on at least maintenance of a total number of active logical block addresses across parallel units to be below a set parameter and spreading the active logical block addresses among the parallel units such that when an active logical block address count on a parallel unit exceeds a mean number of active logical block addresses for the parallel units by a predetermined amount, a number of writes that would normally target the parallel unit instead skip the parallel unit. 
               |