×

Program verify adaptation for flash memory

  • US 10,705,900 B2
  • Filed: 04/11/2018
  • Issued: 07/07/2020
  • Est. Priority Date: 02/02/2018
  • Status: Active Grant
First Claim
Patent Images

1. A method for adapting program verify offsets for a memory of a solid state drive (SSD), the method comprising:

  • programming the memory by a controller of the SSD, wherein the controller is coupled to the memory, wherein the memory comprises one or more dies, wherein each of the one or more dies comprises blocks, wherein each of the blocks comprises wordlines, wherein each of the wordlines comprises memory cells, wherein the programming programs a plurality of memory cells within the one or more dies into N states, wherein each of the N states of the plurality of memory cells is associated with a program verify voltage;

    performing, by the controller, an adjustment iteration on the one or more dies, wherein performing the adjustment iteration includes incrementing or decrementing the program verify offsets in an iterative manner to distribute errors across pages stored in the memory, wherein performing the adjustment iteration improves bit error correction and the SSD'"'"'s reliability over not performing the adjustment iteration, and wherein performing the adjustment iteration comprises;

    accessing, by the controller, error counts for the respective N states of the plurality of memory cells within the one or more dies, wherein the error counts are for errors between the respective N states and adjacent lower states;

    applying, by the controller, a weighting to the error counts, wherein the weighting is based on a binary data coding for the N states;

    determining, by the controller, a state Smin of the N states having a minimum error count Emin from the error counts;

    determining, by the controller, a state Smax of the N states having a maximum error count Emax from the error counts;

    determining, by the controller, a difference between the Emax and the Emin satisfies an error count threshold; and

    adjusting using the controller, by a predefined value, a respective program verify offset of a lowest state from Smin and Smax, and of each state between Smin and Smax in the N states,wherein the predefined value is a voltage increment recognizable by a digital-to-analog converter circuit for performing reads on one or more memory cells within the one or more dies,wherein the adjusting is a decrement when Smin is less than Smax, andwherein the adjusting is an increment when Smin is greater than Smax;

    storing, by the controller, the adjusted program verify offsets into registers; and

    programming, by the controller, at least some of the wordlines using the adjusted program verify offsets.

View all claims
  • 7 Assignments
Timeline View
Assignment View
    ×
    ×