存储器件的读取操作中的基于开放块的读取偏移量补偿的制作方法

文档序号:26009822发布日期:2021-07-23 21:29阅读:153来源:国知局
存储器件的读取操作中的基于开放块的读取偏移量补偿的制作方法

本公开涉及存储器件及其操作。



背景技术:

闪速存储器是一种能够被电擦除并且重新编程的低成本高密度非易失性固态存储介质。闪速存储器包括nor闪速存储器和nand闪速存储器。可以由闪速存储器执行各种操作,例如读取、编程(写入)和擦除,从而将每个存储单元的阈值电压改变到期望的电平。对于nand闪速存储器而言,可以在块级上执行擦除操作,可以在页级上执行编程操作,并且可以在单元级上执行读取操作。



技术实现要素:

在一个方面中,存储器件包括布置在多个块中的存储单元阵列以及耦合到存储单元阵列的外围电路。该外围电路被配置为响应于多个块中的块是开放块(openblock)而使用补偿读取电压对块中的存储单元阵列中的存储单元执行读取操作。补偿读取电压相对于块的默认读取电压具有偏移量。

在另一方面中,nand闪速存储器包括布置在多个块中的存储单元阵列、寄存器、耦合到寄存器的控制逻辑单元以及耦合到控制逻辑单元的字线驱动器。寄存器被配置为存储多个块中的一个或多个块的开放块信息。控制逻辑单元被配置为基于开放块信息确定相对于一个或多个块中的块的默认读取电压的偏移量。字线驱动器被配置为在对块中的存储单元阵列中的存储单元的读取操作中将具有偏移量的补偿读取电压施加至与块中的存储单元阵列中的存储单元耦合的字线。

在又一方面中,系统包括nand闪速存储器和耦合到nand闪速存储器的主机,该主机被配置为初始化开放块信息。该nand闪速存储器包括布置在多个块中的存储单元阵列、寄存器、耦合到寄存器的控制逻辑单元以及耦合到控制逻辑单元的字线驱动器。寄存器被配置为存储多个块中的一个或多个块的开放块信息。控制逻辑单元被配置为基于开放块信息确定相对于一个或多个块中的块的默认读取电压的偏移量。字线驱动器被配置为在对块中的存储单元阵列中的存储单元的读取操作中将具有偏移量的补偿读取电压施加至与块中的存储单元阵列中的存储单元耦合的字线。

在又一方面中,公开了用于操作存储器件的方法。该存储器件包括布置在多个块中的存储单元阵列。多个块中的块被确定是开放块。使用补偿读取电压对块中的存储单元阵列中的存储单元执行读取操作。补偿读取电压相对于块的默认读取电压具有偏移量。

附图说明

被并入本文并形成说明书的一部分的附图说明了本公开的方面,并与说明书一起进一步用以解释本公开,并使相关领域的技术人员能够制作和使用本公开。

图1示出了根据本公开的一些方面的具有存储器件的示例性系统的块图。

图2a示出了根据本公开的一些方面的具有存储器件的示例性存储卡的图示。

图2b示出了根据本公开的一些方面的具有存储器件的示例性固态驱动(ssd)的图示。

图3示出了根据本公开的一些方面的包括外围电路的示例性存储器件的示意图。

图4a和图4b分别示出了根据本公开的一些方面的包括nand存储串的示例性存储单元阵列的截面的侧视图和平面图。

图5示出了根据本公开的一些方面的包括存储单元阵列和外围电路的示例性存储器件的块图。

图6示出了根据本公开的一些方面的在执行基于开放块的读取偏移量补偿时图3-5中的存储器件的示例性外围电路的详细块图。

图7示出了根据本公开的一些方面的在存储器件的读取操作中的示例性阈值电压分布的图示。

图8示出了根据本公开的一些方面的存储器件的示例性开放块信息的图示。

图9a和图9b示出了根据本公开的各个方面的开放块的示例性读取偏移量计算方案。

图10示出了根据本公开的一些方面的用于操作存储器件的示例性方法的流程图。

图11示出了根据本公开的一些方面的用于基于开放块信息读取偏移量补偿的示例性方法的流程图。

将参考附图描述本公开的方面。

具体实施方式

尽管讨论了具体构造和布置,但是应当理解这只是为了说明性目的。照此,在不脱离本公开的范围的情况下可以使用其他构造和布置。而且,还可以在各种各样的其他应用中采用本公开。如在本公开中描述的功能和结构特征可以彼此组合、调整、和修改,并且以未在附图中具体描绘的方式组合、调整、和修改,使得这些组合、调整、和修改在本公开的范围内。

通常,可以至少部分地根据上下文中的使用来理解术语。例如,至少部分地根据上下文,本文所使用的术语“一个或多个”可以用于描述单数意义上的任何特征、结构、或特性,或者可以用于描述复数意义上的特征、结构、或特性的组合。类似地,至少部分地根据上下文,诸如“一个”或“所述”的术语可以同样被理解为表达单数用法或表达复数用法。另外,至少部分地根据上下文,术语“基于”可以被理解为不一定旨在传达一组排他的因素,并且可以代替地允许存在不一定清楚描述的附加因素。

一些存储器件(例如,nand闪速存储器件)能够在页级上执行编程(写入)操作,即同时对同一选定页中的所有存储单元编程。取决于块的所有页是否已被编程,nand闪速存储器的块可以是满块(fullblock)或者开放块。在读取操作中,由于所谓的背面图案(back-pattern)效应,在相同的读取条件下开放块中的存储单元的阈值电压低于满块中的存储单元的阈值电压。然而,已知的nand闪存器件一般基于满块情况设置其内部读取条件(例如,读取电压电平),在读取开放块中的存储单元时,由于开放块中的负移阈值电压,将所述内部读取条件施加到开放块可能引起更多的读取错误。

为了解决一个或多个前述问题,本公开介绍了一种解决方案,在这种解决方案中,在读取开放块时对读取条件(例如,读取电压电平)进行调整。在读取开放块中的存储单元时,可以确定相对于默认读取电压具有偏移量的补偿读取电压,并且该补偿读取电压用于补偿因背面图案效应引起的阈值电压漂移,由此减少读取错误(例如,故障位)。可以使用各种方法来计算偏移量,例如,基于开放块中的最后编程页。在一些实施方式中,根据由nand闪速存储器件所保存并更新的开放块信息来识别开放块,例如,根据用于记录编程起始电压以加快编程速度的自动动态起始电压(adsv)列表。在一些实施方式中,用其他类型的读取偏移量执行基于开放块的读取偏移量补偿,并且因而该补偿不对器件性能引入过多开销。

图1示出了根据本公开的一些方面的具有存储器件的示例性系统100的块图。系统100可以是移动电话、台式计算机、膝上型计算机、平板计算机、车载计算机、游戏控制台、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(vr)设备、增强现实(ar)设备或者任何其他适当的具有其中的存储设备的电子设备。如图1中所示,系统100可以包括主机108和存储系统102,存储系统102具有一个或多个存储器件104和存储控制器106。主机108可以是电子设备的处理器,例如,中央处理单元(cpu),或片上系统(soc),例如,应用处理器(ap)。主机108可以被配置为向或从存储器件104发送或接收数据。

存储器件104可以是本公开中公开的任何存储器件。与本公开的一些方面一致,在一些实施方式中,存储器件104(例如,nand闪速存储器件)可以执行管芯上的基于开放块的读取偏移量补偿,以补偿在读取操作中由背面图案效应引起的开放块中的存储单元的阈值电压漂移,由此减少读取错误,如下文详细描述的。

根据一些实施方式,存储控制器106耦合到存储器件104和主机108,并且被配置为控制存储器件104。存储控制器106可以管理存储在存储器件104中的数据,并且与主机108通信。在一些实施方式中,存储控制器106被设计为在低占空比环境下操作,所述低占空比环境比如安全数字(sd)卡、紧凑闪存(cf)卡、通用串行总线(usb)闪速驱动器或者在诸如个人计算机、数字相机、移动电话等的电子设备中使用的其他介质。在一些实施方式中,存储控制器106被设计为在高占空比环境下操作,所述高占空比环境比如ssd或嵌入式多媒体卡(emmc),其被用作用于诸如智能电话、平板电脑、膝上型计算机等的移动设备的数据存储设备以及企业存储阵列。存储控制器106可以被配置为控制存储器件104的操作,例如读取、擦除和编程操作。存储控制器106还可以被配置为管理与存储在或者将被存储在存储器件104中的数据有关的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到物理地址转换、损耗均衡等。在一些实施方式中,存储控制器106还被配置为处理与从存储器件104读取或者被写入到存储器件104的数据有关的纠错码(ecc)。还可以由存储控制器106执行任何其他适当的功能,例如,对存储器件104格式化。与本公开的一些方面一致,在一些实施方式中,存储控制器106被配置为完全或者部分地执行基于开放块的读取偏移量补偿,如下文所详细描述的。

存储控制器106可以根据特定通信协议与外部设备(例如,主机108)通信。例如,存储控制器106可以通过各种接口协议中的至少一种与外部设备通信,所述接口协议例如usb协议、mmc协议、外围部件互连(pci)协议、高速pci(pci-e)协议、高级技术附件(ata)协议、串行ata协议、并行ata协议、小型计算机小型接口(scsi)协议、增强型小型磁盘接口(esdi)协议、集成驱动电子设备(ide)协议、firewire协议等。

存储控制器106和一个或多个存储器件104可以被集成到各种类型的存储设备中,例如,被包括在同一封装(例如通用闪速存储(ufs)封装或emmc封装)中。也就是说,存储系统102可以被实施并且封装到不同类型的最终电子产品中。在如图2a中所示的一个示例中,存储控制器106和单个存储器件104可以被集成到存储卡202中。存储卡202可以包括pc卡(pcmcia,个人计算机存储卡国际协会)、cf卡、智能媒体(sm)卡、存储棒、多媒体卡(mmc、rs-mmc、mmcmicro)、sd卡(sd、minisd、microsd、sdhc)、ufs等。存储卡202还可以包括将存储卡202与主机(例如,图1中的主机108)耦合的存储卡连接器204。在如图2b中所示的另一示例中,存储控制器106和多个存储器件104可以被集成到ssd206中。ssd206还可以包括将ssd206与主机(例如,图1中的主机108)耦合的ssd连接器208。在一些实施方式中,ssd206的存储容量和/或操作速度高于存储卡202的存储容量和/或操作速度。

图3示出了根据本公开的一些方面的包括外围电路的示例性存储器件300的示意性电路图。存储器件300可以是图1中的存储器件104的示例。存储器件300可以包括存储单元阵列301和耦合到存储单元阵列301的外围电路302。存储单元阵列301可以是nand闪速存储单元阵列,其中,存储单元306是以均在衬底(未示出)以上垂直延伸的nand存储串308的阵列的形式提供的。在一些实施方式中,每个nand存储串308包括串联耦合并且垂直堆叠的多个存储单元306。每个存储单元306能够保持连续的模拟值,例如,电压或电荷,其取决于在存储单元306的区域内捕获的电子的数量。每个存储单元306可以是包括浮栅晶体管的浮栅类型的存储单元,或者可以是包括电荷捕获晶体管的电荷捕获类型的存储单元。

在一些实施方式中,每个存储单元306是具有两种可能的存储状态并且因而能够存储一位数据的单级单元(slc)。例如,第一存储状态“0”可以对应于第一范围的电压,并且第二存储状态“1”可以对应于第二范围的电压。在一些实施方式中,每个存储单元306是能够在四个以上的存储状态中存储一位以上的数据的多级单元(mlc)。例如,mlc能够每单元存储两位,每单元存储三位(又被称为三级单元(tlc)),或者每单元存储四位(又被称为四级单元(qlc))。每个mlc可以被编程为假定一定范围的可能的标称存储值。在一个示例中,如果每个mlc存储两位数据,那么可以通过将三个可能的标称存储值中的一个写入到单元而将mlc从擦除状态被编程为假定三个可能的编程级中的一个。第四标称存储值可以用于擦除状态。

如图3中所示,每个nand存储串308可以包括在其源极端部处的源极选择栅(ssg)310以及在其漏极端部处的漏极选择栅(dsg)312。ssg310和dsg312可以被配置为在读取和编程操作期间激活选定的nand存储串308(阵列的列)。在一些实施方式中,同一块304中的nand存储串308的源极通过同一源极线(sl)314(例如,公共sl)被耦合。换言之,根据一些实施方式,同一块304中的所有nand存储串308具有阵列公共源极(acs)。根据一些实施方式,每个nand存储串308的dsg312耦合到相应的位线316,能够经由输出总线(未示出)从相应的位线316读取或写入数据。在一些实施方式中,每个nand存储串308被配置为通过经由一条或多条dsg线313向相应的dsg312施加选择电压(例如,超过具有dsg312的晶体管的阈值电压)或取消选择电压(例如,0v)和/或通过经由一条或多条ssg线315向相应的ssg310施加选择电压(例如,超过具有ssg310的晶体管的阈值电压)或取消选择电压(例如,0v)而被选择或取消选择。

如图3中所示,可以将nand存储串308组织成多个块304,块304中的每个可以具有例如耦合到acs的公共源极线314。在一些实施方式中,每个块304是用于擦除操作的基本数据单位,即,同一块304上的所有存储单元306同时被擦除。为了擦除选定块304中的存储单元306,可以用擦除电压(vers)(例如高的正电压(例如,20v或更高))对耦合到选定块304以及与选定块304在同一平面中的未选定块304的源极线314进行偏置。应当理解,在一些示例中,可以在半块级上、四分之一块级上或者具有任何适当数量的块或适当分数的块的级上执行擦除操作。相邻nand存储串308的存储单元306可以通过字线318被耦合,字线318选择哪一行的存储单元306受到读取和编程操作的影响。在一些实施方式中,每条字线318耦合到存储单元306的页320,页320是用于编程操作的基本数据单元。一个页320的以位来衡量的尺寸可以涉及由一个块304中的字线318耦合的nand存储串308的数量。为了便于描述,一个页320中的存储单元306可以耦合到同一字线318,并且术语“页”和“字线”在本公开中可以互换使用。然而,应当理解,在一些示例中,一个页320中的存储单元306可以耦合到不止一条字线318。每条字线318可以包括在相应的页320中的每个存储单元306处的多个控制栅(栅电极)以及耦合控制栅的栅极线。

图4a和图4b分别示出了根据本公开的一些方面的包括nand存储串308的示例性存储单元阵列301的截面的侧视图和平面图。如图4a中所示,nand存储串308可以在衬底402以上垂直地延伸穿过存储堆叠层404。衬底402可以包括硅(例如,单晶硅)、硅锗(sige)、砷化镓(gaas)、锗(ge)、绝缘体上硅(soi)、绝缘体上锗(goi)或者任何其他适当的材料。

存储堆叠层404可以包括交替的栅极导电层406和栅极到栅极电介质层408。存储堆叠层404中的栅极导电层406和栅极到栅极电介质层408的对的数量可以确定存储单元阵列301中的存储单元306的数量。栅极导电层406可以包括导电材料,包括但不限于钨(w)、钴(co)、铜(cu)、铝(al)、多晶硅、掺杂的硅、硅化物或其任何组合。在一些实施方式中,每个栅极导电层406包括金属层,例如,钨层。在一些实施方式中,每个栅极导电层406包括掺杂的多晶硅层。每个栅极导电层406可以包括围绕存储单元306的控制栅、dsg312或ssg310,并且可以作为存储堆叠层404的顶部处的dsg线313、存储堆叠层404的底部处的ssg线315或者在dsg线313和ssg线315之间的字线318来横向延伸。

如图4a中所示,nand存储串308包括垂直地延伸穿过存储堆叠层404的沟道结构412。在一些实施方式中,沟道结构412包括填充有(一种或多种)半导体材料(例如,作为半导体沟道420)和(一种或多种)电介质材料(例如,作为存储膜418)的沟道孔。在一些实施方式中,半导体沟道420包括硅,例如,多晶硅。在一些实施方式中,存储膜418是包括隧穿层426、存储层424(又称为“电荷捕获/存储层”)和阻隔层422的复合电介质层。沟道结构412可以具有圆柱形状(例如,柱形形状)。根据一些实施方式,半导体沟道420、隧穿层426、存储层424和阻隔层422从柱的中心朝向外表面按此顺序沿径向布置。隧穿层426可以包括氧化硅、氮氧化硅或其任何组合。存储层424可以包括氮化硅、氮氧化硅或其任何组合。阻隔层422可以包括氧化硅、氮氧化硅、高介电常数(高k)电介质或其任何组合。在一个示例中,存储膜418可以包括氧化硅/氮氧化硅/氧化硅(ono)的复合层。

根据一些实施方式,如图4a中所示,在衬底402中形成阱414(例如,p阱和/或n阱),并且nand存储串308的源极端部与阱414接触。例如,源极线314可以耦合到阱414,从而在擦除操作期间向阱414(即nand存储串308的源极)施加擦除电压。在一些实施方式中,nand存储串308还包括在nand存储串308的漏极端部处的沟道插塞416。

如图4b的平面图中所示,可以通过狭缝结构430(例如,栅极线狭缝(gls))将存储单元阵列301的nand存储串308布置到块304中,狭缝结构430在相邻块304之间将字线318电分隔,从而能够在读取、编程和擦除操作中对每个块304单独控制。在一些实施方式中,通过dsg切口432将每个块304进一步划分成更小的区域(例如,指状部434),dsg切口432在相邻指状部434之间将dsg线313电分隔,从而能够在读取和编程操作中对每个指状部434单独控制。应当理解,尽管在图4a和图4b中未示出,但是存储单元阵列301的附加部件可以被形成为包括但不限于局部触点、互连层等。

如图3中所示,与本公开的范围一致,由于对于每个块304而言在页/字线级上执行编程操作,因而每个块304可以是开放块或满块,取决于相应块304中的所有页是否已被编程。在一些实施方式中,如果块304中的至少一个页320未被编程,即块304中的至少一个页320中的存储单元306处于擦除状态,那么块304是开放块。例如,开放块可以包括一个或多个未被编程的页。在一些实施方式中,如果块304中的所有页320被编程,即块304中的所有页320中的存储单元306处于编程状态,那么块304为满块。例如,满块可以不包括任何未被编程的页。外围电路302可以被配置为响应于块304是开放块而使用相对于默认读取电压具有偏移量的补偿读取电压对开放块中的存储单元306执行读取操作。相反,外围电路302还可以被配置为响应于块304是满块而使用默认读取电压对满块中的存储单元306执行读取操作。

外围电路302可以通过位线316、字线318、源极线314、ssg线315和dsg线313耦合到存储单元阵列301。外围电路302可以包括任何适当的模拟、数字以及混合信号电路,以用于通过经由位线316、字线318、源极线314、ssg线315和dsg线313向和从每个目标存储单元306施加和感测电压信号和/或电流信号来促进存储单元阵列301的操作。外围电路302可以包括使用金属-氧化物-半导体(mos)技术形成的各种类型的外围电路。例如,图5示出了一些示例性外围电路,包括页缓冲器/感测放大器504、列解码器/位线驱动器506、行解码器/字线驱动器508、电压发生器510、控制逻辑单元512、寄存器514、接口516和数据总线518。应当理解,还可以包括图5中未示出的附加外围电路。

页缓冲器/感测放大器504可以被配置为根据来自控制逻辑单元512的控制信号从和向存储单元阵列301读取和编程(写入)数据。在一个示例中,页缓冲器/感测放大器504可以存储将被编程到存储单元阵列301的一个页320中的一页编程数据(写入数据)。在另一个示例中,页缓冲器/感测放大器504可以执行编程验证操作,以确保数据已经被正确地编程到耦合到选定字线318的存储单元306中。在又一示例中,页缓冲器/感测放大器504还可以在读取操作中从位线316感测表示存储在存储单元306中的数据位的低功率信号,并且将小电压摆幅放大到可识别逻辑电平。列解码器/位线驱动器506可以被配置为由控制逻辑单元512控制,并且通过施加由电压发生器510生成的位线电压而选择一个或多个nand存储串308。

行解码器/字线驱动器508可以被配置为由控制逻辑单元512控制,并且选择/取消选择存储单元阵列301的块304,并且选择/取消选择块304的字线318。行解码器/字线驱动器508还可以被配置为使用由电压发生器510生成的字线电压驱动字线318。在一些实施方式中,行解码器/字线驱动器508还可以选择/取消选择并驱动ssg线315和dsg线313。如下文所详细描述的,行解码器/字线驱动器508被配置为在对耦合到选定字线318的存储单元306的读取操作中向选定字线318施加读取电压。在向开放块中的字线318施加读取电压时,读取电压可以是具有基于开放块的读取偏移量的补偿读取电压,或者在向满块中的字线318施加读取电压时,读取电压可以是不具有基于开放块的读取偏移量的默认读取电压。

电压发生器510可以被配置为由控制逻辑单元512控制,并且生成将被提供到存储单元阵列301的字线电压(例如,读取电压、编程电压、通过电压、局部电压、验证电压等)、位线电压和源极线电压。如下文所详细描述的,取决于是在开放块中还是在满块中执行读取操作,控制逻辑单元512可以控制电压发生器510以向行解码器/字线驱动器508提供默认读取电压或者相对于默认读取电压具有偏移量的补偿读取电压。

控制逻辑单元512可以耦合到上文描述的每个外围电路,并且被配置为控制每个外围电路的操作。寄存器514可以耦合到控制逻辑单元512,并且包括状态寄存器、命令寄存器和地址寄存器,以用于存储用于控制每个外围电路的操作的状态信息、命令操作代码(op代码)和命令地址。如下文所详细描述的,寄存器514的状态寄存器可以包括被配置为存储指示存储单元阵列301中的所有块304中的(一个或多个)开放块的开放块信息(例如,具有adsv列表)的一个或多个寄存器。在一些实施方式中,开放块信息还指示每个开放块的最后的编程页。

接口516可以耦合到控制逻辑单元512,并且充当控制缓冲器,以缓冲从主机(未示出)接收到的控制命令并将其转发给控制逻辑单元512,并且缓冲从控制逻辑单元512接收到的状态信息并将其转发给主机。接口516还可以经由数据总线518耦合到列解码器/位线驱动器506,并且充当数据输入/输出(i/o)接口和数据缓冲器,从而对往返于存储单元阵列301的数据进行缓冲和转发。

图6示出了根据本公开的一些方面的在执行基于开放块的读取偏移量补偿时的图3-5中的存储器件300的示例性外围电路302的详细块图。如图6中所示,在一些实施方式中,在执行基于开放块的读取偏移量补偿中,控制逻辑单元512包括开放块处理模块602、偏移量计算模块604、补偿读取电压模块606、默认读取电压模块608以及开放块/满块切换模块610。本文描述的控制逻辑单元512的每个模块可以是在为控制逻辑单元512的一部分的处理器(例如,微控制器单元(mcu))上运行的软件模块,或者可以是有限状态机(fsm)的硬件模块(例如,集成电路(ic,例如,专用ic(asic)、现场可编程门阵列(fpga)等)),或者可以是软件模块和硬件模块的组合。

开放块处理模块602可以耦合到寄存器514,并且被配置为基于存储在寄存器514中的开放块信息确定块是否是开放块。根据一些实施方式,块包括具有将通过读取操作被读取的存储单元的每个块,即读取操作中的选定块。块信息可以指示块中的一个或多个开放块。在一些实施方式中,块信息指示所有当前的(一个或多个)开放块,并且随着编程操作的进行而被更新。例如,控制逻辑单元512的开放块处理模块602可以被配置为在对存储单元阵列的编程操作中更新开放块信息。在一些实施方式中,主机108耦合到寄存器514,并且被配置为初始化开放块信息。例如,为了初始化开放块信息,主机108可以被配置为响应于系统重启来扫描存储单元阵列或者恢复开放块信息的备份副本。也就是说,根据一些实施方式,具有针对功率损耗和/或错误处理情况的信号交换机制,从而允许主机108初始化开放块信息。主机108可以负责在功率损失和/或错误处理时将开放块信息重新输入回存储器件300的寄存器514。在一些实施方式中,在因功率损失或者错误处理而引起的系统重启时,主机108对存储单元阵列进行扫描,从而从存储单元阵列收集开放块信息,并且将开放块信息存储到寄存器514中。在一些实施方式中,主机108在正常操作期间将开放块信息的备份副本保存到存储器件300(例如,与寄存器514相对的非易失性存储单元)中,并且在系统重启时恢复最新开放块信息的保存的备份副本并且将其存储到寄存器514中。应当理解,在一些示例中,主机108可以负责在存储器件300的正常操作之前初始化开放块信息,同时开放块处理模块602负责在存储器件300的正常操作期间更新开放块信息。

例如,图8示出了根据本公开的一些方面的存储器件300的示例性开放块信息802的图示。开放块信息802可以指示所有块1-n中的每个开放块806i。在一些实施方式中,开放块信息802包括每个开放块806但不是满块的标识符(id),例如逻辑地址或物理地址,如图8中所示。在一些实施方式中,开放块信息802包括每个块,且每个块具有指示该块是开放块还是满块的字段(未示出)。开放块信息802还可以指示块中的最后的编程页。例如,如图8中所示,对于每个开放块806i而言,开放块i中的所有页1-k中的最后的编程页808j也可以包括在开放块信息802中。也就是说,开放块信息802可以包括每个开放块806i的最后的编程页808j。应当理解,在开放块信息802中还包括满块的情况中,最后的编程页可能不是必需的,因为对于每个满块而言最后的编程页是已知的。

在一些实施方式中,开放块信息包括adsv列表,并且开放块处理模块602被配置为如果块在adsv列表上则确定该块是开放块。开放块处理模块602还被配置为如果块不在adsv列表上则确定该块是满块。存储器件300均可以利用adsv列表来跟踪用于对对应块/字线进行编程的起始电压电平。对于针对该特定存储位置的后续编程事件(例如,编程操作),存储器件300可以参考所存储的编程起始电压,这样可以导致改善的编程时间(tprog)性能。也就是说,存储器件300(例如,控制逻辑单元512)被配置为在编程操作中更新并且跟踪存储在寄存器514中的adsv列表,以加快编程时间。由于adsv列表还针对读取操作中的基于开放块的读取偏移量补偿来记录块编程信息,例如,特定块的所有页/字线是否已经全部被编程,因而存储器件300(例如,控制逻辑单元512)可以“借用”adsv列表,并且将其作为开放块信息的至少一部分使用。在一些实施方式中,主机108被配置为在系统重启时通过扫描存储单元阵列并且将初始adsv列表存储到寄存器514中而初始化adsv列表,并且控制逻辑单元512被配置为基于由存储器件300执行的编程操作来保持、跟踪和更新adsv列表。在一些实施方式中,adsv列表还包括每个块的最后的编程页。例如,如图8中所示,开放块信息可以包括指示每个开放块806i及其最后的编程页808j的adsv列表804。

重新参考图6,为了对存储单元执行读取操作,开放块处理模块602可以从寄存器514检索开放块信息(例如,adsv列表),并且基于开放块信息确定存储单元所属的块是开放块还是满块。在开放块信息指示每个开放块但不指示满块的一个示例中,开放块处理模块602可以查看块是否与开放块信息匹配。例如,控制逻辑单元512的开放块处理模块602可以被配置为如果块在adsv列表上则确定该块是开放块。在开放块信息包括所有块的另一示例中,开放块处理模块602可以在开放块信息中寻找该块,并且找到该块的开放块/满块状态/字段。如下文所详细描述的,根据一些实施方式,由开放块处理模块602将该块是否是开放块的结果提供给开放块/满块切换模块610,使得开放块/满块切换模块610控制字线驱动器508,以向耦合到将被读取的存储单元的字线施加补偿读取电压或默认读取电压。

如上文所述,由于背面图案效应,与满块中的存储单元相比,在开放块中的存储单元的阈值电压可能被负移。已经发现,在编程操作从块的源极侧(例如,从图3中的底部页/字线)开始时,其可能表现出更宽的编程电压(pv)分布。在nand存储串中的很多页/字线被编程时,存储单元阵列负载电阻可能极大地增加,从而引起较早编程的存储单元的阈值电压vth移位,其被称为背面图案效应。背面图案效应的主要机制可以源自于在漏极侧的其他页/字线被编程时选定字线的下降的实质漏极电势。

如图7中所示,与满块中的存储单元的阈值电压vth分布(由虚线表示)相比,在编程状态和擦除状态两者中的开放块中的存储单元的阈值电压vth分布(由实线表示)可能因背面图案效应被负移。因此,基于满块中的存储单元的阈值电压vth分布设置的默认读取电压vdr可能不再能够在读取操作中区分用于开放块中的存储单元的编程状态和擦除状态。相反,可能必须施加相对于默认读取电压vdr的偏移量,以补偿因开放块引起的阈值电压vth移位,从而形成用于读取开放块中的存储单元的补偿读取电压。

参考图6,在块是开放块的情况下,控制逻辑单元512的偏移量计算模块604可以被配置为基于开放块信息确定具有相对于该块的默认读取电压的偏移量的补偿读取电压。如上文所述,开放块中的阈值电压移位是由背面图案效应导致的,其可能受到开放块中已经被编程的页/字线的数量的影响。因而,在一些实施方式中,偏移量计算模块604还被配置为基于最后的编程页确定用于补偿阈值电压移位的偏移量。如上文所述,开放块信息还可以指示每个开放块的最后的编程页(例如,图8中的最后的编程页808j),并且因此偏移量计算模块604可以从开放块信息(例如,adsv列表)获得最后的编程页。

在一些实施方式中,偏移量计算模块604被配置为基于最后的编程页和开放块中的页的总数计算偏移量。例如,如图9a中所示,开放块可以包括总数k个页1-k,其中,j个页是编程页1-j,如最后的编程页j所指示的。偏移量计算模块604可以基于最后的编程页j计算该块中的j个编程页的总数,并且之后计算编程页的总数j和该块中的n个页的总数之间的比值a,例如,a=j/k。之后,偏移量计算模块604可以基于比值a和最大偏移量vtot计算偏移量voff,例如,voff=(1-a)×vtot。最大偏移量vtot可以是在开放块中尚未有页被编程的情况(其可以引起与满块相比的最大阈值电压移位)中预定的。随着编程页的数量j增加,对应的偏移量voff相应地下降,因为与满块相比,阈值电压移位也下降。应当理解,上文描述的计算偏移量的示例仅出于说明性目的,并且不排除基于最后的编程页和开放块中的页的总数计算偏移量的任何其他适当方式。例如,可以对该计算添加权以调整比值,或者可以在偏移量和最大偏移量之间引入非线性关系。

在一些实施方式中,偏移量计算模块604被配置为基于在开放块中最后的编程页所位于的、多个区段中的一个区段从多个预设偏移量选择偏移量。每个块中的页可以被分成分别与多个预设偏移量相关联的多个区段。在一些实施方式中,区段通过存储器件300的制作后修整与预设偏移量关联。制作后修整可以用于抵消制造工艺变动对半导体器件(例如,存储器件300)的特定关键电参数的影响。可以通过将修整电路的电阻值调整至特定离散值(例如,对应于预设偏移量)而以迭代方式执行修整。例如,如图9b中所示,开放块的k个页1-k可以被分成多个区段,例如,三个区段1-3。通过制作存储器件300之后的制作后修整,每个区段可以基于字线在开放块中的物理位置(例如,图4a中的栅极导电层406在z方向上的垂直位置)与相应的预设偏移量关联。取决于编程方向,与下部区段相比,上部区段可以与更小的偏移量关联,反之亦然。可以基于最后的编程页j所落在的区段(例如,图9b中的区段2)从预设偏移量选择偏移量voff。与图9a中的基于计算的方法相比,图9b中的基于区段的方法可以具有较低的复杂性,但是具有较高的粗略性。

重新参考图6,在一些实施方式中,控制逻辑单元512的偏移量计算模块604耦合到主机108,并且被配置为基于开放块信息和附加的偏移量因素确定偏移量。附加的偏移量因素可以包括温度、字线物理位置或系统调整中的至少一个。在一些实施方式中,主机108被配置为向控制逻辑单元512的偏移量计算模块604发送指示附加偏移量因素(例如温度、字线物理位置或系统调整)的命令。也就是说,除了基于开放块的读取偏移量补偿之外,可以基于来自主机108的指令执行附加的读取偏移量补偿。例如,主机108可以确定基于温度的读取偏移量、基于字线物理位置的偏移量或者对读取电压电平的任何系统调整,并且指导控制逻辑单元512的偏移量计算模块604,以在确定补偿读取电压相对于默认读取电压的偏移量时将这些附加偏移量因素考虑在内。

控制逻辑单元512的默认读取电压模块608可以被配置为确定用于满块的默认读取电压,并且控制电压发生器510以将处于默认读取电压电平的读取电压提供给字线驱动器508。默认读取电压模块608还可以将默认读取电压作为基线提供给补偿读取电压模块606,以计算用于开放块的补偿读取电压。在一些实施方式中,控制逻辑单元512的默认读取电压模块608还被配置为基于初始阈值电压移位(ivs)调整默认读取电压。也就是说,随着时间的推移,开放块或者满块中的存储单元的阈值电压可以被负移。因而,默认读取电压模块608可以通过更负向地调整阈值电压移位而补偿因ivs导致的阈值电压移位。可以使用经ivs调整的默认读取电压读取满块中的存储单元,这取决于存储单元的保持持续时间,并且经ivs调整的默认读取电压还可以随着基线变化而影响补偿读取电压。

控制逻辑单元512的补偿读取电压模块606可以被配置为基于由偏移量计算模块604确定的偏移量以及由默认读取电压模块608确定的默认读取电压确定用于开放块的补偿读取电压,例如,通过将该偏移量添加到默认读取电压,从而与满块相比将用于开放块的读取电压电平更负向地移位,如图7中所示。如上文所述,偏移量和补偿读取电压的电平在不同开放块之间可以变化,例如,随着不同开放块中的最后的编程页的变化而变化。与默认读取电压模块608类似,补偿读取电压模块606也可以控制电压发生器510,以将处于补偿读取电压电平的读取电压提供给字线驱动器508。

应当理解,尽管上文针对作为存储器件300的一部分的控制逻辑单元512中的各种模块描述了基于开放块的读取偏移量补偿方案(即管芯上实施方式,因为控制逻辑单元512可以与存储单元阵列301处于同一管芯上),但是在一些示例中,可以通过耦合到存储器件300的存储控制器(例如,图1中的存储控制器106)实施本文公开的基于开放块的读取偏移量补偿方案的一部分或全部(即管芯外实施方式)。例如,存储控制器可以被配置为基于开放块信息确定块是开放块还是满块。

字线驱动器508可以被配置为:在读取操作中,响应于来自控制逻辑单元512的开放块/满块切换模块610的指示当前读取块是开放块还是满块的指令,接收来自电压发生器510的对应的补偿读取电压或默认读取电压,并且将对应的补偿读取电压或默认读取电压施加至与开放块或满块中的将要读取的目标存储单元耦合的字线。

图10示出了根据本公开的一些方面的用于操作存储器件的方法1000的流程图。该存储器件可以是本文公开的任何适当的存储器件,例如,存储器件300。方法1000可以是由外围电路302实施的,外围电路302例如行解码器/字线驱动器508、电压发生器510、控制逻辑单元512和寄存器514。应当理解,方法1000中所示的操作可以不具有排他性,并且也可以在所示操作中的任何操作之前、之后或之间执行其他操作。此外,操作中的一些可以是同时执行的或者是按照不同于图10中所示的顺序执行的。

参考图10,方法1000开始于操作1002,其中,确定块是开放块还是满块。在一些实施方式中,每个块包括多个页,并且如果块中的多个页中的至少一个页未被编程,那么该块为开放块。例如,控制逻辑单元512或存储控制器106可以基于存储在寄存器514中的开放块信息确定块是开放块还是满块。在一些实施方式中,如图11中所示,在1102处,例如,由主机108响应于系统重启来通过扫描存储单元阵列301或者恢复开放块信息的备份副本而初始化开放块信息。在1104处,可以将多个块中的一个或多个开放块的开放块信息存储到例如寄存器514中。在1106处,可以由例如控制逻辑单元512的开放块处理模块602基于开放块信息确定该块是开放块还是满块。在一些实施方式中,可以由例如开放块处理模块602在对存储单元的阵列的编程操作中更新开放块信息。在一些实施方式中,开放块信息包括adsv列表。

方法1000进行至操作1004,如图10中所示,其中,如果块是满块,那么使用默认读取电压对该块中的存储单元执行读取操作。例如,控制逻辑单元512可以确定默认读取电压,控制电压发生器510以提供默认读取电压,并且控制字线驱动器508以将默认读取电压施加至与满块中的存储单元耦合的字线。

方法1000进行至操作1006,如图10中所示,其中,如果块是开放块,那么使用相对于默认读取电压具有偏移量的补偿读取电压对该块中的存储单元执行读取操作。例如,控制逻辑单元512可以基于开放块信息确定偏移量,基于偏移量和默认读取电压确定补偿读取电压,控制电压发生器510以提供补偿读取电压,并且控制字线驱动器508以将补偿读取电压施加至与开放块中的存储单元耦合的字线。在一些实施方式中,如图11中所示,在1108处,可以由例如控制逻辑单元512的偏移量计算模块604基于开放块信息中的最后的编程页确定偏移量。如上文针对图9a和图9b详细所述的,可以通过基于计算的方法、基于区段的方法或者基于最后的编程页的任何其他适当的方法来确定偏移量。在1110处,可以由例如控制逻辑单元512的补偿读取电压模块606确定相对于默认读取电压具有偏移量的补偿读取电压。

根据本公开的一个方面,一种存储器件包括布置在多个块中的存储单元阵列以及耦合到存储单元阵列的外围电路。该外围电路被配置为响应于多个块中的块是开放块而使用补偿读取电压对块中的存储单元阵列的存储单元执行读取操作。补偿读取电压相对于块的默认读取电压具有偏移量。

在一些实施方式中,多个块中的每个块包括多个页,并且外围电路还被配置为:如果块中的多个页中的至少一个页未被编程,则确定该块为开放块。

在一些实施方式中,多个块中的每个块包括多个页,并且存储器件还包括存储控制器,该存储控制器耦合到外围电路并且被配置为:如果块中的多个页中的至少一个页未被编程,则确定该块为开放块。

在一些实施方式中,外围电路包括:寄存器,其被配置为存储多个块中的一个或多个块的开放块信息;以及控制逻辑单元,其耦合到寄存器并且被配置为基于存储在寄存器中的开放块信息确定块为开放块。

在一些实施方式中,为了执行读取操作,该控制逻辑单元还被配置为基于开放块信息确定补偿读取电压,并且外围电路还包括字线驱动器,该字线驱动器耦合到控制逻辑单元并且被配置为将补偿读取电压施加至与存储单元耦合的字线。

在一些实施方式中,开放块信息包括adsv列表,并且控制逻辑单元被配置:如果块在adsv列表上,则确定该块是开放块。

在一些实施方式中,开放块信息指示块中的多个页中的最后的编程页,并且为了确定补偿读取电压,控制逻辑单元被配置为基于最后的编程页确定补偿读取电压相对于块的默认读取电压的偏移量。

在一些实施方式中,为了确定该偏移量,控制逻辑单元被配置为基于最后的编程页和块中的页的总数计算偏移量。

在一些实施方式中,控制逻辑单元还被配置为:基于最后的编程页计算块中的编程页的总数,计算编程页的总数与块中的页的总数之间的比值,并且基于该比值和最大偏移量计算偏移量。

在一些实施方式中,将块中的多个页分成多个区段,所述多个区段分别与多个预设偏移量相关联,并且为了确定偏移量,控制逻辑单元被配置为基于在块中最后的编程页所位于的、多个区段中的一个区段从多个预设偏移量选择偏移量。

在一些实施方式中,多个区段通过存储器件的制作后修整与多个预设偏移量关联。

在一些实施方式中,外围电路还被配置为响应于块是满块而使用块的默认读取电压对存储单元执行读取操作。

在一些实施方式中,存储单元的阵列包括nand闪速存储单元。

在一些实施方式中,控制逻辑单元被配置为基于开放块信息和附加偏移量因素确定偏移量。

在一些实施方式中,附加偏移量因素包括温度、字线物理位置或系统调整中的至少一个。

根据本公开的另一方面,一种nand闪速存储器包括布置在多个块中的存储单元阵列、寄存器、耦合到寄存器的控制逻辑单元以及耦合到控制逻辑单元的字线驱动器。寄存器被配置为存储多个块中的一个或多个块的开放块信息。控制逻辑单元被配置为基于开放块信息确定相对于一个或多个块中的块的默认读取电压的偏移量。字线驱动器被配置为在对块中的存储单元阵列中的存储单元的读取操作中将具有偏移量的补偿读取电压施加至与块中的存储单元阵列中的存储单元耦合的字线。

在一些实施方式中,控制逻辑单元还被配置为基于存储在寄存器中的开放块信息确定块为开放块。

在一些实施方式中,nand闪速存储器还包括存储控制器,该存储控制器耦合到控制逻辑单元并且被配置为基于存储在寄存器中的开放块信息确定块为开放块。

在一些实施方式中,多个块中的每个块包括多个页,并且控制逻辑单元或存储控制器被配置为:如果块中的多个页中的至少一个页未被编程,则确定该块为开放块。

在一些实施方式中,开放块信息包括adsv列表,并且控制逻辑单元或存储控制器被配置为:如果块在adsv列表上,则确定该块是开放块。

在一些实施方式中,开放块信息指示块中的多个页中的最后的编程页,并且控制逻辑单元被配置为基于最后的编程页确定偏移量。

在一些实施方式中,为了确定偏移量,控制逻辑单元被配置为基于最后的编程页和块中的页的总数计算偏移量。

在一些实施方式中,为了计算偏移量,控制逻辑单元被配置为:基于最后的编程页计算块中的编程页的总数,计算编程页的总数与块中的页的总数之间的比值,并且基于该比值和最大偏移量计算偏移量。

在一些实施方式中,将块中的多个页分成多个区段,所述多个区段分别与多个预设偏移量相关联,并且为了确定偏移量,控制逻辑单元被配置为基于在块中最后的编程页所位于的、多个区段中的一个区段从多个预设偏移量选择偏移量。

在一些实施方式中,多个区段通过nand闪速存储器的制作后修整与多个预设偏移量关联。

在一些实施方式中,控制逻辑单元被配置为基于开放块信息和附加偏移量因素确定偏移量。

在一些实施方式中,附加偏移量因素包括温度、字线物理位置或系统调整中的至少一个。

根据本公开的又一方面,一种系统包括nand闪速存储器和耦合到nand闪速存储器的主机,该主机被配置为初始化开放块信息。nand闪速存储器包括布置在多个块中的存储单元阵列、寄存器、耦合到寄存器的控制逻辑单元以及耦合到控制逻辑单元的字线驱动器。寄存器被配置为存储多个块中的一个或多个块的开放块信息。控制逻辑单元被配置为基于开放块信息确定相对于一个或多个块中的块的默认读取电压的偏移量。字线驱动器被配置为在对块中的存储单元阵列中的存储单元的读取操作中将具有偏移量的补偿读取电压施加至与块中的存储单元阵列中的存储单元耦合的字线。

在一些实施方式中,该主机还被配置为:向控制逻辑单元发送指示附加偏移量因素的命令,并且控制逻辑单元被配置为基于开放块信息和附加偏移量因素确定偏移量。

在一些实施方式中,附加偏移量因素包括温度、字线物理位置或系统调整中的至少一个。

在一些实施方式中,为了初始化开放块信息,主机被配置为响应于系统重启而扫描存储单元阵列或者恢复开放块信息的备份副本。

在一些实施方式中,控制逻辑单元还被配置为在对存储单元阵列的编程操作中更新开放块信息。

在一些实施方式中,开放块信息包括adsv列表,并且控制逻辑单元被配置:如果块在adsv列表上,则确定该块是开放块。

在一些实施方式中,多个块中的每个块包括多个页,开放块信息指示块中的多个页中的最后的编程页,并且控制逻辑单元被配置为基于最后的编程页确定偏移量。

在一些实施方式中,为了确定偏移量,控制逻辑单元被配置为基于最后的编程页和块中的页的总数计算偏移量。

在一些实施方式中,为了计算偏移量,控制逻辑单元被配置为:基于最后的编程页计算块中的编程页的总数,计算编程页的总数与块中的页的总数之间的比值,并且基于该比值和最大偏移量计算偏移量。

在一些实施方式中,将块中的多个页分成多个区段,所述多个区段分别与多个预设偏移量相关联,并且为了确定偏移量,控制逻辑单元被配置为基于在块中最后的编程页所位于的、多个区段中的一个区段从多个预设偏移量选择偏移量。

在一些实施方式中,多个区段通过nand闪速存储器的制作后修整与多个预设偏移量关联。

在一些实施方式中,控制逻辑单元还被配置为基于初始阈值电压移位调整块的默认读取电压。

根据本公开的又一方面,公开了一种用于操作存储器件的方法。该存储器件包括布置在多个块中的存储单元阵列。多个块中的块被确定是开放块。使用补偿读取电压对块中的存储单元阵列中的存储单元执行读取操作。补偿读取电压相对于块的默认读取电压具有偏移量。

在一些实施方式中,多个块中的每个块包括多个页,并且如果块中的多个页中的至少一个页未被编程,则该块为开放块。

在一些实施方式中,存储多个块中的一个或多个块的开放块信息,并且基于开放块信息确定块为开放块。

在一些实施方式中,为了执行读取操作,基于开放块信息确定补偿读取电压,并且将补偿读取电压施加至与存储单元耦合的字线。

在一些实施方式中,开放块信息包括adsv列表,并且如果块在adsv列表上,则该块是开放块。

在一些实施方式中,开放块信息指示块中的多个页中的最后的编程页,并且为了确定补偿读取电压,基于最后的编程页确定补偿读取电压相对于块的默认读取电压的偏移量。

在一些实施方式中,为了确定偏移量,基于最后的编程页和块中的页的总数计算偏移量。

在一些实施方式中,为了计算偏移量,基于最后的编程页计算块中的编程页的总数,计算编程页的总数与块中的页的总数之间的比值,并且基于该比值和最大偏移量计算偏移量。

在一些实施方式中,将块中的多个页分成多个区段,所述多个区段分别与多个预设偏移量相关联,并且为了确定偏移量,基于在块中最后的编程页所位于的、多个区段中的一个区段从多个预设偏移量选择偏移量。

在一些实施方式中,多个区段通过存储器件的制作后修整与多个预设偏移量关联。

在一些实施方式中,初始化开放块信息。

在一些实施方式中,为了初始化开放块信息,响应于系统重启而扫描存储单元阵列或者恢复开放块信息的备份副本。

在一些实施方式中,在对存储单元阵列的编程操作中更新开放块信息。

在一些实施方式中,确定该块为满块,并且基于块的默认读取电压对存储单元执行读取操作。

在一些实施方式中,存储单元阵列包括nand闪速存储单元。

可以容易地针对各种应用来修改和/或适应具体实施方式的前文描述。因此,基于文中提供的教导和指导,这样的适应和修改旨在落在所公开的实施方式的等同物的意义和范围内。

本公开的广度和范围不应当由任何上述示例性实施方式限制,而应当仅根据所附权利要求及其等同物来定义。

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