ADAPTIVE PROGRAMMING VOLTAGE FOR NON-VOLATILE MEMORY DEVICES
First Claim
1. A memory die comprising:
- a set of non-volatile storage cells arranged into a plurality of word lines, wherein a subset of the cells is configured to store a programming setting; and
an on-die controller configured to;
read the programming setting from the subset of the cells;
write data to the non-volatile storage cells, using the programming setting;
determine that the programming setting causes suboptimal programming of data to the non-volatile storage cells; and
in response to determining that the programming setting causes suboptimal programming of data to the non-volatile storage cells, store a revised programming setting in non-volatile storage cells of the subset.
1 Assignment
0 Petitions
Accused Products
Abstract
Apparatuses, systems, and methods are disclosed for adjusting a programming setting such as a programming voltage of a set of non-volatile storage cells, such as an SLC NAND array. The non-volatile storage cells may be arranged into a plurality of word lines. A subset of the non-volatile storage cells may be configured to store a programming setting. An on-die controller may be configured to read the programming setting from the setting subset, and write data to the non-volatile storage cells, using the programming setting. The on-die controller may further be configured to determine that the programming setting causes suboptimal programming of one or more of the non-volatile storage cells, and in response to the determination, store a revised programming setting on the setting subset.
11 Citations
25 Claims
-
1. A memory die comprising:
-
a set of non-volatile storage cells arranged into a plurality of word lines, wherein a subset of the cells is configured to store a programming setting; and an on-die controller configured to; read the programming setting from the subset of the cells; write data to the non-volatile storage cells, using the programming setting; determine that the programming setting causes suboptimal programming of data to the non-volatile storage cells; and in response to determining that the programming setting causes suboptimal programming of data to the non-volatile storage cells, store a revised programming setting in non-volatile storage cells of the subset. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus comprising:
-
a set of non-volatile storage cells arranged into word lines and connected to bit lines, the word lines comprising; a dummy word line configured to store a programming voltage flag; and a plurality of data word lines; an on-die controller comprising; a storage circuit configured to; use a first programming voltage associated with the programming voltage flag to store user data in non-volatile storage cells of the word lines; a determination circuit configured to determine that the first programming voltage causes over-programming of the non-volatile storage cells; a setting selection circuit configured to, in response to determination that the first programming voltage causes over-programming of the non-volatile storage cells, select a second programming voltage different from the first programming voltage; and an update circuit configured to store a revised programming voltage flag associated with the second programming voltage in the dummy word line by overwriting at least part of the programming voltage flag with the revised programming voltage flag. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
an SLC NAND array comprising a set of non-volatile storage cells; and an on-die controller that shares a die with the SLC NAND array, wherein the on-die controller is configured to; read a programming voltage setting from the SLC NAND array; and initiate a single pulse to write data on the SLC NAND array at the programming voltage setting. - View Dependent Claims (16, 17, 18)
-
-
19. A method comprising:
-
reading a programming setting from a setting segment of non-volatile storage cells; writing data on a data segment of non-volatile storage cells using the programming setting; and in response to a trigger, storing a revised programming setting on the setting segment. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. An apparatus comprising:
-
means for reading a programming setting on a spare column of a first word line of a plurality of word lines of a set of non-volatile storage cells; means for writing data to one or more of the plurality of word lines using the programming setting; means for determining that the programming setting causes a threshold voltage of one or more of the non-volatile storage cells to be excessive; and means for storing a revised programming setting on the spare column of the first word line in response to determining that the programming setting causes the threshold voltage to be excessive.
-
Specification