用以防止数据丢失的EOL性能节流的制作方法

文档序号:17600910发布日期:2019-05-07 20:17阅读:507来源:国知局
用以防止数据丢失的EOL性能节流的制作方法



背景技术:

存储器装置通常作为计算机或其它电子装置中的内部半导体集成电路提供。存在许多不同类型的存储器,包含易失性和非易失性存储器。

易失性存储器需要电力来维持其数据,并且包含随机存取存储器(ram)、动态随机存取存储器(dram)或同步动态随机存取存储器(sdram)等。

非易失性存储器可以在未被供电时保留存储的数据,并且包含快快闪存储器储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、静态ram(sram)、可擦除可编程rom(eprom)、电阻可变存储器,例如相变随机存取存储器(pcram)、电阻式随机存取存储器(rram)、磁阻式随机存取存储器(mram)或3dxpointtm存储器等。

快闪存储器被用作用于各种电子应用的非易失性存储器。快闪存储器装置通常包含一或多组单晶体管、浮动栅极或电荷阱存储器单元,其允许高存储器密度、高可靠性和低功耗。

两种常见类型的快闪存储器阵列架构包含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可以与存储器操作相关联地从主机接收命令,例如在存储器装置与主机之间传送数据(例如,用户数据和相关的完整性数据,例如错误数据和地址数据等)的读取或写入操作,或从存储器装置擦除数据的擦除操作。



技术实现要素:

附图说明

在不一定按比例绘制的附图中,相同的标号可以描述不同视图中的类似组件。具有不同字母后缀的相同标号可表示类似组件的不同实例。附图通过实例而非限制的方式示出了本文档中讨论的各种实施例。

图1示出了包含存储器装置的环境的实例。

图2-3示出了3dnand架构半导体存储器阵列的实例的示意图。

图4说明存储器模块的实例框图。

图5说明根据本发明的一些实例的用于保存用户数据的寿命结束性能节流的方法的流程图。

图6说明根据本发明的一些实例的处理并入用于保存用户数据的寿命结束性能节流的主机命令的方法的流程图。

图7展示根据本发明的一些实例的存储器控制器的示意图。

图8是说明其上可实施一或多个实施例的机器的实例的框图。

具体实施方式

在一些实例中,公开了经配置以在nand健康度量的值指示有可能无法在数据丢失发生之前促使用户替换或备份其装置时有意地使nand性能降级的方法、系统、存储器装置、机器可读媒体。举例来说,所述系统可跟踪nand健康度量,并且当所述度量达到预定阈值或状态时,所述系统可有意地使性能降级。此性能降级可比警告更有效地实现装置备份或替换。

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

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

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

存储器装置110包含存储器控制器115和存储器阵列120,存储器阵列120包含例如多个单独的存储器裸片(例如,三维(3d)nand裸片的堆叠)。在3d架构半导体存储器技术中,垂直结构被堆叠,从而增加了层数、物理页,并因此增加了存储器装置(例如,存储装置)的密度。在实例中,存储器装置110可以是主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可以是集成电路的一部分(例如,片上系统(soc)等),其堆叠或以其它方式包含在主机装置105的一或多个其它组件中。

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

存储器控制器115可以从主机105接收指令,并且可以与存储器阵列通信,例如以将数据传送到(例如,写入或擦除)或从(例如,读取)存储器阵列的存储器单元、平面、子块、块或页中的一或多个传送数据。存储器控制器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引擎或其它电路,其经配置以检测或校正与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器单元或者从其读取数据相关联的错误。存储器控制器115可经配置以主动检测和恢复与各种操作或数据存储相关联的错误发生(例如,位错误、操作错误等),同时维持在主机105与存储器装置110之间传送的数据的完整性,或者维持存储的数据的完整性(例如,使用冗余raid存储等),并且可以移除(例如,退出)失败的存储器资源(例如,存储器单元、存储器阵列、页、块等)以防止将来出现错误。

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

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

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

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

图2示出了3dnand架构半导体存储器阵列200的实例示意图,其包含多个存储器单元串(例如,第一至第三a0存储器串205a0-207a0、第一至第三an存储器串205an-207an、第一至第三b0存储器串205b0-207b0、第一至第三bn存储器串205bn-207bn等,以块(例如,块a201a、块b201b等)和子块(例如,子块a0201a0、子块an201an、子块b0201b0、子块bn201bn等)组织。存储器阵列200表示通常在存储器装置的块、装置或其它单元中找到的更多数目的类似结构的一部分。

每一存储器单元串包含在源极线(src)235或源极侧选择栅极(sgs)(例如,第一至第三a0sgs231a0-233a0、第一至第三ansgs231an-233an、第一至第三b0sgs231b0-233b0、第一至第三bnsgs231bn-233bn等)与漏极侧选择栅极(sgd)(例如,第一至第三a0sgd226a0-228a0、第一至第三ansgd226an-228an、第一至第三b0sgd226b0-228b0、第一至第三bnsgd226bn-228bn等)之间以源极到漏极方式沿z方向堆叠的多层电荷存储晶体管(例如,浮动栅极晶体管、电荷俘获结构等)。3d存储器阵列中的每一存储器单元串可以沿x方向布置为数据线(例如,位线(bl)bl0-bl2220-222),并且沿y方向布置为物理页。

在物理页内,每一层表示一行存储器单元,并且每一存储器单元串表示列。子块可包含一或多个物理页。块可包含多个子块(或物理页)(例如,128、256、384等)。尽管这里示出具有两个块,每一块具有两个子块,每一子块具有单个物理页,每一物理页具有三个存储器单元串,并且每一串具有8层存储器单元,但在其它实例中,存储器阵列200可包含更多或更少的块、子块、物理页、存储器单元串、存储器单元或层。例如,每一存储器单元串可包含更多或更少的层(例如,16、32、64、128等),以及根据需要在电荷存储晶体管之上或之下的一或多个附加的半导体材料层(例如,选择栅极、数据线等)。例如,48gbtlcnand存储器装置可包含每页18,592字节(b)的数据(16,384+2208字节),每块1536页,每平面548个块,以及每装置4个或更多个平面。

存储器阵列200中的每一存储器单元包含耦合到(例如,电连接或以其它方式可操作地连接到)存取线(例如,字线(wl)wl00-wl70210a-217a、wl01-wl71210b-217b等)的控制栅极(cg),其根据需要将控制栅极(cg)共同耦合在特定层或层的一部分上。可以使用相应的存取线来存取或控制3d存储器阵列中的特定层,以及相应的串中的特定存储器单元。可以使用各种选择线来存取多组选择栅极。例如,可以使用a0sgd线sgda0225a0存取第一至第三a0sgd226a0-228a0,可以使用ansgd线sgdan225an存取第一至第三sgd226an-228an,可以使用b0sgd线sgdb0225b0存取第一至第三b0sgd226b0-228b0,并且可以使用bnsgd线sgdbn225bn存取第一至第三bnsgd226bn-228bn。可以使用栅极选择线sgs0230a存取第一至第三a0sgs231a0-233a0和第一至第三ansgs231an-233an,且可以使用栅极选择线sgs1230b存取第一至第三b0sgs231b0-233b0和第一至第三bnsgs231bn-233bn。

在一实例中,存储器阵列200可包含多个层级的半导体材料(例如,多晶硅等),其经配置以耦合阵列的相应层的每一存储器单元的控制栅极(cg)或选择栅极(或者cg或选择栅极的一部分)。可以使用位线(bl)和选择栅极等的组合来存取、选择或控制阵列中的特定存储器单元串,并且可以使用一或多个存取线(例如,字线)存取、选择或控制特定串中的一或多个层的特定存储器单元。

图3说明nand架构半导体存储器阵列300的一部分的实例示意图,所述nand架构半导体存储器阵列300包含以二维阵列的串(例如,第一至第三串305-307)和层(例如,说明为相应字线(wl)wl0-wl7310-317、漏极侧选择栅极(sgd)线325、源极侧选择栅极(sgs)线330等)布置的多个存储器单元302,以及感测放大器或装置360。例如,存储器阵列300可以说明3dnand架构半导体存储器装置的存储器单元的一个物理页的一部分的实例示意图,例如图2中所示。

每一存储器单元串使用相应的源极侧选择栅极(sgs)(例如,第一至第三sgs331-333)耦合到源极线(src),并且使用相应的漏极侧选择栅极(sgd)(例如,第一至第三sgd326-328)耦合到相应的数据线(例如,第一至第三位线(bl)bl0-bl2320-322)。尽管在图3的实例中以8层(例如,使用字线(wl)wl0-wl7310-317)和三条数据线(bl0-bl2326-328)示出,但根据需要,其它实例可包含具有更多或更少层或数据线的存储器单元串。

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

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

相比之下,可以将直通电压(vpass)施加到具有不以编程为目标的存储器单元的一或多个字线,或者可以将禁止电压(例如,vcc)施加到具有不以编程为目标的存储器单元的数据线(例如,位线),以例如禁止电荷从通道转移到这些非目标存储器单元的浮动栅极。直通电压可以是可变的,这取决于例如所施加的直通电压与以编程为目标的字线的接近度。禁止电压可包含相对于接地电位(例如,vss)的供应电压(vcc),例如来自外部源或供应器(例如,电池、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说明包含存储器阵列402的存储器装置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上接收的一或多个信号或指令来控制存储器装置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中或从存储器装置400中传出,例如在页缓冲器422或存储器阵列402之内或之外。页缓冲器422可以存储在将数据编程到存储器阵列402的相关部分中之前从存储器装置400外部的一或多个装置接收的数据,或者可以存储在将数据发射到存储器装置400外部的一或多个装置之前从存储器阵列402读取的数据。

列解码器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,以在内部提供正或负供电信号。

nand存储器装置中的块在重复的程序和擦除循环之后最终发生故障。一旦这些块发生故障,它们就从可用块的池中被去除并且不再使用。典型的nand存储器装置被过度提供-也就是说,制造所述装置所用的块比存储通告容量必需的块更多。这些块是在其它块损耗后使用的“备用”块,或用作垃圾收集和其它操作所需的额外空间。

nand存储器单元在所述存储器单元开始损耗之前可写入和擦除的次数是有限的。为了考虑这一点,nand装置被过度提供-具有通告容量所需的更多存储器单元。即使存在此过度提供,只要存储器单元损耗足够,nand就不再被写入。如果nand用作主机装置的操作系统(o/s)的启动驱动器,那么o/s不会再启动,因为o/s无法将数据写入到在启动期间所需的nand。对于嵌入式nand(例如,移动电话中的nand),在无法启动o/s的情况下,恢复nand上的数据变得不可行。

利用过度提供和其它技术,大多数用户将永远不会遇到nand故障的问题。尽管如此,少量用户仍可能具有高使用率,他们可能会看到nand装置故障。举例来说,某些移动电话应用程序具有高nand使用率并且可在后台持续运行。其它用户可整天流式传输视频或音频,且因此可持续向nand写入低水平的数据。已经尝试了各种方案来警告用户涉及消息和警告的未决nand故障。这些方案通常无效。

在一些实例中,公开了在nand健康度量的值指示有可能故障时,在数据丢失发生之前有意地使nand性能降级以促使用户替换或备份其装置的方法、系统、存储器装置、机器可读媒体。举例来说,所述系统可跟踪nand健康度量,并且当所述度量达到预定阈值或状态时,所述系统可有意地使性能降级。性能降级可呈较慢请求处理的形式。这可能会刺激用户,使得他们在任何用户数据丢失之前替换或至少备份装置,并且可能比警告更有效。

在一些实例中,nand健康度量可以是当前在nand中观察到的不良块的数目,指示过度提供块仍可用的程度的过度提供度量;测量读取或写入错误的数目的读取错误率、写入错误率或这两者;前述的组合;等等。在一些实例中,读取性能可降级,写入性能可降级,或读取和写入性能两者都可降级。在一些实例中,某些使用配置文件可表明用户的备份尝试-如果检测到所述使用配置文件,那么系统可以全速处理那些请求,以奖励用户从发生故障的nand迁移他们的数据。

在一些实例中,降级准则指示nand装置已经经历降级(例如,不良块、错误等等)。实例降级准则可以是不良块的阈值数目、过度提供的最小百分比或量、读取错误率阈值、写入错误率阈值,等等。

在一些实例中,降级的严重度可随着nand健康度量继续指示恶化的nand健康而增加。举例来说,系统可在nand检测到健康度量符合第一降级准则时将执行控制器的微处理器的时钟减少50%,且在nand检测到健康度量现在符合第二nand降级准则时减少75%时钟-且其中第二降级准则指示比第一降级准则更糟的nand健康。在一些实例中,代替响应于恶化的健康度量而增加降级的严重度或除此之外,nand装置可改变降级的操作。举例来说,系统可通过使写入性能降级而开始,但当nand健康恶化时,也开始使读取性能降级。

在一些实例中,为了使nand性能降级,nand可例如通过在服务读取、写入或读取和写入请求的代码中利用计时器、不操作指令、环路等等来引入有意延迟。在其它实例中,nand可以降低nand的微处理器的总线频率,使得处置读取或写入请求的代码运行得更慢。

现在转向图5,展示了根据本发明的一些实例的用于保存用户数据的寿命结束性能节流的方法500的流程图。在操作510处,nand的控制器可监测指示nand的正常状态的一或多个健康度量。举例来说,不良块的数目、过度提供度量、读取错误率等等。

在操作520处,控制器可确定健康度量是否符合一或多个降级准则,且因此指示降级状况。降级准则可由nand设计者预定并安装到控制器的固件中。在其他实例中,降级准则指可由主机经由主机接口(例如,ufs)改变或编程。实例降级准则包含不良块的阈值数目、功能备用块(例如,过度提供)的最小数目或百分比、读取错误率阈值、写入错误率阈值,等等。

举例来说,健康度量可以是不良块的数目。nand可将不良块的当前数目与降级准则(即,不良块的预定阈值数目)进行比较以确定不良块的当前数目是否超出不良块的阈值数目。如果不良块的当前数目超出不良块的阈值数目,那么健康度量符合降级准则。在操作530处,如果健康度量符合降级准则,那么控制器可使nand存储器装置的性能降级。举例来说,通过设置在由nand服务读取或写入请求之前检查的减速标志,减慢nand装置的微处理器的时钟速度等等。

现在转向图6,展示了根据本发明的一些实例的处理并入用于保存用户数据的寿命结束性能节流的主机命令的方法600的流程图。在操作610处,控制器接收主机命令。实例主机命令包含读取命令、写入命令、擦除命令等等。可通过主机接口从主机接收主机命令。在一些实例中,主机命令被排队,并且操作610包括从队列去除主机命令。

在操作620处,控制器可检查减速标志。标志可设置在控制器的工作存储器中,可存储在nand中,可存储在工作存储器中和nand上,等等。如果未设置标志,那么控制器可在操作650处照常处理命令。如果已设置标志,那么控制器可确定当前观察到的主机活动是否类似于免除的nand活动的配置文件。免除的nand活动是免于性能降级的活动。举例来说,可以全速处理备份活动。使用配置文件可以是某些观察到的主机请求特性,例如命令卷、命令类型等中的一或多个。举例来说,备份活动的配置文件可包含主机请求队列中的大量(例如,大于预定阈值)的未决读取请求。如果当前观察到的活动匹配免于降级的活动配置文件,那么系统可在操作650处照常处理请求。如果在操作630处当前观察到的活动并不类似于免于降级的配置文件,那么命令可在操作640处减速。

如所提及,在一些实例中,控制器可降低控制器在其上执行的微处理器的时钟速度而不是具有标志(例如,在图5的操作530处),这可降低速度而不在操作620处检查标志。控制器可接着检查以在操作630处确定观察到的活动是否与免除的活动配置文件一致,并在操作650处将时钟速度增加回正常,直到活动不再匹配免除的活动配置文件。举例来说,在操作640处,时钟速度可再次降低。

图7展示根据本发明的一些实例的存储器控制器715的示意图。存储器控制器715是存储器控制器115的实例,存储器管理器725是存储器管理器125的实例,管理表730可以是管理表130的实例。控制器735和ecc740可以是图1的控制器135和ecc140的实例。控制器735包含可监测nand的健康度量的监测组件760。监测组件760可确定健康度量是否符合一或多个降级准则。如果健康度量符合一或多个降级准则,那么监测组件760可指导读取组件750或写入组件以使性能降级。队列组件755可包括用于使主机命令排队的主机队列。读取组件750可服务提交到队列的主机的一或多个读取命令。读取组件750还可响应于来自监测组件760的命令而使读取操作的性能降级。写入组件745可服务提交到队列的主机的一或多个写入命令。写入组件745还可响应于来自监测组件760的命令而使写入操作的性能降级。

图8展示了示例性机器800的框图,在所述示例性机器800上可以执行本文所讨论的任何一或多种技术(例如,方法)。在备选实施例中,机器800可以作为独立装置操作或者可以连接(例如,联网)到其它机器。在联网部署中,机器800可以在服务器-客户端网络环境中以服务器机器,客户端机器或两者的能力运行。在实例中,机器800可以充当对等(p2p)(或其它分布式)网络环境中的对等机器。机器800可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、网络设备,iot装置、汽车系统或任何能够执行指定所述机器要采取的动作的指令(依序或以其它方式)的机器。此外,虽然仅展示了单个机器,但术语“机器”还应被视为包含单独或联合执行一组(或多组)指令以执行本文所讨论的任何一或多种方法(如云计算、软件即服务(saas)、其它计算机集群配置)的任何机器集合。

如本文所述,实例可以包含逻辑、组件、装置、包或机制,或者可以由逻辑、组件、装置、包或机制操作。电路是在有形实体中实现的电路的集合(例如,组),其包含硬件(例如,简单电路、门、逻辑等)。电路成员资格可能会随着时间的推移而变得灵活并成为硬件可变性的基础。电路包含可以单独或组合地在操作时执行特定任务的成员。在实例中,电路的硬件可以不可变地设计以执行特定操作(例如,硬连线)。在实例中,电路的硬件可以包含可变连接的物理组件(例如,执行单元、晶体管、简单电路等),包含物理(例如,磁性、电、可移动的不变聚集粒子的放置等)修改的计算机可读媒体以编码特定操作的指令。在连接物理组件时,硬件组件的基础电特性例如从绝缘体变为导体,反之亦然。所述指令使参与的硬件(例如,执行单元或加载机构)能够通过可变连接在硬件中创建电路的成员,以在操作时执行特定任务的部分。因此,当装置操作时,计算机可读媒体通信地耦合到电路的其它组件。在实例中,任何物理组件可以用在多于一个电路的多于一个的成员中。例如,在操作中,执行单元可以在一个时间点用在第一电路的第一电路中,并且由第一电路中的第二电路重用,或者在不同时间由第二电路中的第三电路重用。

机器(例如,计算机系统)800(例如,主机装置105、存储器装置110等)可以包含硬件处理器802(例如,中央处理单元(cpu)、图形处理单元(gpu)、硬件处理器核或其任何组合,例如存储器控制器115等)、主存储器804和静态存储器806,其中的一些或全部可以经由互连链路(例如,总线808)彼此通信。机器800还可以包含显示单元810、字母数字输入装置812(例如,键盘)和用户界面(ui)导航设备814(例如,鼠标)。在实例中,显示单元810、输入装置812和ui导航装置814可以是触摸屏显示器。机器800可以另外包含存储装置(例如,驱动单元)816、信号生成装置818(例如,扬声器)、网络接口装置820,以及一个或多个传感器816,例如全球定位系统(gps)传感器、指南针、加速度计或其它传感器。机器800可以包含输出控制器828,例如串行(例如,通用串行总线(usb)、并行或其它有线或无线(例如,红外(ir),近场通信(nfc)等)连接以通信或控制一或多个外围装置(例如,打印机、读卡器等)。

存储装置816可以包含机器可读媒体822,上面存储一或多个数据结构或指令集824(例如,软件),其体现本文描述的任何一或多种技术或功能或由所述技术或功能使用。指令824还可以在由机器800执行期间完全或至少部分地驻留在主存储器804内、静态存储器806内或硬件处理器802内。在实例中,硬件处理器802、主存储器804、静态存储器806或存储装置816中的一个或任何组合可以构成机器可读媒体822。

虽然机器可读媒体822被示为单个媒体,但术语“机器可读媒体”可包含被配置为存储所述一或多个指令824的单个媒体或多个媒体(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。

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

指令824(例如,软件、程序、操作系统(os)等)或其它数据存储在存储装置821上,可以由存储器804访问以供处理器802使用。存储器804(例如,dram)通常是快速但易失性的,因此是与存储装置821(例如,ssd)不同类型的存储装置,其适合于长期存储,包含处于“关闭”状态时。用户或机器800使用的指令824或数据通常被加载到存储器804中以供处理器802使用。当存储器804已满时,可以分配来自存储装置821的虚拟空间以补充存储器804。然而,因为存储器821装置通常比存储器804慢,并且写入速度通常是读取速度的至少两倍,所以使用虚拟存储器可以极大地减少由于存储装置等待时间引起的用户体验(与存储器804相比,例如,dram)。此外,将存储装置821用于虚拟存储器可以大大减少存储装置821的可用寿命。

与虚拟存储器形成对比,虚拟存储器压缩(例如,内核特征“zram”)使用存储器的一部分作为压缩块存储来避免对存储装置821的寻呼。寻呼发生在压缩块中直到有必要将这样的数据写入到存储装置821。虚拟存储器压缩增加了存储器804的可用大小,同时减少了存储装置821上的磨损。

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

指令824还可以通过利用多种传输协议中的任何一种(例如,帧中继、网际协议(ip)、发射控制协议(tcp)、用户数据报协议(udp)、超文本传输协议(http)等)经由网络接口装置820在使用发射媒体的通信网络826上发射或接收。示例通信网络可以包含局域网(lan)、广域网(wan)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(pots)网络,和无线数据网络(例如,电气和电子工程师协会(ieee)802.11标准系列,其被称为ieee802.16标准系列,其被称为)、ieee802.15.4标准系列、对等(p2p)网络等。在实例中,网络接口装置820可以包含一或多个物理插孔(例如,以太网、同轴或电话插孔)或一或多个天线以连接到通信网络826。在实例中,网络接口装置820可以包含多个天线以使用单输入多输出(simo)、多输入多输出(mimo)或多输入单输出(miso)技术中的至少一个进行无线通信。术语“传输媒体”应被视为包含能够存储、编码或携载由机器800执行的指令的任何无形媒体,并且包含数字或模拟通信信号或其它无形媒体以促进这种软件的通信。

以上详细描述包含对附图的参考,附图形成详细描述的一部分。附图通过图示的方式展示了可以实施本发明的具体实施例。这些实施方案在本文中也称为“实施例”。这些示例可以包含除了展示或描述的元件之外的元件。然而,本发明人还考虑了仅提供所展示或描述的那些元件的实例。此外,本发明人还考虑使用关于特定实例(或其一或多个方面)或关于本文中所展示或描述的其它实例(或其一或多个方面)展示或描述的那些元件(或其一或多个方面)的任何组合或置换的实例。

在本文件中,术语“一(a/an)”在专利文献中是常见的,包含一个或多于一个,独立于“至少一个”或“一或多个”的任何其它实例或用法。在本文件中,术语“或”用于表示非排他性的,使得除非另有说明,否则“a或b”可以包含“a但不是b”、“b但不是a”和“a和b”。在所附权利要求中,术语“包含”和“其中”用作相应术语“包含”和“其中”的普通英语等效物。此外,在以下权利要求中,术语“包含”和“包括”是开放式的,即,包含除了在权利要求中的这样的术语之后列出的元素之外元素的系统、装置、物品或过程仍然是被视为属于所述权利要求书的范围内。此外,在以下权利要求中,术语“第一”,“第二”和“第三”等仅用作标记,并不旨在对其对象施加数字要求。

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

本文中使用的术语“水平”被定义为平行于衬底的常规平面或表面的平面,例如在晶片或裸片下面的平面,而不管衬底在任何时间点的实际定向。术语“竖直”是指垂直于如上定义的水平面的方向。无论衬底的定向如何,相对于位于衬底的顶部或暴露表面上的传统平面或表面,定义诸如“在……上”、“在…上方”和“在…下方”的介词,而“在……上”旨在表明一个结构相对于位于其上的另一个结构的直接接触(在没有相反的明确指示的情况下);术语“在……上方”和“在……下方”明确地旨在识别结构(或层,特征等)的相对置放,其明确地包含但不限于所识别的结构之间的直接接触,除非明确指出如此。类似地,术语“在…上方”和“在…下方”不限于水平定向,因为如果结构在某个时间点是所讨论的构造的最外部分,那么所述结构可以在参考结构“上方”,即使这种结构相对于参考结构竖直而非在水平定向上延伸。

本文中所使用的术语“晶片”和“衬底”通常是指其上形成集成电路的任何结构,并且还涉及在集成电路制造的各个阶段期间的这种结构。因此,以下详细描述不应被视为具有限制意义,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等效物的全部范围来限定。

根据本发明且在本文中描述的各种实施例包含利用存储器单元的竖直结构(例如,存储器单元的nand串)的存储器。如本文所使用,方向形容词将相对于其上形成存储器单元的衬底的表面(即,竖直结构将被视为远离衬底表面延伸,竖直结构的底端将被视为最靠近衬底表面的一端和竖直结构的顶端将作为离衬底表面最远的一端)。

如本文中所使用,除非另有说明,否则方向形容词,例如水平、竖直、法线、平行,垂直等,可以指相对定向,并且不旨在要求严格遵守特定的几何特性。例如,如本文所使用,竖直结构不需要严格垂直于衬底的表面,而是可以替代地通常垂直于衬底的表面,并且可以与衬底的表面形成锐角(例如,在60和120度之间等)。

在本文描述的一些实施例中,可以将不同的掺杂配置应用于源极侧选择栅极(sgs)、控制栅极(cg)和漏极侧选择栅极(sgd),其中的每一个在此实例中可以由多晶硅形成或至少包含多晶硅,结果使得这些层(例如,多晶硅等)在暴露于蚀刻溶液时可以具有不同的蚀刻速率。例如,在3d半导体装置中形成单片柱的过程中,sgs和cg可以形成凹槽,而sgd可以保持较少凹陷或甚至不凹陷。因此,这些掺杂配置可以通过使用蚀刻溶液(例如,四甲基氢氧化铵(tmch))选择性地蚀刻到3d半导体装置中的不同层(例如,sgs,cg和sgd)中。

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

根据本公开的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、通信、调整、推导、定义、利用、修改、应用等)一定数量的磨损周期或磨损状态(例如,记录磨损周期、在存储器装置进行操作时计算存储器装置的操作、跟踪它启动的存储装置的操作、评估对应于磨损状态的存储装置特性等)。

根据本公开的一或多个实施例,存储器访问装置可以被配置为利用每个存储器操作向存储器装置提供磨损周期信息。存储器装置控制电路(例如,控制逻辑)可以被编程为补偿对应于磨损周期信息的存储器装置性能变化。存储器装置可接收磨损周期信息并响应于磨损周期信息确定一或多个操作参数(例如,值、特性)。

应理解,当一个元件被称为“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,它可以直接在另一元件上,与另一元件连接或耦合,或者中间元件可以存在。相反,当元件被称为“直接在另一元件上”,“直接连接到另一元件”或“直接与另一元件耦合”时,不存在中间元件或层。如果两个元件在附图中展示为用线连接其,则除非另有说明,否则这两个元件可以耦合或直接耦合。

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

以上描述旨在是说明性的而非限制性的。例如,上述实例(或其一或多个方面)可以彼此组合使用。在阅读以上描述后,例如本领域普通技术人员可以使用其它实施例。提交时的理解是,它不会用于解释或限制权利要求书的范围或含义。而且,在以上详细描述中,各种特征可以组合在一起以简化本公开。这不应被解释为意图未请求专利保护的公开特征对于任何权利要求是必不可少的。相反,发明主题可能在于少于特定公开实施例的所有特征。因此,以下权利要求书在此并入具体实施方式中,其中每个权利要求自身作为单独的实施例,并且可以预期这些实施例可以以各种组合或置换彼此组合。本发明的范围应参考所附权利要求书以及这些权利要求所赋予的等效物的全部范围来确定。

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