Device, system, and method for reducing program/read disturb in flash arrays
First Claim
1. A method for programming a nonvolatile memory block that comprises multiple non-volatile memory rows, the method comprising:
- programming information, by a memory controller, to pages in the nonvolatile memory block by performing a sequence of programming phases in order of descending bit significances, wherein all pages stored in the multiple non-volatile memory rows of the same bit significance are programmed prior to pages stored in the multiple non-volatile memory rows having a descending bit significance.
9 Assignments
0 Petitions
Accused Products
Abstract
A method, device and computer readable medium for programming a nonvolatile memory block. The method may include programming information, by a memory controller, to the nonvolatile memory block by performing a sequence of programming phases of descending bit significances. The device may include a nonvolatile memory block; and a memory controller that may be configured to determine a bit significance level of the nonvolatile memory block; program the nonvolatile memory block by performing at least one programming phase; and program the nonvolatile memory block to an erase value that may be higher than the pre-erase value; wherein the erase value and the pre-erase value may be selected based on the bit significance level of the nonvolatile memory block. The method may include packing three single level cell (SLC) nonvolatile memory blocks to one three-bit per cell nonvolatile memory block in order of the three SLC bit significances.
-
Citations
43 Claims
-
1. A method for programming a nonvolatile memory block that comprises multiple non-volatile memory rows, the method comprising:
- programming information, by a memory controller, to pages in the nonvolatile memory block by performing a sequence of programming phases in order of descending bit significances, wherein all pages stored in the multiple non-volatile memory rows of the same bit significance are programmed prior to pages stored in the multiple non-volatile memory rows having a descending bit significance.
- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
20. A method for erasing a nonvolatile memory block, the method comprising:
- determining a bit significance level of one or more memory pages within the nonvolatile memory block; and
programming the nonvolatile memory block by performing at least one programming phase, wherein each programming phase comprises programming the nonvolatile memory block to a pre-erase value and programming the nonvolatile memory block to an erase value that is higher than the pre-erase value, wherein the erase value and the pre-erase value are selected based on the bit significance level of the one or more memory pages within the nonvolatile memory block.
- determining a bit significance level of one or more memory pages within the nonvolatile memory block; and
-
21. A device having programming capabilities, the device comprising:
- a nonvolatile memory block that comprises multiple non-volatile memory rows; and
a memory controller configured to program information to pages in the nonvolatile memory block by performing a sequence of programming phases of descending bit significances, wherein all pages stored in the multiple non-volatile memory rows of the same bit significance are programmed prior to pages stored in the multiple non-volatile memory rows having a descending bit significance. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
- a nonvolatile memory block that comprises multiple non-volatile memory rows; and
-
41. A device, comprising:
- a nonvolatile memory block; and
a memory controller configured to;
determine a bit significance level of one or more memory pages in the nonvolatile memory block;
program the one or more memory pages within the nonvolatile memory block by performing at least one programming phase, wherein the memory controller is configured to program the one or more memory pages within the nonvolatile memory block to a pre-erase value and then program the one or more memory block to an erase value that is higher than the pre-erase value, during each programming phase, wherein the erase value and the pre-erase value are selected based on the bit significance level of the one or more memory pages within the nonvolatile memory block.
- a nonvolatile memory block; and
-
42. A non-transitory computer readable medium that stores instructions that once executed by a computer causes the computer to execute the stages of:
- determining a bit significance level of one or more memory pages within a nonvolatile memory block;
programming the one or more memory pages within the nonvolatile memory block by performing at least one programming phase, wherein each programming phase comprises programming the one or more memory pages within the nonvolatile memory block to an erase value that is higher than a pre-erase value, wherein the erase value and the pre-erase value are selected based on the bit significance level of the one or more memory pages;
wherein a pre-erase value of a certain bit significance level is above the highest probable programmed value of the certain bit significant level.
- determining a bit significance level of one or more memory pages within a nonvolatile memory block;
-
43. A non-transitory computer readable medium that stores instructions that once executed by a computer causes the computer to execute the stages of programming information, by a memory controller, to one or more memory pages within a nonvolatile memory block that comprises multiple non-volatile memory rows, by performing a sequence of programming phases in order of descending bit significances, wherein all pages stored in the multiple non-volatile memory rows of the same bit significance are programmed prior to pages stored in the multiple non-volatile memory rows having a descending bit significance.
Specification