Data temperature profiling by smart counter
Memory systems may include a logical block address (LBA) space divided into a number of zones, a counter associated with each zone, each counter suitable for incrementing a count value when a read is performed on an LBA in the zone with which the counter is associated, and a controller suitable for calculating a temperature of each zone based on the count values of the counters, sorting the zones according to the calculated temperature, combining the zones into a number of superzones based on the sorting, and splitting the number of superzones into the number of zones into which the LBA space was divided.
1. A memory system, comprising:
a logical block address (LBA) space divided into a number of zones;
a counter associated with each zone, each counter suitable for incrementing a count value when a read is performed on an LBA in the zone with which the counter is associated; and
a controller suitable for:
calculating a temperature of each zone based on the count values of the counters;
sorting the zones according to the calculated temperature;
combining the zones into a number of superzones based on the sorting; and
splitting the number of superzones into the number of zones into which the LBA space was divided.
2. The memory system of claim 1 , wherein the controller is further suitable for sorting the zones in order of coldest zone to hottest zone.
3. The memory system of claim 1 , wherein the controller is further suitable for splitting the superzones pseudo-randomly.
4. The memory system of claim 1 , wherein the controller is further suitable for splitting the superzones based on a predefined number of affine permutations.
5. The memory system of claim 1 , wherein the controller is further suitable for clearing the count values of the counters after the splitting.
6. The memory system of claim 1 , wherein the number of zones is four or more.
7. A method, comprising:
dividing a logical block address (LBA) space into a number of zones;
incrementing, with a counter associated with each zone, a count value when a read is performed on an LBA in the zone with which the counter is associated;
calculating, with a controller, a temperature of each zone based on the count values of the counters;
sorting, with the controller, the zones according to the calculated temperature;
combining, with the controller, the zones into a number of superzones based on the sorting; and
splitting, with the controller, the number of superzones into the number of zones into which the LBA space was divided.
8. The method of claim 7 , wherein the zones are sorted in order of coldest zone to hottest zone.
9. The method of claim 7 , further comprising splitting the superzones pseudo-randomly.
10. The method of claim 7 , wherein the superzones are split based on a predefined number of affine permutations.
11. The method of claim 7 , further comprising clearing the count values of the counters after the splitting.
12. The method of claim 7 , wherein the number of zones is four or more.
13. A memory device, comprising:
a logical block address (LBA) space divided into a number of zones;
a counter associated with each zone, each counter configured to increment a count value when a read is performed on an LBA in the zone with which the counter is associated; and
a controller configured to:
calculate a temperature of each zone based on the count values of the counters;
sort the zones according to the calculated temperature;
combine the zones into a number of superzones based on the sorting; and
split the number of superzones into the number of zones into which the LBA space was divided.
14. The memory device of claim 13 , wherein the controller is further configured to sort the zones in order of coldest zone to hottest zone.
15. The memory device of claim 13 , wherein the controller is further configured to split the superzones pseudo-randomly.
16. The memory device of claim 13 , wherein the controller is further configured to split the superzones based on a predefined number of affine permutations.
17. The memory device of claim 13 , wherein the controller is further configured to clear the count values of the counters after the splitting.
18. The memory device of claim 13 , wherein the number of zones is four or more.