优先权申请案
本申请案主张2017年8月31日申请的序列号为15/692,407的美国申请案的优先权的权益,所述申请案的全部内容以引用的方式并入本文中。
背景技术:
存储器装置通常作为内部半导体集成电路提供于计算机或其它电子装置中。存在许多不同类型的存储器,其包含易失性及非易失性存储器。易失性存储器需要电力来保存其数据,且易失性存储器的实例尤其包含随机存取存储器(ram)、动态随机存取存储器(dram)及同步动态随机存取存储器(sdram)。非易失性存储器可在未被供电时保存存储数据,且非易失性存储器的实例尤其包含快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、静态ram(sram)、可擦除可编程rom(eprom)、电阻可变存储器(例如相变随机存取存储器(pcram))、电阻随机存取存储器(rram)、磁阻随机存取存储器(mram)及三维(3d)xpointtm存储器。
快闪存储器用作为各种电子应用的非易失性存储器。快闪存储器装置通常包含允许高存储器密度、高可靠性及低电力消耗的单晶体管、浮动栅极或电荷捕捉存储器单元的一或多个群组。两种常见类型的快闪存储器阵列架构包含以其中布置每一架构的基本存储器单元配置的逻辑形式命名的“与非”及“或非”架构。存储器阵列的存储器单元通常布置成矩阵。在实例中,阵列的行中的每一浮动栅极存储器单元的栅极耦合到存取线(例如字线)。在“或非”架构中,阵列的列中的每一存储器单元的漏极耦合到数据线(例如位线)。在“与非”架构中,阵列的串中的存储器单元一起源极到漏极地串联耦合于源极线与位线之间。
“或非”及“与非”两种架构的半导体存储器阵列通过解码器存取,解码器通过选择耦合到存储器单元栅极的字线来激活特定存储器单元。在“或非”架构半导体存储器阵列中,选定存储器单元一旦被激活,那么将其数据值放置于位线上以引起不同电流根据编程特定单元的状态来流动。在“与非”架构半导体存储器阵列中,将高偏压电压施加于漏极侧选择栅极(sgd)线。耦合到每一群组的未选定存储器单元的栅极的字线由指定导通电压(例如vpass)驱动以将每一群组的未选定存储器单元操作为导通电晶体(例如用于以不受其存储数据值限制的方式传递电流)。接着,电流从源极线通过每一串联耦合群组而流动到位线(仅受每一群组的选定存储器单元限制)以将选定存储器单元的当前编码数据值放置于位线上。
“或非”或“与非”架构半导体存储器阵列中的每一快闪存储器单元可被个别或共同编程为一或若干编程状态。例如,单电平单元(slc)可表示两个编程状态(例如1或0)中的一者以表示一位数据。然而,快闪存储器单元还可表示两个以上编程状态中的一者以允许在不增加存储器单元的数目的情况下制造较高密度存储器,因为每一单元可表示一个以上二进制数字(例如一个以上位)。此类单元可称作多状态存储器单元、多数字单元或多电平单元(mlc)。在特定实例中,mlc可指代可每单元存储两个位的数据(例如四个编程状态中的一者)的存储器单元,三电平单元(tlc)可指代可每单元存储三个位的数据(例如八个编程状态中的一者)的存储器单元,且四电平单元(qlc)可每单元存储四个位的数据。本文中的mlc用于其更广背景中以可指代可每单元存储一个以上位的数据(即,可表示两个以上编程状态)的任何存储器单元。
传统存储器阵列是布置于半导体导体衬底的表面上的二维(2d)结构。为增加给定面积的存储器容量且减少成本,已减小个别存储器单元的大小。然而,减小个别存储器单元的大小存在技术限制,且2d存储器阵列的存储器密度因此存在技术限制。作为响应,正在开发例如三维(3d)“与非”架构半导体存储器装置的3d存储器结构以进一步提高存储器密度及降低存储器成本。
此类3d“与非”装置通常包含串联耦合(例如漏极到源极)于接近源极的一或多个源极侧选择栅极(sgs)与接近位线的一或多个漏极侧选择栅极(sgd)之间的存储单元串。在实例中,sgs或sgd可包含一或多个场效应晶体管(fet)或金属氧化物半导体(mos)结构装置等等。在一些实例中,串将垂直延伸穿过含有相应字线的多个垂直间隔层。半导体导体结构(例如多晶硅结构)可相邻于串存储单元延伸以形成存储单元串的沟道。在垂直串的实例中,多晶硅结构可呈垂直延伸柱的形式。在一些实例中,串可“折叠”且因此相对于u形柱布置。在其它实例中,多个垂直结构可彼此上下堆叠以形成存储单元串的堆叠阵列。
存储器阵列或装置可经组合在一起以形成例如固态驱动器(ssd)、通用快闪存储(ufstm)装置、多媒体卡(mmc)固体存储装置、嵌入式mmc装置(emmctm)等等的存储器系统的存储容量。ssd可尤其用作为计算机的主存储装置,其移动部分具有相较于传统硬盘驱动器的(例如)性能、大小、重量、坚固性、操作温度范围及电力消耗优点。例如,ssd可减少寻找时间、延时或与磁盘驱动器(例如机电等等)相关联的其它延迟。ssd使用例如快闪存储器单元的非易失性存储器单元来消除内部电池供应需求以因此允许所述驱动器使用更广及小型化。
ssd可包含若干存储器装置(其包含若干裸片或逻辑单元(例如逻辑单元号码或lun)),且可包含执行操作存储器装置或与外部系统介接所需的逻辑功能的一或多个处理器或其它控制器。此类ssd可包含一或多个快闪存储器裸片,其包含若干存储器阵列及其上的外围电路系统。快闪存储器阵列可包含组织成若干物理页面的若干存储器单元块。在许多实例中,ssd还将包含dram或sram(或其它形式的存储器裸片或其它存储器结构)。ssd可从主机接收与存储器操作(例如用于在存储器装置与主机之间转移数据(例如用户数据及相关联的完整性数据,例如错误数据及地址数据等等)的读取或写入操作或用于从存储器装置擦除数据的擦除操作)相关联的命令。
在基于“与非”快闪的存储系统中,布置为slc或mlc的存储器单元通常含有电荷存储晶体管,其中存储于电荷存储晶体管中的电荷设置电荷存储晶体管的阈值电压vt。“与非”的内部逻辑确定不同阈值电压与每一状态的相关联性。然而,“与非”vt时常会因各种因子而经受移位。此类因子包含读取干扰、保存、交叉温度等等。失效位的计数可包含读取电压的值与“与非”vt之间的失配的函数。因此,基于“与非”快闪的存储系统的改进可包含读取电压的重新校准的改进。
附图说明
未必按比例绘制的图式大体上以举例而非限制的方式说明本发明中所论述的各种实施例。
图1说明根据各种实施例的包含存储器装置的环境的实例。
图2及3说明根据各种实施例的三维“与非”架构半导体存储器阵列的实例的示意图。
图4说明根据各种实施例的存储器模块的实例框图。
图5是说明根据各种实施例的可对其实施一或多个实施例的机器的实例的框图。
图6是根据各种实施例的具有存储器装置、一或多个跟踪器及校准控制器的实例系统的特征的框图。
图7是根据各种实施例的使用“与非”存储器装置的每秒输入/输出取样及基于时间取样的组合的程序的表示。
图8说明根据各种实施例的与用于触发读取电平处理的基于时间取样、基于读取取样及基于写入/擦除取样相关联的时序。
图9是根据各种实施例的针对读取电平校准来优化存储器装置的扫描的实例方法的特征的流程图。
具体实施方式
在基于“与非”快闪的存储系统中,可通过根据“与非”vt调整读取电压来最小化来自读取电压与“与非”vt之间的失配的失效位计数。读取电压的调整可包含读取电平电压校准。此读取电平电压校准可涉及不同读取电压处的“与非”原始位错误率(rber)的实时取样。可实施固件以通过在各种读取电压处发出扫描读取、测量rber及确定最好rber的最好读取电压来校准“与非”读取电压。
由于在不同读取电压处取样rber表现为主机性能影响,所以通常以提供足够慢速率的时间间隔进行取样,使得相对于“与非”的取样活动几乎不被主机检测为信号中断或延迟。在正常操作中,读取及写入发生相对较少次使得校准的间隔可超过数小时、数天或更长,且可根据使用模型(例如日常使用模型)来调度。在例如目标基准的特定情况中,“与非”vt移位比基于时间的较慢取样更快发生且在这些情况中,基于时间的取样不会非常有效。在设置基准时,可将大量读取或写入发送到“与非”,其次数可比与“与非”的日常使用模型相关联的次数大几个数量级。设置基准可提供“与非”的能力及“与非”的性能电平的测试。然而,在例如设置基准的情况中,以与典型用户使用模型相关联的间隔的读取电平校准可能不合适且可为了以较短间隔的“与非”的改进性能而进行。
在各种实施例中,除基于时间的取样之外,还可使用每秒输入/输出操作(iops)取样来触发读取校准。iops是输入/输出性能测量。在基于iops的取样中,“与非”的固件可单独跟踪“与非”上的读取及写入。响应于跟踪,固件可触发所执行的每一特定次读取或/及写入的读取电压取样。通过使用“与非”读取/写入作为输入参数,固件经优选定位以在“与非”上的目标基准应力条件下跟踪单元vt移动。可以比读取/写入的iops取样慢的速率(即,以较长间隔)执行基于时间的取样。基于iops的取样速率的较快速率可以战略上较快速率进行,使得取样的增加数目在iops中被隐藏。使用本文所教示的方法来使基于时间的取样与iops组合可允许系统在不影响典型用户工作负荷的性能及延时的情况下适应具有加速取样的目标基准。
电子装置(例如移动电子装置(例如智能电话、平板计算机等等)、用于汽车应用中的电子装置(例如汽车传感器、控制单元、驾驶辅助系统、乘客安全或舒适系统等等)及因特网连接设备或装置(例如物联网(iot)装置等等))具有尤其取决于电子装置的类型、使用环境、性能预期等等的不同存储需求。
电子装置可分成若干主组件:处理器(例如中央处理单元(cpu)或其它主处理器)、存储器(例如一或多个易失性或非易失性随机存取存储器(ram)存储器装置,例如动态ram(dram)、移动或低功率双倍数据速率同步dram(ddrsdram)等等)及存储装置(例如非易失性存储器(nvm)装置,例如快闪存储器、只读存储器(rom)、ssd、mmc或其它存储卡结构或组合件等等)。在特定实例中,电子装置可包含用户接口(例如显示器、触摸屏、键盘、一或多个按钮等等)、图形处理单元(gpu)、电力管理单元、基带处理器或一或多个收发器电路等等。
图1说明包含经配置以经由通信接口通信的主机装置105及存储器装置110的环境100的实例。主机装置105或存储器装置110可包含于各种产品150中,例如用于支持产品150的处理、通信或控制的物联网(iot)装置(例如冰箱或其它电器、传感器、电动机或致动器、移动通信装置、汽车、无人机等等)。
存储器装置110包含存储器控制器115及存储器阵列120,存储器阵列120包含(例如)若干个别存储器裸片(例如三维(3d)“与非”裸片的堆叠)。在3d架构半导体存储器技术中,堆叠垂直结构以增加层、物理页面的数目且因此提高存储器装置(例如存储装置)的密度。在实例中,存储器装置110可为主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可为集成电路(例如芯片上系统(soc)等等)的一部分,堆叠或以其它方式包含于主机装置105的一或多个其它组件上。
一或多个通信接口可用于在存储器装置110与主机装置105的一或多个其它组件(例如串行高级技术附件(sata)接口、快速外围组件互连(pcie)接口、通用串行总线(usb)接口、通用快闪存储(ufs)接口、emmctm接口或一或多个其它连接器或接口)之间转移数据。主机装置105可包含主机系统、电子装置、处理器、存储卡读取器或存储器装置110外的一或多个其它电子装置。在一些实例中,主机105可为具有参考图5的机器500所论述的组件的某部分或全部的机器。
存储器控制器115可从主机105接收指令,且可与存储器阵列通信以(例如)转移到(例如写入或擦除)或来自(例如读取)存储器阵列的存储器单元、平面、子块、块或页面中的一或多者的数据。存储器控制器115可尤其包含电路系统或固件,其包含一或多个组件或集成电路。例如,存储器控制器115可包含经配置以控制跨存储器阵列120的存取及提供主机105与存储器装置110之间的转译层的一或多个存储器控制单元、电路或组件。存储器控制器115可包含一或多个输入/输出(i/o)电路、线或接口来转移到或来自存储器阵列120的数据。存储器控制器115可包含存储器管理器125及阵列控制器135。
存储器管理器125可尤其包含例如与各种存储器管理功能相关联的若干组件或集成电路的电路系统或固件。为了本发明,将在“与非”存储器的背景中描述实例存储器操作及管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似存储器操作或管理功能。此类“与非”管理功能包含损耗平衡(例如废弃项目收集或回收)、错误检测或校正、块报废或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如从主机接收的命令)剖析或格式化成装置命令(例如与存储器阵列的操作相关联的命令等等)或产生存储器装置110的阵列控制器135或一或多个其它组件的装置命令(例如用于完成各种存储器管理功能)。
存储器管理器125可包含经配置以保存与存储器装置110的一或多个组件相关联的各种信息(例如与耦合到存储器控制器115的存储器阵列或一或多个存储器单元相关联的各种信息)的一组管理表130。例如,管理表130可包含关于耦合到存储器控制器115的存储器单元的一或多个块的块年龄、块擦除计数、错误历史或一或多个错误计数(例如写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等等)的信息。在特定实例中,如果错误计数中的一或多者的检测错误的数目高于阈值,那么位错误可称作不可校正位错误。管理表130可尤其保存可校正或不可校正位错误的计数。
阵列控制器135可尤其包含经配置以控制与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器单元、从所述一或多个存储器单元读取数据或擦除所述一或多个存储器单元相关联的存储器操作的电路系统或组件。存储器操作可基于(例如)从主机105接收或由存储器管理器125内部产生的主机命令(例如与损耗平衡、错误检测或校正等等相关联)。
阵列控制器135可包含错误校正码(ecc)组件140,其可尤其包含ecc引擎或经配置以检测或校正与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器单元或从所述一或多个存储器单元读取数据相关联的错误的其它电路系统。存储器控制器115可经配置以主动检测与数据的各种操作或存储相关联的错误事件(位错误、操作错误等等)且从所述错误事件恢复,同时维持转移于主机105与存储器装置110之间的数据的完整性或维持存储数据(例如使用冗余raid存储等等)的完整性,且可移除(例如报废)失效存储器资源(例如存储器单元、存储器阵列、页面、块等等)以防止未来错误。
存储器阵列120可包含布置于(例如)若干装置、平面、子块、块或页面中的若干存储器单元。作为实例,48gbtlc“与非”存储器装置可包含每页面18,592个字节(b)的数据((16,384 2208)个字节)、每块1536个页面、每平面548个块及每装置4个或4个以上平面。作为另一实例,32gbmlc存储器装置(其每单元存储2个位的数据(即,4个可编程状态))可包含每页面18,592个字节(b)的数据((16,384 2208)个字节)、每块1024个页面、每平面548个块及每装置4个平面,但具有对应tlc存储器装置的半导体所需写入时间及两倍编程/擦除(p/e)循环。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其一部分可选择性地在slc模式或所要mlc模式(例如tlc、qlc等等)中操作。
在操作中,数据通常写入到或读取从页面中的“与非”存储器装置110且擦除于块中。然而,可根据需要对存储器单元的较大或较小群组执行一或多个存储器操作(例如读取、写入、擦除等等)。“与非”存储器装置110的数据转移大小通常称作页面;而主机的数据转移大小通常称作区段。
尽管页面的数据可包含若干字节的用户数据(例如包含若干区段的数据的数据有效载荷)及其对应元数据,但页面的大小通常仅是指用于存储用户数据的若干字节。作为实例,具有4kb的页面大小的数据页面可包含4kb的用户数据(例如呈现512b的区段大小的8个区段)以及对应于用户数据的若干字节(例如32b、54b、224b等等)的元数据,例如完整性数据(例如错误检测或校正码数据)、地址数据(例如逻辑地址数据等等)或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器阵列120可提供不同页面大小,或需要与不同页面大小相关联的不同元数据量。例如,不同存储器装置类型可具有不同位错误率,其可导致确保数据页面的完整性所需的不同元数据量(例如,具有较高位错误率的存储器装置需要比具有较低位错误率的存储器装置多的错误校正码数据字节)。作为实例,多电平单元(mlc)“与非”快闪装置可具有比对应单电平单元(slc)“与非”快闪装置高的位错误率。因而,mlc装置需要比对应slc装置多的错误数据的元数据字节。
图2说明包含组织成块(例如块a201a、块b201b等等)及子块(例如子块a0201a0、子块an201an、子块b0201b0、子块bn201bn等等)的若干串存储器单元(例如第一a0存储器串205a0到第三a0存储器串207a0、第一an存储器串205an到第三an存储器串207an、第一b0存储器串205b0到第三b0存储器串207b0、第一bn存储器串205bn到第三bn存储器串207bn等等)的3d“与非”架构半导体存储器阵列200的实例示意图。存储器阵列200表示常见于存储器装置的块、装置或其它单元中的更多类似结构的一部分。
每一串存储器单元包含在z方向上源极到漏极地堆叠于源极线(src)235或源极侧选择栅极(sgs)(例如第一a0sgs231a0到第三a0sgs233a0、第一ansgs231an到第三ansgs233an、第一b0sgs231b0到第三b0sgs233b0、第一bnsgs231bn到第三bnsgs233bn)与漏极侧选择栅极(sgd)(例如第一a0sgd226a0到第三a0sgd228a0、第一ansgd226an到第三ansgd228an、第一b0sgd226b0到第三b0sgd228b0、第一bnsgd226bn到第三bnsgd228bn等等)之间的电荷存储晶体管(例如浮动栅极晶体管、电荷捕捉结构等等)的若干层。3d存储器阵列中的每一串存储器单元可沿x方向布置为数据线(例如位线(bl)bl0220到bl2222)及沿y方向布置为物理页面。
在物理页面内,每一层表示一行存储器单元,且每一串存储器单元表示列。子块可包含一或多个物理页面。块可包含若干(例如128个、256个、384个等等)子块(或物理页面)。尽管在本文中说明为具有两个块,每一块具有两个子块,每一子块具有单个物理页面,每一物理页面具有三串存储器单元,且每一串具有8层存储器单元,但在其它实例中,存储器阵列200可包含更多或更少块、子块、物理页面、存储器单元串、存储器单元或层。例如,每一串存储器单元可根据需要包含更多或更少(例如16个、32个、64个、128个等等)层以及电荷存储晶体管(例如选择栅极、数据线等等)上方或下方的一或多个额外半导体材料层。作为实例,48gbtlc“与非”存储器装置可包含每页面18,592个字节(b)的数据((16,384 2208)个字节)、每块1536个页面、每平面548个块及每装置4个或4个以上平面。
存储器阵列200中的每一存储器单元包含耦合到(例如电或以其它方式操作性地连接到)存取线(例如字线(wl)wl00210a到wl70217a、wl01210b到wl71217b等等)的控制栅极(cg),所述存取线根据需要共同耦合跨特定层或层的一部分的控制栅极(cg)。可使用相应存取线来存取或控制3d存储器阵列中的特定层且因此存取或控制串中的特定存储器单元。可使用各种选择线来存取选择栅极的群组。例如,可使用a0sgd线sgda0225a0来存取第一a0sgd226a0到第三a0sgd228a0,可使用ansgd线sgdan225an来存取第一ansgd226an到第三ansgd228an,可使用b0sgd线sgdb0225b0来存取第一b0sgd226b0到第三b0sgd228b0,且可使用bnsgd线sgdbn225bn来存取第一bnsgd226bn到第三bnsgd228bn。可使用栅极选择线sgs0230a来存取第一a0sgs231a0到第三a0sgs233a0及第一ansgs231an到第三ansgs233an,且可使用栅极选择线sgs1230b来存取第一b0sgs231b0到第三b0sgs233b0及第一bnsgs231bn到第三bnsgs233bn。
在实例中,存储器阵列200可包含半导体材料(例如多晶硅等等)的若干级,其经配置以耦合每一存储器单元的控制栅极(cg)或阵列的相应层的选择栅极(或cg或选择栅极的一部分)。可使用位线(bl)及选择栅极的组合等等来存取、选择或控制阵列中的特定串的存储器单元且可使用一或多个存取线(例如字线)来存取、选择或控制特定串中的一或多个层处的特定存储器单元。
图3说明包含多个存储器单元302及感测放大器或装置360的“与非”架构半导体存储器阵列300的一部分的实例示意图,多个存储器单元302布置成串(例如第一串305到第三串307)及层(例如说明为相应字线(wl)wl0310到wl7317、漏极侧选择栅极(sgd)线325、源极侧选择栅极(sgs)线330等等)的二维阵列。例如,存储器阵列300可说明例如图2中所说明的3d“与非”架构半导体存储器装置的存储器单元的一个物理页面的一部分的实例示意图。
每一串存储器单元使用相应源极侧选择栅极(sgs)(例如第一sgs331到第三sgs333)来耦合到源极线(src)及使用相应漏极侧选择栅极(sgd)(例如第一sgd326到第三sgd328)来耦合到相应数据线(例如第一位线(bl)bl0320到第三位线bl2322)。尽管在图3的实例中说明8层(例如使用字线(wl)wl0310到wl7317)及3个数据线(bl0326到bl2328),但其它实例可根据需要包含具有更多或更少层或数据线的存储器单元串。
在例如实例存储器阵列300的“与非”架构半导体存储器阵列中,可通过感测与含有选定存储器单元的特定数据线相关联的电流或电压变化来存取选定存储器单元302的状态。可使用一或多个驱动器来存取(例如通过控制电路、一或多个处理器、数字逻辑等等)存储器阵列300。在实例中,一或多个驱动器可通过根据期望对特定存储器单元或存储器单元组执行的操作的类型驱动特定电势到一或多个数据线(例如位线bl0到bl2)、存取线(例如字线wl0到wl7)或选择栅极来激活特定存储器单元或存储器单元组。
为编程或写入数据到存储器单元,可将编程电压(vpgm)(例如一或多个编程脉冲等等)施加于选定字线(例如wl4)且因此施加于耦合到选定字线的每一存储器单元的控制栅极(例如耦合到wl4的存储器单元的第一控制栅极(cg)341到第三cg343)。编程脉冲可在或大致在(例如)15v处开始且在特定实例中,可在每一编程脉冲施加期间增大振幅。当将编程电压施加于选定字线时,可将例如接地电势(例如vss)的电势施加于以编程为目标的存储器单元的数据线(例如位线)及衬底(及因此源极与漏极之间的沟道)以导致从沟道到目标存储器单元的浮动栅极的电荷转移(例如直接注入或福勒-诺德海姆(fowler-nordheim(fn))隧穿等等)。
相比来说,可将导通电压(vpass)施加于具有不以编程为目标的存储器单元的一或多个字线,或可将抑制电压(例如vcc)施加于具有不以编程为目标的存储器单元的数据线(例如位线)以(例如)抑制电荷从沟道转移到此类非目标存储器单元的浮动栅极。导通电压可取决于(例如)所施加的导通电压与以编程为目标的字线的接近性而变化。抑制电压可包含相对于接地电势(例如vss)的供应电压(vcc),例如来自外部电源或供应器(例如电池、交直流转换器等等)的电压。
作为实例,如果将编程电压(例如15v或15v以上)施加于例如wl4的特定字线,那么可将10v的导通电压施加于例如wl3、wl5等等的一或多个其它字线以抑制非目标存储器单元的编程或保存存储于不以编程为目标的此类存储器单元上的值。可随着施加编程电压与非目标存储器单元之间的距离增大而减小抑制编程非目标存储器单元所需的导通电压。例如,当将15v的编程电压施加于wl4时,可将10v的导通电压施加于wl3及wl5,可将8v的导通电压施加于wl2及wl6,可将7v的导通电压施加于wl1及wl7,等等。在其它实例中,导通电压或字线的数目等等可更高或更低或更多或更少。
耦合到数据线(例如第一位线bl0320、第二位线bl1321或第三位线bl2322)中的一或多者的感测放大器360可通过感测特定数据线上的电压或电流来检测相应数据线中的每一存储器单元的状态。
在施加一或多个编程脉冲(例如vpgm)之间,可执行验证操作以确定选定存储器单元是否已达到其预期编程状态。如果选定存储器单元已达到其预期编程状态,那么可抑制其进一步编程。如果选定存储器单元未达到其预期编程状态,那么可施加额外编程脉冲。如果在特定数目个(例如最大数目个)编程脉冲之后选定存储器单元未到达其预期编程状态,那么可将选定存储器单元或与此选定存储器单元的串、块或页面标记为有缺陷的。
为擦除存储器单元或存储器单元群组(例如,通常在块或子块中执行擦除),可将擦除电压(vers)(例如通常为vpgm)施加于以擦除为目标的存储器单元的衬底(及因此源极与漏极之间的沟道)(例如使用一或多个位线、选择栅极等等),同时使目标存储器单元的字线保持例如接地电势(例如vss)的电势以导致从目标存储器单元的浮动栅极到沟道的电荷转移(例如直接注入或福勒-诺德海姆(fn))隧穿等等)。
图4说明存储器装置400的实例框图,存储器装置400包含:存储器阵列402,其具有多个存储器单元404;及一或多个电路或组件,其用于提供与存储器阵列402的通信或对存储器阵列402执行一或多个存储器操作。存储器装置400可包含行解码器412、列解码器414、感测放大器420、页面缓冲器422、选择器424、输入/输出(i/o)电路426及存储器控制单元430。
存储器阵列402的存储器单元404可布置成例如第一块402a及第二块402b的块。每一块可包含子块。例如,第一块402a可包含第一子块402a0及第二子块402an且第二块402b可包含第一子块402b0及第二子块402bn。每一子块可包含若干物理页面,每一页面包含若干存储器单元404。尽管在本文中说明为具有两个块,每一块具有两个子块,且每一子块具有若干存储器单元404,但在其它实例中,存储器阵列402可包含更多或更少块、子块、存储器单元等等。在其它实例中,存储器单元404可布置成若干行、列、页面、子块、块等等且使用(例如)存取线406、第一数据线410或一或多个选择栅极、源极线等等来存取。
存储器控制单元430可根据控制线432上所接收的一或多个信号或指令(其包含(例如)指示所要操作(例如写入、读取、擦除等等)的一或多个时钟信号或控制信号)或一或多个地址线416上所接收的地址信号(a0到ax)来控制存储器装置400的存储器操作。存储器装置400外的一或多个装置可控制控制线432上的控制信号或地址线416上的地址信号的值。存储器装置400外的装置的实例可包含(但不限于)图4中未说明的主机、存储器控制器、处理器或一或多个电路或组件。
存储器装置400可使用存取线406及第一数据线410来转移到(例如写入或擦除)或来自(例如读取)存储器单元404中的一或多者的数据。行解码器412及列解码器414可从地址线416接收及解码地址信号(a0到ax),可确定将存取哪个存储器单元404,且可提供信号到存取线406中的一或多者(例如多个字线(wl0到wlm)中的一或多者)或第一数据线410中的一或多者(例如多个位线(bl0到bln)中的一或多者),例如上文所描述。
存储器装置400可包含经配置以使用第一数据线410来确定存储器单元404上的数据的值(例如读取)或确定待写入到存储器单元404的数据的值的感测电路系统,例如感测放大器420。例如,在存储器单元404的选定串中,感测放大器420中的一或多者可响应于读取电流在存储器阵列402中流动通过选定串而到数据线410而读取选定存储器单元404中的逻辑电平。
存储器装置400外的一或多个装置可使用i/o线(dq0到dqn)408、地址线416(a0到ax)或控制线432来与存储器装置400通信。输入/输出(i/o)电路426可根据(例如)控制线432及地址线416使用i/o线408来将数据的值转移入或转移出存储器装置400,例如转移入或转移出页面缓冲器422或存储器阵列402。页面缓冲器422可在将数据编程到存储器阵列402的相关部分中之前存储从存储器装置400外的一或多个装置接收的数据或可在将数据传输到存储器装置400外的一或多个装置之前存储从存储器阵列402读取的数据。
列解码器414可接收地址信号(a0到ax)且将其解码为一或多个列选择信号(csel1到cseln)。选择器424(例如选择电路)可接收列选择信号(csel1到cseln)且选择表示从存储器单元404读取或编程到存储器单元404中的数据的值的页面缓冲器422中的数据。可使用第二数据线418来使选定数据转移于页面缓冲器422与i/o电路426之间。
存储器控制单元430可从外部电源或供应器(例如内部或外部电池、交直流转换器等等)接收例如供应电压(vcc)434及负压电源(vss)436(例如接地电势)的正及负供应信号。在特定实例中,存储器控制单元430可包含调节器428以内部提供正或负供应信号。
图5说明本文所论述的技术(例如方法)中的任何一或多者可对其执行的实例机器500的框图。在替代实施例中,机器500可操作为独立装置或可连接(例如网络连接)到其它机器。在网络部署中,机器500可充当服务器机器、客户端机器或在服务器-客户端网络环境中操作。在实例中,机器500可充当对等(p2p)(或其它分布式)网络环境中的对等机器。机器500可为个人计算机(pc)、平板pc、视频转换器(stb)、个人数字助理(pda)、移动电话、网站设备、iot装置、汽车系统或能够执行指令(依序或其它)(其指定由所述机器采取的动作)的任何机器。此外,尽管图中仅说明单个机器,但术语“机器”还应被视为包含个别或共同执行一组(或多组)指令以执行本文所论述的方法中的任何一或多者(例如云端运算、软件即服务(saas)、其它计算机集群配置)的任何机器集合。
本文所描述的实例可包含逻辑、组件、装置、封装或机构或可由逻辑、组件、装置、封装或机构操作。电路系统是实施于包含硬件的有形物理(例如简单电路、栅极、逻辑等等)中的电路集合(例如电路组)。电路系统成员资格可随时间灵活变化及具潜在硬件可变性。电路系统包含可在操作时单独或组合执行特定任务的成员。在实例中,电路系统的硬件可经不变设计以实施特定操作(例如硬接线式)。在实例中,电路系统的硬件可包含可变地连接的物理组件(例如执行单元、晶体管、简单电路等等),其包含经物理修改(例如质量不变粒子等等的磁性、电性、可移动放置)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,硬件组成的潜在电性质(例如)从绝缘体改变为导体,或反之亦然。指令使参与硬件(例如执行单元或负载机构)能够经由可变连接来以硬件创建电路系统的成员以在处于操作中时实施特定任务的部分。因此,当装置操作时,计算机可读媒体通信地耦合到电路系统的其它组件。在实例中,物理组件中的任何者可用于一个以上电路系统的一个以上成员中。例如,在操作中,执行单元可在一个时间点用于第一电路系统的第一电路中且在不同时间由所述第一电路系统中的第二电路或第二电路系统中的第三电路重新使用。
机器(例如计算机系统)500(例如主机装置105、存储器装置110等等)可包含硬件处理器502(例如中央处理单元(cpu)、图形处理单元(gpu)、硬件处理器核心或其任何组合,例如存储器控制器115等等)、主存储器504及静态存储器506,其一些或所有可经由互连(例如总线)508彼此通信。机器500可进一步包含显示单元510、字母数字输入装置512(例如键盘)及用户接口(ui)导航装置514(例如鼠标)。在实例中,显示单元510、输入装置512及ui导航装置514可为触摸屏显示器。另外,机器500可包含存储装置(例如驱动单元)521、信号产生装置518(例如扬声器)、网络接口装置520及一或多个传感器516(例如全球定位系统(gps)传感器、罗盘、加速度计或其它传感器)。机器500可包含例如串行(例如通用串行总线(usb))、并行或其它有线或无线(例如红外线(ir)、近场通信(nfc)等等)连接的输出控制器528以通信或控制一或多个外围装置(例如打印机、读卡器等等)。
存储装置521可包含机器可读媒体522,体现本文所描述的技术或功能中的任何一或多者或由本文所描述的技术或功能中的任何一或多者利用的一或多组数据结构或指令524(例如软件)存储于机器可读媒体522上。指令524还可在由机器500执行期间完全或至少部分驻留于主存储器504、静态存储器506或硬件处理器502内。在实例中,硬件处理器502、主存储器504、静态存储器506或存储装置521的一或任何组合可构成机器可读媒体522。
尽管机器可读媒体522说明为单个媒体,但术语“机器可读媒体”可包含单个媒体或经配置以存储一或多个指令524的多个媒体(例如集中式或分布式数据库或相关联的快取存储器及服务器)。
术语“机器可读媒体”可包含能够存储、编码或携载由机器500执行的指令且引起机器500执行本发明的技术中的任何一或多者或能够存储、编码或携载由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可包含固态存储器及光学及磁性媒体。在实例中,大容量机器可读媒体包括具有多个不变(例如静止)质量粒子的机器可读媒体。因此,大容量机器可读媒体不是暂时传播信号。大容量机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))及快闪存储器装置;磁盘,例如内部硬盘及可抽换磁盘;磁光盘;及cd-rom及dvd-rom磁盘。
指令524(例如软件、程序、操作系统(os)等等)或其它数据存储于存储装置521上,可由存储器504存取以供处理器502使用。存储器504(例如dram)通常较快但为易失性的,且因此为不同于存储装置521的存储装置类型(例如ssd),其适合于长期存储(包含在处于“切断”条件中时)。由用户或机器500使用的指令524或数据通常载入存储器504中以供处理器502使用。当存储器504满载时,可分配来自存储装置521的虚拟空间来补充存储器504;然而,因为存储521装置通常比存储器504慢且写入速度通常比读取速度慢至少一倍,所以使用虚拟存储器会因存储装置延时(与存储器504(例如dram)相比)而大幅降低用户体验。此外,使用存储装置521用于虚拟存储器会大幅缩短存储装置521的可用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如
针对移动电子装置所优化的存储装置或移动存储装置通常包含mmc固态存储装置(例如微型安全数字(microsdtm)卡等等)。mmc装置包含与主机装置的若干并行接口(例如8位并行接口)且通常为可从主机装置移除及与主机装置分离的组件。相比来说,emmctm装置附接到电路板且被视为主机装置的组件,其读取速度与基于串行atatm(串行at(高级技术)附件或sata)的ssd装置相当。然而,移动装置性能需求不断提高以(例如)完全实现虚拟或扩增实境装置、利用加快网络速度等等。响应于此需求,存储装置已从并行通信接口变换到串行通信接口。包含控制器及固件的通用快闪存储(ufs)装置使用与专用读取/写入路径的的低电压差分信令(lvds)串行接口来与主机装置通信以进一步促成更大读取/写入速度。
利用若干传送协议(例如,帧中继、因特网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传送协议(http)等等)中的任一者,可使用经由网络接口装置520的传输媒体来通过通信网络526进一步传输或接收指令524。实例通信网络可尤其包含局域网(lan)、广域网(wan)、分组数据网络(例如因特网)、移动电话网络(例如蜂窝式网络)、简易老式电话系统(pots)网络及无线数据网络(例如称为
图6是具有存储器装置642、一或多个跟踪器646、648及649及校准控制器644的系统600的特征的框图。存储器装置642经布置以接收读取及写入命令以从存储器装置642的存储器单元阵列的存储器单元读取及写入到存储器装置642的存储器单元阵列的存储器单元。存储器装置642可为“与非”存储器装置。此“与非”存储器装置可具有存储器单元阵列,其中将阵列构造为三维阵列。
一或多个跟踪器646、648及649可经布置以监测包含以下各者的参数:选定时间间隔、用于读取存储器装置的至少一部分的读取操作的次数及针对存储器装置的至少所述部分的写入操作及擦除操作中的至少一者的次数。一或多个跟踪器可体现为个别跟踪器或经构造以监测一个以上跟踪器的跟踪器。当构造为个别跟踪器时,读取跟踪器646可包含计数器以计数用于读取存储器装置的至少一部分的读取操作的次数,擦除、写入跟踪器648可包含计数器以计数针对存储器装置的至少所述部分的写入操作及擦除操作中的至少一者,且时间跟踪器649可包含计时器以监测相对于初始化/复位时间的时间及选定时间间隔。跟踪器646、648及649可构造为管理存储器装置642的至少一些特征的固件的部分或构造为固件及计数器电路系统的组合。
校准控制器644可经布置以基于来自一或多个跟踪器646、648及649的输入及确定来自一组事件的至少一个事件发生来触发存储器装置642的读取电平校准。所述一组事件可包含监测时间等于或超过选定时间间隔、读取操作的次数等于或超过选定时间间隔内的读取操作的次数的预定阈值及写入操作及擦除操作中的至少一者的次数等于或超过选定时间间隔内的写入操作及擦除操作中的至少一者的次数的阈值。校准控制器644可包含固件,其具有用于基于来自一或多个跟踪器的输入来确定发生的存储指令及可提供读取电平校准的存储器装置的扫描的存储准则。一或多个跟踪器646、648及649及校准控制器644可与指令一起构造于一组共同固件中。
控制器逻辑647(其相对于来自主机641的命令的操作(例如数据的存储器读取及写入)而与存储器装置642通信)可与校准控制器644一起布置以接收关于系统读取电平校准的命令及/或指令及产生针对存储器装置642的读取命令以进行系统读取电平校准。另外,控制器逻辑647可从包含读取及写入及主机界定的读取及写入的快闪转译层(ftl)643提供读取及写入命令到存储器装置642。术语“读取”可用于是指读取操作或命令,术语“写入”可用于是指写入操作或写入命令,且术语“擦除”可用于是指擦除操作或擦除命令。ftl643是可提供存储器装置642的一些管理任务的固件。ftl643可包含用于存储器装置642的固件产生扫描、废弃项目收集及存储器装置642的其它管理任务的指令及例程。可根据若干常规技术来进行例如废弃项目收集的任务。读取跟踪器646可有效布置于控制器逻辑647的输出处以确定发送到存储器装置642的读取操作的次数。擦除/写入跟踪器648可布置于控制器逻辑647的输出处以确定由存储器装置642进行的写入操作及擦除操作中的至少一者的次数。在各种实施例中,擦除/写入跟踪器648可体现为两个跟踪器,其中一个用于擦除操作且一个用于写入操作。
图7是使用“与非”存储器装置742的iops取样及基于时间取样的组合的程序的表示。图7的一或多个“与非”跟踪器746及748、时间跟踪器749、校准控制器744、控制器逻辑747、ftl743及主机741可分别类似于图6的一或多个跟踪器646、648及649、校准控制器644、控制器逻辑647、ftl643及主机641布置。读取、写入及擦除可从主机741经由控制器逻辑747提供到“与非”742。来自控制器逻辑747的读取操作的读取命令可由可为“与非”读取计数器746的“与非”读取跟踪器计数。关于写入操作及/或擦除操作,来自“与非”742的信号可由可为“与非”擦除、写入计数器748的“与非”擦除、写入跟踪器计数。在各种实施例中,“与非”擦除、写入计数器748可体现为两个计数器,其中一个用于擦除操作且一个用于写入操作。时间跟踪器749可经构造以提供从参考时间开始的时间。参考时间可为与程序的开始相关的零。
可监测从参考时间(例如时间零)开始的时间且将其与选定时间间隔比较。选定时间间隔可为“与非”742的调度读取电平校准之间的时间。调度真实电平校准之间的时间可称作tscan。可基于用户使用模型来设置tscan。tscan可在校准控制器644中设置且可随“与非”742的用户使用模型的实施或修改而改变。在759中,可确定当前监测时间是否大于tscan。如果当前监测时间不大于tscan,那么无需提供此状态到校准控制器744且时间跟踪器749继续跟踪从参考时间开始的时间。如果当前监测时间大于tscan,那么可提供此状态到校准控制器744且校准控制器744可触发“与非”742的读取电平校准。在触发读取电平校准之后或在完成读取电平校准时,校准控制器744可将时间跟踪器(其可为计时器)复位为参考零,时间跟踪器749继续从参考零开始监测时间。除将时间跟踪器749设置为参考零之外,校准控制器744还可将“与非”读取计数器746复位为可为零计数的参考计数且将“与非”擦除、写入计数器748复位为还可为零计数的另一参考计数。在实施例中,当时间跟踪器749的监测时间等于tscan时,校准控制器744可以与监测时间大于tscan相同的方式操作。在替代实施例中,当时间跟踪器749的监测时间等于tscan时,校准控制器744可以与监测时间小于tscan相同的方式操作。
可监测指示写入操作及/或擦除操作完成的来自“与非”742的信号以由“与非”擦除、写入计数器748计数写入操作及/或擦除操作。所计数的擦除的次数及所计数的写入的次数可具有不同粒度。擦除的次数通常可为“与非”742的平均擦除计数。写入的次数通常可为写入到“与非”742的页面的数目。在758中,可确定所计数的擦除的次数及/或所计数的写入的次数是否大于擦除及/或写入的预定阈值。如果擦除及/或写入的当前计数不大于擦除及/或写入的预定阈值,那么无需提供此状态到校准控制器744且“与非”擦除、写入计数器748继续跟踪擦除的次数及/或写入的次数。如果擦除及/或写入的当前计数大于擦除及/或写入的预定阈值,那么可提供此状态到校准控制器744且校准控制器744可触发“与非”742的读取电平校准。
在触发读取电平校准之后或在完成读取电平校准时,校准控制器744可将“与非”擦除、写入计数器748复位为其参考计数(其还可为零计数),“与非”擦除、写入计数器748从所述参考计数再次开始计数通过“与非”742的擦除的次数及/或写入的次数。除将“与非”擦除、写入计数器748设置为参考计数零之外,校准控制器744可将时间跟踪器749复位为参考零且将“与非”读取计数器复位为参考计数零。如果“与非”擦除、写入计数器748的计数未在tcan内达到擦除的次数及/或写入的次数的预定阈值,那么时间跟踪器749的监测时间超过tcan的事件将导致“与非”擦除、写入计数器748被复位为参考零。由于“与非”擦除、写入计数器748与时间跟踪器749一起工作,所以“与非”擦除、写入计数器748的最高计数发生于选定时间tscan内。“与非”擦除、写入计数器748可布置为具有两个预定阈值的两个计数器。在实施例中,当“与非”擦除、写入计数器748的监测计数等于预定阈值时,校准控制器744可以与计数大于阈值相同的方式操作。在替代实施例中,当“与非”擦除、写入计数器748的监测计数等于其相应预定阈值时,校准控制器744可以监测时间小于阈值的方式操作。
可监测来自逻辑控制器747的针对“与非”742的读取操作(其用于从“与非”742读取)以由“与非”读取计数器746计数读取操作。在768,可确定所计数的读取操作的次数是否大于针对“与非”742的读取操作的预定阈值。如果读取的当前计数不大于从“与非”742的读取的预定阈值,那么无需提供此状态到校准控制器744且“与非”读取计数器746继续跟踪读取的次数。如果读取的当前计数大于读取的预定阈值,那么可提供此状态到校准控制器744,且校准控制器744可触发“与非”742的读取电平校准。
在触发读取电平校准之后或在完成读取电平校准时,校准控制器744可将“与非”读取计数器746复位为其参考计数(其还可为零计数),“与非”读取计数器746从所述参考计数再次开始计数针对“与非”742的读取的次数。除将“与非”读取计数器746设置为参考计数零之外,校准控制器744还可将时间跟踪器749复位为参考零且将“与非”擦除、写入计数器748复位为参考计数零。如果“与非”读取计数器746的计数未在tscan内达到通过“与非”742的读取的次数的预定阈值,那么时间跟踪器749的监测时间超过tcan的事件将导致“与非”读取计数器746复位为参考零。由于“与非”读取计数器748与时间跟踪器749一起工作,所以“与非”读取计数器748的最高计数发生于选定时间tscan内。在实施例中,当“与非”读取计数器746的监测计数等于其相应预定阈值时,校准控制器744可以与计数大于预定阈值相同的方式操作。在替代实施例中,当“与非”读取计数器746的监测计数等于其相应预定阈值时,校准控制器744可以监测时间小于阈值的方式操作。
在图7所展示的程序中,校准控制器744可控制读取电平校准及取样准则的复位的管理。一旦被触发,那么读取电平校准可由“与非”的读取电压的常规校准中的任何者进行。校准控制器744的固件可包含tscan及各种计数机制的阈值的参数。tscan及阈值的若干不同值可与用于选择及实施特定值的选择准则一起存储于校准控制器744中。另外,可在校准控制器744的固件中进行监测/测量计数及时间与其相应阈值的比较以导致确定若干事件发生。此一组事件可包含监测时间等于或超过选定时间间隔、读取操作的次数等于或超过选定时间间隔内的读取操作的次数的预定阈值及写入操作及擦除操作中的至少一者的次数等于或超过选定时间间隔内的写入操作及擦除操作中的至少一者的次数的阈值。来自一组事件的事件的发生可通过由校准控制器744针对所有跟踪器746、748及749的复位程序来控制“与非”742的读取电平校准的触发。
图8说明与用于触发读取电平处理的基于时间取样、基于读取取样及基于写入/擦除取样相关联的时序。就这些取样中的每一者来说,取样开始于时间t0处,其中时间t0提供前取样的时戳。在基于读取的取样中,目标可针对高质量确定读取密集工作负荷。如果此类活动发生,那么读取电平校准的更新频率可为(例如)从t0开始每隔数小时的时间tr,其由达到读取准则的iops界定。在基于写入/擦除的取样中,目标可针对持久工作负荷。如果此类活动发生,那么读取电平校准的更新频率可为(例如)由从t0开始每隔天的时间tw,其由达到擦除/写入准则的iops界定。在基于时间的取样中,目标是典型用户工作负荷。如果此类活动发生,那么读取电平校准的更新频率可为(例如)从t0开始每隔数天的时间tscan,其由可基于用户使用模型的调度界定。在操作中,基于读取的取样及基于写入/擦除的取样可与不表示典型用户工作负荷的目标基准相关。在某些方面,图8可被视为读取电平校准每隔时段tscan的调度,其中基于iops准则的可能中断引发比tscan早的读取电平校准且从新t0重新开始tscan周期。
如本文所教示,基于iops取样及基于时间取样的组合所进行的读取电压校准可达成对正常用户工作负荷具有最小或零影响的目标基准的优选性能及/或延时。另外,如本文所教示,此组合技术可有助于读取电平校准的“与非”触发率通过在目标基准在调度校准的时间之前加应力于“与非”时触发校准来考量此类目标校准。此程序可有助于消除“与非”过度设计,其否则会导致“与非”持久性或性能损失。
图9是针对读取电平校准来优化存储器装置的扫描的实例方法900的实施例的特征的流程图。在910中,确定存储器结构的存储器阵列的读取操作的次数。确定存储器阵列的读取操作的次数可包含计数经发送以读取存储器阵列的读取命令。在920中,确定存储器阵列的写入操作及擦除操作中的至少一者的次数。确定存储器阵列的写入操作及擦除操作中的至少一者的次数可包含计数响应于在存储器阵列中进行写入操作及擦除操作中的至少一者所发送的写入消息及擦除消息中的至少一者。在930中,确定来自一组事件的至少一个事件发生。所述一组事件可包含监测时间等于或超过选定时间间隔、存储器阵列的读取操作的确定次数等于或超过选定时间间隔内的存储器阵列的读取操作的次数的阈值及存储器阵列的写入操作及擦除操作中的至少一者的确定次数等于或超过选定时间间隔内的写入操作及擦除操作中的至少一者的次数的阈值。在940中,响应于发生确定而触发存储器阵列的读取电平校准。
方法900的变体或类似于方法900的方法可包含可取决于此类方法及/或其中实施此类方法的系统架构的应用而组合的若干不同实施例。此类方法可包含响应于触发而进行读取电平校准、复位计时器以从计时器的复位值开始选定时间间隔内的读取电平校准的另一等待间隔及从计时器的复位值开始且在选定时间间隔内复位存储器阵列的读取操作的次数及写入操作及擦除操作中的至少一者的次数的一或多个跟踪器。复位一或多个跟踪器可包含复位存储器阵列的读取操作的次数的读取计数器及写入操作及擦除操作中的至少一者的计数器。
方法900或类似方法可包含通过在不同读取电压处取样存储器原始位错误率以选择具有最小原始位错误率的一组读取电压来进行所触发的读取电平校准。方法900或类似方法可包含在应力条件下跟踪存储器单元阵列的存储器单元阈值电压移动。
固件可包括可在由控制器执行时引起包括以下各者的操作执行的指令(例如微码):确定存储器结构的存储器阵列的读取操作的次数及所述存储器阵列的写入操作及擦除操作中的至少一者的次数;确定来自一组事件的至少一个事件发生,所述一组事件包含监测时间等于或超过选定时间间隔、存储器阵列的读取操作的确定次数等于或超过选定时间间隔内的存储器阵列的读取操作的次数的阈值及存储器阵列的写入操作及擦除操作中的至少一者的确定次数等于或超过选定时间间隔内的写入操作及擦除操作中的至少一者的次数的阈值;及响应于发生确定而触发存储器阵列的读取电平校准。确定存储器阵列的读取操作的次数可包含计数经发送以读取存储器阵列的读取命令。确定存储器阵列的写入操作及擦除操作中的至少一者的次数可包含计数响应于在存储器阵列中进行写入操作及擦除操作中的至少一者所发送的写入消息及擦除消息中的至少一者。
固件的指令可在由控制器执行时引起操作执行,所述操作可包含响应于触发而进行读取电平校准、复位计时器以从计时器的复位值开始选定时间间隔内的读取电平校准的另一等待间隔及从计时器的复位值开始且在选定时间间隔内复位存储器阵列的读取操作的次数及写入操作及擦除操作中的至少一者的次数的一或多个跟踪器。复位一或多个跟踪器可包含复位存储器阵列的读取操作的次数的读取计数器及写入操作及擦除操作中的至少一者的计数器。
固件的指令可在由控制器执行时引起操作执行,其中操作可包含通过在不同读取电压处取样存储器原始位错误率以选择具有最小原始位错误率的一组读取电压来进行所触发的读取电平校准。另外,指令可在由控制器执行时引起操作执行,其中操作可包含在应力条件下跟踪存储器单元阵列的存储器单元阈值电压移动。
在各种实施例中,一种设备可包括:存储器装置,其接收读取及写入命令以从所述存储器装置的存储器单元阵列的存储器单元读取及写入到所述存储器装置的存储器单元阵列的存储器单元;一或多个跟踪器,其监测参数,所述参数包含选定时间间隔、用于读取所述存储器装置的至少一部分的读取操作的次数及针对所述存储器装置的至少所述部分的写入操作及擦除操作中的至少一者的次数;及校准控制器,其基于来自所述一或多个跟踪器的输入及确定来自一组事件的至少一个事件发生来触发读取电平校准,所述一组事件包含监测时间等于或超过所述选定时间间隔、所述读取操作的所述次数等于或超过所述选定时间间隔内的读取操作的次数的预定阈值及写入操作及擦除操作中的所述至少一者的所述次数等于或超过所述选定时间间隔内的写入操作及擦除操作中的至少一者的次数的阈值。
所述校准控制器可包含固件,其具有用于基于来自所述一或多个跟踪器的所述输入来确定所述发生的存储指令。所述校准控制器可操作以在应力条件下跟踪所述存储器单元的存储器单元阈值电压移动。在此设备中,所述触发读取电平校准可包含在不同读取电压处取样存储器原始位错误率以选择与最小原始位错误率相关联的一组读取电压。在此设备中,所述存储器装置的所述存储器单元阵列可构造为三维“与非”配置。
在此设备中,所述一或多个跟踪器可包含读取计数器来计数发送到所述存储器装置的读取命令。所述一或多个跟踪器可包含至少一个计数器来响应于在所述存储器阵列中进行写入及擦除操作中的至少一者而计数从所述存储器装置发送的写入及擦除消息。所述一或多个跟踪器可包含计时器,其可由所述校准控制器复位为复位值以从所述复位值开始所述选定时间间隔的读取电平校准的另一等待间隔,且所述校准控制器可操作以复位所述一或多个跟踪器以从所述计时器的所述复位值开始跟踪读取操作及跟踪写入操作及擦除操作中的至少一者。
在各种实施例中,一种系统可包括:主机处理器;控制器,其经耦合以与所述主机处理器通信;一组存储器装置,其耦合到所述控制器,所述一组存储器装置包含具有存储器单元阵列的“与非”存储器装置,从所述控制器接收针对所述存储器单元阵列的读取及写入命令以从所述“与非”存储器装置的存储器单元读取及写入到所述“与非”存储器装置的存储器单元;一组跟踪器,其监测时间、跟踪针对所述存储器装置的读取操作及跟踪从所述“与非”存储器装置传达的写入及/或擦除操作;及校准控制器,其基于来自所述一组跟踪器的输入及确定来自一组事件的至少一个事件发生来触发读取电平校准,所述一组事件包含所述监测时间超过选定时间间隔、所述读取操作的次数等于或超过所述选定时间间隔内的读取操作的次数的预定阈值及所述写入及/或擦除操作的次数等于或超过所述选定时间间隔内的写入及/或擦除操作的次数的阈值。所述系统可包含快闪转译层,其经由所述控制器产生针对所述“与非”存储器装置的读取及写入操作以管理所述“与非”存储器装置的所述存储器单元阵列的废弃项目收集。
所述校准控制器可包含固件,其具有用于基于来自所述一组跟踪器的所述输入来确定所述发生的存储指令。用于跟踪针对所述“与非”存储器装置的读取操作的所述跟踪器可包含读取计数器以计数从所述控制器发送到所述“与非”存储器装置的读取命令,且用于跟踪从所述“与非”存储器装置传达的写入及/或擦除操作的所述跟踪器可包含写入及/或擦除计数器以响应于在所述存储器阵列中进行写入及/或擦除操作而计数由所述“与非”存储器装置发送的写入及/或擦除消息。用于监测时间的所述跟踪器可包含计时器,其可由所述校准控制器复位为复位值以从所述复位值开始所述选定时间间隔内的读取电平校准的另一等待间隔,且所述校准控制器可操作以复位用于跟踪读取操作的所述跟踪器及用于跟踪写入及/或擦除操作的所述跟踪器以从所述计时器的所述复位值开始且在所述选定时间间隔内跟踪。
以上详细描述包含参考构成具体实施方式的一部分的附图。图式以说明的方式展示其中可实践本发明的特定实施例。这些实施例在本文中还称作“实例”。此类实例可包含除所展示或描述的元件之外的元件。然而,本发明者还考量其中仅提供所展示或描述的所述元件的实例。此外,本发明者还考量相对于特定实例(或其一或多个方面)或相对于本文所展示或描述的其它实例(或其一或多个方面)使用所展示或描述的所述元件(或其一或多个方面)的任何组合或排列的实例。
在本发明中,使用专利文件中常见的术语“一”来包含一个或一个以上,其与“至少一”或“一或多个”的任何其它例项或使用无关。在本发明中,除非另有指示,否则术语“或”用于是指“非排他或”,使得“a或b”可包含“a而非b”、“b而非a”及“a及b”。在所附权利要求书中,术语“包含”及“其中(inwhich)”用作为相应术语“包括”及“其中(wherein)”的通俗英语等效物。另外,在所附权利要求书中,术语“包含”及“包括”是开放式的,即,包含除权利要求中的此术语之后所列的元件之外的元件的系统、装置、物件或程序仍被视为落于所述权利要求的范围内。此外,在所附权利要求书中,术语“第一”、“第二”及“第三”等等仅用作为标示,且不希望对其目标强加数值要求。
在各种实例中,本文所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件。如本文所使用,“处理器”意谓任何类型的运算电路,例如(但不限于)微处理器、微控制器、图形处理器、数字信号处理器(dsp)或任何其它类型的处理器或处理电路(其包含处理器群组或多核心装置)。
如本文所使用,操作存储器单元包含从存储器单元读取、写入到存储器单元或擦除存储器单元。使存储器单元处于预期状态的操作在本文中称作“编程”且可包含写入到存储器单元或从存储器单元擦除两者(例如,可将存储器单元编程为擦除状态)。
根据一或多个实施例,位于存储器装置内或存储器装置外的存储器控制器(例如处理器、控制器、固件等等)能够确定(例如选择、设置、调整、运算、改变、清除、通信、调适、导出、界定、利用、修改、应用等等)损耗循环的数量或损耗状态(例如记录损耗循环、在存储器装置的操作发生时计数存储器装置的操作、跟踪存储器装置引发的操作、评估对应于损耗状态的存储器装置特性等等)。
根据一或多个实施例,存储器存取装置可经配置以使用每一存储器操作来提供损耗循环信息到存储器装置。存储器装置控制电路系统(例如控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能改变。存储器装置可接收损耗循环信息且响应于损耗循环信息而确定一或多个操作参数(例如值、特性)。
应理解,当元件被指为“在另一元件上”、“连接到”另一元件或“与另一元件耦合”时,其可直接在另一元件上、直接连接到另一元件或直接与另一元件耦合或可存在介入元件。相比来说,当元件被指为“直接在另一元件上”、“直接连接到”另一元件或“直接与另一元件耦合”时,不存在介入元件或层。如果两个元件在图式中展示为具有连接其线,那么除非另有指示,否则两个元件可耦合或直接耦合。
本文所描述的方法实例可为至少部分机器或计算机实施的。一些实例可包含使用指令编码的计算机可读媒体或机器可读媒体,指令可操作以配置电子装置执行上述实例中所描述的方法。此类方法的实施方案可包含例如微码、汇编语言码、较高级语言码或其类似者的编码。此编码可包含用于执行各种方法的计算机可读指令。编码可形成计算机程序产品的部分。此外,编码可例如在执行期间或其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含(但不限于)硬盘、可抽换磁盘、可抽换光盘(例如光盘及数字光盘)、卡式磁带、存储卡或存储条、随机存取存储器(ram)、只读存储器(rom)、固态驱动器(ssd)、通用快闪存储(ufs)装置、嵌入式mmc(emmc)装置及其类似者。
以上描述意在说明而非限制。例如,上述实例(或其一或多个方面)可彼此组合使用。其它实施例可由(例如)所属领域的一般技术人员在研习以上描述之后使用。另外,在具体实施方式中,各种特征可群组在一起以简化本发明。此不应被解释为希望使未主张揭示特征成为任何权利要求的必不可少部分。确切来说,发明标的物可不具有特定揭示实施例的所有特征。因此,所附权利要求书特此并入到具体实施方式中,其中每一权利要求独自代表单独实施例,且预期此类实施例可在各种组合或排列中彼此组合。
1.一种设备,其包括:
存储器装置,其接收读取及写入命令以从所述存储器装置的存储器单元阵列的存储器单元读取及写入到所述存储器装置的存储器单元阵列的存储器单元;
一或多个跟踪器,其监测参数,所述参数包含选定时间间隔、用于读取所述存储器装置的至少一部分的读取操作的次数及针对所述存储器装置的所述至少所述部分的写入操作及擦除操作中的至少一者的次数;及
校准控制器,其基于来自所述一或多个跟踪器的输入及确定来自一组事件的至少一个事件发生来触发读取电平校准,所述一组事件包含监测时间等于或超过所述选定时间间隔、所述读取操作的所述次数等于或超过所述选定时间间隔内的读取操作的次数的预定阈值,及写入操作及擦除操作中的所述至少一者的所述次数等于或超过所述选定时间间隔内的写入操作及擦除操作中的至少一者的次数的阈值。
2.根据权利要求1所述的设备,其中所述校准控制器包含固件,所述固件具有用于基于来自所述一或多个跟踪器的所述输入来确定所述发生的存储指令。
3.根据权利要求1所述的设备,其中所述一或多个跟踪器包含读取计数器来计数发送到所述存储器装置的读取命令。
4.根据权利要求1所述的设备,其中所述一或多个跟踪器包含至少一个计数器来响应于在所述存储器阵列中进行写入及擦除操作中的至少一者而计数从所述存储器装置发送的写入及擦除消息。
5.根据权利要求1所述的设备,其中所述一或多个跟踪器包含计时器,所述计时器能够由所述校准控制器复位为复位值以从所述复位值开始所述选定时间间隔内的读取电平校准的另一等待间隔,且所述校准控制器可操作以复位所述一或多个跟踪器以从所述计时器的所述复位值开始跟踪读取操作及跟踪写入操作及擦除操作中的至少一者。
6.根据权利要求1所述的设备,其中所述触发读取电平校准包含在不同读取电压处取样存储器原始位错误率以选择与最小原始位错误率相关联的一组读取电压。
7.根据权利要求1所述的设备,其中所述校准控制器可操作以在应力条件下跟踪所述存储器单元的存储器单元阈值电压移动。
8.根据权利要求1所述的设备,其中将所述存储器装置的所述存储器单元阵列构造为三维“与非”配置。
9.一种系统,其包括:
主机处理器;
控制器,其经耦合以与所述主机处理器通信;
一组存储器装置,其耦合到所述控制器,所述一组存储器装置包含具有存储器单元阵列的“与非”存储器装置,从所述控制器接收针对所述存储器单元阵列的读取及写入命令以从所述“与非”存储器装置的存储器单元读取及写入到所述“与非”存储器装置的存储器单元;
一组跟踪器,其监测时间、跟踪针对所述存储器装置的读取操作及跟踪从所述“与非”存储器装置传达的写入及/或擦除操作;及
校准控制器,其基于来自所述一组跟踪器的输入及确定来自一组事件的至少一个事件发生来触发读取电平校准,所述一组事件包含所述监测时间超过选定时间间隔、所述读取操作的次数等于或超过所述选定时间间隔内的读取操作的次数的预定阈值,及所述写入及/或擦除操作的次数超过所述选定时间间隔内的写入及/或擦除操作的次数的阈值。
10.根据权利要求9所述的系统,其中所述校准控制器包含固件,所述固件具有用于基于来自所述一组跟踪器的所述输入来确定所述发生的存储指令。
11.根据权利要求9所述的系统,其中用于跟踪针对所述“与非”存储器装置的读取操作的所述跟踪器包含读取计数器来计数从所述控制器发送到所述“与非”存储器装置的读取命令,且用于跟踪从所述“与非”存储器装置传达的写入及/或擦除操作的所述跟踪器包含写入及/或擦除计数器来响应于在所述存储器阵列中进行写入及/或擦除操作而计数由所述“与非”存储器装置发送的写入及/或擦除消息。
12.根据权利要求9所述的系统,其中用于监测时间的所述跟踪器包含计时器,所述计时器能够由所述校准控制器复位为复位值以从所述复位值开始所述选定时间间隔内的读取电平校准的另一等待间隔,且所述校准控制器可操作以复位用于跟踪读取操作的所述跟踪器及用于跟踪写入及/或擦除操作的所述跟踪器以从所述计时器的所述复位值开始且在所述选定时间间隔内跟踪。
13.根据权利要求9所述的系统,其中所述系统包含快闪转译层,所述快闪转译层经由所述控制器产生针对所述“与非”存储器装置的读取及写入操作以管理所述“与非”存储器装置的所述存储器单元阵列的废弃项目收集。
14.一种方法,其包括:
确定存储器结构的存储器阵列的读取操作的次数及所述存储器阵列的写入操作及擦除操作中的至少一者的次数;
确定来自一组事件的至少一个事件发生,所述一组事件包含监测时间等于或超过选定时间间隔、所述存储器阵列的读取操作的所述确定次数等于或超过所述选定时间间隔内的所述存储器阵列的读取操作的次数的阈值,及所述存储器阵列的写入操作及擦除操作中的至少一者的所述确定次数等于或超过所述选定时间间隔内的写入操作及擦除操作中的至少一者的次数的阈值;及
响应于所述发生的所述确定而触发所述存储器阵列的读取电平校准。
15.根据权利要求14所述的方法,其中确定所述存储器阵列的读取操作的所述次数包含:计数经发送以读取所述存储器阵列的读取命令。
16.根据权利要求14所述的方法,其中确定所述存储器阵列的写入操作及擦除操作中的至少一者的所述次数包含:计数响应于在所述存储器阵列中进行写入操作及擦除操作中的至少一者所发送的写入消息及擦除消息中的至少一者。
17.根据权利要求14所述的方法,其中所述方法包含:响应于所述触发而进行读取电平校准;复位计时器以从所述计时器的所述复位值开始所述选定时间间隔内的读取电平校准的另一等待间隔;及从所述计时器的所述复位值开始且在所述选定时间间隔内复位所述存储器阵列的读取操作的次数及写入操作及擦除操作中的至少一者的次数的一或多个跟踪器。
18.根据权利要求17所述的方法,其中复位所述一或多个跟踪器包含:复位所述存储器阵列的读取操作的次数的读取计数器及写入操作及擦除操作中的至少一者的计数器。
19.根据权利要求14所述的方法,其中所述方法包含:通过在不同读取电压处取样存储器原始位错误率以选择具有最小原始位错误率的一组读取电压来进行所述触发读取电平校准。
20.根据权利要求14所述的方法,其中所述方法包含:在应力条件下跟踪所述存储器单元阵列的存储器单元阈值电压移动。
技术总结