Patent ID: 9142302
Filing Date: 2015-09-22
Classification: G11C

Abstract:
1. A method for programming, comprising: programming an initial number of memory cells using a respective starting program voltage, each memory cell of the initial number of memory cells is arranged in a respective initial set of memory cells, each respective initial set of memory cells comprises an active area and is formed above a substrate in multiple physical levels of memory cells in a three-dimensional non-volatile memory, each active area comprises a pillar which extends vertically in the three-dimensional non-volatile memory; determining a count of program loops used in programming fastest-programming memory cells among the initial number of memory cells during the programming of the initial number of memory cells; and programming a remaining number of memory cells using a respective starting program voltage which is determined based on the count, each memory cell of the remaining number of memory cells is in a respective remaining set of memory cells among remaining sets of memory cells, the initial number of memory cells and the remaining number of memory cells are arranged along respective memory holes at a common word line in the three-dimensional non-volatile memory, wherein the initial number of memory cells and the remaining number of memory cells are at one physical level of the multiple physical levels and the programming of the remaining number of memory cells is next after the programming of the initial number of memory cells.