通过考虑相邻存储器单元的所存储状态来读取非易失性存储器单元.pdf

上传人:111****11 文档编号:856072 上传时间:2018-03-15 格式:PDF 页数:50 大小:2.57MB
返回 下载 相关 举报
摘要
申请专利号:

CN200780050890.5

申请日:

2007.12.24

公开号:

CN101627443A

公开日:

2010.01.13

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G11C 16/34变更事项:专利权人变更前:桑迪士克科技公司变更后:桑迪士克科技有限责任公司变更事项:地址变更前:美国德克萨斯州变更后:美国德克萨斯州|||专利权的转移IPC(主分类):G11C 16/34变更事项:专利权人变更前权利人:桑迪士克股份有限公司变更后权利人:桑迪士克科技公司变更事项:地址变更前权利人:美国加利福尼亚州变更后权利人:美国德克萨斯州登记生效日:20121219|||授权|||实质审查的生效|||公开

IPC分类号:

G11C16/34; G11C11/56

主分类号:

G11C16/34

申请人:

桑迪士克股份有限公司

发明人:

尼玛·穆赫莱斯

地址:

美国加利福尼亚州

优先权:

2006.12.29 US 11/618,578; 2006.12.29 US 11/618,569

专利代理机构:

北京律盟知识产权代理有限责任公司

代理人:

刘国伟

PDF下载: PDF下载
内容摘要

存储于非易失性存储器单元的浮动栅极(或其它电荷存储元件)上的表观电荷的移位可能由于基于存储于邻近浮动栅极(或其它电荷存储元件)中的电荷的电场的耦合而发生。为了解决此耦合,对目标存储器单元的读取过程将向邻近存储器单元(或其它存储器单元)提供补偿以便减小所述邻近存储器单元对所述目标存储器单元造成的耦合效应。所施加的补偿是基于所述邻近存储器单元的条件。为了施加正确的补偿,所述读取过程将至少部分地将对所述邻近存储器单元的读取操作与对所述目标存储器单元的读取操作进行混合。

权利要求书

1: 一种用于从非易失性存储装置读取数据的方法,其包含: 对目标非易失性存储元件执行一组读取操作作为用以读取存储于所述目标非易 失性存储元件中的特定数据值的共同尝试的部分,所述组读取操作的至少一子组向 相邻非易失性存储元件施加不同电压; 对所述相邻非易失性存储元件执行一群组读取操作,将所述群组读取操作至少部 分地在时间上与所述组读取操作进行混合; 基于所述群组读取操作而从所述组读取操作的子组中选择信息;及 基于所述所选信息而报告存储于所述目标非易失性存储元件中的所述特定数据 值。
2: 根据权利要求1所述的方法,其中: 所述不同电压中的每一者与所述相邻非易失性存储元件的不同条件相关联。
3: 根据权利要求1所述的方法,其中: 所述组读取操作包括第一子组读取操作及第二子组读取操作; 所述第一子组读取操作包括向所述相邻非易失性存储元件施加第一电压的多个 读取操作;且 所述第二子组读取操作包括向所述相邻非易失性存储元件施加第二电压的多个 读取操作。
4: 根据权利要求1所述的方法,其中: 所述目标非易失性存储元件在包括其它非易失性存储元件的NAND串上邻接于 所述相邻非易失性存储元件; 所述组读取操作中的至少一个读取操作向所述目标非易失性存储元件施加读取 比较电压,向所述相邻非易失性存储元件施加第一电压且向所述其它非易失性存储 元件施加其它电压; 所述组读取操作中的至少另一读取操作向所述目标非易失性存储元件施加所述 读取比较电压,向所述相邻非易失性存储元件施加第二电压且向所述其它非易失性 存储元件施加所述其它电压;且 所述其它电压不同于所述第一电压。
5: 根据权利要求1所述的方法,其中: 所述选择信息包括针对所述组读取操作中与所述相邻非易失性存储元件的条件 相关联的一个读取操作而将数据存储于锁存器中以及针对所述组读取操作中的一 个或一个以上其它读取操作而不将数据存储于所述锁存器中; 所述群组读取操作识别所述条件;且 所述报告数据包括从所述锁存器传输所述数据。
6: 根据权利要求1所述的方法,其中: 所述报告数据包括将所述数据提供到与存储器系统通信的主机;且 所述目标非易失性存储元件及所述相邻非易失性存储元件是所述存储器系统的 部分。
7: 根据权利要求1所述的方法,其中: 所述群组读取操作包括针对所述相邻非易失性存储元件的第一条件的测试、针对 所述相邻非易失性存储元件的第二条件的测试及针对所述相邻非易失性存储元件 的第三条件的测试; 所述组读取操作包括第一子组读取操作、第二子组读取操作、第三子组读取操作 及第四子组读取操作; 所述第一子组读取操作包括向所述相邻非易失性存储元件施加第一电压的多个 读取操作,所述第一电压与所述第一条件相关联; 所述第二子组读取操作包括向所述相邻非易失性存储元件施加第二电压的多个 读取操作,所述第二电压与所述第二条件而非所述第一条件相关联; 所述第三子组读取操作包括向所述相邻非易失性存储元件施加第三电压的多个 读取操作,所述第三电压与所述第三条件相关联;且 所述第四子组读取操作包括向所述相邻非易失性存储元件施加第四电压的多个 读取操作。
8: 根据权利要求7所述的方法,其中: 在针对所述第一条件的所述测试之后且在针对所述第二条件的所述测试之前执 行所述第一子组读取操作; 在针对所述第二条件的所述测试之后且在针对所述第三条件的所述测试之前执 行所述第二子组读取操作;且 在针对所述第三条件的所述测试之后执行所述第三子组读取操作。
9: 根据权利要求8所述的方法,其进一步包含: 将所述群组读取操作的结果存储于第一一位锁存器中; 将所述组所述读取操作的结果存储于所述第一一位锁存器及第二一位锁存器中; 及 使用第三一位锁存器以指示所述第一一位锁存器及第二一位锁存器是否具有来 自所述组所述读取操作的有效数据。
10: 根据权利要求1所述的方法,其中: 所述群组读取操作包括针对所述相邻非易失性存储元件的第一条件的测试、针对 所述相邻非易失性存储元件的第二条件的测试、针对所述相邻非易失性存储元件的 第三条件的测试及针对所述相邻非易失性存储元件的第四条件的测试; 第一组读取操作包括第一子组读取操作、第二子组读取操作及第三子组读取操 作; 所述第一子组读取操作包括向所述相邻非易失性存储元件施加第一电压的多个 读取操作,所述第一电压与所述第一条件相关联; 所述第二子组读取操作包括向所述相邻非易失性存储元件施加第二电压的多个 读取操作,所述第二电压与所述第二条件及所述第三条件相关联; 所述第三子组读取操作包括向所述相邻非易失性存储元件施加第三电压的多个 读取操作,所述第三电压与所述第四条件相关联; 在针对所述第一条件的所述测试之后且在针对所述第二条件的所述测试之前执 行所述第一子组读取操作; 在针对所述第二条件的所述测试及针对所述第三条件的所述测试之后执行所述 第二子组读取操作,在针对所述第四条件的所述测试之前执行第二组读取操作;且 在针对所述第四条件的所述测试之后执行所述第三子组读取操作。
11: 根据权利要求1所述的方法,其中: 所述群组读取操作包括针对所述相邻非易失性存储元件的第一条件的测试、针对 所述相邻非易失性存储元件的第二条件的测试及针对所述相邻非易失性存储元件 的第三条件的测试; 所述相邻非易失性存储元件能够处于第四条件中; 所述组读取操作包括第一子组读取操作及第二子组读取操作; 所述第一子组读取操作包括向所述相邻非易失性存储元件施加第一电压的多个 读取操作,所述第一电压与所述第一条件及所述第四条件相关联; 所述第二子组读取操作包括向所述相邻非易失性存储元件施加第二电压的多个 读取操作,所述第二电压与所述第二条件及所述第三条件相关联; 在针对所述第一条件的所述测试之后且在针对所述第二条件的所述测试之前执 行所述第一子组读取操作;且 在针对所述第二条件的所述测试及针对所述第三条件的所述测试之后执行所述 第二子组读取操作。
12: 根据权利要求1所述的方法,其中: 所述群组读取操作包括针对所述相邻非易失性存储元件的第一条件的测试、针对 所述相邻非易失性存储元件的第二条件的测试、针对所述相邻非易失性存储元件的 第三条件的测试及针对所述相邻非易失性存储元件的第四条件的测试; 所述组读取操作包括第一读取操作、第二读取操作及第三读取操作; 所述第一读取操作包括向所述相邻非易失性存储元件施加第一电压,所述第一电 压与所述第一条件相关联; 所述第二读取操作包括向所述相邻非易失性存储元件施加第二电压,所述第二电 压与所述第二条件及所述第三条件相关联; 所述第三读取操作包括向所述相邻非易失性存储元件施加第三电压,所述第三电 压与所述第四条件相关联, 在针对所述第一条件的所述测试之后且在针对所述第二条件的所述测试之前执 行所述第一读取操作; 在针对所述第二条件的所述测试及针对所述第三条件的所述测试之后执行所述 第二读取操作,在针对所述第四条件的所述测试之前执行所述第二读取操作;且 在针对所述第四条件的所述测试之后执行所述第三读取操作。
13: 根据权利要求1所述的方法,其中: 在开始所述组读取操作之前开始所述群组读取操作中的至少一个读取操作。
14: 根据权利要求1所述的方法,其中: 所述目标非易失性存储元件及所述相邻非易失性存储元件为共同NAND串上的 多状态NAND快闪存储器装置。
15: 一种非易失性存储系统,其包含: 一组非易失性存储元件,其包括目标非易失性存储元件及相邻非易失性存储元 件,所述相邻非易失性存储元件邻接于所述目标非易失性存储元件;及 一个或一个以上管理电路,其与所述组非易失性存储元件通信,作为用以从所述 目标非易失性存储元件读取数据的尝试的部分,所述一个或一个以上管理电路对所 述目标非易失性存储元件执行一组读取操作且对所述相邻非易失性存储元件执行 一群组读取操作,所述群组读取操作中的一者或一者以上被在时间上与所述组读取 操作中的至少一部分混合,所述组读取操作包括向所述相邻非易失性存储元件施加 不同电压,所述一个或一个以上管理电路基于所述群组读取操作而选择所述组读取 操作的子组,且基于所述所选子组而识别存储于所述目标非易失性存储元件中的所 述数据。
16: 根据权利要求15所述的非易失性存储系统,其中: 所述不同电压中的每一者与所述相邻非易失性存储元件的不同条件相关联。
17: 根据权利要求15所述的非易失性存储系统,其中: 所述组读取操作包括第一子组读取操作及第二子组读取操作; 所述第一子组读取操作包括向所述相邻非易失性存储元件施加第一电压的多个 读取操作;且 所述第二子组读取操作包括向所述相邻非易失性存储元件施加第二电压的多个 读取操作。
18: 根据权利要求15所述的非易失性存储系统,其中: 所述目标非易失性存储元件及所述相邻非易失性存储元件为包括其它非易失性 存储元件的NAND串的部分; 所述组读取操作中的至少一个读取操作向所述目标非易失性存储元件施加读取 比较电压,向所述相邻非易失性存储元件施加第一电压且向所述其它非易失性存储 元件施加其它电压; 所述组读取操作中的至少另一读取操作向所述目标非易失性存储元件施加所述 读取比较电压,向所述相邻非易失性存储元件施加第二电压且向所述其它非易失性 存储元件施加所述其它电压;且 所述其它电压不同于所述第一电压。
19: 根据权利要求15所述的非易失性存储系统,其进一步包含: 一组锁存器,其由所述目标非易失性存储元件与所述相邻非易失性存储元件共 享,所述一个或一个以上管理电路通过将数据存储于所述锁存器中用于所述子组的 一个锁存器中来选择所述组读取操作的所述子组,因为所述子组与所述相邻非易失 性存储元件的特定条件相关联,所述群组读取操作识别所述特定条件。
20: 根据权利要求15所述的非易失性存储系统,其中: 所述一个或一个以上管理电路通过向与所述非易失性存储系统通信的主机提供 数据来识别所述数据。
21: 根据权利要求15所述的非易失性存储系统,其中: 所述群组读取操作包括针对所述相邻非易失性存储元件的第一条件的测试、针对 所述相邻非易失性存储元件的第二条件的测试及针对所述相邻非易失性存储元件 的第三条件的测试; 所述组读取操作包括第一子组读取操作、第二子组读取操作、第三子组读取操作 及第四子组读取操作; 所述第一子组读取操作包括向所述相邻非易失性存储元件施加第一电压的多个 读取操作,所述第一电压与所述第一条件相关联; 所述第二子组读取操作包括向所述相邻非易失性存储元件施加第二电压的多个 读取操作,所述第二电压与所述第二条件而非所述第一条件相关联; 所述第三子组读取操作包括向所述相邻非易失性存储元件施加第三电压的多个 读取操作,所述第三电压与所述第三条件相关联; 所述第四子组读取操作包括向所述相邻非易失性存储元件施加第四电压的多个 读取操作; 所述一个或一个以上管理电路在针对所述第一条件的所述测试之后且在针对所 述第二条件的所述测试之前执行所述第一子组读取操作; 所述一个或一个以上管理电路在针对所述第二条件的所述测试之后且在针对所 述第三条件的所述测试之前执行所述第二子组读取操作;且 所述一个或一个以上管理电路在针对所述第三条件的所述测试之后执行所述第 三子组读取操作。
22: 根据权利要求15所述的非易失性存储系统,其进一步包含: 一组锁存器,其包括第一一位锁存器、第二一位锁存器及第三一位锁存器; 其中所述一个或一个以上管理电路将所述群组读取操作的结果存储于所述第一 一位锁存器中,所述一个或一个以上管理电路将所述组所述读取操作的结果存储于 所述第一一位锁存器及第二一位锁存器中,所述一个或一个以上管理电路使用所述 第三一位锁存器以指示所述第一一位锁存器及第二一位锁存器是否具有来自所述 组所述读取操作的有效数据。
23: 根据权利要求15所述的非易失性存储系统,其中: 所述群组读取操作包括针对所述相邻非易失性存储元件的第一条件的测试、针对 所述相邻非易失性存储元件的第二条件的测试、针对所述相邻非易失性存储元件的 第三条件的测试及针对所述相邻非易失性存储元件的第四条件的测试; 第一组读取操作包括第一子组读取操作、第二子组读取操作及第三子组读取操 作; 所述第一子组读取操作包括向所述相邻非易失性存储元件施加第一电压的多个 读取操作,所述第一电压与所述第一条件相关联; 所述第二子组读取操作包括向所述相邻非易失性存储元件施加第二电压的多个 读取操作,所述第二电压与所述第二条件及所述第三条件相关联; 所述第三子组读取操作包括向所述相邻非易失性存储元件施加第三电压的多个 读取操作,所述第三电压与所述第四条件相关联; 所述第一子组读取操作在针对所述第一条件的所述测试之后且在针对所述第二 条件的所述测试之前执行; 所述第二子组读取操作在针对所述第二条件的所述测试及针对所述第三条件的 所述测试之后执行,第二组读取操作在针对所述第四条件的所述测试之前执行;且 所述第三子组读取操作在针对所述第四条件的所述测试之后执行。
24: 根据权利要求15所述的非易失性存储系统,其中: 所述群组读取操作包括针对所述相邻非易失性存储元件的第一条件的测试、针对 所述相邻非易失性存储元件的第二条件的测试及针对所述相邻非易失性存储元件 的第三条件的测试; 所述相邻非易失性存储元件能够处于第四条件中; 所述组读取操作包括第一子组读取操作及第二子组读取操作; 所述第一子组读取操作包括向所述相邻非易失性存储元件施加第一电压的多个 读取操作,所述第一电压与所述第一条件及所述第四条件相关联; 所述第二子组读取操作包括向所述相邻非易失性存储元件施加第二电压的多个 读取操作,所述第二电压与所述第二条件及所述第三条件相关联; 所述第一子组读取操作在针对所述第一条件的所述测试之后且在针对所述第二 条件的所述测试之前执行;且 所述第二子组读取操作在针对所述第二条件的所述测试及针对所述第三条件的 所述测试之后执行。
25: 根据权利要求15所述的非易失性存储系统,其中: 所述群组读取操作包括针对所述相邻非易失性存储元件的第一条件的测试、针对 所述相邻非易失性存储元件的第二条件的测试、针对所述相邻非易失性存储元件的 第三条件的测试及针对所述相邻非易失性存储元件的第四条件的测试; 所述第一组读取操作包括第一读取操作、第二读取操作及第三读取操作; 所述第一读取操作包括向所述相邻非易失性存储元件施加第一电压,所述第一电 压与所述第一条件相关联; 所述第二读取操作包括向所述相邻非易失性存储元件施加第二电压,所述第二电 压与所述第二条件及所述第三条件相关联; 所述第三读取操作包括向所述相邻非易失性存储元件施加第三电压,所述第三电 压与所述第四条件相关联; 所述第一读取操作在针对所述第一条件的所述测试之后且在针对所述第二条件 的所述测试之前执行; 所述第二读取操作在针对所述第二条件的所述测试及针对所述第三条件的所述 测试之后执行,所述第二读取操作在针对所述第四条件的所述测试之前执行;且 所述第三读取操作在针对所述第四条件的所述测试之后执行。
26: 根据权利要求15所述的非易失性存储系统,其中: 所述组非易失性存储元件为多状态快闪存储器装置。
27: 根据权利要求15所述的非易失性存储系统,其中: 所述组非易失性存储元件为多状态NAND快闪存储器装置。

说明书


通过考虑相邻存储器单元的所存储状态来读取非易失性存储器单元

    【技术领域】

    本发明涉及用于非易失性存储装置的技术。

    背景技术

    半导体存储器已变得越来越普遍用于各种电子装置中。举例来说,非易失性半导体存储器用于蜂窝式电话、数码相机、个人数字助理、移动计算装置、非移动计算装置及其它装置中。电可擦除可编程只读存储器(EEPROM)及快闪存储器属于最普遍的非易失性半导体存储器。

    EEPROM及快闪存储器两者均利用定位于半导体衬底中的沟道区上方且与沟道区绝缘的浮动栅极。所述浮动栅极定位于源极区与漏极区之间。控制栅极提供于浮动栅极上方且与浮动栅极绝缘。晶体管的阈值电压由保持于浮动栅极上的电荷量来控制。也就是说,在接通晶体管以准许其源极与漏极之间导通之前必须施加到控制栅极的最小电压量由浮动栅极上的电荷电平来控制。

    在对EEPROM或快闪存储器装置(例如NAND快闪存储器装置)进行编程时,通常向控制栅极施加编程电压且将位线接地。来自沟道的电子注入浮动栅极中。当电子在浮动栅极中累积时,浮动栅极变得带负电,且存储器单元的阈值电压升高,使得存储器单元处于已编程状态。关于编程的更多信息可参见标题为“用于非易失性存储器的源极侧自升压技术(Source Side Self Boosting Technique For Non-Volatile Memory)”的第6,859,397号美国专利及标题为“检测过编程存储器(Detecting Over ProgrammedMemory)”的第6,917,542号美国专利,所述两个专利的全文均以引用的方式并入本文中。

    一些EEPROM及快闪存储器装置具有用以存储两个电荷范围的浮动栅极,且因此,可在两个状态(已擦除状态与已编程状态)之间对存储器单元进行编程/擦除。此类快闪存储器装置有时称为二进制快闪存储器装置。

    通过识别由禁止范围分隔的多个相异允许/有效已编程阈值电压范围来实施多状态快闪存储器装置。每一相异阈值电压范围对应于存储器装置中所编码的该组数据位的预定值。因此,阈值电压范围可称为数据状态。

    存储于浮动栅极上的表观电荷的移位可能由于基于存储在邻近浮动栅极中的电荷的电场的耦合而发生。这种浮动栅极到浮动栅极耦合现象在第5,867,429号美国专利中描述,所述专利的全文以引用的方式并入本文中。目标浮动栅极的邻近浮动栅极可包括位于同一位线上的相邻浮动栅极、位于同一字线上的相邻浮动栅极,或与目标浮动栅极成对角线的浮动栅极,因为其位于相邻位线及相邻字线两者上。

    浮动栅极到浮动栅极耦合现象最显著地发生于已在不同时间处被编程的若干组邻近存储器单元之间。举例来说,第一存储器单元可经编程以向其浮动栅极添加对应于一组数据的电荷电平。随后,一个或一个以上邻近存储器单元经编程以向其浮动栅极添加对应于第二组数据的电荷电平。在对所述邻近存储器单元中的所述一者或一者以上进行编程之后,从第一存储器单元读取的电荷电平由于邻近存储器单元上的电荷耦合到第一存储器单元的效应而呈现为不同于所编程的电荷电平。来自邻近存储器单元的耦合可使正被读取的表观电荷电平移位达足以导致对所存储数据的错误读取的量。

    浮动栅极到浮动栅极耦合的效应对于多状态装置具有较大意义,因为在多状态装置中,所允许的阈值电压范围及禁止范围比在二进制装置中窄。因此,浮动栅极到浮动栅极耦合可导致存储器单元从所允许的阈值电压范围移位到禁止范围或移位到另一所允许的阈值电压范围。

    随着存储器单元在尺寸上继续缩减,预期阈值电压的自然编程及擦除分布会由于短沟道效应、较大氧化物厚度/耦合比率变化以及较多沟道掺杂剂波动而增大。阈值电压分布的增大可减小邻近数据状态之间的可用分隔。因此,阈值电压分布的增大将加剧邻近浮动栅极之间的耦合问题。

    此外,字线之间的空间的减小及位线之间的空间的减小也将会增大邻近浮动栅极之间的耦合。

    因此,需要减小浮动栅极之间的耦合效应。

    【发明内容】

    为了解决基于存储于相邻浮动栅极(或其它电荷存储元件)中的电荷的耦合,对目标存储器单元的读取过程将向相邻存储器单元(或其它存储器单元)提供补偿以便减小所述相邻存储器单元对所述目标存储器单元造成的耦合效应。所施加地补偿是基于相邻存储器单元的条件。为了施加正确的补偿,读取过程将至少部分地将对邻近存储器单元的读取操作与对目标存储器单元的读取操作进行混合。

    一个实施例包括:对目标非易失性存储元件执行一组读取操作作为用以读取存储于目标非易失性存储元件中的特定数据值的共同尝试的部分;对相邻非易失性存储元件执行一群组读取操作;基于所述群组读取操作而从所述组读取操作的子组中选择信息;以及基于所选信息而报告存储于目标非易失性存储元件中的数据值。将所述群组读取操作至少部分地在时间上与所述组读取操作混合。所述组读取操作的至少一子组向相邻非易失性存储元件施加不同电压。

    一个实施例包括:基于对特定非易失性存储元件的一群组读取操作而确定特定非易失性存储元件的所感知条件;以及对目标非易失性存储元件执行一组读取操作。所述特定非易失性存储元件邻接于目标非易失性存储元件。在所述群组读取操作之间执行所述组读取操作的至少一子组。所述组读取操作的不同子组向特定非易失性存储元件施加不同电压。不同电压属于特定非易失性存储元件的不同电位条件。所述组读取操作的所述子组中的一个子组与所感知条件相关。所述过程还包括基于所述组读取操作的所述子组中与所感知条件相关的所述一个子组而识别目标非易失性存储元件中的数据。

    一个实施例包括:针对第一条件而对特定非易失性存储元件进行测试;针对目标非易失性存储元件执行第一读取过程;如果特定非易失性存储元件满足第一条件,则基于第一读取过程而识别来自目标非易失性存储元件的数据;在执行第一读取过程之后,针对第二条件而对特定非易失性存储元件进行测试;针对目标非易失性存储元件执行第二读取过程;以及如果特定非易失性存储元件满足第二条件,则基于第二读取过程而识别来自目标非易失性存储元件的数据。第一读取过程包括向特定非易失性存储元件施加第一电压。所述特定非易失性存储元件邻接于目标非易失性存储元件。第二读取过程包括向特定非易失性存储元件施加第二电压。在一个实例性实施方案中,针对第一条件的测试在第一读取过程之前发生,且针对第二条件的测试在基于第一读取过程而识别来自目标非易失性存储元件的数据的步骤之后且在第二读取过程之前发生。第一电压与第一条件相关联,且第二电压与第二条件相关联。

    一个实例性实施方案包含多个非易失性存储元件及与所述多个非易失性存储元件通信的一个或一个以上管理电路,所述管理电路用于执行本文所论述的过程。

    【附图说明】

    图1为NAND串的俯视图。

    图2为NAND串的等效电路图。

    图3为非易失性存储器系统的框图。

    图4为描绘感测块的一个实施例的框图。

    图5为描绘存储器阵列的一个实施例的框图。

    图6描绘一组实例性阈值电压分布且描述用于对非易失性存储器进行编程的过程。

    图7A到图7C展示各种阈值电压分布且描述用于对非易失性存储器进行编程的过程。

    图8为描绘对非易失性存储器进行编程的次序的一个实例的表。

    图9描绘描述用于对非易失性存储器进行编程的过程的一个实施例的流程图。

    图10描绘描述对非易失性存储器的读取操作的一个实施例的时序图。

    图11描绘描述用于读取非易失性存储器的过程的一个实施例的流程图。

    图12描绘描述在读取非易失性存储器时所使用的过程的一个实施例的流程图。

    图13描绘描述在读取非易失性存储器时所使用的过程的一个实施例的流程图。

    图14描绘描述在读取非易失性存储器时所使用的过程的一个实施例的流程图。

    图15描绘描述在读取非易失性存储器时所使用的过程的一个实施例的流程图。

    图16描绘描述在读取非易失性存储器时所使用的过程的一个实施例的流程图。

    图17描绘描述在读取非易失性存储器时所使用的过程的一个实施例的流程图。

    图18描绘描述在读取非易失性存储器时所使用的过程的一个实施例的流程图。

    图19描绘描述在读取非易失性存储器时所使用的过程的一个实施例的流程图。

    【具体实施方式】

    快闪存储器系统的一个实例使用NAND结构,其包括将多个晶体管串联布置夹于两个选择栅极之间。所述串联的晶体管及所述选择栅极被称为NAND串。图1为展示一个NAND串的俯视图。图2为其等效电路。图1及图2中所描绘的NAND串包括串联且夹于第一(或漏极)选择栅极120与第二(或源极)选择栅极122之间的四个晶体管100、102、104及106。选择栅极120经由位线触点126而将NAND串连接到位线。选择栅极122将NAND串连接到源极线128。通过向选择线SGD施加适当电压而控制选择栅极120。通过向选择线SGS施加适当电压而控制选择栅极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。

    请注意,虽然图1及图2展示NAND串中有四个存储器单元,但四个晶体管的使用仅被提供作为实例。NAND串可具有四个以下存储器单元或四个以上存储器单元。举例来说,一些NAND串将包括八个存储器单元、16个存储器单元、32个存储器单元、64个存储器单元、128个存储器单元等等。本文中的论述不限于NAND串中的任何特定数目的存储器单元。

    使用NAND结构的快闪存储器系统的典型结构将包括若干NAND串。每一NAND串通过其受选择线SGS控制的源极选择栅极而连接到源极线,且通过其受选择线SGD控制的漏极选择栅极而连接到其相关联的位线。每一位线及经由位线触点连接到所述位线的相应NAND串组成存储器单元阵列的列。位线由多个NAND串共享。通常,位线在NAND串之上在垂直于字线的方向上延伸且连接到一个或一个以上感测放大器。

    每一存储器单元可存储数据(模拟或数字)。当存储一个数字数据位(称为二进制存储器单元)时,存储器单元的可能阈值电压的范围经划分为被指派逻辑数据“1”及“0”的两个范围。在NAND型快闪存储器的一个实例中,在存储器单元被擦除之后阈值电压为负且被定义为逻辑“1”。在编程之后的阈值电压为正且被定义为逻辑“0”。当阈值电压为负且通过向控制栅极施加0伏而尝试读取时,存储器单元将接通以指示正存储逻辑1。当阈值电压为正且通过向控制栅极施加0伏而尝试读取操作时,存储器单元将不接通,这指示存储逻辑0。

    存储器单元还可存储多个信息级(称为多状态存储器单元)。在存储多个数据级的情况下,可能阈值电压的范围经划分为数据级的数目。举例来说,如果存储四个信息级(两个数据位),则将存在四个阈值电压范围,其被指派给数据值“11”、“10”、“01”及“00”。在NAND型存储器的一个实例中,在擦除操作之后的阈值电压为负且被定义为“11”。正阈值电压用于数据状态“10”、“01”及“00”。如果存储八个信息级(三个数据位),则将存在八个阈值电压范围,其被指派给数据值“000”、“001”、“010”、“011”、“100”、“101”、“110”及“111”。被编程到存储器单元中的数据与所述单元的阈值电压电平之间的特定关系取决于针对单元所采用的数据编码方案。举例来说,第6,222,762号美国专利及第2004/0255090号美国专利申请公开案描述了用于多状态快闪存储器单元的各种数据编码方案,所述专利文献两者的全文均以引用的方式并入本文中。在一个实施例中,使用格雷码指派来向阈值电压范围指派数据值,使得如果浮动栅极的阈值电压错误地移位到其相邻物理状态,则将仅影响一个位。

    在以下美国专利/专利申请案中提供NAND型快闪存储器及其操作的相关实例,所有所述专利文献均以引用的方式并入本文中:第5,570,315号美国专利;第5,774,397号美国专利;第6,046,935号美国专利;第6,456,528号美国专利;以及第US2003/0002348号美国专利公开案。本文中的论述还可应用于除NAND以外的其它类型的快闪存储器以及其它类型的非易失性存储器。

    还可使用除NAND快闪存储器以外的其它类型的非易失性存储装置。举例来说,还可配合本发明而使用所谓的TANOS结构(由硅衬底上的TaN-Al2O3-SiN-SiO2堆叠层构成),其基本上是使用在氮化物层(代替浮动栅极)中的电荷俘获的存储器单元。在快闪EEPROM系统中有用的另一类型的存储器单元利用非传导性介电材料来替代传导性浮动栅极以便以非易失性方式存储电荷。此类单元在陈(Chan)等人所著的文章“真正的单晶体管氧化物-氮化物-氧化物EEPROM装置(A True Single-TransistorOxide-Nitride-Oxide EEPROM Device)”(IEEE电子装置快报,第EDL-8卷,第3号,1987年3月,第93到95页)中描述。由氧化硅、氮化硅及氧化硅(“ONO”)形成的三层式电介质夹子传导性控制栅极与半传导性衬底的表面之间位于存储器单元沟道上方。通过从单元沟道向氮化物中注入电子来对单元进行编程,在氮化物中将电子俘获并存储于有限区中。此所存储的电荷接着以可检测的方式来改变单元的沟道的一部分的阈值电压。通过向氮化物中注入热空穴来对单元进行擦除。还请参见野崎(Nozaki)等人的“用于半导体磁盘应用的具有MONOS存储器单元的1-Mb EEPROM(A 1-Mb EEPROM withMONOS Memory Cell for Semiconductor Disk Application)”(IEEE固态电路杂志,第26卷,第4号,1991年4月,第497到501页),其描述具有分裂式栅极配置的类似单元,其中掺杂多晶硅栅极在存储器单元沟道的一部分上方延伸以形成单独的选择晶体管。前述两篇文章的全文以引用的方式并入本文中。在由威廉·D·布朗(William D.Brown)及乔·E·布鲁尔(Joe E.Brewer)编辑的“非易失性半导体存储器技术(NonvolatileSemiconductor Memory Technology)”(IEEE出版社,1998年,其以引用的方式并入本文中)的章节1.2中提及的编程技术也在所述章节中经描述为可应用于介电电荷俘获装置。还可使用其它类型的存储器装置。

    图3说明具有用于并行地对存储器单元(例如,NAND多状态快闪存储器)页进行读取及编程的读取/写入电路的存储器装置210。存储器装置210可包括一个或一个以上存储器裸片或芯片212。存储器裸片212包括存储器单元阵列(二维或三维)200、控制电路220以及读取/写入电路230A及230B。在一个实施例中,在阵列的相对侧上以对称方式实施由各种外围电路进行的对存储器阵列200的存取,从而使每一侧上的存取线及电路的密度减半。读取/写入电路230A及230B包括多个感测块300,其允许并行地对存储器单元页进行读取或编程。存储器阵列100可由字线经由行解码器240A及240B且由位线经由列解码器242A及242B来寻址。在典型实施例中,控制器244与所述一个或一个以上存储器裸片212包括于同一存储器装置210(例如,可移除式存储卡或封装)中。经由线232在主机与控制器244之间且经由线234在控制器与所述一个或一个以上存储器裸片212之间传送命令及数据。

    控制电路220与读取/写入电路230A及230B协作以对存储器阵列200执行存储器操作。控制电路220包括状态机222、芯片上地址解码器224及功率控制模块226。状态机222提供对存储器操作的芯片级控制。芯片上地址解码器224提供主机或存储器控制器所使用的地址与解码器240A、240B、242A及242B所使用的硬件地址之间的地址接口。功率控制模块226控制在存储器操作期间供应到字线及位线的功率及电压。在一个实施例中,功率控制模块226包括一个或一个以上电荷泵,所述电荷泵可产生比电源电压大的电压。

    在一个实施例中,控制电路221、功率控制电路226、解码器电路224、状态机电路222、解码器电路242A、解码器电路242B、解码器电路240A、解码器电路240B、读取/写入电路230A、读取/写入电路230B及/或控制器244中的一者或任一组合可称为一个或一个以上管理电路。

    图4为个别感测块300的框图,所述感测块300被分割为称为感测模块480的核心部分及共同部分490。在一个实施例中,将针对每一位线存在单独的感测模块480且针对一组多个感测模块480存在一个共同部分490。在一个实例中,感测块将包括一个共同部分490及八个感测模块480。一群组中的感测模块中的每一者将经由数据总线472而与相关联的共同部分通信。关于进一步细节,请参看第2006/0140007号美国专利申请公开案,其全文以引用的方式并入本文中。

    感测模块480包含感测电路470,其确定所连接的位线中的传导电流是高于还是低于预定阈值电平。在一些实施例中,感测模块480包括通常称为感测放大器的电路。感测模块480还包括用以设定所连接的位线上的电压条件的位线锁存器482。举例来说,锁存于位线锁存器482中的预定状态将导致所连接的位线被拉到指示编程抑制的状态(例如,Vdd)。

    共同部分490包含处理器492、一组数据锁存器494以及耦合于所述组数据锁存器494与数据总线420之间的I/O接口496。处理器492执行计算。举例来说,其功能之一是确定存储于所感测的存储器单元中的数据及将所确定的数据存储于所述组数据锁存器中。所述组数据锁存器494用以存储在读取操作期间由处理器492确定的数据位。其还用以存储在编程操作期间从数据总线420引入的数据位。所引入的数据位表示打算被编程到存储器中的写入数据。I/O接口496在数据锁存器494与数据总线420之间提供接口。

    在读取或感测期间,系统的操作处于状态机222的控制下,所述状态机222控制将不同控制栅极电压供应到所寻址的单元。随着步进通过对应于存储器所支持的各种存储器状态的各种预定义控制栅极电压,感测模块480可在这些电压中的一者处跳脱,且输出将从感测模块480经由总线472而被提供到处理器492。在那点处,处理器492通过考虑感测模块的跳脱事件及关于从状态机经由输入线493施加的控制栅极电压的信息来确定所得存储器状态。其接着针对所述存储器状态计算二进制编码且将所得数据位存储到数据锁存器494中。在核心部分的另一实施例中,位线锁存器482服务于双重用途,作为用于锁存感测模块480的输出的锁存器且还作为如上文描述的位线锁存器。

    预期一些实施方案将包括多个处理器492。在一个实施例中,每一处理器492将包括输出线(图4中未描绘),使得输出线中的每一者被线或在一起。在一些实施例中,输出线在被连接到线或线之前经反转。此配置使得能够在编程验证过程期间快速确定何时编程过程已完成,因为接收线或线的状态机可确定何时正被编程的所有位已达到所需电平。举例来说,当每一位已达到其所需电平时,所述位的逻辑零将被发送到线或线(或者数据1被反转)。当所有位均输出数据0(或经反转的数据1)时,于是状态机知道要终止编程过程。在每一处理器与八个感测模块通信的实施例中,状态机可能(在一些实施例中)需要读取线或线八次,或者将逻辑添加到处理器492以累积相关联的位线的结果,使得状态机仅需读取线或线一次。

    在编程或验证期间,从数据总线420将待编程的数据存储于所述组数据锁存器494中。处于状态机的控制下的编程操作包含施加到所寻址的存储器单元的控制栅极的一系列编程电压脉冲(其具有递增的量值)。每一编程脉冲之后是用以确定存储器单元是否已被编程到所需状态的验证过程。处理器492对照所需存储器状态来监视所验证的存储器状态。当两者一致时,处理器492设定位线锁存器482以便致使将位线拉到指示编程抑制的状态。这抑制经耦合到所述位线的单元使其免于进一步编程,即使其在其控制栅极上经受编程脉冲。在其它实施例中,处理器最初加载位线锁存器482,且感测电路在验证过程期间将其设定为抑制值。

    数据锁存器堆叠494含有对应于感测模块的一堆数据锁存器。在一个实施例中,每感测模块480存在三个(或四个,或另一数目)数据锁存器。由于感测模块与位线(且因此,特定块中的NAND串)相关联,所以每NAND串存在三个数据锁存器(例如,L1、L2及L3)。因此,特定存储器单元及其在同一NAND串上的相邻者共享共同组三个锁存器。在一个实施例中,锁存器各自为一个位。

    在一些实施方案中(但并不要求),将数据锁存器实施为移位寄存器,使得将存储于其中的并行数据转换成串行数据以用于数据总线420,且反之亦然。在一个优选实施例中,对应于具有m个存储器单元的读取/写入块的所有数据锁存器可被链接在一起以形成块移位寄存器,使得可通过串行传送来输入或输出数据块。明确地说,读取/写入模块组合经调适以使得它那组数据锁存器中的每一数据锁存器将顺序地将数据移入数据总线或移出数据总线,如同所述数据锁存器为用于整个读取/写入块的移位寄存器的部分。

    关于非易失性存储装置的各种实施例的结构及/或操作的额外信息可参见以下文献:(1)2004年3月25日公开的第2004/0057287号美国专利申请公开案“具有减少的源极线偏置错误的非易失性存储器及方法(Non-Volatile Memory And Method With ReducedSource Line Bias Errors)”;(2)2004年6月10日公开的第2004/0109357号美国专利申请公开案“具有改进的感测的非易失性存储器及方法(Non-Volatile Memory And Methodwith Improved Sensing)”;(3)第20050169082号美国专利申请公开案;(4)2005年4月5日申请的发明人为陈建(Jian Chen)且标题为“在非易失性存储器读取操作期间补偿耦合(Compensating for Coupling During Read Operations of Non-Volatile Memory)”的第11/099,133号美国专利申请案;以及(5)2005年12月28日申请的发明人为陈小龙(Siu Lung Chan)及劳尔-阿德里安·切尔内亚(Raul-Adrian Cernea)且标题为“用于非易失性存储器的参考感测放大器(Reference Sense Amplifier For Non-Volatile Memory)”的第11/321,953号美国专利申请案。所有五个以上列出的专利文献的全文均以引用的方式并入本文中。

    图5描绘存储器单元阵列200的示范性结构。在一个实施例中,将存储器单元阵列划分为大量存储器单元块。如对于快闪EEPROM系统来说为常见的,块是擦除单位。也就是说,每一块含有一起被擦除的最小数目的存储器单元。通常将每一块划分为许多页。页是编程单位。通常将一个或一个以上数据页存储于一行存储器单元中。一页可存储一个或一个以上扇区。扇区包括用户数据及额外开销数据。额外开销数据通常包括已根据扇区的用户数据而计算出的错误校正码(ECC)。控制器(下文描述)的一部分在数据正被编程到阵列中时计算ECC,且还在数据正被从阵列读取时检查ECC。或者,将ECC及/或其它额外开销数据存储于与其所属于的用户数据不同的页中或甚至不同的块中。用户数据扇区通常为512字节,其对应于磁盘驱动器中的扇区的大小。大量页形成块,在从(例如)8个页到高达32个、64个、128个或更多页。

    在另一实施例中,将位线划分为偶数位线及奇数位线。在奇数/偶数位线结构中,在一个时间对沿共同字线且连接到奇数位线的存储器单元进行编程,而在另一时间对沿共同字线且连接到偶数位线的存储器单元进行编程。

    图5展示串联连接以形成NAND串的四个存储器单元。虽然展示每一NAND串中包括四个单元,但可使用四个以上或四个以下单元(例如,16个、32个、64个、128个或另一数目的存储器单元可处于NAND串上)。NAND串的一个端子经由漏极选择栅极(连接到选择栅极漏极线SGD)连接到对应位线,且另一端子经由源极选择栅极(连接到选择栅极源极线SGS)连接到源极线。

    在成功编程过程(连同验证)的末尾,存储器单元的阈值电压应适当地处于用于已编程的存储器单元的一个或一个以上阈值电压分布内或处于用于已擦除的存储器单元的阈值电压分布内。图6说明当每一存储器单元存储两个数据位时的用于存储器单元阵列的实例性阈值电压分布。然而,其它实施例可每存储器单元使用两个以上或两个以下数据位(例如,每存储器单元使用三个数据位)。图6展示用于已擦除的存储器单元的第一阈值电压分布E。还描绘用于已编程的存储器单元的三个阈值电压分布A、B及C。在一个实施例中,E分布中的阈值电压为负且A、B及C分布中的阈值电压为正。

    图6的每一相异阈值电压范围对应于所述组数据位的预定值。被编程到存储器单元中的数据与所述单元的阈值电压电平之间的特定关系取决于针对单元所采用的数据编码方案。在一个实施例中,使用格雷码指派来向阈值电压范围指派数据值,使得如果浮动栅极的阈值电压错误地移位到其相邻物理状态,则将仅影响一个位。一个实例向阈值电压范围E(状态E)指派“11”,向阈值电压范围A(状态A)指派“10”,向阈值电压范围B(状态B)指派“00”,且向阈值电压范围C(状态C)指派“01”。然而,在其它实施例中,不使用格雷码。

    在一个实施例中,用于每一状态的两个数据位处于不同页中。参看图6的过程的状态E,两个页均存储“1”。参看状态A,上部页存储位1且下部页存储位0。参看状态B,两个页均存储“0”。参看状态C,上部页存储位0且下部页存储位1。

    在另一实施例中,用于每一状态的两个数据位处于同一页中。虽然图11展示四个状态,但还可配合其它多状态结构(包括那些包括四个以上或四个以下状态的结构)来使用本发明。

    图6还展示用于从存储器单元读取数据的三个读取参考电压Vra、Vrb及Vrc。通过测试给定存储器单元的阈值电压是高于还是低于Vra、Vrb及Vrc,系统可确定存储器单元处于何种状态。Vra、Vrb及Vrc的实例性值包括Vra=0v,Vrb=1.25v且Vrc=2.65v。另一组实例包括Vra=0v,Vrb=1.35v且Vrc=2.6v。Vra、Vrb及Vrc的其它实例性值分别为0.0V、1.25V及2.5V。还可使用其它值。

    图6还展示三个验证参考电压Vva、Vvb及Vvc。在将存储器单元编程到状态A时,系统将测试那些存储器单元是否具有大于或等于Vva的阈值电压。在将存储器单元编程到状态B时,系统将测试存储器单元是否具有大于或等于Vvb的阈值电压。在将存储器单元编程到状态C时,系统将确定存储器单元的阈值电压是否大于或等于Vvc。Vva、Vvb及Vvc的实例性值包括Vva=0.40v,Vvb=1.80v且Vvc=3.35v。另一组实例包括Vva=0.5v,Vvb=1.9v且Vvc=3.3v。Vva、Vvb及Vvc的其它实例性值分别为0.5V、1.8V及3.2V。还可使用其它值。

    在一个实施例中,作为通常所说的全序列编程,可直接将存储器单元从已擦除状态E编程到已编程状态A、B或C中的任一者。举例来说,可首先对待编程的存储器单元群体进行擦除,使得所述群体中的所有存储器单元处于已擦除状态E。在将一些存储器单元从状态E编程到状态A的同时,将其它存储器单元从状态E编程到状态B且/或从状态E编程到状态C。全序列编程由图6的三个弯箭头以图形方式描绘。

    图7A到图7C揭示用于对非易失性存储器进行编程的另一过程,其通过针对任一特定存储器单元在针对先前页对邻近存储器单元进行写入之后相对于特定页对所述特定存储器单元进行写入来减小浮动栅极到浮动栅极耦合的效应。在由图7A到图7C教示的过程的实施方案的一个实例中,非易失性存储器单元使用四个数据状态来每存储器单元存储两个数据位。举例来说,假设状态E为已擦除状态且状态A、B及C为已编程状态。状态E存储数据11。状态A存储数据01。状态B存储数据10。状态C存储数据00。这是非格雷译码的实例,因为在邻近状态A与B之间两个位均改变。还可使用数据到物理数据状态的其它编码。每一存储器单元在两个页中存储数据。出于参考目的,将这些数据页称为上部页及下部页;然而,可给予它们其它标签。参看图7A到图7C的过程的状态A,上部页存储位0且下部页存储位1。参看状态B,上部页存储位1且下部页存储位0。参看状态C,两个页均存储位数据0。

    图7A到图7C的编程过程为两步式过程。在第一步骤中,对下部页进行编程。如果下部页将保持数据1,则存储器单元状态保持于状态E。如果数据将被编程为0,则使存储器单元的电压的阈值升高,使得存储器单元被编程到状态B′。因此,图7A展示存储器单元从状态E到状态B′的编程。图7A中所描绘的状态B′为中间状态B;因此,将验证点描绘为Vvb′,其低于Vvb。

    在一个实施例中,在将存储器单元从状态E编程到状态B′之后,接着将对其在NAND串中的相邻存储器单元(连接到WLn+1)相对于其下部页来进行编程。举例来说,在对连接到WL0的存储器单元的下部页进行编程之后,将对处于同一NAND串上但连接到WL1的存储器单元(相邻存储器单元)的下部页进行编程。在对相邻存储器单元进行编程之后,浮动栅极到浮动栅极耦合效应将使待编程的较早存储器单元的表观阈值电压升高(如果所述较早存储器单元具有从状态E升高到状态B′的阈值电压)。这将具有加宽状态B′的阈值电压分布的效应,如在图7B中所描绘。阈值电压分布的此表观加宽将在对上部页进行编程时矫正。

    图7C描绘对上部页进行编程的过程。如果存储器单元处于已擦除状态E且上部页将保持于1,则存储器单元将保持于状态E。如果存储器单元处于状态E且其上部页数据将被编程为0,则存储器单元的阈值电压将升高,使得存储器单元处于状态A。如果存储器单元处于中间阈值电压分布550中且上部页数据将保持于1,则存储器单元将被编程到最终状态B。如果存储器单元处于中间阈值电压分布550中且上部页数据将变为数据0,则存储器单元的阈值电压将升高,使得存储器单元处于状态C。图7A到图7C所描绘的过程减小浮动栅极之间的耦合效应,因为仅相邻存储器单元的上部页编程将对给定存储器单元的表观阈值电压具有影响。

    虽然图7A到图7C提供相对于四个数据状态及两个数据页的实例,但图7A到图7C所教示的概念可应用于具有四个以上或四个以下状态、不同于两个的页及/或其它数据编码的其它实施方案。

    图8为描述利用图7A到图7C的编程方法来对存储器单元进行编程的次序的一个实施例的表。对于连接到字线WL0的存储器单元,下部页形成页0且上部页形成页2。对于连接到字线WL1的存储器单元,下部页形成页1且上部页形成页4。对于连接到字线WL2的存储器单元,下部页形成页3且上部页形成页6。对于连接到字线WL3的存储器单元,下部页形成页5且上部页形成页7。根据页编号(从页0到页7)而对存储器单元进行编程。在其它实施例中,还可使用其它编程次序。

    在一个实施例中,系统可经设置为在写入足够数据以填满字线的情况下执行全序列写入。如果没有写入足够数据,则编程过程可用所接收的数据来对下部页进行编程。当接收到后续数据时,系统接着将对上部页进行编程。在又一实施例中,系统可以对下部页进行编程的模式来开始写入且在随后接收到足够数据以填满整个(或大部分)字线的存储器单元的情况下转换为全序列编程模式。此类实施例的更多细节在2004年12月14日申请的发明人为塞尔吉·阿纳托里维奇·戈洛别茨(Sergy Anatolievich Gorobets)及李岩(Yan Li)且标题为“使用早期数据的对非易失性存储器的管线化编程(PipelinedProgramming of Non-Volatile Memories Using Early Data)”的公开案号为第2006/0126390号且序列号为第11/013,125号的美国专利申请案中揭示,所述申请案的全文以引用的方式并入本文中。

    虽然图6到图8描绘使用四个数据状态来每存储器单元存储两个数据位,但其它实施例可使用不同数目的数据状态来每存储器单元存储不同(或相同)数目的数据位。在一个实例中,使用八个数据状态来存储三个数据位,且本文论述的方法可适合于每存储器单元八个数据状态及三个数据位。

    图9为描述用于对连接到选定字线的存储器单元进行编程的编程过程的流程图。因此,图9的过程用于实施图6的全序列编程,或图7A到图7C的两遍式编程技术的一遍(第一遍或第二遍)。在一个实施例中,图9的过程由控制电路220且/或在控制电路220的指引下(状态机222提供控制且功率控制器226提供适当信号)执行。因为编程过程可包括对多个页进行编程,所以编程过程可包括执行图9的过程多次。

    请注意,在一些实施例(但并非全部)中,可从源极侧向漏极侧对存储器单元进行编程。举例来说,观察图5,首先对字线WL0进行编程,随后对WL1进行编程,随后对WL2进行编程等等。

    在图9的过程的一个实施方案中,在编程之前对存储器单元进行擦除(以块或其它单位)(步骤620)。在一个实施例中,通过使p阱升高到擦除电压(例如,20伏)历时充足时期且在源极线及位线为浮动的同时将选定块的字线接地来对存储器单元进行擦除。由于电容性耦合的缘故,未选定的字线、位线、选择线及源极也升高到擦除电压的相当大部分。因此向选定存储器单元的隧道氧化物层施加强电场,且在通常通过福勒-诺尔德哈姆(Fowler-Nordheim)隧穿机制而将浮动栅极的电子发射到衬底侧时擦除选定存储器单元的数据。随着电子从浮动栅极转移到p阱区,选定单元的阈值电压降低。可对整个存储器阵列、单独块或另一单位的单元执行擦除。在擦除存储器单元块之后,可如本文所描述而对各种存储器单元进行编程或部分编程。请注意,在对块的每一字线进行编程之前将不需要执行在步骤620中所执行的擦除。而是,可对块进行擦除,且接着可在无后续擦除的情况下对每一字线进行编程。

    在步骤622中,执行软编程以使已擦除的存储器单元的已擦除阈值电压分布变窄。一些存储器单元可能由于擦除过程而处于比必要深的已擦除状态。软编程可施加小编程脉冲来使已擦除的存储器单元的阈值电压移动到较紧的阈值电压分布。请注意,可在对每一页进行编程之前对块执行擦除及软编程一次。

    在步骤624中,由控制器244发布“数据加载”命令,且将其输入到状态机222。在步骤626中,向解码器电路提供指示页地址的地址数据。在步骤628中,输入所寻址页的编程数据页以用于编程。举例来说,在一个实施例中可输入528字节的数据。将所述数据锁存于用于选定位线的适当寄存器/锁存器中。在一些实施例中,还将数据锁存于用于选定位线的第二寄存器中以用于验证操作。在步骤630中,从控制器244接收“编程”命令且将其提供给状态机222。

    当由“编程”命令触发时,将使用施加到适当字线的一组脉冲来把步骤628中所锁存的数据编程到受状态机222控制的选定存储器单元中。在步骤632中,将编程电压信号Vpgm(例如,所述组脉冲)初始化为起始量值(例如,~12V或另一合适电平),且将由状态机222维持的编程计数器PC初始化为0。在步骤634中,向选定字线施加编程信号Vpgm的脉冲。

    在步骤636中,使用适当组的目标电平(例如,Vva、Vvb、Vvc)来验证选定存储器单元的数据状态。如果检测到选定存储器单元的阈值电压已达到适当目标电平,则通过升高存储器单元的位线电压来将所述存储器单元排除在用于图9的检验的剩余部分的未来编程以外。如果正被编程的所有存储器单元均已达到其目标数据状态(步骤638),则编程过程完成且成功,因为所有选定存储器单元均被编程且被验证为到其目标状态。在步骤540中报告“通过”状态。请注意,在步骤638的一些实施方案中,检查是否至少预定数目的存储器单元已被验证为已达到其目标状态。此预定数目可小于所有存储器单元的数目,进而允许编程过程在所有存储器单元已达到其适当验证电平之前停止。可在读取过程期间使用错误校正来校正未成功编程的存储器单元。

    如果在步骤638处,确定并非所有存储器单元均已达到其目标状态,则编程过程继续。在步骤650中,对照编程极限值检查编程计数器PC。编程极限值的一个实例为20;然而,在各种实施方案中可使用其它值。如果编程计数器PC不小于编程极限值,则在步骤656中确定尚未成功编程的存储器单元的数目是否等于或小于预定数目。如果未成功编程的存储器单元的数目等于或小于预定数目,则将编程过程标记为通过,且在步骤658中报告通过状态。在许多情况下,可在读取过程期间使用错误校正来校正未成功编程的存储器单元。然而,如果未成功编程的存储器单元的数目大于预定数目,则将编程过程标记为失败,且在步骤660中报告失败状态。如果编程计数器PC小于编程极限值,则使Vpgm脉冲的量值增大达步长(例如,0.2到0.4伏的步长)的量且使编程计数器PC递增。在步骤652之后,过程循环回到步骤634以施加下一Vpgm脉冲。

    一般来说,在验证操作(例如在图9的步骤636期间所执行的验证操作)及读取操作期间,将选定字线连接到一电压,所述电压的电平针对每一读取(例如,Vra、Vrb或Vrc)及验证(例如,Vva、Vvb或Vvb)操作来指定以便确定所关注的存储器单元的阈值电压是否已达到所述电平。在施加字线电压之后,测量存储器单元的传导电流以确定存储器单元是否响应于施加到字线的电压而接通。如果传导电流经测量为大于特定值,则假设存储器单元接通且施加到字线的电压大于存储器单元的阈值电压。如果传导电流未经测量为大于所述特定值,则假设存储器单元未接通且施加到字线的电压不大于存储器单元的阈值电压。

    存在许多方式来在读取或验证操作期间测量存储器单元的传导电流。在一个实例中,以存储器单元使感测放大器中的专用电容器放电或充电的速率来测量所述存储器单元的传导电流。在另一实例中,选定存储器单元的传导电流允许(或未能允许)包括所述存储器单元的NAND串使其对应位线放电。在一段时期之后测量位线(或电容器)上的电压以查看其是否已被放电。

    图10为描绘各种信号在读取或验证过程的一个迭代期间的行为的时序图。举例来说,如果存储器单元为二进制存储器单元,则可在步骤636的迭代期间针对每一存储器单元执行图10的过程一次。如果存储器单元为具有四个状态(例如,E、A、B及C)的多状态存储器单元,则可在步骤636的迭代期间针对每一存储器单元执行图10的过程三次(例如,在Vva下执行一次,在Vvb下执行一次及在Vvc下执行一次)。

    图10展示用于读取或验证操作的信号SGD、WL_unsel、WLn+1、WLn、SGS、选定BL及源极,所述操作以存储器单元使感测放大器中的专用电容器放电的速率来测量所述存储器单元的传导电流。SGD表示提供到漏极侧选择栅极的栅极的信号。SGS为提供到源极侧选择栅极的栅极的信号。WLn为提供到经选择/经定为目标用于读取/验证的字线的信号。WLn+1为提供到未选定字线的信号,所述未选定字线为WLn的漏极侧相邻字线(例如,WL2为WL1的漏极侧相邻者-参见图5)。WL_unsel表示提供到除漏极侧相邻字线以外的未选定字线的信号。字线连接到适当存储器单元的控制栅极。选定BL为经选择用于读取/验证的位线。源极为提供到存储器单元的源极线的信号(参见图5)。

    所有信号均在Vss(近似0伏)处开始。在图10的时间t1处,SGD升高到Vdd(其为DAC驱动的参数化变量),未选定字线(WL_unsel)升高到Vread(其为近似5.5伏的过驱动电压,其接通所有未选定存储器单元),漏极侧相邻字线(WLn+1)升高到VreadX(下文论述的另一过驱动电压),选定字线WLn升高到用于读取操作的Vcgr(例如,图11的Vra、Vrb或Vrc)或用于验证操作的Vcgv(例如,图11的Vva、Vvb或Vvc)。在一个实施例中,感测放大器保持位线电压恒定而不管NAND串正在做什么,因此感测放大器在使位线“箝位”到所述电压的情况下测量电流流动。在时间t1之后且在时间t3之前的某一点处(由特定实施方案所确定),感测放大器将确定感测放大器中的电容器是否已耗散充分量。在时间t3处,所描绘的信号将降低到Vss(或用于待机或恢复的另一值)。请注意,在其它实施例中,可改变所述信号中的一些信号的时序。

    关于读取操作及感测放大器的额外信息可参见以下文献:(1)2004年3月25日公开的第2004/0057287号美国专利申请公开案“具有减少的源极线偏置错误的非易失性存储器及方法(Non-Volatile Memory And Method With Reduced Source Line Bias Errors)”;(2)2004年6月10日公开的第2004/0109357号美国专利申请公开案“具有改进的感测的非易失性存储器及方法(Non-Volatile Memory And Method with Improved Sensing)”;(3)第20050169082号美国专利申请公开案;(4)2005年4月5日申请的发明人为陈建(Jian Chen)且标题为“在非易失性存储器读取操作期间补偿耦合(Compensating forCoupling During Read Operations ofNon-Volatile Memory)”的第11/099,133号美国专利申请案;以及(5)2005年12月28日申请的发明人为陈小龙(Siu Lung Chan)及劳尔-阿德里安·切尔内亚(Raul-Adrian Cernea)且标题为“用于非易失性存储器的参考感测放大器(Reference Sense Amplifier For Non-Volatile Memory)”的第11/321,953号美国专利申请案。所有五个以上列出的专利文献的全文均以引用的方式并入本文中。

    读取一组数据(例如,文件、数字像片、数据页、数据块或数据的其它单位)通常涉及执行图10的读取操作多次。图11提供描述响应于对读取数据的请求而实行的读取过程的高级流程图。在步骤750中,由控制器244发布读取命令,且将其输入到状态机222。在步骤752中,向解码器电路提供指示页地址的地址数据。在步骤754中,执行一个或一个以上读取操作(例如,图10的读取操作或合适的替代操作),如下文所论述。将读取操作的结果存储于适当锁存器494中。在步骤756中报告数据。报告数据的各种实施例包括将数据从锁存器传输到状态机,将数据传输到控制器,将数据传输到主机,将数据存储于输出文件中,将数据提供给请求实体等等。

    如上文所论述,非易失性存储器单元的浮动栅极(或其它电荷存储元件)的表观阈值电压的移位可能由于基于存储于相邻浮动栅极(或其它相邻电荷存储元件)中的电荷的电场的耦合而发生。所述问题最显著地发生于已在不同时间处被编程的若干组邻近存储器单元之间。为了解决此耦合,对目标存储器单元的读取过程将向相邻存储器单元提供补偿以便减小相邻存储器单元对特定存储器单元造成的耦合效应。一个实施例还包括在验证过程期间设置稍后向相邻存储器单元施加补偿所需的条件。在所述实施例中,施加到WLn+1的过驱动电压(在图10中被描绘为VreadX)从(例如)5.5V的典型值减小到(例如)3V。因此,在验证过程期间,VreadX为3伏(或依据实施方案而定的另一合适值)。在随后读取时提供的补偿将由在对WLn执行的读取操作期间向WLn+1施加与在验证阶段期间所施加的所述电压相比较高的电压构成。在许多现有技术的装置中,所有未选定字线均将接收Vread。在图10的实施例中,除漏极侧相邻者以外的所有未选定字线接收Vread;而漏极侧相邻者接收VreadX。Vread的一个实例为5.5伏;然而,可使用其它值。

    为了确定在读取目标存储器单元时应向相邻存储器单元提供多少补偿,本文描述的系统从预先计划的一组潜在条件来确定存储器单元的所感知条件。举例来说,观察图6及图7,系统将确定相邻存储器单元是处于状态E、A、B还是C。补偿的使用及量值将基于相邻存储器单元处于哪一状态。

    一种用于在读取目标存储器单元时测试相邻存储器单元的条件的方法为至少部分地在时间上将测试相邻存储器单元的条件的读取操作与感测目标存储器单元的数据状态的读取操作进行混合。也就是说,至少部分地在时间上将对WLn+1的读取操作与对WLn的读取操作进行混合。

    图12为描述用于读取已根据图6的过程而被编程的数据页的过程的一个实施例的流程图。图12的过程可用于实施图11的步骤754。图12的过程描绘使用一方案而在读取目标存储器单元时向相邻存储器单元提供补偿(基于所述相邻存储器单元的所感知条件)的实例,所述方案以至少部分地在时间上将测试相邻存储器单元的条件的读取操作与感测目标存储器单元的数据状态的读取操作进行混合的方式来测试相邻存储器单元的条件。至少部分地对读取操作进行混合,因为在某一实施例中,可使读取操作完全交替,而在其它实施例中,可在读取操作群组之间或在群组与单一读取操作之间进行交替。图17、图18及图19(在下文中论述)提供所述至少部分地在时间上对读取操作进行混合的额外实例。

    图12的过程可被实施为响应于对特定的一个或一个以上数据页(或其它分组)的读取请求而执行的用于读取数据的整个过程,其在使用ECC之前、与使用ECC分离及/或结合使用ECC进行。在其它实施例中,图12的过程可作为数据恢复步骤的部分来执行。

    在图12的步骤802中,针对字线WLn+1执行读取操作。也就是说,针对连接到WLn+1(作为图12的读取过程的焦点的选定字线WLn的相邻者)的所有存储器单元执行图10中所描绘的过程。举例来说,如果图12的过程已选择字线WL2进行读取,则在步骤802中,读取操作将针对连接到字线WL3的存储器单元。在执行步骤802的过程时,施加到WLn+1的读取比较电压为Vra。因此,步骤802为用以确定连接到WLn+1的存储器单元是否以状态E(参见图6)存储数据的读取操作(图10)。在其它字线接收Vread时向WLn+1施加Vra。将步骤802的读取操作的结果存储于用于每一位线的一个锁存器(锁存器494)中(步骤804)。在一个实施例中,每一位线具有称为L1、L2及L3的三个锁存器。将来自步骤802的结果存储于L1中。在其它实施例中,可将结果存储于其它锁存器中。因此,在一个实施例中,如果存储器单元响应于步骤802的读取操作而接通,则将“1”存储于锁存器L1中。在步骤806中,针对选定字线WLn执行多状态读取过程。如果存在四个可能数据状态,则所述多状态读取过程包括执行三个读取操作(参见图10)。在第一读取操作中,读取比较点Vcgr为Vra。在第二读取操作中,读取比较点Vcgr为Vrb。在第三读取操作中,读取比较点Vcgr为Vrc。在步骤806的多状态读取过程的读取操作中的每一者期间,漏极侧相邻字线WLn+1接收VreadE且其它未选定字线接收Vread(例如,5.5伏)。在一个实施例中,VreadE等于3伏。由于VreadE等于在验证过程期间所使用的相同过驱动电压,因此不执行补偿。这与处于状态E(已擦除状态)的相邻存储器单元中的数据相关。VreadE不提供对浮动栅极之间的耦合的补偿。在步骤808中,如果在步骤804中设定L1,则将来自步骤806的多状态读取过程的结果存储于锁存器L1及L2中。因此,在步骤808中,具有处于状态E的相邻者的那些存储器单元将把来自多状态读取过程的结果存储于锁存器L1及L2中。因为每一存储器单元存储两个数据位,所以需要两个单一位锁存器来存储所述数据。步骤806的结果在相邻存储器单元处于状态E的情况下将为11,在相邻存储器单元处于状态A的情况下将为10,在相邻存储器单元处于状态B的情况下将为00,且在相邻存储器单元处于状态C的情况下将为01。如果在步骤808中以有效数据加载锁存器L1及L2,则在步骤810中将锁存器L3设定为逻辑电平1以指示锁存器L1及L2具有有效数据;否则,L3存储逻辑电平0。

    在步骤812中,针对连接到漏极侧相邻字线WLn+1的存储器单元执行读取操作,包括在漏极侧相邻字线字线WLn+1上断言Vrb(作为比较点)。在步骤814中,如果存储器单元接通,则那些存储器单元处于状态E或A。如果存储器单元在步骤812中接通且其对应锁存器L3=0,则将对应锁存器L1设定为1。在步骤816中,针对选定字线WLn执行多状态读取过程,其中漏极侧相邻字线WLn+1接收VreadA。步骤816类似于步骤806,不同之处在于漏极侧相邻字线WLn+1在步骤816中接收VreadA且在步骤806中接收VreadE。在一个实施例中,VreadA等于4.25伏。VreadA提供对浮动栅极之间的耦合的少量补偿。如果在步骤814中将锁存器L1设定为等于1且锁存器L3当前等于0,则将把来自步骤816的结果存储于锁存器L1及L2中。在步骤820中,如果在步骤818中以有效数据加载L1及L2,则将锁存器L3设定为等于1。

    在步骤822中,针对连接到漏极侧相邻字线WLn+1的存储器单元执行读取操作(图10),包括在WLn+1上施加Vrc。步骤822类似于步骤802,不同之处在于在WLn+1上使用Vrc来代替Vra。在步骤824中,针对在步骤822中接通且具有等于0的对应锁存器L3的对应存储器单元而将锁存器L1设定为1。在步骤826处,针对WLn执行多状态读取过程,其中漏极侧相邻字线WLn+1接收VreadB。步骤826类似于步骤806,不同之处在于在漏极侧相邻字线WLn+1上使用VreadB而非VreadE。在一个实施例中,VreadB等于4.75伏。VreadB提供对耦合的中等量的补偿。在步骤828中,如果先前在步骤824中将L1设定为等于1且锁存器L3当前以0进行存储,则将来自步骤826的结果存储于锁存器L1及L2中。在步骤830中,如果在步骤828中以有效数据加载锁存器L1及L2,则将锁存器L3设定为1。

    在步骤832中,针对连接到选定字线WLn的存储器单元执行多状态读取过程,其中漏极侧相邻字线WLn+1接收VreadC。步骤832类似于步骤806,不同之处在于步骤832使用VreadC来代替VreadE。在一个实施例中,VreadC等于5.5伏。与VreadE、VreadA及VreadB相比,VreadC提供最大补偿。VreadC对相邻存储器单元处于状态C的目标存储器单元提供适当补偿。在步骤834中,如果锁存器L3等于0,则将来自步骤832的结果存储于锁存器L1及L2中。请注意,在图12中所描绘的过程期间执行的所有读取操作均为用以读取存储于连接到字线WLn的存储器单元中的数据的共同尝试的部分。

    图13为描述用于读取选定字线的数据的多状态读取过程的流程图。此多状态读取过程确定连接到所述选定字线的存储器单元的(可能数据状态中的)数据状态。图13的过程为图12的步骤806、816、826及832的一个实例性实施方案;然而,施加到相邻字线(WLn+1)的过驱动电压对于步骤806、816、826及832中的每一者为不同的。

    在图13的步骤940中,向选定字线WLn施加读取参考电压Vra。在步骤942中,感测与页相关联的位线(例如,感测位于感测放大器中的电容器,如上文所提及)以确定所寻址的存储器单元是否接通(基于将Vra施加到其控制栅极)。传导的位线指示存储器单元接通;因此,那些存储器单元的阈值电压低于Vra(例如,处于状态E)。在步骤944中,将位线的感测结果存储于用于那些位线的适当锁存器中。步骤940到944执行图10中所描述的过程。

    在步骤946中,向选定字线WLn施加读取参考电压Vrb。在步骤948中,如上文所述而感测位线。在步骤950中,将结果存储于用于所述位线的适当锁存器中。步骤946到950执行图10中所描述的过程。

    在步骤952中,向选定字线WLn施加读取参考电压Vrc。在步骤954中,感测所述位线以确定哪些存储器单元接通,如上文所述。在步骤956中,将来自感测步骤的结果存储于用于所述位线的适当锁存器中。步骤940到944执行图10中所描述的过程。

    在步骤958中,确定每一位线的数据值。举例来说,如果存储器单元在Vra下传导,则存储器单元处于状态E。如果存储器单元在Vrb及Vrc下而非在Vra下传导,则存储器单元处于状态A。如果存储器单元在Vrc下而非在Vra及Vrb下传导,则存储器单元处于状态B。如果存储器单元在Vra、Vrb或Vrc下不传导,则存储器单元处于状态C。在一个实施例中,在过程末端处由处理器492确定数据值。在另一实施例中,处理器492在运行中确定数据值,使得在执行每一感测操作时,对数据分析进行更新。在步骤960中,处理器492将把所确定的数据值存储于用于每一位线的适当锁存器中。在其它实施例中,对各个电平(Vra、Vrb及Vrc)的感测可以不同次序来发生。

    图13的过程执行三个读取操作(参见图10)。第一读取操作(步骤940到944)向WLn施加Vra,向WLn+1施加VreadX,且向其它未选定字线施加Vread。第二读取操作(步骤946到950)向WLn施加Vrb,向WLn+1施加VreadX,且向其它未选定字线施加Vread。第三读取操作(步骤952到9956)向WLn施加Vrc,向WLn+1施加VreadX,且向其它未选定字线施加Vread。VreadX的值可对于图13的过程的不同迭代而改变。举例来说,当在图12的步骤806期间执行图13的过程时,VreadX=VreadE。当在图12的步骤816期间执行图13的过程时,VreadX=VreadA。当在图12的步骤826期间执行图13的过程时,VreadX=VreadB。当在图12的步骤832期间执行图13的过程时,VreadX=VreadC。

    图14到图20描述用以读取根据与图7A到图7C相关联的方法而编程的数据的过程。图14的过程可被实施为响应于对特定的一个或一个以上数据页(或其它分组)的读取请求而执行的用于读取数据的整个过程,其在使用ECC之前、与使用ECC分离及/或结合使用ECC进行。在其它实施例中,图14的过程可作为数据恢复步骤的部分来执行。

    在读取如根据图7A到图7C的过程而编程的数据时,应在对讨论中的存储器单元的上部页进行编程时校正来自由于对相邻存储器单元的下部页进行编程引起的浮动栅极到浮动栅极耦合的任何扰动。因此,在试图补偿来自相邻单元的浮动栅极到浮动栅极耦合效应时,所述过程的一个实施例仅需考虑由于对相邻存储器单元的上部页进行编程引起的耦合效应。因此,在图14的步骤1060中,所述过程确定相邻字线是否已用上部页数据进行编程。如果相邻字线的上部页未被编程(步骤1062),则可在不对浮动栅极到浮动栅极耦合效应进行补偿的情况下读取考虑中的页(步骤1064)。如果相邻字线的上部页已被编程(步骤1062),则在步骤1066中应通过潜在地使用对浮动栅极到浮动栅极耦合效应的一些补偿来读取考虑中的页。

    在一个实施例中,实施图7A到图7C的编程过程的存储器阵列将保留一组存储器单元来存储一个或一个以上旗标。举例来说,可使用一列存储器单元来存储指示相应行存储器单元的上部页是否已被编程的旗标。在一些实施例中,可使用冗余单元来存储旗标的复本。通过检查适当旗标,可确定相邻字线的上部页是否已被编程。

    在一个实施例中,存储旗标的存储器单元将在旗标未被设定的情况下以状态E存储数据且在旗标被设定的情况下以状态C存储数据。因此,当感测所述特定存储器单元时,如果存储器单元响应于正被施加到其控制栅极的Vrc而传导(接通),则存储器单元不以状态C存储数据且旗标未被设定。如果存储器单元不响应于Vrc而传导,则假设存储器单元正指示上部页已被编程。因此,在一个实施例中,步骤1060将包括通过针对WLn+1执行使用Vrc作为读取比较点的读取操作(参见图10)来检查以查看旗标是否被设定。

    在另一实施例中,可将旗标存储于一字节中。并非以状态C存储所有位,所述字节将包括表示旗标且为状态机222所知的唯一8位代码,使得所述8位代码具有处于状态E的至少一个位、处于状态A的至少一个位、处于状态B的至少一个位及处于状态C的至少一个位。如果上部页尚未被编程,则存储器单元的字节将全部处于状态E。如果上部页已被编程,则存储器单元的字节将存储所述代码。在一个实施例中,可通过确定具有存储所述代码的字节的存储器单元中的任一者是否未响应于Vrc而接通来检查旗标。在另一实施例中,感测存储器单元的存储旗标的字节且将其发送到状态机,所述状态机将验证存储于存储器单元中的代码是否匹配状态机所预期的代码。如果匹配,则状态机得出上部页已被编程的结论。

    关于所述旗标及用于编程的过程的更多细节可参见柴田(Shibata)等人的第6,657,891号美国专利“用于存储多值数据的半导体存储器装置(Semiconductor MemoryDevice For Storing Multi-Valued Data)”,所述专利的全文以引用的方式并入本文中。

    图15为描述用于在系统无需补偿来自相邻字线的浮动栅极到浮动栅极耦合时读取考虑中的字线的数据的过程(参见图14的步骤1064)的一个实施例的流程图。在步骤1150中,确定所述读取是针对与考虑中的字线(WLn)相关联的上部页还是下部页。如果所述读取是针对下部页,则在步骤1152中,向与正被读取的页相关联的选定字线WLn施加电压Vrb。在步骤1154中,感测位线(如上文所论述)。在步骤1156中,将感测步骤1154的结果存储于适当锁存器中。步骤1152到1156实施图10的读取操作。

    在步骤1158中,检查旗标以确定页是否含有上部页数据。如果不存在旗标,则存在的任何数据将处于中间状态(例如,状态550),Vrb并不是应使用的正确比较电压,且过程在步骤1160处继续。在步骤1160中,向字线施加Vra,在步骤1162处重新感测位线,且在步骤1164中存储结果。步骤1160到1164实施图10的读取操作。

    在步骤1166(在步骤1164之后,或者在旗标被设定的情况下在步骤1158之后)中,处理器492确定待存储的数据值。在一个实施例中,当读取下部页时,如果存储器单元响应于正被施加到字线的Vrb(或Vra,依据步骤1158而定)而接通,则下部页数据为“1”;否则,下部页数据为“0”。如果确定页地址对应于上部页(图15的步骤1150),则在步骤1170处执行上部页读取过程。在一个实施例中,图15的过程包括在读取操作期间向漏极侧相邻字线施加VreadE(参见图10,VreadX=VreadE)。

    图16为描述用于在不使用补偿的情况下执行上部页读取过程(图15的步骤1170)的一个实施例的流程图。在步骤1200中,向与正被读取的页相关联的选定字线施加读取参考电压Vrc。在步骤1202处,如上文所述而感测位线。在步骤1204中,将步骤1202的结果存储于适当锁存器中。步骤1200到1204实施图10的读取操作。在步骤1206中,系统检查指示与正被读取的页相关联的上部页编程的旗标。如上文所描述,通过检查具有存储所述代码的字节的存储器单元中的任一者是否未响应于Vrc而接通来执行步骤1206的一个实施例。如果旗标尚未被设定(步骤1208),则图16的过程以上部页尚未被编程的结论而终止。

    如果旗标已被设定(步骤1208),则假设上部页已被编程,且在步骤1220中,向与正被读取的页相关联的选定字线施加电压Vrb。在步骤1222中,如上文所论述而感测位线。在步骤1224中,将步骤1222的结果存储于适当锁存器中。步骤1220到1224实施图10的读取操作。

    在步骤1226中,向与正被读取的页相关联的字线施加电压Vra。在步骤1228中,感测位线。在步骤1230中,将步骤1228的结果存储于适当锁存器中。步骤1226到1230实施图10的读取操作。

    在步骤1232中,处理器222基于所述三个感测步骤1202、1222及1228的结果而确定由正被读取的存储器单元中的每一者所存储的数据值。在步骤1234处,将在步骤1232中所确定的数据值存储于适当数据锁存器中以供最终传送给主机/用户。在一个实施例中,图16的过程包括在读取操作期间向漏极侧相邻字线施加VreadE。

    返回参看图14,如果漏极侧相邻字线的上部页被编程(参见步骤1062),则在步骤1066中使用补偿而读取当前选定的字线。如果作为步骤1066的部分而正读取上部页数据,则执行图17的过程。如果正读取下部页数据,则执行图19的过程。

    在图17的步骤1300中,通过向漏极侧相邻字线WLn+1施加Vra而执行对连接到漏极侧相邻字线WLn+1的存储器单元的读取操作(图10)。如果存储器单元接通,则对应锁存器L1被设定为等于1。也就是说,针对连接到字线WLn+1的所有存储器单元(或一子组存储器单元)执行图10的过程。那些存储器单元中的每一者具有对应组的锁存器(L1、L2及L3)。对于在步骤1300中经受读取操作的存储器单元中的每一者,如果所述存储器单元处于状态E,则在步骤1302中将对应锁存器L1设定为等于1。在步骤1304中,执行多状态读取过程(参见图13)。在所述多状态读取过程期间,漏极侧相邻字线WLn+1将在读取操作中的每一者中接收VreadN(VreadX=VreadN)。在一个实施例中,VreadN等于4.5伏。在一个实施例中,当根据图7A到图7C的过程而进行编程时,使用VreadX=4.5伏而执行验证。具有处于状态E的相邻者的存储器单元无需被补偿;因此,不通过使用VreadN作为在验证期间使用的过驱动电压来提供补偿。在步骤1306中,如果锁存器L1被设定为等于1,则将1304的多状态读取过程的结果存储于锁存器L2中。

    在步骤1308中,针对连接到漏极侧相邻字线WLn+1的存储器单元执行读取操作(参见图10),其中向漏极侧相邻者WLn+1施加Vrb。在步骤1310中,如果对应存储器单元在步骤1308的过程期间接通且L1当前等于0,则将每一锁存器L1设定为等于1。如果存储器单元接通且L1在步骤1310之前已经等于1,则将L1复位为等于0。如果存储器单元未接通,则将L1维持于0。因此,在步骤1310的末端,对于相邻者被设定为处于状态A的存储器单元,L1将等于1。存储器单元及其处于同一位线上的相邻者将共享相同锁存器L1、L2及L3。

    在步骤1312中,针对漏极侧相邻字线WLn+1执行读取操作(图10),其中向漏极侧相邻字线WLn+1施加读取比较电压Vrc。在步骤1314中,如果锁存器L1已经被设定为1,则将所述锁存器维持为数据1。如果锁存器L1当前等于0且对应存储器单元未接通,则将锁存器L1设定为等于1。如果锁存器L1等于0且对应存储器单元接通,则将锁存器L1维持为等于0。在步骤1314的末端,如果漏极侧相邻存储器单元处于状态A或状态C,则锁存器L1将等于1。在步骤1316中,针对选定字线WLn执行多状态读取过程(图13)。在所述多状态读取过程期间,漏极侧相邻字线WLn+1对于读取操作中的每一者接收Vreadx=VreadL。在一个实施例中,VreadL为6.0伏。因此,其相邻存储器单元处于状态A或C的那些存储器单元将接收与4.375伏的过驱动电压相关联的较大补偿。如果锁存器L1被设定为等于1,则将步骤1316的多状态读取过程的结果存储于锁存器L2中。

    在步骤1320中,针对连接到漏极侧相邻字线WLn+1的存储器单元执行读取操作(参见图10),包括在漏极侧相邻字线WLn+1上断言读取比较值Vrb。在步骤1322中,如果对应存储器单元在步骤1320中未接通且锁存器L1已经被设定为等于1,则将锁存器L1复位为等于0。如果存储器单元在步骤1320中未接通且锁存器L1处于0,则将锁存器L1设定为等于1。如果存储器单元接通,则将L1设定为等于0。因此,在步骤1322的末端,对于处于状态B的那些存储器单元,锁存器L1将等于1。在步骤1324中,针对选定字线WLn执行多状态读取过程(图13),其中漏极侧相邻字线WLn+1接收VreadS(VreadX=VreadS)。在一个实施例中,VreadS等于5.0伏。这对应于少量补偿。在步骤1326中,对于锁存器L1等于1的那些存储器单元,将来自步骤1324的多状态读取过程的结果存储于锁存器L2中。请注意,在图17中所描绘的过程中执行的所有读取操作均为用以读取存储于字线WLn上的存储器单元中的上部页数据的共同尝试的部分。

    返回参看图7A到图7C,浮动栅极到浮动栅极耦合可能由于将相邻者的上部页从状态E编程到状态A或从中间状态550编程到状态C而发生。使用VreadL来补偿此浮动栅极耦合。如果相邻存储器单元处于状态E,则没有耦合需要被补偿。其上部页编程使其从中间状态550改变为状态B的存储器单元仅使阈值电压改变较小量,且因此仅较小量的耦合需要使用VreadS来被补偿。

    图18为作为用于使用补偿而执行上部页读取的另一实施例的过程的流程图。图18的过程与图17的过程之间的一个差异在于,图17的过程对相邻者处于状态B的存储器单元进行补偿且图18的过程不对相邻者处于状态B的存储器单元提供补偿。在步骤1420中,针对连接到漏极侧相邻字线WLn+1的存储器单元执行读取操作(参见图10),其中向漏极侧相邻字线WLn+1施加Vra。如果存储器单元接通,则将用于相关联的存储器单元的对应锁存器设定为等于1。因此,对于连接到WLn+1的处于状态E的所有存储器单元,用于那些位线的对应锁存器将被设定为等于1。在步骤1424中,针对选定字线WLn执行多状态读取过程(图13)。在所述多状态读取过程期间,漏极侧相邻字线WLn+1接收VreadN(无补偿)。在步骤1426中,将步骤1424的多状态读取过程的结果存储于存储器单元的每一锁存器L2中。请注意,步骤1424包括执行图16的过程,其中VreadX=VreadN。

    在步骤1428中,针对连接到漏极侧相邻字线WLn+1的存储器单元执行读取操作(图10),其中向漏极侧相邻字线WLn+1施加Vrb。在步骤1430中,如果存储器单元响应于步骤1428而接通且锁存器L1处于0,则将对应锁存器L1设定为等于1。如果存储器单元接通且锁存器L1已经被设定为1,则将对应锁存器L1复位为等于0。如果存储器单元未接通,则将锁存器L1维持为等于0。因此,在步骤1430之后,对于处于状态A的那些存储器单元,锁存器L1将等于1。在步骤1432中,针对连接到漏极侧相邻字线WLn+1的存储器单元执行读取操作(图10),其中向漏极侧相邻字线WLn+1施加Vrc。在步骤1434中,如果锁存器L1等于1,则将锁存器L1维持为等于1。如果锁存器L1等于0且对应存储器单元未接通,则将锁存器L1设定为等于1。如果锁存器L1等于0且对应存储器单元未接通,则将锁存器L1维持为等于1。在步骤1434之后,处于状态A或C的那些存储器单元将使其锁存器L1设定为等于0。在步骤1436中,针对选定字线WLn执行多状态读取过程(图13),其中漏极侧相邻字线WLn+1接收VreadL。步骤1436包括执行图13的过程,其中VreadX=VreadL。在步骤1438中,如果锁存器L1被设定为1,则将步骤1436的结果存储于锁存器L2中。因此,针对处于状态A及C的那些存储器单元盖写已经处于L2中的数据。因此,图18的过程将不对相邻存储器单元具有处于状态E及B的上部页数据的存储器单元提供补偿,且将对相邻者处于状态A或C的存储器单元执行一些补偿。请注意,在图18中所描绘的过程中执行的所有读取操作均为用以读取存储于字线WLn上的存储器单元中的上部页数据的共同尝试的部分。

    使用图19的过程来在提供对浮动栅极到浮动栅极耦合的补偿的同时从下部页读取数据。在图19的步骤1510中,针对漏极侧相邻字线WLn+1执行读取操作(图10),其中向漏极侧相邻字线WLn+1施加Vra。如果存储器单元响应于步骤1510的读取操作而接通,则在步骤1512中将锁存器L1设定为等于1。在步骤1514中,针对连接到选定字线WLn的存储器单元执行读取操作(图10)。步骤1514的读取操作包括向选定字线WLn施加Vrb,在相邻字线WLn+1上施加VreadN,以及向其它未选定字线施加Vread。因此,Vcgr=Vrb且VreadX=VreadN。在步骤1516中,如果锁存器L1已被设定为等于1,则将步骤1514的结果存储于锁存器L2中。

    在步骤1518中,针对连接到漏极侧相邻字线WLn+1的存储器单元执行读取操作(图10),其中向漏极侧相邻字线WLn+1施加Vrb。在步骤1520中,如果存储器单元响应于步骤1518而接通且其对应锁存器L1已存储数据0,则将所述对应锁存器L1设定为等于1。如果存储器单元响应于步骤1518而接通且锁存器L1等于1,则将所述锁存器L1复位为等于0。如果存储器单元未响应于步骤1518而接通,则将锁存器L1维持于0。在步骤1520的末端,对于漏极侧相邻者处于状态A的存储器单元,锁存器L1将等于1。在步骤1522中,针对连接到漏极侧相邻字线WLn+1的存储器单元执行读取操作(图10),包括向漏极侧相邻字线WLn+1施加Vrc。在步骤1524中,如果锁存器L1已经被设定为等于1,则将L1维持为等于1。如果锁存器L1正存储0且对应存储器单元未接通,则将L1设定为等于1。如果L1等于0且对应存储器单元接通,则将L1维持为等于0。在步骤1524的末端,对于处于状态A及C的那些存储器单元,锁存器L1等于0。在步骤1526中,针对选定字线WLn执行读取操作(图10)。步骤1526的读取操作包括向WLn施加Vrb(Vcgr=Vrb)及向WLn+1施加VreadL(大补偿)(VreadX=VreadL)。在步骤1528中,如果锁存器L1已被设定为1,则将来自步骤1526的结果存储于锁存器L2中(如果存储器单元响应于Vrb而接通,则将数据1存储于锁存器L2中)。

    在步骤1530中,针对连接到漏极侧相邻字线WLn+1的存储器单元执行读取操作(图10),其中向漏极侧相邻字线WLn+1施加Vrb。在步骤1532中,如果存储器单元未响应于步骤1530而接通且其对应L1已经被设定为等于1,则将L1复位为等于0。如果存储器单元未接通且L1已等于0,则将L1设定为等于1。如果存储器响应于步骤1530而接通,则将L1设定为等于0。在步骤1532的末端,对于漏极侧存储器单元处于状态B的那些存储器单元,锁存器L1将等于1。在步骤1534中,针对连接到选定字线WLn的存储器单元执行读取操作(图10)。在步骤1534的读取操作期间,向选定字线WLn施加读取比较Vrb(Vcgr=Vrb)且向漏极侧相邻字线WLn+1施加VreadS(小补偿)(VreadX=VreadS)。在步骤1536中,如果锁存器L1当前被设定为等于1,则将来自步骤1534的结果存储于锁存器L2中。图19的过程在相邻存储器单元处于状态A或C的情况下执行较大补偿且在相邻存储器单元处于状态B的情况下执行小补偿。

    在图19的替代实施例中,可在相邻存储器单元处于状态A及C的情况下执行补偿且在相邻存储器单元处于状态E或B的情况下将不执行补偿。在此替代实施例中,步骤1516可存储所有存储器单元的数据,步骤1528将盖写锁存器L1在那点处存储等于1的数据的存储器单元的数据,且可跳过步骤1530到1536。请注意,作为图19中所描绘的过程的部分而执行的所有读取操作均为用以读取存储于字线WLn上的存储器单元中的下部页数据的共同尝试的部分。

    已出于说明及描述的目的而呈现了对本发明的前述详细描述。其不希望为详尽的或将本发明限于所揭示的精确形式。鉴于以上教示,许多修改及变化为可能的。选择所描述的实施例以便最佳地阐释本发明的原理及其实践应用,以进而使得所属领域的技术人员能够在各种实施例中且以适于所预期的特别用途的各种修改而最佳地利用本发明。希望本发明的范围由附于本文的权利要求书来界定。

通过考虑相邻存储器单元的所存储状态来读取非易失性存储器单元.pdf_第1页
第1页 / 共50页
通过考虑相邻存储器单元的所存储状态来读取非易失性存储器单元.pdf_第2页
第2页 / 共50页
通过考虑相邻存储器单元的所存储状态来读取非易失性存储器单元.pdf_第3页
第3页 / 共50页
点击查看更多>>
资源描述

《通过考虑相邻存储器单元的所存储状态来读取非易失性存储器单元.pdf》由会员分享,可在线阅读,更多相关《通过考虑相邻存储器单元的所存储状态来读取非易失性存储器单元.pdf(50页珍藏版)》请在专利查询网上搜索。

存储于非易失性存储器单元的浮动栅极(或其它电荷存储元件)上的表观电荷的移位可能由于基于存储于邻近浮动栅极(或其它电荷存储元件)中的电荷的电场的耦合而发生。为了解决此耦合,对目标存储器单元的读取过程将向邻近存储器单元(或其它存储器单元)提供补偿以便减小所述邻近存储器单元对所述目标存储器单元造成的耦合效应。所施加的补偿是基于所述邻近存储器单元的条件。为了施加正确的补偿,所述读取过程将至少部分地将对所述。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 信息存储


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1