Memory system and method of controlling nonvolatile memory
AssigneeKioxia Corporation
InventorShinichi Kanno
Life of this patent
Estimating the term…
Abstract
According to one embodiment, when a command executed in a nonvolatile memory is an erase/program command and when a cumulative weight value satisfies a condition that a first input is selected as an input of high priority, a memory system suspends execution of the erase/program command by transmitting a suspend command to the nonvolatile memory. The memory system repeats executing an operation of starting the execution of one read command of the first input and an operation of updating the cumulative weight by using the weight associated with the read command until read command no longer exists in the first input or until the condition that the cumulative weight is larger than the first value is not satisfied, and resumes the execution of the suspended erase/program command.
Claims9
A memory system comprising:
- a nonvolatile memory;
- and
- a controller configured to control the nonvolatile memory, wherein
- the controller is configured to:
- select an input, based on a cumulative weight and from a first input and a second input, as an input of high priority, the first input being for accepting read commands to be transmitted to the nonvolatile memory, the second input being for accepting erase commands to be transmitted to the nonvolatile memory and program commands to be transmitted to the nonvolatile memory;
- start execution of a command corresponding to the selected input of high priority, and update the cumulative weight by using a weight associated with the command for which execution is started;
- when execution of a command of one of the first input and the second input is started, update the cumulative weight to a value obtained by subtracting a weight associated with the command of the one of the first input and the second input from the cumulative weight;
- when execution of a command of the other of the first input and the second input is started, update the cumulative weight to a value obtained by adding a weight associated with the command of the other of the first input and the second input to the cumulative weight;
- while a first condition that a current value of the cumulative weight is larger than a first value is satisfied, select the one of the first input and the second input as the input of high priority;
- while a second condition that the current value of the cumulative weight is smaller than the first value is satisfied, select the other of the first input and the second input as the input of high priority;
- when a command which is being executed in the nonvolatile memory is an erase command or a program command and when the current value of the cumulative weight satisfies a condition that the first input is selected as the input of high priority, of the first condition and the second condition, suspend execution of the erase command or the program command by transmitting a suspend command to the nonvolatile memory;
- and
- execute an operation of starting execution of one read command of the first input and an operation of updating the cumulative weight by using a weight associated with the one read command until a read command no longer exists in the first input or until the cumulative weight does not satisfy the condition that the first input is selected as the input of high priority, wherein
- the controller includes a command queue capable of storing one or more read commands to be transmitted to the nonvolatile memory, and
- the controller is further configured to:
- determine an upper limit of a number of read commands capable of being stored in the command queue, based on the current value of the cumulative weight.
Dependencies are inferred from the claim text.