存储器装置通电之后存储器装置的块的电压块组选择的制作方法

文档序号:31713857发布日期:2022-10-04 20:47阅读:58来源:国知局
存储器装置通电之后存储器装置的块的电压块组选择的制作方法

1.本公开的实施例大体上涉及存储器子系统,且更具体地说涉及管理存储器装置通电之后存储器装置的块的电压块组选择。


背景技术:

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


技术实现要素:

3.本公开的一方面提供一种系统,所述系统包括:存储器装置;以及处理装置,其以操作方式耦合到所述存储器装置以执行包括以下的操作:检测与所述存储器装置相关联的上电事件;扫描所述存储器装置的多个块的一或多个块以确定与所述一或多个块的每一块相关联的相应编程后时间(tap);基于所述一或多个块的所述每一块的所述相应tap估计所述上电事件之前的下电状态的持续时间;以及基于所述下电状态的所述持续时间更新与所述存储器装置相关联的所述多个块的电压块组指派。
4.本公开的另一方面提供一种方法,所述方法包括:由处理装置检测与存储器装置相关联的上电事件;识别与同所述存储器装置相关联的多个电压块组的最新电压块组相关联的最旧块;在所述存储器装置的所述上电事件之后通过扫描所述最旧块确定对应于所识别块的tap的第二电压块组;以及响应于确定所述最新电压块组与所述第二电压块组匹配,中止针对所述存储器装置的块的块组选择过程。
5.本公开的另一方面提供一种包括指令的非暂时性计算机可读存储介质,所述指令当由处理装置执行时致使所述处理装置执行包括以下的操作:检测与所述存储器装置相关联的上电事件;扫描所述存储器装置的多个块的一或多个块以确定与所述一或多个块的每一块相关联的相应tap;基于所述一或多个块的所述每一块的所述相应tap估计所述上电事件之前的下电状态的持续时间;以及基于所述下电状态的所述持续时间更新与所述存储器装置相关联的所述多个块的电压块组指派。
附图说明
6.根据下文给出的详细描述和本公开的一些实施例的附图,将更充分地理解本公开。
7.图1示出根据本公开的一些实施例包含存储器子系统的实例计算系统。
8.图2示意性地示出根据本公开的实施例由存储器子系统控制器维持的用于使块与电压块组相关联的实例元数据。
9.图3a描绘根据本公开的一或多个方面的框图,其示出存储器装置通电之后存储器装置的块的电压块组选择的实例方法。
10.图3b描绘根据本公开的一或多个方面的框图,其示出基于邻近电压块组之间的块转变的存储器装置通电之后存储器装置的块的电压块组选择的实例方法。
11.图4描绘根据本公开的一或多个方面的框图,其示出基于非邻近电压块组之间的块转变的存储器装置通电之后存储器装置的块的电压块组选择的实例方法。
12.图5是根据本公开的一些实施例使用块的启发式数据的存储器装置的上电事件之后存储器装置的块的电压块组选择的实例方法的流程图。
13.图6是根据本公开的一些实施例基于表示存储器装置的下电状态的持续时间的偏移执行上电事件之后存储器装置的块的电压块组选择的实例方法的流程图。
14.图7示出计算机系统的实例机器,所述实例机器内可执行用于致使所述机器执行本文中所论述的方法中的任何一或多种的指令集。
具体实施方式
15.本公开的实施例是针对存储器装置上电之后存储器装置的块的电压块组选择。存储器子系统可以是存储装置、存储器模块或存储装置与存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可提供待存储在存储器子系统处的数据,且可请求待从存储器子系统检索的数据。
16.存储器子系统可以利用一或多个存储器装置,包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合,来存储由主机系统提供的数据。在一些实施例中,非易失性存储器装置可由与非(nand)型快闪存储器装置提供。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。每一裸片可以由一或多个平面组成。平面可分组为逻辑单元(lun)。对于一些类型的非易失性存储器装置(例如,nand装置),每一平面由物理块的集合组成。“块”在本文中将指代邻接或非邻接的存储器页的集合。“块”的实例为“可擦除块”,其是存储器的最小可擦除单元,而“页”是存储器的最小可写入单元。每一页包含存储器单元集合。存储器单元为存储信息的电子电路。
17.数据操作可由存储器子系统执行。数据操作可为主机起始的操作。举例来说,主机系统可在存储器子系统上起始数据操作(例如,写入、读取、擦除等)。主机系统可将存取请求(例如,写入命令、读取命令)发送到存储器子系统,以便将数据存储在存储器子系统处的存储器装置上,且从存储器子系统上的存储器装置读取数据。如由主机请求所指定,待读取或写入的数据在下文中称作“主机数据”。主机请求可包含用于主机数据的逻辑地址信息(例如,逻辑块地址(lba)、名称空间),其为主机系统与主机数据相关联的位置。逻辑地址信息(例如,lba、名称空间)可以是主机数据的元数据的部分。元数据还可以包含错误处理数据(例如,ecc码字、奇偶校验码)、数据版本(例如,用于区分所写入数据的年龄)、有效位图(哪一lba或逻辑传送单元包含有效数据)等。
18.存储器装置包含多个存储器单元,其中的每一个可取决于存储器单元类型存储一或多个信息位。可通过将某一电压施加到存储器单元来编程存储器单元(向其写入),这使得存储器单元保持电荷,从而允许调制由存储器单元产生的电压分布。此外,精确地控制存储器单元所存储的电荷的量允许建立对应于不同逻辑电平的多个阈值电压电平,从而有效地允许单个存储器单元存储多个信息位:以2n个不同阈值电压电平操作的存储器单元能够
存储n个信息位。因此,可通过将存储器单元所展现的测得电压与一或多个参考读取电压电平进行比较以便区分用于单层级单元的两个逻辑电平以及用于多层级单元的多个逻辑电平来执行读取操作。
19.归因于被称为缓慢电荷损失的现象,存储器单元的阈值电压随着单元的电荷降级而随时间改变,这被称为“时间电压移位”(因为使电荷降级会使电压分布沿着电压轴朝向较低电压电平移位)。阈值电压首先快速改变(紧接在存储器单元被编程之后),且接着相对于自从单元编程事件以来经过的时间以大致对数线性方式减慢。因此,未能减轻缓慢电荷损失所导致的时间电压移位可能导致读取操作中的位错误率增加。
20.然而,各种常见的实施方案无法充分解决时间电压移位,或采用导致高位错误率和/或展现其它缺点的低效策略。本公开的实施例通过实施采用读取阈值电压块组(在下文中为电压块组)的集合的存储器子系统且基于每一块的编程后时间而向电压块组中的一个指派存储在存储器子系统的存储器装置处的每一块来解决上述和其它缺陷。电压块组表示可用于在给定块处执行读取操作的读取电平阈值电压的集合,使得每一读取电平阈值电压对应于谷值,其中每一谷值为待读取的块的两个邻近数据状态之间的距离。举例来说,对于存储3个位的tlc块,可存在8个数据状态(即,电平)和7个谷值。因此,用于tlc块的每一电压块组具有7个偏移,每一谷值具有一个偏移。在一些实施方案中,读取可与页相关联,并且每一页类型对应于某些谷值。对于页读取,从指派到含有页的块的块组读取适当偏移。通过用于表示电平的格雷码(gray code)确定每一页类型的所述一或多个谷值。格雷码指代二进制数字系统,其中两个连续谷值仅相差一个位(例如二进制数字)。在tlc块上,块的一些部分可以是每存储器单元存储2个位(产生4个数据状态)的多层级单元(mlc),或每存储器单元存储1个位的单层级单元(slc)。对于mlc及slc部分,可分别存在3个和1个偏移。块与裸片和电压块组的关联可存储在由存储器子系统控制器维持的相应元数据表中。
21.如上文所阐释,存储器装置的块到电压块组的指派是基于每一块的编程后时间(tap),其据推测包含对块进行编程之后流逝的时间(甚至在存储器装置下电时)。相应地,为了准确地将块指派到电压块组,每一块的tap可在存储器装置的下电状态之后存储器装置通电时更新以反映下电状态的持续时间。这可通过在存储器装置上电之后扫描块且估计每一块的新tap来完成。然而,在存储器装置上电之后扫描存储器装置的每一块可能为存储器装置引入显著的性能损失。因此,本公开的实施例通过提供技术来解决此限制,所述技术快速估计存储器装置的下电状态的持续时间,且基于下电状态的所估计持续时间更新到存储器装置的一些或所有块的电压块组指派,因此使存储器装置的上电事件之后扫描存储器装置的每个块的性能问题最小化。
22.根据本公开的实施例,存储器装置的上电事件指示到存储器装置的电力已恢复,且可执行一组操作以估计上电事件之前存储器装置下电所持续的时间周期。在一实施例中,可估计下电持续时间以便更新存储器装置的块的电压块组指派,同时使待扫描用于每一块的电压块组选择的块的数目最小化。在一个实施例中,可扫描存储器装置的块的子集以确定与块的子集的每一块相关联的编程后时间(tap)。在每一块的tap包含存储器装置的上电时间和存储器装置的下电时间两者的条件下,在下电时间已结束之后通过扫描给定块估计所述块的tap可用于估计存储器装置的下电时间。
23.在一个实施例中,可通过识别在存储器装置的下电状态之前指派到存储器装置的
最新电压块组的最旧块来估计存储器装置的下电状态的持续时间。最新电压块组在本文中可以指代具有最短tap值(例如,在分钟的范围内)的电压块组,使得刚刚被编程的存储器装置的块可指派到最新电压块组。类似地,较旧电压块组可以指代具有较大tap值(例如,在天或周的范围内)的电压块组,使得具有数小时或数天的tap的存储器装置的块可指派到较旧电压块组。随着时间的过去,归因于电荷损失和其它因素,经编程块可能需要不同读取电平阈值电压来实现有效的读取操作,且因此某一电压块组可将某一读取电平阈值电压提供到所述块以进行读取操作。随着读取电压改变,块也改变电压块组指派,使得所述块与具有实现块的数据的有效读取操作(基于块的tap)的读取电平阈值电压的电压块组相关联。
24.接着可通过在最旧块上执行扫描操作来确定最旧块的当前年龄。如果块的当前年龄继续适配在最新电压块组的tap值范围内,则可认为下电状态的持续时间太短而不能致使块转变到较旧电压块组。因此,针对存储器装置的剩余块的电压块组指派的扫描过程可中止。
25.另一方面,如果最旧块的当前年龄与最新电压块组不匹配但与最新电压块组之后的电压块组匹配,则可扫描来自最新电压块组的最新块以便估计下电状态的持续时间。可确定基于扫描结果的最新块的当前年龄,且如果最新块的当前年龄还与第二最新电压块组匹配,则可估计下电状态的持续时间大于最新块组的tap范围但不超出后续电压块组的tap范围。电压块组的tap范围可以指代用于确定待指派到电压块组的块的tap值的集合,使得当块的tap与同电压块组相关联的tap值中的一个匹配时,将所述块指派到所述电压块组。在此情况下,最新电压块组的所有块可指派到后续电压块组,且可执行最初指派到后续电压块组的块的子集的扫描操作以确定它们是否转变到下一电压块组。在一个实施例中,可跳过针对指派到比后续电压块组旧的电压块组的块的扫描操作。
26.另一方面,如果最新块的当前年龄与第二最新电压块组不匹配而是继续与最新电压块组的tap范围匹配,则可确定下电状态的持续时间短于最新电压块组的时间范围。接着可跳过针对指派到比最新电压块组旧的电压块组的块的扫描操作。此外,可扫描最新电压块组的块以确定每一块的当前年龄且相应地指派电压块组,如本文下文更详细地阐释。
27.在某些实施例中,在确定最新电压块组的最旧块的当前年龄之后,可确定最新电压块组的最旧块已经转变到邻近于最新电压块组的较旧电压块组(例如,最旧块已经从块组k转变到块组n,其中n》k-1》=0)。在此情况下,下电状态的持续时间可确定为足够长以致使块从块组0转变到块组n。当前指派到块组块组0到块组n-1的块可指派到块组n,而不执行进一步扫描操作。此外,可扫描电压块组n的块以确定来自电压块组n的任何块是否已经转变到电压块组n+1,如下文更详细地阐释。
28.在又一实施例中,可通过借助于例如执行指派到存储器装置的最新电压块组的最新块的扫描操作确定所述最新电压块组的最新块的当前年龄,来估计存储器装置的下电状态的持续时间。因为最新电压块组的最新块可解译为具有下电状态发生之前存储器装置的块的最短tap,所以最新块的当前年龄可被视为大致表示存储器装置的下电状态的持续时间。下电状态的所估计持续时间可接着作为偏移添加到存储器装置的每一块的所存储年龄,而不扫描另外的块。电压块组可接着基于存储器装置的块的经更新年龄而指派到存储器装置的块。
29.因此,根据本公开的一些实施例实施的系统和方法的优点包含(但不限于),优化
存储器装置上电之后电压块组选择过程的性能,使得更新到存储器装置的块的电压块组指派,同时使存储器子系统的性能开销最小化。因为存储器子系统可跟踪刚好在存储器装置断电之前每一块的tap以及电压块组指派,所以可使用块的启发式数据在存储器装置通电时快速更新针对存储器装置的块的电压块组指派,相对于准确性给予速度更大优先级,因此改进存储器装置的上电过程的性能。可在有规律的预定扫描时间表期间执行较精细粒度搜索算法以更准确地将块指派到存储器装置的电压块组。
30.图1示出根据本公开的一些实施例包含存储器子系统110的实例计算系统100。存储器子系统110可包含例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类装置的组合等介质。
31.存储器子系统110可为存储装置、存储器模块,或存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多介质控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡,以及硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小外形dimm(so-dimm),和各种类型的非易失性双列直插式存储器模块(nvdimm)。
32.计算系统100可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(iot)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网市售装置中的计算机),或这类包含存储器和处理装置(例如,处理器)的计算装置。
33.计算系统100可包括耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1示出耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到......”或“与......耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,不具有中间组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。
34.主机系统120可包含处理器芯片组以及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,nvdimm控制器),和存储协议控制器(例如,pcie控制器、sata控制器)。主机系统120使用存储器子系统110以例如将数据写入到存储器子系统110和从存储器子系统110读取数据。
35.主机系统120可经由物理主机接口耦合到存储器系统110。物理主机接口的实例包含(但不限于)串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行附接scsi(sas)、双数据速率(ddr)存储器总线、小型计算机系统接口(scsi)、双列直插式存储器模块(dimm)接口(例如,支持双数据速率(ddr)的dimm套接接口)、开放式nand快闪接口(onfi)、双数据速率(ddr)、低功率双数据速率(lpddr)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可以进一步利用nvm高速(nvm express,nvme)接口来访问组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号的接口。图1示出存储器子系统110作为实例。一般来说,主机系统120可经由同一通信连接、多个单独的通信连接和/或通信连接的组合访问多个存储器子系统。
36.存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器
装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是(但不限于)随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
37.非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(nand)型快闪存储器及就地写入存储器,例如三维交叉点(“3d交叉点”)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。nand型快闪存储器包含(例如)二维nand(2dnand)和三维nand(3d nand)。
38.存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(slc),可每单元存储一个位。其它类型的存储器单元,例如多层级单元(mlc)、三层级单元(tlc)和四层级单元(qlc),可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc,或这些的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的slc部分以及mlc部分、tlc部分或qlc部分。存储器装置130的存储器单元可以分组为可指代用于存储数据的存储器装置的逻辑单元的页。对于一些类型的存储器(例如,nand),页可被分组以形成块。
39.尽管描述了例如3d交叉点非易失性存储器单元阵列和nand型存储器(例如,2dnand、3d nand)等非易失性存储器装置,但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、或非(nor)快闪存储器,和电可擦除可编程只读存储器(eeprom)。
40.存储器子系统控制器115(为简单起见,控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据,和其它此类操作。存储器子系统控制器115可包含例如一或多个集成电路和/或离散组件、缓冲存储器或其组合等硬件。硬件可包含具有用以执行本文中所描述的操作的专用(即,硬译码)逻辑的数字电路系统。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或其它合适的处理器。
41.存储器子系统控制器115可包含处理器117(例如,处理装置),其被配置成执行存储在本地存储器119中的指令。在所示出的实例中,存储器子系统控制器115的本地存储器119包含嵌入式存储器,其被配置成存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流和例程的指令,包含处理存储器子系统110与主机系统120之间的通信。
42.在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(rom)。虽然图1中的实例存储器子系统110已示出为包含控制器115,但在本公开的另一实施例中,存储器子系统110不包含控制器115,而是可依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
43.一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所
述命令或操作转换为指令或适当命令以实现对存储器装置130的所要访问。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ecc)操作、加密操作、高速缓存操作,以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(lba)、名字空间)和物理地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收的命令转换成命令指令以存取存储器装置130,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
44.在一些实施方案中,存储器子系统110可使用分条方案,根据此方案,每个数据有效负载(例如,用户数据)利用存储器装置130(例如,nand型快闪存储器装置)的多个裸片,使得有效负载分布在整个裸片子集上,而其余的一或多个裸片用以存储错误校正信息(例如,奇偶校验位)。相应地,本文将使用分条方案跨存储器装置的裸片的集合分布的块的集合称为“超级块”。
45.存储器子系统110还可包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如,dram)和地址电路系统(例如,行解码器和列解码器),所述地址电路系统可从控制器115接收地址并解码所述地址以存取存储器装置130。
46.在一些实施例中,存储器装置130包含本地介质控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,执行存储器装置130上的介质管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其是与本地控制器(例如,本地控制器135)组合以在同一存储器装置封装内进行介质管理的原始存储器装置。受管理存储器装置的实例是受管理nand(mnand)装置。
47.存储器子系统110包含电压块组指派组件113,其可用于实施根据本公开的实施例的技术,用于基于存储器装置130-140的块的启发式数据在存储器装置130-140通电之后将电压块组指派到所述块。在一个实施方案中,启发式数据可以指代在存储器装置130-140的下电事件发生之前经捕获且存储在存储器装置130-140中的块的一或多个性质(例如,每一块的电压块组指派、每一块的相应编程后时间(tap)等)。在一个实施方案中,电压块组指派组件113可检测在存储器装置130-140的下电周期之后存储器装置130-140已上电。在一实施方案中,电压块组指派组件113可通过从存储器装置130-140的初始化模块接收硬件或软件通知来检测存储器装置的上电事件,所述硬件或软件通知指示存储器装置130-140正在上电或到存储器装置130-140的电力正在恢复。电压块组指派组件113可执行一组操作来估计存储器装置130-140在上电事件之前下电所持续的时间周期。在一实施方案中,电压块组指派组件113可估计下电持续时间以便基于存储器装置130-140的下电持续时间更新存储器装置的块的电压块组指派,同时使待扫描用于每一块的电压块组选择的块的数目最小化。作为实例,在几分钟范围内的下电持续时间可影响针对指派到具有几分钟的tap范围的较新电压块组的块的电压块组指派,但对针对指派到具有数小时或数天的tap范围的较旧电压块组的块的电压块组指派可具有最少影响或无影响。在此情况下,电压块组指派组件113可对指派到较新电压块组的块执行扫描操作,同时跳过针对指派到较旧电压块组的块的扫描操作,因为下电时间太短而不能影响较旧电压块组中的块的现有电压块组指派,如
本文下文中更详细地阐释。
48.在一个实施方案中,扫描存储器装置的块可指使用与给定电压块组相关联的读取电平电压偏移来对块执行读取操作且随后基于块的读取操作而确定一或多个可靠性统计数据。可靠性统计数据的一个实例是原始位错误率(rber)。rber对应于存储在块处的数据遇到的每码字的位错误的数目。码字可指所允许的最小读取单位。电压块组指派组件113可使用与第二电压块组相关联的读取电平电压偏移来执行第二组读取操作,并且基于第二组读取操作而确定相应的第二rber。在此情况下,电压块组指派组件113可选择与最小rber相关联的电压块组且可将选定块组指派到块。
49.在一些实施方案中,电压块组指派组件113可扫描存储器装置130-140的块的子集以确定与所述一或多个块的每一块相关联的年龄。作为实例,每一块的年龄可由块的编程后时间(tap)表示。因为每一块的tap包含存储器装置的上电时间和存储器装置的下电时间两者,所以在下电时间已结束之后例如通过扫描给定块估计所述块的tap可用于估计存储器装置130-140的下电时间。在一个实施方案中,电压块组指派组件113可通过识别在存储器装置的下电状态之前指派到存储器装置130-140的最新电压块组的最旧块来估计存储器装置130-140的下电状态的持续时间。电压块组指派组件113接着可通过对最旧块执行扫描操作来确定最旧块的当前年龄。如果块的当前年龄继续适配在最新电压块组内(例如,块的当前年龄在最新电压块组的tap值的范围内),则电压块组指派组件113可确定下电状态的持续时间太短而不能致使块转变到较旧电压块组。因此,电压块组指派组件113可中止针对存储器装置130-140的剩余块的电压块组指派的扫描过程。
50.另一方面,如果电压块组指派组件113确定最旧块的当前年龄与最新电压块组不匹配但与最新电压块组之后的电压块组匹配(例如,与第二最新电压块组匹配),则电压块组指派组件113可扫描来自最新电压块组的其它块以便估计下电状态的持续时间。在一个实施方案中,电压块组指派组件113可扫描在存储器装置的下电状态之前指派到存储器装置130-140的最新电压块组的最新块。电压块组指派组件113接着可基于扫描结果确定最新块的当前年龄。如果最新块的当前年龄还与第二最新电压块组匹配,则电压块组指派组件113可确定,因为最新电压块组的最旧块和最新电压块组的最新块已经转变到后续电压块组,所以下电状态的持续时间可大于最新块组的时间范围但不超出后续电压块组的时间范围。在此情况下,电压块组指派组件113可将最新电压块组的所有块指派到后续电压块组,且可执行最初指派到后续电压块组的块的子集的扫描,以确定它们是否转变到下一电压块组。电压块组指派组件接着可跳过针对指派到比后续电压块组旧的电压块组的块的扫描操作。
51.如果最新块的当前年龄与第二最新电压块组不匹配而是继续与最新电压块组的tap范围匹配,则电压块组指派组件113可确定下电状态的持续时间不超出最新电压块组的时间范围。电压块组指派组件113接着可跳过针对指派到比最新电压块组旧的电压块组的块的扫描操作。电压块组指派组件113还可扫描最新电压块组的块以确定每一块的当前年龄且相应地指派电压块组。
52.在某些实施方案中,在确定最新电压块组的最旧块的当前年龄之后,电压块组指派组件113可确定最新电压块组的最旧块已经转变到不邻近于最新电压块组的较旧电压块组。作为实例,电压块组指派组件113可确定最旧块已经从块组0转变到块组n。在此情况下,
电压块组指派组件113可确定下电状态的持续时间足够长以致使块从块组0转变到块组n。电压块组指派组件113接着可向块组n指派当前指派到块组0到块组n-1的n个块,而不执行另外的扫描。电压块组指派组件113还可扫描电压块组n的块以确定来自电压块组n的任何块是否已经转变到电压块组n+1,如本文下文中更详细地阐释。
53.在又一实施方案中,电压块组指派组件113可通过借助于例如执行指派到存储器装置130-140的最新电压块组的最新块的扫描操作确定所述最新电压块组的最新块的当前年龄,来估计存储器装置130-140的下电状态的持续时间。因为最新电压块组的最新块可解译为具有下电状态发生之前存储器装置的块的最短tap,所以电压块组指派组件113可确定最新块的当前年龄大致表示存储器装置130-140的下电状态的持续时间。电压块组指派组件113接着可将下电状态的所确定的持续时间作为偏移添加到存储器装置130-140的每一块的所存储年龄,而不扫描另外的块。电压块组指派组件113接着可基于存储器装置130-140的块的经更新年龄将电压块组指派到存储器装置130-140的块。
54.图2示意性地示出根据本公开的实施例由存储器子系统控制器维持的用于使块和/或分区与电压块组相关联的实例元数据。如图2示意性地示出,存储器子系统控制器可维持超级块表210、块表220和偏移表230。
55.超级块表210的每一记录指定与所指定超级块和分区组合相关联的块。在一些实施方案中,超级块表记录可进一步包含与所指定超级块和分区组合相关联的时间和温度值。
56.块表220由块编号作索引,使得块表220的每一记录为所述记录的索引所参考的块指定与块的相应裸片相关联的电压块组的集合。换句话说,块表220的每一记录包含向量,其每一要素指定与向量要素的索引所参考的裸片相关联的电压块组。
57.最后,偏移表230由块组编号作索引。偏移表230的每一记录指定与电压块组相关联的阈值电压偏移的集合(例如针对tlc、mlc和/或slc)。
58.元数据表210-230可存储在图1的一或多个存储器装置130上。在一些实施方案中,元数据表的至少一部分可高速缓存在图1的存储器子系统控制器115的本地存储器119中。
59.在操作中,在接收到读取命令后,存储器子系统控制器确定对应于读取命令所指定的逻辑块地址(lba)的物理地址。利用例如物理块编号和裸片识别符等物理地址分量来执行元数据表遍历:首先,使用超级块表210来识别对应于物理块编号的块族识别符;接着,将块识别符用作块表220的索引以便确定与块和裸片相关联的电压块组;最终,将所识别的电压块组用作到偏移表230的索引以便确定对应于块组的阈值电压偏移。存储器子系统控制器可接着将所识别的阈值电压偏移叠加地施加到基础电压读取电平,以便执行所请求的读取操作。
60.在图2的说明性实例中,超级块表210将超级块0的分区0映射到块4,利用所述块4作为到块表220的索引以便确定裸片0映射到电压块组3。后一值用作到偏移表的索引以便确定电压块组3的阈值电压偏移值。
61.图3a描绘根据本公开的一或多个方面的框图,其示出存储器装置通电之后存储器装置的块的电压块组选择的实例方法300。方法300可由处理逻辑执行,所述处理逻辑包含硬件(例如,电路系统、专用逻辑、可编程逻辑、微码等)、软件(例如,在处理器上运行以执行硬件模拟的指令),或其组合。在一些实施例中,方法300由图1的电压块组指派组件113执
行。在一个实施方案中,含有经分类块312和电压块组310的存储器装置可在存储器装置的下电状态的持续时间之后上电。经分类块312可依据每一块的编程后时间(tap)分类,且可在存储器装置进入下电状态之前向电压块组bin0、bin1或bin2中的一个指派经分类块312的每一块。电压块组指派可基于每一块的tap,使得如果块的tap在间隔314a内,则块指派到bin0,如果块的tap在间隔314b内,则块指派到bin1,且如果块的tap在间隔314c内或大于间隔314c,则块指派到bin2。
62.在操作330处,处理逻辑可检测到,在存储器装置的下电状态的周期之后,存储器装置上电。在一个实施方案中,处理逻辑可在从存储器装置的初始化模块接收指示存储器装置正上电的硬件或软件通知之后检测存储器装置的上电事件。处理逻辑可接着识别指派到bin0的最旧块“a”,且可继续扫描块a以确定块a是否已经转变到电压块组310的另一电压块组。在一个实施方案中,处理逻辑可基于扫描操作确定块a的当前tap。当处理逻辑确定块a的当前tap仍在间隔314a内时,处理逻辑确定下电状态的持续时间很可能短于间隔314a。处理逻辑接着中止针对剩余经分类块312的扫描过程,因为下电状态的持续时间不大可能已经导致存储器装置的较旧块中的电压块组转变。
63.图3b描绘根据本公开的一或多个方面的框图,其示出基于邻近电压块组之间的块转变的存储器装置通电之后存储器装置的块的电压块组选择的实例方法300。方法300可由处理逻辑执行,所述处理逻辑包含硬件(例如,电路系统、专用逻辑、可编程逻辑、微码等)、软件(例如,在处理器上运行以执行硬件模拟的指令),或其组合。在一些实施例中,方法300由图1的电压块组指派组件113执行。在一个实施方案中,含有经分类块312和电压块组310的存储器装置可在存储器装置的下电状态的持续时间之后上电。经分类块312可依据每一块的编程后时间(tap)分类,且可在存储器装置进入下电状态之前向电压块组bin0、bin1或bin2中的一个指派经分类块312的每一块。电压块组指派可基于每一块的tap,使得如果块的tap在间隔314a内,则块指派到bin0,如果块的tap在间隔314b内,则块指派到bin1,且如果块的tap在间隔314c内或大于间隔314c,则块指派到bin2。
64.处理逻辑可检测到在存储器装置的下电状态的周期之后存储器装置上电,且可接着识别指派到bin0的最旧块“a”,且可继续扫描块a以确定块a是否已经转变到电压块组310的另一电压块组。在操作352处,处理逻辑可基于扫描操作确定块a的当前tap。当处理逻辑确定块a的当前tap已经从间隔314a转变到间隔314b时,处理逻辑确定存储器装置的下电状态的持续时间很可能大于间隔314a但短于间隔314b。处理逻辑接着继续扫描经分类块312的更多块以进一步估计存储器装置的下电状态的更准确的持续时间。处理逻辑还中止针对指派到电压块组310的bin2的块的扫描操作,因为下电状态的持续时间不大可能影响电压块组bin2中的较旧块的电压块组指派。
65.在操作354a处,处理逻辑扫描在存储器装置的下电状态之前指派到bin0的最新块(块p),以确定存储器装置的上电事件之后块p的当前年龄。当处理逻辑确定块p的当前tap仍在间隔314a内时,处理逻辑确定存储器装置的下电状态的持续时间很可能短于间隔314a。处理逻辑接着跳过针对指派到电压块组bin1和bin2的块的扫描操作。处理逻辑还扫描bin0的额外块以确定已经转变到bin1的块。作为实例,处理逻辑可从最新块到最旧块扫描指派到bin0的经分类块。当处理逻辑到达bin0中剩余的最旧块时,处理逻辑可指定所述最旧块为边界块,且可将比边界块旧的块指派到bin1,而不进一步扫描较旧块。
66.或者,在操作354b处,处理逻辑扫描在存储器装置的下电状态之前指派到bin0的最新块(块p),且确定块p的当前tap已经转变到间隔314b。处理逻辑接着确定,因为bin0的块a和块p两者已经转变到bin1,所以下电状态的持续时间很可能大于间隔314a但不超出间隔314b。处理逻辑接着将bin0的所有块指派到块组1。处理逻辑还对最初指派到bin1的块的子集重复操作312-314b以确定它们是否转变到bin2。处理逻辑跳过针对指派到电压块组310的bin2的块的扫描操作。
67.图4描绘根据本公开的一或多个方面的框图,其示出基于非邻近电压块组之间的块转变的存储器装置通电之后存储器装置的块的电压块组选择的实例方法400。方法400可由处理逻辑执行,所述处理逻辑包含硬件(例如,电路系统、专用逻辑、可编程逻辑、微码等)、软件(例如,在处理器上运行以执行硬件模拟的指令),或其组合。在一些实施例中,方法400由图1的电压块组指派组件113执行。在一个实施方案中,含有经分类块312和电压块组310的存储器装置可在存储器装置的下电状态的持续时间之后上电。经分类块312可依据每一块的编程后时间(tap)分类,且可在存储器装置进入下电状态之前向电压块组bin0、bin1或bin2中的一个指派经分类块312的每一块。电压块组指派可基于每一块的tap,使得如果块的tap在间隔314a内,则块指派到bin0,如果块的tap在间隔314b内,则块指派到bin1,且如果块的tap在间隔314c内或大于间隔314c,则块指派到bin2。
68.类似于图3b,处理逻辑可检测到在存储器装置的下电状态的周期之后存储器装置上电,且可接着识别指派到bin0的最旧块“a”,且可继续扫描块a以确定块a是否已经转变到电压块组310的另一电压块组。在操作412处,处理逻辑可基于扫描操作确定块a的当前tap。当处理逻辑确定块a的当前tap已经从bin2的间隔314a转变到间隔314c时,处理逻辑确定存储器装置的下电状态的持续时间很可能大于间隔314b。处理逻辑接着继续基于存储器装置的下电状态的所估计持续时间调整经分类块312的电压块组指派。
69.在操作414处,在下电状态的所估计持续时间大于bin1的间隔314b的条件下,处理逻辑确定bin0和bin1的块具有大于间隔314b的当前年龄。处理逻辑接着向块组2指派bin0的块和bin1的块,而不扫描bin0和bin1的块。在操作416处,处理逻辑对最初指派到bin2的块的子集重复图3b的操作352-354b,以便确定一些块是否已经转变到后续电压块组,如本文中相对于图3b更详细地阐释。
70.图5是根据本公开的一些实施例使用块的启发式数据的存储器装置的上电事件之后存储器装置的块的电压块组选择的实例方法的流程图。方法500可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,处理装置上运行或执行的指令),或其组合。在一些实施例中,方法500由图1的电压块组指派组件113执行。虽然以特定序列或次序展示,但是除非另有指定,否则可修改操作的次序。因此,应理解,所示出的实施例仅为实例,且所示出的操作可以不同次序执行,且一些操作可并行地执行。另外,在一些实施例中,可省略一或多个操作。因此,在每个实施例中并不需要所说明的全部操作,且其它过程流是可能的。
71.在操作510处,处理逻辑检测与存储器装置相关联的上电事件。在一实施方案中,上电事件可以指代存储器装置的电力恢复或存储器装置的电力开关接通。处理逻辑可接着执行某些操作以估计存储器装置的下电状态的持续时间,从而基于下电状态的持续时间更新存储器装置的块的电压块组指派,如上文更详细地阐释。
72.在操作520处,处理逻辑扫描存储器装置的块的子集以确定上电事件发生之后每一块的相应当前年龄。在一实施方案中,存储器装置的块的当前年龄可以指代块的编程后时间(tap)。块的当前年龄可确定与块的当前年龄匹配的相应电压块组,如本文中更详细地阐释。
73.在操作530处,处理逻辑估计在上电事件之前存储器装置的下电状态的持续时间。处理逻辑基于所述一或多个被扫描块的当前年龄估计下电状态的持续时间。在一实施方案中,处理逻辑基于在存储器装置的下电状态期间存储器装置的块是否已经从第一电压块组转变到第二电压块组来估计下电状态的持续时间,如本文中在上文更详细地阐释。
74.在操作540处,在给定存储器装置的下电状态的所估计持续时间的情况下,处理逻辑基于下电状态的所估计持续时间更新存储器装置的块的电压块组指派,而不扫描存储器装置的额外块。在一实施方案中,处理逻辑可在下电状态的持续时间短于阈值时更新指派到较新电压块组的块的电压块组指派。另一方面,处理逻辑可在下电状态的持续时间长于第二阈值时更新指派到每一电压块组的块的电压块组指派,如本文中在上文更详细地阐释。
75.图6是根据本公开的一些实施例基于表示存储器装置的下电状态的持续时间的偏移执行上电事件之后存储器装置的块的电压块组选择的实例方法的流程图。方法600可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,处理装置上运行或执行的指令),或其组合。在一些实施例中,方法600由图1的电压块组指派组件113执行。虽然以特定序列或次序展示,但是除非另有指定,否则可修改操作的次序。因此,应理解,所示出的实施例仅为实例,且所示出的操作可以不同次序执行,且一些操作可并行地执行。另外,在一些实施例中,可省略一或多个操作。因此,在每个实施例中并不需要所说明的全部操作,且其它过程流是可能的。
76.在操作610处,处理逻辑检测与存储器装置相关联的上电事件,且相应地扫描存储器装置的块组0的块0。在一实施方案中,block0可以是块组0的最新块,且块组0可以是存储器装置的最新电压块组。在操作620处,处理逻辑可在上电事件之后且基于扫描结果确定块0的当前年龄,如本文中在上文更详细地阐释。
77.在操作630处,处理逻辑基于块0的当前年龄确定存储器装置的下电状态的持续时间。在一个实施方案中,因为块0作为最新电压块组的最新块具有下电状态发生之前存储器装置的块的最短tap,所以处理逻辑确定块0的当前年龄大致表示存储器装置的下电状态的持续时间。
78.在操作640处,处理逻辑将下电状态的所确定持续时间作为偏移添加到存储器装置的每一块的所存储年龄,而不必扫描所述块以确定实际当前年龄,因此缩减另外的扫描操作的时间和带宽。处理逻辑接着在操作650处基于存储器装置的块的经更新年龄更新存储器装置的块的电压块组指派。作为实例,对于存储器装置的块中的每一块,处理逻辑选择待指派到块的电压块组,使得选定电压块组的tap值的范围包含块的经更新年龄,如本文中在上文更详细地阐释。
79.图7示出计算机系统700的实例机器,所述实例机器内可执行用于致使所述机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统700可对
应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用于执行控制器的操作(例如,执行操作系统,以执行对应于图1的电压块组指派组件113的操作)。在替代实施例中,机器可连接(例如,联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础架构或环境中的服务器或客户端机器在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
80.所述机器可为个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(循序或以其它方式)指定待由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述机器个别地或联合地执行指令的集合(或多个集合)以执行本文中所论述的方法中的任何一或多种。
81.实例计算机系统700包含处理装置702、主存储器704(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rambus dram(rdram)等)、静态存储器706(例如,快闪存储器、静态随机存取存储器(sram)等),以及数据存储系统718,其经由总线730彼此通信。
82.处理装置702表示一或多个通用处理装置,例如微处理器、中央处理单元等。更确切地说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置702也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置702被配置成执行用于执行本文中所论述的操作和步骤的指令726。计算机系统700可进一步包含网络接口装置708以在网络720上通信。
83.数据存储系统718可以包含机器可读存储介质724(也称为计算机可读介质),其上存储有一或多个指令集726或体现本文中所描述的任何一或多种方法或功能的软件。指令726还可在其由计算机系统700执行期间完全或至少部分地驻留在主存储器704内和/或处理装置702内,主存储器704和处理装置702也构成机器可读存储介质。机器可读存储介质724、数据存储系统718和/或主存储器704可对应于图1的存储器子系统110。
84.在一个实施例中,指令726包含用以实施对应于图1的电压块组指派组件113的功能性的指令。虽然机器可读存储介质724在实例实施例中展示为单个介质,但术语“机器可读存储介质”应被认为包含存储所述一或多个指令集的单个介质或多个介质。术语“机器可读存储介质”还应被认为包含能够存储或编码供机器执行的指令集且致使机器执行本公开的方法中的任何一种或多种的任何介质。术语“机器可读存储介质”应相应地被理解为包含(但不限于)固态存储器、光学介质和磁性介质。
85.已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。算法在这里并且通常被认为是引起所要结果的操作的自洽序列。操作为要求对物理量进行物理操纵的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操纵的电或磁信号的形式。主要出于常见使用的原因,有时将这些信号称为位、值、要素、符号、字符、项、数字等已证实是方便的。
86.然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅是应用于这些量的方便的标签。本公开可涉及将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操纵和变换为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
87.本发明还涉及用于执行本文中的操作的设备。此设备可以出于既定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储介质中,例如(但不限于)任何类型的盘(包含软盘、光盘、cd-rom和磁光盘)、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或适合于存储电子指令的任何类型的介质,它们各自耦合到计算机系统总线。
88.本文中呈现的算法和显示并不与任何特定计算机或其它设备在本质上相关。各种通用系统可根据本文中的教示与程序一起使用,或可证明构造更专用的设备来执行所述方法是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。应了解,可使用多种编程语言来实施本文中所描述的本公开的教示。
89.本公开可以提供为计算机程序产品或软件,其可以包含在其上存储有指令的机器可读介质,所述指令可以用于编程计算机系统(或其它电子装置)以执行根据本公开的过程。机器可读介质包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)介质包含机器(例如,计算机)可读存储介质,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储介质、光学存储介质、快闪存储器组件等。
90.在前述说明书中,已参考本公开的特定实例实施例描述了本公开的实施例。将显而易见的是,可以在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开作出各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1