# US 10,482,025 B2 · Memory system managing access to nonvolatile memory

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,482,025 B2
- Document ID: US10482025B2
- Status: Granted
- Kind: B2
- Application number: 15/698,214
- Filed: 2017-09-07
- Published: 2018-09-27
- Granted: 2019-11-19
- Earliest claimed: 2017-03-22
- Assignees: Toshiba Memory Corporation
- Applicants: Toshiba Memory Corporation
- Inventors: Kohei Oikawa
- Web page: https://patentgrep.com/patent/US10482025B2

## CPC

- G06F 12/0891: using clearing, invalidating or resetting means
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/0895: of parts of caches, e.g. directory or tag array
- G06F 12/121: using replacement algorithms
- G06F 11/3034: {where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- G06F 11/34: Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation {; Recording or statistical evaluation of user activity, e.g. usability assessment}
- G06F 12/0866: for peripheral storage systems, e.g. disk cache
- G06F 2212/1036: Life time enhancement
- G06F 2212/312: In storage controller
- G06F 2212/466: Metadata, control data
- G06F 2212/7211: Wear leveling
- G11C 13/0035: {Evaluating degradation, retention or wearout, e.g. by counting writing cycles}
- G11C 16/349: {Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

According to one embodiment, for each area having a first size, a number of accesses to the area is recorded in first information. In units of sub areas each having a second size smaller than the first size, access information for the sub area is recorded in the second information. In the first information, the number of accesses to an area to which a sub area in which duplicate accesses occur belongs is updated.

## Claims

### Claim 1

A memory system comprising:
a nonvolatile memory including a plurality of areas having a first size and respective sub areas of a second size;
a first recording unit;
a second recording unit; and
a memory controller configured to
record, for each area, a number of accesses to the area in the first recording unit,
record, in units of sub areas, access information to the sub area in the second recording unit, each of the sub areas being included in one of the areas and having a second size smaller than the first size, and
for each of the areas for which accesses are recorded in the first recording unit and to which belongs a sub area in which occurs a duplicate access recorded in the second recording unit, update the number of accesses to each said area in the first recording unit in relation to the duplicate access to the respective sub area recorded in the second recording.

### Claim 2 (depends on 1)

The memory system according to claim 1,
wherein the access information is an address of a sub area to be accessed, and
wherein the memory controller is configured to
record a certain number of pieces of the access information in the second recording unit,
in a case where first access information corresponding to a first access received from a host is recorded in the second recording unit, update a number of accesses to a first area that is an area in which a sub area corresponding to the first access is included among the numbers of accesses recorded in the first recording unit for each of the areas, delete access information of all the sub areas included in the first area from the second recording unit, and record the first access information in the second recording unit, and
in a case where the first access information is not recorded in the second recording unit, record the first access information in the second recording unit.

### Claim 3 (depends on 2)

The memory system according to claim 2, wherein, in a case where the first access information is not recorded in the second recording unit and in a case where the certain number of pieces of the access information is recorded in the second recording unit, the memory controller selects one area from among a plurality of the areas based on a first selection rule, updates the number of accesses to a second area that is the selected area, deletes the access information of all the sub areas belonging to the second area from the second recording unit, and records the first access information in the second recording unit.

### Claim 4 (depends on 3)

The memory system according to claim 3, wherein the first selection rule includes selecting of an area to which a sub area of which the access information is recorded earliest in the second recording unit belongs as the second area.

### Claim 5 (depends on 3)

The memory system according to claim 3, wherein the first selection rule includes selecting of an area including the greatest number of sub areas of which the access information is recorded in the second recording unit as the second area.

### Claim 6 (depends on 1)

The memory system according to claim 1,
wherein the access information includes information representing presence or absence of an access, and
wherein the memory controller is configured to
record the access information of each of the sub areas in the second recording unit,
in a case where the access information of a sub area corresponding to a first access received from a host represents presence of the access in the second recording unit, update a number of accesses to a first area that is an area in which the sub area corresponding to the first access is included among the numbers of accesses recorded in the first recording unit for each of the areas, delete the access information of all the sub areas included in the first area from the second recording unit, and update the access information of the sub area corresponding to the first access in the second recording unit with presence of the access, and
in a case where the first access information is not recorded in the second recording unit, update the access information of the sub area corresponding to the first access in the second recording unit with presence of the access.

### Claim 7 (depends on 1)

The memory system according to claim 1,
wherein the access information includes a number of accesses, and
wherein the memory controller is configured to
record the access information of each of the sub areas in the second recording unit,
in a case where the number of accesses to a sub area corresponding to a first access received from a host does not reach a first value in the second recording unit, count up the number of accesses included in the access information of the sub area corresponding to the first access in the second recording unit, and
in a case where the number of accesses to the sub area corresponding to the first access reaches the first value in the second recording unit, update the number of accesses to a first area that is an area in which the sub area corresponding to the first access is included among the numbers of accesses recorded in the first recording unit for each of the areas, count down the number of accesses included in the access information of all the sub areas included in the first area in the second recording unit, and count up the number of accesses included in the access information of the sub area corresponding to the first access in the second recording unit.

### Claim 8 (depends on 1)

The memory system according to claim 1, wherein an access unit of the nonvolatile memory is smaller than an access unit of a NAND flash memory.

### Claim 9

A memory system comprising:
a nonvolatile memory including a plurality of areas having a first size, each area including respective sub areas of a second size smaller than said first size, and each sub area having small areas of a third size smaller than said second size;
a first recording unit
a second recording unit
a third recording unit and
a memory controller configured to
control the nonvolatile memory,
record, for each area, a number of accesses to the area in first recording unit,
record, for each sub area, access information to the sub area in the second recording unit,
record, in units of small areas, access information to the small areas in third recording unit,
for each of the sub areas for which accesses are recorded in the second recording unit and to which belongs a small area in which occurs a duplicate access recorded in the third recording unit, update the number of accesses to each said sub area in the second recording unit in relation to the duplicate access to the respective small area recorded in the third recording unit, and
for each of the areas for which accesses are recorded in the first recording unit and to which belongs the sub area in which occurs the duplicate access recorded in the second recording unit, update the number of accesses to each said area in the first recording unit in relation to the duplicate access to the respective sub area recorded in the second recording.

### Claim 10 (depends on 9)

The memory system according to claim 9,
wherein the access information recorded in the third recording unit is an address of the small area to be accessed,
wherein the access information recorded in the second recording unit includes information representing the number of accesses, and
wherein the memory controller is configured to
record a certain number of pieces of the access information in the third recording unit,
record the access information of each sub area in the second recording unit,
in a case where first access information corresponding to a first access received from a host is recorded in the third recording unit, select a first sub area that is a sub area in which the small area corresponding to the first access is included, delete the access information of all the small areas included in the selected first sub area from the third recording unit, and record the first access information in the third recording unit,
in a case where the first access information is not recorded in the third recording unit, record the first access information in the third recording unit,
in a case where the number of accesses to the sub area corresponding to the first sub area does not reach a first value in the second recording unit, count up the number of accesses included in the access information of the sub area corresponding to the first access in the second recording unit, and
in a case where the number of accesses to the sub area corresponding to the first access reaches the first value in the second recording unit, update the number of accesses to a first area that is an area in which the sub area corresponding to the first access is included among the numbers of accesses recorded in the first recording unit for each of the areas, count down the number of accesses included in the access information of all the sub areas included in the first area in the second recording unit, and count up the number of accesses included in the access information of the sub area corresponding to the first access in the second recording unit.

### Claim 11 (depends on 9)

The memory system according to claim 9, wherein an access unit of the nonvolatile memory is smaller than an access unit of a NAND flash memory.

### Claim 12

A method of controlling a memory system, the memory system including a nonvolatile memory including a plurality of areas having a first size and respective sub areas of a second size, a first recording unit, and a second recording unit, the method comprising:
recording, for each area, a number of accesses to the area in first recording unit,
recording, in units of sub areas, access information to the sub area in second recording unit,
for each of the areas for which accesses are recorded in the first recording unit and to which belongs a sub area in which occurs a duplicate access recorded in the second recording unit, updating the number of accesses to each said area in the first recording unit in relation to the duplicate access to the respective sub area recorded in the second recording.

### Claim 13 (depends on 12)

The method according to claim 12, wherein the access information is an address of a sub area to be accessed, the method further comprising
recording a certain number of pieces of the access information in the second recording unit,
in a case where first access information corresponding to a first access received from a host is recorded in the second recording unit, updating a number of accesses to a first area that is an area in which a sub area corresponding to the first access is included among the numbers of accesses recorded in the first recording unit for each of the areas, deleting access information of all the sub areas included in the first area from the second recording unit, and recording the first access information in the second recording unit, and
in a case where the first access information is not recorded in the second recording unit, recording the first access information in the second recording unit.

### Claim 14 (depends on 13)

The method according to claim 13, further comprising
in a case where the first access information is not recorded in the second recording unit and in a case where the certain number of pieces of the access information is recorded in the second recording unit, selecting one area from among a plurality of the areas based on a first selection rule, updating the number of accesses to a second area that is the selected area, deleting the access information of all the sub areas belonging to the second area from the second recording unit, and recording the first access information in the second recording unit.

### Claim 15 (depends on 14)

The method according to claim 14, wherein the first selection rule includes selecting of an area to which a sub area of which the access information is recorded earliest in the second recording unit belongs as the second area.

### Claim 16 (depends on 14)

The method according to claim 14, wherein the first selection rule includes selecting of an area including the greatest number of sub areas of which the access information is recorded in the second recording unit as the second area.

### Claim 17 (depends on 12)

The method according to claim 12,
wherein the access information includes information representing presence or absence of an access,
the method further comprising
recording the access information of each of the sub areas in the second recording unit,
in a case where the access information of a sub area corresponding to a first access received from a host represents presence of the access in the second recording unit, updating a number of accesses to a first area that is an area in which the sub area corresponding to the first access is included among the numbers of accesses recorded in the first recording unit for each of the areas, deleting the access information of all the sub areas included in the first area from the second recording unit, and updating the access information of the sub area corresponding to the first access in the second recording unit with presence of the access, and
in a case where the first access information is not recorded in the second recording unit, updating the access information of the sub area corresponding to the first access in the second recording unit with presence of the access.

### Claim 18 (depends on 12)

The method according to claim 12, wherein the access information includes a number of accesses, the method further comprising
recording the access information of each of the sub areas in the second recording unit,
in a case where the number of accesses to a sub area corresponding to a first access received from a host does not reach a first value in the second recording unit, counting up the number of accesses included in the access information of the sub area corresponding to the first access in the second recording unit, and
in a case where the number of accesses to the sub area corresponding to the first access reaches the first value in the second recording unit, updating the number of accesses to a first area that is an area in which the sub area corresponding to the first access is included among the numbers of accesses recorded in the first recording unit for each of the areas, counting down the number of accesses included in the access information of all the sub areas included in the first area in the second recording unit, and counting up the number of accesses included in the access information of the sub area corresponding to the first access in the second recording unit.

### Claim 19 (depends on 12)

The method according to claim 12, wherein an access unit of the nonvolatile memory is smaller than an access unit of a NAND flash memory.
