# US 2021/0278974 A1 · Memory system and method for controlling nonvolatile memory

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

- Number: US 2021/0278974 A1
- Document ID: US20210278974A1
- Status: Published application
- Kind: A1
- Application number: 17/331,043
- Filed: 2021-05-26
- Published: 2021-09-09
- Earliest claimed: 2017-11-06
- Assignees: Toshiba Memory Corporation
- Applicants: Toshiba Memory Corporation
- Inventors: Shinichi Kanno; Hideki Yoshida
- Web page: https://patentgrep.com/patent/US20210278974A1

## CPC

- G06F 3/0616: {in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]}
- G06F 3/064: {Management of blocks}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- 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/3055: {Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available (error or fault processing without redundancy G06F11/0703; error detection or correction by redundancy in data representation G06F11/08; error detection or correction of the data by redundancy in operations G06F11/14; error detection or correction by redundancy in hardware G06F11/16)}
- G06F 12/16: Protection against loss of memory contents {(contains no material, see G06F11/00)}
- G06F 11/3419: {by assessing time}
- G06F 11/3485: {for I/O devices}
- G06F 2201/88: Monitoring involving counting
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

According to one embodiment, a memory system manages wear of each of a plurality of blocks in a nonvolatile memory. The memory system receives, from a host, a write request including a parameter specifying a data retention term required for first data to be written. The memory system selects, from the blocks, a first block in which a data retention term estimated from the wear of the first block is longer than or equal to the specified data retention term. The memory system writes the first data to the first block.

## Claims

### Claim 1

A memory system comprising:
a nonvolatile memory that includes a plurality of blocks; and
a controller configured to control the nonvolatile memory and including a wear reduction processing unit,
the controller is configured to:
classify the blocks into a plurality of block groups corresponding to a plurality of data retention terms based on wear of each of the blocks, the wear relating to an erase operation;
receive a write command including one of a first parameter specifying a first retention term required for first data to be written and a second parameter specifying a second retention term required for second data to be written, the second retention term being shorter than the first retention term;
in response to receiving the write command including the first parameter, select, when a block classified into a first block group having a data retention term which is equal to the first retention term specified by the first parameter in the received write command is present, the block classified into the first block group as a first block, and select, when no block classified into the first block group is present, a block classified into a second block group having a data retention term longer than the first retention term as the first block;
write the first data to the first block;
in response to receiving the write command including the second parameter, select, when a block classified into a third block group having a data retention term which is equal to the second retention term specified by the second parameter in the received write command is present, the block classified into the third block group as a second block, and select, when no block classified into the third block group is present, a block classified into a fourth block group having a data retention term longer than the second retention term as the second block; and
write the second data to the second block.

### Claim 2 (depends on 1)

The memory system of claim 1, wherein
the wear reduction processing unit is configured to:
write, when the block classified into the first block group is selected as the first block, the first data to the first block by a first program operation; and
write, when the block classified into the second block group is selected as the first block, the first data to the first block by a second program operation in which an amount of electrical charge to be stored in each of memory cells of the first block is less than the first program operation.

### Claim 3 (depends on 1)

The memory system of claim 1, wherein
the wear of each of the blocks is indicated by an erase count of each of the blocks.

### Claim 4 (depends on 1)

The memory system of claim 1, wherein
the wear of each of the blocks is indicated by an erasing time of each of the blocks.

### Claim 5 (depends on 1)

The memory system of claim 1, wherein
when no block classified into the first block group is present, a block classified into a block group having a data retention term shorter than the first retention term is not selected as the first block, and
when no block classified into the third block group is present, a block classified into a block group having a data retention term shorter than the second retention term is not selected as the second block.

### Claim 6 (depends on 1)

The memory system of claim 1, wherein
the plurality of data retention terms correspond to a plurality of levels, and
the controller is further configured to:
when no block classified into the first block group is present, determine whether or not a block classified into a block group having a data retention term longer than the first retention term by one level is present; and
when the block classified into the block group having the data retention term longer than the first retention term by one level is present, select, as the first block, the block classified into the block group having the data retention term longer than the first retention term by one level, the second block group being the block group having the data retention term longer than the first retention term by one level.

### Claim 7 (depends on 6)

The memory system of claim 6, wherein
the controller is further configured to:
when no block classified into to the block group having the data retention term longer than the first retention term by one level is present, determine whether or not a block classified into a block group having a data retention term shorter than a longest retention term of the plurality of data retention terms by one level is present; and
when the block classified into the block group having the data retention term shorter than the longest retention term by one level is present, select, as the first block, the block classified into the block group having the data retention term shorter than the longest retention term by one level, the second block group being the block group having the data retention term shorter than the longest retention term by one level.

### Claim 8 (depends on 7)

The memory system of claim 7, wherein
the controller is further configured to:
when no block classified into the block group having the data retention term shorter than the longest retention term by one level, select, as the first block, a block classified into to a block group having the longest retention term, the second block group being the block group having the longest retention term.

### Claim 9 (depends on 1)

The memory system of claim 1, wherein
the nonvolatile memory is a NAND flash memory which includes a plurality of memory chips, each chip has a plurality of blocks and each block is respectively erasable.

### Claim 10 (depends on 1)

The memory system of claim 1, wherein
the nonvolatile memory is a NAND flash memory which includes a plurality of memory chips and the plurality of memory chips are configured to be erasable as a super block.

### Claim 11

A method for controlling a nonvolatile memory that includes a plurality of blocks, the method comprising:
classifying the blocks into a plurality of block groups corresponding to a plurality of data retention terms based on wear of each of the blocks, the wear relating to an erase operation;
receiving a write command including one of a first parameter specifying a first retention term required for first data to be written and a second parameter specifying a second retention term required for second data to be written, the second retention term being shorter than the first retention term;
in response to receiving the write command including the first parameter, selecting, when a block classified into a first block group having a data retention term which is equal to the first retention term specified by the first parameter in the received write command is present, the block classified into the first block group as a first block, and selecting, when no block classified into the first block group is present, a block classified into a second block group having a data retention term longer than the first retention term as the first block;
writing the first data to the first block;
in response to receiving the write command including the second parameter, selecting, when a block classified into a third block group having a data retention term which is equal to the second retention term specified by the second parameter in the received write command is present, the block classified into the third block group as a second block, and selecting, when no block classified into the third block group is present, a block classified into a fourth block group having a data retention term longer than the second retention term as the second block; and
writing the second data to the second block.

### Claim 12 (depends on 11)

The method of claim 11, wherein
the writing the first data includes:
writing, when the block classified into the first block group is selected as the first block, the first data to the first block by a first program operation; and
writing, when the block classified into the second block group is selected as the first block, the first data to the first block by a second program operation in which an amount of electrical charge to be stored in each of memory cells of the first block is less than the first program operation.

### Claim 13 (depends on 11)

The method of claim 11, wherein
the wear of each of the blocks is indicated by an erase count of each of the blocks.

### Claim 14 (depends on 11)

The method of claim 11, wherein
the wear of each of the blocks is indicated by an erasing time of each of the blocks.

### Claim 15 (depends on 11)

The method of claim 11, wherein
when no block classified into the first block group is present, a block classified into a block group having a data retention term shorter than the first retention term is not selected as the first block, and
when no block classified into the third block group is present, a block classified into a block group having a data retention term shorter than the second retention term is not selected as the second block.

### Claim 16 (depends on 11)

The method of claim 11, wherein
the plurality of data retention terms correspond to a plurality of levels, and
the method further comprises:
when no block classified into the first block group is present, determining whether or not a block classified into a block group having a data retention term longer than the first retention term by one level is present; and
when the block classified into the block group having the data retention term longer than the first retention term by one level is present, selecting, as the first block, the block classified into the block group having the data retention term longer than the first retention term by one level, the second block group being the block group having the data retention term longer than the first retention term by one level.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
when no block classified into to the block group having the data retention term longer than the first retention term by one level is present, determining whether or not a block classified into a block group having a data retention term shorter than a longest retention term of the plurality of data retention terms by one level is present; and
when the block classified into the block group having the data retention term shorter than the longest retention term by one level is present, selecting, as the first block, the block classified into the block group having the data retention term shorter than the longest retention term by one level, the second block group being the block group having the data retention term shorter than the longest retention term by one level.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
when no block classified into to the block group having the data retention term shorter than the longest retention term by one level, select, as the first block, a block classified into to a block group having the longest retention term, the second block group being the block group having the longest retention term.

### Claim 19 (depends on 11)

The method of claim 11, wherein
the nonvolatile memory is a NAND flash memory which includes a plurality of memory chips, each chip has a plurality of blocks and each block is respectively erasable.

### Claim 20 (depends on 11)

The method of claim 11, wherein
the nonvolatile memory is a NAND flash memory which includes a plurality of memory chips and the plurality of memory chips are configured to be erasable as a super block.
