Nonvolatile memory system with program step manager and method for program step management
First Claim
1. A nonvolatile memory controller configured to perform program operations and read operations on memory cells of a NAND device, the nonvolatile memory controller including a program step circuit configured to initially program memory cells of the NAND device by loading an initial program step voltage into trim registers of the NAND device and configured to change the program step voltage used to program the memory cells of the NAND device by loading a different program step voltage into the trim registers of the NAND device each time that an error rate of the NAND device reaches an error threshold.
5 Assignments
0 Petitions
Accused Products
Abstract
A Solid State Drive (SSD) that includes a host connector receptacle for connecting to a host computer, a plurality of NAND devices and a nonvolatile memory controller. The nonvolatile memory controller is configured to perform program operations and read operations on memory cells of each of the NAND devices. The nonvolatile memory controller includes a program step circuit configured to initially program memory cells of each of the NAND devices using an initial program step voltage and is configured to change the program step voltage used to program the memory cells of each of the NAND devices during the lifetime of each of the NAND devices.
273 Citations
14 Claims
- 1. A nonvolatile memory controller configured to perform program operations and read operations on memory cells of a NAND device, the nonvolatile memory controller including a program step circuit configured to initially program memory cells of the NAND device by loading an initial program step voltage into trim registers of the NAND device and configured to change the program step voltage used to program the memory cells of the NAND device by loading a different program step voltage into the trim registers of the NAND device each time that an error rate of the NAND device reaches an error threshold.
-
9. A Solid State Drive (SSD) comprising:
-
a host connector receptacle for connecting to a host computer; a plurality of NAND devices; a nonvolatile memory controller coupled to the host connector receptacle and coupled to each of the plurality of NAND devices, the nonvolatile memory controller configured to perform program operations and read operations on memory cells of each of the NAND devices and wherein the nonvolatile memory controller is configured to load a program step voltage corresponding to a characteristic of a NAND device of the plurality of NAND devices that is to be programmed into a trim register of the NAND device to be programmed, such that the program step voltage is stored in the trim registers of the NAND device to be programmed prior to performing the programming of the NAND device to be programmed; and wherein the characteristic is an error rate and wherein the nonvolatile memory controller is configured to determine an error rate for each of the NAND devices, configured to determine whether each determined error rate has reached an error threshold, and each time that an error rate is determined to have reached an error threshold, a program step circuit of the nonvolatile memory controller configured to change the program step voltage to be used for programming the NAND device determined to have the error rate that has reached the error threshold to a different program step voltage.
-
-
10. A Solid State Drive (SSD) comprising:
-
a host connector receptacle for connecting to a host computer; a plurality of NAND devices; a nonvolatile memory controller coupled to the host connector receptacle and coupled to each of the plurality of NAND devices, the nonvolatile memory controller configured to store a table that indicates one or more index value and corresponding program step voltages, the one or more index value including an error rate and a page type, the nonvolatile memory controller operable to index the table with one or more index value corresponding to an error rate and a page type of the NAND device that is to be programmed to identify the program step voltage of the stored program step voltages and to load the identified program step voltage into a trim register of the NAND device to be programmed such that the identified program step voltage is stored in the trim registers of the NAND device to be programmed prior to performing the programming of the NAND device to be programmed.
-
-
11. A method for programming a memory cell of a NAND device comprising:
-
loading trim registers of a NAND device with an initial program step voltage; performing program operations of the NAND device using the initial program step voltage; performing reads of test cells of the NAND device during operation of the NAND device to determine an error rate of the NAND device; loading a different program step voltage into the trim registers of the NAND device when the determined error rate of the NAND device reaches an error threshold; performing program operations of the NAND device using the different program step voltage; and continuing the performing reads, the loading and the performing program operations, wherein the error threshold is set at a value so as to maintain a bit error rate (BER) of the NAND device below an error correction code (ECC) limit of the NAND device. - View Dependent Claims (12, 13, 14)
-
Specification