IP Library › Granted Patent US 12,229,412
Granted Patent B2
US 12,229,412 · App. 18/176,446 · Granted Feb 18, 2025

Memory system managing counters

Inventor: Kazuhiro Fukutomi (Yokohama Kanagawa, JP)
Assignee: Kioxia Corporation
G06F3/0616G06F3/0653G06F3/0679G06F12/0802G06F2212/304G06F2212/45
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,229,412
App. No.
18/176,446
Filed
Feb 28, 2023
Granted
Feb 18, 2025
Kind
B2
Art Unit
2139
USPC
711/103
Abstract

A memory system includes a nonvolatile memory that includes a plurality of regions; a volatile memory; and a controller that is connected to the nonvolatile memory and the volatile memory. The controller is configured to store in the volatile memory a plurality of first counter values each indicating the number of times each of the plurality of regions has been accessed and a plurality of second counter values respectively corresponding to the plurality of first counter values, and write the first counter value of a first region of the plurality of regions to the nonvolatile memory in response to the second counter value of the first region being equal to or more than a threshold value.

Claims (55)

1. A memory system comprising:

a nonvolatile memory that includes a plurality of regions;

a volatile memory; and

a controller that is connected to the nonvolatile memory and the volatile memory, wherein the controller is configured to:

store in the volatile memory a plurality of first counter values each indicating the number of times each of the plurality of regions has been accessed, and a plurality of second counter values respectively corresponding to the plurality of first counter values and indicating differences between values of the plurality of first counter values currently most recently non-volatilized to the nonvolatile memory, and

write the first counter value of a first region of the plurality of regions to the nonvolatile memory in response to the second counter value of the first region being equal to or more than a threshold value.

2. The memory system according to claim 1 , wherein the controller is further configured to:

delete the second counter value of the first region from the volatile memory in response to the second counter value of the first region being equal to or more than the threshold value and the first counter value of the first region being written to the nonvolatile memory.

3. The memory system according to claim 1 , wherein the controller is further configured to:

update the second counter value of a second region of the plurality of regions, which is stored in the volatile memory, in response to the number of times the second region has been accessed being updated.

4. The memory system according to claim 1 , wherein the controller is further configured to:

write the second counter value of a second region of the plurality of regions to the volatile memory, in response to the number of times the second region has been accessed being updated and the second counter value of the second region being not already stored in the volatile memory.

5. The memory system according to claim 1 , wherein the controller is further configured to:

delete a smallest second counter value among the plurality of second counter values that are stored in the volatile memory, and write the second counter value of a second region of the plurality of regions to the volatile memory, in response to the number of times the second region has been accessed being updated, the second counter value of the second region being not already stored in the volatile memory, and the number of second counter values stored in the volatile memory being at a maximum.

6. The memory system according to claim 1 , wherein

the nonvolatile memory is a rewritable memory and the first counter values respectively indicate the number of times the plurality of regions has been accessed for either a read or a write.

7. The memory system according to claim 6 , wherein

the first counter value for a region is increased by a first value in response to a read access to the region and by a second value larger than the first value in response to a write access to the region.

8. The memory system according to claim 1 , wherein the controller is further configured to:

write a group of the first counter values to the nonvolatile memory in response to the second counter value of the first region being equal to or more than the threshold value.

9. The memory system according to claim 8 , wherein the controller is further configured to:

write a different group of the first counter values to the nonvolatile memory in response to one of the second counter values being equal to or more than the threshold value, after writing the group of the first counter values to the nonvolatile memory and deleting the second counter value of the first region from the volatile memory.

10. The memory system according to claim 1 , wherein

one of the second counter values corresponding to one of the first counter values is reset to zero in response to the corresponding first counter value being written to the nonvolatile memory.

11. A memory system comprising:

a nonvolatile memory that includes a plurality of regions;

a volatile memory; and

a controller that is connected to the nonvolatile memory and the volatile memory, wherein the controller is configured to:

store in the volatile memory a plurality of first counter values each indicating the number of times each of the plurality of regions has been accessed and a plurality of second counter values respectively corresponding to the plurality of first counter values, and

write the first counter values of first regions of the plurality of regions to the nonvolatile memory in response to power supply to the memory system being cut off,

the first regions are a subset of the plurality of regions, and the second counter values corresponding to the first counter values of the first regions are larger than other second counter values stored in the volatile memory, and

one of the second counter values corresponding to one of the first counter values is reset to zero in response to the corresponding first counter value being written to the nonvolatile memory.

12. The memory system according to claim 11 , wherein

the nonvolatile memory is a rewritable memory and the first counter values respectively indicate the number of times the plurality of regions has been accessed for either a read or a write.

13. The memory system according to claim 11 , further comprising:

a backup power supply,

wherein the backup power supply is sized so that, when fully charged, it has sufficient capacity to write all of the first counter values of the first regions to the nonvolatile memory.

14. The memory system according to claim 13 , wherein the controller is further configured to:

write the first counter values of the first regions to the nonvolatile memory in response to the power supply to the memory system being cut off without a shut-down command, and

write the first counter values of the first regions and one or more second regions of the plurality of regions to the nonvolatile memory in response to the power supply to the memory system being cut off according to the shut-down command.

15. A memory system comprising:

a nonvolatile memory that includes a plurality of regions;

a volatile memory configured with a first cache and a second cache; and

a controller that is connected to the nonvolatile memory and the volatile memory, wherein the controller is configured to:

store in the first cache a plurality of first entries, each of the first entries including a region identifier and a counter value indicating the number of times a region corresponding to the region identifier has been accessed, and in the second cache a plurality of second entries, each of the second entries including a region identifier, a first counter value indicating the number of times a region corresponding to the region identifier has been accessed, and a second counter value indicating a difference between the first counter value and the counter value for the region corresponding to the region identifier that has been written to the nonvolatile memory, and

write the first counter value of a first region of the plurality of regions stored in the second cache to the nonvolatile memory in response to the second counter value of the first region being equal to or more than a threshold value.

16. The memory system according to claim 15 , wherein the controller is further configured to:

store in the first cache a new entry that includes the region identifier for the first region and the first counter value of the first region.

17. The memory system according to claim 16 , wherein

in response to the number of times a second region of the plurality of regions has been accessed being updated and the first cache has stored therein an entry for the second region that includes the region identifier for the second region and the counter value of the second region, the controller stores in the second cache a new entry that includes the region identifier for the second region, an updated first counter value of the second region, and the second counter value of the second region indicating a difference between the updated first counter value of the second region and the counter value of the second region stored in the first cache, and deletes the entry for the second region stored in the first cache.

18. The memory system according to claim 15 , wherein the first cache stores an entry for each of the regions.

19. The memory system according to claim 15 , wherein the first cache stores an entry for each of a subset of the regions.

20. The memory system according to claim 15 , wherein

the nonvolatile memory is a rewritable memory and the first counter values respectively indicate the number of times the plurality of regions has been accessed for either a read or a write, and

the first counter value for a region is increased by a first value in response to a read access to the region and by a second value larger than the first value in response to a write access to the region.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2023
From: FUKUTOMI, KAZUHIRO
To: KIOXIA CORPORATION
Reel/Frame 062834/0339 →
Continuity (1)
Related Publication 20240004555A1 · Jan 4, 2024
References Cited (6)
US 9612953B1 · Davis et al. · 2017 [cited by applicant]
US 10007462B1 · Van Gaasbeck et al. · 2018 [cited by applicant]
US 11074183B2 · Chang et al. · 2021 [cited by applicant]
US 20130339587A1 · Asnaashari · 2013 [cited by examiner]
US 20160034194A1 · Brokhman · 2016 [cited by examiner]
US 20210349833A1 · Bauman · 2021 [cited by examiner]