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

用于存储器系统的维护操作的制作方法

2021-01-15 13:56:00 来源:中国专利 TAG:专利申请 存储器 美国 等人 用于
用于存储器系统的维护操作的制作方法

交叉引用

本专利申请案主张chen等人2020年6月26日申请的标题为“用于存储器系统的维护操作(maintenanceoperationsformemorysystems)”的第16/913,753号美国专利申请案的优先权,所述美国专利申请案主张chen等人2019年7月15日申请的标题为“用于存储器装置的维护操作(maintenanceoperationsformemorydevices)”的第62/874,451号美国临时专利申请案的权益,所述申请案中的每一个均转让给本受让人并且均明确地以全文引用的方式并入本文中。

下文大体上涉及存储器子系统,且更具体来说,涉及用于存储器系统的维护操作。



背景技术:

存储器子系统可以是存储装置、存储器模块,以及存储装置和存储器模块的混合。存储器子系统可以包含存储数据的一或多个存储器组件。存储器组件可以是例如非易失性存储器组件和易失性存储器组件。一般来说,主机系统可利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。

可对存储器装置执行存取操作。存取操作可随着时间减小存储器装置内的存储器单元的有效性。在一些情况下,一些存储器单元的耗损可不同于存储器装置内的其它存储器单元的耗损。个别存储器单元的不均匀耗损可归因于一些存储器单元语存储器装置内的其它存储器单元相比以更快速率耗损而造成装置寿命缩短。



技术实现要素:

描述了一种方法。所述方法可包含对存储器单元执行存取操作;至少部分地基于对所述存储器单元执行所述存取操作而使第一计数器的值递增;确定所述第一计数器的所述经递增值满足阈值;至少部分地基于确定所述第一计数器的所述经递增值满足所述阈值而使第二计数器的值递增;和至少部分地基于确定所述第一计数器的所述经递增值满足所述阈值而对所述存储器单元执行维护操作。

描述了一种方法。所述方法可包含确定在存储器单元上执行的存取操作的第一数量满足第一阈值;至少部分地基于确定在所述存储器单元上执行的存取操作的所述第一数量满足所述第一阈值而对所述存储器单元执行第一耗损均衡操作;接收指示第二阈值的消息;确定在执行所述第一耗损均衡操作之后在所述存储器单元上执行的存取操作的第二数量满足所述第二阈值;和至少部分地基于确定存取操作的所述第二数量满足所述第二阈值而对所述存储器单元执行第二耗损均衡操作。

描述了一种方法。所述方法可包含识别与对存储器装置中的存储器单元集合执行耗损均衡程序相关联的全局计数器,所述全局计数器的值指示在所述存储器单元集合上执行的存取操作的基线数量;确定特定于集合的计数器的值与偏移计数器的值之间的差,所述特定于集合的计数器与所述存储器单元集合中的第一集合相关联,所述偏移计数器用于指示相对于所述全局计数器的所述值的全局偏移值;识别所述差的余数和参数;至少部分地基于将所述余数与所述全局计数器的所述值相加而识别在所述第一集合上执行的存取操作的数量;和至少部分地基于在所述第一集合上执行的存取操作的所述数量满足阈值而对所述第一集合执行耗损均衡操作。

附图说明

图1说明根据如本文中所公开的实例的计算环境的实例。

图2说明根据如本文中所公开的实例的支持用于存储器系统的维护操作的方法的实例。

图3说明根据如本文中所公开的实例的支持用于存储器系统的维护操作的计数系统的实例。

图4说明根据如本文中所公开的实例的支持用于存储器系统的维护操作的计数系统的实例。

图5到8示出说明根据如本文中所公开的实例的支持用于存储器系统的维护操作的一或多种方法的流程图。

图9说明根据如本文中所公开的实例的支持用于存储器系统的维护操作的计算机系统的实例机器。

具体实施方式

本公开的方面针对于用于存储器系统的维护操作。存储器子系统可为存储装置、存储器模块,或存储装置和存储器模块的混合。参考图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个存储器组件的存储器子系统。主机系统可提供数据以存储于存储器子系统处并且可请求从存储器子系统检索数据。

存储器组件可包含非易失性和易失性存储器装置。非易失性存储器装置是一或多个裸片的封装。封装中的裸片可指配给一或多个通道以用于与存储器子系统控制器通信。非易失性存储器装置包含经分组为页以存储数据位的单元(即,存储信息的电子电路)。

非易失性存储器装置可包含作为非易失性存储器的交叉点阵列的三维交叉点(“3d交叉点”)存储器装置,其可与可堆叠交叉网格化数据存取阵列结合来基于体电阻的改变执行位存储。虽然描述了非易失性存储器组件,例如3d交叉点类型存储器,但存储器装置可基于任何其它类型的非易失性存储器,例如“与非”(negative-and,nand),以及如下文结合图1所描述的其它实例。

存取操作可由存储器子系统在存储器装置上执行并且可包含读取操作、擦除操作、写入操作、重新写入操作。存取操作可在存储器单元中引起耗损。在一些情况下,一些存储器单元的耗损可不同于存储器装置内的其它存储器单元的耗损。存储器单元的耗损不均勻性可归因于一些存储器单元与其它存储器单元相比被更频繁地存取。在此实例中,存储器装置内的被更频繁地存取的存储器单元可具有较低读取/写入寿命。因而,被更频繁地存取的存储器单元可不利地影响存储器装置的总寿命。

本公开的方面通过包含被配置成对存取操作的数目计数的计数器的存储器子系统来解决上述和其它缺陷。存储器子系统可协调特定存储器单元集上的存取操作的数目,进而缓和存储器装置的寿命减少。举例来说,将存储器单元集合经历的存取操作的数目计数,并且当执行了阈值数目(例如,数目限值)的存取操作时,将连续存取操作改变到不同集合中的存储器单元。另外,在一些情况下,可在所述集合的已达到阈值的存储器单元上起始维护操作,例如耗损均衡操作。在一些实例中,阈值数目可为可变的以适应不同数目的存取操作,这可基于存储器装置的老化程度(age)。维护操作可均衡整个存储器装置中的耗损并且增加存储器装置的寿命。

在一些情况下,可使用全局计数器、偏移计数器和特定于集合的计数器实施计数器。例如3d交叉点存储器装置的一些非易失性存储器装置可将跨裸片和通道的页分组以形成管理单元(mu)。mu可包含用户数据和对应元数据。存储器子系统控制器可将用户数据和对应元数据作为管理单元发送到存储器装置和从存储器装置接收。超级管理单元(smu)可为一起管理的一或多个mu的群组。举例来说,存储器子系统控制器可对smu执行媒体管理操作(例如,耗损均衡操作、刷新操作等)。其它类型的非易失性存储器装置可包括一或多个平面。平面可分组成逻辑单元(lun)。对于一些类型的非易失性存储器装置(例如,nand装置),每一平面可包含物理块集合,所述物理块可为可被擦除的最小区域。特定于集合的计数器可为特定于mu的计数器、特定于smu的计数器,或特定于块的计数器。

存储器子系统可被配置成使用全局计数器的值、偏移计数器的值和特定于集合的计数器的值来确定在每一存储器单元集合上执行的存取操作的计数。存储器单元集合可为mu、smu或存储器库。计数系统可被配置成允许在不必更新特定于集合的计数器中的每一个的情况下更新全局最低有效值。

首先在参考图1所描述的计算环境的上下文中描述本公开的特征。在如参考图2、3和4所描述的系统和时序图的上下文中描述本公开的特征。参考涉及如参考图5-9所描述的用于存储器系统的维护操作的设备图、计算机图和流程图来进一步说明和描述本公开的这些和其它特征。

图1说明根据如本文中所公开的实例的计算环境100的实例。计算环境可以包含主机系统105和存储器子系统110。存储器子系统110可包含媒体,例如一或多个非易失性存储器装置(例如,存储器装置130)、一或多个易失性存储器装置(例如,存储装置140),或其组合。

存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储装置(ufs)驱动器以及硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)和非易失性双列直插式存储器模块(nvdimm)。

计算环境100可以包含与存储器系统耦合的主机系统105。存储器系统可以是一或多个存储器子系统110。在一些实例中,主机系统105与不同类型的存储器子系统110耦合。图1说明与一个存储器子系统110耦合的主机系统105的一个实例。主机系统105使用存储器子系统110,例如,将数据写入到存储器子系统110以及从存储器子系统110读取数据。如本文中所使用,“耦合到”或“与……耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。

主机系统105可以是计算装置,例如台式计算机、手提式计算机、网络服务器、移动装置、载具(例如飞机、无人机、火车、汽车或其它运输工具)、嵌入式系统、物联网(iot)装置或包含存储器和处理装置的此类计算装置。主机系统105可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行连接的scsi(sas)等。物理主机接口可用于在主机系统105与存储器子系统110之间发射数据。当存储器子系统110通过pcie接口与主机系统105耦合时,主机系统105可以进一步利用nvm快速(nvme)接口存取存储器组件(例如存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统105之间传送控制、地址、数据和其它信号的接口。

存储器装置可以包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为但不限于随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。

非易失性存储器装置(例如,存储器装置130)的实例包含三维(3d)交叉点(“3d交叉点”)型快闪存储器,其为非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列来基于体电阻的改变执行位存储。另外,与许多基于快闪的存储器相反,交叉点非易失性存储器可执行原位写入操作,其中可在先前不擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。

虽然描述了例如3d交叉点类型存储器的非易失性存储器组件,但存储器装置130可以基于任何其它类型的非易失性存储器,例如“与非”(nand)、只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(feram)、磁性随机存取存储器(mram)、“或非”(nor)快闪存储器,以及电可擦除可编程只读存储器(eeprom)。

在一些实施例中,存储器装置130中的每一个可以包含一或多个存储器单元阵列,例如单层级单元(slc)、多层级单元(mlc)、三层级单元(tlc)、四层级单元(qlc),或其组合。在一些实例中,特定存储器组件可以包含存储器单元的slc部分和mlc部分、tlc部分或qlc部分。存储器单元中的每一个可存储供主机系统105使用的一或多个数据位。此外,存储器装置130的存储器单元可分组为存储器页或存储器单元集合,其可指用以存储数据的单元。页可跨裸片和通道分组以形成管理单元(mu)。mu可包含用户数据和对应元数据。超级管理单元(smu)是一起管理的一或多个mu的群组。

存储器子系统控制器115可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作。存储器子系统控制器115可包含例如一或多个集成电路和/或离散组件、缓冲存储器或其组合的硬件。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或其它合适的处理器。

存储器子系统控制器115可以包含处理器120(例如,处理装置),其被配置成执行存储在本地存储器125中的指令。在所说明实例中,存储器子系统控制器115的本地存储器125包含嵌入式存储器,其被配置成存储用于执行各种过程、操作、逻辑流以及控制存储器子系统110的操作的例程的指令,包含控制存储器子系统110与主机系统105之间的通信。

在一些实例中,本地存储器125可以包含存储器寄存器,其存储存储器指针、提取的数据等。本地存储器125还可以包含用于存储微码的只读存储器(rom)。虽然图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一实例中,存储器子系统110无法包含存储器子系统控制器115,而是替代地可以依赖于外部控制(例如,通过外部主机提供,或通过与存储器子系统分开的处理器或控制器提供)。

一般来说,存储器子系统控制器115可从主机系统105接收命令或操作,且可将所述命令或操作转换为指令或适当命令以实现对存储器装置130的所需存取。存储器子系统控制器115可负责与存储器装置130相关联的其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ecc)操作、加密操作、高速缓存操作,以及逻辑块地址(例如,逻辑块地址(lba))和物理地址之间的地址转译。存储器子系统控制器115可另外包含主机接口电路系统以经由物理主机接口与主机系统105通信。主机接口电路系统可以将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统105的信息。

存储器子系统110还可包含未说明的额外电路系统或组件。在一些实例中,存储器子系统110可以包含高速缓存器或缓冲器(例如,dram)以及地址电路系统(例如,行解码器和列解码器),所述地址电路系统可以从存储器子系统控制器115接收地址并对所述地址进行解码以存取存储器装置130。

在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理媒体装置130(例如,对媒体装置130执行媒体管理操作)。在一些实施例中,存储器装置130可以是本地管理的存储器装置,其为与本地媒体控制器135组合的原始存储器装置,所述本地媒体控制器135对同一存储器装置封装内的存储器装置130执行存储器管理操作。

存储器子系统110包含计数器150,其可对在存储器装置的存储器单元集合上执行的存取操作的数目计数并且起始对存储器单元的维护操作,这可基于可为可修改的存取操作阈值数目。协调(例如,计数)特定存储器单元集合上的存取操作的数目可缓解存储器子系统110的寿命减少。举例来说,对存储器单元集合经历的存取操作的数目计数可允许在某些存储器单元集合(例如,已经达到存取操作阈值数目的存储器单元集合)执行耗损均衡操作。这类耗损均衡操作可增加存储器子系统110的寿命。

在一些情况下,计数器150可对在存储器单元上执行的任何数目的存取操作计数直到达到存取操作的阈值数目为止。计数器150也可对在存储器单元上执行的任何数目的维护操作计数。已在存储器单元上执行的维护操作的次数可基于计数器150对存取操作的数目从0计数到存取操作阈值数目已经历的时间量。在一些实例中,存储器子系统控制器115包含计数器150的至少一部分。举例来说,存储器子系统控制器115可包含处理器120(例如,处理装置),其被配置成执行存储于本地存储器125中的用于执行本文中所描述的操作的指令。在一些实例中,计数器150是主机系统105、应用程序或操作系统的部分。

计数器150可对在存储器单元上执行的存取操作的数目计数并且可基于准则(例如,存取操作的阈值)起始耗损均衡操作。可通过计数器150的多个部分实现对存取操作的数目计数。在一些实施例中,计数器包含两个部分。计数器150的第一部分可对存取操作的数目计数直到满足准则(例如,阈值)为止。一旦已经满足阈值,第一部分便可重新起始计数。一旦第一部分满足阈值,计数器150的第二部分便可递增。第二部分接着可起始将存取操作切换到存储器装置的不同部分(例如,不同单元),和/或触发对存储器单元的维护操作(例如,耗损均衡操作)。计数器150的第二部分可存储已经满足准则(例如,阈值)的次数。在一些实例中,阈值是可配置的、用户/系统定义的,和/或可改变。下文描述关于计数器150的操作的另外细节。

图2说明根据本公开的实施例的用于确定存储器子系统中的耗损均衡操作协调的方法200的实例。方法200可由存储器子系统执行,所述存储器子系统可为参考图1所描述的存储器子系统110的实例。

方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法200可由图1的计数器150执行。虽然以特定顺序或次序来展示,但除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它方法是可能的。

存储器子系统可从主机系统接收存取命令。这类存取命令可为可读取、擦除、写入和/或重写数据到存储器子系统的的存储器装置中的特定存储器单元的读取命令、写入命令或擦除命令。在一些情况下,存取、擦除或写入存储器单元中的数据可致使存储器单元耗损,这可限制存储器子系统内的存储器单元的寿命。在一些情况下,如果任由存储器子系统耗损,那么存储器子系统的寿命可减少。

为减少由存取操作所导致的耗损对存储器子系统中的存储器单元的影响,可使用维护操作。维护操作可为减少存储器子系统上的耗损的多种操作,包含耗损均衡操作。在一些实例中,耗损均衡可限制由擦除、写入和重写数据到存储器子系统中的存储器单元所导致的耗损的影响。耗损均衡可为通过将写入操作跨存储器装置分布来帮助减小存储器装置中的过早耗损的过程。耗损均衡可包含确定使用哪个物理媒体(例如,存储器单元集合)的操作集。每个时间数据经编程以帮助确保某些物理存储器单元集合与其它物理存储器单元集合相比不会被更频率地写入和擦除。耗损均衡可允许特定存储器单元的耗损类似于存储器子系统内的其它存储器单元经历的耗损(例如,可均衡不同单元上的耗损)。在一些实例中,跨存储器子系统的不同单元的存取操作的均匀分布可确保特定存储器单元与其它存储器单元相比不会被更频率地擦除和重写。在一些情况下,可在存储器单元上执行设置的数目的存取操作之后执行耗损均衡操作。因此,存储器子系统的被存取存储器单元中经历的耗损可均匀地分布在存储器子系统内的不同存储器单元集合上。存储器单元经历的耗损的均匀分布可延长存储器子系统的寿命。

主机系统可将存取请求发送到存储器子系统,以便在存储器子系统处存储数据和从存储器子系统读取数据。将要读取和写入的数据在下文被称为“用户数据”。主机请求可以包含用户数据的逻辑地址(例如,逻辑块地址(lba)),其为主机系统的与用户数据相关联的位置。逻辑地址(例如,lba)可以是用户数据的元数据的部分。请求可呈存取操作命令(例如,读取命令、写入命令)形式。

举例来说,在操作215处存储器子系统可例如从主机系统接收存取操作命令。存取操作命令可起始对存储器子系统的特定集合内的存储器单元的存取操作。存取操作可包含读取操作、擦除操作、写入操作、重写操作、其它操作或其组合,其可在存储器单元中引起耗损。存储器子系统可连续地接收用于存储器子系统上的同一单元集合内的相同存储器单元的连续存取操作,这可引起额外耗损。在一些情况下,所述集合内的存储器单元上的连续存取操作可在存储器子系统对存储器子系统的其它集合内的存储器单元执行存取操作之前发生。另外或替代地,可能会在不对被存取存储器单元进行周期性耗损均衡操作的情况下执行存取操作。这可造成被存取存储器单元与存储器子系统的其它集合中的未被存取的存储器单元相比过早耗损。

可对存储器子系统的集合内的存储器单元执行耗损均衡操作,所述耗损均衡操作可在已在存储器单元上执行了特定数目的存取操作之后。对在所述集合内的个别存储器单元执行的存取操作的数目计数可允许存储器子系统协调在不同存储器单元集合上执行的耗损均衡操作。为减小集合中的特定存储器单元上的耗损,可使用对在存储器单元上执行的存取操作的数目计数。另外,存储器子系统可在对先前存取的单元执行耗损均衡操作之前确定在存储器单元上执行的存取操作阈值数目。对在存储器单元上执行的存取操作的数目计数可防止被存取存储器单元与存储器子系统中的其它较少被存取单元相比以较高速率耗损。因此,在已发生特定存取操作计数之后,存储器子系统可中止对存储器子系统内的被存取单元的存取操作,并且在一些实例中,起始耗损均衡操作。

存储器子系统可识别在特定集合内的存储器单元上执行的存取操作的数目的限值。存储器子系统的集合可在耗损均衡操作之前经历的存取操作的数目(例如,计数/值)可为固定数目。在一些实例中,此数目可被视为阈值。集合可经历的可在起始耗损均衡操作之前发生的存取操作的阈值可为数百、数千、数万或数十万的存取操作。阈值可存储于存储器子系统的寄存器中。在一些情况下,阈值的值可为可配置的以使得存储器子系统可被配置成修改阈值。在一些实施例中,存储器子系统从主机系统接收一或多个阈值并且可将所述值存储于存储器子系统的寄存器中。

举例来说,在操作220处,存储器子系统例如通过存取寄存器中的阈值来确定第一阈值。存储器子系统可使用第一阈值作为在将存取操作切换到新集合并且起始耗损均衡操作之前在集合内的存储器单元上发生的存取操作的数目。在一些情况下,阈值可改变,这可适应不同值以减小或增加在集合内的存储器单元上执行的存取操作的数目。举例来说,当存储器子系统为新(例如,在存储器单元上执行的存取操作的数目为低)时,阈值可为高。然而,随着存储器子系统老化(例如,存储器单元经历更多存取操作),阈值可以减小以允许在存储器子系统中发生更频繁的耗损均衡操作。阈值减小可延长存储器子系统的寿命。然而,在一些实例中,阈值可在存储器子系统的整个寿命中相同。在其它实例中,阈值可增加。因此,在一些实例中,存储器子系统在任何时间确定可不同于第一阈值的第二阈值。第二阈值可存储于寄存器中。第二阈值可替换第一阈值并且可用于连续耗损均衡协调操作(例如,操作235-255)。在一些情况下,可在所有耗损均衡操作中使用第一阈值而不使用任何其它(例如,第二)阈值。

存储器子系统可识别在存储器子系统的集合内的存储器单元上执行的存取操作的数目的计数。在一些实例中,可根据数目被阈值的可除性来检查计数以以确定所述计数是否已满足阈值(其可起始耗损均衡操作)。在一些情况下,这可通过除法器电路实现。除法器电路可利用对应于阈值的除数。然而,除法器电路可受限于特定除数。举例来说,除数可受限于二的幂(例如,2n)。在此情况下,无法是二的幂的除数无法供除法器电路用作除数。因此,除法器电路在可使用的阈值方面可为不灵活的。另外,除法器电路可为昂贵的,这可归因于除法器电路的电路系统的复杂性。举例来说,除法器电路可使用多个门,进而增加除法器电路的面积或除法器电路可消耗较大量的功率。因而,通过其它方法确定存取操作的计数可为有利的。

可通过利用组合式计数器来避免使用除法器电路对在存储器子系统的集合内的存储器单元上执行的存取操作的数目计数。参考图3所描述的组合式计数器305可为这类组合式计数器的实例。存储器子系统内的每一存储器单元集合可包含其自身的组合式计数器,其可对在所述集合内的存储器单元上执行的存取操作的数目计数。举例来说,组合式计数器可识别(例如,确定)在集合内的存储器单元上执行的存取操作的数目的计数。

组合式计数器可具有第一计数器和第二计数器。如参考图3更详细地描述,第一计数器可为第一计数器315的实例且第二计数器可为第二计数器345的实例。第一计数器可对在集合中的存储器单元上执行的存取操作的数目计数。第一计数器可对存取操作的数目从零计数到所定义的数目(例如,存取操作的阈值)并且确定是否已经达到存取操作的阈值。举例来说,比较器可用以将在集合内的存储器单元上执行的存取操作的计数与阈值进行比较。参考图3所描述的比较器330可为这类比较器的实例。在操作235处,第一计数器可使计数以整数(例如1)递增并且将经递增值传送到比较器。在操作240处,比较器可将经递增值与阈值进行比较。在一些实例中,在操作240处,比较器可确定经递增计数尚未满足(例如,小于)阈值。在此实例中,在操作245处,第一计数器可接收返回的经递增计数值,可基于经递增计数不满足(例如,小于)阈值来选择所述返回的经递增计数值。然而,在一些情况下,在操作240处,比较器可确定经递增值满足(例如,匹配或超过)阈值。在此情况下,在操作245处,第一计数器可重置为零值。接着可使零值递增,这可基于在集合中的存储器单元上执行的连续存取操作。第一计数器接着可反复地执行计数的递增直到再次达到阈值。

组合式计数器的第二计数器可触发对集合的耗损均衡操作并且另外或替代地对在集合上执行的耗损均衡操作的数目计数。耗损均衡操作计数可开始为0,这可指示先前未对集合中的存储器单元执行耗损均衡操作(例如,尚未满足阈值)。在操作250处,第二计数器可使值从0递增到1。然而,在一些实例中,当先前未达到阈值时,递增可增加到非零数目。在其中比较器已确定经递增第一计数器值(例如,存取操作的数目)小于阈值的实例中,在操作255处,第二计数器可接收返回的所选未经递增计数(例如,0)。然而,在其中比较器已确定第一计数器计数值匹配阈值的实例中,在操作255处,第二计数器可接收返回的所选经递增计数(例如,1)。

在其中比较器已接收到经递增计数的情况下,可触发维护操作,所述维护操作可包含耗损均衡操作。可通过存储器子系统执行维护操作。所述操作可通过存储器子系统的固件起始。触发维护操作可通过指示第二计数器递增值(例如,指示比较器已经确定第一计数器已达到阈值)的第二计数器起始。

为起始维护操作,在操作260处,存储器子系统可将指示符传送到存储器子系统。这类指示的实例可为集合的特定物理地址,在所述特定物理地址中,第二计数器已指示递增值(例如,第一计数器已满足阈值)。这可触发存储器子系统在操作265处起始维护操作,所述维护操作可为耗损均衡操作。另外或替代地,存储器子系统可中止集合内的存储器单元上的存取操作并且将存取操作移动到存储器子系统中的不同存储器单元集合。在操作270处,存储器子系统可对集合内的存储器单元执行维护操作。维护操作可为耗损均衡操作,或其它类型的维护操作。维护操作可阻止在集合内存储器单元上执行存取操作。一旦在存储器单元上执行存取操作,便可反复地执行先前描述的触发维护操作的过程,所述过程可在耗损均衡已完成之后。

如先前所论述,存储器子系统可将第一阈值改变为可不同于第一阈值的第二阈值。在一些实例中,存储器子系统可将阈值改变为第二阈值。阈值的改变可基于多种因素,包含存储器子系统的老化程度、在存储器子系统上执行的存取操作的数目,或其它考虑因素。在操作280处,存储器子系统可接收第二阈值。在一些实例中,阈值可存储于存储器子系统的寄存器中。在一些情况下,存储器子系统可从主机系统经由消息接收新阈值。

类似于操作220,第二阈值可用作组合式计数器的阈值。可利用第二阈值再次执行连续操作(例如,235-270)。在一个实例中,第二阈值可小于第一阈值,并且可由存储器子系统在存储器单元的集合上执行的存取操作的数目先前已超过第二阈值时识别。在此情况下,比较器可确定已满足阈值。举例来说,无法在其中经修改的第二阈值小于当前存取操作计数值的情况下使用阈值与存取操作计数的匹配。比较器可确定存取操作计数大于阈值,这可满足阈值。在一些实例中,操作280可在不同于图2中所说明的位置的位置处发生。举例来说,在方法200期间的任一点处,第一阈值可改变为第二阈值并且通过存储器子系统确定(例如,操作280)。因此,改变的阈值(不管是第二阈值,如图2中所说明,还是第三阈值,抑或是任何其它数目的连续阈值)可由存储器子系统确定并且用作连续耗损均衡操作协调步骤的阈值。

图3说明根据如本文中所公开的实例的支持用于存储器系统的维护操作的计数系统300的实例。计数系统300可为用于存储器子系统内的个别存储器单元集合的计数系统的实例。参考图2所描述的存储器子系统可为这类存储器子系统的实例。在一些实例中,每一存储器单元集合可利用对应计数系统(例如,每一存储器单元集合可具有对应组合式计数器305)。因而存储器子系统中可存在多个计数系统。

计数系统300可包含组合式计数器305和存储器子系统控制器310。参考图1所描述的存储器子系统控制器115可为存储器子系统控制器的实例。存储器子系统控制器310可从主机系统接收命令存取操作命令和耗损均衡操作命令)。组合式计数器305可与存储器子系统控制器310耦合,这可允许存储器子系统控制器310和组合式计数器305在存储器子系统控制器310和组合式计数器305之间传送信息。传送的信息的实例可为存取操作命令、耗损均衡操作命令、阈值、递增指示和/或其它信息。

含有计数系统300的存储器子系统可从主机系统接收存取操作命令。存储器子系统控制器310可在对应于与组合式计数器305相关联的存储器集合的特定存储器单元上进行存取操作(例如,读取、擦除、写入和/或重写数据)。在一些实例中,组合式计数器305可从存储器子系统控制器310接收存取操作命令,所述存取操作命令可引向组合式计数器的对应集合内的存储器单元。组合式计数器305可包含第一计数器315和第二计数器345。第一计数器315可对组合式计数器305接收到的存取操作命令的数目计数。举例来说,第一计数器315可从存储器子系统控制器310接收存取操作命令。在接收到存取操作命令之后,第一计数器315可将当前存取操作计数输出到第一递增器325。第一递增器325可使存取操作的数目的值在存取操作的当前计数上以固定数目(例如,1)递增(例如,当存取操作的数目可为1时,递增到值2)。第一递增器325可将经递增存取操作计数输出到比较器330和第一选择器335。

存储器子系统可确定一个或多个阈值。如参考图2所描述,阈值可对应于在可执行维护操作之前在集合中的存储器单元上执行的存取操作的数目。耗损均衡操作是这类维护操作的实例。当在本文中描述耗损均衡操作时,可另外或替代地执行任何其它类型的维护操作。存储器子系统控制器310可将阈值传送到组合式计数器305。阈值320可为这类阈值的实例。在一些实例中,阈值320可为多种阈值。举例来说,阈值320可为1,000、5,000、30,000或其它更高或更低量。因此,在一些实例中,阈值320可设置供第一计数器315对存取操作的数目计数所使用的位数。举例来说,十一位可用于计数到对应阈值30,000。然而,在一些实例中,阈值下限值(例如,5,000)可使用较少位。然而,在一些实例中,用于阈值的位数可由最高阈值(例如,30,000)设置。

存储器子系统控制器310可将阈值320传送到比较器330。比较器330可为多种比较器电路的实例。比较器330可使用阈值320与从第一递增器325接收的存取操作的经递增计数进行比较。比较器330可将两个值(例如,阈值和经递增计数)进行比较,并且确定经递增值是否匹配阈值320。在一些实例中,阈值320可大于经递增计数。在此实例中,比较器330可将低信号(例如,0)输出到两个选择器组件:第一选择器335和第二选择器340。然而,在一些实例中,阈值320可满足经递增计数(例如,相同数目,或大于经递增计数)。在此实例中,比较器330可将高信号(例如,1)输出到第一选择器335和第二选择器340。

第一选择器335可选择输出到第一计数器315的计数值。第一选择器335可为多种选择器类型电路的实例,例如多路复用器、开关或其它类型的选择器电路。第一选择器335输出的计数可基于从比较器330接收的高信号或低信号(例如,分别为1或0)。举例来说,第一选择器335可在第二输入337处从第一递增器325接收经递增计数。第一选择器335也可在第一输入336处接收空(例如,0)值。第一选择器335也可在选择器输入338处从比较器330接收输出。选择器输入338可用以确定从第一选择器335(例如,通过输出339)输出哪个计数值(例如,第一输入336或第二输入337中的哪一个)并且返回到第一计数器315。计数值可为0(例如,来自空值输入)或其可为来自第一递增器325(例如,第二输入337)的经递增计数。

在0或经递增计数之间的选择可取决于在选择器输入338处接收到的值。举例来说,当选择器输入338(例如,比较器330的输出)是低值(例如,0)时,第一选择器335可将来自输出339的经递增计数输出到第一计数器315。此经递增计数接着可用作通过第一计数器315对在集合内的存储器单元上执行的存取操作的数目的当前计数。可利用如先前所描述的类似步骤使计数值反复递增,直到比较器330确定经递增计数匹配阈值320为止。在另一情况下,当选择器输入338是高值(例如,1)时,第一选择器335可将来自输出339的0值输出到第一计数器315。0值可用以重置第一计数器315的对在集合内的存储器单元上执行的存取操作的数目的计数。第一计数器315的计数重置为0可表示可发生耗损均衡操作。举例来说,将当前的计数重置为0可表示计数的值已从0递增到阈值320,并且可起始耗损均衡操作。可利用如先前所描述的类似步骤使当前的计数(例如,0)反复递增,直到再次达到阈值(例如,比较器330确定经递增计数匹配阈值320)。在一些情况下,第一选择器335和第二选择器340可额外或替代地分别包含比第一输入336和341、第二输入337和342以及选择器输入338和343更多的输入。举例来说,第一选择器335和第二选择器340可从例如递增器、比较器、计数器或其它类型的计数组件的其它组件接收更多输入。

组合式计数器305可包含第二计数器345、第二递增器350和第二选择器340。这些组件可用以对可在集合中的存储器单元上执行的维护操作的数目计数。在一些实例中,第二计数器345可对维护操作的当前值(例如,可执行的维护操作的次数)计数。第二计数器345可将耗损均衡操作的计数输出到第二递增器350和第二选择器340。第二递增器350可使耗损均衡操作的数目的计数在耗损均衡操作的当前计数上以固定数目(例如,1)递增(例如,当耗损均衡操作的数目是1时递增到2)。第二递增器350可将经递增耗损均衡操作计数输出到第二选择器340。

第二选择器340可选择耗损均衡操作计数的值输出到第二计数器345。类似于第一选择器335,第二选择器340可为多种选择器类型电路,例如多路复用器、开关或其它类型的选择器电路。如先前所论述,第二选择器340输出的计数可基于从比较器330接收的高信号或低信号(例如,分别为1或0)。举例来说,第二选择器340可在第二输入342处从第二递增器350接收经递增计数。第二选择器340也可在第一输入341处从第二计数器345接收当前计数。第二选择器340也可在选择器输入343处从比较器330接收输出。选择器输入343可用以确定将哪个计数值(例如,第一输入341或第二输入342)返回到第二计数器345。耗损均衡操作计数值可为当前计数(例如,来自第一输入341)或其可为经递增计数(来自第二输入342)。

在当前计数或经递增计数之间的选择可取决于在选择器输入343处接收到的值。举例来说,当选择器输入343(例如,比较器330的输出)是低值(例如,0)时,第二选择器340可将来自输出344的当前计数输出到第二计数器345。此计数可用作在集合中的存储器单元上执行的耗损均衡操作的数目的当前计数。此计数值无法递增是因为所述计数尚未通过第二递增器350。因而,在此实例中,计数值可在选择器输入343接收到低信号(例如,0)时保持相同计数值。在另一情况下,当选择器输入343是高值(例如,1)时,第二选择器340可在输出344处将经递增计数输出到第二计数器345。当前计数递增到较高值(例如,在第二选择器340处从0到1)可表示可发生用于集合中的存储器单元的耗损均衡操作。在此实例中,第二计数器345可与存储器子系统控制器310通信,所述存储器子系统控制器310可包含关于触发耗损均衡操作的信息,且存储器子系统控制器310可在集合的存储器单元中起始维护操作,如参考图2所描述。

在一些实例中,可确定对应于组合式计数器305的在集合内的存储器单元上执行的存取操作的数目的总计数。在一些情况下,如先前所论述,第一计数器315和第一递增器325可使存取操作的计数递增,直到比较器330确定经递增计数匹配阈值320。在一些实例中,当比较器330将经递增计数值与阈值320进行比较,并且确定所述值满足阈值320时,第一计数器315的计数可返回到0。在此情况下,第二选择器340可将耗损均衡操作的经递增计数返回到第二计数器345。第二计数器345可将集合的地址输出到存储器子系统控制器310,这可起始耗损均衡操作。在一些实例中,当比较器330随后确定存取操作的经递增计数(例如,第一递增器325的输出)满足阈值320时,第二计数器345可使用耗损均衡操作的此经递增值再次递增。然而,耗损均衡操作的当前计数(例如,第二计数器345的计数)可另外或替代地允许确定在集合中的存储器单元上执行的存取操作的总计数。举例来说,第一计数器315可从0递增到阈值320。一旦满足阈值320(这可指示当前存取操作数目),第二计数器345便可使计数递增。第二计数器345的经递增计数可被视为存取操作的计数已达到阈值320的次数。因此,在一些实例中,第二计数器345的计数可为阈值320的存取操作值的重复次数。换句话说,第二计数器345的计数可被视为耗损均衡操作计数乘以阈值320。在此实例中,可通过使第一计数器315的计数(例如,阈值320以下的当前存取操作数目)与第二计数器345的计数和阈值320的乘积(例如,耗损均衡操作的数目乘以耗损均衡操作的阈值)相加来确定组合式计数器305的总计数。因此,可通过利用第一计数器315的计数、第二计数器345的计数和阈值320来确定用于组合式计数器305的总存取操作数目。

图4说明根据如本文中所公开的实例的支持用于存储器系统的维护操作的计数系统400的实例。计数系统400可被配置成作为执行维护操作(例如耗损均衡操作)的部分,跟踪存储器单元集合上的存取操作。计数系统400可由控制器、软件、固件、硬件或其组合实施。

在一些计数系统中,计数系统可用以跟踪用于存储器单元集合的耗损均衡操作,使用全局最小值计数器和一或多个特定于集合的计数器跟踪全局最小值与特定集合之间的差。全局最小值计数器可跟踪具有最少存取操作量的存储器集合上的存取操作的值。特定于集合的计数器可跟踪集合的特定计数与全局最小值之间的差。使用这类类型的计数系统,可减小用以实施计数器的总位数。举例来说,代替维持用于每一集合的十六位计数器,所述系统可维持用于全局最小值十六位计数器和用于特定集合于的差计数器的小得多的计数器(例如,二、三、四、五、六、七或八位)。在这类系统中,当全局最小值计数器经更新或经递增时,特定于集合的差计数器中的每一个也可经更新。这类操作可消耗功率和计算资源。

本公开的方面通过包含被配置成使用全局计数器405、偏移计数器410和一或多个特定于集合的计数器415跟踪集合上的存取操作的计数器的存储器子系统来解决上述和其它缺陷。算法420可使用全局计数器405、偏移计数器410和一或多个特定于集合的计数器415中的每一个的值来确定在每一集合上执行的存取操作的计数425。计数系统400可被配置成允许在不必更新特定于集合的计数器415中的每一个的情况下更新全局计数器405(例如,全局最小值计数器)。可存在用以识别任何数目个存储器单元集合的任何数目个计数(例如,计数425-a、计数425-b、计数425-c……计数425-n)的任何数目个特定于集合的计数器(例如,特定于集合的计数器415-a、特定于集合的计数器415-b、特定于集合的计数器415-c……特定于集合的计数器415-n)。

全局计数器405可为全局最小值计数器的实例。全局计数器405可跟踪具有最少存取操作量的存储器集合上的存取操作的值。控制器可识别哪个集合具有最少存取操作量并且将全局计数器405设置为存取操作值。在一些情况下,随着在存储器单元集合上执行的存取操作的数目增加,可能需要更新全局计数器405

偏移计数器410可被配置成在不影响特定于集合的计数器415的情况下更新全局计数器405。偏移计数器410可为全局计数器的实例并且并且可用于确定一或多个集合的计数425。全局计数器405的值和偏移计数器410的值可用以确定在存储器单元集合上执行的存取操作的全局最低有效值。在一些情况下,全局最低有效值等同于全局最小值计数器的值。在一些实施方案中,当全局最低有效值改变时,控制器可更新或修改偏移计数器410的值,而非修改或更新全局计数器405的值。以此方式,至少在一些情况下,控制器可能够更新全局最低有效值而不更新特定于集合的计数器415的值。

特定于集合的计数器415可为跟踪在特定集合上执行的存取操作的实际计数425与全局计数器405之间的差的至少一些方面的计数器的实例。特定于集合的计数器415可被配置成与偏移计数器410和全局计数器405合作确定与特定集合相关联的计数425。

算法420可被配置成使用全局计数器405、偏移计数器410和特定于集合的计数器415的值确定在每一集合上执行的存取操作的计数425。方程式1说明可用作算法420的部分的程序的实例。

count=α ((β-γ)mod(δ))(1)

在方程式1中,项α可以指全局计数器405的值;项β可以指特定于集合的计数器415的值;项γ可以指偏移计数器410的值;且项δ可以指修饰符值。

实施算法420以确定集合上的存取操作的计数425的控制器可被配置成识别全局计数器405的值。全局计数器405的值可指示在存储器单元集合上执行的存取操作的基线数量。作为确定与特定存储器单元集合相关联的计数425-a的部分,控制器可确定特定于集合的计数器415-a的值与偏移计数器410的值之间的差。特定于集合的计数器415-a可与存储器单元集合中的第一集合相关联。偏移计数器410可用于指示相对于全局计数器405的值的全局偏移值。

实施算法420的控制器可被配置成使用取模运算识别余数。举例来说,控制器可使用特定于集合的计数器415-a的值和偏移计数器410的值与修饰符值或参数之间的差应用取模运算。修饰符值可为任何值。在一些情况下,修饰符值可与计数系统将容许的全局计数器405的值与特定于集合的计数器415的值之间的差的上限值相关。在一些情况下,修饰符值可与关联于特定于集合的计数器415的值的位数相关。

实施算法420的控制器可被配置成使全局计数器405的值与较早确定的余数相加。全局计数器405的值与余数的总和可为在特定集合上执行的存取操作的计数425-a(例如,数量)。

控制器可使用计数425确定是否执行维护操作(例如耗损均衡操作)。控制器可将计数425与阈值进行比较(如参考图2和3所描述)并且可基于所述比较起始维护操作。

图5示出说明根据本公开的方面的支持用于存储器系统的维护操作的一或多种方法500的流程图。方法500可由处理逻辑来执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法500可由图1的计数器150执行。虽然以特定顺序或次序来展示,但除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它方法是可能的。

在505处,处理装置可对存储器单元执行存取操作。

在510处,处理装置可基于对存储器单元执行存取操作而使第一计数器的值递增。

在515处,处理装置可确定第一计数器的经递增值满足阈值。

在520处,处理装置可基于确定第一计数器的经递增值满足阈值而使第二计数器的值递增。

在525处,处理装置可基于确定第一计数器的经递增值满足阈值而对存储器单元执行维护操作。

在一些实例中,如本文中所描述的设备可以执行一或多种方法,例如方法500。所述设备可包含可操作以致使设备执行本文中所描述的方法的控制器。举例来说,控制器可致使设备对存储器单元执行存取操作;基于对存储器单元执行存取操作而使第一计数器的值递增;确定第一计数器的经递增值满足阈值;基于确定第一计数器的经递增值满足阈值而使第二计数器的值递增;以及基于确定第一计数器的经递增值满足阈值而对存储器单元执行维护操作。

在其它实例中,所述设备可包含用于执行本文中所描述的方法的特征的特征、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体)。

描述用于执行方法500的设备。所述设备可包含用于对存储器单元执行存取操作的装置;用于至少部分地基于对存储器单元执行存取操作而使第一计数器的值递增的装置;用于确定第一计数器的经递增值满足阈值的装置;用于至少部分地基于确定第一计数器的经递增值满足阈值而使第二计数器的值递增的装置;以及用于至少部分地基于确定第一计数器的经递增值满足阈值而对存储器单元执行维护操作的装置。

在一些实例中,所述设备可支持用于至少部分地基于确定第一计数器的经递增值未能满足阈值而将第一计数器的值设置为经递增值的装置。

在一些实例中,所述设备可支持用于至少部分地基于确定第一计数器的经递增值满足阈值而将第一计数器的值设置为与第一计数器相关联的基线值的装置。

在一些实例中,所述设备可支持用于至少部分地基于确定第一计数器的经递增值满足阈值而将第二计数器的值设置为经递增值的装置。

在一些实例中,所述设备可支持用于至少部分地基于确定第一计数器的经递增值未能满足阈值而将第二计数器的值设置为第二计数器的当前值的装置。

在一些实例中,所述设备可支持用于接收指示第二阈值不同于所述阈值的消息的装置和用于确定第一计数器的经递增值满足在所述消息中接收到的第二阈值的装置,其中执行维护操作至少部分地基于确定第一计数器的经递增值满足第二阈值。

在一些实例中,所述设备可支持用于将第一计数器的经递增值与阈值进行比较的装置,其中确定第一计数器的经递增值满足阈值至少部分地基于比较,其中比较器电路将第一计数器的经递增值与阈值进行比较。

在一些实例中,维护操作包括耗损均衡操作。在一些实例中,第一选择器电路至少部分地基于确定第一计数器的经递增值是否满足阈值来设置第一计数器的值。在一些实例中,第一选择器电路包括具有第一数据输入、第二数据输入和选择输入的多路复用器,所述第一数据输入被配置成接收第一计数器的经递增值,所述第二数据输入被配置成接收与第一计数器相关联的基线值,且所述选择输入被配置成接收指示第一计数器的经递增值是否满足阈值的布尔值。

在一些实例中,第二选择器电路至少部分地基于确定第一计数器的经递增值是否满足阈值来设置第二计数器的值,且第二选择器电路包括具有第一数据输入、第二数据输入和选择输入的多路复用器,所述第一数据输入被配置成接收第二计数器的经递增值,所述第二数据输入被配置成接收第二计数器的值,且所述选择输入被配置成接收指示第一计数器的经递增值是否满足阈值的布尔值。

图6示出说明根据本公开的方面的支持用于存储器系统的维护操作的一或多种方法600的流程图。方法600可由处理逻辑来执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法600可由图1的计数器150执行。虽然以特定顺序或次序来展示,但除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它方法是可能的。

在605处,处理装置可对存储器单元执行存取操作。

在610处,处理装置可基于对存储器单元执行存取操作而使第一计数器的值递增。

在615处,处理装置可确定第一计数器的经递增值满足阈值。

在620处,处理装置可基于确定第一计数器的经递增值未能满足阈值而将第一计数器的值设置为经递增值。

在625处,处理装置可基于确定第一计数器的经递增值满足阈值而使第二计数器的值递增。

在630处,处理装置可基于确定第一计数器的经递增值满足阈值而对存储器单元执行维护操作。

图7示出说明根据本公开的方面的支持用于存储器系统的维护操作的一或多种方法700的流程图。方法700可由处理逻辑来执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法700可由图1的计数器150执行。虽然以特定顺序或次序来展示,但除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它方法是可能的。

在705处,处理装置可确定在存储器单元上执行的存取操作的第一数量满足第一阈值。

在710处,处理装置可基于确定在存储器单元上执行的存取操作的第一数量满足第一阈值而对存储器单元执行第一耗损均衡操作。

在715处,处理装置可接收指示第二阈值的消息。

在720处,处理装置可确定在执行第一耗损均衡操作之后在存储器单元上执行的存取操作的第二数量满足第二阈值。

在725处,处理装置可基于确定存取操作的第二数量满足第二阈值而对存储器单元执行第二耗损均衡操作。

所述设备可包含可操作以致使设备执行本文中所描述的方法的控制器。举例来说,控制器可致使设备确定在存储器单元上执行的存取操作的第一数量满足第一阈值;基于确定在存储器单元上执行的存取操作的第一数量满足第一阈值而对存储器单元执行第一耗损均衡操作;确定第二阈值;确定在执行第一耗损均衡操作之后在存储器单元上执行的存取操作的第二数量满足第二阈值;以及基于确定存取操作的第二数量满足第二阈值而对存储器单元执行第二耗损均衡操作。

在其它实例中,所述设备可包含用于执行本文中所描述的方法的特征的特征、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体)。

描述用于执行方法700的设备。所述设备可包含用于确定在存储器单元上执行的存取操作的第一数量满足第一阈值的装置;用于至少部分地基于确定在存储器单元上执行的存取操作的第一数量满足第一阈值而对存储器单元执行第一耗损均衡操作的装置;用于接收指示第二阈值的消息的装置;用于确定在执行第一耗损均衡操作之后在存储器单元上执行的存取操作的第二数量满足第二阈值的装置;以及用于至少部分地基于确定存取操作的第二数量满足第二阈值而对存储器单元执行第二耗损均衡操作的装置。

在一些实例中,所述设备可支持用于确定存取操作的第二数量超过第二阈值的装置,其中确定存取操作的第二数量满足第二阈值至少部分地基于确定存取操作的第二数量超过第二阈值。

在一些实例中,所述设备可支持用于确定存取操作的第二数量匹配第二阈值的装置,其中确定存取操作的第二数量满足第二阈值至少部分地基于确定存取操作的第二数量匹配第二阈值。

在一些实例中,所述设备可支持用于通过存储器装置至少部分地基于接收到所述消息而将第一阈值修改为第二阈值的装置,其中确定存取操作的第二数量满足第二阈值至少部分地基于将第一阈值修改为第二阈值。

在一些实例中,所述设备可支持用于在接收到消息之后对存储器单元执行存取操作的装置,其中确定存取操作的第二数量满足第二阈值是在执行存取操作之后发生。

图8示出说明根据本公开的方面的支持用于存储器系统的维护操作的一或多种方法800的流程图。方法800可由处理逻辑来执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法800可由图1的计数器150执行。虽然以特定顺序或次序来展示,但除非另有指定,否则可修改所述过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序进行,且一些过程可并行进行。另外,在各个实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它方法是可能的。

在805处,处理装置可识别与对存储器单元集合执行耗损均衡程序相关联的全局计数器,全局计数器的值指示在存储器单元集合上执行的存取操作的基线数量。

在810处,处理装置可确定特定于集合的计数器的值与偏移计数器的值之间的差,所述特定于集合的计数器与存储器单元集合中的第一集合相关联,偏移计数器用于指示相对于全局计数器的值的全局偏移值。

在815处,处理装置可识别差的余数和参数。

在820处,处理装置可基于使余数与全局计数器的值相加来识别在第一集合上执行的存取操作的数量。

在825处,处理装置可基于在第一集合上执行的存取操作的数量满足阈值而在第一集合上执行耗损均衡操作。

所述设备可包含可操作以致使设备执行本文中所描述的方法的控制器。举例来说,控制器可致使设备识别与对存储器装置中的存储器单元集合执行耗损均衡程序相关联的全局计数器,全局计数器的值指示在存储器单元集合上执行的存取操作的基线数量;确定特定于集合的计数器的值与偏移计数器的值之间的差,所述特定于集合的计数器与存储器单元集合中的第一集合相关联,偏移计数器用于指示相对于全局计数器的值的全局偏移值;识别差的余数和参数;基于使余数与全局计数器的值相加来识别在第一集合上执行的存取操作的数量;以及基于在第一集合上执行的存取操作的数量满足阈值而在第一集合上执行耗损均衡操作。

在其它实例中,所述设备可包含用于执行本文中所描述的方法的特征的特征、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体)。

描述一种用于执行方法800的设备。所述设备可包含用于识别与对存储器装置中的存储器单元集合执行耗损均衡程序相关联的全局计数器的装置,全局计数器的值指示在存储器单元集合上执行的存取操作的基线数量;用于确定特定于集合的计数器的值与偏移计数器的值之间的差的装置,所述特定于集合的计数器与存储器单元集合中的第一集合相关联,偏移计数器用于指示相对于全局计数器的值的全局偏移值;用于识别差的余数和参数的装置;用于至少部分地基于使余数与全局计数器的值相加来识别在第一集合上执行的存取操作的数量的装置;以及用于至少部分地基于在第一集合上执行的存取操作的数量满足阈值而在第一集合上执行耗损均衡操作的装置。

在一些实例中,所述设备可支持用于使用参数对差执行取模运算的装置,其中识别在第一集合上执行的存取操作的数量至少部分地基于执行取模运算和用于使余数与全局计数器的值相加的装置,其中识别在第一集合上执行的存取操作的数量至少部分地基于使余数与值相加。

在一些实例中,所述设备可支持用于识别存储器单元集合中的具有最少存取操作数量的第二集合的装置;用于识别在第二集合上执行额外存取操作的装置;以及用于至少部分地基于识别在第二集合上执行额外存取操作而使偏移计数器的值递增的装置。

在一些实例中,在存储器单元集合上执行的存取操作的全局最低有效值至少部分地基于全局计数器的值和偏移计数器的值,且在不修改特定于集合的计数器的一或多个值的情况下更新在存储器单元集合上执行的存取操作的全局最低有效值。

图9说明根据如本文中所公开的实例的支持用于存储器系统的维护操作的计算机系统900的实例机器。计算机系统900可包含用于致使机器执行本文中所描述的技术中的任何一或多种的指令集。在一些实例中,计算机系统900可对应于主机系统(例如,参考图1所描述的主机系统105),其包含、耦合到或使用存储器子系统(例如,参考图1所描述的存储器子系统110)或可用以执行控制器的操作(例如,以执行操作系统从而执行对应于参考图1所描述的计数器150的操作)。在一些实例中,机器可连接(例如,网络连接)到lan、内联网、外联网或互联网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。

机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定由机器采取的动作的指令集的任何机器。另外,虽然说明单个机器,但还应认为术语“机器”包含机器的任何总集,所述总集单独地或共同地执行一(或多个)指令集以执行本文中所论述的方法中的任何一或多种。

实例计算机系统900包含处理装置905、主存储器910(例如,只读存储器(rom)、快闪存储器、dram,例如同步dram(sdram)或rdram等)、静态存储器915(例如,快闪存储器、静态随机存取存储器(sram)等),以及数据存储系统925,其经由总线945彼此通信。

处理装置905表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置905也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置905被配置成执行指令935以用于执行本文中所论述的操作和步骤。计算机系统900可另外包含网络接口装置920以在网络940上通信。

数据存储系统925可包含机器可读存储媒体930(也称为计算机可读媒体),其上存储有一或多个指令集935或体现本文中所描述的方法或功能中的任一或多种的软件。指令935还可在由计算机系统900执行期间完全或至少部分地驻存在主存储器910内和/或处理装置905内,主存储器910和处理装置905也构成机器可读存储媒体。机器可读存储媒体930、数据存储系统925和/或主存储器910可以对应于存储器子系统。

在一个实例中,指令935包含实施对应于计数装置950(例如,参考图1所描述的计数装置950)的功能性的指令。虽然机器可读存储媒体930示出为单个媒体,但术语“机器可读存储媒体”可包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还可包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一或多种的任何媒体。术语“机器可读存储媒体”可包含但不限于固态存储器、光学媒体和磁性媒体。

可使用多种不同技术和技艺中的任一种来表示本文中描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个以上描述中参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号说明单个信号;然而,所属领域的一般技术人员将理解,所述信号可表示信号总线,其中所述总线可具有多种位宽度。

如本文中所使用,术语“虚拟接地”是指保持在大约零伏(0v)的电压下而不直接与地耦合的电路节点。因此,虚拟接地的电压可在时间上为波动的且在稳定状态下返回到近似0v。可使用例如由运算放大器和电阻器组成的分压器的各种电子电路元件实施虚拟接地。其它实施方案也是可能的。“虚拟接地”或“虚拟地接地”是指连接到约0v。

术语“电子连通”、“导电接触”、“连接”和“耦合”可以指支持信号在组件之间流动的组件之间的关系。如果组件之间存在可在任何时间支持组件之间的信号流动的任何导电路径,则认为所述组件彼此电子连通(导电接触或连接或耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)的组件之间的导电路径可以是开路或闭路。连接的组件之间的导电路径可以是组件之间的直接导电路径,或连接的组件之间的导电路径可以是可以包含例如开关、晶体管或其它组件等中间组件的间接导电路径。在一些情况下,例如,可以使用例如开关或晶体管等一或多个中间组件将连接的组件之间的信号流动中断一段时间。

术语“耦合”指代从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传达,在闭路关系中,信号能够通过导电路径在组件之间传达。当例如控制器等组件将其它组件耦合在一起时,组件起始允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。

术语“隔离”指代信号当前无法在组件之间流动的组件之间的关系。如果组件之间存在开路,则它们彼此隔离。举例来说,由定位在两个组件之间的开关间隔开的所述组件在开关断开时彼此隔离。当控制器隔离两个组件时,控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。

如本文中所使用,术语“电极”可指电导体,且在一些情况下,可用作到存储器单元或存储器阵列的其它组件的电接点。电极可包含迹线、导线、导电线、导电层等,其提供存储器阵列的元件或组件之间的导电路径。

本文中所论述的包含存储器阵列的装置可形成于半导体衬底上,例如硅、锗、硅锗合金、砷化镓、氮化镓等。在一些情况下,衬底为半导体晶片。在其它情况下,衬底可为绝缘体上硅(soi)衬底,例如玻璃上硅(sog)或蓝宝石上硅(sop),或另一衬底上的半导体材料的外延层。可通过使用包括(但不限于)磷、硼或砷的各种化学物质的掺杂,控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入,或通过任何其它掺杂方法,执行掺杂。

本文中所论述的开关组件或晶体管可表示场效应晶体管(fet),且包括包含源极、漏极和栅极的三端子装置。所述端子可通过例如金属的导电材料连接到其它电子元件。源极和漏极可为导电的,且可包括经重掺杂(例如,简并)半导体区。源极与漏极可通过经轻掺杂半导体区或沟道分隔开。如果沟道是n型(例如,大部分载流子为信号),那么fet可以被称作n型fet。如果沟道是p型(即,大部分载流子为电洞),那么fet可以被称作p型fet。沟道可被绝缘栅极氧化物端封。可通过将电压施加到栅极,控制沟道导电性。举例来说,将正电压或负电压分别施加到n型fet或p型fet可导致沟道变得导电。当大于或等于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“接通”或“启动”。当小于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“断开”或“撤销启动”。

本文中结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示范性”是指“充当实例、例子或说明”,且不“优选于”或“优于”其它实例。具体实施方式包含提供对所描述的技术的理解的特定细节。然而,可在没有这些具体细节的情况下实践这些技术。在一些例子中,以框图的形式展示众所周知的结构和装置以免混淆所描述的实施例的概念。

在附图中,相似的组件或特征可以具有相同的附图标记。此外,通过遵循虚线和第二标记的参考标记可以区分相同类型的各种组件,这些虚线和第二标记在相似组件当中予以区分。如果在说明书中仅使用第一参考标记,那么描述适用于具有相同第一参考标记而与第二参考标记无关的类似组件中的任一个。

结合本文中的公开内容所描述的各种说明性块和模块可使用通用处理器、dsp、asic、fpga或设计成执行本文中所描述的功能的其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合(例如,dsp和微处理器的组合、多个微处理器、与dsp核心结合的一或多个微处理器,或任何其它此类配置)。

本文描述的功能可以硬件、由处理器执行的软件、固件或其任何组合来实施。如果以由处理器执行的软件实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体传输。其它实例和实施方案在本公开和所附权利要求书的范围内。举例来说,归因于软件的性质,上文所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或任何这些的组合实施。实施功能的特征也可在物理上位于各个位置处,包含经分布以使得功能的各部分在不同物理位置处实施。此外,如本文中(包含在权利要求书中)所使用,如在项列表(例如,后加例如“中的至少一个”或“中的一或多个”的短语的项列表)中所使用的“或”指示包含端点的列表,使得例如a、b或c中的至少一个的列表意指a或b或c或ab或ac或bc或abc(即,a和b和c)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件a”的示范性步骤可基于条件a和条件b两者。换句话说,如本文中所使用,短语“基于”应同样地解释为短语“至少部分地基于”。

计算机可读媒体包含非暂时性计算机存储媒体以及包含促进将计算机程序从一处传递到另一处的任何媒体的通信媒体两者。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可以包括ram、rom、电可擦除可编程只读存储器(eeprom)、光盘(cd)rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以携载或存储呈指令或数据结构形式的所要程序代码装置且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。并且,恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文中所使用,磁盘和光盘包含cd、激光光盘、光学光盘、数字多功能光盘(dvd)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合也包含在计算机可读媒体的范围内。

提供本文描述以使得所属领域的技术人员能够制造或使用本公开。对本公开的各种修改对所属领域的技术人员来说将是显而易见的,且本文所定义的一般原理可在不脱离本公开的范围的情况下应用于其它变体。因此,本公开不限于本文描述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。

再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜