1.一种装置,包括:
多个存储器单元(704-714,724-734,744-754,764-774,1900),所述多个存储器单元布置在块(blk0)的多个子块(790-793)中的nand串(700n,710n,720n,730n)中,所述nand串包括多个同心层,所述同心层包括阻挡氧化物层(663,663a,663b,663c),并且所述阻挡氧化物层的厚度(th)在所述多个子块中的不同子块中是不同的;和
控制电路(110,122),所述控制电路被配置为:
在对所述块的一个子块的存储器单元进行编程期间,当所述一个子块的所述存储器单元的子组的阈值电压超过验证电压时,确定施加到所述一个子块的所述存储器单元的第一编程电压;以及
基于所述第一编程电压和另一个子块的位置来确定用于对所述块的所述另一个子块的存储器单元进行编程的初始编程电压(vpgm_init)。
2.根据权利要求1所述的装置,其中:
所述另一个子块位于所述一个子块与所述块的边缘子块(1410,1416)之间;并且
所述控制电路被配置为:
在对所述边缘子块的存储器单元进行编程期间,当所述边缘子块的所述存储器单元的子组的阈值电压超过所述验证电压时,确定施加到所述边缘子块的所述存储器单元的第二编程电压;以及
通过在所述第一编程电压和所述第二编程电压之间进行插值来确定所述初始编程电压。
3.根据权利要求2所述的装置,其中:
包括所述另一个子块的多个子块位于所述一个子块与所述边缘子块之间;并且
所述第一编程电压和所述第二编程电压之间的所述插值基于所述多个子块中的所述另一个子块的位置。
4.根据权利要求1至3中任一项所述的装置,其中:
所述另一个子块位于所述一个子块与所述块的边缘子块(1410,1416)之间;并且
所述控制电路被配置为:
将识别所述第一编程电压的数据存储在易失性存储位置(119);
在对所述边缘子块的存储器单元进行编程期间,当所述边缘子块的所述存储器单元的子组的阈值电压超过所述验证电压时,确定施加到所述边缘子块的所述存储器单元的第二编程电压;
将识别所述第二编程电压的数据存储在所述易失性存储位置;以及
如果识别所述第一编程电压的所述数据和识别所述第二编程电压的所述数据在所述另一个子块的所述存储器单元的所述编程开始时在所述易失性存储位置中可用,则将所述初始编程电压确定为在所述第一编程电压和所述第二编程电压之间的电压。
5.根据权利要求4所述的装置,其中:
在所述另一个子块的所述存储器单元的所述编程开始时如果识别所述第一编程电压的所述数据在所述易失性存储位置中不可用但是识别所述第二编程电压的所述数据在所述易失性存储位置中可用,则基于所述第二编程电压(而不是所述第一编程电压)来确定所述初始编程电压。
6.根据权利要求5所述的装置,其中:
当在所述一个子块的所述存储器单元的所述编程与所述另一个子块的所述存储器单元的所述编程开始之间存在另一个块的存储器单元的编程时,在所述另一个子块的所述存储器单元的所述编程开始时,识别所述第一编程电压的所述数据在所述易失性存储位置中不可用。
7.根据权利要求5所述的装置,其中:
当在所述边缘子块的所述存储器单元的所述编程与所述另一个子块的所述存储器单元的所述编程开始之间不存在另一个块的存储器单元的编程时,在所述另一个子块的所述存储器单元的所述编程开始时,识别所述第二编程电压的所述数据在所述易失性存储位置中可用。
8.根据权利要求1至7中任一项所述的装置,其中:
所述一个子块是所述块的中央子块(1412,1413);
所述另一个子块位于所述中央子块与所述块的边缘子块(1410,1416)之间;并且
所述控制电路被配置为以子块编程顺序对所述多个子块进行编程,其中首先对所述中央子块进行编程,在所述中央子块之后对所述边缘子块进行编程,并且在所述边缘子块之后对所述另一个子块进行编程。
9.根据权利要求1至8中任一项所述的装置,其中:
所述控制电路被配置为基于所述第一编程电压和所述块的所述另一个子块的所述位置查找偏移电压,并且将所述偏移电压添加到所述第一编程电压以获得所述初始编程电压;
所述多个存储器单元连接到一组字线;
所述一个子块的所述存储器单元和所述另一个子块的所述存储器单元连接到所述一组字线中的字线;并且
所述控制电路被配置为基于所述一组字线中的所述字线的位置来查找所述偏移电压。
10.根据权利要求1至9中任一项所述的装置,其中:
所述一个子块的所述存储器单元连接到一组字线中的字线;并且
所述控制电路被配置为基于所述第一编程电压来确定初始编程电压,以对连接到所述一组字线中的另一个字线的所述一个子块的存储器单元进行编程。
11.根据权利要求1至10中任一项所述的装置,其中:
所述一个子块包括多行(r1-r4)存储器单元;
所述存储器单元的所述子组在所述多行的一行中;并且
所述控制电路被配置为:
在对所述一个子块的所述存储器单元进行编程期间,当所述一个子块的所述存储器单元的另一行的子组的阈值电压超过所述验证电压时,确定施加到所述一个子块的所述存储器单元的第二编程电压;以及
基于所述第一编程电压、所述第二编程电压和所述另一个子块的所述位置来确定所述初始编程电压,其中所述阻挡氧化物层在所述一行中的厚度与在所述另一行中的厚度不同。
12.根据权利要求11所述的装置,其中:
所述控制电路被配置为基于所述第一编程电压和所述第二编程电压之间的差值以及所述另一个子块距所述一个子块的距离来确定所述初始编程电压。
13.根据权利要求11所述的装置,其中:
所述一行和所述另一行是所述一个子块的边缘行(1410,1416)。
14.一种方法,包括:
对块(blk0)的多个子块(790-793)中的多个存储器单元(704-714,724-734,744-754,764-774,1900)进行编程,其中所述多个子块具有不同的编程速度,所述多个存储器单元的所述编程包括根据子块编程顺序对所述多个子块进行编程,其中首先对所述块具有最低编程速度的一个或多个子块进行编程,接着对所述块具有最高编程速度的一个或多个子块进行编程,并且随后对具有比所述最高编程速度逐步降低的编程速度的剩余子块进行编程;
确定并且存储指示在以所述最低编程速度对所述一个或多个子块进行所述编程期间的所述最低编程速度的数据;
确定并且存储指示在以所述最高编程速度对所述一个或多个子块进行所述编程期间的所述最高编程速度的数据;
在所述剩余子块的所述编程开始时,如果指示所述最低编程速度的所述数据和指示所述最高编程速度的所述数据尚未被覆盖,则基于指示所述最低编程速度的所述数据和指示所述最高编程速度的所述数据来确定用于所述剩余子块的所述编程的编程参数;以及
如果指示所述最低编程速度的所述数据已被覆盖,但指示所述最高编程速度的所述数据尚未被覆盖,则基于指示所述最高编程速度的所述数据(而不是指示所述最低编程速度的所述数据)来确定用于所述剩余子块的所述编程的所述编程参数。
15.根据权利要求14所述的方法,其中:
用于对所述剩余子块进行所述编程的所述编程参数包括一系列编程电压中的初始编程电压(vpgm_init)。