存储器设备及操作存储器设备方法 |
|||||||
申请号 | CN202010486460.5 | 申请日 | 2020-06-01 | 公开(公告)号 | CN112397126B | 公开(公告)日 | 2024-04-23 |
申请人 | 爱思开海力士有限公司; | 发明人 | 梁仁坤; | ||||
摘要 | 本公开的 实施例 涉及 存储器 设备及操作存储器设备的方法。存储器设备可以包括存储器单元阵列、多个页 缓冲器 组和编程操作 控制器 。存储器单元阵列可以包括多个存储器单元。页缓冲器组可以通过多个位线组耦合到多个存储器单元,并且可以被配置为在多个位线组上执行位线预充电操作。编程操作控制器可以被配置为控制多个页缓冲器组,以在多个存储器单元上的编程操作期间,执行在不同时间点启动的位线预充电操作,并且取决于编程操作的进度,调整位线预充电操作的启动时间点之间的间隔。 | ||||||
权利要求 | 1.一种存储器设备,包括: |
||||||
说明书全文 | 存储器设备及操作存储器设备方法[0001] 相关申请的交叉引用 技术领域背景技术[0004] 存储设备是在诸如计算机或智能电话的主机设备的控制下存储数据的设备。存储设备可以包括在其中数据被存储的存储器设备、以及控制存储器设备的存储器控制器。这 样的存储器设备被分类为易失性存储器设备和非易失性存储器设备。 [0005] 易失性存储器设备是其中仅当供应功率时才存储数据、并且在功率供应中断时丢失所存储的数据的存储器设备。易失性存储器设备的示例包括静态随机存取存储器(SRAM) 和动态随机存取存储器(DRAM)。 [0006] 非易失性存储器设备是即使功率中断也能够保持所存储的数据的存储器设备。非易失性存储器设备的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、 电可擦除可编程ROM(EEPROM)和闪速存储器。 发明内容 [0007] 本公开的一个实施例可以提供存储器设备。存储器设备可以包括存储器单元阵列、多个页缓冲器组和编程操作控制器。存储器单元阵列可以包括多个存储器单元。页缓冲 器组可以通过多个位线组耦合到多个存储器单元,并且可以被配置为对多个位线组执行位 线预充电操作。编程操作控制器可以被配置为控制多个页缓冲器组,以在对多个存储器单 元的编程操作期间,执行在不同时间点启动的位线预充电操作,并取决于编程操作的进度, 调整位线预充电操作的启动时间点之间的间隔。 [0008] 本公开的一个实施例可以提供操作存储器设备的方法,存储器设备在多个存储器单元上执行编程操作。该方法可以包括:取决于编程操作的进度,确定多个位线组上的位线 预充电操作的起始时间点之间的间隔,多个位线组与多个存储器单元耦合;以及取决于启 动时间点之间的所确定的间隔,执行位线预充电操作。 附图说明 [0009] 图1是图示了根据本公开的一个实施例的存储设备的图。 [0010] 图2是图示了图1的存储器设备的结构的图。 [0011] 图3是图示了图2的存储器单元阵列的图。 [0012] 图4是图示了根据一个实施例的编程操作的图。 [0013] 图5是图示了根据一个实施例的编程操作的进度序列的图。 [0014] 图6是用于解释位线负载的图。 [0015] 图7是用于解释位线负载取决于编程操作进度而改变的图。 [0016] 图8是图示了根据一个实施例的存储器设备的配置和操作的图。 [0017] 图9是图示了图8的读取和写入电路的图。 [0019] 图11是图示了根据一个实施例的位线预充电操作的图。 [0020] 图12是图示了根据一个实施例的位线预充电操作的图。 [0021] 图13是图示了对图12的位线预充电操作的启动时间点之间的间隔进行调整的操作的图。 [0022] 图14是图示了根据一个实施例的编程操作的流程图。 [0023] 图15是图示了根据一个实施例的图14的编程操作的流程图。 [0024] 图16是图示了根据一个实施例的图14的编程操作的流程图。 具体实施方式[0026] 本公开的各种实施例针对具有改进的位线预充电性能的存储器设备以及操作该存储器设备的方法。 [0027] 图1是图示了根据本公开的一个实施例的存储设备的图。 [0028] 参考图1,存储设备50可以包括存储器设备100和控制存储器设备的操作的存储控制器200。存储设备50可以是在主机(例如,移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、平板电脑或车载信息娱乐系统)的控制下存储数据的设备。 [0029] 存储设备50可以取决于主机接口而被制造为各种类型的存储设备中的任一中存储设备,主机接口作为与主机的通信方案。存储设备50可以被实现为各种类型的存储设备, 诸如,固态硬盘(SSD)、多媒体卡(例如,MMC、嵌入式MMC(eMMC)、尺寸减小的MMC(RS‑MMC)或 微型MMC)、安全数字卡(例如,SD、小型SD或微型SD)、通用存储总线(USB)存储设备、通用闪 存(UFS)设备、个人计算机存储卡国际协会(PCMCIA)卡类型存储设备、外围组件互连(PCI) 卡类型存储设备、PCI Express(PCI‑E)卡类型存储设备、紧凑型闪存(CF)卡、智能媒体卡和 记忆棒中的任一个。 [0030] 存储设备50可以以各种类型的封装形式中的任一个封装形式来制造。例如,存储设备50可以以如下各种类型的封装形式中的任一个封装形式来制造:诸如,层叠封装 (POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板载芯片(COB)、晶圆级制造 封装(WFP)和晶圆级堆叠封装(WSP)。 [0031] 存储器设备100可以存储数据。存储器设备100响应于存储器控制器200的控制进行操作。存储器设备100可以包括存储器单元阵列,存储器单元阵列包括存储数据的多个存 储器单元。 [0032] 存储器单元中的每个存储器单元可以被实现为能够存储单个数据位(data bit)的单层单元(single‑level cell,SLC)、能够存储两个数据位的多层单元(MLC)、能够存储 三个数据位三层单元(TLC)或者能够存储四个数据位的四层单元(QLC)。 [0033] 存储器单元阵列可以包括多个存储器块。每个存储器块可以包括多个存储器单元。单个存储器块可以包括多个页。在一个实施例中,每个页可以是通过其将数据存储在存 储器设备100中、或通过其读取存储器设备100中所存储的数据的单元。 [0034] 存储器块可以是擦除数据的单元。在一个实施例中,存储器设备100可以采用许多备选形式,例如,双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速 率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)SDRAM、 Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储 器设备、电阻式RAM(RRAM)、相变存储器(PRAM)、磁阻RAM(MRAM)、铁电RAM(FRAM)或自旋转移 转矩RAM(STT‑RAM)。在本说明书中,为了便于描述,将在假设存储器设备100是NAND闪速存 储器的情况下进行描述。 [0035] 存储器设备100可以从存储器控制器200接收命令和地址,并且可以访问存储器单元阵列中由该地址选择的区域。即,存储器设备100可以在由该地址选择的区域上执行由该 命令指示的操作。例如,存储器设备100可以执行写入操作(即,编程操作)、读取操作和擦除 操作。在编程操作期间,存储器设备100可以将数据编程到由地址选择的区域。在读取操作 期间,存储器设备100可以从由地址选择的区域读取数据。在擦除操作期间,存储器设备100 可以擦除由地址选择的区域中所存储的数据。 [0036] 在一个实施例中,存储器设备100可以包括读取和写入电路123以及编程操作控制器131。 [0037] 读取和写入电路123可以包括多个页缓冲器组,其通过位线耦合到存储器单元阵列的存储器单元。位线可以被划分为与多个页缓冲器组分别对应的多个位线组。在对存储 器单元执行的编程操作期间,多个页缓冲器组可以分别执行对与其对应的多个位线组进行 预充电的位线预充电操作。 [0038] 编程操作控制器131可以控制多个页缓冲器组,使得相应页缓冲器组在不同的时间点启动位线预充电操作。编程操作控制器131可以取决于编程操作的进度,来调整由相应 页缓冲器组执行的位线预充电操作的启动时间点之间的间隔(即,时间间隙)。 [0039] 在已通过编程验证操作的编程状态之中,编程操作的进度可以被确定为最高编程状态。稍后将参考图5来描述已通过编程验证操作的最高编程状态。备选地,编程操作的进 度可以被确定为编程循环计数(program loop count),其指示在编程操作期间执行的一个 或多个编程循环之中,已执行的编程循环的数目。稍后将参考图4来描述编程循环。 [0040] 存储器控制器200控制存储设备50的整体操作。 [0041] 当功率被施加给存储设备50时,存储器控制器200可以运行固件(FW)。当存储器设备100是闪速存储器设备时,存储器控制器200可以运行诸如闪存转译层(FTL)的固件,以用 于控制主机与存储器设备100之间的通信。 [0042] 在一个实施例中,存储器控制器200可以从主机接收数据和逻辑块地址(LBA),并且可以将逻辑块地址(LBA)转译为物理块地址(PBA),物理块地址(PBA)指示数据将要存储 到的存储器单元的地址,该存储器单元被包括在存储器设备100中。 [0043] 存储器控制器200可以控制存储器设备100,使得响应于从主机接收的请求而执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器设备100 提供写入命令、物理块地址(PBA)和数据。在读取操作期间,存储器控制器200可以向存储器 设备100提供读取命令和物理块地址(PBA)。在擦除操作期间,存储器控制器200可以向存储 器设备100提供擦除命令和物理块地址(PBA)。 [0044] 在一个实施例中,不论从主机接收的请求如何,存储器控制器200可以自主地生成命令、地址和数据、并且可以将它们传输到存储器设备100。例如,存储器控制器200可以向 存储器设备100提供命令、地址和数据来执行后台操作(例如,用于损耗均衡的编程操作和 用于垃圾收集的编程操作)。 [0045] 在一个实施例中,存储器控制器200可以控制至少两个存储器设备100。在这种情况下,存储器控制器200可以使用交织方案来控制存储器设备100,以改进操作性能。交织方 案可以是在其中使得至少两个存储器设备100的操作时段彼此重叠的操作方式。 [0046] 主机可以使用如下各种通信方法中的至少一种通信方法来与存储设备50通信:例如,通用串行总线(USB)、串行AT附件(SATA)、串行附件SCSI(SAS)、高速芯片间(HSIC)、小型 计算机系统接口(SCSI)、外围组件互连(PCI)、PCI Express(PCIe)、非易失性存储器 Express(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直 插式存储模块(DIMM)、带寄存器的DIMM(RDIMM)和负载降低的DIMM(LRDIMM)。 [0047] 图2是图示了图1的存储器设备的结构的图。 [0048] 参考图2,存储器设备100可以包括存储器单元阵列110、外围电路120和控制逻辑130。控制逻辑130可以被实现为硬件、软件或硬件和软件的组合。例如,控制逻辑130可以是 根据算法而操作的控制逻辑电路和/或执行控制逻辑代码的处理器。 [0049] 存储器单元阵列110包括多个存储器块BLK1至BLKz。多个存储器块BLK1至BLKz通过行线RL耦合到地址解码器121。存储器块BLK1至BLKz通过位线BL1至BLm耦合到读取和写 入电路123。存储器块BLK1至BLKz中的每一个存储器块包括多个存储器单元。在一个实施例 中,多个存储器单元是非易失性存储器单元。在多个存储器单元中,耦合到同一字线的存储 器单元被定义为单个物理页。即,存储器单元阵列110由多个物理页组成。根据本公开的一 个实施例,存储器单元阵列110中所包括的多个存储器块BLK1至BLKz中的每一个存储器块 可以包括多个虚拟单元。作为虚拟单元,一个或多个虚拟单元可以串联耦合在漏极选择晶 体管和存储器单元之间、以及源极选择晶体管和存储器单元之间。 [0050] 存储器设备100的存储器单元中的每一个存储器单元可以被实现为能够存储单个数据位的单层单元(SLC)、能够存储两个数据位的多层单元(MLC)、能够存储三个数据位的 三层单元(TLC)或能够存储四个数据位的四层单元(QLC)。 [0051] 外围电路120可以包括地址解码器121、电压发生器122、读取和写入电路123、数据输入/输出电路124和感测电路125。 [0053] 地址解码器121通过行线RL耦合到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和公共源极线。根据本公开的一个实施例,字线可以包括普通字线和 虚拟字线。根据本公开的一个实施例,行线RL可以进一步包括管道选择线。 [0054] 在一个实施例中,行线RL可以是局部线组中包括的局部线。局部线组可以对应于单个存储器块。局部线组可以包括漏极选择线、局部字线和源极选择线。 [0055] 地址解码器121可以在控制逻辑130的控制下操作。地址解码器121从控制逻辑130接收地址ADDR。 [0056] 地址解码器121可以在所接收的地址ADDR之中,解码出块地址。地址解码器121响应于经解码的块地址,从存储器块BLK1至BLKz之中选择至少一个存储器块。地址解码器121 被配置为在所接收的地址ADDR之中,解码出行地址RADD。地址解码器121可以响应于经解码 的行地址RADD,通过将从电压发生器122供应的电压施加到至少一个字线WL,来选择所选择 的存储器块的至少一个字线。 [0057] 在编程操作期间,地址解码器121可以将编程电压施加到所选择的字线,并且将通过电压施加到未选择的字线,通过电压具有比编程电压的电平低的电平。在编程验证操作 期间,地址解码器121可以将验证电压施加到所选择的字线,并且将验证通过电压施加到未 选择的字线,验证通过电压具有比验证电压的电平高的电平。 [0058] 在读取操作期间,地址解码器121可以将读取电压施加到所选择的字线,并且将读取通过电压施加到未选择的字线,读取通过电压具有比读取电压的电平高的电平。 [0059] 根据本公开的一个实施例,存储器设备100的擦除操作可以基于存储器块来执行。在擦除操作期间,输入到存储器设备100的地址ADDR包括块地址。地址解码器121可以对块 地址进行解码,并且响应于经解码的块地址来选择单个存储器块。在擦除操作期间,地址解 码器121可以将接地电压施加到与所选择的存储器块耦合的字线。 [0060] 根据本公开的一个实施例,地址解码器121可以在所接收的地址ADDR之中,解码出列地址。经解码的列地址可以被传送到读取和写入电路123。在一个实施例中,地址解码器 121可以包括诸如行解码器、列解码器和地址缓冲器的组件。 [0061] 电压发生器122可以使用向存储器设备100供应的外部供应电压来生成多个操作电压Vop。电压发生器122可以在控制逻辑130的控制下进行操作。 [0062] 在一个实施例中,电压发生器122可以通过调节外部供应电压来生成内部供应电压。由电压发生器122生成的内部供应电压用作存储器设备100的操作电压。 [0063] 在一个实施例中,电压发生器122可以使用外部供应电压或内部供应电压来生成多个操作电压Vop。电压发生器122可以生成存储器设备100所需的各种电压。例如,电压发 生器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压以及多 个未选择读取电压。 [0064] 电压发生器122可以包括多个抽运电容器(pumping capacitor),用于接收内部供应电压,从而生成具有各种电压电平的多个操作电压Vop,并且电压发生器122可以通过在 控制逻辑430的控制下,选择性地启用多个抽运电容器来生成多个操作电压Vop。 [0065] 所生成的操作电压Vop可以通过地址解码器121而供应给存储器单元阵列110。 [0066] 读取和写入电路123包括第一至第m页缓冲器PB1至PBm。第一至第m页缓冲器PB1至PBm分别通过第一至第m位线BL1至BLm耦合到存储器单元阵列110。第一至第m页缓冲器PB1 至PBm在控制逻辑130的控制下进行操作。 [0067] 第一至第m页缓冲器PB1至PBm可以与数据输入/输出电路124执行数据通信。在编程操作期间,第一至第m页缓冲器PB1至PBm通过数据输入/输出电路124和数据线DL接收待 存储的数据DATA。 [0068] 在编程操作期间,当编程脉冲被施加到所选择的字线时,第一页缓冲器PB1至第m页缓冲器PBm可以将通过数据输入/输出电路124而接收的待存储的数据DATA,通过位线BL1 至BLm传送到所选择的存储器单元。基于所接收的数据DATA,对所选择的页中的存储器单元 进行编程。与施加有编程许可电压(例如,接地电压)的位线耦合的存储器单元可以具有增 加的阈值电压。与施加有编程禁止电压(例如,供应电压)的位线耦合的存储器单元的阈值 电压可以被维持。在编程验证操作期间,第一至第m页缓冲器PB1至PBm通过位线BL1至BLm从 所选择的存储器单元中,读取被存储在所选择的存储器单元中的数据DATA。 [0069] 在读取操作期间,读取和写入电路423可以通过位线BL,从所选择的页中的存储器单元读取数据DATA,并且可以将所读取的数据DATA存储在第一至第m页缓冲器PB1至PBm中。 [0070] 在擦除操作期间,读取和写入电路123可以允许位线BL浮置。在一个实施例中,读取和写入电路123可以包括列选择电路。 [0071] 在一个实施例中,读取和写入电路123可以包括多个页缓冲器PB,多个页缓冲器PB通过位线BL耦合到存储器单元阵列110的存储器单元。 [0072] 多个页缓冲器PB可以被划分为多个页缓冲器组。位线BL可以被划分为与多个页缓冲器组分别对应的多个位线组。在对存储器单元执行的编程操作期间,多个页缓冲器组可 以分别执行对与其对应的多个位线组进行预充电的位线预充电操作。 [0073] 读取和写入电路控制信号PBSIGNALS可以包括与多个页缓冲器组分别对应的多个页缓冲器控制信号。多个页缓冲器组可以分别响应于与其对应的多个页缓冲器控制信号, 而独立地执行位线预充电操作。将参考图9来描述多个页缓冲器组与存储器单元之间的耦 合关系。 [0074] 数据输入/输出电路124通过数据线DL耦合到第一至第m页缓冲器PB1至PBm。数据输入/输出电路424响应于控制逻辑130的控制进行操作。 [0075] 数据输入/输出电路124可以包括接收输入数据DATA的多个输入/输出缓冲区(未示出)。在编程操作期间,数据输入/输出电路124从外部控制器(未示出)接收待存储的数据 DATA。在读取操作期间,数据输入/输出电路124将从读取和写入电路123中所包括的第一至 第m页缓冲器PB1至PBm接收的数据DATA,输出至外部控制器。 [0076] 在读取操作或验证操作期间,感测电路125可以响应于由控制逻辑130生成的使能位信号VRYBIT而生成参考电流,并且感测电路125可以通过将从读取和写入电路123接收的 感测电压VPB与由参考电流生成的参考电压进行比较,来向控制逻辑130输出通过信号或失 败信号。 [0077] 控制逻辑130可以耦合到地址解码器121、电压发生器122、读取和写入电路123、数据输入/输出电路124和感测电路125。控制逻辑130可以控制存储器设备100的整体操作。控 制逻辑130可以响应于从外部设备传输的命令CMD而进行操作。 [0078] 控制逻辑130可以响应于命令CMD和地址ADDR,通过生成各种类型的信号来控制外围电路120。例如,响应于命令CMD和地址ADDR,控制逻辑130可以生成操作信号OPSIG、行地 址RADD、页缓冲器控制信号PBSIGNALS以及使能位VRYBIT。控制逻辑130可以将操作信号 OPSIG输出至电压发生器122、将行地址RADDR输出至地址解码器121、将页缓冲器控制信号 PBSIGNALS输出至读取和写入电路123并且将使能位VRYBIT输出至感测电路125。附加地,控 制逻辑130可以响应于从感测电路125输出的通过信号PASS或失败信号FAIL,来确定验证操 作是已通过或是失败。 [0079] 在一个实施例中,控制逻辑130可以包括编程操作控制器131。 [0080] 编程操作控制器131可以控制读取和写入电路123中所包括的多个页缓冲器组,使得相应页缓冲器组在不同的时间点启动位线预充电操作。 [0081] 例如,编程操作控制器131可以将读取和写入电路控制信号PBSIGNALS提供给读取和写入电路123,读取和写入电路控制信号PBSIGNALS包括与多个页缓冲器组分别对应的多 个页缓冲器控制信号。多个页缓冲器组可以分别响应于与其对应的多个页缓冲器控制信 号,而独立地执行位线预充电操作。 [0082] 编程操作控制器131可以取决于编程操作的进度,来调整由相应页缓冲器组执行的位线预充电操作的启动时间点之间的间隔。 [0083] 编程操作的进度可以被确定为在已通过编程验证操作的编程状态之中的最高编程状态。备选地,编程操作的进度可以被确定为编程循环计数,该编程循环计数指示在编程 操作期间执行的一个或多个编程循环之中,已执行的编程循环的数目。 [0084] 图3是图示了图2的存储器单元阵列的图。 [0085] 参考图3,第一至第z存储器块BLK1至BLKz共同地耦合至第一至第m位线BL1至BLm。在图3中,为了便于描述,图示了多个存储器块BLK1至BLKz之中的第一存储器块BLK1中所包 括的元素,并且省略了其余存储器块BLK2至BLKz中的每一个存储器块中所包括的元素的图 示。将理解,其余存储器块BLK2至BLKz中的每一个存储器块具有与第一存储器块BLK1相同 的配置。 [0086] 存储器块BLK1可以包括多个单元串CS1_1至CS1_m(其中m是正整数)。第一至第m单元串CS1_1至CS1_m分别耦合至第一至第m位线BL1至BLm。第一至第m单元串CS1_1至CS1_m中 的每一个单元串可以包括漏极选择晶体管DST、彼此串联耦合的多个存储器单元MC1至MCn (其中n是正整数)、以及源极选择晶体管SST。 [0087] 第一至第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。 [0088] 为了便于描述,每个单元串的结构将基于多个单元串CS1_1至CS1_m之中的第一单元串CS1_1来描述。然而,将理解,其余单元串CS1_2至CS1_m中的每一个单元串以与第一单 元串CS1_1相同的方式配置。 [0089] 第一单元串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。 [0090] 漏极选择线DSL1、第一至第n字线WL1至WLn以及源极选择线SSL1被包括在图2的行线RL中。漏极选择线DSL1、第一至第n字线WL1至WLn以及源极选择线SSL1由地址解码器121 控制。公共源极线CSL由控制逻辑130控制。第一至第m位线BL1至BLm由读取和写入电路123 控制。 [0091] 图4是图示了根据一个实施例的编程操作的图。 [0092] 参考图4,编程操作可以包括多个编程循环PL1至PLn。存储器设备可以通过执行多个编程循环PL1至PLn来执行编程操作,以使得所选择的存储器单元中的每一个存储器单元 具有多个编程状态中的任一个编程状态。 [0093] 多个编程循环PL1至PLn中的每一个编程循环可以包括施加编程电压的编程电压施加步骤(PGM步骤)、以及通过施加验证电压来验证存储器单元是否已被编程的验证步骤。 [0094] 在编程电压施加步骤,可以执行将编程电压施加到所选择的字线的编程电压施加操作,所选择的字线与所选择的存储器单元耦合。通过编程电压施加操作,所选择的存储器 单元中的每一个存储器单元可以被编程为与第一状态至第n状态中的任一状态相对应的编 程状态(其中,n是自然数)。 [0095] 在一个实施例中,编程电压可以基于增量步长脉冲编程(ISPP)方法来确定。即,在重复编程循环的同时,编程电压的电平可以逐步地增加或减小预定电压增量(即,步长电 压)。在相应编程循环中使用的编程电压的施加次数、编程电压的电压电平、电压施加时间 等可以在存储器控制器的控制下,以各种形式来确定。 [0096] 通过电压可以施加到除所选择的字线之外的其余字线(即,未选择的字线)。在一个实施例中,具有相同电平的通过电压可以施加到未选择的字线。在一个实施例中,通过电 压可以取决于字线的位置而具有不同的电平。 [0097] 接地电压可以作为编程许可电压而被施加到所选择的位线,所选择的位线与待编程的存储器单元耦合。编程禁止电压可以施加到未选择的位线,未选择的位线是与除待编 程的存储器单元之外的存储器单元耦合的位线。 [0098] 在编程验证步骤,存储器设备可以将验证电压施加到所选择的字线,并且将验证通过电压施加到未选择的字线。存储器设备可以感测通过位线输出的电压或电流,与所选 择的字线分别耦合的存储器单元耦合到该位线,并且存储器设备可以基于所感测的结果来 确定验证步骤使已通过还是失败。 [0099] 在验证步骤,编程验证操作可以针对第一至第n编程状态中的至少一个状态来执行。例如,当待编程为第k状态(其中k是等于或大于1、并且小于或等于n的自然数)的存储器 单元通过与第k状态相对应的验证电压而作为关断单元被读取时,针对第k状态的编程验证 操作可以通过。 [0100] 在图4中,当所选择的存储器单元是各自存储两个数据位的多层单元(MLC)时,所选择的存储器单元可以被编程为擦除状态和第一至第三编程状态中的任一状态。被存储在 一个存储器单元中的数据位的数目不限于本实施例。 [0101] 当执行第一编程循环PL1时,第一编程电压Vpgm1被施加,并且在此后第一至第三验证电压V_vfy1至V_vfy3被顺序地施加,从而验证多个存储器单元的编程状态。这里,其目 标状态为第一编程状态的存储器单元可以使用第一验证电压V_vfy1来验证,其目标状态为 第二编程状态的存储器单元可以使用第二验证电压V_vfy2来验证,其目标状态为第三编程 状态的存储器单元可以使用第三验证电压V_vfy3来验证。验证电压的数目不限于本实施 例。 [0102] 借助相应验证电压V_vfy1至V_vfy3而已经通过验证的存储器单元可以被确定为具有目标状态,并且其可以在第二编程循环PL2中是编程禁止的。编程禁止电压可以施加到 与编程禁止的存储器单元耦合的位线。在第二编程循环PL2中,第二编程电压Vpgm2被施加 到所选择的字线,第二编程电压Vpgm2比第一编程电压Vpgm1高一单位电压△Vpgm。 [0103] 此后,验证操作以与第一编程循环PLl中的验证操作相同的方式来执行。在一个示例中,术语“验证通过”指示每个存储器单元通过对应验证电压而作为关断单元被读取。 [0104] 如上所述,当存储器设备对多层单元(MLC)进行编程时,存储器设备使用第一至第三验证电压V_vfy1至V_vfy3,来验证具有相应编程状态作为目标状态的存储器单元。 [0105] 在各个实施例中,当编程操作在预设数目的编程循环内未完成时,编程操作可能失败。当编程操作在预设数目的编程循环内完成时,编程操作可以通过。编程操作是否完成 可以取决于所选择的存储器单元是否已通过所有编程验证操作来确定。 [0106] 在一个实施例中,在编程操作期间,一个或多个编程循环可以被执行。编程操作的进度可以指示在编程操作期间的所有编程循环之中,直到当前时间为止已完成的编程循 环。即,编程操作的进度可以是编程循环计数,该编程循环计数指示一个或多个编程循环之 中,已执行的编程循环的数目。 [0107] 图5是图示了根据一个实施例的编程操作的进度序列的图。 [0108] 参考图5,将在每个存储器单元是存储四个数据位的四层单元(QLC)的假设下进行描述。每个存储器单元可以被编程为擦除状态E和第一至第十五编程状态P1至P15中的任一 状态。 [0109] 存储器单元可以存储与擦除状态E和多个编程状态Pl至P15中的任一个相对应的逻辑数据。逻辑数据可以包括高有效位(USB)页数据、最高有效位(MSB)页数据、中间有效位 (CSB)页数据和最低有效位(LSB)页数据。 [0110] 在图5中,擦除状态E和第一至第十五编程状态P1至P15可以分别对应于多个逻辑数据段“1111”、“1110”、“1100”、“1000”、“0000”、“0100”、“0101”、“0111”、“0110”、“0010”、“1010”、“1011”、“0011”、“0001”、“1001”和“1101”。与相应状态相对应的逻辑数据段不限于本实施例。 [0111] 编程操作可以以从第一编程状态P1到第十五编程状态P15的序列来顺序地执行。编程验证操作也可以以从针对第一编程状态P1的编程验证操作到针对第十五编程状态P15 的编程验证操作的序列来顺序地执行。 [0112] 编程操作的进度可以指示这样的点,在从开始点到结束点的范围内,直到该点为止的编程操作已完成。在一个实施例中,编程操作的进度可以是在编程验证操作已通过的 状态之中的最高编程状态。 [0113] 例如,当针对第一至第五编程状态P1至P5的编程验证操作已通过、并且针对其余编程状态P6至P15的编程验证操作已失败时,编程操作的进度可以对应于第五编程状态P5。 可以看出的是,凭借编程操作的进度,在所有的编程状态P1至P15之中,针对第一至第五编 程状态P1至P5的编程操作已完成。 [0114] 图6是用于解释位线负载的图。 [0115] 参考图6,编程许可电压可以施加到与待编程的单元耦合的位线。在一个实施例中,编程允许电压可以是接地电压Vgnd。 [0116] 编程禁止电压Vinh可以施加到与编程已完成的单元耦合的位线。在一个实施例中,编程禁止电压可以是供应电压。 [0117] 在编程操作的开始点PGM开始处,第一至第八位线BL1至BL8可以是与待编程的单元耦合的位线。 [0118] 当编程操作(编程)被执行时,第一、第三、第五和第八位线BL1、BL3、BL5和BL8可以是与待编程的单元耦合的位线。第二、第四、第六和第七位线BL2、BL4、BL6和BL7可以是与编 程已完成的单元耦合的位线。 [0119] 在编程操作的结束点PGM结束处,第一至第八位线BL1至BL8可以是与编程已完成的单元耦合的位线。 [0120] 位线负载(bit line loading)可能由于相邻位线之间的电容而存在。位线负载可以是将位线预充电到某个电平所需的荷载。因此,位线负载的值可以以各种方式来测量。在 一个实施例中,位线负载可以由相邻位线之间的电容引起,并且可以与电容成比例。因此, 位线负载的值可以通过电容的值来测量。在一个实施例中,当其他条件相同时,位线负载的 值可以通过用以将位线预充电到某个电平的时间来测量。在一个实施例中,当其他条件相 同时,位线负载的值可以通过用以将位线预充电到某个电平所需的功率来测量。在一个实 施例中,位线负载的值可以用作用于比较的相对量度。因此,位线负载的值没有特定单位。 [0121] 电容的幅度可以与施加到相邻位线的电压之间的差成比例。因此,当相邻位线之间的电压差大时,位线负载可以具有大的值,而当相邻位线之间的电压差小时,位线负载可 以具有小的值。 [0122] 当位线负载值较大时,可以需要较长的时间以便执行将位线的电势增加到某个电平的位线预充电操作。当位线负载值较小时,可以需要较短的时间以便执行位线预充电操 作。 [0123] 在图6中,由于在编程操作的开始点PGM开始处,相邻位线的电压彼此相同、并且是作为编程许可电压的接地电压Vgnd,所以位线负载值可以是小的。因此,在位线预充电操作 期间,可以需要较短的时间。 [0124] 当编程操作被执行(编程)时,与待编程的单元耦合的位线和耦合到编程已完成的单元的位线可以彼此相邻。因此,由于相邻位线的电压彼此不同,所以电压差可以存在,并 且位线负载可以是大的。因此,位线预充电操作可以需要较长的时间。 [0125] 由于在编程操作的结束点PGM结束处,相邻位线的电压彼此相等并且是编程禁止电压Vinh,因此位线负载可以是小的。因此,位线预充电操作可以需要较短的时间。 [0126] 图7是用于解释位线负载取决于编程操作的进度而改变的图。 [0127] 参考图7,图的水平轴可以指示时间,并且图的垂直轴可以指示位线负载。 [0128] 在编程操作的开始点PGM开始处,位线可以是与待编程的单元耦合的位线。因此,由于在编程操作的开始点PGM开始处,存在相邻位线的电压作为编程许可电压而彼此相等 的许多情况,所以位线负载可以是小的。 [0129] 在编程操作的中间点PGM Mid处,与待编程的单元耦合的位线的数目可以类似于耦合到编程已完成的单元的位线的数目。因此,在最大数目的情况中,相邻位线的电压分别 作为编程许可电压和编程禁止电压而彼此不同,并且因此位线负载可以是最大的。 [0130] 在编程操作的结束点PGM结束处,位线可以是与编程已完成的单元耦合的位线。因此,由于在编程操作的结束点PGM结束处,存在相邻位线的电压作为编程禁止电压而彼此相 等的许多情况,所以位线负载可以是小的。 [0131] 当执行编程操作时,在所有位线之中,与待编程的单元耦合的位线的数目可以减少,并且与编程已完成的单元耦合的位线的数目可以增加。 [0132] 因此,由于其中相邻位线的电压分别作为编程许可电压和编程禁止电压而彼此不同的情况的数目,可以在从编程操作的开始点PGM开始到编程操作的中间点PGM Mid的范围 内增加,所以位线负载可以增加。由于其中相邻位线的电压彼此不同的情况的数目,在从编 程操作的中间点(PGM Mid)到编程操作的结束点(PGM结束)的范围内减少,所以位线负载可 以减小。 [0133] 在一个实施例中,存储器设备可以基于编程操作的进度来预测位线负载的改变。存储器设备可以取决于位线负载的改变,来确定位线预充电操作所需的时间。因此,存储器 设备可以取决于编程操作的进度,而将位线预充电操作所需的时间设置为不同的时间。 [0134] 例如,存储器设备可以将当编程操作的进度在点ta和点tb之间时位线预充电操作所需的时间,设置为比当如下情况时位线预充电操作所需的时间更长的时间:当编程操作 的进度在编程操作的开始点PGM开始与点ta之间时。存储器设备可以将当编程操作的进度 在点ta和点tb之间时位线预充电操作所需的时间,设置为比当如下情况时位线预充电操作 所需的时间更长的时间:当编程操作的进度在点tb与编程操作的结束点PGM结束之间时。 [0135] 如稍后将参考图12和图13所描述的,存储器设备可以调整页缓冲器组的相应位线预充电操作的启动时间点之间的间隔,以便将整个位线预充电操作所需的时间设置为不同 的时间。例如,存储器设备可以增加页缓冲器组的相应位线预充电操作的启动时间点之间 的间隔,以便将整个位线预充电操作所需的时间设置为较长的时间。存储器设备可以减小 页缓冲器组的相应位线预充电操作的启动时间点之间的间隔,以便将整个位线预充电操作 所需的时间设置为较短的时间。 [0136] 存储器设备可以基于编程操作的进度、以及一个或多个参考点处的值之间的比较结果,来调整多个页缓冲器组的相应位线预充电操作的启动时间点之间的间隔。 [0137] 在图7中,点ta和tb可以是参考点,基于参考点,对应位线预充电操作所需的时间被设置为不同的时间。 [0138] 在一个实施例中,当编程操作的进度是以上参考图4描述的编程循环计数时,参考点可以对应于参考值。例如,假设在编程操作期间执行了100次编程循环,则在点ta处的参 考值可以是25(次),在编程操作的中间点PGM Mid处的参考值可以是50(次),并且在点tb的 参考值可以是75(次)。 [0139] 当编程循环计数等于或大于点ta处的参考值25时,存储器设备可以增加页缓冲器组的相应位线预充电操作的启动时间点之间的间隔,以便将整个位线预充电操作所需的时 间设置为长的时间。当编程循环计数等于或大于点tb处的参考值75时,存储器设备可以减 小页缓冲器组的相应位线预充电操作的启动时间点之间的间隔,以便将整个位线预充电操 作所需的时间设置为短的时间。 [0140] 在一个实施例中,当编程操作的进度是以上参考图5所描述的编程验证操作已通过的最高编程状态时,参考点可以对应于参考状态。例如,当编程操作在擦除状态E处开始、 并且然后被执行直到第十五编程状态P15时,在点ta处的参考状态可以是第三编程状态P3, 在编程操作中间点PGM Mid处的参考状态可以是第七状态P7,并且在点tb处的参考状态可 以是第十一编程状态P11。 [0141] 当编程验证操作已通过的最高编程状态等于或高于作为在点ta处的参考状态的第三编程状态P3时,存储器设备可以增加页缓冲器组的相应位线预充电操作的启动时间点 之间的间隔,以便将整个位线预充电操作所需的时间设置为较长的时间。当编程验证操作 已通过的最高编程状态等于或高于作为在点tb处的参考状态的第十一编程状态P11时,存 储器设备可以减小页缓冲器组的相应位线预充电操作的启动时间点之间的间隔,以便将整 个位线预充电操作所需的时间设置为较短的时间。 [0142] 在各个实施例中,编程操作可以根据多个点而被划分为多个时段。存储器设备可以基于相应时段的位线负载值,将相应时段中的位线预充电操作所需的时间设置为不同的 时间。存储器设备可以基于相应时段的位线负载值,来调整相应时段中的位线预充电操作 的启动时间点之间的间隔。 [0143] 根据本公开的一个实施例,整个位线预充电操作所需的时间可以考虑取决于编程操作的进度的位线负载来设置。例如,为了设置整个位线预充电操作所需的时间,可以调整 由多个页缓冲器组执行的相应位线预充电操作的启动时间点之间的间隔。 [0144] 以这种方式,在位线负载小的时段期间,位线预充电操作所需的时间可以被缩短,并且整个编程操作的速度可以被改进。 [0145] 图8是图示了根据一个实施例的存储器设备的配置和操作的图。 [0146] 参考图8,存储器单元阵列110可以包括多个存储器单元。读取和写入电路123可以包括多个页缓冲器组PBG1至PBG4。 [0147] 多个存储器单元可以通过多个位线组BLG耦合到读取和写入电路123的多个页缓冲器组PBG1至PBG4。 [0148] 多个页缓冲器组PBG1至PBG4可以分别执行对对应位线组BLG进行预充电的位线预充电操作。页缓冲器组PBG1至PBG4可以响应于读取和写入电路控制信号PBSIGNALS中所包 括的多个页缓冲器控制信号,来执行相应的位线预充电操作。例如,每个页缓冲器组可以在 对应页缓冲器控制信号被激活的时段期间,执行位线预充电操作。 [0149] 多个页缓冲器组PBG1至PBG4可以在不同的时间点处启动位线预充电操作。由相应页缓冲器组PBG1至PBG4执行的位线预充电操作的时段的长度可以彼此不同。备选地,由相 应页缓冲器组PBG1至PBG4执行的位线预充电操作的时段的长度可以彼此相等。 [0150] 编程操作控制器131可以包括编程循环计数器131a、编程状态确定器131b和页缓冲器控制器131c。 [0151] 编程循环计数器131a可以对编程操作期间待执行的一个或多个编程循环之中,已执行的编程循环的数目进行计数。编程循环计数器131a可以生成指示编程循环计数的编程 循环计数信息PL_INF,编程循环计数是已执行的编程循环的数目。编程循环计数器131a可 以将所生成的编程循环计数信息PL_INF提供给页缓冲器控制器131c。 [0152] 编程状态确定器131b可以确定在编程操作期间,编程验证操作已通过的编程状态之中的最高编程状态。编程状态确定器131b可以生成指示编程验证操作已通过的编程状态 之中的最高编程状态的编程状态信息PV_INF。编程状态确定器131b可以将所生成的编程状 态信息PV_INF提供给页缓冲器控制器131c。 [0153] 页缓冲器控制器131c可以将读取和写入电路控制信号PBSIGNALS提供给读取和写入电路123。读取和写入电路控制信号PBSIGNALS可以包括与多个页缓冲器组PBG1至PBG4分 别对应的多个页缓冲器控制信号。 [0154] 页缓冲器控制器131c可以响应于页缓冲器控制信号,来调整页缓冲器组的位线预充电操作的时段的长度。页缓冲器控制器131c可以响应于页缓冲器控制信号,来调整页缓 冲器组的位线预充电操作的启动时间点。例如,页缓冲器控制器131c可以将激活的页缓冲 器控制信号施加到页缓冲器组,使得对应的页缓冲器组启动位线预充电操作。页缓冲器控 制器131c可以将去激活的缓冲器控制信号施加到页缓冲器组,使得对应的页缓冲器组终止 位线预充电操作。 [0155] 响应于多个页缓冲器控制信号,页缓冲器控制器131c可以控制多个页缓冲器组PBG1至PBG4,使得页缓冲器组PBG1至PBG4分别执行位线预充电操作。页缓冲器控制器131c 可以控制多个页缓冲器组PBG1至PBG4,使得页缓冲器组PBG1至PBG4分别在不同的时间点处 启动位线预充电操作。 [0156] 在一个实施例中,页缓冲器控制器131c可以取决于编程操作的进度,来调整由相应页缓冲器组PBG1至PBG4执行的位线预充电操作的启动时间点之间的间隔。例如,页缓冲 器控制器131c可以取决于编程操作的进度,来调整如下时间点之间的间隔:在这些时间点 处,被施加到相应页缓冲器组PBG1至PBG4的多个页缓冲器控制信号被激活。 [0157] 在一个实施例中,页缓冲器控制器131c可以基于编程循环计数信息PL_INF中所包含的编程循环计数,来确定编程操作的进度。 [0158] 页缓冲器控制器131c可以基于编程循环计数与一个或多个参考值之间的比较结果,来调整位线预充电操作的启动时间点之间的间隔。当编程循环计数等于或大于第一参 考值时,页缓冲器控制器131c可以增加位线预充电操作的启动时间点之间的间隔。当编程 循环计数等于或大于第二参考值时,页缓冲器控制器131c可以减小位线预充电操作的启动 时间点之间的间隔。第二参考值可以不同于第一参考值。第二参考值可以大于第一参考值。 [0159] 在一个实施例中,页缓冲器控制器131c可以基于编程验证操作已通过的、并且被包含在编程状态信息PV_INF中的最高编程状态,来确定编程操作的进度。 [0160] 页缓冲器控制器131c可以基于最高编程状态与一个或多个参考状态之间的比较结果,来调整位线预充电操作的启动时间点之间的间隔。当最高编程状态等于或高于第一 参考状态时,页缓冲器控制器131c可以增加位线预充电操作的启动时间点之间的间隔。当 最高编程状态等于或高于第二参考状态时,页缓冲器控制器131c可以减小位线预充电操作 的启动时间点之间的间隔。第二参考状态可以与第一参考状态不同。第二参考状态可以高 于第一参考状态。 [0161] 图9是图示了图8的读取和写入电路的图。 [0162] 参考图9,读取和写入电路可以包括第一至第四页缓冲器组PBG1至PBG4。读取和写入电路中所包括的页缓冲器组的数目不限于本实施例。 [0163] 与单个字线WL耦合的存储器单元中所存储的数据的单位可以是页。每个页可以包括第一到第四子页S1到S4。每个页中所包括的子页的数目不限于本实施例。 [0164] 构成每个子页的存储器单元可以通过对应位线组耦合到对应页缓冲器组。例如,构成第一子页S1的存储器单元可以通过第一位线组BLG1耦合到第一页缓冲器组PBG1。构成 第二子页S2的存储器单元可以通过第二位线组BLG2耦合到第二页缓冲器组PBG2。构成第三 子页S3的存储器单元可以通过第三位线组BLG3耦合到第三页缓冲器组PBG3。构成第四子页 S4的存储器单元可以通过第四位线组BLG4耦合到第四页缓冲器组PBG4。 [0165] 每个页缓冲器组可以响应于所施加的页缓冲器控制信号,执行对与其耦合的位线组进行预充电的位线预充电操作。当激活的页缓冲器控制信号被施加时,每个页缓冲器组 可以启动位线预充电操作,而当去激活的页缓冲器控制信号被施加时,每个页缓冲器组可 以终止位线预充电操作。 [0166] 例如,第一页缓冲器组PBG1可以响应于第一页缓冲器控制信号PBSENSE1,来执行对第一位线组BLG1进行预充电的位线预充电操作。类似地,第二至第四页缓冲器组PBG2至 PBG4可以响应于对应的第二至第四页缓冲器控制信号PBSENSE2至PBSENSE4,而分别执行对 对应的第二至第四位线组BLG2至BLG4进行预充电的位线预充电操作。 [0167] 图10是图示了图4的编程电压施加步骤的图。 [0168] 参考图10,编程电压施加步骤可以包括位线预充电操作、位线浮置操作和编程电压施加操作。 [0169] 在从时间点t1到时间点t3的时段期间,将对应位线的电势预充电到某个电平的位线预充电操作可以被执行,以执行编程操作。 [0170] 在从时间点t1到时间点t3的时段期间,可以激活页缓冲器控制信号PBSENSE。例如,在时间点t1处,页缓冲器控制信号PBSENSE可以做出从低电平到控制电压VPB的电平的 转变,然后被激活。在时间点t3处,页缓冲器控制信号PBSENSE可以做出从控制电压VPB的电 平到低电平的转变,然后被去激活。 [0171] 在一个实施例中,当激活的页缓冲器控制信号PBSENSE被施加到页缓冲器组时,页缓冲器组可以启动位线预充电操作。当去激活的页缓冲器控制信号PBSENSE被施加到页缓 冲器组时,页缓冲器组可以终止位线预充电操作。 [0172] 在页缓冲器控制信号PBSENSE激活期间,在编程许可电压Vgnd或编程禁止电压Vinh被施加到位线时,位线预充电操作可以被执行。 [0173] 例如,在页缓冲器控制信号PBSENSE激活期间,编程许可电压Vgnd可以被施加到与待编程的单元耦合的位线PGM BL。在一个实施例中,编程许可电压Vgnd可以是接地电压。编 程禁止电压Vinh可以被施加到与编程禁止的单元耦合的位线(即,禁止BL)。在一个实施例 中,编程禁止电压Vinh可以是供应电压。 [0174] 在时间点t3处,位线PGM BL的电势可以被设置为接地电压,并且位线禁止BL的电势可以被设置为编程禁止电压Vinh。 [0175] 在从时间点t3到时间点t6的时段期间,维持经预充电的位线的电势的位线浮置操作可以被执行。 [0176] 在从时间点t3到时间点t6的时段期间,页缓冲器控制信号PBSENSE可以被去激活。例如,在时间点t3处,页缓冲器控制信号PBSENSE可以做出从控制电压VPB的电平到低电平 的转变,然后被去激活。 [0177] 当页缓冲器控制信号PBSENSE被去激活时,位线可以浮置,并且位线的电势可以维持在经预充电的电压电平处。 [0178] 在从时间点t3到时间点t6的时段期间,位线PGM BL的电势可以维持在接地电压处,并且位线禁止BL的电势可以维持在编程禁止电压Vinh处。 [0179] 在从时间点t4到时间点t6的时段期间,将编程电压Vpgm施加到所选择的字线Sel.WL的编程电压Vpgm施加操作可以被执行。例如,通过电压Vpass可以被首先施加到所选 择的字线Sel.WL和未选择字线(未示出)。此后,编程电压Vpgm可以被施加到所选择的字线 Sel.WL。 [0180] 在从时间点t4到时间点t6的时段期间,所选择的字线Sel.WL的电势可以增加到通过电压Vpass,并且然后可以增加到编程电压Vpgm。未选择字线的电势可以增加到通过电压 Vpass,并且然后可以维持在通过电压Vpass处。 [0181] 在图10中,取决于施加到所选择的字线的编程电压Vpgm与施加到位线的位线电压之间的差,可以确定是否在对应的存储器单元上执行编程操作。 [0182] 编程许可电压Vgnd与编程电压Vpgm之间的电势差可以是足够用以执行编程操作的。因此,与被预充电至编程许可电压Vgnd的位线PGM BL耦合的存储器单元可以进行编程。 [0183] 编程禁止电压Vinh与编程电压Vpgm之间的电势差可以是不足够用以执行编程操作。因此,与被预充电到编程禁止电压Vinh的位线禁止BL耦合的存储器单元可以不被编程。 [0184] 图11是图示了根据一个实施例的位线预充电操作的图。 [0185] 参考图9和图11,与多个页缓冲器组PBG1至PBG4分别对应的多个页缓冲器控制信号PBSENSE1至PBSENSE4可以被施加到页缓冲器组PBG1至PBG4。 [0186] 在图11中,多个页缓冲器控制信号PBSENSE1至PBSENSE4可以作为页缓冲器控制信号PBSENSE而彼此相同。即,相同的页缓冲器控制信号PBSENSE可以被施加到多个页缓冲器 组中的全部页缓冲器组全部PBG。 [0187] 在从时间点ta1到时间点ta2的时段期间,具有恒定斜率的页缓冲器控制信号PBSENSE可以施加到多个页缓冲器组中的全部页缓冲器组全部PBG。 [0188] 例如,在从时间点ta1到时间点ta2的时段期间,页缓冲器控制信号PBSENSE可以从低电平增加到控制电压VPB的电平,同时具有恒定的斜率。 [0189] 在从时间点ta2到时间点ta3的时段期间,具有控制电压VPB的电平的页缓冲器控制信号PBSENSE可以被施加到多个页缓冲器组中的全部页缓冲器组全部PBG。 [0190] 取决于页缓冲器控制信号PBSENSE的电平,传送到位线的电压的幅度可以被调整。随着页缓冲器控制信号PBSENSE的电平变得较高,传送到位线的电压的幅度可以增加,并且 因此位线预充电速度可以增加。然而,随着位线预充电速度变得较高,所存储的电荷量同时 可能增加,并且因此在每个页缓冲器组中生成的峰值电流量也可能增加。 [0191] 在位线预充电操作的初始时段期间,其中每个位线的电势迅速增加,功率消耗可能较高,并且在位线预充电操作的稍后时段期间,其中位线的电势平稳增加,功率消耗可能 较低。 [0192] 在图10的位线预充电操作的情况下,页缓冲器控制信号PBSENSE可以在时间点t1处,做出从低电平快速到控制电压VPB的电平的转变,并且可以在从时间点t1到时间点t3的 时段期间,维持在控制电压VPB的电平处。 [0193] 如图10中所图示,当在位线预充电操作的从t1到t2的初始时段期间,当具有控制电压VPB的电平的页缓冲器控制信号PBSENSE被施加到多个页缓冲器组中的全部页缓冲器 组全部PBG时,多个页缓冲器组中的全部页缓冲器组全部PBG的功率消耗可以迅速增加,并 且因此超过阈值的峰值电流可以生成。 [0194] 在图11的位线预充电操作的情况下,在从时间点ta1到时间点ta2的时段期间,页缓冲器控制信号PBSENSE可以做出从低电平到控制电压VPB的电平的、同时具有恒定的斜率 的平缓转变。在从时间点ta2到时间点ta3的时段期间,页缓冲器控制信号PBSENSE可以维持 在控制电压VPB的电平处。 [0195] 如图11所图示,当在位线预充电操作的从ta1到ta2的初始时段期间,具有恒定斜率的页缓冲器控制信号PBSENSE被施加到多个页缓冲器组中的全部页缓冲器组全部PBG时, 多个页缓冲器组中的全部页缓冲器组全部PBG的功率消耗可以平缓地增加,并且因此可以 防止峰值电流超过阈值。 [0196] 在各个实施例中,斜率的值可以被调整来防止生成峰值电流。 [0197] 当斜率的值较小时,可以更有效地防止峰值电流的生成。然而,斜率的值可以与位线预充电操作所需的时间成反比。换言之,随着位线预充电操作所需的时间延长,峰值电流 的幅度可以减小,但是整个编程时间可以延长。随着位线预充电操作所需的时间缩短,整个 编程时间的长度可以缩短,但是峰值电流的幅度可以增加。 [0198] 图12是图示了根据一个实施例的位线预充电操作的图。 [0199] 参考图9和图12,在位线预充电操作期间,与多个页缓冲器组PBG1至PBG4分别对应的多个页缓冲器控制信号PBSENSE1至PBSENSE4可以被施加到页缓冲器组PBG1至PBG4。 [0200] 第一页缓冲器控制信号PBSENSE1可以被施加到第一页缓冲器组PBG1,第一页缓冲器控制信号PBSENSE1在从时间点tb1到时间点tb5的时段期间被激活到控制电压VPB的电 平。第一页缓冲器控制信号PBSENSE1被激活的时间点可以是时间点tb1。第一页缓冲器组 PBG1可以在时段tp1期间执行第一位线预充电操作。第一位线预充电操作的启动时间点可 以是时间点tb1。 [0201] 第二页缓冲器控制信号PBSENSE2可以被施加到第二页缓冲器组PBG2,第二页缓冲器控制信号PBSENSE2在从时间点tb2到时间点tb5的时段期间被激活到控制电压VPB的电 平。第二页缓冲器控制信号PBSENSE2被激活的时间点可以是时间点tb2。第二页缓冲器组 PBG2可以在时段tp2期间执行第二位线预充电操作。第二位线预充电操作的启动时间点可 以是时间点tb2。 [0202] 第三页缓冲器控制信号PBSENSE3可以被施加到第三页缓冲器组PBG3,第三页缓冲器控制信号PBSENSE3在从时间点tb3到时间点tb5的时段期间被激活到控制电压VPB的电 平。第三页缓冲器控制信号PBSENSE3被激活的时间点可以是时间点tb3。第三页缓冲器组 PBG3可以在时段tp3期间执行第三位线预充电操作。第三位线预充电操作的启动时间点可 以是时间点tb3。 [0203] 第四页缓冲器控制信号PBSENSE4可以被施加到第四页缓冲器组PBG4,第四页缓冲器控制信号PBSENSE4在从时间点tb4到时间点tb5的时段期间被激活到控制电压VPB的电 平。第四页缓冲器控制信号PBSENSE4被激活的时间点可以是时间点tb4。第四页缓冲器组 PBG4可以在时段tp4期间执行第四位线预充电操作。第四位线预充电操作的启动时间点可 以是时间点tb4。 [0204] 多个时段tp1至tp4之中的最短时段tp4的长度可以被固定为默认值tref。默认值tref可以是将位线的电势预充电到设定电平所需的最短时间。多个时段tp3、tp2和tp1可以 从最短时段tp4开始依次增加tgap。 [0205] “tgap”可以是相应位线预充电操作的启动时间点之间的间隔。备选地,“tgap”可以是相应页缓冲器控制信号被激活的时间点之间的间隔。 [0206] 在一个实施例中,在位线预充电操作的初始时段期间,其中每个位线的电势迅速增加,功率消耗可能较高,并且在位线预充电操作的稍后时段期间,其中位线的电势平缓地 增加,功率消耗可能较低。 [0207] 在图10的情况下,在从时间点t1到时间点t3的时段期间,被激活到控制电压VPB的电平的页缓冲器控制信号PBSENSE可以被施加到多个页缓冲器组中的全部页缓冲器组全部 PBG。页缓冲器组中的全部页缓冲器组全部PBG可以同时启动位线预充电操作。在这种情况 下,由于页缓冲器组中的全部页缓冲器组全部PBG的位线预充电操作中具有高功率消耗的 初始时段彼此重叠,因此功率消耗可能迅速增加,并且因此可能生成超过阈值的峰值电流。 [0208] 除了图10的实施例,图12示出了相应页缓冲器组PBG1至PBG4可以在不同的时间点处启动位线预充电操作。通过禁止在相应位线预充电操作之间,位线预充电操作中具有高 功率消耗的初始时段彼此重叠,可以防止生成峰值电流。 [0209] 在图12中,从时间点tb1到时间点tb4的时段可以对应于从图10的时间点t1到时间点t2的时段。从时间点tb4到时间点tb5的时段可以对应于图10的时间点t2到时间点t3的时 段。因此,与图10的实施例相比,存在优点在于,即使位线预充电操作所需的时间与图10中 的相同,也可以防止生成峰值电流。 [0210] 在图11的情况下,在从时间点ta1到时间点ta2的时段期间,具有恒定斜率的斜坡信号型页缓冲器控制信号PBSENSE可以被施加到多个页缓冲器组中的全部页缓冲器组全部 PBG。在图11的情况下,存储器设备中可能需要单独的斜坡电路,来生成斜坡信号类型的页 缓冲器控制信号PBSENSE。 [0211] 在图12的情况下,由于方波型的页缓冲器控制信号PBSENSE1至PBSENSE4被施加到多个页缓冲器组PBG1至PBG4,所以同时位线的电势可以比图11的电势更快地增加。因此,与 图11的实施例相比,存在优点在于,位线预充电操作所需的时间被缩短,同时防止生成峰值 电流。 [0213] 图13是图示了调整图12的位线预充电操作的启动时间点之间的间隔的操作的图。 [0214] 参考图13,位线预充电操作的启动时间点之间的间隔可以从tgap调整为tgap+Δtg。Δ可以具有正值或负值。在图13中,将在假设Δ具有正值的情况下进行描述。 [0215] 第一页缓冲器控制信号PBSENSE1可以被施加到第一页缓冲器组PBG1,第一页缓冲器控制信号PBSENSE1在从时间点tc1到时间点tc5的时段期间被激活到控制电压VPB的电 平。第一页缓冲器控制信号PBSENSE1被激活的时间点可以是时间点tc1。第一页缓冲器组 PBG1可以在时段tp1’期间执行第一位线预充电操作。第一位线预充电操作的启动时间点可 以是时间点tc1。 [0216] 第二页缓冲器控制信号PBSENSE2可以被施加到第二页缓冲器组PBG2,第二页缓冲器控制信号PBSENSE2在从时间点tc2到时间点tc5的时段期间被激活到控制电压VPB的电 平。第二页缓冲器控制信号PBSENSE2被激活的时间点可以是时间点tc2。第二页缓冲器组 PBG2可以在时段tp2’期间执行第二位线预充电操作。第二位线预充电操作的启动时间点可 以是时间点tc2。 [0217] 第三页缓冲器控制信号PBSENSE3可以被施加到第三页缓冲器组PBG3,第三页缓冲器控制信号PBSENSE3在从时间点tc3到时间点tc5的时段期间被激活到控制电压VPB的电 平。第三页缓冲器控制信号PBSENSE3被激活的时间点可以是时间点tc3。第三页缓冲器组 PBG3可以在时段tp3’期间执行第三位线预充电操作。第三位线预充电操作的启动时间点可 以是时间点tc3。 [0218] 第四页缓冲器控制信号PBSENSE4可以被施加到第四页缓冲器组PBG4,第四页缓冲器控制信号PBSENSE4在从时间点tc4到时间点tc5的时段期间被激活到控制电压VPB的电 平。第四页缓冲器控制信号PBSENSE4被激活的时间点可以是时间点tc4。第四页缓冲器组 PBG4可以在时段tp4’期间执行第四位线预充电操作。第四位线预充电操作的启动时间点可 以是时间点tc4。 [0219] 多个时段tp1’至tp4’之中的最短时段tp4’的长度可以被固定为默认值tref。默认值tref可以是将位线的电势预充电到设定电平所需的最短时间。多个时段tp3’、tp2’和 tp1’可以从最短时段tp4’开始依次增加tgap+Δtg。 [0220] 参考图7,当位线负载较大时,位线预充电操作所需的时间可以延长,而当位线负载较小时,位线预充电操作所需的时间可以缩短。 [0221] 因此,考虑到位线负载来可变地设置位线预充电操作所需的时间可以是有效的,而不是在整个编程操作时段期间均匀地设置位线预充电操作所需的时间。在具有较小位线 负载的时段中位线预充电操作所需的时间可以被设置为比具有较大位线负载的时段中位 线预充电操作所需的时间短,由此缩短整个编程操作时间。 [0222] 在一个实施例中,位线预充电操作的启动时间点之间的间隔可以取决于位线负载来调整。例如,位线预充电操作的启动时间点之间的间隔可以取决于编程操作的进度来调 整。位线负载可以基于编程操作的进度来预测。 [0223] 当位线预充电操作的启动时间点之间的间隔被调整时,位线预充电操作的时段的长度也可以被调整。 [0224] 例如,当将位线预充电操作的启动时间点之间的间隔从tgap调整为tgap+Δtg时,位线预充电操作的时段的长度可以从tp1至tp4分别调整为tp1’至tp4’。 [0225] 当编程操作的进度已到达以上参考图7所描述的时间点ta时,位线预充电操作的启动时间点之间的间隔可以增加。即,Δ的值可以增加。当Δ的值增加时,由多个页缓冲器 组分别执行的位线预充电操作的时段的长度也可以增加。 [0226] 当编程操作的进度已到达以上参考图7所描述的时间点tb时,位线预充电操作的启动时间点之间的间隔可以减小。即,Δ的值可以减小。当Δ的值减小时,由多个页缓冲器 组分别执行的位线预充电操作的时段的长度也可以减小。 [0227] 图14是图示了根据一个实施例的编程操作的流程图。 [0228] 参考图14,在步骤S1401处,位线预充电操作的启动时间点之间的间隔(时间间隙)可以基于编程操作的进度来确定。 [0229] 编程操作的进度可以指示在编程操作的整个时段中编程已被执行到的点。编程操作的进度可以是如上面参考图4所描述的编程循环计数,或者可以是如以上参考图5所描述 的在编程验证操作已通过的状态之中的最高编程状态。 [0230] 以上参考图9所描述的、由多个页缓冲器组分别执行的位线预充电操作的启动时间点之间的间隔可以取决于如以上参考图13所描述的编程操作的进度来调整。 [0231] 在步骤S1403处,编程操作可以在多个存储器单元上执行,该编程操作包括编程电压施加操作和编程验证操作的。在编程电压施加操作期间,对与多个存储器单元耦合的多 个位线组进行预充电的位线预充电操作可以被执行。由多个页缓冲器组分别执行的位线预 充电操作可以基于启动时间点之间的所确定的间隔来执行。 [0232] 在步骤S1405处,可以确定编程操作是否已完成。当确定编程操作已完成时,该过程终止,而当确定编程操作尚未完成时,该过程返回到步骤S1401。 [0233] 例如,当多个存储器单元已经通过针对待编程的状态中的所有状态的编程验证操作时,可以确定编程操作已完成。当多个存储器单元在针对待编程的状态中的至少一个状 态的编程验证操作中失败时,可以确定编程操作尚未完成。 [0234] 图15是图示了根据一个实施例的图14的编程操作的流程图。 [0235] 参考图15,在步骤S1501处,编程循环计数可以被设置为“0”。 [0236] 在步骤S1503处,可以确定编程循环计数是否等于参考值。参考值可以包括一个或多个参考值。当编程循环计数等于参考值时,过程进行到步骤S1505,而当编程循环计数与 参考值不同时,过程进行到步骤S1507。当过程进行到步骤S1505时,先前的参考值可以改变 为一个或多个参考值之中的下一参考值。 [0237] 在步骤S1505处,位线预充电操作的启动时间点之间的间隔可以被调整。在步骤S1503处,编程操作的进度可以基于编程循环计数与参考值之间的比较结果来确定。如以上 参考图13所描述的,由多个页缓冲器组分别执行的位线预充电操作的启动时间点之间的间 隔可以取决于编程操作的进度来调整。 [0238] 在步骤S1507处,随着编程循环的进行,编程循环计数可以增加。每个编程循环可以包括编程电压施加操作和编程验证操作。在编程电压施加操作期间,可以执行位线预充 电操作。由多个页缓冲器组分别执行的位线预充电操作可以基于启动时间点之间的经调整 的间隔来执行。 [0239] 在步骤S1509处,可以确定编程操作是否已完成。当确定编程操作已完成时,该过程终止,而当确定编程操作尚未完成时,该过程返回到步骤S1503。关于编程操作是否已完 成的确定可以以类似于步骤S1405的方式来执行。然而,当编程循环计数超过预设的最大次 数时,编程操作可以作为失败而进行处理,并且该过程可以被终止。 [0240] 图16是图示了根据一个实施例的图14的编程操作的流程图。 [0241] 参考图16,在步骤S1601处,n可以被设置为“1”。 [0242] 在步骤S1603处,可以确定验证通过的编程状态是否与参考状态相同。参考状态可以包括一个或多个参考状态。当验证通过的编程状态与参考状态相同时,过程进行到步骤 S1605,而当验证通过的编程状态与参考状态不同时,过程进行到步骤S1607。当过程进行到 步骤S1605时,先前参考状态可以改变为一个或多个参考状态之中的下一参考状态。 [0243] 在步骤S1605处,位线预充电操作的启动时间点之间的间隔可以被调整。在步骤S1603处,编程操作的进度可以基于验证通过的编程状态与参考状态之间的比较结果来确 定。如以上参考图13所描述的,由多个页缓冲器组分别执行的位线预充电操作的启动时间 点之间的间隔可以取决于编程操作的进度来调整。 [0244] 在步骤S1607处,编程脉冲施加操作可以在待被编程为如下编程状态的多个存储器单元上执行,该编程状态与第一至第k状态(其中,k是1或更大的自然数)中的任一个状态 相对应。在编程脉冲施加操作期间,位线预充电操作可以被执行。由多个页缓冲器组分别执 行的位线预充电操作可以基于启动时间点之间的经调整的间隔来执行。 [0245] 在步骤S1609处,可以执行针对第n状态的编程验证操作。 [0246] 例如,编程验证操作可以在待被编程为第一状态到第k状态之中的第n状态的存储器单元上执行。当待被编程为第n状态的所有存储器单元使用与第n状态相对应的验证电压 而作为关断单元被读取时,存储器单元可以通过针对第n状态的编程验证操作。当待被编程 为第n状态的存储器单元中的至少一个存储器单元使用与第n状态相对应的验证电压而作 为导通单元被读取时,存储器单元可能在针对第n状态的编程验证操作中失败。 [0247] 在步骤S1611处,可以确定在步骤S1609处执行的编程验证操作是否已通过。当确定编程验证操作已通过时,该过程进行到步骤S1613,而当确定编程验证操作已失败时,该 过程返回到步骤S1607。 [0248] 在步骤S1613处,可以确定编程操作是否已完成。当确定编程操作已完成时,该过程终止,而当确定编程操作尚未完成时,该过程返回到步骤S1615。 [0249] 当针对第一至第k状态的所有编程验证操作均已通过时,可以确定编程操作已完成。当针对第一至第k状态中的至少一个状态的编程验证操作失败时,可以确定编程操作尚 未完成。 [0250] 在步骤S1615处,可以将n增加“1”。 [0251] 根据本公开,提供了具有改进的位线预充电性能的存储器设备以及操作该存储器设备的方法。 |