一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

错置消减算法的制作方法

2021-03-09 11:31:00 来源:中国专利 TAG:申请 美国 消减 优先权 并入

错置消减算法
1.优先权申请
2.本申请案主张2018年6月29日提交的美国申请案序号16/023,052的优先权益,所述美国申请案以全文引用的方式并入本文中。


背景技术:

3.存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要电力来维持数据且包含随机存取存储器(ram)、动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)等等。非易失性存储器可通过当未被供电时保留所存储的数据而提供持久性数据,且可包含nand快闪存储器、nor快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)和电阻可变存储器,如相变随机存取存储器(pcram)、电阻性随机存取存储器(rram)和磁阻随机存取存储器(mram)、3d xpoint
tm
存储器等等。
4.存储器单元通常布置成矩阵或阵列。多个矩阵或阵列可组合到存储器装置中,且多个装置可组合以形成存储器系统的存储容量,例如固态驱动器(ssd)、通用快闪存储(ufs
tm
)装置、多媒体卡(mmc)固态存储装置、嵌入式mmc装置(emmc
tm
)等。
5.存储器系统可包含一或多个处理器或其它存储器控制器,用于执行逻辑函数以操作所述存储器装置或与外部系统介接。存储器矩阵或阵列可包含组织成数个物理页的数个存储器单元块。存储器系统可从与存储器操作相关联的主机接收命令,例如旨在在存储器装置和主机之间传送数据(例如,用户数据和相关联的完整性数据,例如误差数据和地址数据等)的读取或写入操作、旨在从存储器装置擦除数据的擦除操作,或执行一或多个其它存储器操作。
6.利用存储器作为用于多种多样的电子应用的易失性和非易失性数据存储装置,所述电子应用包含例如个人计算机、便携式存储棒、数码相机、蜂窝电话、便携式音乐播放器(例如mp3播放器)、电影播放器和其它电子装置。存储器单元可布置成阵列,其中阵列用于存储器装置。
7.许多电子装置包含数个主要组件:主机处理器(例如,中央处理单元(cpu)或其它主处理器);主存储器(例如,一或多个易失性或非易失性存储器装置,例如动态ram(dram)、静态ram(sram)、移动或低功率双倍数据速率同步dram(ddr sdram)等);以及存储装置(例如,非易失性存储器(nvm)装置,例如快闪存储器、只读存储器(rom)、ssd、mmc或其它存储卡结构或组合件,或易失性和非易失性存储器的组合等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(gpu)、功率管理电路系统、基带处理器或一或多个收发器电路等。
附图说明
8.在不一定按比例绘制的附图中,相似标号可以在不同视图中描述类似组件。具有不同的字母后缀的相似标号可以表示类似组件的不同例子。图式大体上借助于实例而非限
制性地说明本文件中所论述的各种实施例。
9.图1说明包含主机和存储器装置的实例系统。
10.图2是呈包含非易失性存储器单元的存储器装置形式的设备的框图。
11.图3a示出多层级存储器单元的电压阈值范围的实例。
12.图3b是示出阈值电压和对应的位值的实例图表(例如,表)。
13.图4是存储器编程算法的第一编程遍次的说明。
14.图5是存储器编程算法的第二编程遍次的说明。
15.图6说明存储器编程算法引起的电压阈值错置。
16.图7是对存储器阵列的多层级单元进行编程的方法的流程图。
17.图8是消减存储器单元编程中的错置的方法的说明。
18.图9是存储器编程算法的第二编程遍次的双预读取的说明。
19.图10是对存储器阵列的多层级单元进行编程的另一方法的流程图。
20.图11说明根据本文中描述的一些实施例的实例机器的框图。
具体实施方式
21.存储器装置,尤其是nvm装置,例如nand快闪装置等,可包含多层级存储器单元的阵列。为了对多层级存储器单元进行编程,存储器页缓冲器存储有待写入到存储器单元的值。第一编程脉冲以一电压电平施加至存储器单元的控制栅极,所述电压电平应不会引起存储器单元的阈值电压超过多层级存储器单元的目标经编程数据状态的最低阈值电压。接着可执行读取操作以验证所述单元编程到的阈值电平。如果所述单元不被编程到所要阈值电压,那么施加额外编程脉冲,任选地包含更高电压或更长的长度脉冲,并且重新检查阈值电压。重复此过程直到读取操作确认存储器单元被编程到所要阈值电压。归因于不同的干扰机制和存储器单元缺陷,可在编程期间不正确地放置存储器单元的阈值电压。
22.图1说明包含主机105和存储器装置110的实例系统100。主机105可包含主机处理器、中央处理单元、或一或多个其它装置、处理器或控制器。存储器装置110可以包含通用快闪存储(ufs)装置、嵌入式mmc(emmc)装置,或一或多个其它存储器装置。主机105和存储器装置110可使用通信接口(i/f)115(例如,双向并行或串行通信接口)通信。
23.在实例中,存储器装置110可包含ufs装置,且通信接口115可包含串行双向接口,例如在一或多个电子装置工程设计联合协会(jedec)标准(例如,jedec标准d223d(jesd223d),通常称为jedec ufs主机控制器接口(ufshci)3.0等)中所定义。在另一实例中,存储器装置110可包含emmc装置,且通信接口115可包含若干并行双向数据线(例如,dat[7:0])和一或多个命令线,例如在一或多个jedec标准(例如,jedec标准d84-b51(jesd84-a51),通常称为jedec emmc标准5.1等)中所定义。在其它实例中,存储器装置110可包含一或多个其它存储器装置,或者通信接口115可包含一或多个其它接口,这取决于主机105和存储器装置110。所识别的标准仅作为实例环境提供,在所述实例环境中,可利用所描述的方法和结构;但这类方法和结构可用于所识别标准外部(或任何实际或所提议标准外部)的多种环境中。
[0024]
主机105和存储器装置110中的每一个可包含被配置成经由通信接口115发送或接收信号的若干接收器或驱动器电路,或接口电路(例如数据控制单元、取样电路或其它中间
电路),所述接口电路系统被配置成处理待经由通信接口115传送的数据或以其它方式处理从通信接口115接收的数据以供主机105、存储器装置110或一或多个其它电路或装置使用。
[0025]
存储器装置110可包含存储器阵列(例如,一或多个存储器单元阵列,例如nand快闪存储器阵列,或一或多个其它存储器阵列)、存储器控制单元,且在某些实例中,包含存储器阵列和存储器控制单元之间的接口电路。在某些实施例中,存储器阵列可包含数个存储器裸片,其各自具有与存储器控制单元隔开的控制逻辑。存储器控制单元可包含专用集成电路(asic)、现场可编程门阵列(fpga)、或经布置或经编程以管理到存储器阵列、从存储器阵列或存储器阵列内的数据传送或数据操作的一或多个其它处理电路。
[0026]
图2示出根据本文中描述的一些实施例的呈包含非易失性存储器单元形式的存储器装置200(例如,图1中的存储器装置110)的设备的框图,所述非易失性存储器单元具有集成在同一集成电路(ic)芯片中的混合存储器单元类型。存储器装置200可包含含有存储器单元210和285的存储器阵列(或多个存储器阵列)201。在存储器装置200的物理结构中,存储器单元210和285可竖直地布置(例如,彼此上下堆叠)在存储器装置200的衬底(例如,包含存储器装置200的ic芯片的半导体衬底)上方。存储器单元210和285可包含非易失性单元。存储器单元210和285可具有不同的非易失性存储器单元类型。举例来说,存储器单元210可包含浮动栅极存储器单元、电荷截留存储器单元,或其它类型的非易失性存储器单元。存储器单元285可包含铁电存储器单元、相变存储器单元、电阻性存储器单元、导电桥存储器单元,和自旋转移力矩磁性随机存取存储器(stt-mram)单元,或其它类型的非易失性存储器单元。
[0027]
如图2所示,存储器单元210和285可布置于例如块290和291的块(存储器单元块)中。块290和291中的每一个可包含子块。举例来说,块290可包含子块2900和290
n
,且块291可包含子块2910和291
n
。子块2900、290
n
、2910和291
n
中的每一个可包含存储器单元210和285的组合。作为实例,图2示出存储器装置200具有两个块290和291以及所述块中的每一个中的两个子块。存储器装置200可具有两个以上块以及所述块中的每一个中的两个以上子块。
[0028]
如图2中所示,存储器装置200可包含存取线(其可包含字线)250和数据线(其可包含位线)270。存取线250可携载信号(例如,字线信号)wl0到wlm。数据线270可携载信号(例如,位线信号)bl0到bln。存储器装置200可使用存取线250来选择性地存取块290和291的子块2900、290
n
、2910和291
n
,且使用数据线270来选择性地与块290和291的存储器单元210交换信息(例如,数据)。
[0029]
存储器装置200可包含地址寄存器207以接收线(例如,地址线)203上的地址信息(例如,地址信号)addr。存储器装置200可包含可解码来自地址寄存器207的地址信息的行存取电路系统208和列存取电路系统209。基于经解码地址信息,存储器装置200可确定将在存储器操作期间存取块290和291的哪些子块的哪些存储器单元210。存储器装200可执行读取操作以读取(例如,读出)存储器单元210中的信息(例如,预先存储的信息)或写入(例如,编程)操作以存储(例如,编程)存储器单元210中的信息。存储器装置200可使用与信号bl0到bln相关联的数据线270提供待存储于存储器单元210中的信息或获得从存储器单元210读取(例如,感测)的信息。存储器装置200还可执行擦除操作以擦除来自块290及291的一些或全部存储器单元210的信息。
[0030]
存储器装置200可包含存储器控制单元218(其可包含例如状态机(例如,有限状态
机)、寄存器电路的组件和其它组件),所述控制单元被配置成基于线204上的控制信号控制存储器装置200的存储器操作(例如,读取、写入和擦除操作)。线204上的控制信号的实例包含一或多个时钟信号和其它信号(例如芯片启用信号ce#、写入启用信号we#)以指示存储器装置200可执行哪一操作(例如读取、写入或擦除操作)。
[0031]
存储器装置200可包含感测和缓冲电路系统220,其可包含例如感测放大器和页缓冲电路(例如,数据锁存器)等组件。感测和缓冲电路系统220可对来自列存取电路系统209的信号bl_sel0到bl_seln作出响应。感测和缓冲电路系统220可被配置成确定(例如通过感测)从块290和291的存储器单元210(例如在读取操作期间)读取的信息的值且将信息的值提供到线(例如全局数据线)275。感测和缓冲电路系统220也可被配置成使用线275上的信号以基于线275上的信号的值(例如,电压值)(例如,在写入操作期间)确定将存储(例如,编程)于块290和291的存储器单元210的信息的值(例如,在写入操作期间)。
[0032]
存储器装置200可包含输入/输出(i/o)电路系统217以在块290和291的存储器单元210与线(例如,i/o线)205之间交换信息。线205上的信号dq0到dqn可表示从块290和291的存储器单元210读取或存储于块290和291的存储器单元210中的信息。线205可包含存储器装置200内的节点或其中可驻留存储器装置200的封装上的引脚(或焊球)。存储器装置200外部的其它装置(例如,存储器控制器或处理器)可经由线203、204和205与存储器装置200通信。
[0033]
存储器装置200可接收供电电压,包含供电电压vcc和vss。供电电压vss可在接地电势(例如,具有大约零伏特的值)下操作。供电电压vcc可包含从例如电池的外部电源或交流电到直流电(ac-dc)转换器电路系统供应到存储器装置200的外部电压。
[0034]
存储器单元210中的每一个可以个别地或共同地编程到一个或数个经编程状态。举例来说,单层级单元(slc)可表示两个编程状态(例如,1或0)中的一个,从而表示一个数据位。然而,快闪存储器单元也可表示大于两个的经编程状态中的一个,从而允许制造较高密度的存储器而不增加存储器单元的数目,这是因为每一单元可表示大于一个的二进制数字(例如,大于一个位)。这类单元可称为多状态存储器单元、多数字单元或多层级单元(mlc)。在某些实例中,mlc可指代每单元可存储两个数据位(例如,四个经编程状态中的一个)的存储器单元,三层级单元(tlc)可指代每单元可存储三个数据位(例如,八个经编程状态中的一个)的存储器单元,且四层级单元(qlc)可每单元存储四个数据位。mlc在本文中以其较广泛情形使用,以指代每单元可存储大于一个数据位(即,可表示大于两个经编程状态)的任何存储器单元。
[0035]
在另一实例中,存储器单元210中的每一个可经编程以存储表示多个位的值的信息,例如,两个位的四个可能的值“00”、“01”、“10”和“11”中的一个、三个位的八个可能的值“000”、“001”、“010”、“011”、“100”、“101”、“110”和“111”中的一个或另一数目的多个位的其它值中的一个。具有存储多个位的能力的单元有时称为多层级单元(或多状态单元)。
[0036]
存储器装置200可包含非易失性存储器装置,使得存储器单元210和285可在断开存储器装置200的电源(例如,电压vcc、vss或两者)时保留存储于其上的信息。举例来说,存储器装置200可以是快闪存储器装置,例如,nand闪存(例如,3维(3-d)nand)或nor快闪存储器装置,或另一种类的存储器装置,例如可变电阻存储器装置(例如,相变存储器装置或电阻性随机存取存储器(ram)装置)。所属领域的一般技术人员可认识到,存储器装置200可包
含图2中未示出的其它组件,以免使本文中所描述的实例实施例模糊不清。
[0037]
在存储器装置200中,存储器单元210可被配置成存储信息(例如,用户数据)。存储器单元285可不被配置成永久地存储例如用户信息的信息,但其可供存储器装置200在将信息(例如,用户数据)存储于存储器单元210中的操作(例如,写入操作)期间用作临时存储装置以便改进存储器装置200的操作。
[0038]
图3a示出根据本文中描述的一些实施例的图2的存储器装置200的存储器单元210和285的对应阈值电压vt0到vt7的电压阈值范围320到327的实例。存储器单元210和285中的每一个被配置成存储一个以上信息位。图3a示出被配置成存储三个信息位(例如,位b0、b1和b2)的存储器单元的电压阈值范围320到327的实例。图3a示出对应于三个位的八个不同组合的八个层级(层级0(l0)到层级7(l7))。层级l0可称为擦除层级(例如,擦除状态)。层级l0到l7中的每一个具有大量存储器单元的电压阈值范围。其它数目的位和层级可以在编程中使用(例如,两个位用于四个层级,或四个位用于十六个层级)。
[0039]
阈值电压vt0到vt7中的每一个具有在对应电压阈值范围内的值(模拟电压值)。举例来说,阈值电压vt1可以是在电压阈值范围321内的任何值(以伏为单位的正电压值),且阈值电压vt7可以是在电压阈值范围327内的任何值(以伏为单位的正电压值)。
[0040]
如图3a中所示,阈值电压vt0到vt7的值可从最低值范围(对应于层级l0的阈值电压值范围320)内的值变成最高阈值电压值范围(对应于层级l7的阈值电压值范围327)内的值。因此,阈值电压vt7的值在阈值电压vt0到vt7的值当中为最大。阈值电压vt0到vt7中的每一个的值可用于表示三个信息位的组合的值(二进制值)。l0可被视为擦除层级。
[0041]
图3b是示出根据本文中描述的一些实施例的阈值电压vt0到vt7(八个不同阈值电压)以及三个位b0、b1和b2的对应值(二进制值的八个组合)的实例图表(例如,表)。举例来说,阈值电压vt0到vt7的值(例如,以伏特为单位)可用以分别表示位b0、b1和b2的值(二进制值)000、001、010、011、100、101、110和111。作为实例,图3b示出按循序次序(从较低二进制值到更高二进制值依序)指派给(例如,映射到)位b0、b1和b2的值(000到111)的阈值电压vt0到vt7的值。然而,阈值电压vt0到vt7的值可按任何次序(例如,非循序次序)指派给位b0、b1和b2的值。基于图3b中的图表,在写入操作期间,所选存储器单元(图2中的存储器单元210和285中的一个)的阈值电压的目标值(模拟值)是基于将存储于所选存储器单元中的位b0、b1和b3的值(二进制值)。举例来说,如果具有二进制值“100”的三个位(b0、b1和b2)待存储于所选存储器中,那么存储器装置100可致使(编程)所述所选存储器单元的阈值电压为阈值电压vt4的值(基于图3b中的图表,“100”=vt4)。
[0042]
返回到图2中,存储器控制单元218可将待编程数据页加载于感测和缓冲电路系统220中。由存储器控制单元218执行的编程算法开始可为在擦除循环中对将写入到l0的存储器单元进行编程。存储器单元可一次写入一个存储器页或一次写入多个存储器页。可使用连续编程遍次来用数据对存储器单元进行编程。第一遍次可对所有位进行编程以编程为l1(或vt1)。可在移动到l2位之前检验所有l1位的编程或放置。对于到vt1的编程可不被验证所针对的存储器单元,存储器控制器可尝试将增加的vt1放置于这些存储器单元中。vt1的此改变加上存储器单元的变化可产生图3a中示出的vt1的阈值电压范围。单元中阈值电压的编程或放置随后进展为放置l2到l7阈值电平以完成存储器单元的编程。
[0043]
存储器单元干扰现象或存储器单元缺陷可致使存储器单元的阈值电压的放置错
误。为检测存储器阵列中的问题,可使用两遍次存储器编程算法。
[0044]
图4是由存储器控制单元执行的存储器编程算法的第一编程遍次的说明,所述第一编程遍次是将八个电压阈值放置于多层级存储器单元中。在第一遍次编程期间,存储器控制单元对存储于页缓冲电路系统中的下部页(lp)数据进行编程。如图4中所示出,编程操作包含编程循环,即编程脉冲405以及随后的验证操作407或读取操作。第一遍次编程使用编程脉冲405创建示出为分布420和421的两个层级(例如,l0和l1)。还在第一遍次期间,可将上部页(up)数据和经扩展页(xp)数据(如果使用的话)提供给页缓冲电路系统。第二遍次编程接着创建单元的八个编程层级。
[0045]
图5是编程算法的第二编程遍次的说明。lp、up和xp数据用以使存储器单元编程为八个层级。lp数据已经写入到存储器单元,因此编程算法使用预读取操作509从阵列读取lp数据。预读取数据、up数据和xp数据用以使用编程脉冲505和验证操作507创建八个层级520到527。
[0046]
图6说明存储器编程算法引起的电压阈值错置问题。图6的顶部部分表示第一遍次编程且图6的底部部分表示第二遍次编程。在顶部部分中,在第一编程遍次期间,数个单元的电压阈值置于nand电压阈值分布620和621之间的谷部。错置单元可表示较高分布621的下尾位与较低分布620的上尾位的重叠607。图6的底部部分说明第二遍次编程的八个编程层级的创建。谷部中的电压阈值的错置将在第二遍次编程期间错置于八个层级中。错置比分布的尾部放置(尾位)更糟,原因是归因于错置的错误不可使用例如自动读取校准、校正性读取或读取重试等操作恢复。不可使用低密度奇偶校验码(ldpc)软校正引擎来检测错置错误。
[0047]
图7是对存储器阵列的多层级单元进行编程的方法700的流程图。方法700评估经编程分布的质量并且消减经编程电压阈值的错置。方法700包含两个预读取以确定是否存在置于在第一编程遍次期间放置的分布之间的谷部中的单元。可发生额外错置(例如,处于多于一个谷部),但不必评估全部谷部来确定经编程分布的质量。
[0048]
在图7的705处,存储器控制单元使用第一遍次编程操作对存储器阵列的存储器单元进行编程。第一遍次编程操作使用第一和第二电压阈值分布(例如图6中的l0电压分布620和l1电压分布621)来放置编程数据(例如,lp数据)。第二遍次编程使用大于两个分布(例如图6的实例中的八个分布)来放置数据。
[0049]
在710处,在第二编程遍次之前,通过将第一读取电压层级放置于存储器单元的字线上来读取第一数据。在715处,通过将第二读取电压放置于存储器单元的字线上来读取第二数据。置于字线上的电压经设置以读取电压分布之间的谷部区域。
[0050]
图8是消减存储器单元编程中的错置的方法的说明。示出了第一遍次编程的两个电压阈值分布820和821。在图8的实例中,第一预读取电压对应于放置在更靠近重叠区域807的下端处的阈值,且第二预读取电压对应于放置在更靠近重叠区域807的上端处的阈值。
[0051]
在图7中的720处,确定具有放置于第一电压阈值分布和第二电压阈值分布之间的电压阈值的经编程存储器单元的数目。具有错置阈值的此单元数目可用以评估经编程分布的质量。在一些实施例中,将错置于重叠区中的单元的数目与指定阈值单元数目进行比较。如果超过阈值,那么可起始错误处置操作。
[0052]
图9是第二编程遍次的第一预读取909、第二预读取911以及随后的编程脉冲905和验证操作907的说明。返回到图7的725,存储器单元的第二遍次编程可响应于所确定的经编程存储器单元数目超过指定阈值数目而暂停。否则,当错置单元的数目小于指定数目时执行或起始第二遍次编程。此指定单元数目可被视为错置指示符(mi)。当阈值分布很好地分开时,mi为低数目,且随着阈值分布变得重叠,mi增加。指定阈值mi数目可为可微调的以找到性能与可靠性之间的折中。将阈值设置为任意高的数目可用以保证所确定的mi将小于mi阈值以停用错置消减。
[0053]
返回到图8,可执行作为双读取选通的两个预读取操作以减小对编程时间的影响。对于第一读取,与第二读取相比,字线上的电压可较低。因为字线电压较低,所以重叠中的错置单元的读取不会感测电压阈值。因而,读取位指示为“零”。因为对于第二读取,字线较高,所以错置单元的读取使得在单元上读取“一”。这在图8中在重叠区下方示出。
[0054]
存储器控制单元可将错置单元的数目(mi)确定为具有满足以下关系的经放置阈值电压vt的数目:预读取1(v)<vt<预读取2(v)。在一些实施例中,存储器控制单元将错置单元的数目确定为仅使用第一或第二读取电压导通且因此读取结果不同的单元的数目。在一些实施例中,来自第一读取的读取数据存储于存储器装置的页缓冲电路系统的第一页缓冲器(或页缓冲区域)中,并存储于第二页缓冲器(或页缓冲区域)中。存储器控制单元将具有放置于第一电压阈值分布和第二电压阈值分布之间的电压阈值的存储器单元确定为在缓冲器中具有不匹配读取数据的存储器单元的数目。在某些实施例中,读取数据存储于存储器装置的第一数据高速缓存器和第二数据高速缓存器中。如图8中所示,可使用异或(xor)操作确定不匹配单元的数目。在某些实施例中,可使用xor操作和计数失败字节(cfbyte)操作确定不匹配单元的数目。
[0055]
图10是对存储器阵列的多层级单元进行编程以消减经编程电压阈值的错置的方法1000的流程图。在流程图的开头,假设存储器装置已完成放置下部页(lp)数据的第一编程遍次,且第一编程遍次的电压阈值已置于存储器单元中。在第一编程遍次之后,存储器单元具有第一电压阈值集。
[0056]
在1002处,执行第一预读取。在1004处,将来自第一预读取的读取数据存储于第一主级数据高速缓存器(pdc-x)中。在1006处,执行第二预读取。第二读取将不同于第一预读取的读取电压放置于字线上。第二读取电压可高于第一读取电压。在1008处,将来自第二预读取的读取数据存储于第二pdc(pdc-y)中。
[0057]
在1010处,对pdc-x和pdc-y中的读取数据执行xor操作,并且在1012处,执行cfbyte操作。这确定满足如下关系的单元的数目(消减指示符或mi):预读取1(v)<vt<预读取2(v)。将mi与指定数目进行比较。所述指定数目可为具有处于第一编程遍次的电压分布之间的vt的单元的可接受数目。如果mi小于指定的单元数目,那么在1016处执行第二遍次编程,且双预读取操作结束。
[0058]
如果mi不小于指定的单元数目,那么确定为错置的单元的数目并非可接受数目并且在1018处断言错置警示可通过激活编程状态寄存器中的位来断言所述警示。在1020处,响应于错置警示而自动暂停第二编程遍次。在1022处,将读取数据从pdc移动到次级数据高速缓存器(sdc)。在某些实施例中,为了避免与高速缓存操作发生冲突,数据准备就绪(rdy)信号可保持为低直到来自mi的警示经评估。
[0059]
在1024处,主机(例如,图1中的主机105)开始错误处置操作。如上文所解释,针对第二遍次编程,从存储器阵列中读回lp数据。因为错置可损坏lp数据,所以主机使用错误校正恢复用于编程的lp数据。主机可通过检查可指示错置警示的状态寄存器(sr)来辨识错置事件。在1026处,主机可通过读出lp数据(例如,从sdc)并且在1028处将错误校正码(ecc)算法应用于所述数据来管理错置问题。
[0060]
在1030处,主机错误处置确定错误是否不可校正(uecc)。如果错误不可校正,那么在1032处,主机从sdc恢复经扩展页(xp)和上部页(up)数据。在1034处,第二遍次编程中止。主机可尝试将数据重写到存储器的不同区域。如果错误可校正,那么在1036处,将经校正置换lp数据加载到sdc,且主机指示编程可在1038处重新开始。在1040处,存储器装置的存储器控制单元重新开始第二遍次编程。在1042处,将经校正lp数据从sdc复制到pdc以用于编程,并且在1016处,执行第二遍次编程。
[0061]
即使当所确定的mi不超过阈值单元数目时,主机可检索所确定的mi并且使用mi评估存储器单元或字线的条件或质量。在一些实施例中,主机使用所确定的mi改变数据写入到的存储器区域。在一些实施例中,当读取第一遍次编程所放置的lp数据时,主机可调整字线的电压。改变字线电压可允许正确地读取电压分布的离群值。从描述的实施例和实例可见,使用消减指示符评估经编程分布的质量并且当编程存储器单元时消减电压阈值的错置的操作会改进存储器装置的可靠性。
[0062]
图11说明其上可执行本文中论述的技术(例如,方法)中的任何一或多种的实例机器1100的框图。在替代实施例中,机器1100可操作为独立装置或可连接(例如,联网)到其它机器。在联网部署中,机器1100可在服务器-客户端网络环境中作为服务器机器、客户端机器或两者操作。在实例中,机器1100可以充当对等(p2p)(或其它分布式)网络环境中的对等机器。机器1100可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、网络电器、iot装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。另外,虽然仅说明单个机器,但术语“机器”也将视为包含个别地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种(例如云计算、软件即服务(saas)、其它计算机集群配置)的任何机器总集。
[0063]
如本文所描述的实施例和实例可包含逻辑、组件、装置、封装或机制,或者可通过逻辑、组件、装置、封装或机制操作。电路系统是实施于包含硬件(例如,简单电路、门、逻辑等)的有形实体中的电路的集合(例如,集)。电路系统成员可随时间推移和基础硬件变化而为灵活的。电路系统包含在操作时可单独或组合地进行具体任务的部件。在实例中,电路系统的硬件可被永恒地设计成执行特定操作(例如,硬接线)。在实例中,电路系统的硬件可以包含可变连接的物理组件(例如,执行单元、晶体管、简单电路等),包含物理上经修改(例如,以磁性方式、以电学方式、恒定集结粒子的可移动放置等)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机构)能够经由可变连接产生硬件中的电路系统的部件以当在操作中时进行特定任务的部分。因此,当装置正在操作时,计算机可读媒体以通信方式耦合到电路系统的其它组件。在一实例中,物理组件中的任一个可用于超过一个电路系统的超过一个部件中。例如,在操作下,执行单元可在一个时间点用于第一电路系统的第一电路,并且在不同时间由第一电路系统中的第二电路再使用或由第二电
路系统中的第三电路再使用。
[0064]
机器(例如,计算机系统1100)(例如,主机105、存储器装置110等)可包含处理装置1102(例如,硬件处理器、中央处理单元(cpu)、图形处理单元(gpu)、硬件处理器核心或其任何组合,例如存储器装置110的存储器控制单元等)、主存储器1104(例如,只读存储器(rom)、快闪存储器、例如同步dram(sdram)或rambus dram(rdram)等动态随机存取存储器(dram)等)、静态存储器1106(例如,快闪存储器、静态随机存取存储器(sram)等),以及数据存储系统1118,其中的一些或全部可经由链接(例如,总线)1130彼此通信。
[0065]
处理装置1102可表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置1102也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置1102可被配置成执行指令1126以用于执行本文中所论述的操作和步骤。计算机系统1100可另外包含网络接口装置1108以在网络1120上通信。
[0066]
数据存储系统1118可包含机器可读存储媒体1124(也称为计算机可读媒体),其上存储有一或多个指令集1126或体现本文中所描述的方法或功能中的任一或多种的软件。指令1126还可在由计算机系统1100执行期间完全或至少部分地驻存在主存储器1104内和/或处理装置1102内,主存储器1104和处理装置1102也构成机器可读存储媒体。机器可读存储媒体1124、数据存储系统1118或主存储器1104可对应于图1的存储器装置110。在一个实施方案中,指令1126包含在编程期间实施对应于双预读取(例如,图7的双预读取)的功能性的指令1111。
[0067]
虽然机器可读存储媒体1124在实例实施方案中示出为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。在实例中,集中式机器可读媒体包括具有质量不变(例如静止)的多个粒子的机器可读媒体。因此,集中式机器可读媒体是非暂时性传播信号。集中式机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))和闪存存储器装置;磁盘,例如内部硬盘和可拆卸磁盘;磁光盘;和cd-rom和dvd-rom盘。
[0068]
机器1100可另外包含显示单元、字母数字输入装置(例如,键盘)和用户接口(ui)导航装置(例如,鼠标)。在实例中,显示单元、输入装置或ui导航装置中的一或多个可以是触摸屏显示器。机器是信号产生装置(例如,扬声器),或一或多个传感器,例如全球定位系统(gps)传感器、指南针、加速计或一或多个其它传感器。机器1100可以包含输出控制器,例如串行(例如,通用串行总线(usb)、并行或其它有线或无线(例如,红外(ir)、近场通信(nfc)等)连接,以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
[0069]
指令1126(例如,软件、程序、操作系统(os)等)或存储在存储系统1118上的其它数据可以由主存储器704存取以供处理装置1102使用。主存储器1104(例如,dram)通常快速但
易失,且因此是不同于适用于长期存储(包含在处于“关断”条件中时)的数据存储装置1118(例如,ssd)的类型的存储装置。供用户或机器1100使用的指令1126或数据通常加载在主存储器1104中以供处理器1102使用。在主存储器1104已满时,可分配来自数据存储装置1118的虚拟空间以补充主存储器1104;然而,因为数据存储装置1118装置通常比主存储器1104慢,且写入速度通常比读取速度慢至少两倍,所以虚拟存储器的使用由于存储装置延时(相较于主存储器1104,例如dram)而可能极大地降低用户体验。此外,用于虚拟存储器的数据存储装置1118的使用可极大地减少数据存储装置1118的可用的使用寿命。
[0070]
与虚拟存储器相比,虚拟存储器压缩(例如,内核特征“zram”)使用存储器的部分作为经压缩块存储以避免对数据存储装置1118的分页。分页在经压缩块中发生直到必须将这类数据写入到数据存储装置1118为止。虚拟存储器压缩增加主存储器1104的可用大小,同时减少数据存储装置1118上的磨损。
[0071]
针对移动电子装置或移动存储装置优化的存储装置传统上包含mmc固态存储装置(例如,微安全数字(microsd
tm
)卡等)。mmc装置包含与主机(例如,主机装置)的数个并行接口(例如,8位并行接口),且通常是从主机可拆卸和分离的组件。相比之下,emmc
tm
装置附接到电路板且被视为主机的组件,其读取速度堪比基于串行ata
tm
(串行高级技术(at)附件,或sata)的ssd装置。然而,对移动装置性能的需求继续增大,以便完全启用虚拟或扩增现实装置,利用提高的网络速度等。响应于此需求,存储装置已从并行通信接口转换到串行通信接口。包含控制器和固件的通用快闪存储(ufs)装置使用具有专用读取/写入路径的低电压差分信令(lvds)串行接口与主机通信,从而进一步推进了更高的读取/写入速度。
[0072]
指令1124可以进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传送协议(http)等)经由网络接口装置1108使用发射媒体在网络1120上发射或接收。实例通信网络可以包含局域网(lan)、广域网(wan)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(pots)网络,以及无线数据网络(例如,电气和电子工程师协会(ieee)802.11系列标准,称为ieee 802.16系列标准,称为)、ieee 802.15.4系列标准、对等(p2p)网络等。在实例中,网络接口装置1108可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到网络1120。在实例中,网络接口装置1108可以包含多个天线以使用单输入多输出(simo)、多输入多输出(mimo)或多输入单输出(miso)技术中的至少一种进行无线通信。术语“发射媒体”应被认为包含能够存储、编码或携载指令以由机器1100执行的任何无形媒体,且包含数字或模拟通信信号或其它无形媒体以有助于此类软件的通信。
[0073]
以上详细描述包含对随附图式的参考,所述随附图式形成详细描述的部分。所述图借助于图示示出可实践本发明的具体实施例。这些实施例在本文中也称为“实例”。此类实例可包含除了所示出或描述的那些要素之外的要素。然而,本发明人还预期其中仅提供所示出或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文示出或描述的其它实例(或其一或多个方面)而示出或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
[0074]
在本文件中,术语如专利文件中所常见而使用术语“一”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或用途。在本文档中,术语“或”用于指
代非排它性或,使得除非另有指示,否则“a或b”可包含“a而非b”、“b而非a”以及“a和b”。在所附权利要求书中,术语“包含(including)”及“其中(in which)”用作相应术语“包括(comprising)”和“其中(wherein)”的简洁英文等效术语。另外,在所附权利要求书中,术语“包含”和“包括”是开放式的。在权利要求书中除了在这类术语之后列出的要素之外还包含要素的系统、装置、物品或过程仍视为属于所述权利要求的范围。此外,在所附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标记,且并不意图对其对象施加数字要求。
[0075]
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件。如本文中所使用,“处理器”意指任何类型的计算电路,如但不限于微处理器、微控制器、图形处理器、数字信号处理器(dsp)或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。
[0076]
如本文所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中被称作“编程”,且可包含对存储器单元写入或从存储器单元擦除(例如,存储器单元可经编程为擦除状态)。
[0077]
根据本公开的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、传达、调适、导出、限定、利用、修改、应用等)一定数量的磨损循环或磨损状态(例如,记录磨损循环、当其发生时对存储器装置的操作计数、跟踪其起始的存储器装置的操作、评估对应于磨损状态的存储器装置特性等)。
[0078]
根据本公开的一或多个实施例,存储器存取装置可经配置以通过每个存储器操作将损耗循环信息提供给存储器装置。存储器装置控制电路系统(例如,控制逻辑)可经编程以补偿对应于磨损循环信息的存储器装置性能改变。存储器装置可接收磨损循环信息且响应于磨损循环信息而确定一或多个操作参数(例如,值、特性)。
[0079]
本文中描述的方法实例可以至少部分地由机器、装置或计算机实施。一些实例可以包含编码有指令的计算机可读媒体、装置可读媒体或机器可读媒体,所述指令可用于配置电子装置以执行如以上实例中描述的方法。这类方法的实施方案可包含代码,如微码、汇编语言代码、高级语言代码等。这类代码可包括用于执行各种方法的计算机可读指令。代码可以形成计算机程序产品的一部分。此外,代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可装卸式磁盘、可装卸式光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(ram)、只读存储器(rom)、固态驱动器(ssd)、通用快闪存储(ufs)装置、嵌入式mmc(emmc)装置等等。
[0080]
额外描述和实例
[0081]
实例1包含标的物(例如存储器装置),其包括:存储器阵列,其包含多层级存储器单元;存储器控制单元,其以操作方式耦合到所述存储器阵列且被配置成:使用第一遍次编程操作起始所述存储器阵列的存储器单元的编程,其中所述第一遍次编程操作使用第一和第二电压阈值分布放置编程数据;使用所述存储器单元的字线上的第一读取电压层级来读取经编程存储器单元;使用所述存储器单元的所述字线上的第二读取电压层级来读取所述经编程存储器单元;确定具有通过所述编程放置于所述第一和第二电压阈值分布之间的电压阈值的所述经编程存储器单元的数目;和响应于指定阈值数目与具有放置于所述第一和
第二电压阈值分布之间的电压阈值的经编程存储器单元的所述所确定数目的关系,控制第二遍次编程操作。
[0082]
在实例2中,实例1所述的标的物任选地包含所述存储器控制单元被配置成:响应于经编程存储器单元的所述所确定数目超过指定阈值数目,暂停所述存储器单元的所述第二遍次编程;和否则就起始第二遍次编程操作。
[0083]
在实例3中,实例1和2中的一个或两个所述的标的物任选地包含存储器控制单元被配置成将使用所述第一读取电压层级或所述第二读取电压层级中的仅一个导通的存储器单元的数目确定为具有放置于所述第一和第二电压阈值分布之间的电压阈值的所述多层级存储器单元的所述数目。
[0084]
在实例4中,实例1到3中的一个或其任何组合所述的标的物任选地包含第一页缓冲器和第二页缓冲器,且存储器控制单元被配置成:将使用所述第一读取电压层级读取的第一数据存储于所述第一缓冲器中;将使用所述第二读取电压层级读取的第二数据存储于所述第二缓冲器中;和将具有所述第一和第二缓冲器中的不匹配第一数据和第二数据的存储器单元的数目确定为具有放置于所述第一和第二电压阈值分布之间的电压阈值的所述多层级存储器单元的所述数目。
[0085]
在实例5中,实例1到4中的一个或其任何组合所述的标的物任选地包含所述存储器控制单元被配置成:响应于所述所确定的单元数目超过所述指定阈值数目,将所述编程数据改变为置换数据;和使用所述置换数据起始第二遍次编程操作。
[0086]
在实例6中,实例1到5中的一个或其任何组合所述的标的物任选地包含所述存储器控制单元被配置成:将使用所述第一读取电压层级读取的第一数据传送到主机应用程序;响应于所述所确定的单元数目超过所述指定阈值数目,从所述主机应用程序接收置换数据;和使用所述置换数据起始第二遍次编程操作。
[0087]
在实例7中,实例1到6中的一个或其任何组合所述的标的物任选地包含第二遍次编程,与所述第一遍次编程相比,所述第二遍次编程使用更多电压阈值分布放置所述编程数据。
[0088]
实例8包含标的物(例如一种对存储器阵列的多层级存储器单元进行编程的方法),或可任选地与实例1-7中的一个或其任何组合组合以包含这类标的物,其包括:使用第一遍次编程操作对所述存储器阵列的存储器单元进行编程,其中所述第一遍次编程操作使用第一和第二电压阈值分布放置编程数据;使用所述存储器单元的字线上的第一读取电压层级来读取第一读取数据;使用所述存储器单元的所述字线上的第二读取电压层级来读取第二读取数据;确定具有通过所述编程放置于所述第一和第二电压阈值分布之间的电压阈值的经编程存储器单元的数目;和响应于指定阈值数目与具有放置于所述第一和第二电压阈值分布之间的电压阈值的经编程存储器单元的所述所确定数目的关系,控制第二遍次编程操作。
[0089]
在实例9中,实例8的标的物任选地包含响应于经编程存储器单元的所述所确定数目超过指定阈值数目,暂停所述存储器单元的第二遍次编程;和否则就执行所述第二遍次编程。
[0090]
在实例10中,实例8和9中的一个或两个的标的物任选地包含确定使用所述第一读取电压层级或所述第二读取电压层级中的仅一个导通的存储器单元的数目。
[0091]
在实例11中,实例8到10中的一个或其任何组合的标的物任选地包含将所述第一读取数据存储于第一缓冲器中;和将所述第二读取数据存储于第二缓冲器中。所述确定经编程存储器单元的所述数目任选地包含确定具有所述第一和第二缓冲器中的不匹配第一读取数据和第二读取数据的存储器单元的数目。
[0092]
在实例12中,实例8到11中的一个或其任何组合的标的物任选地包含:响应于经编程存储器单元的所述所确定数目超过所述指定阈值数目,将所述编程数据改变为置换数据;和使用所述置换数据执行第二遍次编程操作。
[0093]
在实例13中,实例12所述的标的物任选地包含:响应于所述所确定的单元数目超过所述指定阈值数目,使用主机应用程序读取所述第一读取数据;将错误校正应用于所述第一读取数据以产生所述置换数据;和将所述置换数据加载到页缓冲器中以用于编程。
[0094]
在实例14中,实例12和13中的一个或两个的标的物任选地包含:响应于所述所确定的单元数目超过所述指定阈值数目,将所述编程数据从页缓冲器传送到高速缓存缓冲器;使用所述高速缓存缓冲器中的数据产生所述置换数据;将所述置换数据存储于所述页缓冲器中;和使用存储于所述页缓冲器中的所述置换数据执行所述第二遍次编程操作。
[0095]
在实例15中,实例8到14中的一个或其任何组合的标的物任选地包含:响应于所述所确定的单元数目小于或等于所述指定的单元数目,使用第二遍次编程操作对所述存储器单元进行编程,其中所述第二遍次编程操作包含大于两个电压阈值分布。
[0096]
在实例16中,实例8到15中的一个或其任何组合的标的物任选地包含:响应于所述所确定的单元数目超过所述指定阈值数目,使用主机应用程序读取所述第一读取数据;使用所述主机应用程序将错误校正应用于所述第一读取数据;和响应于所述错误校正不成功,中止所述多层级存储器单元的所述第二遍次编程。
[0097]
实例17包含标的物(例如一种非暂时性计算机可读存储媒体)或可任选地与实例1到16中的一或多个组合以包含这类标的物,其包括被配置成致使存储器装置的存储器控制单元进行以下操作的指令:使用第一遍次编程操作对所述存储器阵列的存储器单元进行编程,其中所述第一遍次编程操作包含两个电压阈值分布;使用所述存储器单元的字线上的第一读取电压层级起始第一读取操作;使用所述存储器单元的所述字线上的第二读取电压层级起始第二读取操作;确定具有处于所述两个电压阈值分布之间的经编程电压阈值的所述多层级存储器单元的数目;和响应于所述所确定的存储器单元数目超过指定阈值数目,暂停所述存储器单元的第二遍次编程,否则就执行所述第二遍次编程。
[0098]
在实例18中,实例17的标的物任选地包含被配置成致使所述存储器控制单元进行以下操作的指令:将使用所述第一读取电压层级或所述第二读取电压层级中的仅一个导通的存储器单元的数目确定为具有处于所述两个电压阈值分布之间的经编程电压阈值的存储器单元的所述数目。
[0099]
在实例19中,实例17和18中的一个或两个的标的物任选地包含致使所述存储器控制单元进行以下操作的指令:将使用所述第一读取电压确定的第一读取数据存储于所述存储器装置的第一缓冲器中;将使用所述第二读取电压确定的第二读取数据存储于所述存储器装置的第二缓冲器中;和将具有所述第一和第二缓冲器中的不匹配第一读取数据和第二读取数据的存储器单元的数目确定为具有处于所述两个电压阈值分布之间的经编程电压阈值的存储器单元的所述数目。
[0100]
在实例20中,实例17到19中的一个或其任何组合的标的物任选地包含致使所述存储器控制单元进行以下操作的指令:响应于所述所确定的单元数目超过所述指定阈值数目,将所述编程数据改变为置换数据;和使用所述置换数据起始第二遍次编程操作。
[0101]
在实例21中,实例17到20中的一个或其任何组合的标的物任选地包含致使所述存储器控制单元进行以下操作的指令:响应于暂停所述存储器单元的第二遍次编程,将编程数据传送到主机应用程序;从主机应用程序接收置换数据;和将所述置换数据加载到所述存储器装置的页缓冲器中以用于所述第二遍次编程。
[0102]
在实例22中,实例17到21中的一个或其任何组合的标的物任选地包含致使所述存储器控制单元进行以下操作的指令:响应于所述所确定的存储器单元数目小于或等于所述指定的存储器单元数目,使用第二遍次编程操作对所述存储器单元进行编程,其中所述第二遍次编程操作包含大于两个电压阈值分布。
[0103]
这些非限制性实例可以任何排列或组合进行组合。以上描述意在为说明性的而非限制性的。举例来说,上文所描述的实例(或其一个或多个方面)可彼此组合使用。例如所属领域的普通技术人员在查阅以上描述后可使用其它实施例。应理解,

技术实现要素:
将不会用于解释或限制权利要求书的范围或含义。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本公开。不应将这一情况解释为意图未要求保护的公开特征对任何权利要求来说是必不可少的。实际上,本发明主题可在于比特定所公开实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为一单独实施例而独立存在,且预期这些实施例可以各种组合或排列彼此组合。本发明的范围应通过参考所附权利要求书以及所述权利要求书所授予的等效物的完整范围来确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜