Memory system and data rearrangement method
AssigneeKioxia Corporation
InventorMasato Inoue
Life of this patent
Estimating the term…
Abstract
According to one embodiment, a controller includes a counter counting a number of accesses of data in a nonvolatile memory, in a first unit which is a unit of access to data from the host. The controller determines whether a received read command is a sequential read command or a random read command, increments a value of the counter, which corresponds to data specified by the received read command, when the received read command is the random read command, and in a process of moving first data of a first block to a second block, controls rearrangement of the first data of the first block to the second block based on the value of the counter when the first data has a size of the first unit and needs to be arranged across two pages in the second block.
Claims20
A memory system comprising:
- a nonvolatile memory including a plurality of blocks each including a plurality of pages;
- and
- a controller connectable with a host, and configured to control the nonvolatile memory, wherein
- the controller includes a counter counting a number of accesses of data stored in the nonvolatile memory in a first unit, the first unit being a unit of access to data from the host, and
- the controller is configured to:
- determine whether a read command received from the host is a command for a sequential read or a random read;
- increment a value of the counter, which corresponds to data specified by the read command, when the read command is the command for the random read;
- and
- in a process of moving first data of a first block to a second block, determine, based on the value of the counter for the first data, whether the first data is to be rearranged across two pages in the second block or rearranged in one page in the second block.
A data rearrangement method executed by a controller connectable with a host, and configured to control a nonvolatile memory including a plurality of blocks each including a plurality of pages, the method comprising:
- determining that a read command received from the host is the command for a random read;
- in response to determining that the read command is the command for the random read, incrementing a value of a counter corresponding to data specified by the read command, of counters for counting a number of accesses of data stored in the nonvolatile memory for each access unit from the host or for each frame, the frame including user data received from the host and an error correction code for detecting and correcting an error of the user data;
- and
- in a process of moving first data of a first block to a second block,
- determining that, based on the value of the counter for the first data, the first data is to be rearranged across two pages in the second block;
- and
- determining that, based on the value of the counter for the first data, the first data is to be rearranged across in one page in the second block.
Dependencies are inferred from the claim text.