存储器设备及其操作方法与流程

文档序号:24339866发布日期:2021-03-19 12:21阅读:88来源:国知局
存储器设备及其操作方法与流程

相关申请的交叉引用

本申请根据35u.s.c§119(a)要求于2019年09月19日在韩国知识产权局提交的韩国专利申请号10-2019-0115340的优先权,其全部内容通过引用并入本文。

本公开的各个实施例总体上涉及电子设备,并且更具体地,涉及存储器设备以及操作该存储器设备的方法。



背景技术:

通常,存储设备是在诸如计算机或智能电话的主机设备的控制下存储数据的设备。存储设备可以包括被配置为存储数据的存储器设备以及被配置为控制该存储器设备的存储器控制器。存储器设备主要分为易失性存储器设备和非易失性存储器设备。

易失性存储器设备是仅在向其供电时存储数据并且在电源关闭时丢失所存储的数据的存储器设备。易失性存储器设备的示例包括静态随机存取存储器(sram)和动态随机存取存储器(dram)。

非易失性存储器设备是即使电源关闭也能够维持存储在其中的数据的存储器设备。非易失性存储器设备的示例包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)和闪存。



技术实现要素:

本公开的一个实施例可以提供一种操作存储器设备的方法,包括:向与多个存储器单元耦合的字线施加编程电压;通过将与多个存储器单元耦合的多个位线的电位设置为预先确定的水平,来执行位线预充电操作;以及基于多个存储器单元中的每个存储器单元的目标编程状态,通过在不同的时间点处向多个位线施加编程使能电压,来执行位线放电操作。

本公开的一个实施例可以提供一种操作存储器设备的方法,包括:向与多个存储器单元耦合的字线施加编程电压;通过将与多个存储器单元耦合的多个位线的电位设置为预先确定的水平,来执行位线预充电操作;以及通过向多个位线施加编程使能电压来执行位线放电操作。编程使能电压的水平以及向多个相应位线施加编程使能电压的时间点可以基于多个存储器单元的目标编程状态而被确定。

本公开的一个实施例可以提供一种包括存储器单元阵列、外围电路和控制逻辑的存储器设备。存储器单元阵列可以包括多个存储器单元。外围电路可以将多个存储器单元中的每个存储器单元编程为多个编程状态之中的目标编程状态。控制逻辑可以控制外围电路,以向与多个存储器单元耦合的字线施加编程电压,并且在编程电压被施加到字线时,通过向耦合到多个存储器单元的多个位线施加编程使能电压,来执行位线放电操作。向多个位线中的每个相应位线施加编程使能电压的定时基于对应的目标编程状态而被确定。

附图说明

图1是图示根据本公开的一个实施例的存储设备的图。

图2是图示图1的存储器设备的配置的图。

图3是图示图2的存储器单元阵列的图。

图4是图示根据一个实施例的验证电压和存储器单元的阈值电压分布的图。

图5是用于描述根据一个实施例的编程操作的图。

图6是用于描述在执行编程操作时编程电压的改变的图。

图7是用于描述根据一个实施例的编程操作的定时图。

图8是用于描述根据一个实施例的编程操作的定时图。

图9是用于描述根据一个实施例的编程操作的定时图。

图10是用于描述根据一个实施例的编程操作的流程图。

图11是用于描述图10的位线电压控制操作的流程图。

图12是用于描述根据一个实施例的位线电压控制操作的流程图。

图13是用于描述根据一个实施例的位线电压控制操作的流程图。

图14是用于描述根据一个实施例的编程操作的流程图。

具体实施方式

在本说明书或申请中引入的本公开的实施例中的特定结构或功能描述仅用于描述本公开的实施。该描述不应当被解释为限于说明书或申请中描述的实施例。

在下文中,将通过参考附图描述本公开的示例性实施例来详细说明本公开。在下文中,将参考附图详细描述本公开的实施例。

在以下的实施例的描述中,当参数被称为“预先确定的”时,它可以旨在意指:当在过程或算法中使用该参数时,该参数的值被提前确定。参数的值可以在过程或算法开始时被设置,或者可以在过程或算法执行的时段期间被设置。

本公开的各个实施例针对具有改进的编程性能的存储器设备以及操作该存储器设备的方法。

图1是图示根据本公开的一个实施例的存储设备的图。

参考图1,存储设备50可以包括存储器设备100和存储器控制器200,存储器控制器200被配置为控制存储器设备100的操作。存储设备50可以是被配置为在主机的控制下存储数据的设备,主机诸如是蜂窝电话、智能电话、mp3播放器、膝上型计算机、台式计算机、游戏机、电视、平板电脑或交通工具中的信息娱乐系统。

根据主机接口,存储设备50可以被制造为各种存储设备中的任何一种,该主机接口是用于与主机通信的通信系统。例如,数据存储设备50可以由各种类型的存储设备配置,诸如ssd、mmc、emmc、rs-mmc或micro-mmc类型的多媒体卡、sd、mini-sd、微型sd型安全数字卡、通用串行总线(usb)存储设备、通用闪存(ufs)设备、个人计算机存储卡国际协会(pcmcia)卡类型存储设备、外围组件互连(pci)卡类型的存储设备、pci-express(pci-e)类型的存储设备、紧凑型闪存(cf)卡、智能媒体卡和记忆棒。

可以以各种封装类型中的任何一种封装类型的形式来制造存储设备50。例如,可以以各种封装类型中的任何一种封装类型的形式来制造存储设备50,诸如堆叠封装(pop)类型、系统级封装(sip)类型、片上系统(soc)类型、多芯片封装(mcp)类型、板上芯片(cob)类型、晶圆水平制造封装(wfp)类型和晶圆水平堆叠封装(wsp)类型。

存储器设备100可以在其中存储数据。存储器设备100可以在存储器控制器200的控制下操作。存储器设备100可以包括存储器单元阵列,该存储器单元阵列包括被配置为在其中存储数据的多个存储器单元。

存储器单元可以包括能够存储单个数据位的单层单元(slc)、能够存储两个数据位的多层单元(mlc)、能够存储三个数据位的三层单元(tlc),或能够存储四个数据位的四层单元(qlc)。

存储器单元阵列可以包括多个存储器块。每个存储器块可以包括多个存储器单元。每个存储器块可以包括多个页。在实施例中,每个页可以是对存储器设备100中的数据进行排序或从存储器设备100中读取所存储的数据的单位。

每个存储器块可以是擦除数据的单位。在一个实施例中,存储器设备100可以是双倍数据速率同步动态随机存取存储器(ddrsdram)、低功率双倍数据速率4(lpddr4)sdram、图形双倍数据速率(gddr)sdram、低功率ddr(lpddr)、随机总线动态随机存取存储器(rdram)、nand闪存、垂直nand闪存、nor闪存设备、电阻性随机存取存储器(rram)、相变存储器(pram)、磁阻性随机存取存储器(mram)、铁电随机存取存储器(fram)或自旋转移力矩随机存取存储器(stt-ram)。在本说明书中,为了说明起见,假设存储器设备100是nand闪存。

存储器设备100可以从存储器控制器200接收命令和地址,并且访问由该地址选择的存储器单元阵列的区域。换句话说,存储器设备100可以基于命令的指令在由地址选择的区域上执行操作。例如,存储器设备100可以执行写入(编程)操作、读取操作或擦除操作。在编程操作期间,存储器设备100可以将数据编程到由地址选择的区域。在读取操作期间,存储器设备100可以从由地址选择的区域读取数据。在擦除操作期间,存储器设备100可以从由地址选择的区域擦除数据。

存储器控制器200可以控制存储设备50的整体操作。

当功率被施加到存储设备50时,存储器控制器200可以执行固件(fw)。在存储器设备100是闪存设备的情况下,存储器控制器200可以执行诸如闪存转换层(ftl)的固件,以控制主机与存储器设备100之间的通信。

在一个实施例中,存储器控制器200可以从主机接收数据和逻辑块地址(lba),并且将lba转换为物理块地址(pba),物理块地址(pba)指示存储器设备100中的要对其存储数据的存储器单元的地址。

存储器控制器200可以响应于来自主机的请求,来控制存储器设备100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器设备100提供写入命令、pba和数据。在读取操作期间,存储器控制器200可以向存储器设备100提供读取命令和pba。在擦除操作期间,存储器控制器200可以向存储器设备100提供擦除命令和pba。

在一个实施例中,存储器控制器200可以在没有来自主机的请求的情况下自主地生成命令、地址和数据,并且将它们传送到存储器设备100。例如,存储器控制器200可以向存储器设备100提供命令、地址和数据以执行后台操作,诸如用于平衡擦写(wearleveling)的编程操作和用于垃圾收集的编程操作。

在一个实施例中,存储器控制器200可以控制至少两个以上的存储器设备100。在该情况下,存储器控制器200可以以交叉的(interleaving)方式控制存储器设备100,以便提高操作性能。交叉方案可以是使至少两个以上的存储器设备100的操作时段重叠的操作方案。

主机可以使用各种通信方法中的至少一种与存储设备50进行通信,诸如通用串行总线(usb)、串行at附件(sata)、串行附件scsi(sas)、高速芯片间(hsic)、小型计算机系统接口(scsi)、外围组件互连(pci)、pciexpress(pcie)、非易失性存储器快速(nvme)、通用闪存(ufs)、安全数字(sd)、多媒体卡(mmc)、嵌入式mmc(emmc)、双列直插式存储器模块(dimm)、已注册dimm(rdimm)和减少负载的dimm(lrdimm)通信方法。

图2是图示图1的存储器设备100的配置的图。

参考图2,存储器设备100可以包括存储器单元阵列110、外围电路120和控制逻辑130。

存储器单元阵列110可以包括多个存储器块blk1至blkz。多个存储器块blk1至blkz通过行线rl耦合到地址解码器121。存储器块blk1至blkz可以通过位线bl1至blm耦合到读取/写入电路123。存储器块blk1至blkz中的每个存储器块可以包括多个存储器单元。在一个实施例中,多个存储器单元可以是非易失性存储器单元。在多个存储器单元之中,耦合到相同字线的存储器单元被限定为一页。换句话说,存储器单元阵列110可以由多个物理页形成。在一个实施例中,被包括在存储器单元阵列110中的存储器块blk1至blkz中的每个存储器块可以包括多个伪单元。一个或多个伪单元可以串联耦合在漏极选择晶体管与存储器单元之间以及源极选择晶体管与存储器单元之间。

存储器设备100的存储器单元中的每个存储器单元可以由能够存储单个数据位的单层单元(slc)、能够存储两个数据位的多层单元(mlc)、能够存储三个数据位的三层单元(tlc)或能够存储四个数据位的四层单元(qlc)形成。

外围电路120可以包括地址解码器121、电压发生器122、读取/写入电路123、数据输入/输出电路124和感测电路125。

外围电路120可以驱动存储器单元阵列110。例如,外围电路120可以驱动存储器单元阵列110以执行编程操作、读取操作或擦除操作。

地址解码器121通过行线rl耦合到存储器单元阵列110。行线rl可以包括漏极选择线、字线、源极选择线和公共源极线。在一个实施例中,字线可以包括正常字线和伪字线。在一个实施例中,行线rl可以进一步包括管道选择线。

在一个实施例中,行线rl可以是被包括在局部线组中的局部线。每个局部线组可以对应一个存储器块。局部线组可以包括漏极选择线、局部字线和源极选择线。

地址解码器121可以在控制逻辑130的控制下操作。地址解码器121可以从控制逻辑130接收地址addr。

地址解码器121可以对所接收的地址addr之中的块地址进行解码。地址解码器121可以基于所解码的块地址来选择存储器块blk1至blkz中的至少一个存储器块。地址解码器121可以对所接收的地址addr之中的行地址radd进行解码。地址解码器121可以基于所解码的行地址radd,通过向至少一个字线wl施加从电压发生器122提供的电压,来选择所选择的存储器块的至少一个字线wl。

在编程操作期间,地址解码器121可以向所选择的字线施加编程电压,并且向未被选择的字线施加通过电压,通过电压具有低于编程电压的电压水平的电压水平。在编程验证操作期间,地址解码器121可以向所选择的字线施加验证电压,并且向未被选择的字线施加验证通过电压,验证通过电压具有比验证电压的电压水平高的电压水平。

在读取操作期间,地址解码器121可以向所选择的字线施加读取电压,并且向未被选择的字线施加读取通过电压,读取通过电压具有比读取电压的电压水平高的电压水平。

在一个实施例中,可以在存储器块的基础上执行存储器设备100的擦除操作。在擦除操作期间,地址解码器121可以对块地址进行解码并且基于所解码的块地址来选择对应的存储器块,该块地址是地址addr的输入到存储器设备100的一部分。在擦除操作期间,地址解码器121可以向与所选择的存储器块耦合的字线施加接地电压。

在本公开的实施例中,地址解码器121可以对所传送的地址addr之中的列地址进行解码。经解码的列地址可以被传送到读取/写入电路123。例如,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的组件。

电压发生器122可以使用被提供给存储器设备100的外部供电电压来生成多个操作电压vop。电压发生器122可以在控制逻辑130的控制下进行操作。

在实施例中,电压发生器122可以通过调节外部供电电压来生成内部供电电压。从电压发生器122生成的内部供电电压可以用作存储器设备100的操作电压。

在实施例中,电压发生器122可以通过使用外部供电电压或内部供电电压来生成多个操作电压vop。电压发生器122可以生成存储器设备100所需的各种电压。例如,电压发生器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压以及多个取消选择读取电压。

为了生成具有各种电压水平的多个操作电压vop,电压发生器122可以包括多个泵浦电容器,多个泵浦电容器被配置为接收内部供电电压,并且可以在控制逻辑130的控制下,通过选择性地使能多个泵浦电容器来生成多个操作电压vop。

所生成的操作电压vop可以通过地址解码器121被提供给存储器单元阵列110。

读取/写入电路123可以包括第一至第m页缓冲器pb1至pbm。第一至第m页缓冲器pb1至pbm可以分别通过第一至第m位线bl1至blm耦合到存储器单元阵列110。第一至第m页缓冲器pb1至pbm可以在控制逻辑130的控制下操作。

第一至第m页缓冲器pb1至pbm可以与数据输入/输出电路124通信数据data。在编程操作期间,第一至第m页缓冲器pb1至pbm可以接收要通过数据输入/输出电路124和数据线dl存储的数据data。

在编程操作期间,当编程电压被施加到所选择的字线时,第一至第m页缓冲器pb1至pbm可以将通过数据输入/输出电路124接收的数据data,通过位线bl1至blm,传送到所选择的存储器单元。所选择的页中的存储器单元基于所传送的数据data而被编程。与被施加编程使能电压(例如,接地电压)的位线耦合的存储器单元可以具有增加的阈值电压。可以保持与被施加了编程禁止电压(例如,供电电压)的位线耦合的存储器单元的阈值电压。在编程验证操作期间,第一至第m页缓冲器pb1至pbm可以通过位线bl1至blm从所选择的存储器单元读取数据data。

在读取操作期间,读取/写入电路123可以通过位线bl从所选择的页的存储器单元读取数据data,并且将读取的数据data存储在第一至第m页缓冲器pb1至pbm中。

在擦除操作期间,读取/写入电路123可以使位线bl浮置。在一个实施例中,读取/写入电路123可以包括列选择电路。

数据输入/输出电路124通过数据线dl耦合到第一至第m页缓冲器pb1至pbm。数据输入/输出电路124可以在控制逻辑130的控制下操作。

数据输入/输出电路124可以包括多个输入/输出缓冲器(未示出),以接收输入数据data。在编程操作期间,数据输入/输出电路124可以从外部控制器(未示出)接收数据data。在读取操作期间,数据输入/输出电路124可以将从第一至第m页缓冲器pb1至pbm接收的数据data输出到外部控制器,该第一至第m页缓冲器pb1至pbm被包括在读取/写入电路123中。

在读取操作或验证操作期间,感测电路125可以响应于由控制逻辑130生成的使能位信号vrybit而生成基准电流,可以将从读取/写入电路123接收的感测电压vpb与由基准电流生成的基准电压进行比较,并且可以向控制逻辑130输出通过信号或失败信号。

控制逻辑130可以耦合到地址解码器121、电压发生器122、读取/写入电路123、数据输入/输出电路124和感测电路125。控制逻辑130可以控制存储器设备100的整体操作。控制逻辑130可以响应于从外部设备传送的命令cmd而操作。

控制电路130可以响应于命令cmd和地址add而生成各种信号,以控制外围电路120。例如,控制逻辑130可以响应于命令cmd和地址add,而生成操作信号opsig、行地址radd、读取/写入电路控制信号pbsignals以及使能位vrybit。控制逻辑130可以将操作信号opsig输出到电压发生器122、将行地址radd输出到地址解码器121、将读取/写入控制信号输出到读取/写入电路123,并且将使能位vrybit输出到感测电路125。控制逻辑130可以响应于从感测电路125输出的通过信号pass或失败信号fail,来确定目标存储器单元在验证操作期间已经通过验证或未通过验证。

在一个实施例中,控制逻辑130可以控制外围电路120,以对多个存储器单元之中的所选择的存储器单元执行编程操作。所选择的存储器单元基于要被存储在每个存储器单元中的数据,可以被编程为多个状态之中的目标编程状态。

控制逻辑130可以控制外围电路120,以向与所选择的存储器单元的耦合所选择的字线施加编程电压。控制逻辑130可以控制外围电路120,以在编程电压被施加到所选择的字线时,执行位线预充电操作和位线放电操作。位线预充电操作可以是基于所选择的存储器单元的目标编程状态,将与所选择的存储器单元耦合的位线的电位设置为预先确定的水平的操作。位线放电操作可以是将与所选择的存储器单元耦合的位线的电位降低到编程使能电压水平的操作。当位线放电操作完成时,控制逻辑130可以控制外围电路120向所选择的字线施加接地电压。

在实施例中,在位线预充电操作期间,外围电路120可以基于所选择的存储器单元的目标编程状态,向与所选择的存储器单元耦合的位线施加编程使能电压或编程禁止电压。编程禁止电压可以是电源电压。编程使能电压可以具有低于编程禁止电压的电压水平。在各个实施例中,编程使能电压可以包括接地电压。编程使能电压可以包括负电压。

例如,如果目标编程状态是多个状态之中的最高编程状态,则外围电路120可以向与所选择的存储器单元耦合的位线施加编程使能电压。如果目标编程状态是除最高编程状态之外的编程状态,则外围电路120可以向与所选择的存储器单元耦合的位线施加编程禁止电压。

在一个实施例中,在位线放电操作期间,外围电路120可以基于所选择的存储器单元的目标编程状态,在不同时间点处,向与所选择的存储器单元耦合的位线施加编程使能电压。

例如,外围电路120可以向多个位线之中的第一位线和第二位线施加相同的编程使能电压,其中编程使能电压可以在被施加到第一位线之前被施加到第二位线。第一位线可以是与要被编程为第一编程状态的单元耦合的位线。第二位线可以是与要被编程为第二编程状态的单元耦合的位线,第二编程状态高于第一编程状态。

在一个实施例中,在位线放电操作期间,外围电路120可以基于所选择的存储器单元的目标编程状态,而向与所选择的存储器单元耦合的位线施加不同的编程使能电压。

例如,外围电路120可以向多个位线之中的第三位线和第四位线同时施加编程使能电压,其中被施加到第四位线的编程使能电压的水平可以低于被施加到第三位线的编程使能电压的水平。第三位线可以是与要被编程为第三编程状态的单元耦合的位线。第四位线可以是与要被编程为第四编程状态的单元耦合的位线,第四编程状态高于第三编程状态。

在各个实施例中,基于所选择的存储器单元的目标编程状态,向多个位线施加的编程使能电压的水平或向相应的位线施加编程使能电压的时间点可以彼此不同。

图3是图示图2的存储器单元阵列110的图。

参考图3,第一至第z存储器块blk1至blkz共同连接到第一至第m位线bl1至blm。在图3中,为了说明的目的,仅图示了多个存储器块blk1至blkz之中的第一存储器块blk1的元件,并且省略了其他存储器块blk2至blkz中的每个存储器块的元件的图示。将理解,存储器块blk2至blkz中的每个存储器块具有与第一存储器块blk1的配置相同的配置。

存储器块blk1可以包括多个单元串cs1_1至cs1_m(m是正整数)。第一至第m单元串cs1_1至cs1_m分别耦合到第一至第m位线bl1至blm。第一至第m单元串cs1_1至cs1_m中的每个单元串包括漏极选择晶体管dst、多个存储器单元mc1至mcn(n是正整数)和源极选择晶体管sst,晶体管串联耦合。

被包括在第一至第m单元串cs1_1至cs1_m中的每个单元串中的漏极选择晶体管dst的栅极端子耦合到漏极选择线dsl1。被包括在第一至第m单元串cs1_1至cs1_m中的每个单元串中的第一至第n存储器单元mc1至mcn的栅极端子分别耦合到第一至第n字线wl1至wln。被包括在第一至第m单元串cs1_1至cs1_m中的每个单元串中的源极选择晶体管sst的栅极端子耦合到源极选择线ssl1。

为了说明的目的,将基于多个单元串cs1_1至cs1_m中的第一单元串cs1_1来描述每个单元串的配置。将理解,其他单元串cs1_1至cs1_m中的每个单元串具有与第一单元串cs1_1的配置相同的配置。

被包括在第一单元串cs1_1中的漏极选择晶体管dst的漏极端子耦合到第一位线bl1。被包括在第一单元串cs1_1中的漏极选择晶体管dst的源极端子与被包括在第一单元串cs1_1中的第一存储器单元mc1的漏极端子耦合。第一至第n存储器单元mc1至mcn串联耦合。被包括在第一单元串cs1_1中的源极选择晶体管sst的漏极端子与被包括在第一单元串cs1_1中的第n存储器单元mcn的源极端子耦合。被包括在第一单元串cs1_1中的源极选择晶体管sst的源极端子耦合到公共源极线csl。在该实施例中,公共源极线csl可以共同地耦合到第一至第z存储器块blk1至blkz。

漏极选择线dsl1、第一至第n字线wl1至wln以及源极选择线ssl1被包括在图2的行线rl中。漏极选择线dsl1、第一至第n字线wl1至wln以及源极选择线ssl1由地址解码器121控制。公共源极线csl由控制逻辑130控制。第一至第m位线bl1至blm由读取/写入电路123控制。

图4是图示根据一个实施例的存储器单元的阈值电压分布和验证电压的图。

参考图4,可以将存储器单元编程为多个状态中的目标编程状态。可以基于被存储在存储器单元中的数据位的数目来确定多个状态。可以基于要被编程到存储器单元的数据来确定目标编程状态。

将基于每个存储器单元是能够存储三个数据位的三层单元(tlc)的假设来进行图4的描述。然而,可以被存储在每个存储器单元中的数据位的数目不限于此。

每个存储器单元可以被编程为以下目标编程状态之一:擦除状态e和第一编程状态至第七编程状态p1至p7。

与目标编程状态相对应的验证电压可以是用于验证存储器单元是否已经被编程为目标编程状态的电压。具有比验证电压高的阈值电压的存储器单元可以是已经通过验证的存储器单元,验证电压与目标编程状态相对应。具有比验证电压低的阈值电压的存储器单元可以是未通过验证的存储器单元,验证电压与目标编程状态相对应。

对应于目标编程状态的验证电压可以是如下电压,该电压对应于与目标编程状态有关的阈值电压分布的左尾。

多个验证电压可以分别对应于多个状态。例如,第一验证电压至第七验证电压v1至v7可以分别对应于第一编程状态至第七编程状态p1至p7。

在一个实施例中,可以从第一编程状态p1到第七编程状态p7依次执行编程操作。当目标编程状态较高时,可以增加被施加到与到所选择的存储器单元耦合的字线的编程电压。

图5是用于描述根据一个实施例的编程操作的图。

参考图5,编程操作可以包括多个编程循环pl1至pln(n是1以上的自然数)。存储器设备可以执行多个编程循环以对所选择的存储器单元进行编程,以使存储器单元具有多个编程状态之中的目标编程状态。

多个编程循环中的每个编程循环可以包括编程电压施加步骤(pgmstep)和验证步骤(verifystep)。

在编程电压施加步骤处,可以执行编程脉冲施加操作,该编程脉冲施加操作向与所选择的存储器单元耦合的所选择的字线施加编程电压。通过编程脉冲施加操作,可以将所选择的存储器单元中的每个存储器单元编程为多个状态之中的目标编程状态。可以基于要被编程到所选择的存储器单元的数据来确定目标编程状态。

在验证步骤处,可以执行编程验证操作,该编程验证操作向所选择的字线施加验证电压,以确定所选择的存储器单元是否已被编程。

在一个实施例中,可以基于增量步进脉冲编程(ispp)方案来确定编程电压。换句话说,随着编程循环的重复,编程电压的水平可以以预定的方式逐步增加或减少预先确定的电压。可以在存储器控制器的控制下,以各种方式确定要在每个编程循环中使用的编程电压的施加次数、电压水平、电压施加时间等。

可以向未被选择的字线施加通过电压,未被选择的字线是除所选择的字线之外的字线。在一个实施例中,可以向未被选择的字线中的每个字线施加相同水平的通过电压。然而,在不同的实施例中,通过电压的水平可以基于字线的位置而变化。

可以向与要被编程的存储器单元耦合的所选择的位线施加接地电压作为编程使能电压。可以向未被选择的位线施加编程禁止电压,未被选择的位线是与除要被编程的存储器单元之外的存储器单元耦合的位线。

在编程验证步骤处,存储器设备可以将验证电压施加到所选择的字线,并且将验证通过电压施加到未被选择的字线。存储器设备可以检测通过位线输出的电压或电流,分别耦合到所选择的字线的存储器单元耦合到该位线,并且可以基于检测的结果来确定验证步骤已经通过或未通过。

在编程电压施加步骤处,可以将所选择的存储器单元编程为第一至第m(m是1以上的自然数)状态中的任何一个状态。

在验证步骤处,可以执行针对第一状态到第m状态中的至少一个状态的编程验证操作。例如,如果通过对应于第k(k是从1到m的自然数)状态的验证电压,将所选择的存储器单元之中的要被编程为第k状态的存储器单元确定为关断单元,则针对第k状态的编程验证操作可以通过。

在图5中,如果所选择的存储器单元中的每个是能够存储两个数据位的多层单元(mlc),则所选择的存储器单元中的每个可以被编程为擦除状态和第一编程状态至第三编程状态中的任何一个状态。可以被存储在每个存储器单元中的数据位的数目不限于本公开的该实施例的数目。

当执行第一编程循环pl1时,施加第一编程电压vpgm1,并且之后,依次施加第一至第三验证电压v_vfy1至v_vfy3,以验证存储器单元的编程状态。这里,第一验证电压v_vfy1可以用于对具有第一编程状态的存储器单元执行验证操作。第二验证电压v_vfy2可以用于对具有第二编程状态的存储器单元执行验证操作。第三验证电压v_vfy3可以用于对具有第三编程状态的存储器单元执行验证操作。然而,验证电压的数目不限于本实施例的数目。

已经通过了基于验证电压v_vfy1至v_vfy3之一的验证操作的存储器单元被确定为具有对应的目标编程状态,并且之后,该存储器单元在第二编程循环pl2中可以被禁止编程。可以向耦合到禁止编程的存储器单元的位线施加编程禁止电压。在第二编程循环pl2期间,可以向所选择的字线施加第二编程电压vpgm2,第二编程电压vpgm2具有比第一编程电压vpgm1高单位电压△vpgm的电压水平。

随后,以与第一编程循环pl1的验证操作相同的方式执行验证操作。例如,“验证通过”指示通过对应的验证电压将存储器单元确定为关断单元。

如上所述,当存储器设备对多层单元(mlc)进行编程时,存储器设备分别使用第一验证电压至第三验证电压v_vfy1至v_vfy3来验证其相应编程状态是目标编程状态的存储器单元。

在各个实施例中,如果在预先确定数目的编程循环内未完成编程操作,则编程操作可能失败。如果在预先确定数目的编程循环内完成了编程操作,则编程操作可以通过。可以基于对所选择的存储器单元执行的所有编程验证操作是否已经通过,来确定编程操作的完成。如果所有的编程验证操作已经通过,则可以不执行后续编程循环。

图6是用于描述在执行编程操作时编程电压的改变的图。

参考图6,所选择的存储器单元中的每个可以被编程为多个编程状态中的目标编程状态。在编程操作期间,编程电压可以被施加到耦合到所选择的存储器单元的字线。编程使能电压或编程禁止电压可以被施加到耦合到所选择的存储器单元的位线。

例如,已经通过了针对目标编程状态的验证的存储器单元可以被禁止编程。因此,编程禁止电压可以被施加到耦合到已经通过了验证的存储器单元的位线。编程禁止电压可以是电源电压vcore。未通过针对目标编程状态的验证的存储器单元可以处于编程操作中。因此,编程使能电压可以被施加到耦合到未通过验证的存储器单元的位线。例如,编程使能电压可以是接地电压vgnd。

参考图5,当目标编程状态较高时,要被施加到所选择的字线的编程电压的水平可以较高。这是由于以下事实:随着目标编程状态越高,基于擦除状态e,存储器单元的阈值电压的所需增量变得越高。

参考图6,可以在编程电压水平从第一编程状态p1增加到第七编程状态p7时,执行编程操作。换句话说,执行针对第七编程状态p7的编程操作时,施加到所选择的字线的编程电压的水平可以高于执行针对第一编程状态p1的编程操作时的水平。

当执行针对第一编程状态p1的编程操作时,可以向与正在被编程为第一编程状态p1的存储器单元耦合的位线施加编程使能电压。可以向与已经被完全编程为第一编程状态p1的存储器单元耦合的位线施加编程禁止电压。可以向与其目标编程状态是第二编程状态至第七编程状态p2至p7的存储器单元耦合的位线施加编程使能电压。

当执行针对第七编程状态p7的编程操作时,可以向与正在被编程为第七编程状态p7的存储器单元耦合的位线施加编程使能电压。可以向与已经被完全编程为第七编程状态p7的存储器单元耦合的位线施加编程禁止电压。可以向与其目标编程状态是第一编程状态至第六编程状态p1至p6的存储器单元耦合的位线施加编程禁止电压。

图7是用于描述根据一个实施例的编程操作的定时图。

参考图7,存储器单元可以是三级单元(tlc)。可以将存储器单元编程为多个编程状态p1至p7之中的目标编程状态。可以被存储在每个存储器单元中的数据位的数目不限于本公开的该实施例的数目。

可以在从时间t1到时间t5的时段期间,向耦合到所选择的存储器单元的所选择的字线施加编程电压vpgm。

在时间t1处,可以基于所选择的存储器单元的目标编程状态,向与所选择的存储器单元耦合的位线施加编程使能电压或编程禁止电压。在实施例中,编程使能电压可以是接地电压vgnd。编程禁止电压可以是电源电压vcore。

例如,可以向与其目标编程状态是最高编程状态p7的存储器单元耦合的位线施加编程使能电压。可以向与其目标编程状态是除最高编程状态之外的编程状态(p1至p6)的存储器单元耦合的位线施加编程禁止电压。

在从时间t2到时间t5期间,可以基于所选择的存储器单元的目标编程状态,在不同时间点处,向与所选择的存储器单元耦合的位线施加编程使能电压。位线的电位可以从编程禁止电压水平下降到编程使能电压水平。

例如,在时间t2处,可以向与其目标编程状态是第六编程状态p6的存储器单元耦合的位线施加编程使能电压。在时间t3处,可以向与其目标编程状态是第二编程状态p2的存储器单元耦合的位线施加编程使能电压。在时间t4处,可以向与其目标编程状态是第一编程状态p1的存储器单元耦合的位线施加编程使能电压。

在时间t1到时间t5之间,已经通过了针对目标编程状态的验证的存储器单元可以是被禁止编程的编程禁止单元。可以向与编程禁止单元耦合的位线施加编程禁止电压。

在一个实施例中,当编程电压被施加到所选择的字线时,向与经编程的单元耦合的位线施加编程禁止电压的时段可以是编程禁止时段tinh。在施加编程电压时,向位线施加编程使能电压的时段可以是净编程时段tnet。在编程禁止时段tinh期间,所选择的字线与位线之间的电压上的差不足以增加编程单元的阈值电压,由此可以不对编程单元执行编程操作。在净编程时段tnet期间,所选择的字线与位线之间的电压上的差足以增加编程单元的阈值电压,使得可以对编程单元执行编程操作。

在一个实施例中,当目标编程状态较高时,净编程时段的长度可以更长。例如,与第二编程状态p2相对应的净编程时段tnet2可以比与第一编程状态p1相对应的净编程时段tnet1更长。

换句话说,在编程电压被施加到所选择的字线并且目标编程状态较高时,可以较早地向耦合到要被编程的单元的位线施加编程使能电压。附加地,在编程电压被施加到所选择的字线并且目标编程状态较高时,耦合到要被编程的单元的位线的电位(被放电到编程使能电压水平)可以较早地出现。

例如,编程使能电压可以在被施加到与要被编程为第一编程状态p1的单元耦合的第一位线之前,被施加到与要被编程为第二编程状态p2的单元耦合的第二位线。

参考图6,当基于编程单元的目标编程状态确定的编程电压被施加到所选择的字线时,编程使能电压可以被施加到耦合到该编程单元的位线。

换句话说,在预先定义的时段期间施加编程电压,并且在执行编程操作时,通过目标编程状态来调整编程电压水平,使得编程时间可以随着目标编程状态的数目的增加而增加。此外,可以针对每个编程状态,而不是针对多个编程状态中的所有编程状态,单独地执行编程操作。

在图7的情况下,可以向所选择的字线施加相同的编程电压,而不管目标编程状态如何,这与图6的情况相反,在图6中,编程电压基于目标编程状态而改变。在一个实施例中,可以将具有高水平(对应于最高编程状态)的编程电压施加到所选择的字线。随着编程电压的水平增加,存储器单元的阈值电压的上升速度增加,并且编程速度也可以增加。

不是基于目标编程状态来调整编程电压的水平,而是可以通过调整在其中执行实际编程操作的净编程时段tnet的长度,来对多个编程状态中的所有编程状态执行编程操作。

因此,由于针对相应编程状态的编程操作被并行执行,所以与图6的情况相比,可以减少编程时间。

图8是用于描述根据一个实施例的编程操作的定时图。

参考图8(与图7不同),基于存储器单元的目标编程状态,可以确定向与存储器单元耦合的位线施加编程使能电压的时间以及要被施加到位线的编程使能电压的水平。

即使相同的编程电压被施加到所选择的字线,也可以基于要被施加到位线的编程使能电压的水平,来调整存储器单元被编程的程度。例如,当向与存储器单元的耦合字线施加相同的编程电压时,与向其施加了具有相对较低水平的编程使能电压的位线耦合的存储器单元的编程程度,可以高于与向其施加了具有相对较高水平的编程使能电压的位线耦合的存储器单元的编程程度。

参考图8,编程使能电压可以具有两个水平vbl1和vbl2。然而,编程使能电压水平的数目不限于该实施例。

在一个实施例中,在编程电压被施加到所选择的字线时,基于目标编程状态确定的编程使能电压,在编程使能电压被确定时,可以被施加到耦合到对应存储器单元的位线。

在一个实施例中,当编程使能电压被同时施加到位线,并且耦合到位线的存储器单元的目标编程状态较高时,可以减小施加到位线的编程使能电压的水平。

例如,第二位线可以是与要被编程为第二编程状态p2的单元耦合的位线,第三位线可以是要被编程为第三编程状态p3的位线。当在时间t3’处同时向第二位线和第三位线施加编程使能电压时,施加到第三位线的编程使能电压vbl1可以低于施加到第二位线的编程使能电压vbl2。

在一个实施例中,当相同的编程使能电压被施加到位线并且与位线耦合的存储器单元的目标编程状态较高时,编程使能电压到位线的施加可以较早地出现。

例如,第五位线可以是与要被编程为第五编程状态p5的单元耦合的位线。当向第三位线和第五位线施加相同的编程使能电压(vbl1)时,向第五位线施加编程使能电压的时间(t2’)可以早于向第三位线施加编程使能电压的时间(t3’)。

与图7的情况不同,净编程时段tnet和编程使能电压vbl的水平两者,可以基于目标编程状态而被调整,以便可以更有效地控制编程单元的阈值电压。

在一个实施例中,随着净编程时段的数目增加,整个编程时间可以增加,因为用于将净编程时段彼此分开的间隔的数目随着净编程时段的数目的增加而增加。间隔可以是相邻净编程时段的开始时间点之间的差。例如,在从时间t3到t4的时段中,该间隔可以是净编程时段tnet1和tnet2之间的间隔。

在图7的情况下,为了对第一编程状态至第七编程状态p1至p7执行编程操作,可能需要与相应的编程状态p1至p7相对应的净编程时段。因此,可能需要六个间隔来将与相应的编程状态相对应的七个净编程时段tnet1至tnet7彼此分开。

在图8的情况下,在相同的净编程时段tnet期间,可以通过改变编程使能电压vbl来执行针对不同编程状态的编程操作。因此,为了对第一编程状态至第七编程状态p1至p7执行编程操作,不需要限定与相应的编程状态p1至p7相对应的所有净编程时段。换句话说,即使仅定义了四个净编程时段tnet1’至tnet4’,也可以通过将编程使能电压的水平设置为不同值来执行编程操作。

因此,在图8的情况下,由于存储器设备调整净编程时段tnet和编程使能电压vbl的水平两者,所以可以减少执行编程操作的净编程时段的数目。因此,与图7的情况相比,可以进一步减少整个编程时间。

在一个实施例中,存储器设备可以针对相同的编程状态执行编程操作,而在净编程时段tnet期间仅改变编程使能电压vbl。这是为了:当所选择的存储器单元的阈值电压在特定范围内接近目标阈值电压时,通过降低编程的速度,来减小与目标编程状态相对应的阈值电压分布的宽度。这可以被定义为双重验证编程(dpgm)方案。

详细地,可以使用主验证电压、与目标编程状态相对应的阈值电压以及具有低于主验证电压的水平的预验证电压,来执行dpgm操作。

例如,如果所选择的存储器单元的阈值电压低于预验证电压,则需要对存储器单元进行快速编程以达到与目标编程状态相对应的阈值电压。在该情况下,可以将具有低水平或接地电压的编程使能电压施加到对应的位线。由于编程电压与位线电压之间存在较大差,所以可以快速地对所选择的存储器单元进行编程。

如果所选择的存储器单元的阈值电压高于预验证电压并且低于主验证电压,则需要缓慢地编程该存储器单元,以在对应于目标编程状态的阈值电压处形成窄的阈值电压分布。在该情况下,与快速执行编程的上述情况相比,可以将具有相对高水平的编程使能电压施加到位线。由于编程电压与位线电压之间的差较小,所以可以缓慢地对所选择的存储器单元进行编程。

如果存储器单元的阈值电压高于主验证电压,则编程已完成。因此,可以向该位线施加编程禁止电压以防止存储器单元被再编程。

在各个实施例中,要被施加到位线的编程使能电压vbl的水平可以被进一步细分为:在相同的净编程时段tnet期间将所选择的存储器单元编程为不同的编程状态,并且在每个编程状态中,以dpgm方案执行编程操作。

图9是用于描述根据一个实施例的编程操作的定时图。

参考图9,在具有低目标编程状态的存储器单元的情况下,即使在低于编程电压水平的电压下也可以执行编程操作。具有低目标编程状态的存储器单元可以是要被编程为低于基准编程状态的编程状态的存储器单元。

在图9中,具有低目标编程状态的存储器单元可以是要被编程为最低有效编程状态p1的存储器单元。具有低目标编程状态的存储器单元不限于该实施例的示例。

与图7的情况相比,在将所选择的字线从编程电压放电到接地电压时,而不是在将编程电压施加到所选择的字线时,可以将编程使能电压施加到与要被编程为第一编程状态p1的存储器单元耦合的位线。

换句话说,在图7的情况下,与第一编程状态p1相对应的净编程时段tnet1被布置在向所选择的字线施加编程电压的时段中。但是,在图9的情况下,与第一编程状态p1相对应的净编程时段tnet1”可以被布置在其中所选择的字线从编程电压放电到接地电压的时段中。

图10是用于描述根据一个实施例的编程操作的流程图。

参考图10,在步骤s1001处,可以向与所选择的存储器单元耦合的所选择的字线施加编程电压。

在步骤s1003处,可以执行位线电压控制操作,位线电压控制操作控制与所选择的存储器单元耦合的位线的电压。位线电压控制操作可以包括位线预充电操作和位线放电操作。

在步骤s1005处,可以向所选择的字线施加接地电压。如果接地电压被施加到所选择的字线,则所选择的字线的电位可以从编程电压放电到接地电压。

图11是用于描述图10的位线电压控制操作的流程图。

参考图11,在步骤s1101处,可以执行位线预充电操作,位线预充电操作将与所选择的存储器单元耦合的位线的电位设置为预先确定的水平。

详细地,可以基于所选择的存储器单元的目标编程状态,向位线施加编程使能电压或编程禁止电压。编程使能电压可以低于编程禁止电压。编程禁止电压可以是电源电压。

在步骤s1103处,可以执行位线放电操作,位线放电操作将与所选择的存储器单元耦合的位线的电位降低到编程使能电压水平。这里,可以基于目标编程状态,在不同的时间点处,将编程使能电压施加到位线。

图12是用于描述根据一个实施例的位线电压控制操作的流程图。

参考图12,在步骤s1201处,可以与到要被编程为最高编程状态的单元耦合的位线施加编程使能电压。在步骤s1203处,可以向与要被编程为除最高编程状态之外的其他编程状态的单元耦合的位线施加编程禁止电压。

不论顺序如何,都可以并行执行步骤s1201和步骤s1203。步骤s1201和步骤s1203可以对应于图11的步骤s1101的位线预充电操作。

在步骤s1205处,可以基于目标编程状态,在不同的时间点处将编程使能电压施加到位线。例如,编程使能电压可以在被施加到多个位线之中的第一位线之前被施加到第二位线。第一位线可以是与要被编程为第一编程状态的单元耦合的位线。第二位线可以是与要被编程为第二编程状态的单元耦合的位线,第二编程状态高于第一编程状态。

步骤s1205可以对应于步骤s1103的位线放电操作。

图13是用于描述根据一个实施例的位线电压控制操作的流程图。

参考图13,在步骤s1301处,可以基于目标编程状态,将编程使能电压或编程禁止电压施加到每个位线。步骤s1301可以对应于步骤s1101的位线预充电操作。

在步骤s1303处,可以在确定的施加时间点处,将基于目标编程状态确定的编程使能电压施加到每个位线。步骤s1303可以对应于步骤s1103的位线放电操作。

在一个实施例中,可以基于目标编程状态,来改变向位线施加编程使能电压的时间点。假设向位线施加相同的编程使能电压并且目标编程状态较高,则可以更早地向位线施加编程使能电压。

在一个实施例中,可以基于目标编程状态来改变被施加到位线的编程使能电压的水平。当编程使能电压被同时施加到位线并且目标编程状态较高时,可以减小施加到位线的编程使能电压的水平。

图14是用于描述根据一个实施例的编程操作的流程图。

参考图14,在步骤s1401处,可以向所选择的字线施加编程电压。

在步骤s1403处,可以向与要被编程为第一状态的单元耦合的第一位线施加第一编程使能电压。

在步骤s1405处,在经过预先确定的时间之后,可以向与要被编程为第二状态的单元耦合的第二位线施加第二编程使能电压,第二状态低于第一状态。在一个实施例中,第二编程使能电压可以与第一编程使能电压相同。在一个实施例中,第二编程使能电压可以高于第一编程使能电压。

在步骤s1407处,可以向所选择的字线施加接地电压。

如上所述,本公开的各个实施例可以提供具有改进的编程性能的存储器设备以及操作该存储器设备的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1