# US 2022/0091772 A1 · Memory system

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

- Number: US 2022/0091772 A1
- Document ID: US20220091772A1
- Status: Published application
- Kind: A1
- Application number: 17/410,674
- Filed: 2021-08-24
- Published: 2022-03-24
- Earliest claimed: 2020-09-18
- Applicants: Kioxia Corporation
- Inventors: Toshio FUJISAWA; Tomoya SANUKI; Hitomi TANAKA; Takeshi ISHIHARA; Yasuhito YOSHIMIZU
- Web page: https://patentgrep.com/patent/US20220091772A1

## CPC

- G06F 3/0652: {Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/062: {Securing storage systems}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/064: {Management of blocks}
- G06F 3/0643: {Management of files}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 21/60: Protecting data
- G06F 2212/7201: Logical to physical mapping or translation of blocks or pages
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to one embodiment, a memory system includes a non-volatile semiconductor memory with a plurality of blocks. A controller in the system controls the writing of data to the non-volatile semiconductor memory and includes a host I/F control interface to receive write command information including file allocation information indicating a location for write data, a file information management unit to assign an erasure level to a file and output a file identifier in which a file name, a file size, and the erasure level of the file are combined, and a flash translation layer unit to allocate each file on a single file per block basis based on the write command information and the file identifier.

## Claims

### Claim 1

A memory system, comprising:
a non-volatile semiconductor memory including a plurality of blocks; and
a controller configured to control the writing of data to the non-volatile semiconductor memory, the controller including:
a host I/F control interface configured to receive write command information including file allocation information indicating a location for write data,
a file information management unit configured to assign an erasure level to a file corresponding to the file allocation information and output a file identifier in which a file name, a file size, and the erasure level of the file are combined, and
a flash translation layer unit configured to allocate one file per block based on the write command information and the file identifier.

### Claim 2 (depends on 1)

The memory system according to claim 1, wherein the file information management unit is further configured to:
extract a last update date and time for the file based on the received write command information,
calculate an elapsed time since the last update date and time of the file, and
assign the erasure level to the file based on the elapsed time.

### Claim 3 (depends on 1)

The memory system according to claim 1, wherein the file information management unit is configured to:
extract a creation date and time for the file and a last open date for the file from the received write command information,
calculate a frequency of use for the file based on the creation date and time and the last open date, and
assign the erasure level to the file based on frequency of use.

### Claim 4 (depends on 1)

The memory system according to claim 1, wherein, when executing a UNMAP command, a TRIM command, or garbage collection and invalidating a block, the flash translation layer unit executes a block erase on invalidated blocks storing a file having a high erasure level and deallocates invalidated blocks storing a file with a low erasure level.

### Claim 5 (depends on 4)

The memory system according to claim 4, wherein the non-volatile semiconductor memory is NAND flash memory, the plurality of blocks are NAND blocks, and the block erase is a NAND block erase.

### Claim 6 (depends on 1)

The memory system according to claim 1, wherein the host I/F control interface is configured to:
receive a deletable file candidate list from the file information management unit, the deletable file candidate list being a list of files with a high erasure level,
output the deletable file candidates list,
receive a file deletion request for a deletable file candidate on the deletable file candidate list, and
output the file deletion request to the file information management unit.

### Claim 7 (depends on 6)

The memory system according to claim 6, wherein
the non-volatile semiconductor memory is NAND flash memory, and
the plurality of blocks are NAND blocks.

### Claim 8

A memory system, comprising:
a non-volatile semiconductor memory including a plurality of blocks; and
a controller configured to control the writing of data to the non-volatile semiconductor memory, the controller including:
a host I/F control interface configured to receive write command information including file allocation indicating a location for write data,
a file information management unit configured to assign an erasure level to a file corresponding to the file allocation information and output a file identifier in which a file name, a file size, and the erasure level are combined,
a flash translation layer unit configured to allocate each file to a block based on the write command information and the file identifier,
an operation mode setting unit configured to set a threshold value for switching an operation mode of the flash translation layer unit, the threshold value corresponding to a number of available free blocks in the non-volatile semiconductor memory, and
a comparator configured to output an operation mode signal to the flash translation layer unit based on the threshold value set by the operation mode switching unit and the number of available free blocks from the flash translation layer unit, the operation mode signal indicating a first operation mode in which each file is allocated on a one file per block basis when the number of available free blocks is at or above the threshold value or a second operation mode in which different files can be allocated to the same block when the number of available free blocks is below the threshold value.

### Claim 9 (depends on 8)

The memory system according to claim 8, wherein
the flash translation layer unit is configured to:
allocate a one file per block or a plurality of files per block based on the operation mode signal, and
select the erasure level and erasure method for files based on the operation mode signal.

### Claim 10 (depends on 9)

The memory system according to claim 9, wherein the blocks are NAND blocks.

### Claim 11 (depends on 8)

The memory system according to claim 8, wherein the blocks are NAND blocks.

### Claim 12 (depends on 8)

The memory system according to claim 8, wherein the file information management unit is further configured to:
extract a last update date and time for the file based on the received write command information,
calculate an elapsed time since the last update date and time of the file, and
assign the erasure level to the file based on the elapsed time.

### Claim 13 (depends on 8)

The memory system according to claim 8, wherein the file information management unit is configured to:
extract a creation date and time for the file and a last open date for the file from the received write command information,
calculate a frequency of use for the file based on the creation date and time and the last open date, and
assign the erasure level to the file based on frequency of use.

### Claim 14 (depends on 8)

The memory system according to claim 8, wherein, when executing a UNMAP command, a TRIM command, or garbage collection and invalidating a block, the flash translation layer unit executes a block erase on invalidated blocks storing only a file having a high erasure level and deallocates invalidated blocks storing only files with a low erasure level.

### Claim 15 (depends on 14)

The memory system according to claim 14, wherein
the non-volatile semiconductor memory is NAND flash memory,
the plurality of blocks are NAND blocks, and
the block erase is a NAND block erase.

### Claim 16 (depends on 8)

The memory system according to claim 8, wherein the host I/F control interface is configured to:
receive a deletable file candidate list from the file information management unit, the deletable file candidate list being a list of files with a high erasure level,
output the deletable file candidates list,
receive a file deletion request for a deletable file candidate on the deletable file candidate list, and
output the file deletion request to the file information management unit.

### Claim 17

A memory system, comprising:
a non-volatile semiconductor memory including a plurality of blocks; and
a controller configured to:
receive write command information including file allocation information indicating a location for write data,
assign an erasure level to a file corresponding to the file allocation information and output a file identifier in which a file name, a file size, and the erasure level of the file are combined, and
allocate one file per block based on the write command information and the file identifier.

### Claim 18 (depends on 16)

The memory system according to claim 16, wherein, when executing a UNMAP command, a TRIM command, or garbage collection and invalidating a block, the controller is configured to execute a block erase on invalidated blocks storing a file having a high erasure level and deallocate invalidated blocks storing a file with a low erasure level.

### Claim 19 (depends on 17)

The memory system according to claim 17, wherein the controller is further configured to:
extract a last update date and time for the file based on the received write command information,
calculate an elapsed time since the last update date and time of the file, and
assign the erasure level to the file based on the elapsed time.

### Claim 20 (depends on 17)

The memory system according to claim 17, wherein the controller is further configured to:
extract a creation date and time for the file and a last open date for the file from the received write command information,
calculate a frequency of use for the file based on the creation date and time and the last open date, and
assign the erasure level to the file based on frequency of use.
