Back to results
US 10,540,115 B2Granted
Controller adaptation to memory program suspend-resume
AssigneeSK hynix Inc.
InventorsWei Zang, Chun Hok Ho
Life of this patent
Estimating the term…
Abstract
Memory systems may include a memory including a plurality of dies, and a controller suitable for receiving a host read request during programming of one of the plurality of dies; determining a suspendable die among the plurality of dies based on a suspension threshold; and suspending the determined suspendable die and performing the received request.
Claims19
A memory system, comprising:
- a memory device including a plurality of dies, each having a plurality of queues, die arbiters, each in communication with the plurality of queues of a corresponding die, channel arbiters, each in communication with at least two of the die arbiters, and a controller for controlling the memory device, wherein each of the die arbiters is configured to:
- select a command from one of the plurality of queues of the corresponding die;
- wherein each of the channel arbiters is configured to select a request from a particular die among the dies in communication with the corresponding channel arbiter;
- wherein the controller is configured to:
- program the selected one of the plurality of dies in response to the selected command;
- receive a host read request on the selected die during the programming of the selected die;
- suspend the programming on the selected die and perform the host read request when a suspension threshold for a current state of the selected die is met, the current state of the selected die being one of a suspend ready state in which the suspension threshold is calculated using a first set of parameters, one of which is representative of suspend overhead, and a resumed state in which the suspension threshold is calculated using a second set of parameters, one of which is representative of suspend-continue overhead, the suspension threshold being updated dynamically in accordance with the state of the selected die;
- and
- continue the programming on the selected die, without suspending programming thereon, when the suspension threshold is not met;
- wherein the controller includes a die suspend server to record and control the states of each of the plurality of dies,
- wherein execution of the suspend and continue operations reduces read latency.
8 more elements
A method, comprising:
- selecting, using a die arbiter, among a plurality of die arbiters, a queue, among a plurality of queues of a die, among a plurality of dies of a memory to be programmed, and selecting a request of the die, using a channel arbiter, among a plurality of channel arbiters, each in communication with at least two of the die arbiters, to select a command from the selected queue of the selected die, the plurality of die arbiters, the plurality of channel arbiters and the plurality of dies being components of a memory system;
- programming the selected one of the plurality of dies in response to the selected command;
- receiving, with a controller of the memory system, a host read request on the selected die during programming of the selected die;
- suspending the programming on the selected die and perform the host read request when a suspension threshold for a current state of the selected die is met, the current state of the selected die being one of a suspend ready state in which the suspension threshold is calculated using a first set of parameters, one of which is representative of suspend overhead, and a resume state in which the suspension threshold is calculated using a second set of parameters, one of which is representative of suspend-continue overhead, the suspension threshold being updated dynamically in accordance with the state of the selected die;
- continuing the programming on the selected die, without suspending programming thereon, when the suspension threshold is not met;
- and
- recording and controlling the states of each of the plurality of dies,
- wherein execution of the suspending and continuing steps reduces read latency.
5 more elements
A memory device comprising:
- a plurality of dies, each having a plurality of queues, die arbiters, each in communication with the plurality of queues of a corresponding dies, channel arbiters, each in communication with at least two of the die arbiters, and a controller for controlling the memory device;
- each of the arbiters being configured to:
- select a command from one of the plurality of queues of the corresponding die;
- each of the channel arbiters being configured to select a request from a particular die among the dies in communication with the corresponding channel arbiter;
- and
- the controller being configured to:
- program the selected one of the plurality of dies in response to the selected program command;
- receive a host read request on the selected die during the programming of the selected die;
- suspend the programming on the selected die and perform the host read request when a suspension threshold for a current state of the selected die is met, the current state of the selected die being one of a suspend ready state in which the suspension threshold is calculated using a first set of parameters, one of which is representative of suspend overhead, and a resumed state in which the suspension threshold is calculated using a second set of parameters, one of which is representative of suspend-continue overhead, the suspension threshold being updated dynamically in accordance with the state of the selected die;
- continue the programming on the selected die, without suspending programming thereon, when the suspension threshold is not met;
- and
- record and control the states of each of the plurality of dies using a die suspend server,
- wherein execution of the suspend and continue operations reduces read latency.
10 more elements
Dependencies are inferred from the claim text.