Memory system and controlling method of performing rewrite operation at maximum rewrite speed
AssigneeKioxia Corporation
InventorKazuya Kitsunai
Life of this patent
Estimating the term…
Abstract
According to one embodiment, a controller manages a first block set being a set of blocks in which a remaining time is a first time and a second block set being a set of blocks in which a remaining time is a second time. The controller calculates a first rewrite speed based on the first time and a number of blocks included in the first block set. The controller calculates a second rewriting speed based on the second time and a sum of the number of blocks included in the first block set and the number of blocks included in the second block set. The controller determines a maximum rewriting speed among the first rewrite speed and the second rewriting speed. The controller performs the rewrite operation at the determined maximum rewrite speed.
Claims20
A memory system comprising:
- a nonvolatile memory including a plurality of blocks;
- and
- a controller configured to perform a rewrite operation of rewriting data stored in each block including valid data to another block among the plurality of blocks, wherein the controller is configured to:
- manage a first block set and a second block set respectively corresponding to a first remaining time and a second remaining time that are respectively represented by multiples of a unit time, the first block set being a set of blocks in which a remaining time, until a time point at which the rewrite operation is to be performed, is the first remaining time, the second block set being a set of blocks in which a remaining time, until the time point at which the rewrite operation is to be performed, is the second remaining time which is longer than the first remaining time, and the time point at which the rewrite operation is to be performed being a time point after a certain period has elapsed since the data is written to the block;
- calculate a first rewrite speed based on the first remaining time and a first number of blocks included in the first block set;
- calculate a second rewrite speed based on the second remaining time and a sum of i) the first number of blocks and ii) a second number of blocks included in the second block set;
- determine a maximum rewrite speed among the first rewrite speed and the second rewrite speed;
- and
- perform, at the determined maximum rewrite speed, the rewrite operation on i) the first number of blocks included in the first block set and ii) the second number of blocks included in the second block set.
A memory system comprising:
- a nonvolatile memory including a plurality of blocks;
- and
- a controller configured to perform a rewrite operation of rewriting data stored in each block including valid data to another block among the plurality of blocks, wherein
- the controller is configured to:
- manage a remaining time until a time point at which the rewrite operation is to be performed on each of the block including the valid data, the time point at which the rewrite operation is to be performed being a time point after a certain period has elapsed since the data is written to the block;
- obtain i) a first number of blocks included in a first block set in which a remaining time, until the time point at which the rewrite operation is to be performed, is a first time and ii) a second number of blocks included in a second block set in which a remaining time, until the time point at which the rewrite operation is to be performed, is a second time longer than the first time, the first time and the second time being represented by multiples of a unit time;
- calculate a first rewrite speed based on the first time and the first number of blocks;
- calculate a second rewrite speed based on the second time and a sum of i) the first number of blocks and ii) the second number of blocks;
- determine a maximum rewrite speed among the first rewrite speed and the second rewrite speed;
- and
- perform, at the determined maximum rewrite speed, the rewrite operation on i) the first number of blocks included in the first block set and ii) the second number of blocks included in the second block set.
A method of performing a rewrite operation of rewriting data stored in each block including valid data to another block among a plurality of blocks included in a nonvolatile memory, the method comprising:
- managing a first block set and a second block set respectively corresponding to a first remaining time and a second remaining time that are respectively represented by multiples of a unit time, the first block set being a set of blocks in which a remaining time, until a time point at which the rewrite operation is to be performed, is the first remaining time, the second block set being a set of blocks in which a remaining time, until the time point at which the rewrite operation is to be performed, is the second remaining time which is longer than the first remaining time, and the time point at which the rewrite operation is to be performed being a time point after a certain period has elapsed since the data is written to the block;
- calculating a first rewrite speed based on the first remaining time and a first number of blocks included in the first block set;
- calculating a second rewrite speed based on the second remaining time and a sum of i) the first number of blocks and ii) a second number of blocks included in the second block set;
- determining a maximum rewrite speed among the first rewrite speed and the second rewrite speed;
- and
- performing, at the determined maximum rewrite speed, the rewrite operation on i) the first number of blocks included in the first block set and ii) the second number of blocks included in the second block set.
Dependencies are inferred from the claim text.