使用与存储器子系统相关联的错误控制成功率实施粘性读取的制作方法

文档序号:26009833发布日期:2021-07-23 21:29阅读:96来源:国知局
使用与存储器子系统相关联的错误控制成功率实施粘性读取的制作方法

本公开的实施例大体上涉及存储器子系统,且更具体地,涉及使用与存储器子系统相关联的错误控制成功率实施粘性读取。



背景技术:

存储器子系统可以是存储系统,例如固态驱动器(ssd)或硬盘驱动器(hdd)。存储器子系统可以是存储器模块,例如双列直插式存储器模块(dimm)、小型dimm(so-dimm)或非易失性双列直插式存储器模块(nvdimm)。存储器子系统可包含存储数据的一或多个存储器组件。存储器组件可以例如是非易失性存储器组件和易失性存储器组件。一般来说,主机系统可以利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。

附图说明

根据下文提供的具体实施方式和本公开的各种实施例的附图将更加充分地理解本公开。

图1示出根据本公开的一些实施例的包含存储器子系统的实例计算环境。

图2a示出根据本公开的一些实施例的使用与存储器子系统相关联的错误控制成功率启用粘性读取的实例场景。

图2b示出根据本公开的一些实施例的退出粘性读取的实例场景。

图3是根据本公开的一些实施例的使用与存储器子系统相关联的错误控制成功率实施粘性读取的实例方法的流程图。

图4是根据本公开的一些实施例的基于与存储器子系统相关联的错误控制成功率使用读取偏移量成功检索用户数据的实例方法的流程图。

图5是本公开的实施例可以在其中操作的实例计算机系统的框图。

具体实施方式

本公开的方面涉及使用与存储器子系统相关联的错误控制成功率实施粘性读取。存储器子系统在下文也称为“存储器装置”。存储器子系统的实例是通过外围互连件(例如,输入/输出总线、存储区域网络)耦合到中央处理单元(cpu)的存储装置。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器和硬盘驱动器(hdd)。存储器子系统的另一实例是经由存储器总线耦合到cpu的存储器模块。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)、非易失性双列直插式存储器模块(nvdimm)等。在一些实施例中,存储器子系统可以是混合式存储器/存储子系统。通常,主机系统可以利用包含一或多个存储器组件的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。“粘性读取”是指当针对多个连续读取操作使用特定参数(例如,特定阈值电压、应用于默认阈值电压的特定读取偏移量等)并且所述特定参数不同于与存储器子系统相关联的默认参数(例如,默认读取设置、经校准读取设置等)时使用所述特定参数执行的读取操作。“粘性读取模式”是指存储器子系统的操作模式,在所述模式期间,当针对多个连续读取操作使用特定参数并且所述特定参数不同于与存储器子系统相关联的默认参数或经校准参数时使用所述特定参数执行读取操作。下文描述关于特定参数、阈值电压、读取偏移量、默认参数、默认读取设置、经校准读取设置等的进一步细节。

存储器子系统可包含可存储来自主机系统的数据的多个存储器组件。存储器组件可包含用于存储数据的存储器单元。每一存储器单元可存储作为所述特定存储器单元的阈值电压的数据值。每一相异阈值电压范围对应于存储在存储器单元处的数据的预定值。常规存储器子系统可通过将数据位序列映射到存储器单元的不同阈值电压范围来在单个存储器单元中存储多个数据位。可通过使用将编程脉冲序列施加到存储器单元的编程操作而将数据存储到存储器单元中。编程脉冲的序列可施加到存储器单元直到在存储器单元处达到对应阈值电压范围内的电压电平为止。在存储器单元已编程之后,可通过在相应阈值电压范围下将读取阈值电压施加到存储器单元且转换存储器单元处的已编程电压电平来从存储器单元读取数据。

在存储器子系统的使用寿命或操作开始时为存储器子系统设置的阈值电压可被称为默认读取设置,有时也可被称为出厂默认读取设置。一旦存储器子系统在使用中,就可以基于存储器子系统的扫描以及基于各种因素(例如存储器子系统的特定部分中的数据保持等)检测存储器子系统环境中的变化来随时间调整(例如,校准)默认读取设置。因此,随时间推移和重复活动的观察,出厂默认读取设置可以设置为经校准读取设置。经校准读取设置是在观察存储器子系统的使用情况的相当长时间段(例如1-2天等)之后设置的。

存储器子系统可能经历有针对性的测试用例,其中针对各种类型的性能标准对存储器子系统进行测试。有针对性的测试用例可以包含交叉温度测试、数据保持测试、读取干扰测试等。在执行有针对性的测试用例期间,通常在短时间段(例如,1-2小时等)内在特定条件下重复测试存储器子系统。当对存储器子系统的特定位置(例如,块的存储器单元的一行)的读取影响未读取的相邻位置(例如,同一块的不同行)的阈值电压时,发生读取干扰错误。当存储器子系统在高温下操作时,也会发生数据保持问题,因为存储器单元在高温下操作会随时间推移而失去电荷。

交叉温度测试可以包含在温度变化很大的环境中操作存储器子系统。例如,可以在一个温度下对数据进行编程并在极不同的温度下读取数据以评估性能。例如,如果在-20℃对数据进行编程并在85℃读取数据,则默认阈值电压不能成功检索数据,因为随着存储器子系统的温度变化,与存储器单元相关联的电压电平可能从在特定读取阈值电压下检测到的电压电平移位。每摄氏度的电压电平移位在极端温度下(例如,较接近0℃或70℃)可比其处于较适中范围内(例如,15℃到30℃)时大。而且,电压电平移位可能基于温度变化的方向而不同。也就是说,如果在低温下写入数据并在极不同的高温下读取数据,则可能存在一个电压电平移位,而如果在高温下写入数据并在低温下读取数据,则电压电平移位可能不同。因此,特定设置不能用于处理不同类型的交叉温度测试。

在这些有针对性的测试用例中,出厂默认读取设置或经校准读取设置通常不是最佳读取设置。最佳读取设置是可以成功检索经编程数据的读取设置。一般来说,由于有针对性的测试用例在较短持续时间内运行,因此经校准读取设置无法收敛到可成功检索数据的最佳读取设置。因而,在存储器子系统在短持续时间内(例如在有针对性的测试用例期间)经受极端条件并且出厂默认读取设置或经校准读取设置没有恢复所需数据的环境中,存储器子系统可以进入错误处理流以恢复数据。

当在错误处理流中时,常规存储器子系统可针对存储在存储器子系统的存储器组件处和/或从存储器子系统的存储器组件检索的数据实施错误检测和校正(即,错误控制)操作。可基于错误校正/处理操作而检测和校正错误。错误校正/处理操作可包含使用不同参数(例如,电压阈值的变化)进行的一或多个读取重试作为对存储器单元执行的初始读取操作。错误校正/处理操作还可以使用对应于位值(例如,0或1)的从存储器单元读取的硬信息,以及软信息,所述软信息对应于从存储器单元读取的硬信息是正确的以校正存储在存储器单元处的位值的概率。错误处理操作可能很费时并且影响存储器子系统的性能。触发错误处理操作越频繁,存储器系统的性能就越慢。另外,存储器子系统进入错误处理流的特定位置被阻止从主机接收其它命令,从而导致存储器子系统执行其它读取操作或写入操作的可用性降低。因此,降低错误处理的触发是有利的。

本公开的方面通过确定存储器子系统在目标操作特性内操作并且通过使用与存储器子系统相关联的错误控制成功率实施粘性读取来解决上述和其它缺陷。可以基于当使用特定参数时与多个错误控制操作相关联的阈值成功率来确定存储器子系统在目标操作特性内操作。一旦确定存储器子系统在目标操作特性内操作,就可以通过使用特定参数执行后续读取操作来进入粘性读取模式。当使用粘性读取模式时,可以确定在粘性读取模式期间使用特定参数针对至少第一阈值数目的读取操作触发额外错误控制操作。一旦确定在粘性读取模式期间使用特定参数针对至少第一阈值数目的读取操作触发额外错误控制操作,就可以通过使用与存储器子系统相关联的默认参数执行进一步的读取操作而退出粘性读取模式。

本公开减少或消除了存储器子系统的极端操作条件(例如极端温差、重复数据读取等)的影响。本公开的优点包含但不限于由于可更高效地且最佳地执行操作而提高了存储器子系统的性能、使时延最小化并且减少用于执行错误校正操作的计算资源。因此,可减小或消除存储器子系统中的错误率。因此,可不那么频繁地利用错误校正操作,且可改进存储器子系统的总体性能,这是因为可由存储器子系统执行其它读取操作或写入操作,而非额外错误校正操作。

图1示出根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可以包含媒体,例如存储器组件112a到112n。存储器组件112a到112n可以是易失性存储器组件、非易失性存储器组件或此类组件的组合。在一些实施例中,存储器子系统是存储系统。存储系统的实例是ssd。在一些实施例中,存储器子系统110是混合式存储器/存储子系统。一般来说,计算环境100可包含使用存储器子系统110的主机系统120。例如,主机系统120可将数据写入到存储器子系统110以及从存储器子系统110读取数据。

主机系统120可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可包含或耦合到存储器子系统110,使得主机系统120可从存储器子系统110读取数据或将数据写入到所述存储器子系统。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行连接的scsi(sas)等。物理主机接口可以用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可以进一步利用nvm高速(nvme)接口存取存储器组件112a到112n。物理主机接口可以提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。

存储器组件112a到112n可以包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含与非(nand)类型快闪存储器。存储器组件112a到112n中的每一者可以包含一或多个存储器单元阵列,例如单级单元(slc)或多级单元(mlc)(例如,三级单元(tlc)或四级单元(qlc))。在一些实施例中,特定存储器组件可以包含存储器单元的slc部分和mlc部分两者。存储器单元中的每一者可以存储由主机系统120使用的一或多个数据位(例如,数据块)。尽管描述了例如nand类型快闪存储器的非易失性存储器组件,但存储器组件112a到112n可以基于任何其它类型的存储器,例如易失性存储器。在一些实施例中,存储器组件112a到112n可以是但不限于随机存取存储器(ram)、只读存储器(rom)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、相变存储器(pcm)、磁随机存取存储器(mram)、或非(nor)快闪存储器、电可擦除可编程只读存储器(eeprom),以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来进行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件112a到112n的存储器单元可分组为存储器页或数据块,其可指代用于存储数据的存储器组件的单元。

存储器系统控制器115(下文称为“控制器”)可以与存储器组件112a到112n通信以执行操作,例如在存储器组件112a到112n处读取数据、写入数据或擦除数据,以及其它此类操作。控制器115可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或其它合适的处理器。控制器115可以包含被配置成执行存储在本地存储器119中的指令的处理器(处理装置)117。在所示的实例中,控制器115的本地存储器119包含被配置成存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处理存储器子系统110与主机系统120之间的通信)的各种处理、操作、逻辑流以及例程。在一些实施例中,本地存储器119可以包含存储器寄存器,其存储存储器指针、获取的数据等。本地存储器119还可以包含用于存储微码的只读存储器(rom)。虽然图1中的实例存储器子系统110已示为包含控制器115,但在本公开的另一实施例中,存储器子系统110可不包含控制器115,而是可以依赖于外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供的外部控制)。

通常,控制器115可以从主机系统120接收命令或操作,并且可以将命令或操作转换成指令或适当的命令,以实现对存储器组件112a到112n的期望的存取。控制器115可以负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正(ecc)操作、加密操作、高速缓存操作,以及与存储器组件112a到112n相关联的逻辑块地址与物理块地址之间的地址转换。控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可以将从主机系统接收到的命令转换成命令指令以存取存储器组件112a到112n,以及将与存储器组件112a到112n相关联的响应转换成用于主机系统120的信息。

存储器子系统110还可包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统110可以包含快速缓存或缓冲器(例如dram)和地址电路系统(例如行解码器和列解码器),其可从控制器115接收地址且对地址进行解码以存取存储器组件112a到112n。

存储器子系统110包含粘性读取组件113,其可用于确定存储器子系统110在目标操作特性内操作,并使用与存储器子系统110相关联的错误控制成功率实施粘性读取。在一些实施例中,控制器115包含粘性读取组件113的至少一部分。例如,控制器115可以包含处理器117(处理装置),其被配置成执行存储在本地存储器119中的用于执行本文描述的操作的指令。在一些实施例中,粘性读取组件113是主机系统110、应用程序或操作系统的部分。

粘性读取组件113可以基于当使用特定参数时与多个错误控制操作相关联的阈值成功率来确定存储器子系统110在目标操作特性内操作。粘性读取组件113可通过使用特定参数执行后续读取操作而进入粘性读取模式。如果确定在粘性读取模式期间使用特定参数针对至少第一阈值数目的读取操作触发额外错误控制操作,则粘性读取组件113可以通过使用与存储器子系统110相关联的默认参数执行进一步的读取操作而退出粘性读取模式。下文描述关于粘性读取组件113的操作的更多细节。

图2a示出根据本公开的一些实施例的使用与存储器子系统110相关联的错误控制成功率启用粘性读取的实例场景。例如,图1的粘性读取组件113可以使用错误控制成功率来启用粘性读取。在一些实施例中,粘性读取组件113可被配置成确定存储器子系统110在目标操作特性内操作。例如,目标操作特性可以包含在有针对性的测试用例(例如,交叉温度测试、数据保持测试、读取干扰测试等)期间存储器子系统的特性。在一个实例中,目标操作特性可对应于与存储器子系统110相关联的第一温度条件阈值范围和第二温度条件阈值范围。作为实例,第一温度条件阈值范围可以是低于10℃的温度值,并且第二温度条件阈值范围可以是高于80℃的温度值。在一个实例中,可以在第一阈值温度条件(例如,低于10℃)期间将用户数据写入存储器子系统110的存储器存储器组件并且可以在第二温度条件阈值范围(例如,高于80℃)期间从存储器组件读取用户数据。在另一实例中,可以在第二阈值温度条件(例如,高于80℃)期间将用户数据写入存储器子系统110的存储器存储器组件并且可以在第一温度条件阈值范围(例如,低于10℃)期间从存储器组件读取用户数据。

在一些实施例中,粘性读取组件113可以基于与使用特定参数的多个错误控制操作相关联的阈值成功率来确定存储器子系统110在目标操作特性内操作。在一些实例中,特定参数可以是特定电压电平(例如,1.1伏)。在一些实例中,特定参数可以是添加到阈值电压的偏移值(例如,读取偏移量)。例如,默认读取设置可以对应于1伏的阈值电压以读取用户数据。可以将0.1的读取偏移量添加到1伏的阈值电压,以便总共应用1.1伏来读取用户数据。在一些场景中,由于与存储器子系统相关联的一些特殊条件或异常,默认读取设置无法检索用户数据。例如,应用阈值电压为1伏的默认读取设置可被配置成检索经编程用户数据值“1”。然而,在一些场景中,应用阈值电压为1伏的默认读取设置可替代地检索不等于“1”的用户数据值,它可以检索“0”之类的值。因此,在一些情况下应用默认读取设置可能会导致检索错误的数据值。在这种情况下,存储器子系统110可以使用错误控制操作触发错误处理流,以检索正确经编程用户数据“1”。

错误控制操作可以包含使用一或多个参数的一或多个步骤。例如,错误处理流的第一步骤可以包含将第一参数(例如,第一读取偏移值)应用于默认读取设置(例如,阈值电压)。如果应用第一读取偏移值成功检索经编程用户数据,则退出错误控制操作,不再应用进一步的步骤。然而,如果错误处理操作的第一步骤未成功检索经编程用户数据,则错误控制操作可以继续到第二步骤。第二步骤可以包含将第二读取偏移值应用于默认读取设置。错误控制操作可以通过应用不同读取偏移值而继续,直到成功检索经编程用户数据。

粘性读取组件113可以跟踪例如执行的读取循环的数目、在执行的读取循环外触发错误控制操作的次数、应用于检索用户数据的参数(例如偏移值),以及应用于检索用户数据的参数的成功率等统计数据。在实例中,成功率可以包含每个所应用参数成功检索用户数据的次数。在存储器子系统的异常或例外条件导致错误的情况下,成功检索用户数据的参数可能变化很大。如果存储器子系统在连续读取循环期间频繁地进入错误控制操作,并且特定偏移量在错误校正操作期间频繁且成功检索用户数据,则这可以是由于存储器子系统在目标操作特性下操作而不是存储器子系统的异常或例外条件而触发错误条件的指示。因此,粘性读取组件113可以基于与使用特定参数的多个错误控制操作相关联的阈值成功率来确定存储器子系统110在目标操作特性内操作。

图2a示出当粘性读取组件113使用例如表200之类的数据结构跟踪并使用各种统计数据来确定存储器子系统110在目标操作特性内操作时的实例场景。在实例中,表200的行210跟踪由存储器子系统110执行的读取循环,将读取循环表示为r1、r2到r13等。行220针对每个读取循环标识是否触发错误控制操作。此行的值包含:当针对特定读取循环触发错误控制操作时表示“是”的“y”,以及当针对特定读取循环未触发错误控制操作时表示“否”的“n”。行230到250标识参数是否成功检索用户数据。例如,行230标识在错误控制操作期间应用偏移电平时对应于“偏移电平1”的参数是否成功检索用户数据。在实例中,偏移电平1可对应于添加到默认读取电压的0.1伏的偏移值。行230-250的值包含当对应偏移电平在针对特定读取循环的错误控制操作期间成功检索用户数据时表示“是”的“y”,以及当对应偏移电平在针对特定读取循环的错误控制操作期间未成功检索用户数据时表示“否”的“n”。每次触发错误控制操作时,都会使用偏移值来尝试检索用户数据。例如,对于读取循环r1,如行220中的值“y”所示,触发了错误控制操作。作为错误控制操作的第一步骤,应用偏移电平1(例如,0.1伏的偏移值)。在实例中,对于读取循环r1,偏移电平1成功检索用户数据,如行230中的值“y”所示。因而,不应用错误控制操作的进一步的步骤并且退出错误控制操作。对于读取循环r2,触发错误控制操作,并且在第一步骤应用偏移电平1,然而,未成功检索用户数据,如行230中的值“n”所示。因此,使用偏移电平2(例如,0.2伏的偏移值)应用错误控制操作的第二步骤,并指示为成功检索用户数据。因此,对于读取循环r2,不执行第三步骤。对于读取循环r3,未触发错误控制操作,且因此不应用偏移电平。对于读取循环r8,偏移电平1或偏移电平1均未成功检索用户数据,然而,偏移电平3(例如,0.3伏的偏移值)被指示为成功检索用户数据。表200中可用的这些统计数据可用于确定存储器子系统110是否在目标操作特性内操作。

粘性读取组件113可定义与参数(例如,读取偏移量)相关联的阈值成功率,基于所述阈值成功率可标识存储器子系统110是否在目标操作特性内操作。在一个实例中,阈值成功率可对应于特定读取偏移量针对至少第一阈值数目的错误控制操作检索用户数据。例如,错误控制操作的阈值数目可以设置为“n”,其中“n”的值为“7”。因此,如果任何特定读取偏移量(例如偏移电平1)针对至少7个错误控制操作检索用户数据,则粘性读取组件113可以指示存储器子系统在目标操作特性内操作。

在另一实例中,阈值成功率可定义为特定读取偏移量针对指定数目的错误控制操作中的至少第一阈值数目的错误控制操作检索用户数据。例如,错误控制操作的阈值数目可以设置为“n”,其中“n”的值为“7”,并且错误控制操作的指定数目可以设置为“m”,其中“m”的值设置为“10”。因此,如果任何特定读取偏移量(例如偏移电平1)针对10个错误控制操作中的至少7个错误控制操作检索用户数据,则粘性读取组件113可以指示存储器子系统在目标操作特性内操作。在一些实例中,指定数目的错误控制操作可以是连续错误控制操作。例如,10个错误控制操作可以是连续错误控制操作。在应用的参数中没有一个针对10个连续错误控制操作中的至少7个错误控制操作成功检索用户数据的情况下,粘性读取组件可以评估下一个读取循环的错误控制统计数据,并确定是否实现阈值成功率。除非实现阈值成功率,否则粘性读取组件将继续评估后续读取循环的成功率。一旦确定实现了阈值成功率,粘性读取组件113就可以确定存储器子系统在目标操作特性下操作。可基于通过执行与目标操作特性有关的各种实验获得的经验数据来设置阈值错误控制操作和指定错误控制操作的值。当存储器子系统在目标操作特性内操作时,经验数据可以与成功错误控制操作的数目相关。

根据设置为7的阈值错误控制操作“n”的实例值和设置为10的指定错误控制操作“m”,图2a示出在执行读取循环r13之后触发了指定数目的10个错误控制操作。在指定数目的10个错误控制操作中,偏移电平1针对7个错误控制操作成功检索了数据,偏移电平2针对2个错误控制操作成功检索了数据,并且偏移电平3针对1个错误控制操作成功检索了数据。因此,偏移电平1针对至少阈值数目的7个错误控制操作成功检索了用户数据。因而,粘性读取组件113基于使用偏移电平1的特定参数实现与错误控制操作相关联的阈值成功率而确定存储器子系统在目标操作特性内操作。

当确定存储器子系统在目标操作特性内操作时,粘性读取组件可通过使用特定参数执行后续读取操作而使处理器117进入粘性读取模式。由于确定特定参数实现阈值成功率,因此有利于将特定参数用于后续读取操作,以避免触发进一步频繁的错误控制操作。只要存储器子系统在目标操作特性内操作,使用特定参数便可以检索几乎所有用户数据,而不触发进一步的错误控制操作。因而,粘性读取组件113可以将读取设置设置为特定参数(例如,应用于默认阈值电压的特定读取偏移量)而不是默认读取设置(例如,默认出厂读取设置或经校准读取设置)。在实例中,阈值电压值1伏的默认参数与使用值为0.1伏的偏移电平1的特定参数不同,0.1伏的值应用于1伏的默认阈值电压,总计为1.1伏。使用图2a的实例,一旦确定在使用偏移电平1的特定参数执行读取循环r13之后存储器子系统110在目标操作特性内操作,就可通过使用偏移电平1的特定参数执行读取循环r13之后的后续读取操作而进入粘性读取模式。因此,使用偏移电平1执行读取循环r13之后的每个读取操作。

图2b示出退出与存储器子系统相关联的粘性读取模式的实例场景。在实施例中,粘性读取组件113还可以跟踪检测在进入粘性读取模式之后触发的额外错误控制操作的数目的额外统计数据。基于额外统计数据,粘性读取组件113可以确定在粘性读取模式期间使用特定参数针对至少阈值数目的读取操作触发额外错误控制操作。在一些实例中,可以从指定数目的读取操作中实现阈值数目的读取操作。如果甚至在使用特定参数之后针对所定义阈值数目的读取操作触发错误控制操作,则可以指示特定参数在成功检索用户数据方面不再有效。这可能指示存储器子系统不再在目标操作特性内操作。因此,可以退出粘性读取模式,并且可以使用与存储器子系统相关联的默认参数(例如,出厂默认读取设置或经校准读取设置)来执行进一步的读取操作。

粘性读取组件113可定义读取操作的阈值数目,基于所述阈值数目可确定是否退出粘性读取模式。在一个实例中,读取操作的阈值数目可对应于针对阈值数目的读取操作触发额外错误控制操作的特定读取偏移量。例如,可以将读取操作数目的阈值数目设置为“x”。在实例中,可以将“x”的值设置为“6”。因此,如果在粘性读取模式期间使用的特定读取偏移量(例如,偏移电平1)针对至少6个读取操作触发额外错误操作,则粘性读取组件113可以指示存储器子系统不再在目标操作特性内操作,并且使处理器117退出粘性读取模式。

在另一实例中,可以从指定数目的读取操作中实现阈值数目的读取操作。也就是说,粘性读取组件113可以确定在粘性读取模式期间使用特定参数针对指定数目的读取操作中的至少阈值数目的读取操作触发额外错误控制操作。例如,可以将读取操作的指定数目设置为“y”。在实例中,可以将“y”的值设置为“10”。因此,如果在粘性读取模式期间使用的特定读取偏移量(例如,偏移电平1)针对指定数目的10个读取操作中的至少6个读取操作触发额外错误操作,则粘性读取组件113可以指示存储器子系统不再在目标操作特性内操作,并且使处理器117退出粘性读取模式。在一些实例中,指定数目的读取操作可以是连续读取操作,例如在指定数目的10个连续读取操作中。一旦确定在粘性读取模式期间使用特定参数针对至少阈值数目的读取操作触发额外错误控制操作,粘性读取组件113就可以通过使用与存储器子系统相关联的默认参数执行进一步的读取操作而退出粘性读取模式。可基于通过执行与目标操作特性有关的各种实验获得的经验数据来设置阈值数目的读取操作和指定数目的读取操作的值。当存储器子系统在目标操作特性内操作时,经验数据可与在粘性读取模式期间触发的额外错误控制操作的数目相关。

图2b示出在粘性读取组件113使用表260之类的数据结构跟踪并使用额外统计数据以退出粘性读取模式时的实例场景。在一些实例中,表260可以是表200的延续。在一些实例中,表260可以是与表200不同的表。在实例中,表260的行270跟踪由存储器子系统110执行的读取循环。与表200类似,在表260中,读取循环表示为r31、r32到r40等。对于每个读取循环,行270标识是否触发错误控制操作。此行的值包含:当针对特定读取循环触发错误控制操作时表示“是”的“y”,以及当针对特定读取循环未触发错误控制操作时表示“否”的“n”。

继续图2a的实例,图2b示出用于检测在读取循环r13后进入粘性读取模式之后触发的额外错误控制操作的数目的额外统计数据。从读取循环r31开始,额外错误控制操作指示为在进入粘性读取模式之后触发。在读取循环r31之后,针对多个读取循环触发多个错误控制操作,继续直至读取循环r40。根据设置为6的读取操作阈值数目“x”和设置为“10”的读取操作指定数目“y”的实例值,粘性读取组件113可以确定在执行读取循环r40之后,针对指定数目的10个连续读取操作(例如,对于读取循环r31-r40)中的阈值数目的6个读取操作(例如,对于读取循环r31、r32、r35、r37、r39和r40)触发额外错误控制操作。因此,粘性读取组件113可以确定在粘性读取模式期间使用特定参数(例如偏移电平1)针对指定数目的读取操作(例如10个)中的至少阈值数目的读取操作(例如6个)触发额外错误控制操作。因而,粘性读取组件113可以通过使用与存储器子系统相关联的默认参数执行进一步的读取操作(例如,r40之后的读取循环)而使处理器117退出粘性读取模式。默认参数可以不同于粘性读取模式期间使用的特定参数(例如,偏移电平1)。在实例中,默认参数可以是出厂默认读取设置(例如,1伏的阈值电压)或经校准读取设置(例如,1.05伏)。

图3是根据本公开的一些实施例的使用与存储器子系统相关联的错误控制成功率实施粘性读取的实例方法300的流程图。可以通过处理逻辑来执行方法300,所述处理逻辑可以包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法300由图1的粘性读取组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所示实施例仅为实例,且所示过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。

在操作302,处理装置确定存储器子系统在目标操作特性内操作。所述确定可以基于与使用特定参数的多个错误控制操作相关联的阈值成功率。在一些实例中,目标操作特性可对应于与存储器子系统相关联的第一温度条件阈值范围和第二温度条件阈值范围。在一个实例中,当将用户数据写入存储器组件时,第一温度条件阈值范围可与存储器子系统相关联,并且当从存储器组件读取用户数据时,第二温度条件阈值范围可与存储器子系统相关联。在另一实例中,当将用户数据写入存储器组件时,第二温度条件阈值范围可与存储器子系统相关联,并且当从存储器组件读取用户数据时,第一温度条件阈值范围可与存储器子系统相关联。在一些实例中,为了基于与使用特定参数的多个错误控制操作相关联的阈值成功率来确定存储器子系统在目标操作特性内操作,处理装置确定在执行读取操作时特定参数针对多个错误控制操作中的至少第二阈值数目的错误控制操作检索用户数据。

在操作304,处理装置通过使用特定参数执行后续读取操作而进入粘性读取模式。在一些实例中,特定参数可以是特定电压电平。在一些实例中,特定参数可以是应用于特定阈值电压电平的偏移值。

在操作306,处理装置确定在粘性读取模式期间使用特定参数针对至少第一阈值数目的读取操作触发额外错误控制操作。在一些实例中,为了确定在粘性读取模式期间使用特定参数针对至少阈值数目的读取操作触发额外错误控制操作,处理装置确定在粘性读取模式期间使用特定参数针对指定数目的读取操作中的至少第一阈值数目的读取操作触发额外错误控制操作。

在操作308,处理装置通过使用与存储器子系统相关联的默认参数执行进一步的读取操作而退出粘性读取模式。在一些实施例中,特定参数可以不同于默认参数。在一些实例中,默认参数可以是出厂默认读取设置。在一些实例中,默认参数可以是在使用出厂默认读取设置后随时间推移而导出的经校准读取设置。

图4是根据本公开的一些实施例的基于与存储器子系统相关联的错误控制成功率使用读取偏移量成功检索用户数据的实例方法400的流程图。可以通过处理逻辑来执行方法400,所述处理逻辑可以包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法400由图1的粘性读取组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所示实施例仅为实例,且所示过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。

在操作402,处理装置标识在执行读取操作以检索用户数据时结合错误控制操作使用的读取偏移量。在一些实例中,读取偏移量可以基于应用于存储器子系统以检索用户数据的阈值电压。

在操作404,处理装置确定在执行读取操作时所标识读取偏移量针对至少第一阈值数目的错误控制操作检索用户数据。在一些实例中,在执行读取操作时所标识读取偏移量针对指定数目的连续错误控制操作中的至少第一阈值数目的错误控制操作检索用户数据。

在操作406,处理装置使用所标识读取偏移量执行后续读取操作。在一些实例中,所标识读取偏移量可以是应用于特定阈值电压电平的偏移值。

在操作408,处理装置确定在使用所标识读取偏移量时触发额外错误控制操作。为了确定在使用所标识读取偏移量时触发额外错误控制操作包括,可以确定在使用所标识读取偏移量时针对第二阈值数目的读取操作触发额外错误控制操作。

在操作410,处理装置使用与执行读取操作的存储器子系统相关联的默认读取偏移量来执行进一步的读取操作。在一些实例中,默认读取偏移量可以不同于所标识读取偏移量。在一些实例中,可以将默认读取偏移量设置为基于存储器子系统的操作在一段时间内导出的经校准读取偏移量。

图5示出计算机系统500的实例机器,在所述实例机器中可以执行用于使所述机器执行本文论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统500可对应于包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)的主机系统(例如,图1的主机系统120),或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的粘性读取组件113的操作)。在替代性实施例中,机器可连接(例如联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。

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

实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rambusdram(rdram)等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(sram)等),以及数据存储系统518,其经由总线530彼此通信。

处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体地,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502也可以是一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置502被配置成执行指令526以用于执行本文中所论述的操作和步骤。计算机系统500可进一步包含通过网络520通信的网络接口装置508。

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

在一个实施例中,指令526包含用于实施对应于粘性读取组件(例如,图1的粘性读取组件113)的功能的指令。尽管在实例实施例中机器可读存储媒体524示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且使机器执行本公开的方法中的任何一或多种的任何媒体。术语“计算机可读存储媒体”因此应被认为包含但不限于固态存储器、光学媒体和磁性媒体。

已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其它技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等有时是便利的。

然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可涉及将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操控和变换为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。

本公开还涉及用于执行本文中的操作的设备。这一设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、cd-rom以及磁性光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。

本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。

本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。

在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和附图。

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