# US 2025/0147698 A1 · Memory system and method of 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 2025/0147698 A1
- Document ID: US20250147698A1
- Status: Published application
- Kind: A1
- Application number: 19/013,562
- Filed: 2025-01-08
- Published: 2025-05-08
- Earliest claimed: 2020-02-14
- Assignees: Kioxia Corporation
- Applicants: Kioxia Corporation
- Inventors: Shinichi KANNO
- Web page: https://patentgrep.com/patent/US20250147698A1

## CPC

- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0688: {Non-volatile semiconductor memory arrays}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0652: {Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket}
- G06F 3/0656: {Data buffering arrangements}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to one embodiment, a controller of a memory system executes a first write operation of writing write data into a first storage region, in response to reception of one or more write requests for specifying a first zone from a host, during a period from execution of an erase operation of the first storage region until a first time elapses. When the first time has elapsed after execution of the erase operation, in a state in which an unwritten region having a size larger than or equal to a first size remains in the first storage region, the controller does not execute the first write operation, allocates the first storage region as a nonvolatile buffer capable of temporarily storing write data to be written to each of a plurality of zones.

## Claims

### Claim 1

A memory system connectable to a host, the memory system comprising:
a nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit of a data erase operation; and
a controller electrically connected to the nonvolatile memory and configured to:
manage a plurality of block groups, each of the plurality of block groups including one or more of the plurality of blocks, the plurality of block groups including at least a first block group;
manage a plurality of logical regions, the plurality of logical regions including at least a first logical region;
allocate the first block group to the first logical region for dedicatedly writing data associated with the first logical region;
execute a first operation to the first block group, the first operation including the data erase operation to each of the one or more of the plurality of blocks included in the first block group;
while a period elapsed from the execution of the first operation is shorter than a first threshold, in response to receiving, from the host, one or more first write requests each specifying the first logical region, write first data requested by the one or more first write requests into the first block group; and
when the period elapsed after the execution of the first operation is longer than the first threshold and an unwritten region is included in the first block group, change a state of the first block group such that data not associated with the first logical region is also to be written into the first block group.

### Claim 2 (depends on 1)

The memory system of claim 1, wherein
the controller is configured to change the state of the first block group in a case where the unwritten region of the first block group is larger than or equal to a first size.

### Claim 3 (depends on 1)

The memory system of claim 1, wherein
the controller is further configured to, after changing the state of the first block group, write dummy data generated by the controller into the unwritten region of the first block group.

### Claim 4 (depends on 3)

The memory system of claim 3, wherein
the controller is configured to write the dummy data into the unwritten region of the first block group in a case where the period elapsed after the execution of the first operation is longer than a second threshold which is larger than the first threshold.

### Claim 5 (depends on 1)

The memory system of claim 1, wherein
the plurality of block groups further include a second block group, and
the controller is further configured to, when a total size of the first data written into the first block group reaches a capacity of the first logical region after the state of the first block group is changed, copy the first data written into the first block group to the second block group.

### Claim 6 (depends on 1)

The memory system of claim 1, wherein
the host includes a first memory,
the plurality of block groups further include a second block group, and
the controller is further configured to, when a total size of the first data written into the first block group and the first data stored in the first memory of the host reaches a capacity of the first logical region after the state of the first block group is changed, copy both the first data written into the first block group and the first data stored in the first memory of the host, to the second block group.

### Claim 7 (depends on 1)

The memory system of claim 1, wherein
the controller is configured to execute the first operation in response to receiving, from the host, an open request for the first logical region.

### Claim 8 (depends on 1)

The memory system of claim 1, wherein
the controller is further configured to determine the first threshold based on at least one of the number of first operations executed to the first block group, a bit error rate of the first block group, the number of program errors of the first block group, or the number of erase errors of the first block group.

### Claim 9 (depends on 1)

The memory system of claim 1, wherein
each of the plurality of block groups includes only one of the plurality of blocks.

### Claim 10 (depends on 1)

The memory system of claim 1, wherein
each of the plurality of logical regions is a zone defined in the NVM Express standard.

### Claim 11

A method of controlling a nonvolatile memory, the nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit of a data erase operation, the method comprising:
managing a plurality of block groups, each of the plurality of block groups including one or more of the plurality of blocks, the plurality of block groups including at least a first block group;
managing a plurality of logical regions, the plurality of logical regions including at least a first logical region;
allocating the first block group to the first logical region for dedicatedly writing data associated with the first logical region;
executing a first operation to the first block group, the first operation including the data erase operation to each of the one or more of the plurality of blocks included in the first block group;
while a period elapsed from the execution of the first operation is shorter than a first threshold, receiving, from the host, one or more first write requests each specifying the first logical region, and in response to receiving the one or more first write requests, writing first data requested by the one or more first write requests into the first block group; and
when the period elapsed after the execution of the first operation is longer than the first threshold and an unwritten region is included in the first block group, changing a state of the first block group such that data not associated with the first logical region is also to be written into the first block group.

### Claim 12 (depends on 11)

The method of claim 11, wherein
the state of the first block group is changed in a case where the unwritten region of the first block group is larger than or equal to a first size.

### Claim 13 (depends on 11)

The method of claim 11, further comprising:
after changing the state of the first block group, writing dummy data into the unwritten region of the first block group.

### Claim 14 (depends on 13)

The method of claim 13, wherein
the dummy data is written into the unwritten region of the first block group in a case where the period elapsed after the execution of the first operation is longer than a second threshold which is larger than the first threshold.

### Claim 15 (depends on 11)

The method of claim 11, wherein
the plurality of block groups further include a second block group, and
the method further comprises:
when a total size of the first data written into the first block group reaches a capacity of the first logical region after the state of the first block group is changed, copying the first data written into the first block group to the second block group.

### Claim 16 (depends on 11)

The method of claim 11, wherein
the host includes a first memory,
the plurality of block groups further include a second block group, and
the method further comprises:
when a total size of the first data written into the first block group and the first data stored in the first memory of the host reaches a capacity of the first logical region after the state of the first block group is changed, copying both the first data written into the first block group and the first data stored in the first memory of the host, to the second block group.

### Claim 17 (depends on 11)

The method of claim 11, further comprising:
receiving, from the host, an open request for the first logical region, wherein
the first operation is executed in response to receiving the open request.

### Claim 18 (depends on 11)

The method of claim 11, further comprising:
determining the first threshold based on at least one of the number of first operations executed to the first block group, a bit error rate of the first block group, the number of program errors of the first block group, or the number of erase errors of the first block group.

### Claim 19 (depends on 11)

The method of claim 11, wherein
each of the plurality of block groups includes only one of the plurality of blocks.

### Claim 20 (depends on 11)

The method of claim 11, wherein
each of the plurality of logical regions is a zone defined in the NVM Express standard.
