Data latch programming algorithm for multi-bit-per-cell memory devices

US2023402113A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2023402113-A1
Application numberUS-202217838717-A
CountryUS
Kind codeA1
Filing dateJun 13, 2022
Priority dateJun 13, 2022
Publication dateDec 14, 2023
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A multi-stage method for programming an n-bit memory cell array using a fixed number of data latches is disclosed. The fixed number of data latches may be a reduced number of data latches in sense amplifier and data latch (SADL) peripheral circuitry than is required by existing programming techniques. As such, the die area taken up by the SADL circuitry can be reduced, which in turn, reduces overall chip area. The multi-stage programming method may include utilizing a first data latch to receive and store program page data and utilizing a second data latch to store bit information indicating which cells are to be targeted for the multi-stage programming. At each program stage, a respective program loop may be performed with respect to each threshold voltage distribution generated during a prior program stage to create two new threshold voltage distributions from the prior distribution.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method of multi-stage programming of a multi-bit-per-cell memory array, the method comprising: receiving first program data corresponding to a first page level into a first data latch; performing an initial program stage of the multi-stage programming to generate a plurality of threshold voltage distributions based on the first program data corresponding to the first page level; and performing one or more additional program stages, wherein performing each additional program stage comprises performing a program loop for each threshold voltage distribution generated during a prior program stage, the performing the program loop comprising splitting the threshold voltage distribution generated during the prior program stage into two new threshold voltage distributions. 2 . The method of claim 1 , wherein performing a particular program loop of a current additional program stage for an addressed prior threshold voltage distribution generated during the prior program stage comprises: determining, based on data stored in a second data latch, a set of memory cells of the multi-bit-per-cell memory array that is in the addressed prior threshold voltage distribution; and programming the set of memory cells to shift their threshold voltages to states corresponding to program data currently stored in the first data latch. 3 . The method of claim 2 , wherein programming the set of memory cells causes the addressed prior threshold voltage distribution to be split into two new threshold voltage distributions associated with the current additional program stage. 4 . The method of claim 3 , wherein each of the two new threshold voltage distributions generated from the addressed prior threshold voltage distribution is shifted towards a higher threshold voltage than the particular prior threshold voltage distribution. 5 . The method of claim 2 , wherein determining, based on the data stored in the second data latch, the set of memory cells that is in the addressed prior threshold voltage distribution comprises determining that bit information stored in the second data latch for each memory cell in the set of memory cells comprises a first bit value indicating that the cell has a threshold voltage that falls within the addressed prior threshold voltage distribution. 6 . The method of claim 5 , wherein determining the set of memory cells further comprises excluding from the set of memory cells each memory cell associated with bit information in the second data latch comprising a second bit value different from the first bit value. 7 . The method of claim 5 , wherein performing the current additional program stage further comprises updating the data stored in the second data latch based on the memory cell programming performed during the particular program loop. 8 . The method of claim 5 , wherein updating the data stored in the second data latch comprises updating the bit information corresponding to the set of memory cells to flip each first bit value to a second bit value indicating at least one of: i) that a corresponding cell in the set of memory cells was successfully programmed or ii) that the corresponding cell is not within a next addressed prior threshold voltage distribution associated a next program loop of the current additional program stage. 9 . The method of claim 2 , wherein the data stored in the second data latch is internal data load (IDL) information. 10 . The method of claim 1 , wherein performing each additional program stage comprises generating a number of new threshold voltage distributions that is twice a number of threshold voltage distributions generated during the prior program stage. 11 . A controller for a memory device, the controller configured to execute instructions to perform a multi-stage programming process for a multi-bit-per-cell memory array of the memory device, the multi-stage programming process comprising: performing a current program stage based at least in part on program data stored in a first data latch, wherein performing the current program stage comprises programming a set of memory cells identified based on data stored in a second data latch to generate a plurality of new threshold voltage distributions from each threshold voltage distribution generated during a prior program stage; and performing one or more additional program stages based at least in part on a number of bits stored in each memory cell multi-bit-per-cell memory array. 12 . The controller of claim 11 , wherein the controller is configured to perform a total number of program stages equal to the number of bits stored in each memory cell. 13 . The controller of claim 12 , wherein the controller is configured to perform the multi-stage programming process using only the first data latch and the second data latch among a set of data latches contained in sense amplifier data latch (SADL) peripheral circuitry. 14 . The controller of claim 11 , wherein the controller is configured to utilize a third data latch to reduce a total number of program stages needed to program the multi-bit-per-cell memory array to less than the number of bits stored in each memory cell. 15 . The controller of claim 14 , wherein use of the third data latch reduces the total number of program stages by half. 16 . The controller of claim 14 , wherein the first data latch stores first program data corresponding to a first page level and the third data latch stores second program data corresponding to a second page level immediately above the first page level in page level hierarchy. 17 . The controller of claim 14 , wherein the second data latch stores first internal data load (IDL) bit information and the third data latch stores second IDL bit information. 18 . The controller of claim 14 , wherein the third data latch enables one of: i) generating four new threshold voltage distributions from each threshold voltage distribution generated during the prior program stage or ii) concurrently generating a respective two new threshold voltage distributions from each of two threshold voltage distributions generated during the prior program stage. 19 . A circuit, comprising: a first data latch configured to receive program data at a corresponding page level; and a second data latch configured to store bit information indicative of which memory cells of a multi-bit-per-cell memory array to program as part of a multi-stage programming process, wherein the multi-stage programming process comprises multiple program stages, and wherein, during a particular program stage, a series of program loops are performed, each program loop comprising identifying a set of memory cells in the multi-bit-per-cell memory array that are within a selected threshold voltage distribution generated during a prior program stage and programming the set of memory cells based on the program data stored in the first data latch to divide the selected threshold voltage distribution into a plurality of new threshold voltage distributions. 20 . The circuit of claim 19 , wherein the multi-stage programming process is performed using only the first data latch and the second data latch among a plurality of data latches contained in the circuit.

Assignees

Inventors

Classifications

  • Circuits or methods to verify correct programming of nonvolatile memory cells · CPC title

  • Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells · CPC title

  • External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators · CPC title

  • Sensing or reading circuits; Data output circuits · CPC title

  • using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2023402113A1 cover?
A multi-stage method for programming an n-bit memory cell array using a fixed number of data latches is disclosed. The fixed number of data latches may be a reduced number of data latches in sense amplifier and data latch (SADL) peripheral circuitry than is required by existing programming techniques. As such, the die area taken up by the SADL circuitry can be reduced, which in turn, reduces ov…
Who is the assignee on this patent?
Sandisk Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G11C16/3459. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Dec 14 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).