Patent attributes
Method and apparatus for managing data in a storage device, such as a solid-state drive (SSD). A data storage device includes a main non-volatile memory (NVM) and a command queue that lists pending data transfer commands to transfer data between the NVM and a local memory. A collision manager predicts future collisions among the pending data transfer commands, such as but not limited to commands involving pending host commands from a host. A storage manager enacts a change in a storage policy to reduce a future rate of the predicted future collisions. The change in storage policy may involve duplication of write data so that the write data are written to multiple locations within the NVM. The change in storage policy may further involve a pre-emptive garbage collection operation upon an existing location to distribute current version data blocks to multiple locations within the NVM.