1. A method comprising: providing at least two data storage areas in a memory; providing a first amount of over-provisioning for a first of the at least two data storage areas and a second amount of over-provisioning for a second of the at least two data storage areas; categorizing data being written by a host as having a first designation; categorizing valid data being collected via a garbage collection operation as having a second designation; assigning a sequence number to the data being written by the host; updating the sequence number based on the categorization; storing the data in either the first or the second of the at least two data storage areas based on the categorization and the sequence number; and selecting, for garbage collection, erasure blocks containing cold data but having a higher valid data density before selecting erasure blocks containing hot data but having a lower valid data density.