Flash memory drives and related methods are disclosed that operate to keep
frequently written data, which results in frequently erased blocks, in
SLC flash, and relatively static data in MLC flash. A flash drive
according to the present disclosure keeps track of the number of times
that data for each logical block address (LBA) has been written to the
flash memory, and determines whether to store newly received data
associated with a particular LBA in SLC flash or in MLC flash depending
on the number of writes that have occurred for that particular LBA. For
each logical block sent to the flash drive, a comparison is made of the
write count of the associated LBA to a threshold. If the write count is
above the threshold, the logical block is written to SLC flash. If the
write count is below the threshold, the logical block is written to MLC
flash.