IP Library Granted Patent US 10,877,696
Granted Patent B2
US 10,877,696 · App. 16/367,638 · Granted Dec 29, 2020

Independent NAND memory operations by plane

Inventors: Yogesh B. Wakchaure (Folsom, CA); Aliasgar S. Madraswala (Folsom, CA); David J. Pelster (Longmont, CO); Donia Sebastian (Fair Oaks, CA); Curtis Gittens (Vancouver, CA); Xin Guo (San Jose, CA); Neelesh Vemula (Sunnyvale, CA); Varsha Regulapati (Folsom, CA); Naga Kiranmayee Upadhyayula (Olympia, WA)
Assignee: Intel Corporation
G06F3/0659G06F3/0604G06F3/0688G11C16/0483G11C16/26G11C11/5628G11C11/5642G11C11/5671G11C2216/22
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,877,696
App. No.
16/367,638
Granted
Dec 29, 2020
Kind
B2
Abstract

Independent multi-plane commands for non-volatile memory devices are described. In one example, a three-dimensional (3D) NAND memory device includes 3D NAND dies, each die including multiple planes of memory cells. The device includes input/output (I/O) circuitry to receive multiple commands from a host, each of the received commands to access one of the planes. The device includes logic (which can be implemented with, for example, an ASIC controller, firmware, or both) to queue the commands in separate queues for each of the planes based on a target plane of each of the commands. The logic issues the commands to their target planes independent of other planes' status, and tracks completion status of the commands independently for each plane.

Claims (56)

1. An apparatus comprising:

a three-dimensional (3D) NAND die including multiple planes of memory cells; and

control logic to:

generate commands in response to requests from a host, each of the commands to access one of the planes;

queue the commands in separate queues for each of the planes based on a target plane of each of the commands;

issue the commands to their target planes independent of other planes' status; and

track completion status of the commands independently for each plane.

2. The apparatus of claim 1 , wherein the control logic to send a command to its target plane is to:

independently generate bias voltages for each of the planes targeted by one of the commands.

3. The apparatus of claim 1 , wherein the control logic is to:

issue a command to target one of the planes when another of the planes is busy.

4. The apparatus of claim 1 , wherein the control logic is to:

read data upon completion of a read command from one plane while another plane is busy servicing another read command.

5. The apparatus of claim 1 , wherein the control logic is to:

send a command to modify settings of a plane without modification of settings of other planes, the settings including one or more of: wordline voltage for array operation, bitline voltage for array operation, program verify levels, read reference values, maximum WL bias value, and array operation timeout period.

6. The apparatus of claim 1 , wherein:

the requests from the host are from: a host processor, a memory controller, or a host operating system.

7. The apparatus of claim 1 , wherein:

the apparatus comprises a solid state drive (SSD) or a dual in-line memory module (DIMM).

8. The apparatus of claim 1 , wherein the control logic to track completion status is to:

send a command to read status of a target plane, the 3D NAND die to return the status of the target plane on input/output (I/O) pins of the 3D NAND die.

9. The apparatus of claim 8 , wherein:

the command to read status of a plane includes one or more bits to specify a plane.

10. The apparatus of claim 1 , wherein the control logic to queue the commands is to:

queue the commands in a die-level queue for the 3D NAND die; and

route each of the commands from the die-level queue to plane-level queues based on the target plane of each of the commands.

11. The apparatus of claim 10 , wherein:

the control logic is to generate a die-level command in response to a request from the host; and

the control logic is to queue the die-level command in the die-level queue.

12. The apparatus of claim 11 , wherein:

the control logic is to:

route the die-level command to one of the plane-level queues, and

prevent execution of plane-level commands while the die-level command is serviced.

13. The apparatus of claim 12 , wherein the control logic to prevent execution of plane-level commands is to:

send placeholder commands to at least one of the plane-level queues to prevent execution of plane-level commands.

14. The apparatus of claim 12 , wherein the control logic to prevent execution of plane-level commands is to:

prevent routing plane-level commands to the plane-level queues while the die-level command is serviced.

15. A controller for a non-volatile memory device, the controller comprising:

input/output (I/O) interface circuitry to receive requests from a processor to access a non-volatile memory die;

control logic to:

generate commands in response to the requests from the processor, each of the commands to access one of multiple planes of the non-volatile memory die;

queue the commands in separate queues for each of the planes based on a target plane of each of the commands;

issue the commands to their target planes independent of other planes' status; and

track completion status of the commands independently for each plane.

16. The controller of claim 15 , wherein the control logic to issue the commands to their target planes is to:

independently generate bias voltages for each of the planes targeted by one of the commands.

17. The controller of claim 15 , wherein the control logic is to:

issue a command to target one of the planes when another of the planes is busy.

18. The controller of claim 15 , wherein the control logic is to:

read data in response to completion of a read command from one plane while another plane is busy servicing another read command.

19. An article of manufacture comprising a non-transitory computer readable storage medium having content stored thereon which when accessed causes processing circuitry to execute operations to perform a method comprising:

issuing, from a controller, a first command to a three dimensional (3D) NAND die, the 3D NAND die including multiple planes, the first command to target a first plane of the 3D NAND die;

issuing a second command to the 3D NAND die to target a second plane while the first plane is busy; and

tracking completion of both the first and second commands by polling status of the first plane and the second plane.

20. The article of manufacture of claim 19 , the method further comprising:

independently generating bias voltages for each of the planes targeted by one of the commands.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2023
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP.
Reel/Frame 063815/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2019
From: WAKCHAURE, YOGESH B.; MADRASWALA, ALIASGAR S.; PELSTER, DAVID J.; SEBASTIAN, DONIA; GITTENS, CURTIS; GUO, XIN; VEMULA, NEELESH; REGULAPATI, VARSHA; UPADHYAYULA, NAGA KIRANMAYEE
To: INTEL CORPORATION
Reel/Frame 049093/0786 →
Continuity (1)
Related Publication 20190227749A1 · Jul 25, 2019
Cited By (3)
US 12,237,045 US 12,334,136 US 12,531,110