增加非易失性存储器中的读取吞吐量转让专利

申请号 : CN200980119143.1

文献号 : CN102067238B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马克·穆林马克·什利克

申请人 : 桑迪士克以色列有限公司

摘要 :

通过在字线电压一传播到感兴趣的存储元件时、但在字线电压传播到不感兴趣的其他存储元件之前就感测感兴趣的存储元件来增加非易失性存储器器件中的读取吞吐量。避免了由于等待电压沿着整条字线传播而引起的延迟。感测可以在编程操作期间作为验证操作发生,或在编程之后,在读取用户数据时。另外,例如可以经由感测放大器同时感测各存储元件。处理来自感兴趣的存储元件的数据,并丢弃来自其他存储元件的数据。可以通过识别哪些存储元件正被验证或者包括由读取命令所请求的数据,来设置用于感测感兴趣的存储元件的时间。

权利要求 :

1.一种用于操作非易失性存储器的方法,包括:

向所选字线(610)的一端施加控制栅极电压,所述所选字线与沿着所述所选字线的非易失性存储元件的集合相通信;以及在所述控制栅极电压已经到达所述集合中的非易失性存储元件的第一子集(670)中的所有非易失性存储元件之后,通过确定所述非易失性存储元件的第一子集是否导电来感测所述第一子集;以及在所述控制栅极电压已经到达所述集合中的非易失性存储元件的第二子集(675)中的所有非易失性存储元件之前,通过确定所述非易失性存储元件的第二子集是否导电来感测所述第二子集。

2.如权利要求1所述的方法,还包括:

接收读取命令;

将非易失性存储元件的所述第一子集识别为包括由所述读取命令请求的数据;以及基于所述识别,确定用于执行所述第一子集的感测的时间。

3.如权利要求1所述的方法,还包括:

处理从非易失性存储元件的所述第一子集获得的数据;以及

丢弃从非易失性存储元件的所述第二子集感测的数据。

4.如权利要求1所述的方法,其中所述第一和第二子集被同时感测。

5.如权利要求1所述的方法,其中所述第一子集存储整页数据的位。

6.如权利要求1所述的方法,其中所述第一子集存储少于整页数据的位。

7.如权利要求1所述的方法,其中所述第一子集的感测和所述第二子集的感测作为编程过程期间的验证操作的一部分而发生。

8.如权利要求1所述的方法,其中所述第一子集的感测和所述第二子集的感测作为编程过程之后的读取操作的一部分而发生。

9.一种存储系统,包括:

非易失性存储元件的集合(670,675,680,685);

字线(610),其与所述非易失性存储元件的集合相通信;以及至少一个控制电路(1310),所述至少一个控制电路:向所选字线的一端施加控制栅极电压,在所述控制栅极电压已经到达所述集合中的非易失性存储元件的第一子集(670)中的所有非易失性存储元件之后,通过确定所述非易失性存储元件的第一子集是否导电来感测所述第一子集,以及在所述控制栅极电压已经到达所述集合中的非易失性存储元件的第二子集(675)中的所有非易失性存储元件之前,通过确定所述非易失性存储元件的第二子集是否导电来感测所述第二子集。

10.如权利要求9所述的存储系统,其中所述至少一个控制电路接收读取命令,将非易失性存储元件的所述第一子集识别为包括由所述读取命令请求的数据,以及基于所识别的非易失性存储元件的第一子集,确定用于执行所述第一子集的感测的时间。

11.如权利要求9所述的存储系统,其中所述第一子集存储整页数据的位。

12.如权利要求9所述的存储系统,其中所述第一子集存储少于整页数据的位。

13.如权利要求9所述的存储系统,还包括多个感测放大器,其与各非易失性存储元件相通信,所述至少一个控制电路通过控制各感测放大器同时感测所述第一和第二子集中的每个非易失性存储元件是否导电,来感测所述第一子集以及感测所述第二子集。

14.如权利要求9所述的存储系统,其中所述第一子集的感测和所述第二子集的感测作为编程过程期间的验证操作的一部分而发生。

15.如权利要求9所述的存储系统,其中所述至少一个控制电路处理从非易失性存储元件的所述第一子集获得的数据,以及丢弃从非易失性存储元件的所述第二子集感测的数据。

说明书 :

增加非易失性存储器中的读取吞吐量

技术领域

[0001] 本发明涉及存储器器件。

背景技术

[0002] 半导体存储器用在各种电子设备中已经变得日益普遍。例如,非易失性半导体存储器被用在蜂窝电话、数字相机、个人数字助理、移动计算设备、非移动计算设备和其他设备中。电可擦除可编程只读存储器(EEPROM)和闪存是最受欢迎的非易失性半导体存储器中的。与传统的全特征的EEPROM相比,利用闪存(也是一种EEPROM),可以在一个步骤中擦除整个存储器阵列或一部分存储器的内容。
[0003] 传统EEPROM和闪存两者使用位于半导体衬底中的沟道区之上并与之隔离的浮置栅极(floating gate)。该浮置栅极位于源极区和漏极区之间。在浮置栅极上并与之隔离地提供控制栅极。由此形成的晶体管的阈值电压(VTH)由保持在浮置栅极上的电荷量控制。即,在晶体管导通前必需施加到控制栅极以允许其源极和漏极之间的导电的电压的最小量由浮置栅极上的电荷水平控制。
[0004] 一些EEPROM和闪存器件具有用于存储两个范围的电荷的浮置栅极,因而,可以在两个状态、例如已擦除状态和已编程状态之间编程/擦除存储器元件。这样的闪存器件有时被称为二进制闪存器件,因为每个存储器元件可以存储一位数据。
[0005] 通过识别多个不同的允许/有效的被编程阈值电压范围实现多状态(也称为多级)闪存器件。每个不同的阈值电压范围对应于被编码到存储器器件中的数据位的集合的预定值。例如,当存储器元件可以被置于与四个不同的阈值电压范围对应的四个离散电荷带之一时,每个存储器元件可以存储两位数据。
[0006] 通常,在编程操作期间施加到控制栅极的编程电压VPGM被施加为一系列脉冲,其幅度随时间增加。实践中,编程电压被施加到与多个存储元件的控制栅极通信的字线。事实上,控制栅极可以由各字线的一部分形成。在一个可能的方式中,脉冲的幅度随着每个连续脉冲增加预定步长大小,例如0.2-0.4V。VPGM可以被施加到闪存元件的控制栅极。在编程脉冲之间的时段中,执行验证操作。即,在连续编程脉冲之间读取被并行编程的一组元件中每个元件的编程电平,以确定它是否等于或大于该元件正被编程到的验证电平。对于多状态闪存元件的阵列,可以对元件的每个状态执行验证步骤,以确定该元件是否已达到其数据相关的验证电平。例如,能够以四个状态存储数据的多状态存储器元件可能需要对三个比较点执行验证操作。验证涉及将一系列验证电压施加到与正被读取的存储元件通信的字线、以及经由相关位线和感测放大器对于每个验证电压感测存储元件是否导电。
[0007] 此外,当对诸如以NAND串的NAND闪存器件的EEPROM或闪存器件编程时,通常VPGM被施加到控制栅极,并且位线接地,致使来自单元或者存储器元件、例如存储元件的沟道的电子被注入到浮置栅极中。当电子在浮置栅极中积累时,浮置栅极变为充负电,并且存储器元件的阈值电压升高,从而存储器元件被认为处于已编程状态中。关于这样的编程的更多信息可在美国专利6,859,397和6,917,542中找到,两者都通过引用全文合并于此。
[0008] 另外,在发生在编程之后的读取操作期间,一系列读取参考电压被施加到要读取的存储元件集,并且确定哪个读取参考电压使存储元件变得导电。读取参考电压被设置为允许区分存储元件的不同数据状态。例如,如果使用了n个可能的数据状态,则通常需要向存储元件依次施加n-1个读取电压电平,以确认存储元件的状态。作为编程过程的一部分而发生的验证以及在编程之后发生的读取两者可以被认为是读取操作。
[0009] 然而,这样的读取操作通常需要基于验证或读取电压沿着整个字线的传播时间而设置的延迟。结果,不能总是优化吞吐量(throughput)。

发明内容

[0010] 本发明提供用于优化非易失性存储系统中的读取操作期间的吞吐量的方法。
[0011] 在一个实施例中,一种用于操作非易失性存储器的方法包括:向所选字线的一端施加控制栅极电压,其中所选字线与沿着所选字线的非易失性存储元件的集合通信。该方法还包括在控制栅极电压已经到达该集合中的非易失性存储元件的第一子集中的所有非易失性存储元件之后,感测第一子集,以及在控制栅极电压已经到达该集合中的非易失性存储元件的第二子集中的所有非易失性存储元件之前,感测第二子集。
[0012] 在另一实施例中,一种用于操作非易失性存储器的方法包括:向所选字线的一端施加电压,其中所选字线与沿着所选字线的非易失性存储元件的集合通信,并且该电压传播到各非易失性存储元件。该方法还包括同时感测:(a)基于电压从该字线的该端到该集合中的至少第一非易失性存储元件的传播时间,准备好被感测的至少第一非易失性存储元件,以及(b)基于电压从该字线的该端到该集合中的至少第二非易失性存储元件的传播时间,准备好被感测的至少第二非易失性存储元件。另外,处理从感测至少第一非易失性存储元件而获得的数据,并且忽略从感测至少第二非易失性存储元件而获得的数据。
[0013] 在另一实施例中,一种存储系统包括:非易失性存储元件的集合、与非易失性存储元件的集合通信的字线、以及至少一个控制电路。该至少一个控制电路:向所选字线的一端施加控制栅极电压,在控制栅极电压已经到达该集合中的非易失性存储元件的第一子集中的所有非易失性存储元件之后,感测第一子集,以及在控制栅极电压已经到达该集合中的非易失性存储元件的第二子集中的所有非易失性存储元件之前,感测第二子集。
[0014] 在另一实施例中,一种用于操作非易失性存储器的方法包括:接收读取命令,以及将非易失性存储元件的集合中的第一子集识别为包括由读取命令请求的数据,其中非易失性存储元件的集合与所选字线通信。该方法还包括:基于该识别确定用于感测第一子集的指定时间,向所选字线一端施加控制栅极电压,在该指定时间感测非易失性存储元件的第一子集,以及在该指定时间感测非易失性存储元件的第二子集。在该指定时间时,控制栅极电压已经到达第一子集中的所有非易失性存储元件,但还未到达第二子集中的所有非易失性存储元件。
[0015] 可以提供用于执行在此提供的方法的相应方法、系统和计算机或处理器可读存储器件。

附图说明

[0016] 图1是NAND串的顶视图。
[0017] 图2是图1的NAND串的等效电路图。
[0018] 图3是NAND闪存元件的阵列的框图。
[0019] 图4描绘了在衬底上形成的NAND串的截面图。
[0020] 图5描绘了存储元件的块。
[0021] 图6描绘了具有全位线配置的、排列在多个子集中的存储元件的集合。
[0022] 图7描绘了具有奇偶位线配置的、排列在多个子集中的存储元件的集合,。
[0023] 图8a描绘了对于不同读取电压的字线电压相对时间。
[0024] 图8b描绘了在编程期间使用的脉冲串。
[0025] 图8c描绘了在沿着字线的不同位置处对于一个读取电压的字线电压相对时间。
[0026] 图9描绘了编程方法。
[0027] 图10描绘了读取方法。
[0028] 图11是NAND闪存元件的阵列的框图。
[0029] 图12描绘了主机控制器和存储器器件的概况。
[0030] 图13是使用单行/列解码器和读/写电路的非易失性存储器系统的框图。

具体实施方式

[0031] 本发明提供用于优化非易失性存储系统中在读取操作期间的吞吐量的方法和装置。
[0032] 适合于实现本发明的存储器系统的一个例子使用NAND闪存结构,其包括在两个选择栅极之间串联排列多个晶体管。串联的晶体管和选择栅极被称为NAND串。图1是示出一个NAND串的顶视图。图2是其等效电路。图1和图2描绘的NAND串包括串联并夹在第一选择栅极120和第二选择栅极122之间的四个晶体管100、102、104和106。选择栅极120选通(gate)NAND串与位线126的连接。选择栅极122选通NAND串与源极线128的连接。通过将合适的电压施加到控制栅极120CG来控制选择栅极120。通过将合适的电压施加到控制栅极122CG来控制选择栅极122。每个晶体管100、102、104和106具有控制栅极和浮置栅极。晶体管100具有控制栅极100CG和浮置栅极100FG。晶体管102包括控制栅极102CG和浮置栅极102FG。晶体管104包括控制栅极104CG和浮置栅极104FG。晶体管106包括控制栅极106CG和浮置栅极106FG。控制栅极100CG连接到字线WL3,控制栅极102CG连接到字线WL2,控制栅极104CG连接到字线WL1,控制栅极106CG连接到字线WL0。
也可以将控制栅极提供为字线的一部分。在一个实施例中,晶体管100、102、104和106每个都是存储元件,也被称为存储器单元。在其他实施例中,存储元件可包括多个晶体管,或者可以不同于图1和图2所绘。选择栅极120连接到选择线SGD(漏极选择栅极)。选择栅极122连接到选择线SGS(源极选择栅极)。
[0033] 图3是描绘三个NAND串的电路图。使用NAND结构的闪存系统的通常构造将包括几个NAND串。例如,示出了在具有许多NAND串的存储器阵列中的三个NAND串320、340和360。每个NAND串包括两个选择栅极和四个存储元件。尽管为了简化例示了四个存储元件,但如今的NAND串可具有多达例如32或64个存储元件。
[0034] 例如,NAND串320包括选择栅极322和327以及存储元件323-326,NAND串340包括选择栅极342和347以及存储元件343-346,NAND串360包括选择栅极362和367以及存储元件363-366。每个NAND串通过其选择栅极(例如,选择栅极327、347或367)连接到源极线。选择线SGS用来控制源极侧选择栅极。各个NAND串320、340和360通过选择栅极322、342、362等中的选择晶体管连接到各个位线321、341和361。这些选择晶体管由漏极选择线SGD控制。在其他实施例中,选择线不需要在NAND串间共用;即,可以为不同的NAND串提供不同的选择线。字线WL3连接到存储元件323、343和363的控制栅极。字线WL2连接到存储元件324、344和364的控制栅极。字线WL1连接到存储元件325、345和365的控制栅极。字线WL0连接到存储元件326、346和366的控制栅极。如可见那样,每条位线和各自的NAND串包括存储元件的阵列或集合的列。字线(WL3、WL2、WL1、WL0)包括阵列或集合的行。每个字线连接行中每个存储元件的控制栅极。或者,可由字线本身提供控制栅极。例如,字线WL2提供用于存储元件324、344和364的控制栅极。实践中,字线上可以有数千个存储元件。
[0035] 每个存储元件可以存储数据。例如,当存储一位数字数据时,存储元件的可能的阈值电压(VTH)的范围被划分为两个范围,它们被分配了逻辑数据“1”和“0”。在NAND型闪存的一个例子中,VTH在存储元件被擦除后为负,并且被定义为逻辑“1”。编程操作后的VTH为正,并且被定义为逻辑“0”。当VTH为负并试图读取时,存储元件将导通以表示正存储逻辑“1”。当VTH为正并试图读取操作时,存储元件不导通,这表示存储了逻辑“0”。存储元件还可以存储多级信息,例如,多位数字数据。在此情况下,VTH值的范围被划分为数据级的数量。例如,如果存储四级信息,则将存在被分配给数据值“11”、“10”、“01”和“00”的四个VTH范围。在NAND型存储器的一个例子中,擦除操作后的VTH为负并被定义为“11”。正的VTH值用于“10”、“01”和“00”的状态。被编程到存储元件中的数据和元件的阈值电压范围之间的具体关系取决于存储元件采用的数据编码方案。例如,美国专利6,222,762和7,237,074描述了用于多状态闪存元件的各种数据编码方案,两者通过引用全文合并于此。
[0036] NAND型闪存及其操作的相关例子在美国专利No.5,386,422、5,570,315、5,774,397、6,046,935、6,456,528和6,522,580中提供,它们每个通过引用合并于此。
[0037] 当对闪存元件编程时,编程电压被施加到存储元件的控制栅极,并且与存储元件相关的位线接地。来自沟道的电子被注入到浮置栅极中。当电子在浮置栅极中积累时,浮置栅极变为充负电,并且存储器元件的VTH升高。为将编程电压施加到正被编程的存储元件的控制栅极,该编程电压被施加到合适的字线上。如上所述,每个NAND串中的一个存储元件共享相同的字线。例如,当对图3的存储元件324编程时,编程电压也被施加到存储元件344和364的控制栅极。未选存储元件344和364经历编程干扰。当在与所选存储元件相同的字线上的未选存储元件由于在所选字线上施加相对高的编程电压而被无意编程时,发生编程干扰。
[0038] 图4描绘了在衬底上形成的NAND串的截面图。该视图被简化且未按比例。NAND串400包括在衬底490上形成的源极侧选择栅极406、漏极侧选择栅极424和八个存储元件408、410、412、414、416、418、420和422。在每个存储元件和选择栅极406和424的任一侧上提供多个源极/漏极区,该源极/漏极区一个例子是源极/漏极区430。在一种方法中,衬底490采用三阱(triple-well)技术,其包括在n阱区494内的p阱区492,n阱区494又在p型衬底区496内。可以至少部分地在p阱区上形成NAND串及其非易失性存储元件。
除了具有电势VBL的位线426之外,还提供具有电势VSOURCE的电源线404。电压还可以经由端子402施加到p阱区492以及经由端子403施加到n阱区494。
[0039] 在读取操作期间,在与存储元件414和未示出的其他存储元件相关的所选字线(在该例子中是WL3)上提供控制栅极电压VCG。另外,回想到可以将存储元件的控制栅极提供为字线的一部分。例如,WL0、WL1、WL2、WL3、WL4、WL5、WL6和WL7可分别经由存储元件408、410、412、414、416、418、420和422的控制栅极而延伸。在一个可能的方案中,读取通过(pass)电压VREAD被施加到与NAND串400相关的其余字线。VSGS和VSGD被分别施加到选择栅极406和424。
[0040] 图5描绘了存储元件的块。在一个示例实现方式中,NAND快闪EEPROM可以被分区为1024块。每块中存储的数据可以同时被擦除。在一个实施例中,块是同时擦除的存储元件的最小单位。在该例子中,在每个块中,存在对应于位线BL0、BL1、......、BL4255的4256列。在一个被称为全位线(all bit line,ABL)构造的实施例中,在读取和编程操作期间可以同时选择一块的所有位线,并且沿着公共字线并连接到任何位线的存储元件可以同时被编程。
[0041] 在所提供的例子中,8个存储元件串联形成NAND串,并且存在8个数据字线WL0至WL7。NAND串还可以包括哑(dummy)存储元件和相关字线。在其他实施例中,NAND串可以具有多于或少于8个数据存储元件。数据存储器单元可以存储用户或系统数据。哑存储器单元一般不用来存储用户或系统数据。
[0042] NAND串的一端经由漏极选择栅极(连接到选择栅极漏极线SGD)连接到相应位线,并且另一端经由源极选择栅极(连接到选择栅极源极线SGS)连接到公共源极505。由此,公共源极505耦接到每个NAND串。
[0043] 在被称为奇偶构造的一个实施例中,位线被划分为偶数位线(BLe)和奇数位线(BLo)。在此情况下,沿着公共字线并连接到奇数位线的各存储元件在一个时间被编程,而沿着公共字线并连接到偶数位线的各存储元件在另一时间被编程。在每个块中,列被划分为偶数列和奇数列。
[0044] 在读取和编程操作的一个配置中,同时选择4256个存储元件。所选的存储元件具有相同的字线,由此作为公共物理页的一部分。因而,还形成逻辑页的532字节数据可以被同时被读取或编程,并且存储器的一块可以存储至少八个逻辑页。在该例子中,物理页和逻辑页相同,但通常这不是必需的。例如,物理页可包括多个逻辑页。逻辑页通常是同时被写入(被编程)的存储元件的最小集合。对于多状态存储元件,当每个存储元件存储两位数据时,其中这两个位中的每位被存储到不同页中,一个块存储十六个逻辑页。也可使用其他尺寸的块和页。
[0045] 对于ABL或奇偶构造,可以通过将p阱升高到擦除电压(例如,20V)并将所选块的字线接地来擦除存储元件。源极和位线浮置。可以对整个存储器阵列、对分离的块或作为存储器器件的一部分的另一单位的存储元件进行擦除。电子从存储元件的浮置栅极转移到p阱区,使得存储元件的VTH变为负。
[0046] 在读取和验证操作中,选择栅极(SGD和SGS)连接到在2.5至4.5V的范围内的电压,并且未选字线被升高到读取通过电压VREAD(通常是在4.5至6V的范围内的电压)以使得晶体管工作为通过门(pass gate)。所选字线连接到如下电压,对每个读取和验证操作指定了其电平,以确定所关注的存储元件的VTH是高于还是低于该电平。例如,在两级存储元件的读取操作中,所选字线可以接地,从而检测VTH是否高于0V。在两级存储元件的验证操作中,所选字线连接到例如0.8V,从而验证VTH是否已经达到至少0.8V。源极和p阱处于0V。所选位线被预充电至例如0.7V的电平。如果VTH高于字线上的读取或验证电平,则与感兴趣的存储元件相关的位线的电势电平由于不导电的存储元件而维持高电平。另一方面,如果VTH低于该读取或验证电平,则所关注的位线的电势电平降低到例如小于0.5V的低电平,因为导电的存储元件对位线放电。由此,在一种可能的实现方式中,可以通过连接到位线的电压比较器感测放大器来检测存储元件的状态。如同编程中那样,可以在每页的基础上执行读取操作。
[0047] 根据本领域中已知的技术执行上述擦除、读取和验证操作的许多细节。由此,本领域技术人员可以改变所解释的许多细节。也可以使用本领域中已知的其他擦除、读取和验证技术。
[0048] 图6描绘了具有全位线配置的、被排列在多个子集中的存储元件的集合。全位线配置通常涉及在相邻存储元件中存储一页数据。包括示例存储元件605的存储元件集合包括沿着诸如字线610、620、630和640的相关字线排列的多行存储元件。字线电压源615在编程和读取操作期间向字线提供电压。通常,一个字线是包括已经被选择用于编程或读取的一个或多个存储元件的所选字线。在该例子中,存储元件与标记为BL0至BL15的位线相关。存储元件可被排列在NAND串中。另外,感测放大器与每条位线相关,以感测所选存储元件是否导电。存储器器件中的控制器存取感测放大器以确定所选存储元件是否导电,并在缓冲器中存储指示存储元件的状态的相应数据。对于读取操作,控制器通过将READY/BUSY(就绪/繁忙)信号设置为READY来向外部主机通知其可以从缓冲器读取数据。对于编程-验证操作,控制器内部地使用数据以确定所选存储元件已经被编程到其预期状态。以690概括示出感测放大器。还提供公共源极线650。
[0049] 当由字线电压源615在字线一端向所选字线施加电压时,电压在有限的传播时间中沿着字线向另一端传播。具体地,在诸如NAND闪存器件的现今存储器器件中,由于页变得更长,并且字线的RC时间常数增加,读取操作定时也增加。例如,数千个存储元件可能与公共字线相关,在此情况下,传播延迟可能是显著的。图6的例子提供了每条字线16个存储元件作为简化例示。由此,在感测操作可以开始之前,需要更长的时间来稳定字线电压,导致相对更长的读取时间。找到降低页读取时间的方法将是有利的。
[0050] 具体地,在字线的一个物理端、例如近端(比如在图6的字线之一的左侧)向字线施加字线电压,从而在到近端比到另一端、例如远端(比如在图6的字线之一的右侧)更近的字线的那部分上,电压将更快稳定到平稳(steady)电平。注意,一般电压也被施加到未选字线,尽管通常以不同于所选字线的电平。通常,在离字线近端逐渐增加的距离上,电压将以逐渐增加的时间稳定。注意,在其他配置中,字线电压被施加在字线的不同端处,例如,电压可以施加在奇数字线的左侧和偶数字线的右侧。无论字线的哪一端接收所施加的电压,所讨论的有关传播时间的原理都是一样。
[0051] 结果,与更接近字线远端的存储元件的感测相比,更接近字线近端的存储元件的感测可以更早开始,而不等待沿着整个字线的电压稳定下来。因为感测操作的持续时间是恒定的,所以这意味着近处的存储元件的数据可以比远处的存储元件的数据更早地准备好移出存储器,从缓冲器到主机。在该方法中,可以缩短包括读取时间和移出时间在内的整体读取操作时间。另外,在某些情况下,期望仅仅从与字线相关的存储元件的一部分读取数据。在此情况下,可以在字线电压已经在整条字线上稳定下来之前,同时读取该字线的所有存储元件,只要它对于期望被读取的存储元件已经稳定即可。这种方法主要会导致从字线电压还未稳定的存储元件读取无用数据。不能正确地读取这些存储元件,因为字线电压未处于准确已知的电平。该数据因为没有用所以可被忽略/丢弃。不会因读取这样的无用数据产生坏处。事实上,通过这样的感测和忽略无用数据可以实现优点,因为它避免了存储器具有仅激活特定感测放大器或其他感测组件的能力的需要。
[0052] 各种实现方式是可能的。在一种可能的方法中,存储一页或多页数据的存储元件集可被划分为多个子集。例如,图6提供了四个子集,即子集1(670)、子集2(675)、子集3(680)和子集4(685)。在此情况下,每个子集具有每字线四个存储元件。然而,也可使用不同大小的子集。例如,子集大小通常可以作为与字线近端的距离的函数而逐渐更小或更大。逐渐更小的子集大小的例子是:子集1、2、3和4分别具有8个、4个、2个和2个存储元件。由此,子集大小随着与近端的距离增加而单调降低。逐渐更大的子集大小的例子是:子集1、2、3和4分别具有2个、2个、4个和8个存储元件。由此,子集大小随着与近端的距离增加而单调增加。其他方法可以使用对称样式的不同子集大小,比如子集1、2、3和4分别具有2个、6个、6个和2个存储元件。各种其他方法也是可能的。通常,子集大小可以是统一的或可以变化。
[0053] 另外,子集大小可以对应于页大小,或者可以比页更小或更大。页是主机设备作为单位写入的数据的最小单位。由此,子集可以包括存储了整页数据的位或者多于或少于整页数据的位的多个存储元件。
[0054] 通过将存储元件划分为子集,可以产生定时方案,该方案将早在字线电压已经对于合适的子集稳定时开始该子集的感测操作。例如,在图6中,可以在字线电压一传播到该子集中的所有存储元件时就感测子集1。在一种方法中,当字线电压已经达到一个位置处的平稳电平的容限内时,认为该字线电压沿着字线传播到该位置。类似地,可以在字线电压一传播到该子集中的所有存储元件时就感测子集2,如此等等。
[0055] 图7描绘了具有奇偶位线配置的、被排列在多个子集中的存储元件的集合。奇偶位线配置通常涉及在奇数和偶数位线中存储不同页的数据,例如在奇数位线上存储一页并在偶数位线上存储另一页。该构造消除或降低了相邻存储元件之间的某些交叉耦合干扰。存储元件与被标记为BLo0至BLo7的奇数位线以及被标记为BLe0至BLe7的偶数位线相关。
这里,在示例实现方式中,子集的排列与图6中相同。然而,在编程/验证或读取时仅涉及交替的位线。
[0056] 图8a描绘了对于不同读取电压的字线电压相对时间的图。读取存储元件涉及确定存储元件的阈值电压分布表示哪个数据状态。当存在使用的n个可能的数据状态时,使用n-1个读取电平。本例子假设8个数据状态,尽管可以使用更少或更多的状态。每个读取电平接连施加到所选字线,并且感测一个或多个所选存储元件以确定它们是否导电。如果元件导电,则这意味着字线电压超过阈值电压。如果元件不导电,这意味着字线电压小于阈值电压。如果正读取仅一个存储元件,则能够确认其状态而无需施加所有读取电压。然而,一般当同时读取公共字线的多个存储元件时,使用所有读取电压。
[0057] 另外,当读取电压已经达到平稳条件时以每个读取电平感测存储元件,从而准确得知其幅值。图8描绘了沿着字线的固定位置处的读取电压。它表示了读取电压如何上升并平稳(level out)在每个读取电平处,然后接着再次上升到下一读取电平,直到已经遍历了所有读取电平。可以为沿着字线的不同位置提供类似的电压相对时间关系。如所述,达到平稳值所需的时间将在离被施加电压的字线的近端的更远的距离处增加。
[0058] 图8b描绘了在编程期间使用的脉冲串(train)。作为读取操作的一种形式的验证操作一般发生在编程脉冲之间。例如,在编程期间,脉冲串800可以施加到所选字线,其包括连续增加的编程电压VPGM1(805)、VPGM2(810)、VPGM1(815)等等。在相邻编程脉冲之间是验证电压820、825、830...的集合,其类似于图8a的读取电压,尽管幅值不同。当存在n个数据状态时,验证电压的每个集合可包括多达n-1个验证电压。在某些情况下,使用少于n-1个验证电压。例如,在脉冲串的早期,仅仅验证较低状态,因为预期较高状态还未到达。此外,如果仅一个存储元件正被编程,则能够确认它是否已经达到目标数据状态而无需施加所有验证电压。然而,一般当同时对公共字线的多个存储元件编程时,使用所有验证电压。
[0059] 图8c描绘了在沿着字线的不同位置处对于一个读取电压的字线电压相对时间。时间=0表示电压被初始施加到字线的近端时。VCGR1是示例的平稳状态控制栅极读取电压,并且是最低读取电压。曲线840、842、844和846描绘了子集1(670)、子集2(675)、子集
3(680)和子集4(685)(还参见图6和图7)的电压。每个子集的电压的位置可以在离被施加字线电压的字线的近端最远的存储元件处。由此,例如,曲线840表示与图6中的BL3或图7中的位线BLe1相关的存储元件处的电压,曲线842表示与图6中的BL7或图7中的位线BLe3相关的存储元件处的电压,曲线844表示与图6中的BL11或图7中的位线BLe5相关的存储元件处的电压,曲线846表示与图6中的BL15或图7中的位线BLe7相关的存储元件处的电压。
[0060] 如可见,对于离字线的近端更远的子集,电压经过更久时间达到平稳值,在此情况下是VCGR1,或者经过更久时间达到平稳状态值的某个阈值内,如VCGR1的95%或者在VCGR1之下0.1V。例如,子集1、2、3和4的电压分别在时间t1、t2、t3和t4达到VCGR1的95%。
[0061] 对于字线上的每个随后的电压增加,可看到类似的字线电压相对时间关系。例如,在以VCGR1执行了感测之后,字线电压将上升到下一读取电平VCGR2。通常,如果字线电压之间的步长大小相等,则对于字线上的给定位置,电压到达下一平稳值的时间将相同或几乎相同。如果电压之间的步长大小不相等,则电压到达下一平稳状态值的时间将对于更大的步长而增加,并对于更小的步长而降低。注意,可以通过测试存储器器件和/或通过考虑到字线的RC时间常数的理论计算而获得图8c的数据。在一种方法中,时间值t1、t2、t3和t4是按存储器器件的逻辑而获得并存储的延迟,以确定何时开始感测一个或多个存储元件。
[0062] 如所述,对于验证操作可以获得类似数据。事实上,如果步长大小对于验证电平如同对于读取电平那样是相同的,则可以使用相同的延迟。
[0063] 还需注意,所使用的子集的数量影响所需的开销(overhead)数据的量。例如,对于字线上的每个存储元件能够具有单独的延迟,如具有一个存储元件的子集大小,但这将导致需要存储额外的开销数据。
[0064] 在所提供的例子中,字线被划分为四个相等的存储元件的组或子集。如果字线上的存储元件的总数为N,则第一子集包括存储元件1至N/4,第二子集包括存储元件1/4N+1至1/2N,第三子集包括存储元件1/2N+1至3/4N,第四子集包括存储元件3/4N+1至N。图8c示意性地表示在每个这样的子集的末端处、例如在存储元件N/4、N/2、3/4N和N处的字线电压从施加电压到字线的近端起随时间的变化。
[0065] 在感测过程中,来自感测放大器的数据被存储在存储器器件的缓冲器中,随后从缓冲器移出至主机。例如,参见图12中的缓冲器1220或图13中的缓冲器1352。假设为了开始感测,字线电压需要达到接近于平稳状态电平的某个电平,如在平稳状态电平下某一差量(delta)电压,例如0.1V,或者平稳状态电平之间的步长的某一百分比,例如95%。第一子集的感测可在t1相对早地开始。如果假设使得存储元件数据可用于主机的感测操作和其他操作消耗了时间“T”,则存储元件的第一、第二、第三和第四子集分别在时间t1+T、t2+T、t3+T和t4+T时可用于移出。
[0066] 不使用以上方法的实现方式,可能仅在整个字线的电压已经稳定之后、例如在t4之后开始感测,在此情况下,第一存储元件数据不可用于移出,直至t4+T之后。由此,所建议的将页或其他存储元件集合划分为子集并对每个子集实现最优感测开始时间的技术得到了在存储器器件输出处的数据的更快的可用性,因而降低了读取时间并改善了吞吐量。
[0067] 还有另一种情况,其中使用所述的设置感测定时的技术可以是有益的。在一些应用中,当读取操作的目的不是必需获取整页数据而是涉及例如评估某些统计特性时,可能仅需要对于这样的统计评估足够的部分量的页。在这种情况下,数据感测可以开始在字线电压在足够用于应用分析的页部分处已经稳定时,并且数据移动、例如从存储器器件内部的缓冲器到外部主机的数据移动、可以在感测之后立即开始。以此方式,可以显著缩短读取操作。
[0068] 在另一方法中,当存储元件集合正被验证或读取时,识别属于具有最大延迟的子集的存储元件,并且该延迟用作为(prevail as)在同时感测感兴趣的存储元件时所使用的延迟。在许多情况下,如果感兴趣的存储元件被包含在较低子集中,则该延迟小于最高可能延迟。结果,可以实现时间节省/吞吐量改善。例如,如果感兴趣的存储元件被包含在子集1-3中而不是子集4中,则延迟是t3。相反,t4的完全延迟在传统方法中将是必需的。由此实现t4-t3的时间节省。
[0069] 另外,在一些方法中,仅正被感测的特定子集的感测放大器在给定时间时被激活。例如,当子集1正被感测时,仅仅激活子集1的感测放大器,当子集2正被感测时,仅仅激活子集2的感测放大器,等等。但是,还能够激活所有感测放大器或者感测放大器的一些子集,并且忽略来自一些感测放大器的数据。例如,当子集1正被感测时,可以激活所有子集
1-4的感测放大器,但是控制逻辑可被配置为忽略/丢弃来自子集2-4的感测放大器的数据。类似地,当子集2正被感测时,控制逻辑可被配置为忽略/丢弃来自子集1、3和4的感测放大器的数据,当子集3正被感测时,可以忽略来自子集1、2和4的感测放大器的数据,并且当子集4正被感测时,可以忽略来自子集1-3的感测放大器的数据。
[0070] 该方法因为不要求在感测放大器执行感测时改变或者提供单独或按组控制感测放大器的能力而尤其有利。可以使用存储器器件的现有设计,其中该器件与传播时间无关地执行感测。例如,存储器器件可以被配置为对于所有位线、所有奇数位线或所有偶数位线同时执行感测。在这些情况下,控制逻辑可以被配置为在字线电压传播过了整个字线之前提早执行感测,只要字线电压至少已经传播到感兴趣的存储元件、例如正被验证或读取的存储元件即可。如所讨论的,控制逻辑还可以被配置为忽略来自不感兴趣的存储元件的感测数据。
[0071] 在某些情况下,感测放大器由各位线复用(multiplex),从而一次仅感测一部分位线。例如,存储器器件可以被配置为对所有位线、所有奇数位线或所有偶数位线的第一半和第二半单独执行感测。在这样的情况下,类似的原理适用。例如,假设在全位线感测中在一个时间感测图6中的位线的第一半,例如BL0至BL7(包括子集1和2),并且在另一时间感测位线的第二半,例如BL8至BL15(包括子集3和4)。而且,假设仅对子集2(例如,BL4-BL7)和子集3(例如,BL8-BL11)中的存储元件感兴趣。由此,当感测子集1和2时,可以忽略来自子集1的感测放大器的数据,当感测子集3和4时,可以忽略来自子集4的感测放大器的数据.
[0072] 基于以下原理,对感兴趣的存储元件尽可能快地执行感测,只要字线电压至少已经传播到感兴趣的存储元件即可,并忽略来自不感兴趣的存储元件的感测数据,如当字线电压还未完全传播到不感兴趣的存储元件时,这里讨论的技术适合于在许多情况下使用。
[0073] 由此,可以基于电压从字线近端到准备好被感测的非易失性存储元件的第一集合的传播时间对该第一集合,并基于电压从字线近端到还未准备好被感测的非易失性存储元件的第二集合的传播时间对该第二集合,执行同时感测。另外,可以处理从感测第一集合获得的数据,例如将其提供给缓冲器并输出到主机设备,同时可以忽略从感测第二集合获得的数据。
[0074] 图9描绘了编程方法。编程操作在步骤900开始。步骤905包括识别正被编程的存储元件的一个或多个子集。例如,这可以包括识别如下子集,该子集包括正被编程的存储元件,并且距被施加了字线电压的字线的近端最远。作为例子,图6的子集1、2和3可能包括正被编程的存储元件,而子集4不包括正被编程的存储元件。在此情况下,识别子集1、2和3,或者至少将子集3识别为距字线的近端最远。在一种可能的方法中,可以使用在将存储元件或位线与子集相联系的适当数据结构中的数据来配置控制逻辑。例如,可以用如下的表来配置诸如状态机1312(图13)中的控制逻辑:
[0075]
[0076] 或者,可以通过数学公式将在编程时涉及的存储元件或位线的地址与特定子集相联系。
[0077] 步骤910包括基于正被编程的一个或多个子集确定延迟。在一种方法中,对于每个子集确定单独的延迟,从而可以基于各自的延迟对于不同的子集在不同的时间时开始验证,例如,对于子集1、子集2和子集3,分别在t1、t2和t3(图8c)。在另一方法中,确定正被编程的所有子集的最高延迟,从而对于每个子集在该时间开始验证,例如,对于子集1、2和3在t3(图8c)。例如,可以用如下的表来配置诸如状态机1312(图13)中的控制逻辑:
[0078]
[0079] 如前所述,还能够将每个存储元件/位线与延迟相关联,尽管这导致额外的开销成本。注意,在此假设对每个验证电压使用相同的延迟。还能够对不同的验证电平或验证电平组具有不同的延迟,比如当验证电压之间的步长大小不恒定时。在此情况下,可以用如下的表来配置控制逻辑(其中t1-1、t1-2和t1-3是不同的时间):
[0080]
[0081]
[0082] 步骤915包括施加编程脉冲,比如脉冲808(图8b)。步骤920包括开始验证过程。步骤925包括施加验证电压,比如在Vv1的电平处的电压(图8b)。在一个可能的方法中,步骤930包括在所确定的延迟之后感测所选字线的所有存储元件。对于全位线配置,在一个例子中,这可以包括感测所选字线的所有存储元件。对于奇偶配置,在一个例子中,这可以包括感测所选字线的所有奇数或偶数存储元件。步骤935包括处理来自被编程的存储元件的数据,比如通过检查该数据以确定存储元件是否达到预期的数据状态来处理。步骤
940包括忽略来自其他存储元件的数据。在判定步骤945,如果存在下一验证电压,则适用于步骤925。从图8b回想起可以在每个编程脉冲之后施加验证电压820的集合。在判定步骤945,如果没有下一验证电压,例如,刚刚已经施加了最后的验证电压Vv7,则到达判定步骤950,其中确定编程是否完成。通常,当正被编程的所有存储元件已经被验证为达到它们各自的目标数据状态时,编程完成,在此情况下,编程过程在步骤955结束。如果在判定步骤950编程未完成,则在步骤915施加下一编程脉冲,比如图8b中的脉冲810。
[0083] 图10描绘了读取方法。读取操作在步骤1000开始。许多步骤与图9中的类似,因为验证操作是一种读取操作。在两种情况下,一系列电压被施加到所选字线,并且感测存储元件以确定它们是否导电。步骤1005包括识别正被读取的存储元件的一个或多个子集。例如,这可以包括识别如下子集,该子集包括正被读取的存储元件,并且距被施加了字线电压的字线的近端最远。作为例子,图6的子集1、2和3可以包括正被读取的存储元件,而子集4不包括正被读取的存储元件。在此情况下,识别子集1、2和3,或者至少将子集3识别为距字线近端最远。在一种可能的方法中,如所述,可以使用在将存储元件或位线与子集相联系的适当数据结构中的数据来配置控制逻辑。在验证和读取操作两者中可以使用相同的配置数据。
[0084] 步骤1010包括基于正被读取的一个或多个子集确定延迟。在一种方法中,对于每个子集确定单独的延迟,从而可以基于各自的延迟,对于每个子集在不同的时间开始读取。在另一方法中,确定正被读取的所有子集的最高延迟,从而对每个子集在该时间开始读取。
还能够对不同的读取电平具有不同的延迟,比如当读取电压之间的步长大小不恒定时。
[0085] 步骤1015包括施加控制栅极读取电压VCGR,比如处于图8a所绘的电平之一。在一个可能的方法中,步骤1020包括在所确定的延迟之后感测所选字线的所有存储元件。对于全位线配置,在一个例子中,这可以包括感测所选字线的所有存储元件。对于奇偶配置,在一个例子中,这可以包括感测所选字线的所有奇数或偶数存储元件。步骤1025包括处理来自被读取的存储元件的数据,比如通过将它们的数据从缓冲器移至主机来处理。步骤1030包括忽略来自其他存储元件的数据,例如,不将该数据从缓冲器移至主机。在判定步骤
1035,如果存在下一读取电压,则适用于步骤1015。从图8a回想起可以施加一系列读取电压。在判定步骤1035,如果没有下一读取电压,例如,刚刚已经施加了最后的读取电压VCGR7,则编程过程在步骤1040结束。
[0086] 图11是诸如图1和图2所示的NAND闪存元件的阵列的框图。沿着每列,位线耦接到相关NAND串的漏极选择栅极的漏极端。例如,位线1106耦接到NAND串1150的漏极选择栅极的漏极端1126。沿着NAND串的每行,源极线1104可以连接NAND串的源极选择栅极的所有源极端1128。在美国专利No.5,570,315、5,744,397和6,046,935中找到作为存储器系统的一部分的NAND构造阵列及其操作的例子。
[0087] 存储元件的阵列被划分为大量存储元件块。如对于快闪EEPROM系统常用的,块是擦除的单位。即,每块包含被一起擦除的最少数量的存储元件。通常,每个块被划分为多个页。页是编程的单位。在一个实施例中,各个页可以被划分为段(segment),并且段可包含作为基本编程操作一次被写入的最少数量的存储元件。一页或多页数据通常被存储在一行存储元件中。一页可以存储一个或多个扇区。扇区包括用户数据和开销数据。开销数据通常包括已从扇区的用户数据计算出的纠错码(ECC)。控制器(下面描述)的一部分在数据正被编程到阵列中时计算ECC,并且还在正从阵列读取数据时检查该ECC。可替换地,ECC和/或其他开销数据被存储在与它们所属于的用户数据不同的页中,或者甚至是不同的块中。
[0088] 用户数据的扇区通常是512字节,对应于磁盘驱动器中的扇区大小。开销数据通常是另外的16-20字节。大量页形成块,例如从8页直到32、64、128或更多页任意。在一些实施例中,一行NAND串包括一块。
[0089] 图12描绘了存储系统中的主机控制器和存储器器件的概况。存储器器件单独也可以被认为是存储系统。可以在具有其自己的控制器1210用于执行诸如编程/验证和读取的操作的存储器器件1200中提供存储元件1205。可以在例如被插入诸如膝上型计算机、数字相机、个人数字助理(PDA)、数字音频播放器或移动电话的主机设备中的可移除存储卡或USB闪存驱动器上形成存储器器件。主机设备可具有其自己的控制器1220,用于与存储器器件交互,比如读取或写入用户数据。例如,当读取数据时,主机控制器可以向存储器器件发送指示要检索的用户数据的地址的命令。存储器器件控制器将这样的命令转换为可以由存储器器件中的控制电路翻译和执行的命令信号。控制器1210还可以包含:非易失性数据存储位置1215,用于存储如前所述的存储元件标识符、子集和延迟数据;以及缓冲器存储器1220,用于临时存储被写入存储器阵列或从存储器阵列读取的用户数据。主机控制器1225可以被认为是存储器器件外部或之外的实体。存储器器件可以包括例如一个或多个存储器晶片(die),并且主机控制器可以在该一个或多个存储器晶片之外,如结合图13所述。
[0090] 存储器器件通过从存储元件读取数据并使其对主机控制器可用来响应读取命令。在一种可能的方法中,存储器器件在缓冲器1220中存储所读取的数据并通知主机控制器何时可以读取该数据。主机控制器通过从该缓冲器读取数据并向存储器器件发送从另一地址读取数据的另一命令来响应。例如,可以逐页读取数据。主机控制器可以处理所读取的数据以确定存储器器件的存储元件的阈值电压分布。在另一方法中,存储器器件的控制电路确定阈值电压分布。下面提供存储器器件的示例实施例的进一步细节。
[0091] 通常的存储器系统包括:包括控制器1210的集成电路芯片;以及每个包含存储器阵列及相关控制、输入/输出和状态机电路的一个或多个集成电路芯片。存储器器件可以被嵌入为主机系统的一部分,或者可以被包括在可移除地插入到主机系统的配合插槽中的存储卡中。这样的卡可以包括整个存储器器件,或者可在分离的卡中提供具有相关外围电路的控制器和存储器阵列。
[0092] 图13是使用单行/列解码器和读/写电路的非易失性存储器系统的框图。该图例示了根据本发明的一个实施例的具有用于并行读取和编程存储元件的一页的读/写电路的存储器器件1396。存储器器件1396可以包括一个或多个存储器晶片1398。存储器晶片1398包括存储元件的二维阵列1400、控制电路1310以及读/写电路1365。在一些实施例中,存储元件的阵列可以是三维的。存储器阵列1400可由字线经由行解码器1330寻址,或由位线经由列解码器1360寻址。读/写电路1365包括多个感测块1300,并允许并行读取或编程存储元件的一页。通常控制器1350被包括在与一个或多个存储器晶片1398相同的存储器器件1396(例如,可移除存储卡)中。命令和数据经由线路1320在主机和控制器1350之间以及经由线路1321在控制器和一个或多个存储器晶片1398之间传送。
[0093] 控制电路1310与读/写电路1365协作以对存储器阵列1100执行存储器操作。控制电路1310包括状态机1312、芯片上地址解码器1314和功率控制模块1316。状态机1312提供对存储器操作的芯片级控制。例如,状态机可以被配置为执行前述读取和验证过程。芯片上地址解码器1314提供在由主机或存储器控制器使用的地址与由解码器1330和1360使用的硬件地址之间的地址接口。功率控制模块1316控制在存储器操作期间向字线和位线提供的功率和电压。例如,功率控制模块1316可以向所选字线提供控制栅极读取电压,并向未选字线提供读取通过电压,以在读取操作期间和在确定存储元件集合的阈值电压分布时使用。功率控制模块1316可以包括例如一个或多个数字到模拟转换器。
[0094] 在一些实现方式中,图13的一些组件可以组合。在各种设计中,除了存储器元件阵列1100外的一个或多个组件(单独或组合)可以被当作管理或控制电路。例如,一个或多个管理或控制电路可包括控制电路1310、状态机1312、解码器1314/1360、功率控制1316、感测块1300、读/写电路1365、控制器1350、主机控制器1399等的任意一个或其组合。
[0095] 存储器阵列中存储的数据由列解码器1360读出,并经由数据I/O线路和数据输入/输出缓冲器1352输出到外部I/O线路。要被存储在存储器阵列中的编程数据经由外部I/O线路输入到数据输入/输出缓冲器1352。用于控制存储器器件的命令被输入到控制器1350。命令数据通知闪存请求了什么操作。输入的命令被传送到控制电路1310。状态机
1312可以输出诸如READY/BUSY(就绪/繁忙)或PASS/FAIL(通过/失败)的存储器器件的状态。当存储器器件繁忙时,它不能接收新的读或写命令。
[0096] 关于控制器1350,还可以提供类似于图12的存储位置1215的数据存储位置。
[0097] 在另一可能的配置中,非易失性存储器系统可以使用双行/列解码器和读/写电路。在此情况下,以对称方式在阵列的相对侧上实现各种外围电路对存储器阵列的存取,从而每侧的存取线和电路的密度降低一半。
[0098] 已经为了例示和描述的目的给出了本发明的前述详细描述。不意图它是穷尽的或将本发明限制于所公开的精确形式。根据以上教导,许多修改和变化是可能的。选择所描述的实施例以便最好地解释本发明的原理及其实践应用,由此使得本领域技术人员能够在各种实施例中并使用适合于预期的特定使用的各种修改来最佳地利用本发明。意图由所附权利要求限定本发明的范围。