Pipelined parallel programming operation in a non-volatile memory system
First Claim
1. A memory system circuit, comprising:
- a controller comprising a first and a second data buffer connectable to receive host data from external to the memory system; and
a memory comprising a plurality of independently controllable non-volatile data storage sections connectable to the controller to receive data, wherein, concurrently with the programming of data into a first of the data storage sections, data is transferable from either of said data buffers to a second of the data storage sections, and wherein, concurrently with the transferring of data from one of said data buffers to the second of the data storage sections, host data from external to the memory system can be received into the other of said data buffers.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention allows for an increase in programming parallelism in a non-volatile memory system without incurring additional data transfer latency. Data is transferred from a controller to a first memory chip and a programming operation is caused to begin. While that first memory chip is busy performing that program operation, data is transferred from the controller to a second memory chip and a programming operation is caused to begin in that chip. Data transfer can begin to the first memory chip again once it has completed its programming operation even though the second chip is still busy performing its program operation. In this manner high parallelism of programming operation is achieved without incurring the latency cost of performing the additional data transfers. Two sets of embodiments are presented, one that preserves the host data in a buffer until successful programming of that data is confirmed and one that does not require that success be achieved and that does not preserve the data thus achieving a higher rate of data programming throughput.
199 Citations
19 Claims
-
1. A memory system circuit, comprising:
-
a controller comprising a first and a second data buffer connectable to receive host data from external to the memory system; and
a memory comprising a plurality of independently controllable non-volatile data storage sections connectable to the controller to receive data, wherein, concurrently with the programming of data into a first of the data storage sections, data is transferable from either of said data buffers to a second of the data storage sections, and wherein, concurrently with the transferring of data from one of said data buffers to the second of the data storage sections, host data from external to the memory system can be received into the other of said data buffers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of operating a non-volatile memory system comprising a controller including a plurality of data buffers and a memory including a plurality of independently controllable non-volatile data storage sections, the method comprising:
-
transfening a first set of data from an external source to a first of the data buffers;
transferring said first set of data from the first data buffer to a first of the data storage sections;
programming the first set of data into the first storage section;
transferring a second set of data from the external source to a second of the data buffers concurrently with said transferring said first set of data from the first data buffer to a first of the data storage sections; and
transferring said second set of data from the second data buffer to a second of the data storage sections concurrently with said programming the first set of data into the first storage section. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification