Non-volatile memory control
First Claim
Patent Images
1. A method of operating a memory system, comprising:
- initiating an operation for access of two or more memory arrays of the memory system;
determining a number of active memory arrays of the memory system during the operation;
introducing delay to the operation if the number of active memory arrays has reached an allowed limit; and
continuing with the operation when the number of active memory arrays falls below the allowed limit.
8 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for use in a memory system having a non-volatile memory and a controller for limiting the number of non-volatile memory arrays from a plurality of available arrays accessed at one time are useful in the control of concurrent access of memory arrays. One method includes implementing a pipelining sequence for transferring data to and from the non-volatile memory arrays and limiting the number of active arrays operating at one time. The controller is configured to wait for the at least one of the arrays to complete before initiating a transfer to and from a further array.
-
Citations
28 Claims
-
1. A method of operating a memory system, comprising:
-
initiating an operation for access of two or more memory arrays of the memory system; determining a number of active memory arrays of the memory system during the operation; introducing delay to the operation if the number of active memory arrays has reached an allowed limit; and continuing with the operation when the number of active memory arrays falls below the allowed limit. - View Dependent Claims (2, 4, 10)
-
-
3. A method of operating a memory system, comprising:
-
initiating an operation for access of two or more memory arrays of the memory system; determining a number of active memory arrays of the memory system during the operation; introducing delay to the operation if the number of active memory arrays has reached an allowed limit; and continuing with the operation when the number of active memory arrays falls below the allowed limit; wherein determining the number of active memory arrays comprises polling each of the memory arrays or checking independent ready/busy signals for each of the memory arrays.
-
-
5. A method of operating a memory system, comprising:
-
initiating an operation for access of two or more memory arrays of the memory system; determining a number of active memory arrays of the memory system during the operation; introducing delay to the operation if the number of active memory arrays has reached an allowed limit; and continuing with the operation when the number of active memory arrays falls below the allowed limit; wherein introducing delay to the operation comprises holding data transfer to a memory array during a programming operation while the number of active memory arrays is at the allowed limit. - View Dependent Claims (6)
-
-
7. A method of operating a memory system, comprising:
-
initiating an operation for access of two or more memory arrays of the memory system; determining a number of active memory arrays of the memory system during the operation; introducing delay to the operation if the number of active memory arrays has reached an allowed limit; continuing with the operation when the number of active memory arrays falls below the allowed limit; and adjusting the allowed limit in response to electrical parameters for the operation. - View Dependent Claims (8)
-
-
9. A method of operating a memory system, comprising:
-
initiating an operation for access of two or more memory arrays of the memory system; determining a number of active memory arrays of the memory system during the operation; introducing delay to the operation if the number of active memory arrays has reached an allowed limit; continuing with the operation when the number of active memory arrays falls below the allowed limit; and adjusting the allowed limit in response to electrical parameters for each operation of the memory system accessing two or more of the memory arrays of the memory system.
-
-
11. A method of operating a memory system, comprising:
-
initiating an operation for access of two or more memory arrays of the memory system; determining a number of active memory arrays of the memory system during the operation; introducing delay to the operation if the number of active memory arrays has reached an allowed limit; and continuing with the operation when the number of active memory arrays falls below the allowed limit; wherein initiating the operation for access of two or more memory arrays of the memory system comprises initiating an operation to sequentially and cyclically access the two or more memory arrays, and wherein an individual access operation of one memory array is permitted to begin while an individual access operation of a different memory array is still active.
-
-
12. A method of operating a memory system, comprising:
-
initiating an operation for access of two or more memory arrays of the memory system; determining a number of active memory arrays of the memory system during the operation; introducing delay to the operation if the number of active memory arrays has reached an allowed limit; and continuing with the operation when the number of active memory arrays falls below the allowed limit; wherein initiating the operation for access of two or more memory arrays of the memory system comprises initiating an operation to sequentially and cyclically access the two or more memory arrays, and wherein an individual access operation of one memory array is permitted to begin while an individual access operation of a different memory array is still active; and wherein initiating the operation to sequentially and cyclically access the two or more memory arrays comprises; beginning an individual access operation of a physical sector of a first memory array; while the individual access operation of the first physical sector is still active, beginning an individual access operation of a physical sector of a second memory array; and while the individual access operations of the first and second physical sectors are still active, beginning an individual access operation of a physical sector of a third memory array. - View Dependent Claims (13)
-
-
14. A method of operating a memory system, comprising:
-
initiating an operation for access of two or more memory arrays of the memory system; determining a number of active memory arrays of the memory system during the operation; introducing delay to the operation if the number of active memory arrays has reached an allowed limit; and continuing with the operation when the number of active memory arrays falls below the allowed limit; wherein initiating the operation for access of two or more memory arrays of the memory system comprises initiating an operation to sequentially and cyclically access the two or more memory arrays, and wherein an individual access operation of one memory array is permitted to begin while an individual access operation of a different memory array is still active; wherein the two or more memory arrays are partitioned into N virtual blocks, each virtual block comprising a physical block of memory storage cells in each of the two or more memory arrays, and each physical block comprising a plurality of physical sectors of memory storage cells; and wherein initiating an operation to sequentially and cyclically access the two or more memory arrays comprises sequentially accessing a first physical sector in each of the memory arrays of a virtual block and, following accessing the first physical sector in a last memory array of the virtual block, accessing a second physical sector in a first memory array of the virtual block.
-
-
15. A memory system, comprising:
-
a non-volatile memory comprising a plurality of memory arrays, each memory array comprising a plurality of memory storage cells; a controller; and a physical interface coupled between the non-volatile memory and the controller; wherein the controller is configured to perform a method, the method comprising; initiating an operation for access of two or more memory arrays of the non-volatile memory; determining a number of active memory arrays of the non-volatile memory during the operation; pausing the operation if the number of active memory arrays has reached an allowed limit; and continuing with the operation when the number of active memory arrays falls below the allowed limit. - View Dependent Claims (17, 18, 23, 24, 25, 26)
-
-
16. A memory system, comprising:
-
a non-volatile memory comprising a plurality of memory arrays, each memory array comprising a plurality of memory storage cells; a controller; and a physical interface coupled between the non-volatile memory and the controller; wherein the controller is configured to perform a method, the method comprising; initiating an operation for access of two or more memory arrays of the non-volatile memory; determining a number of active memory arrays of the non-volatile memory during the operation; pausing the operation if the number of active memory arrays has reached an allowed limit; and continuing with the operation when the number of active memory arrays falls below the allowed limit; wherein the controller is further configured to poll each of the memory arrays to determine the number of active memory arrays.
-
-
19. A memory system, comprising:
-
a non-volatile memory comprising a plurality of memory arrays, each memory array comprising a plurality of memory storage cells; a controller; and a physical interface coupled between the non-volatile memory and the controller; wherein the controller is configured to perform a method, the method comprising; initiating an operation for access of two or more memory arrays of the non-volatile memory; determining a number of active memory arrays of the non-volatile memory during the operation; pausing the operation if the number of active memory arrays has reached an allowed limit; and continuing with the operation when the number of active memory arrays falls below the allowed limit; wherein pausing the operation comprises discontinuing data transfer to or from the non-volatile memory. - View Dependent Claims (20)
-
-
21. A memory system, comprising:
-
a non-volatile memory comprising a plurality of memory arrays, each memory array comprising a plurality of memory storage cells; a controller; and a physical interface coupled between the non-volatile memory and the controller; wherein the controller is configured to perform a method, the method comprising; initiating an operation for access of two or more memory arrays of the non-volatile memory; determining a number of active memory arrays of the non-volatile memory during the operation; pausing the operation if the number of active memory arrays has reached an allowed limit; and continuing with the operation when the number of active memory arrays falls below the allowed limit; wherein the allowed limit is programmable. - View Dependent Claims (22)
-
-
27. A memory system, comprising:
-
a non-volatile memory comprising a plurality of memory arrays, each memory array comprising a plurality of memory storage cells; a controller; and a physical interface coupled between the non-volatile memory and the controller; wherein the controller is configured to perform a method, the method comprising; initiating an operation for access of two or more memory arrays of the non-volatile memory; determining a number of active memory arrays of the non-volatile memory during the operation; pausing the operation if the number of active memory arrays has reached an allowed limit; and continuing with the operation when the number of active memory arrays falls below the allowed limit; wherein the controller is further configured to initiate the operation to sequentially and cyclically access the two or more memory arrays, wherein the operation to access the two or more memory arrays comprises a series of individual access operations of the two or more memory arrays, and wherein an individual access operation of one memory array is permitted to begin while an individual access operation of a different memory array is still active. - View Dependent Claims (28)
-
Specification