Interleaved memory program and verify method, device and system
First Claim
Patent Images
1. A memory device, comprising:
- a memory array including a first memory bank and a second memory bank of memory cells;
a controller configured to program a first and second data into the memory array by concurrently programming the first data into one of the first and second memory banks and verifying the second data in the other one of the first and second memory banks, wherein the first and second data are interleaved;
an I/O buffer configured to receive the first and second data for programming into the respective first and second memory banks; and
a shared data cache configured to cache the first data from the I/O buffer until the first memory bank is readied to program the first data therein and further configured to subsequently cache the second data from the I/O buffer until the second memory bank is readied to program the second data therein.
2 Assignments
0 Petitions
Accused Products
Abstract
An interleaved memory programming and verification method, device and system includes a memory array including first and second memory banks of memory cells. The memory device further includes a controller configured to concurrently program a first data into the first memory bank and a second data into the second memory bank using iterative programming and verification operations in each of the first and second memory banks with the programming and verification operations in the second memory bank being offset from the programming and verification operations in the first memory bank.
107 Citations
14 Claims
-
1. A memory device, comprising:
-
a memory array including a first memory bank and a second memory bank of memory cells; a controller configured to program a first and second data into the memory array by concurrently programming the first data into one of the first and second memory banks and verifying the second data in the other one of the first and second memory banks, wherein the first and second data are interleaved; an I/O buffer configured to receive the first and second data for programming into the respective first and second memory banks; and a shared data cache configured to cache the first data from the I/O buffer until the first memory bank is readied to program the first data therein and further configured to subsequently cache the second data from the I/O buffer until the second memory bank is readied to program the second data therein.
-
-
2. A memory device, comprising:
-
a memory array including a first memory bank and a second memory bank of memory cells; a controller configured to program a first and second data into the memory array by concurrently programming the first data into one of the first and second memory banks and verifying the second data in the other one of the first and second memory banks, wherein the first and second data are interleaved; an I/O buffer configured to receive the first and second data for programming into the respective first and second memory banks; a first data cache configured to cache the first data from the I/O buffer until the first memory bank is readied to program the first data therein; and a second data cache configured to cache the second data from the I/O buffer until the second memory bank is readied to program the second data therein.
-
-
3. A memory device, comprising:
-
a memory array including a first memory bank and a second memory bank of memory cells; a controller configured to program a first and second data into the memory array by concurrently programming the first data into one of the first and second memory banks and verifying the second data in the other one of the first and second memory banks, wherein the first and second data are interleaved; and first and second sense amplifiers respectively operatively coupled with the first and second memory banks, the first and second sense amplifiers each including a latch to respectively store the first and second data during iterative programming and verification operations in the first and second memory banks. - View Dependent Claims (4, 5, 6, 7, 8)
-
-
9. A non-volatile memory device, comprising:
-
first and second memory banks; a controller configured to concurrently program a first data into the first memory bank and a second data into the second memory bank using iterative programming and verification operations in each of the first and second memory banks with the programming and verification operations in the second memory bank being offset from the programming and verification operations in the first memory bank, wherein the first and second data are interleaved; and a shared data cache configured to cache the first data received from an external interface of the non-volatile memory device until commencement of the programming and verification operations of the first memory bank and further configured to cache the second data received from an external interface of the non-volatile memory device until commencement of the programming and verification operations of the second memory bank.
-
-
10. A non-volatile memory device, comprising:
-
first and second memory banks; a controller configured to concurrently program a first data into the first memory bank and a second data into the second memory bank using iterative programming and verification operations in each of the first and second memory banks with the programming and verification operations in the second memory bank being offset from the programming and verification operations in the first memory bank, wherein the first and second data are interleaved; and a first data cache configured to cache the first data received from an external interface of the non-volatile memory device until commencement of the programming and verification operations of the first memory bank and a second data cache configured to cache the second data received from an external interface of the non-volatile memory device until commencement of the programming and verification operations of the second memory bank.
-
-
11. A method of programming a non-volatile memory array, comprising:
-
iteratively programming and verifying a first data in a first memory bank of the non-volatile memory array; caching the first and second data in a shared cache configured to cache the first data until commencement of the iteratively programming and verifying of the first data and further configured to cache the second data until commencement of concurrently iteratively programming and verifying of the second data; and concurrently iteratively programming and verifying a second data in a second memory bank of the non-volatile memory array offset from the iteratively programming and verifying in the first memory bank, wherein the first and second data are interleaved.
-
-
12. A method of programming a non-volatile memory array, comprising:
-
iteratively programming and verifying a first data in a first memory bank of the non-volatile memory array; concurrently iteratively programming and verifying a second data in a second memory bank of the non-volatile memory array offset from the iteratively programming and verifying in the first memory bank, wherein the first and second data are interleaved; caching in a first data cache configured to cache the first data until commencement of the iteratively programming and verifying of the first data; and caching in a second data cache configured to cache the second data until commencement of the concurrently iteratively programming and verifying of the second data.
-
-
13. A method of writing data to a memory array, comprising:
-
storing a first data in first sense amplifiers of a first memory bank of the memory array; storing a second data in second sense amplifiers of a second memory bank of the memory array; concurrently alternating programming and verifying the first data in the first memory bank and the second data in the second memory bank, wherein the first and second data are interleaved; and caching the first data in a shared cache configured to cache the first data until commencement of the concurrently alternating programming and verifying the first data in the first memory bank and caching the second data until commencement of the concurrently alternating programming and verifying the second data in the second memory bank.
-
-
14. A method of writing data to a memory array, comprising:
-
storing a first data in first sense amplifiers of a first memory bank of the memory array; storing a second data in second sense amplifiers of a second memory bank of the memory array; concurrently alternating programming and verifying the first data in the first memory bank and the second data in the second memory bank, wherein the first and second data are interleaved; caching in a first data cache configured to cache the first data until commencement of the concurrently alternating programming and verifying of the first data in the first memory bank; and caching in a second data cache configured to cache the second data until commencement of the concurrently alternating programming and verifying of the second data in the second memory bank.
-
Specification