用于存储器装置的基于块族的错误避免的制作方法



1.本公开的实施例大体上涉及存储器子系统,且更明确来说,涉及用于存储器装置的基于块族(block family)的错误避免。


背景技术:



2.存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统将数据写入在存储器装置处及从所述存储器装置检索数据。
附图说明
3.从下文给出的详细描述及从本公开的一些实施例的附图将更加完全地理解本公开。
4.图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
5.图2示意性地说明根据本公开的一些实施例的由三电平存储器单元展现的缓慢电荷损失引起的时间电压移位。
6.图3描绘说明根据本公开的一些实施例的阈值电压偏移对编程之后的时间(即,自块已被编程以来过去的时段的相依性的实例曲线图。
7.图4示意性地说明根据本公开的实施例的一组预定义阈值电压偏移分格。
8.图5示意性地说明由根据本公开的实施例操作的存储器子系统控制器的块族管理器组件实施的块族管理操作。
9.图6示意性地说明根据本公开的实施例选择块族进行校准。
10.图7示意性地说明根据本公开的实施例的由存储器子系统控制器维持的用于使块及/或分区与块族相关联的实例元数据。
11.图8是由根据本公开的一些实施例操作的存储器子系统控制器实施的块族管理的实例方法800的流程图。
12.图9是由根据本公开的一些实施例操作的存储器子系统控制器执行读取操作的实例方法800的流程图。
13.图10是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
14.本公开的实施例涉及用于存储器装置的基于块族的错误避免。存储器子系统可为存储装置、存储器模块或存储装置与存储器模块的混合。下文结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含例如存储数据的存储器装置的一或多个组件的存储器子系统。主机系统可提供将存储在存储器子系统处的数据且可请求将从存储器子系统检索的数据。
15.存储器子系统可利用一或多个存储器装置(包含不同类型的非易失性存储器装置
及/或易失性存储器装置的任何组合)来存储由主机系统提供的数据。在一些实施例中,非易失性存储器装置可由与非(nand)类型快闪存储器装置提供。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置是一或多个裸片封装。每一裸片可由一或多个平面组成。平面可为分组成逻辑单元(lun)。对于一些类型的非易失性存储器装置(例如nand装置),每一平面由一组物理块组成。每一块由一组页面组成。每一页面由一组存储器单元(“若干单元”)组成。单元是存储信息的电子电路。
16.数据操作可由存储器子系统执行。数据操作可为主机启动的操作。举例来说,主机系统可在存储器子系统上启动数据操作(例如写入、读取、擦除等)。主机系统可将存取请求(例如写入命令、读取命令)发送到存储器子系统,例如将数据存储在存储器子系统处的存储器装置上及从存储器子系统上的存储器装置读取数据。如由主机请求指定的将读取或写入的数据在下文称为“主机数据”。主机请求可包含主机数据的逻辑地址信息(例如逻辑块地址(lba)、命名空间),其是主机系统与主机数据相关联的位置。逻辑地址信息(例如lba、命名空间)可为主机数据的元数据的部分。元数据还可包含错误处置数据(例如ecc码字、奇偶校验码)、数据版本(例如,用于区别写入数据的年限)、有效位图(哪些lba或逻辑传送单元含有有效数据)等。
17.存储器装置包含多个存储器单元,其中每一者可取决于存储器单元类型存储一或多个信息位。存储器单元可通过将特定电压施加到存储器单元来编程(被写入),此导致电荷被存储器单元保持,从而允许调制由存储器单元产生的电压分布。此外,精确控制由存储器单元存储的电荷的量允许建立对应于不同逻辑电平的多个阈值电压电平,从而有效地允许单个存储器单元存储多个信息位:以2n个不同阈值电压电平操作的存储器单元能够存储n个信息位。在本文中“阈值电压”应指代定义对应于两个逻辑电平的两个相邻电压分布之间的边界的电压电平。因此,读取操作可通过比较由存储器单元展现的经测量电压与一或多个参考电压电平以便在用于单电平单元的两个逻辑电平之间及在用于多电平单元的多个逻辑电平之间作出区分来执行。
18.由于称为缓慢电荷损失的现象,存储器单元的阈值电压随着单元的电荷降级而随时间发生变化,此称为“时间电压移位”(因为降级电荷会致使电压分布沿着电压轴朝向较低电压电平移位)。阈值电压首先快速改变(紧接在存储器单元被编程之后),且接着,关于自单元编程事件以来过去的时间以近似对数线性方式减慢。因此,无法缓解由缓慢电荷损失引起的时间电压移位可导致读取操作中的位错误率增加。
19.然而,各种常见实施方案无法充分解决时间电压移位或采用低效策略,从而导致高位错误率及/或展现其它缺点。本公开的实施例通过实施采用基于块族的错误避免策略的存储器子系统来解决上述及其它缺点,从而显著改进由存储器子系统展现的位错误率。
20.根据本公开的实施例,选择性地跟踪按块族分组的经编程块的时间电压移位,且基于与特定块族的块归属关系的适当电压偏移被施加到基本读取电平以便执行读取操作。在本文中“块族”应指代已在指定时间窗及指定温度窗内编程的一组块。因为在编程之后过去的时间及温度是影响时间电压移位的主要因素,假设单个块族内的所有块及/或分区在存储器单元中展现类似的阈值电压分布,且因此将需要把相同电压偏移施加到基本读取电平以进行读取操作。在本文中“基本读取电平”应指代紧接在编程之后由存储器单元展现的初始阈值电压电平。在一些实施方案中,基本读取电平可存储于存储器装置的元数据中。
21.块族可关于块编程事件异步地创建。在说明性实例中,每当自最后块族的创建以来已过去指定时段(例如预定分钟数)或存储器单元的参考温度的改变量超过指定的阈值时,可创建新块族。存储器子系统控制器可维持有效块族的标识符,所述标识符在一或多个块被编程时与所述一或多个块相关联。
22.存储器子系统控制器可周期性地执行校准过程以便使每个块族的每一裸片与预定义阈值电压偏移分格中的一者相关联,所述预定义阈值电压偏移分格又与将施加以进行读取操作的电压偏移相关联。块与块族的关联性及块族及裸片与阈值电压偏移的关联性可存储于由存储器子系统控制器维持的相应元数据表中。
23.在接收到读取命令后,存储器子系统控制器可识别与由通过读取命令指定的逻辑块地址(lba)识别的块相关联的块族、识别与块族及块驻留于其上的裸片相关联的阈值电压偏移分格、通过附加地将与阈值电压偏移分格相关联的阈值电压偏移施加到基本读取电平来计算新的阈值电压及使用新的阈值电压执行读取操作,如在下文更详细描述。
24.因此,根据本公开的一些实施例实施的系统及方法的优点包含(但不限于)通过维持跟踪假设展现类似电压分布的块(块族)的组的元数据及基于块的块族关联性对块的有限子集选择性地执行校准操作来改进读取操作中的位错误率,如下文更详细描述。
25.图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如存储器装置140)、一或多个非易失性存储器装置(例如存储器装置130)或此类事物的组合。
26.存储器子系统110可为存储装置、存储器模块或存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字器(sd)卡及硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)及各种类型的非易失性双列直插式存储器模块(nvdimm)。
27.计算系统100可为例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如飞机、无人机、汽车或其它运输工具)、物联网(iot)启用装置、嵌入式计算机(例如,包含于运载工具、工业设备或联网商用装置中的嵌入式计算机)或包含存储器及处理装置(例如处理器)的此计算装置的计算装置。
28.计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中使用,“耦合到”或“与

耦合”一般指代组件之间的连接,其可为间接通信连接或直接通信连接(例如,不具有中介组件),无论是有线还是无线,包含例如电连接、光学连接、磁性连接等的连接。
29.主机系统120可包含处理器芯片组及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如nvdimm控制器)及存储协议控制器(例如pcie控制器、sata控制器)。主机系统120使用存储器子系统110,例如将数据写入到存储器子系统110及从存储器子系统110读取数据。
30.主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含(但不限于)串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行附接scsi(sas)、双倍数据速率(ddr)存储器总线、小计算机
系统接口(scsi)、双列直插式存储器模块(dimm)接口(例如,支持双倍数据率(ddr)的dimm套接字接口)、开放nand快闪接口(onfi)、双倍数据速率(ddr)、低功耗双倍数据速率(lpddr)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可进一步利用nvm高速(nvme)接口存取组件(例如存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。图1将存储器子系统110说明为实例。一般来说,主机系统120可经由相同通信连接、多个单独通信连接及/或通信连接的组合存取多个存储器子系统。
31.存储器装置130、140可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置(例如存储器装置140)可为(但不限于)随机存取存储器(ram),例如动态随机存取存储器(dram)及同步动态随机存取存储器(sdram)。
32.非易失性存储器装置(例如存储器装置130)的一些实例包含“与非”(nand)型快闪存储器及原位写入存储器,例如三维交叉点(“3d交叉点”)存储器装置,其是非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可基于体电阻变化结合可堆叠交叉栅格式数据存取阵列执行位存储。因此,与许多基于快闪的存储器形成对照,交叉点非易失性存储器可执行原位写入操作,其中非易失性存储器单元可在无需先前擦除非易失性存储器单元的情况下被编程。nand型快闪存储器包含例如二维nand(2d nand)及三维nand(3d nand)。
33.存储器装置130中的每一者可包含一或多个存储器单元阵列。例如单电平单元(slc)的一种类型的存储器单元每单元可存储一个位。例如多电平单元(mlc)、三电平单元(tlc)及四电平单元(qlc)的其它类型的存储器单元每单元可存储多个位。在一些实施例中,存储器装置130的每一者可包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc或此类的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的slc部分及mlc部分、tlc部分或qlc部分。存储器装置130的存储器单元可经分组为页面,其可指代用于存储数据的存储器装置的逻辑单位。对于一些类型的存储器(例如nand),页面可经分组以形成块。
34.尽管描述了例如非易失性存储器单元的3d交叉点阵列及nand类型存储器(例如2d nand、3d nand)的非易失性存储器装置,但存储器装置130可为基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选择存储器、其它硫属化物基存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋力矩(stt)-mram、导电桥接ram(cbram)、电阻随机存取存储器(rram)、氧化物基rram(oxram)、“或非”(nor)快闪存储器及电可擦除可编程只读存储器(eeprom)。
35.存储器子系统控制器115(或为了简化起见,控制器115)可与存储器装置130通信以执行操作,所述操作例如在存储器装置130处读取数据、写入数据或擦除数据及其它此类操作。存储器子系统控制器115可包含硬件,例如一或多个集成电路及/或离散组件、缓冲器存储器或其组合。硬件可包含具有用于执行本文中描述的操作的专用(即,硬编码)逻辑的数字电路系统。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或其它合适的处理器。
36.存储器子系统控制器115可包含经配置以执行存储于本地存储器119中的指令的处理器117(例如处理装置)。在说明的实例中,存储器子系统控制器115的本地存储器119包
含经配置以存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流及例程的指令的嵌入式存储器,所述操作包含处置存储器子系统110与主机系统120之间的通信。
37.在一些实施例中,本地存储器119可包含存储存储器指针、经提取数据等的存储器寄存器。本地存储器119还可包含用于存储微代码的只读存储器(rom)。虽然已将图1中的实例存储器子系统110说明为包含控制器115,但在本公开的另一实施例中,存储器子系统110不包含控制器115,且可代替地依赖于外部控制(例如,由外部主机提供或由与存储器子系统分离的处理器或控制器提供)。
38.一般来说,存储器子系统控制器115可从主机系统120接收命令或操作且可将所述命令或操作转换成指令或适当命令以实现对存储器装置130的所期望存取。存储器子系统控制器115可负责其它操作,例如损耗均衡操作、垃圾收集操作、错误检测及错误校正代码(ecc)操作、加密操作、高速缓存操作及与存储器装置130相关联的逻辑块地址(例如逻辑块地址(lba)、命名空间)与物理地址(例如物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含用以经由物理主机接口与主机系统120通信的主机接口电路系统。所述主机接口电路系统可将从主机系统接收的命令转换成命令指令以存取存储器装置130,且还将与存储器装置130相关联的响应转换成用于主机系统120的信息。
39.在一些实施方案中,存储器子系统110可根据使用分条方案,每个数据有效负载(例如用户数据)根据所述分条方案利用存储器装置130(例如nand类型快闪存储器装置)的多个裸片使得有效负载通过裸片的子集分布,而剩余一或多个裸片用于存储错误校正信息(例如奇偶校验位)。因此,使用分条方案跨存储器装置的一组裸片分布的一组块在本文中称为“超块”。
40.存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如dram)及地址电路系统(例如行解码器及列解码器),其可从控制器115接收地址且解码所述地址以存取存储器装置130。
41.在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理的存储器装置,其是与同一存储器装置封装内进行媒体管理的本地控制器(例如本地控制器135)组合的原始存储器装置。受管理的存储器装置的实例是受管理的nand(mnand)装置。
42.存储器子系统110包含块族管理器组件113,其可用于实施根据本公开的实施例的基于块族的错误避免策略。在一些实施例中,控制器115包含块族管理器组件113的至少一部分。举例来说,控制器115可包含经配置以执行存储于本地存储器119中的用于执行本文中描述的操作的指令的处理器117(处理装置)。在一些实施例中,块族管理器组件113是主机系统120、应用程序或操作系统的部分。块族管理器组件113可管理与存储器装置130相关联的块族,如下文更详细描述。
43.图2示意性地说明由三电平存储器单元展现的缓慢电荷损失引起的时间电压移位。虽然图2的说明性实例利用三电平单元,但可进行相同观察且因此,相同补救措施可适用于单电平单元及多电平单元以便补偿缓慢电荷损失。
44.如上文指出,存储器单元可通过将特定电压施加到存储器单元来编程(被写入),
此导致电荷被存储器单元保持,从而允许调制由存储器单元产生的电压分布。精确控制由存储器单元存储的电荷的量允许建立对应于不同逻辑电平的多个阈值电压电平,从而有效地允许单个存储器单元存储多个信息位:以2n个不同阈值电压电平操作的存储器单元能够存储n个信息位。
45.在图2中,每一曲线图220a到220n展示由通过相应写入电平(可假设其在分布的中点)编程的存储器单元产生的用以编码对应逻辑电平(在tlc的情况中是“000”到“111”)的电压分布。为了在相邻分布(对应于两种不同逻辑电平)之间作出区分,定义阈值电压电平(通过垂直虚线展示),使得降低到低于阈值电平的任何经测量电压与一对相邻分布中的一个分布相关联,而大于或等于阈值电平的任何经测量电压与一对相邻分布中的另一分布相关联。
46.如从比较分别反映紧接在编程之后的时段及编程之后440个小时的实例图表210及230所见,电压分布由于缓慢电荷损失而随时间发生变化,这导致阈值电压电平的漂移值,其由垂直虚线展示。在本公开的各个实施例中,选择性地跟踪按块族分组的经编程块的时间电压移位,且基于与特定块族的块归属关系的适当电压偏移被施加到基本读取电平以便执行读取操作。
47.图3描绘说明阈值电压偏移310对编程之后的时间320(即,自块已被编程以来过去的时段的相依性的实例曲线图300。如由图3示意性地说明,存储器装置的块被分组成块族330a到330n,使得每一块族包含已在指定时间窗及指定温度窗内编程的一或多个块。如上文指出,因为在编程之后过去的时间及温度是影响时间电压移位的主要因素,所以假设单个块族310内的所有块及/或分区在存储器单元中展现类似的阈值电压分布,且因此其将需要相同电压偏移来进行读取操作。
48.块族可关于块编程事件异步地创建。在说明性实例中,每当自最后块族创建以来已过去指定时段(例如预定分钟数)或每当自当前块族的创建以来以指定时间间隔更新的存储器单元的参考温度的变化量已超过指定的阈值时,图1的存储器子系统控制器115可创建新块族。
49.最新创建的块族可与分格0相关联。接着,存储器子系统控制器可周期性地执行校准过程以便使每个块族的每一裸片与预定义阈值电压偏移分格(在图3的说明性实例中是分格0到7)中的一者相关联,所述预定义阈值电压偏移分格又与将施加以进行读取操作的电压偏移相关联。块与块族的关联性及块族及裸片与阈值电压偏移的关联性可存储于由存储器子系统控制器维持的相应元数据表中。
50.图4示意性地说明根据本公开的实施例的一组预定义阈值电压偏移分格(分格0到分格9)。如由图4示意性地说明,阈值电压偏移曲线图可细分成多个阈值电压偏移分格,使得每一分格对应于预定阈值电压偏移范围。虽然图4的说明性实例定义十个分格,但在其它实施方案中,可采用各种其它数目的分格(例如64个分格)。基于周期性执行的校准过程,存储器子系统控制器使每个块族的每一裸片与阈值电压偏移分格相关联,所述阈值电压偏移分格定义将施加到基本电压读取电平以便执行读取操作的一组阈值电压偏移,如下文更详细描述。
51.图5示意性地说明由根据本公开的实施例操作的存储器子系统控制器的块族管理器组件实施的块族管理操作。如由图5示意性地说明,块族管理器510可在存储器变量中维
持有效块族的标识符520,因为游标530a到530k的一或多个块被编程,因此有效块族与游标530a到530k的一或多个块相关联。在本文中“游标”应在广义上指代数据被写入到其的存储器装置上的位置。
52.存储器子系统控制器可利用通电分钟(pom)时钟来跟踪块族的创建时间。在一些实施方案中,除了pom时钟外,还可利用当控制器处于各种低功耗状态时继续运行的不太准确的时钟,使得pom时钟在控制器从低功耗状态唤醒后基于不太准确的时钟来更新。
53.因此,在每一块族初始化后,将当前时间540存储于存储器变量中作为块族开始时间550。随着块被编程,比较当前时间540与块族开始时间550。响应于检测到当前时间540与块族开始时间550的差异大于或等于指定时段(例如预定分钟数),存储有效块族标识符520的存储器变量经更新以存储下一块族数(例如下一连续整数),且存储块族开始时间550的存储器变量经更新以存储当前时间540。
54.块族管理器510还可维持两个存储器变量来存储每一存储器装置的所选择的裸片的高及低参考温度。在每一块族初始化后,高温560及低温570变量存储存储器装置的所选择的裸片的当前温度的值。在操作中,虽然有效块族标识符520保持相同,但周期性地获得温度测量值并将其与所存储的高温560及低温570值进行比较,高温560及低温570值相应地更新:如果发现温度测量值大于或等于由高温变量560存储的值,那么后者经更新以存储那个温度测量值;相反地,如果发现温度测量值下降到低于由低温变量570存储的值,那么后者经更新以存储那个温度测量值。
55.块族管理器510可进一步周期性地计算高温560与低温570之间的差异。响应于确定高温560与低温570之间的差异大于或等于指定温度阈值,块族管理器510可创建新的有效块族:存储有效块族标识符520的存储器变量经更新以存储下一块族号(例如下一顺序整数),存储块族开始时间550的存储器变量经更新以存储当前时间540,且高温560及低温570变量经更新以存储存储器装置的所选择的裸片的当前温度的值。
56.在对块进行编程时,存储器子系统控制器使块与当前有效的块族相关联。每一块与对应块族的关联性通过块族元数据580反映,如下文参考图7更详细描述。
57.如上文指出,基于周期性执行的校准过程,存储器子系统控制器使每个块族的每一裸片与阈值电压偏移分格相关联,所述阈值电压偏移分格定义将施加到基本电压读取电平以便执行读取操作的一组阈值电压偏移。校准过程涉及关于被校准的块族内的指定数目的随机选择的块利用不同阈值电压偏移执行读取操作及选择最小化读取操作的错误率的阈值电压偏移。
58.图6示意性地说明根据本公开的实施例选择块族进行校准。如由图6示意性地说明,存储器子系统控制器可限制对每一分格中的最旧块族(例如,分格0中的块族610及分格1中的块族620)的校准操作,因为其是将由于缓慢电荷损失在当前分格的任何其它块族之前迁移到下一分格的最旧块族。
59.图7示意性地说明根据本公开的实施例的由存储器子系统控制器维持的用于使块及/或分区与块族相关联的实例元数据。如由图7示意性地说明,存储器子系统控制器可维持超块表710、族表720及偏移表730。
60.超块表710的每一记录指定与指定超块及分区组合相关联的块族。在一些实施方案中,超块表记录可进一步包含与指定超块及分区组合相关联的时间及温度值。
61.族表720按块族号编索引,使得族表720的每一记录针对通过记录的索引引用的块族指定与块族的相应裸片相关联的一组阈值电压偏移分格。换句话说,族表720的每一记录包含向量,所述向量中的每一元素指定与通过向量元素的索引引用的裸片相关联的阈值电压偏移分格。将与块族裸片相关联的阈值电压偏移分格可通过校准过程确定,如上文更详细描述。
62.最后,偏移表730按分格号编索引。偏移表730的每一记录指定与阈值电压偏移分格相关联的一组阈值电压偏移(例如,针对tlc、mlc及/或slc)。
63.元数据表710到730可存储于图1的一或多个存储器装置130上。在一些实施方案中,元数据表的至少部分可高速缓存于图1的存储器子系统控制器115的本地存储器119中。
64.在操作中,在接收到读取命令后,存储器子系统控制器确定对应于由读取命令指定的逻辑块地址(lba)的物理地址。物理地址的分量,例如物理块号及裸片标识符,用于执行元数据表游走:首先,超块表710用于识别对应于物理块号的块族标识符;接着,块族标识符用作族表720的索引以便确定与块族及裸片相关联的阈值电压偏移分格;最后,经识别阈值电压偏移分格用作偏移表730的索引以便确定对应于分格的阈值电压偏移。接着,存储器子系统控制器可附加地将经识别阈值电压偏移施加到基本电压读取电平以便执行所请求的读取操作。
65.在图7的说明性实例中,超块表710将超块0的分区0映射到块族4,其用作族表720的索引以便确定裸片0映射到分格3。后一值用作偏移表的索引以便确定用于分格3的阈值电压偏移值。
66.图8是由根据本公开的一些实施例操作的存储器子系统控制器实施的块族管理的实例方法800的流程图。方法800可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法800由图1的块族管理器组件113执行。尽管依特定顺序或次序展示,但除非另外指定,否则操作的次序是可修改的。因此,所说明实施例仅应被理解为实例,且所说明操作可依不同次序执行,而一些操作可并行执行。另外,在一些实施例中,可省略一或多个操作。因此,并非每个实施例都需要所有所说明的操作,且其它过程流程是可能的。
67.在操作810,存储器子系统控制器的处理装置初始化块族并将块族的标识符存储于存储器变量中。
68.在操作815,处理装置初始化与块族相关联的定时器。
69.在操作820,处理装置初始化与块族相关联的低温及高温以存储存储器装置的所选择的裸片(例如,随机选择的裸片)的当前温度。
70.响应于在操作825确定高温与低温值之间的差异大于或等于指定温度阈值,方法分支到操作835;否则,处理在操作830继续。
71.响应于在操作830确定与块族相关联的定时器的值大于或等于指定超时值,处理装置可在操作835关闭块族;否则,方法环回到操作825。
72.响应于执行操作835,方法环回到操作810。
73.操作850到870关于操作810到860异步地执行。在说明性实例中,操作810到835由第一处理线程执行,且操作850到870由第二处理线程执行。
74.在操作850,处理装置接收在存储器装置的所选择的裸片处的温度测量值。
75.响应于在操作855确定接收到的温度测量值大于或等于所存储的高温值,处理装置在操作860更新高温值以存储接收到的温度测量值。
76.响应于在操作865确定接收到的温度测量值下降到低于所存储的低温值,处理装置在操作870更新低温值以存储接收到的温度测量值。
77.图9是由根据本公开的一些实施例操作的存储器子系统控制器执行读取操作的实例方法的流程图。方法900可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法900由图1的块族管理器组件113执行。尽管依特定顺序或次序展示,但除非另外指定,否则操作的次序是可修改的。因此,所说明实施例仅应被理解为实例,且所说明操作可依不同次序执行,而一些操作可并行执行。另外,在一些实施例中,可省略一或多个操作。因此,并非每个实施例都需要所有所说明的操作,且其它过程流程是可能的。
78.在操作910,存储器子系统控制器的处理装置接收指定逻辑块的标识符的读取命令。
79.在操作920,处理装置将逻辑块的标识符转译成存储于存储器装置上的物理块的物理地址(pa)。在说明性实例中,转译通过查与存储器装置相关联的逻辑到物理(l2p)表中的逻辑块标识符(也称为逻辑块地址或lba)来执行。l2p表包含多个映射记录使得每一映射记录将lba映射到对应物理地址。针对快闪存储器装置,物理地址可包含通道标识符、裸片标识符、页面标识符、平面标识符及/或帧标识符。
80.在操作930,处理装置基于与存储器装置相关联的块族元数据识别与物理地址相关联的块族。在说明性实例中,处理装置利用图7的超块表710以便识别与物理地址相关联的块族。
81.在操作940,处理装置确定与块族及存储器装置裸片相关联的阈值电压偏移。在说明性实例中,处理装置利用图7的块族表720,以便确定对应于块族标识符与裸片标识符的组合的分格标识符。接着,处理装置利用图7的偏移表730以便确定经识别阈值电压偏移分格的阈值电压偏移。
82.在操作950,处理装置通过将经识别阈值电压偏移施加到与存储器装置相关联的基本读取电平电压来计算经修改阈值电压。如上文指出,基本读取电平电压可存储于存储器装置的元数据区中。
83.在操作960,处理装置利用计算得到的经修改阈值电压以便执行所请求的读取操作。响应于完成操作960,方法终止。
84.图10说明计算机系统1000的实例机器,可在所述计算机系统内执行用于致使所述机器执行本文中论述的方法论中的任一或多者的一组指令。在一些实施例中,计算机系统1000可对应于主机系统(例如,图1的主机系统120),主机系统120包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的块族管理器组件113)的操作)。在替代实施例中,机器可连接(例如,联网)到lan、内联网、外联网及/或因特网中的其它机器。机器可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中操作为对等机器,或在
云计算基础设施或环境中操作为服务器或客户端机器。
85.所述机器可为个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设施、服务器、网络路由器、交换机或网桥,或能够执行指定将由那个机器采取的动作的一组指令(循序或其它方式)的机器。此外,虽然说明了单个机器,但术语“机器”也应被视为包含个别或联合执行一组(或多组)指令以执行本文中论述的方法论中的任一或多者的机器的任何集合。
86.实例计算机系统1000包含处理装置1002、主存储器1004(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rambus dram(rdram)等)、静态存储器1010(例如,快闪存储器、静态随机存取存储器(sram)等)及数据存储系统1018,其经由总线1030彼此通信。
87.处理装置1002表示一或多个通用处理装置,例如微处理器、中央处理单元等等。更特定来说,处理装置可为复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器或实施指令集组合的处理器。处理装置1002也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等等。处理装置1002经配置以执行用于执行本文中论述的操作及步骤的指令1028。计算机系统1000可进一步包含网络接口装置1012以经由网络1020通信。
88.数据存储系统1018可包含在其上存储有体现本文中所描述的任何一或多种方法或功能的一或多组指令1028或软件的机器可读存储媒体1024(也被称为计算机可读媒体)。指令1028还可在由计算机系统1000执行期间完全或至少部分驻存于主存储器1004内及/或处理装置1002内,主存储器1004及处理装置1002也构成机器可读存储媒体。机器可读存储媒体1024、数据存储系统1018及/或主存储器1004可对应于图1的存储器子系统110。
89.在一个实施例中,指令1028包含用于实施对应于图1的块族管理器组件113的功能性的指令。虽然在实例实施例中将机器可读存储媒体1024展示为单个媒体,但术语“机器可读存储媒体”应被视为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”也应被视为包含能够存储或编码由机器执行的一组指令且致使机器执行本公开的方法论中的任一或多者的任何媒体。因此,术语“机器可读存储媒体”应理解为包含(但不限于)固态存储器、光学媒体及磁性媒体。
90.已依据对计算机存储器内的数据位的操作的算法及符号表示呈现前述详细描述的一些部分。这些算法描述及表示是由数据处理领域的技术人员用以向所属领域的其它技术人员最有效地表达其工作实质的方式。算法在本文且通常被设想为导致所期望结果的自相一致的操作序列。操作是需要物理操纵物理量的操作。通常,尽管不是必须的,这些量采取能够被存储、组合、比较及以其它方式操纵的电或磁性信号的形式。已被证明是方便的是,有时出于习惯用法的原因,原则上将这些信号指代为位、值、元素、符号、字符、项、数字等等。
91.然而,应记住,全部这些及类似术语与适当物理量相关联,且仅为应用于这些量的方便标签。本公开可涉及计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置操纵表示为计算机系统的寄存器及存储器内的物理(电子)量的数据并将所述数据转换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统
内的物理量的其它数据。
92.本公开还涉及用于执行本文中的操作的设备。此设备可出于预期目的经专门构造,或其可包含由存储于计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储于计算机可读存储媒体中,例如(但不限于)任何类型的磁盘,包含软盘、光盘、cd-rom及磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适于存储电子指令的任何类型的媒体,每一者都耦合到计算机系统总线。
93.本文呈现的算法及显示器并不固有地与任何特定计算机或其它设备相关。各种通用系统可结合根据本文的教示的程序使用,或可证明为方便的是构造更专门设备来执行方法。多种这些系统的结构将如下文描述中陈述那样出现。另外,本公开并非是参考任何特定编程语言进行描述。应了解,多种编程语言可用于实施本文中所描述的本公开的教示。
94.本公开可经提供为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,指令可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程。机器可读媒体包含用于存储呈可由机器(例如计算机)读取的形式的信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
95.在前述说明书中,已参考本公开的特定实例实施例描述了其实施例。明显地,可在不背离所附权利要求书中所陈述的本公开的实施例的更宽精神及范围的情况下对本公开做出各种修改。说明书及图式因此应以说明性意义而非限制性意义来看待。

技术特征:


1.一种系统,其包括:存储器装置;及处理装置,其可操作地耦合到所述存储器装置,所述处理装置用以:初始化与存储器装置相关联的块族;初始化与所述块族相关联的超时;响应于对驻留于所述存储器装置上的块进行编程,使所述块与所述块族相关联;及响应于检测到所述超时期满而关闭所述块族。2.根据权利要求1所述的系统,其中使所述块与所述块族相关联进一步包括:将使所述块与所述块族相关联的记录附加到块族元数据。3.根据权利要求1所述的系统,其中所述处理装置进一步用以:使用所述存储器装置处的参考温度初始化低温及高温;响应于确定所述高温与所述低温之间的差异大于或等于指定的阈值温度值,关闭所述块族。4.根据权利要求3所述的系统,其中所述处理装置进一步用以:接收所述块族的第二参考温度;响应于确定所述第二参考温度大于或等于所述高温,更新所述高温以存储所述第二参考温度;及响应于确定所述第二参考温度下降到低于所述低温,更新所述低温以存储所述第二参考温度。5.根据权利要求1所述的系统,其中所述处理装置进一步用以:响应于关闭所述块族,初始化新的块族。6.根据权利要求1所述的系统,其中所述处理装置进一步用以:响应于创建所述块族,使所述块族与第一阈值电压偏移分格相关联。7.根据权利要求6所述的系统,其中所述处理装置进一步用以:响应于检测到触发事件,通过校准与所述第一阈值电压偏移分格相关联的最旧块族使所述块族与第二阈值电压偏移分格相关联。8.根据权利要求1所述的系统,其中所述处理装置进一步用以:确定与所述块族相关联的阈值电压偏移;及通过将所述阈值电压偏移施加到与所述存储器装置相关联的基本读取电平电压来计算经修改阈值电压;使用所述经修改阈值电压读取来自所述块族的块的数据。9.一种方法,其包括:由处理装置接收指定逻辑块的标识符的读取命令;将所述逻辑块的所述标识符转译成存储于存储器装置上的物理块的物理地址,其中所述物理地址包括存储器装置裸片的标识符;基于与所述存储器装置相关联的块族元数据识别与所述物理地址相关联的块族;确定与所述块族及所述存储器装置裸片相关联的阈值电压偏移;通过将所述阈值电压偏移施加到与所述存储器装置裸片相关联的基本读取电平电压来计算经修改阈值电压;及
使用所述经修改阈值电压读取来自所述物理块的数据。10.根据权利要求9所述的方法,其中所述块族包括已在以下中的至少一者内编程的多个块:指定时间窗或指定温度窗。11.根据权利要求9所述的方法,其中所述块族元数据包括包含多个记录的第一表,其中所述多个记录中的记录使所述物理块与所述块族相关联。12.根据权利要求9所述的方法,其中所述块族元数据包括包含多个记录的第二表,其中所述多个记录中的记录使所述块族的多个裸片与相应阈值电压偏移分格相关联。13.根据权利要求9所述的方法,其中所述块族元数据包括包含多个记录的第三表,其中所述多个记录中的记录使阈值电压偏移分格与将施加到相应基本电压读取电平以执行读取操作的一或多个阈值电压相关联。14.一种方法,其包括:由处理装置初始化与存储器装置相关联的块族;初始化与所述块族相关联的超时;使用所述存储器装置处的参考温度初始化低温及高温;响应于对驻留于所述存储器装置上的块进行编程,使所述块与所述块族相关联;及响应于以下中的至少一者关闭所述块族:检测到所述超时期满或确定所述高温与所述低温之间的差异大于或等于指定的阈值温度值。15.根据权利要求14所述的方法,其中使所述块与所述块族相关联进一步包括:将使所述块与所述块族相关联的记录附加到块族元数据。16.根据权利要求14所述的方法,其进一步包括:接收所述块族的第二参考温度;响应于确定所述第二参考温度大于或等于所述高温,更新所述高温以存储所述第二参考温度;及响应于确定所述第二参考温度下降到低于所述低温,更新所述低温以存储所述第二参考温度。17.根据权利要求14所述的方法,其进一步包括:响应于关闭所述块族,初始化新的块族。18.根据权利要求14所述的方法,其进一步包括:响应于创建所述块族,使所述块族与第一阈值电压偏移分格相关联。19.根据权利要求18所述的方法,其进一步包括:通过校准与所述第一阈值电压偏移分格相关联的最旧块族使所述块族与第二阈值电压偏移分格相关联。20.根据权利要求14所述的方法,其中所述处理装置进一步用以:确定与所述块族相关联的阈值电压偏移;及通过将所述阈值电压偏移施加到与所述存储器装置相关联的基本读取电平电压来计算经修改阈值电压;使用所述经修改阈值电压读取来自所述块族的块的数据。

技术总结


一种实例存储器子系统包含存储器装置及可操作地耦合到所述存储器装置的处理装置。所述处理装置经配置以:初始化与存储器装置相关联的块族;初始化与所述块族相关联的超时;使用所述存储器装置处的参考温度初始化低温及高温;响应于对驻留于所述存储器装置上的块进行编程,使所述块与所述块族相关联;及响应于以下中的至少一者关闭所述块族:检测到所述超时期满或确定所述高温与所述低温之间的差异大于或等于指定的阈值温度值。大于或等于指定的阈值温度值。大于或等于指定的阈值温度值。


技术研发人员:

M

受保护的技术使用者:

美光科技公司

技术研发日:

2020.12.18

技术公布日:

2022/8/30

本文发布于:2024-09-20 22:43:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/25245.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:存储器   所述   装置   阈值
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议