| CPC G06F 12/0253 (2013.01) [G06F 3/0608 (2013.01); G06F 3/0652 (2013.01); G06F 3/0658 (2013.01); G06F 3/0673 (2013.01)] | 18 Claims |

|
1. A memory system comprising:
a memory device including a plurality of memory blocks; and
a memory controller configured to receive data and attribute information of the data indicating whether the data is hot data or cold data from a host, control the memory device to store the data and the attribute information in one of the plurality of memory blocks, and determine a) a number of free blocks among the plurality of memory blocks, b) a number of cold pages including the attribute information of the cold data, and c) a number of valid pages,
wherein the memory controller, during a garbage collection, is configured to:
when the number of free blocks among the plurality of memory blocks is greater than a first threshold number, select a first memory block among the plurality of memory blocks as a victim block based on the number of cold pages including the attribute information of the cold data; and
when the number of free blocks is less than the first threshold number, select a second memory block among the plurality of memory blocks as the victim block based on the number of valid pages,
wherein the first memory block includes the number of cold pages greater than a second threshold number, and
wherein the second memory block includes the number of valid pages less than a third threshold number.
|