Digital signaling processing for three dimensional flash memory arrays
First Claim
1. A method for multilevel programming flash memory cells of a three dimensional array of flash memory cells, the method comprising:
- receiving or determining a multiple phase programming scheme that is responsive to coupling between flash memory cells of the three dimensional array; and
programming data to multiple flash memory cells of the three dimensional array in response to the multiple phase programming scheme;
wherein the multiple phase programming scheme determine a manner in which multiple programming levels are applied;
wherein at least two programming levels of the multiple programming levels correspond to bits of different significance;
wherein the three dimensional array comprises multiple planes of flash memory cells, each plane comprise multiple rows and columns of flash memory cells; and
wherein the multiple phase programming scheme determines an order of programming pages, wherein the order of programming pages is responsive to coupling between flash memory cells that belong to different planes.
9 Assignments
0 Petitions
Accused Products
Abstract
A method for multilevel programming flash memory cells of a three dimensional array of flash memory cells, the method may include receiving or determining a multiple phase programming scheme that is responsive to coupling between flash memory cells of the three dimensional array; and programming data to multiple flash memory cells of the three dimensional array in response to the multiple phase programming scheme. The multiple phase programming scheme determine a manner in which multiple programming levels are applied. At least two programming levels of the multiple programming levels correspond to bits of different significance.
325 Citations
32 Claims
-
1. A method for multilevel programming flash memory cells of a three dimensional array of flash memory cells, the method comprising:
-
receiving or determining a multiple phase programming scheme that is responsive to coupling between flash memory cells of the three dimensional array; and programming data to multiple flash memory cells of the three dimensional array in response to the multiple phase programming scheme;
wherein the multiple phase programming scheme determine a manner in which multiple programming levels are applied;wherein at least two programming levels of the multiple programming levels correspond to bits of different significance; wherein the three dimensional array comprises multiple planes of flash memory cells, each plane comprise multiple rows and columns of flash memory cells; and wherein the multiple phase programming scheme determines an order of programming pages, wherein the order of programming pages is responsive to coupling between flash memory cells that belong to different planes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 22)
-
-
11. A method for multilevel programming flash memory cells of a three dimensional array of flash memory cells, the method comprising:
- receiving or determining a multiple phase programming scheme that is responsive to coupling between flash memory cells of the three dimensional array; and
programming data to multiple flash memory cells of the three dimensional array in response to the multiple phase programming scheme;
wherein the multiple phase programming scheme determine a manner in which multiple programming levels are applied;
wherein at least two programming levels of the multiple programming levels correspond to bits of different significance;wherein the multiple phase programming scheme defines (a) an edge programming rule that is associated with edge flash memory cells and (b) a non-edge programming rule that differs from the edge programming rule and is associated with non-edge flash memory cells. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
- receiving or determining a multiple phase programming scheme that is responsive to coupling between flash memory cells of the three dimensional array; and
-
19. A non-transitory computer readable medium that stores instructions that once executed by the computer cause the computer to execute the stages of:
-
receiving or determining a multiple phase programming scheme that is responsive to coupling between flash memory cells of a three dimensional array; and programming data to multiple flash memory cells of the three dimensional array in response to the multiple phase programming scheme; wherein the multiple phase programming scheme determine a manner in which multiple programming levels are applied; wherein at least two programming levels of the multiple programming levels correspond to bits of different significance; and wherein at least one of the following is true; (i) the three dimensional array comprises multiple planes of flash memory cells, each plane comprise multiple rows and columns of flash memory cells; and
the multiple phase programming scheme determines an order of programming pages, wherein the order of programming pages is responsive to coupling between flash memory cells that belong to different planes;(ii) the multiple phase programming scheme defines (a) an edge programming rule that is associated with edge flash memory cells and (b) a non-edge programming rule that differs from the edge programming rule and is associated with non-edge flash memory cells; (iii) the three dimensional array comprises multiple planes of flash memory cells that comprise multiple pages, wherein the multiple pages are programmed one group of pages after the other;
wherein each group of pages comprises pages located along a same virtual line;
wherein each virtual line is orthogonal to a plane;(iv) the three dimensional array comprises multiple planes of flash memory cells that comprise multiple pages, wherein the multiple pages are programmed one group of pages after the other;
wherein each group of pages comprises pages located along a same virtual line;
wherein each virtual line is neither parallel or orthogonal to a plane; and(v) the multiple phase programming scheme determines, (a) for a first programming level, a diagonal programming order of pages of each plane of the three dimensional array, and (b) for a second programming level, a column based programming. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
20. A memory controller, comprising a memory module for storing a multiple phase programming scheme that is responsive to coupling between flash memory cells of the three dimensional array;
- and a write circuit for programming data to multiple flash memory cells of the three dimensional array in response to the multiple phase programming scheme;
wherein the multiple phase programming scheme determine a manner in which multiple programming levels are applied;
wherein at least two programming levels of the multiple programming levels correspond to bits of different significance;wherein at least one of the following is true; (i) the three dimensional array comprises multiple planes of flash memory cells, each plane comprise multiple rows and columns of flash memory cells; and
the multiple phase programming scheme determines an order of programming pages, wherein the order of programming pages is responsive to coupling between flash memory cells that belong to different planes;(ii) the multiple phase programming scheme defines (a) an edge programming rule that is associated with edge flash memory cells and (b) a non-edge programming rule that differs from the edge programming rule and is associated with non-edge flash memory cells; (iii) the three dimensional array comprises multiple planes of flash memory cells that comprise multiple pages, wherein the multiple pages are programmed one group of pages after the other;
wherein each group of pages comprises pages located along a same virtual line;
wherein each virtual line is orthogonal to a plane;(iv) the three dimensional array comprises multiple planes of flash memory cells that comprise multiple pages, wherein the multiple pages are programmed one group of pages after the other;
wherein each group of pages comprises pages located along a same virtual line;
wherein each virtual line is neither parallel or orthogonal to a plane; and(v) the multiple phase programming scheme determines, (a) for a first programming level, a diagonal programming order of pages of each plane of the three dimensional array, and (b) for a second programming level, a column based programming. - View Dependent Claims (28, 29, 30, 31, 32)
- and a write circuit for programming data to multiple flash memory cells of the three dimensional array in response to the multiple phase programming scheme;
-
21. A method for multilevel programming flash memory cells of a three dimensional array of flash memory cells, the method comprising:
- receiving or determining a multiple phase programming scheme that is responsive to coupling between flash memory cells of the three dimensional array; and
programming data to multiple flash memory cells of the three dimensional array in response to the multiple phase programming scheme;
wherein the multiple phase programming scheme determine a manner in which multiple programming levels are applied;
wherein at least two programming levels of the multiple programming levels correspond to bits of different significance;
wherein the three dimensional array comprises multiple planes of flash memory cells, each plane comprise multiple rows and columns of flash memory cells; andwherein one of the following is true; (i) the multiple phase programming scheme determines a diagonal programming order of pages of each plane of the three dimensional array; and (ii) the multiple phase programming scheme determines, (a) for a first programming level, a diagonal programming order of pages of each plane of the three dimensional array, and (b) for a second programming level, a column based programming.
- receiving or determining a multiple phase programming scheme that is responsive to coupling between flash memory cells of the three dimensional array; and
Specification