US 12,094,546 B2
Non-volatile memory with zone based program speed adjustment
Yi Song, Santa Clara, CA (US); Jiahui Yuan, Fremont, CA (US); and Yanjie Wang, Santa Clara, CA (US)
Assigned to SanDisk Technologies LLC, Austin, TX (US)
Filed by SANDISK TECHNOLOGIES LLC, Addison, TX (US)
Filed on Jan. 31, 2022, as Appl. No. 17/589,789.
Prior Publication US 2023/0245706 A1, Aug. 3, 2023
Int. Cl. G11C 16/04 (2006.01); G11C 16/10 (2006.01); G11C 16/24 (2006.01); G11C 16/26 (2006.01); G11C 16/30 (2006.01); G11C 16/34 (2006.01)
CPC G11C 16/3459 (2013.01) [G11C 16/102 (2013.01); G11C 16/24 (2013.01); G11C 16/26 (2013.01); G11C 16/30 (2013.01); G11C 16/3404 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A non-volatile storage apparatus, comprising:
a plurality of non-volatile memory cells;
a word line, each of a first set of the non-volatile memory cells are connected to the word line; and
a control circuit connected to the non-volatile memory cells and the word line, the control circuit is configured to:
start programming for the first set of the non-volatile memory cells until a minimum number of the first set of the non-volatile memory cells reach a first threshold voltage, including sensing the first set of the non-volatile memory cells to determine whether the first set of the non-volatile memory cells have threshold voltages at least as high as the first threshold voltage and determining whether the minimum number of the first set of non-volatile memory cells reach a first threshold voltage,
in response to determining that the minimum number of the first set of the non-volatile memory cells have reached the first threshold voltage, categorize the first set of the non-volatile memory cells into three or more groups based on threshold voltage and adjust speed of programming differently for each group of the groups such that the determining that the minimum number of the first set of the non-volatile memory cells have reached the first threshold voltage and the adjusting speed is performed after starting programming for each group and prior to completing programming for each group, and
after adjusting speed of programming, complete programming for the first set of non-volatile memory cells by concurrently programming each group of the three or more groups at different programming speeds;
the categorizing comprises applying a single reference voltage to the word line and sensing at least two times while applying the single reference voltage to the word line in order to determine which of the first set of the non-volatile memory cells have threshold voltages below a first value, which of the first set of the non-volatile memory cells have threshold voltages above the first value and below a second value, and which of the first set of non-volatile memory cells have threshold voltages above the second value.