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

用于筛选容易出现缺陷的存储器块的基于度量的反应性读取的制作方法

2021-06-18 20:39:00 来源:中国专利 TAG:申请 美国 优先权 并入 序列号
用于筛选容易出现缺陷的存储器块的基于度量的反应性读取的制作方法

优先权申请

本申请要求2018年10月12日提交的美国申请序列号16/159,132的优先权益,所述美国申请以全文引用的方式并入本文中。



背景技术:

存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器需要功率来维持其数据,且易失性存储器的实例包含随机存取存储器(ram)、动态随机存取存储器(dram)及同步动态随机存取存储器(sdram)等等。非易失性存储器可在未被供电时保持所存储数据,且非易失性存储器的实例包含快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、静态ram(sram)、可擦除可编程rom(eprom)、电阻可变存储器,例如相变随机存取存储器(pcram)、电阻式随机存取存储器(rram)、磁阻式随机存取存储器(mram)及三维(3d)xpointtm存储器等等。

快闪存储器用作广泛范围的电子应用的非易失性存储器。快闪存储器装置通常包含允许高存储器密度、高可靠性和低功耗的单晶体管浮动栅极或电荷俘获存储器单元的一或多个群组。两种常见类型的快闪存储器阵列架构包含nand和nor架构,所述架构以每一者的基本存储器单元配置所布置的逻辑形式来命名。存储器阵列的存储器单元通常布置在矩阵中。在实例中,阵列的一行中的每一浮动栅极存储器单元的栅极耦合到存取线(例如,字线)。在nor架构中,阵列的一列中的每一存储器单元的漏极耦合到数据线(例如,位线)。在nand架构中,阵列的串中的存储器单元在源极线与位线之间以源极到漏极方式串联耦合在一起。

nor和nand架构半导体存储器阵列均通过解码器来存取,所述解码器通过选择耦合到特定存储器单元的栅极的字线来激活特定存储器单元。在nor架构半导体存储器阵列中,一旦激活,选定存储器单元便将其数据值置于位线上,从而根据特定单元经编程的状态而使不同电流流动。在nand架构半导体存储器阵列中,将高偏置电压施加于漏极侧选择栅极(sgd)线。以指定传递电压(例如,vpass)驱动耦合到每个群组的未经选择的存储器单元的栅极的字线,以使每个群组的未经选择的存储器单元作为传递晶体管操作(例如,以不受其所存储的数据值限制的方式传递电流)。电流随后从源极线通过每一串联耦合的群组流动到位线,仅受每一群组中的选定存储器单元限制,从而将选定存储器单元的当前经编码数据值置于位线上。

nor或nand架构半导体存储器阵列中的每一快闪存储器单元可个别地或共同地编程到一或多个编程状态。举例来说,单层级单元(slc)可表示两个编程状态(例如,1或0)中的一个,从而表示一个数据位。然而,快闪存储器单元也可表示多于两个编程状态中的一个,从而允许制造较高密度的存储器而不增加存储器单元的数目,因为每个单元可表示多于一个二进制数字(例如,多于一个位)。此类单元可称为多状态存储器单元、多数位单元或多层级单元(mlc)。在某些实例中,mlc可指每单元可存储两个数据位(例如,四个编程状态中的一个)的存储器单元,三层级单元(tlc)可指每单元可存储三个数据位(例如,八个编程状态中的一个)的存储器单元,且四层级单元(qlc)可每单元存储四个数据位。mlc在本文中以其较广泛情形使用,可指每单元可存储多于一个数据位(即,可表示多于两个编程状态)的任何存储器单元。

传统的存储器阵列是布置于半导体衬底的表面上的二维(2d)结构并且可被称为平面存储器阵列。为了增大给定面积的存储器容量且减小成本,已减小个别存储器单元的大小。然而,个别存储器单元大小的减小存在技术限制,因此2d存储器阵列的存储器密度也存在技术限制。作为响应,正开发三维(3d)存储器结构,例如3dnand架构半导体存储器装置,以进一步增大存储器密度且降低存储器成本。

这些3dnand装置常常包含存储单元串,其串联(例如,漏极到源极)耦合于接近源极的一或多个源极侧选择栅极(sgs)与接近位线的一或多个漏极侧选择栅极(sgd)之间。在实例中,sgs或sgd可包含一或多个场效应晶体管(fet)或金属氧化物半导体(mos)结构装置等。在一些实例中,所述串将竖直地延伸通过含有相应字线的多个竖直地间隔开的层次。半导体结构(例如,多晶硅结构)可邻近于存储单元串延伸以形成用于所述串的存储单元的通道。在竖直串的实例中,多晶硅结构可呈竖直地延伸的柱的形式。在一些实例中,串可“折叠”,且因此相对于u形柱而布置。在其它实例中,多个竖直结构可堆叠在彼此上以形成存储单元串的堆叠阵列。

存储器阵列或装置可组合在一起以形成存储器系统的存储容量,例如固态驱动器(ssd)、通用快闪存储(ufstm)装置、多媒体卡(mmc)固态存储装置、嵌入式mmc装置(emmctm)等。ssd尤其可用作计算机的主要存储装置,关于例如性能、大小、重量、坚固性、工作温度范围及功耗具有优于带有移动部分的传统硬盘驱动器的优点。举例来说,ssd可具有减少的寻道时间、时延或与磁盘驱动器相关联的其它延迟(例如,机电等)。ssd使用例如快闪存储器单元的非易失性存储器单元来避免内部电池电源需求,因此允许驱动器更为多功能且紧凑。

ssd可包含多个存储器装置,包含多个裸片或逻辑单元(例如,逻辑单元数字或lun),且可包含执行操作存储器装置或与外部系统介接所需的逻辑功能的一或多个处理器或其它控制器。这些ssd可包含一或多个快闪存储器裸片,其上包含多个存储器阵列及外围电路系统。快闪存储器阵列可包含组织成多个物理页的多个存储器单元块。在许多实例中,ssd也将包含dram或sram(或其它形式的存储器裸片或其它存储器结构)。ssd可结合存储器操作从主机接收命令,例如,用于在存储器装置与主机之间传送数据(例如,用户数据及相关联的完整性数据,例如错误数据及地址数据等)的读取或写入操作,或用于从存储器装置擦除数据的擦除操作。

在制造电子组件(例如,上述那些电子组件)时,存在针对可允许的每百万缺陷数(dppm)的制造标准。dppm要求越来越严格,即可允许的缺陷数趋于减少。满足这些日益严格的dppm要求将影响产品上市时间。由于应力及筛选过大,因此定义应力及筛选以抢先筛选这些容易出现缺陷的块也可能影响产量。此外,解决缺陷(例如,nand缺陷)发生的过程改进是一个缓慢的过程。

附图说明

不一定按比例绘制的图式借助于实例而非作为限制大体上说明本文件中论述的各种实施例。

图1说明根据各种实施例的包含存储器装置的环境的实例。

图2及3说明根据各种实施例的三维nand架构半导体存储器阵列的实例的示意图。

图4说明根据各种实施例的存储器模块的实例框图。

图5是根据各种实施例的说明可在其上实施一或多个实施例的机器的实例的框图。

图6是根据各种实施例的实例系统的框图,所述实例系统包括主机及可用于对存储器系统中容易出现缺陷的存储器块进行筛选的存储器系统。

图7是根据各种实施例的使用与存储器装置的存储器块上的存储器操作相关联的度量来筛选存储器装置的存储器块的实例方法的特征的流程图。

图8是根据各种实施例的使用与存储器装置的存储器块上的存储器操作相关联的一组度量来筛选存储器装置的存储器块的实例方法的特征的流程图。

具体实施方式

以下详细描述参考借助于图示展示本发明的各种实施例的附图。这些实施例通过足够的细节描述以使得所属领域的技术人员能够实践这些和其它实施例。可利用其它实施例,且可对这些实施例作出结构性、逻辑、机械和电性变化。各个实施例不必互相排斥,因为一些实施例可与一或多个其它实施例组合以形成新的实施例。因此,以下详细描述不应被视为具有限制性意义。

在各种实施例中,基于相对于存储器块的存储器操作的度量可用于抢先检测容易出现缺陷的存储器块,并且在这些存储器块发生故障且触发数据丢失事件之前处理这些存储器块。存储器操作可包含编程、擦除及读取操作。度量可为可测量事件,例如,执行指定的存储器操作所花费的时间。作为度量的此可测量事件的实例包含但不限于对存储器块的页面进行编程的时间(tprog)及擦除存储器块的时间(tbers)。用于抢先检测并处理容易出现缺陷的块的基于度量的方法可使用z分数跟踪方法。本文中,存储器块也可称为存储器块。

z分数定义为当前样本值与样本的平均值之间的差与样本的西格玛之比。z分数可写为

z分数=(当前样本值-平均值)/西格玛。

样本的平均值是一组样本值的平均值。在此基于度量的方法中,集合为样本的一组先前测量值,其中用于z分数的样本的当前值不用于计算平均值。样本的西格玛是样本值的标准偏差,其可通过希腊字母σ或拉丁字母s表示。标准偏差是用于量化一组数据值的变化或分散量的量度。低标准偏差指示数据点趋于接近集合的平均值(还称为预期值),而高标准偏差指示数据点在分布在更宽范围值内。类似于平均值,在基于度量的方法中,西格玛基于样本的先前测量值,其中用于z分数的样本的当前值不用于计算西格玛。在基于度量的方法中,样本是一种度量。举例来说,tprog是作为可为其产生z分数的样本的度量。tbers是作为可为其产生z分数的样本的另一度量。

在各种实施例中,系统可跟踪存储器装置的多个度量。在实例中,系统可跟踪两个不同度量,但是系统不限于两个不同度量。可使用的两个度量为tprog及tbers。这些度量的平均值及西格玛值对于每个度量都是独立的。tbers可按测量时间的分布分配,以根据块类型(例如,slc或tlc)擦除块。tprog可按测量时间的分布分配,以根据块类型(例如slc或tlc)、页面类型、子块、存取线(wl)组等对存储器块中的页面进行编程。

关于跟踪度量,对于每个度量,系统可跟踪先前平均值及先前西格玛。这些先前统计用于产生用于度量的对应当前值的z分数。除了产生z分数之外,度量的当前值还可用于产生当前平均值及当前西格玛以更新度量的平均值及西格玛的统计数据。在度量的下一测量中,当前平均值及当前西格玛变成先前平均值及先前西格玛以产生用于下一测量的z分数。对于每x数目个编程及擦除(pe)循环,可将当前值复制为先前值,之后将当前值重置为正测量的值。可通过分析收集到的数据在系统中设定x数目个pe循环,并且系统可设定要收集的样本大小的标准以计算每个相应度量的平均值及西格玛。所有z分数计算基于相对于当前所测量值的先前平均值及西格玛值。

在时间零或系统操作开始时,系统可使用来源于存储器装置制造商(例如,nand制造商)或系统制造商的先前平均值和先前西格玛值。系统制造商可为存储器系统制造商,例如ssd制造商。在时间零处每个度量的当前平均值及当前西格玛可视为零。用于抢先检测并处理容易出现缺陷的块的基于度量的方法产生z分数,其可将用于度量的z分数与用于度量的z分数的阈值相比较。用于度量的z-score_threshold可设定成时间零处的置信度极限。举例来说,z-score_threshold可设定成三个西格玛。可使用z-score_threshold的其它值。

不同z-score_threshold可用于每个不同度量。对于tprog度量,如果tprog的z分数>tprog的z-score_threshold(z-score_threshold_tprog),则可对为其产生tprog的z分数的页面进行读取,包含确定故障位计数。可将故障位计数与用于可校正错误校正码错误的阈值(cecc_threshold)相比较:

如果故障位计数>cecc_threshold,则来自此块的写入的有效数据

可重新定位到另一块且所述块可被引退。另外,考虑到比较结果,可改变z-score_threshold_tprog。

如果故障位计数<cecc_threshold,则用于tprog的当前值可

被添加到tprog的先前值以计算tprog的新平均值和新西格玛。另外,考虑到比较结果,可改变z-score_threshold_tprog。

如果tprog的z分数<z-score_threshold_tprog,则块的编程可继续。

对于tbers度量,如果tbers的z分数>tbers的z-score_threshold(z-score_threshold_tbers),则独立于tprog,可在关闭块之后执行块扫描,包含确定正读取的存储块的每个页面上的故障位计数。可将故障位计数与cecc_threshold相比较:

如果任何页面上的故障位计数>cecc_threshold,则来自此块的有效数据

可重新定位到另一块且所述块可被引退。另外,考虑到比较结果,可改变z-score_threshold_tbers。

如果故障位计数<cecc_threshold,则用于tbers的当前值可

被添加到tbers的先前值以计算tbers的新平均值和新西格玛。另外,考虑到比较,可改变z-score_threshold_tbers。

对于给定分配,样本(度量)的z分数可用于识别给定所测量值(作为分布中的点)是否为分布中的样本的离群值。如果|tprog的z分数|>z-score_threshold_tprog,则可标记对应于tprog的页面以用于后续读取。如果后续页面读取通过,则可将当前tprog值添加到先前平均值及西格玛计算以产生tprog的当前平均值及西格玛计算。如果|tbers的z分数|>z-score_threshold_tbers,则可标记对应于tbers的块以用于后续读取。如果后续块读取通过,则可将当前tbers值添加到先前平均值及西格玛计算以产生tbers的当前平均值及西格玛计算。每个度量的最新计算出的平均值及西格玛用于相应度量的未来z分数触发。如果度量的太多值超过度量的特定z-score_threshold,则可更新度量的z分数值。可在跟踪度量的系统中动态地设定太多值的级别。

例如移动电子装置(例如,智能电话、平板计算机等)、用于汽车应用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全或舒适系统等)及因特网连接的电器设备或装置(例如,物联网(iot)装置等)的电子装置尤其取决于电子装置的类型、使用环境、性能期望等而具有变化的存储需求。

电子装置可分解为若干主要组件:处理器(例如,中央处理单元(cpu)或其它主处理器);存储器(例如,一或多个易失性或非易失性随机存取存储器(ram)存储器装置,例如动态ram(dram)、移动或低功率双数据速率同步dram(ddrsdram)等);及存储装置(例如,非易失性存储器(nvm)装置,例如快闪存储器、只读存储器(rom)、ssd、mmc,或其它存储卡结构或组合件等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(gpu)、电源管理电路、基带处理器或者一或多个收发器电路等。

图1说明包含经配置以在通信接口上通信的主机装置105及存储器装置110的环境100的实例。主机装置105或存储器装置110可包含在多种产品150中,例如,物联网(iot)装置(例如,电冰箱或其它电器设备、传感器、电机或致动器、移动通信装置、汽车、无人机等),以支持产品150的处理、通信或控制。

存储器装置110包含存储器控制器115及存储器阵列120,所述存储器阵列包含例如多个个别存储器裸片(例如,三维(3d)nand裸片的堆叠)。在3d架构半导体存储器技术中,堆叠竖直结构,从而增加层数、物理页且相应地增加存储器装置(例如,存储装置)的密度。在实例中,存储器装置110可为主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可为与主机装置105的一或多个其它组件堆叠或以其它方式包含主机装置105的一或多个其它组件的集成电路(例如,芯片上系统(soc)等)的一部分。

可使用一或多个通信接口在存储器装置110与主机装置105的一或多个其它组件之间传送数据,例如串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、通用快闪存储器(ufs)接口、emmctm接口,或一或多个其它连接器或接口。主机装置105可包含主机系统、电子装置、处理器、存储卡读卡器,或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机装置105可为具有参考图5的机器500所论述的组件的某一部分或全部的机器。

存储器控制器115可从主机装置105接收指令,并且可与存储器阵列120通信,以便将数据传送到存储器阵列120的存储器单元、平面、子块、块或页中的一或多者(例如,写入或擦除)或从存储器阵列120的存储器单元、平面、子块、块或页中的一或多者传送数据(例如,读取)。存储器控制器115尤其可包含电路系统或固件,包含一或多个组件或集成电路。举例来说,存储器控制器115可包含一或多个存储器控制单元、电路或组件,其经配置以控制跨越存储器阵列120的存取且提供主机装置105与存储器装置110之间的转换层。存储器控制器115可包含一或多个输入/输出(i/o)电路、线或接口以将数据传送到存储器阵列120或从存储器阵列120传送数据。存储器控制器115可包含存储器管理器125及阵列控制器135。

存储器管理器125可尤其包含电路系统或固件,例如与各种存储器管理功能相关联的多个组件或集成电路。出于当前描述的目的,将在nand存储器的上下文中描述实例存储器操作及管理功能。本领域的技术人员将认识到,其它形式的非易失性存储器可具有类似的存储器操作或管理功能。此类nand管理功能包含耗损均衡(例如,垃圾收集或回收)、错误检测或校正、块引退或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收到的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或者产生用于阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。

存储器管理器125可包含一组管理表130,所述管理表经配置以维持与存储器装置110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器115的存储器阵列或一或多个存储器单元相关联的各种信息)。举例来说,管理表130可包含关于耦合到存储器控制器115的一或多个存储器单元块的块年龄、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对错误计数中的一或多个检测到的错误数目高于阈值,则位错误可称为不可校正位错误。管理表130尤其可维持可校正或不可校正位错误的计数。

阵列控制器135尤其可包含经配置以控制存储器操作的电路系统或组件,所述存储器操作与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器单元、从所述一或多个存储器单元读取数据或者擦除所述一或多个存储器单元相关联。所述存储器操作可基于例如从主机装置105接收,或在内部由存储器管理器125产生(例如,与耗损均衡、错误检测或校正等结合)的主机命令。

阵列控制器135可包含错误校正码(ecc)组件140,所述ecc组件尤其可包含ecc引擎,或经配置以检测或校正错误的其它电路系统,所述错误与向耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据或从中读取数据相关联。存储器控制器115可经配置以有效地检测与各种操作或数据存储相关联的错误出现(例如,位错误、操作错误等)并从所述错误出现中恢复,同时保持在主机装置105与存储器装置110之间传送的数据的完整性,或保持所存储数据的完整性(例如,使用冗余raid存储等),并可移除(例如,引退)发生故障的存储器资源(例如,存储器单元、存储器阵列、页、块等)以防止未来错误。

存储器阵列120可包含布置于例如多个装置、平面、子块、块或页中的若干存储器单元。作为一个实例,48gbtlcnand存储器装置可包含每页18,592字节(b)的数据(16,384 2208字节)、每块1536页、每平面548个块,及每装置四个或更多个平面。作为另一实例,32gbmlc存储器装置(每单元存储两个数据位(即,四个可编程状态))可包含每页18,592字节(b)的数据(16,384 2208字节)、每块1024页、每平面548个块,及每装置4个平面,但与对应tlc存储器装置相比,所需写入时间减半,且编程/擦除(p/e)循环增倍。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其部分可在slc模式中或在所需mlc模式(例如,tlc、qlc等)中选择性操作。

在操作中,数据通常以页写入到nand存储器装置110或从其读取,且以块擦除。然而,可视需要对存储器单元的更大或更小群组执行一或多个存储器操作(例如,读取、写入、擦除等)。nand存储器装置110的数据传送大小通常被称为页;然而主机的数据传送大小通常被称为扇区。

虽然数据页可包含若干字节的用户数据(例如,包含若干数据扇区的数据有效负载)及其对应的元数据,但页面的大小经常仅指代用于存储用户数据的字节的数目。作为实例,具有4kb的页大小的数据页可包含4kb的用户数据(例如,假定512b的扇区大小的8个扇区)以及对应于用户数据的多个字节(例如32b、54b、224b等)的元数据,例如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。

不同类型的存储器单元或存储器阵列120可提供不同的页大小,或可需要与其相关联的不同量的元数据。举例来说,不同存储器装置类型可具有不同误码率,这可能引起需要不同量的元数据来确保数据页的完整性(例如,相比于具有较低误码率的存储器装置,具有较高误码率的存储器装置可能需要更多字节的错误校正码数据)。作为实例,多层级单元(mlc)nand快闪装置可具有比对应单层级单元(slc)nand快闪装置更高的误码率。因此,mlc装置可需要比对应slc装置更多的用于错误数据的元数据字节。

图2说明包含多个存储器单元串(例如,第一a0存储器串205a0到第三a0存储器串207a0,第一an存储器串205an到第三an存储器串207an,第一b0存储器串205b0到第三b0存储器串207b0,第一bn存储器串205bn到第三bn存储器串207bn等)的3dnand架构半导体存储器阵列200的实例示意图,所述存储器单元串组织成块(例如,块a201a、块b201b等)及子块(例如,子块a0201a0、子块an201an、子块b0201b0、子块bn201bn等)。存储器阵列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等),以及电荷存储晶体管(例如,选择栅极、数据线等)上方或下方的半导体材料的一或多个额外层。作为实例,48gbtlcnand存储器装置可包含每页18,592字节(b)的数据(16,384 2208字节)、每块1536页、每平面548个块,及每装置四个或更多个平面。

存储器阵列200中的每个存储器单元包含耦合到(例如,以电气方式或另外以操作方式连接到)存取线(例如,字线(wl)wl00210a到wl70217a、wl01210b到wl71217b等)的控制栅极(cg),所述存取线按需要跨越特定层次或层次的一部分共同地耦合控制栅极(cg)。可使用相应存取线来存取或控制3d存储器阵列200中的特定层次且因此存取或控制串中的特定存储器单元。可使用各种选择线来存取选择栅极的群组。举例来说,可使用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说明nand架构半导体存储器阵列300的一部分的实例示意图,所述nand架构半导体存储器阵列包含布置于串(例如,第一串305到第三串307)和层次(例如,说明为相应字线(wl)wl0310到wl7317、漏极侧选择栅极(sgd)线325、源极侧选择栅极(sgs)线330等)的二维阵列中的多个存储器单元302及感测放大器或装置360。举例来说,存储器阵列300可说明例如图2中所说明的3dnand架构半导体存储器装置的存储器单元的一个物理页的部分的实例示意图。

每一存储器单元串使用相应源极侧选择栅极(sgs)(例如,第一sgs331到第三sgs333)耦合到源极线(src)335,且使用相应漏极侧选择栅极(sgd)(例如,第一sgd326到第三sgd328)耦合到相应数据线(例如,第一位线(bl)bl0320到第三位线(bl)bl2322)。尽管在图3的实例中说明为具有8个层次(例如,使用字线(wl)wl0310到wl7317)及三个数据线(bl0326到bl2328),但其它实例按需要可包含具有更多或更少层次或数据线的存储器单元串。

在例如实例存储器阵列300的nand架构半导体存储器阵列中,可通过感测与含有选定存储器单元的特定数据线相关联的电流或电压变化来存取选定存储器单元302的状态。可使用一或多个驱动器(例如,由控制电路、一或多个处理器、数字逻辑等)存取存储器阵列300。在实例中,一或多个驱动器可通过取决于将对特定存储器单元或存储器单元组执行的所需操作的类型而驱动特定电位到一或多个数据线(例如,位线bl0到bl2)、存取线(例如,字线wl0到wl7)或选择栅极来激活特定存储器单元或存储器单元组。

为了将数据编程或写入到存储器单元,可将编程电压(vpgm)(例如,一或多个编程脉冲等)施加到选定字线(例如,wl4),且因此施加到耦合到选定字线的每一存储器单元的控制栅极(例如,耦合到wl4的存储器单元的第一控制栅极(cg)341到第三控制栅极(cg)343)。举例来说,编程脉冲可在15v处或附近开始,并且在某些实例中,可在每个编程脉冲施加期间在量值上增加。在将编程电压施加于选定字线时,可将例如接地电势(例如,vss)等电势施加到以编程为目标的存储器单元的数据线(例如,位线)及衬底(且因此源极与漏极之间的通道),从而导致从通道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或佛勒-诺德海姆(fn)隧穿等)。

相比之下,可将传递电压(vpass)施加到具有并不以编程为目标的存储器单元的一或多个字线,或可将禁止电压(例如,vcc)施加到具有并不以编程为目标的存储器单元的数据线(例如,位线),以例如禁止电荷从通道转移到此类非目标存储器单元的浮动栅极。传递电压可取决于例如施加的传递电压与以编程为目标的字线的接近度而可变。禁止电压可包含供电电压(vcc),例如相对于接地电势(例如,vss)来自外部源或电源(例如,电池、ac到dc转换器等)的电压。

作为实例,如果将编程电压(例如,15v或更高)施加到特定字线,例如wl4,则可将10v的传递电压施加到一或多个其它字线,例如wl3、wl5等,以阻止非目标存储器单元的编程,或保留存储在并不以编程为目标的此类存储器单元上的值。随着所施加编程电压与非目标存储器单元之间的距离增大,制止对非目标存储器单元进行编程所需的传递电压可减小。举例来说,在将15v的编程电压施加于wl4的情况下,可将10v的传递电压施加到wl3及wl5,可将8v的传递电压施加到wl2及wl6,可将7v的传递电压施加到wl1及wl7等。在其它实例中,传递电压或字线的数目等可更高或更低,或更多或更少。

耦合到数据线中的一或多个(例如,第一、第二或第三位线(bl0-bl2)320-322)的感测放大器或装置360可通过感测特定数据线上的电压或电流来检测相应数据线中的每个存储器单元的状态。

在一或多个编程脉冲(例如,vpgm)的施加之间,可执行验证操作以确定选定存储器单元是否已达到其预期编程状态。如果选定存储器单元已达到其既定编程状态,则可禁止其进一步编程。如果选定存储器单元尚未达到其既定编程状态,则可施加额外编程脉冲。如果选定存储器单元在特定数目的编程脉冲(例如,最大数目)之后尚未达到其预期编程状态,那么可以将选定存储器单元或与此类选定存储器单元相关联的串、块或页标记为有缺陷的。

为了擦除存储器单元或存储器单元群组(例如,擦除通常以块或子块执行),可(例如,使用一或多个位线、选择栅极等)将擦除电压(vers)(例如,通常vpgm)施加到以擦除为目标的存储器单元的衬底(及因此源极与漏极之间的通道),同时目标存储器单元的字线保持在例如接地电势(例如,vss)的电势处,从而导致从目标存储器单元的浮动栅极到通道的电荷转移(例如,直接注入或佛勒-诺德海姆(fn)隧穿等)。

图4说明存储器装置400的实例框图,其包含具有多个存储器单元404的存储器阵列402,及一或多个电路或组件以提供与存储器阵列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上接收到的一或多个信号或指令控制存储器装置400的存储器操作,所述一或多个信号或指令包含例如指示所需操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或一或多个地址线416上接收到的地址信号(a0-ax)。在存储器装置400外部的一或多个装置可控制控制线432上的控制信号或地址线416上的地址信号的值。在存储器装置400外部的装置的实例可包含但不限于主机、存储器控制器、处理器,或图4中未说明的一或多个电路或组件。

存储器装置400可使用存取线406及第一数据线410来对存储器单元404中的一或多个传送数据(例如,写入或擦除)或从存储器单元404中的一或多个传送数据(例如,读取)。行解码器412及列解码器414可从地址线416接收且解码地址信号(a0-ax),可确定将存取存储器单元404中的哪些,且可提供信号到例如上文描述的存取线406(例如,多个字线(wl0-wlm)中的一或多个)或第一数据线410(例如,多个位线(bl0-bln)中的一或多个)中的一或多个。

存储器装置400可包含感测电路系统,例如感测放大器420,其经配置以使用第一数据线410确定存储器单元404上的数据的值(例如,读取),或确定将写入到存储器单元404的数据的值。举例来说,在存储器单元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可存储从在存储器装置400外部的一或多个装置接收的数据,然后将所述数据编程到存储器阵列402的相关部分中,或者可存储从存储器阵列402读取的数据,然后将所述数据传输到在存储器装置400外部的一或多个装置。

列解码器414可将地址信号(a0-ax)接收且解码为一或多个列选择信号(csel1-cseln)。选择器424(例如,选择电路)可接收列选择信号(csel1-cseln)且选择页缓冲器422中表示将从存储器单元404读取或将编程到存储器单元404中的数据值的数据。选定数据可使用第二数据线418在页缓冲器422与i/o电路426之间传送。

存储器控制单元430可从外部源或电源(例如,内部或外部电池、ac/dc转换器等)接收正及负供应信号,例如电源电压(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,其中的一些或全部可通过互连件(例如,总线)530彼此通信。机器500可进一步包含显示单元510、字母数字输入装置512(例如,键盘)及用户接口(ui)导航装置514(例如,鼠标)。在实例中,显示单元510、输入装置512及ui导航装置514可为触摸屏显示器。机器500可另外包含存储装置(例如,驱动单元)521、信号产生装置518(例如,扬声器)、网络接口装置520及一或多个传感器516,例如,全球定位系统(gps)传感器、指南针、加速计或其它传感器。机器500可包含输出控制器528,例如,串行(例如,通用串行总线(usb))、并行或其它有线或无线(例如,红外(ir)、近场通信(nfc)等)连接以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。

存储装置521可包含其上存储体现本文中所描述的技术或功能中的任何一或多个或由本文中所描述的技术或功能中的任何一或多个利用的一或多组数据结构或指令524(例如,软件)的机器可读媒体522。指令524还可在其由机器500执行期间完全或至少部分地驻存在主存储器504内、静态存储器506内或硬件处理器502内。在实例中,硬件处理器502、主存储器504、静态存储器506或存储装置521中的一或任何组合可构成机器可读媒体522。

虽然机器可读媒体522说明为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令524的单个媒体或多个媒体(例如,集中式或分布式数据库,或相关联高速缓存及服务器)。

术语“机器可读媒体”可包含能够存储、编码或载送用于由机器500执行且使机器500执行本公开的技术中的任何一或多个的指令,或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可包含固态存储器及光学及磁性媒体。在实例中,集中式机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变(例如,静止)质量。因此,集中式机器可读媒体为非暂时性传播信号。集中式机器可读媒体的具体实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))及快闪存储器装置;磁盘,例如内部硬盘及可移动盘;磁光碟;及cd-rom及dvd-rom盘。

存储在存储装置521上的指令524(例如,软件、程序、操作系统(os)等)或其它数据可由存储器504存取以供处理器502使用。存储器504(例如,dram)通常为快速但易失性的,且因此是与适于长期存储(包含在“关断”条件中)的存储装置521(例如,ssd)不同类型的存储装置。供用户或机器500使用的指令524或数据通常加载在存储器504中,以供处理器502使用。当存储器504已满时,存储装置521的虚拟空间可经分配以补充存储器504;然而,由于存储装置521装置通常比存储器504慢且写入速度通常比读取速度慢至少两倍,因此(相比于存储器504,例如dram),归因于存储装置时延,虚拟存储器的使用可能极大地减弱用户体验。此外,用于虚拟存储器的存储装置521的使用可极大地减少存储装置521的可用使用寿命。

与虚拟存储器相比,虚拟存储器压缩(例如,内核特征“zram”)使用存储器的部分作为经压缩块存储以避免对存储装置521的分页。分页在经压缩块中发生直到必须将这些数据写入到存储装置521为止。虚拟存储器压缩增加存储器504的可用大小,同时减少存储装置521上的磨损。

针对移动电子装置或移动存储装置而优化的存储装置传统上包含mmc固态存储装置(例如,微安全数字(microsdtm)卡等)。mmc装置包含与主机装置的多个并行接口(例如,8位并行接口),且经常是从主机装置可移除及分离的组件。相反,emmctm装置附接到电路板且视为主机装置的组件,其读取速度比得上基于串行atatm(串行高级技术(at)附件,或sata)的ssd装置。然而,对移动装置性能的需求继续增加,以便完全实现虚拟或扩增现实装置,利用提高的网络速度等。响应于此需求,存储装置已从并行通信接口转换到串行通信接口。包含控制器及固件的通用快闪存储(ufs)装置使用具有专用读取/写入路径的低电压差分信令(lvds)串行接口与主机装置通信,进一步推进了更高的读取/写入速度。

指令524可进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传送协议(http)等)经由网络接口装置520使用传输媒体在通信网络526上传输或接收。实例通信网络可包含局域网(lan)、广域网(wan)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(pots)网络及无线数据网络(例如,称为的电气电子工程师学会(ieee)802.11系列标准、称为的ieee802.16系列标准)、ieee802.15.4系列标准、对等(p2p)网络等等。在实例中,网络接口装置520可包含一或多个物理插口(例如,以太网、共轴或手机插口)或一或多个天线以连接到通信网络526。在实例中,网络接口装置520可包含多个天线以使用单收多发(simo)、多入多出(mimo)或多入单出(miso)技术中的至少一个无线地通信。

图6是系统600的框图,所述系统包括主机605及可用于对存储器系统610中容易出现缺陷的存储器块进行筛选的存储器系统610。主机605通过接口620耦合到存储器系统610。存储器系统610可包含通过总线627耦合到存储器装置612-1、612-2、612-3、612-4、612-5和612-6的控制器615。尽管图6中展示六个存储器装置,但存储器系统可用少于或多于六个存储器装置来实施,也就是说,存储器系统610可包括一或多个存储器装置。控制器615可包含一或多个处理器或构造为一或多个处理器。存储器系统600可包括固件625,所述固件具有可由控制器615执行以至少管理存储器装置612-1、612-2、612-3、612-4、612-5及612-6的代码。固件625可驻存在耦合到控制器615的存储器系统610的存储装置中。固件625可使用总线627或存储器系统610上的某一其它接口耦合到控制器615。或者,固件625可驻存在控制器6105中或可分布在具有固件组件的存储器系统610中,所述固件组件例如但不限于代码,包含控制器615中的一或多个组件。固件625可包含具有可由控制器执行以在存储器装置612-1、612-2、612-3、612-4、612-5及612-6上操作的指令的代码。指令可包含执行算法以使用针对在存储器系统610的存储器装置中的存储器块上的存储器操作的度量筛选容易出现缺陷的块的指令,如本文所教示。

系统600及其组件可以多种不同布置构造。举例来说,系统600可布置有所述组件类型的变型,所述组件包括主机605、接口620、存储器系统610、存储器装置612-1、612-2、612-3、612-4、612-5及612-6、控制器615及总线629。主机605可包括可具有不同类型的一或多个处理器。接口620可布置为但不限于外围组件互连高速(pcie)接口。存储器系统610可为但不限于ssd。存储器装置612-1、612-2、612-3、612-4、612-5及612-6可为nand存储器装置。控制器615可包含或构造为与存储器装置612-1、612-2、612-3、612-4、612-5及612-6兼容的一或多种类型的处理器。总线627可为用于作为nand快闪存储器装置的存储器装置612-1、612-2、612-3、612-4、612-5及612-6的开放式nand快闪接口(onfi)总线。

在各种实施例中,固件625可具有可由控制器615执行以在存储器装置612-1、612-2、612-3、612-4、612-5及612-6中的存储器装置上操作的指令,所述存储器装置可扩展到存储器装置的组合,其中指令可包含用于跟踪与存储器装置的存储器块上的存储器操作相关联的度量的操作。操作可包含用于产生度量的z分数并且将z分数与度量的z分数阈值相比较的操作。基于比较,操作可包含用于控制存储器块的引退的操作。引退的控制可包含继续操作存储器以将用户数据存储在存储器块中,从所有使用中引退存储器块,或引退存储器块以存储直接可由用户存取的用户数据并且分配存储器块以用于内部存储器装置操作,其还可称为外壳清洁操作。外壳清洁操作可包含在保护用户数据的垃圾收集中使用。引退的控制可包含将存储器块的使用限制为比用户数据的活动存储更不重要的状态,其中较不重要的状态可包含具有系统存储器块,其中存储器块上没有大量的编程或再循环操作或其中存在存储器块要存储的数据的多个副本。

度量可为在存储器块上执行存储器操作的时间,并且跟踪度量可通过测量执行存储器操作的时间来实现。此类测量可由控制器615结合固件625进行,因为控制器615直接涉及响应于来自主机605的命令而由存储器装置执行存储器操作,并且涉及确认完成对主机605的存储器操作。在执行存储器操作的时间为度量的情况下,控制器615可执行固件625中的指令以产生测量时间的z分数,并且将执行存储器操作的时间的z分数的阈值作为度量的z分数阈值。

实现为执行存储器操作的时间的度量可为对存储器块上的页面进行编程的时间,并且z分数的阈值可为对存储器块的页面进行编程的时间的z分数的阈值。在度量为对存储器块进行编程的时间的情况下,控制块的引退的操作可包含响应于z分数大于对存储器块的页面进行编程的时间的z分数的阈值而读取页面,及确定进行读取时的故障位计数的操作。读取可仅涉及对其编程的监视导致确定其关联的z分数超过z分数阈值的页面。如果故障位计数大于可校正错误校正码错误的阈值,则可将写入块中的有效数据重新定位到另一存储器块且可引退考虑中的块。此引退可为对存储器块的所有使用的引退,或从用作用户数据的存储装置的引退并且可在存储器装置的其它操作中使用。

在度量为对存储器块上的页面进行编程的时间的情况下,控制块的引退的操作可包含响应于z分数大于对存储器块的页面进行编程的时间的z分数的阈值而读取页面,及确定进行读取时的故障位计数的操作。读取可仅涉及对其编程的监视导致确定其关联的z分数超过z分数阈值的页面。如果故障位计数小于可校正错误校正码错误的阈值,则操作用户数据的存储器块可继续并且可更新使用z分数作为用于筛选存储器块的参数的统计数据。更新统计数据可包含使用对页面进行编程的当前测量时间及对页面进行编程的先前时间计算度量的平均值及西格玛值的操作,其中先前时间与产生的z分数相关联以评估对存储器块进行编程的当前测量时间。在此计算中,对存储器块进行编程的当前测量时间是对从先前测量收集的存储器块进行编程的时间分布中的另一数据点。

实现为执行存储器操作的时间的度量可为擦除存储器块的时间,并且z分数的阈值可为擦除存储器块的时间的z分数的阈值。在度量为擦除存储器块的时间的情况下,控制块的引退的操作可包含响应于z分数大于擦除存储器块的时间的z分数的阈值而在关闭块之后执行块扫描,及从块扫描确定存储器块的每个页面的故障位计数的操作。响应于确定存储器块的页面的故障计数中的至少一个故障计数大于可校正错误校正码错误的阈值,可将块的有效数据重新定位到另一存储器块,并且可引退在检查中的存储器块。此引退可为对存储器块的所有使用的引退,或从用作用户数据的存储装置的引退并且可在存储器装置的其它操作中使用。

在度量为擦除存储器块的时间的情况下,控制块的引退的操作可包含响应于z分数大于擦除存储器块的时间的z分数的阈值而在关闭块之后执行块扫描,及从块扫描确定存储器块的每个页面的故障位计数的操作。响应于确定每个页面的故障位计数小于可校正错误校正码错误的阈值,操作用户数据的存储器块可继续且可更新将z分数用作用于筛选存储器块的参数的统计数据。更新统计数据可包含使用擦除块的当前测量时间及擦除块的先前时间计算度量的平均值及西格玛值的操作,其中先前时间与产生的z分数相关联以评估擦除存储器块的当前测量时间。在此计算中,对存储器块进行编程的当前测量时间是擦除从先前测量收集的存储器块的时间分布中的另一数据点。

在度量为对存储器块的页面进行编程的时间的情况下,控制块的引退的操作可包含响应于对页面进行编程的当前测量时间的z分数小于对存储器块的页面进行编程的时间的z分数的阈值而继续对块进行编程的操作。在度量为擦除存储器块的时间的情况下,控制块的引退的操作可包含响应于擦除块的当前测量时间的z分数小于擦除存储器块的时间的z分数的阈值而继续操作块的操作。

固件625可包含跟踪与存储器装置(例如,存储器装置612-1…612-6)上的存储器操作相关联的多个度量的指令。多个度量可包含对存储器块的页面进行编程的时间及擦除存储器块的时间。可跟踪度量,包含度量的组合。

图7是使用与存储器装置的存储器块上的存储器操作相关联的度量来筛选存储器装置的存储器块的实例方法700的实施例的特征的流程图。方法700可经由固件中的指令执行且由存储器系统的控制器执行。控制器可为或可包含一或多个处理器。控制器可经布置为用于存储器装置或用于存储器系统中的存储器装置及其它存储器装置的存储器控制器。可相对于与图1到6中的任一个相关联的系统的存储器装置的存储器块进行方法700或类似于方法700的方法。

在710处,跟踪度量,其中度量与一或多个存储器装置的存储器块上的存储器操作相关联,其中每个存储器装置包含一或多个存储器阵列,其中每个存储器阵列包含多个存储器单元块。跟踪度量可包含测量在存储器块上执行存储器操作的时间。在度量为测量时间的情况下,度量的z分数可为测量时间的z分数,并且度量的z分数阈值可为执行存储器操作的时间的z分数的阈值。执行存储器操作的时间可包含对存储器块的页面进行编程的时间及擦除存储器块的时间。可实施其它度量,其可为度量的组合。

在720处,产生度量的z分数。在730处,z分数与度量的z分数阈值相比较。在740处,基于比较控制存储器块的引退。

方法700的变型或类似于方法700的方法可包含多个不同实施例,所述不同实施例可取决于此类方法的应用及/或实施此类方法的系统的架构而组合。对于度量为对存储器块的页面进行编程的时间,此类方法可包含通过响应于z分数大于对存储器块的页面进行编程的时间的z分数的阈值而读取存储器块中的页面,及确定进行读取时的故障位计数来控制存储器块的引退。响应于故障位计数大于可校正错误校正码错误的阈值,从存储器块重新定位存储器块的有效数据且引退存储器块。

对于度量为对存储器块的页面进行编程的时间,方法700的变型或类似于方法700的方法可包含控制存储器块的引退以包含响应于z分数大于对存储器块的页面进行编程的时间的z分数的阈值而读取存储器块中的页面,及确定在进行读取时的故障位计数。响应于故障位计数小于可校正错误校正码错误的阈值,此类方法可包含使用对页面进行编程的测量时间及对页面进行编程的先前时间计算平均值及西格玛值。先前时间与对页面进行编程的测量时间的z分数相关联。

对于度量为擦除存储器块的时间,方法700的变型或类似于方法700的方法可包含控制引退以包含响应于z分数大于擦除存储器块的时间的z分数的阈值而在关闭存储器块之后执行块扫描,及从块扫描确定存储器块的每个页面的故障位计数。响应于确定至少一个故障位计数大于可校正错误校正码错误的阈值,可从存储器块重新定位存储器块的有效数据且可引退存储器块。引退存储器块可包含从存储用户数据的存储器块中去除存储器块。

对于度量为擦除存储器块的时间,方法700的变型或类似于方法700的方法可包含控制引退,以包含响应于z分数大于擦除存储器块的时间的z分数的阈值而在关闭存储器块之后执行块扫描,及从块扫描确定存储器块的每个页面的故障位计数。响应于每个页面的故障位计数小于可校正错误校正码错误的阈值,可使用擦除块的测量时间及擦除块的先前时间计算平均值及西格玛值。先前时间与擦除存储器块的测量时间的z分数相关联。

图8是使用与存储器装置的存储器块上的存储器操作相关联的一组度量来筛选存储器装置的存储器块的实例方法800的实施例的特征的流程图。方法800可经由固件中的指令执行且由存储器系统的控制器执行。控制器可为或可包含一或多个处理器。控制器可经布置为用于存储器装置或用于存储器系统中的存储器装置及其它存储器装置的存储器控制器。可相对于与图1到6中的任一个相关联的系统的存储器装置的存储器块进行方法800或类似于方法800的方法。

在810处,跟踪一组度量中的每个度量的平均值及西格玛,其中每个度量与一或多个存储器装置的存储器块上的存储器操作相关联。每个存储器装置包含一或多个存储器阵列,其中每个阵列包含多个存储器单元块。所述一组度量可包含擦除存储器装置的存储器块的时间及对存储器块的页面进行编程的时间。可使用其它度量或度量的组合。所述一组度量可基于存储器块的块类型。

在820处,对于所述一组度量中的每个度量,测量度量的值,其中值是相对于度量的所跟踪平均值及西格玛的当前值。集合中的每个度量的平均值及西格玛值可独立于集合中的其它度量。在830处,对于所述一组度量中的每个度量,使用相应度量的值、所跟踪平均值及所跟踪西格玛计算z分数。在840处,对于所述一组度量中的每个度量,z分数与度量的z分数阈值相比较。在850处,对于所述一组度量中的每个度量,基于比较的结果控制读取操作。在860处,基于与所述集合的度量中的至少一个相关联的读取操作控制存储器块的引退。

方法800的变型或类似于方法800的方法可包含多个不同实施例,所述不同实施例可取决于此类方法的应用及/或实施此类方法的系统的架构而组合。此类方法可包含基于读取操作除了使用产生所跟踪平均值及所跟踪西格玛的值之外的值计算与集合的度量中的至少一个相关联的新平均值及新西格玛。

固件可包括例如微码的指令,所述指令在由控制器或处理器执行时可致使执行:包括与耦合到主机的存储器系统的存储器装置的多个块擦除操作相关联的操作的操作,所述存储器系统与图1到6中的任一个相关联;方法700及800;类似于方法700及800的方法;其它方法;及如本文中教示的相关联装置结构及数据结构。

在各种实例中,本文所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储在物理装置上的物理电路系统或固件。如本文中所使用,“处理器”意指任何类型的计算电路,例如(但不限于)微处理器、微控制器、图形处理器、数字信号处理器(dsp),或任何其它类型的处理器或处理电路,包含处理器或多核心装置群组。

如本文中所使用,操作存储器单元包含从存储器单元读取、写入到存储器单元或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中称为“编程”,且可包含对存储器单元写入或从存储器单元擦除两者(例如,存储器单元可经编程为擦除状态)。

根据一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设定、调整、计算、改变、清除、传送、调适、导出、限定、利用、修改、施加等)一定数量的损耗循环或损耗状态(例如,记录损耗循环、在存储器装置的操作发生时对存储器装置的操作进行计数、跟踪其起始的存储器装置的操作、评估对应于损耗状态的存储器装置特征等)。

根据一或多个实施例,存储器存取装置可经配置以为存储器装置提供每一存储器操作的磨损循环信息。存储器装置控制电路系统(例如,控制逻辑)可经编程以补偿对应于磨损循环信息的存储器装置性能改变。存储器装置可接收磨损循环信息且响应于磨损循环信息而确定一或多个操作参数(例如,值、特征)。

本文所描述的方法实例可至少部分地由机器或计算机实施。一些实例可包含编码有指令的计算机可读媒体或机器可读媒体,所述指令可操作以配置电子装置以执行如在以上实例中描述的方法。此类方法的实施方案可包含代码,例如微码、汇编语言代码、高级语言代码等等。此代码可包含用于执行各种方法的计算机可读指令。所述代码可形成计算机程序产品的部分。此外,代码可例如在执行期间或在其它时间有形地存储在一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可移动磁盘、可移动光盘(例如,压缩光盘及数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(ram)、只读存储器(rom)、固态驱动器(ssd)、通用快闪存储(ufs)装置、嵌入式mmc(emmc)装置等。

以下是根据本文中的教示的系统及方法的实例实施例。

实例系统1可包括:控制器;一或多个存储器装置,每个存储器装置包含一或多个存储器阵列,每个存储器阵列包含多个存储器块,每个存储器块经布置为存储器单元块;及固件,其具有可由控制器执行以在一或多个存储器装置上操作的所存储指令,所述指令包含操作以:跟踪与一或多个存储器装置的存储器块上的存储器操作相关联的度量;产生度量的z分数;将z分数与度量的z分数阈值相比较;及基于比较控制存储器块的引退。

实例系统2可包含实例系统1的特征且可包含跟踪度量的操作,其为测量在存储器块上执行存储器操作的时间的操作,度量的z分数是测量时间的z分数,并且度量的z分数阈值是执行存储器操作的时间的z分数的阈值。

实例系统3可包含前述实例系统中的任一个的特征并且可包含执行存储器操作的时间,其为对存储器块的页面进行编程的时间,并且z分数的阈值是对存储器块的页面进行编程的时间的z分数的阈值。

实例系统4可包含前述实例系统中的任一个的特征并且可包含控制存储器块的引退的操作以包含操作以:响应于z分数大于对存储器块的页面进行编程的时间的z分数的阈值而读取页面;确定在进行读取时的故障位计数;及响应于故障位计数大于可校正错误校正码错误的阈值而重新定位写入存储器块中的有效数据并且引退存储器块。

实例系统5可包含前述实例系统中的任一个的特征并且可包含控制存储器块的引退的操作以包含操作以:响应于对页面进行编程的时间的z分数大于对存储器块的页面进行编程的时间的z分数的阈值而读取页面;确定进行读取时的故障位计数;及响应于故障位计数小于可校正错误校正码错误的阈值,使用对页面进行编程的测量时间及对页面进行编程的先前时间计算平均值及西格玛值,所述先前时间与z分数相关联。

实例系统6可包含前述实例系统中的任一个的特征并且可包含控制存储器块的引退的操作,以包含响应于z分数大于对存储器块的页面进行编程的时间的z分数的阈值而继续对存储器块进行编程的操作。

实例系统7可包含前述实例系统中的任一个的特征并且可包含执行存储器操作的时间,其为擦除存储器块的时间,并且z分数的阈值是擦除存储器块的时间的z分数的阈值。

实例系统8可包含前述实例系统中的任一个的特征并且可包含控制存储器块的引退的操作以包含操作以:响应于z分数大于擦除存储器块的时间的z分数的阈值而在关闭存储器块之后执行块扫描;从块扫描确定存储器块的每个页面的故障位计数;及响应于确定至少一个故障计数大于可校正错误校正码错误的阈值,重新定位存储器块的有效数据并且将存储器块作为用户数据存储块引退。

实例系统9可包含前述实例系统中的任一个的特征并且可包含控制存储器块的引退的操作以包含操作以:响应于z分数大于擦除存储器块的时间的z分数的阈值而在关闭存储器块之后执行块扫描;从块扫描确定存储器块的每个页面的故障位计数;及响应于每个页面的故障位计数小于可校正错误校正码错误的阈值,使用擦除存储器块的测量时间及擦除存储器块的先前时间计算平均值及西格玛值,所述先前时间与z分数相关联。

实例方法1可包括:跟踪与一或多个存储器装置的存储器块上的存储器操作相关联的度量,每个存储器装置包含一或多个存储器阵列,每个存储器阵列包含多个存储器块,每个存储器块经布置为存储器单元块;产生度量的z分数;将z分数与度量的z分数阈值相比较;及基于比较控制存储器块的引退。

实例方法2可包含实例方法1的特征且可包含跟踪度量以包含测量在存储器块上执行存储器操作的时间,度量的z分数是测量时间的z分数,并且度量的z分数阈值是执行存储器操作的时间的z分数的阈值。

实例方法3可包含前述实例方法中的任一个的特征并且可包含执行存储器操作的时间,以包含对存储器块的页面进行编程的时间或擦除存储器块的时间。

实例方法4可包含前述实例方法中的任一个的特征并且可包含控制引退以包含:响应于z分数大于对存储器块的页面进行编程的时间的z分数的阈值而读取存储器块中的页面;确定在进行读取时的故障位计数;及响应于故障位计数大于可校正错误校正码错误的阈值而重新定位存储器块的有效数据并且引退存储器块。

实例方法5可包含前述实例方法中的任一个的特征并且可包含控制引退以包含:响应于z分数大于对存储器块的页面进行编程的时间的z分数的阈值而读取存储器块中的页面;确定进行读取时的故障位计数;及响应于故障位计数小于可校正错误校正码错误的阈值,使用对页面进行编程的测量时间及对页面进行编程的先前时间计算平均值及西格玛值,所述先前时间与对页面进行编程的测量时间的z分数相关联。

实例方法6可包含前述实例方法中的任一个的特征并且可包含控制引退以包含:响应于z分数大于擦除存储器块的时间的z分数的阈值而在关闭存储器块之后执行块扫描;从块扫描确定存储器块的每个页面的故障位计数;及响应于确定至少一个故障计数大于可校正错误校正码错误的阈值而重新定位存储器块的有效数据并且将存储器块作为用户数据引退。

实例方法7可包含前述实例方法中的任一个的特征并且可包含控制引退以包含:响应于z分数大于擦除存储器块的时间的z分数的阈值而在关闭存储器块之后执行块扫描;从块扫描确定存储器块的每个页面的故障位计数;及响应于每一个的故障位计数小于可校正错误校正码错误的阈值,使用擦除块的测量时间及擦除块的先前时间计算平均值及西格玛值,所述先前时间与擦除存储器块的测量时间的z分数相关联。

实例方法8可包括:跟踪一组度量中的每个度量的平均值及西格玛,每个度量与一或多个存储器装置的存储器块上的存储器操作相关联,每个存储器装置包含一或多个存储器阵列,每个存储器阵列包含多个存储器块,每个存储器块经布置为存储器单元块;对于所述一组度量中的每个度量:测量度量的值,所述值是相对于度量的所跟踪平均值及西格玛的当前值;使用相应度量的值、所跟踪平均值及所跟踪西格玛计算z分数;将z分数与度量的z分数阈值相比较;及基于比较产生控制读取操作;及基于与所述集合的度量中的至少一个相关联的读取操作控制存储器块的引退。

实例方法9可包含实例方法8的特征并且可包含基于读取操作除了使用产生所跟踪平均值及所跟踪西格玛的值之外还使用所述值计算与所述集合的度量中的至少一个相关联的新平均值及新西格玛。

实例方法10可包含前述实例方法8及9中的任一个的特征,并且可包含独立于所述集合的其它度量的所述集合中的每个度量的平均值及西格玛值。

实例方法11可包含前述实例方法8至10中的任一个的特征并且可包含所述一组度量,以包含擦除存储器装置的存储器块的时间及对存储器块的页面进行编程的时间。

实例方法12可包含前述实例方法8至11中的任一个的特征并且可包含所述一组度量基于存储器块的块类型。

尽管本文中已说明且描述具体实施例,但本领域普通技术人员将了解,计算出实现相同目的的任何布置可取代所示出的具体实施例。各种实施例使用本文中所描述的实施例的排列及/或组合。应理解,以上描述意图是说明性而不是限制性的,且本文中所采用的措词或术语是出于描述的目的。另外,在前述具体实施方式中,可看到出于精简本公开的目的在单个实施例中将各种特征分组在一起。不应将本公开的方法解释为反映以下意图:所主张的实施例需要比每一权利要求中明确叙述的特征多的特征。因此,以下权利要求书特此并入到具体实施方式中,其中每一项权利要求独自作为单独实施例。

再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜