减缓存储器子系统中存储器单元的电压状况

文档序号:1009410 发布日期:2020-10-23 浏览:20次 >En<

阅读说明:本技术 减缓存储器子系统中存储器单元的电压状况 (Mitigating voltage conditions of memory cells in a memory subsystem ) 是由 K·K·姆奇尔拉 V·P·拉亚普鲁 P·费利 S·K·瑞特南 S·帕塔萨拉蒂 林其松 S 于 2019-02-01 设计创作,主要内容包括:可以识别已对紧邻存储器组件的特定存储器单元的一或多个存储器单元执行的操作的数量。可以基于操作的所识别数量来关于所述特定存储器单元是否已从与降低的错误率相关联的状态转变到与增加的错误率相关联的另一种状态作出确定。响应于确定所述特定存储器单元已从与所述降低的错误率相关联的所述状态转变到与所述增加的错误率相关联的所述另一种状态,可以对所述特定存储器单元执行操作以将所述特定存储器单元从与所述增加的错误率相关联的所述另一种状态转变到与所述降低的错误率相关联的所述状态。(The number of operations that have been performed on one or more memory cells that are immediately adjacent to a particular memory cell of the memory component may be identified. A determination may be made as to whether the particular memory cell has transitioned from a state associated with a decreased error rate to another state associated with an increased error rate based on the identified number of operations. In response to determining that the particular memory cell has transitioned from the state associated with the reduced error rate to the another state associated with the increased error rate, an operation may be performed on the particular memory cell to transition the particular memory cell from the another state associated with the increased error rate to the state associated with the reduced error rate.)

减缓存储器子系统中存储器单元的电压状况

技术领域

本公开总体上涉及一种存储器子系统,并且更具体地,涉及减缓存储器子系统中存储器单元的电压状况。

背景技术

存储器子系统可以是如固态驱动器(SSD)等存储系统,并且可以包含一或多个存储数据的存储器组件。存储器组件可以是例如非易失性存储器组件和易失性存储器组件。通常,主机系统可以利用存储器子系统来将数据存储在存储器组件处并从存储器组件中检索数据。

具体实施方式

本公开的各方面涉及减缓存储器子系统中的存储器单元的电压状况。存储器子系统在下文中也被称为“存储器装置”。存储器子系统的实例是如固态驱动器(SSD)等存储系统。在一些实施例中,存储器子系统是混合存储器/存储子系统。通常,主机系统可以利用包含一或多个存储器组件的存储器子系统。主机系统可以提供要存储在存储器子系统中的数据,并且可以请求从存储器子系统中检索数据。

每个存储器组件可以包含多个存储器单元,其中每个存储器单元可以存储与从主机系统接收的数据相对应的二进制数据的一或多个位。常规的存储器子系统可以通过执行两个编程遍(或任意数量的编程遍)来将数据存储在特定存储器单元处,所述两个编程遍各自在存储器单元处对数据进行编程或将数据存储在存储器单元处。例如,第一编程遍可以在特定时间在存储器单元处对数据进行编程。在稍后的时间,可以对存储器单元执行第二编程遍以将另外的数据存储在存储器单元处,并且第二编程遍需要并使用在第一遍编程中存储的信息。在存储器子系统对相同的存储器单元执行第一编程遍与执行第二编程遍之间可以经过一定的时间。

在存储器子系统对存储器单元执行第一编程遍与第二编程遍之间已经过的时间量期间,存储器单元的状态或状况可以改变。例如,在使用第一编程遍对存储器单元执行编程操作之后,存储器单元可以处于初始电压状况。初始电压状况对应于瞬时阈值电压(Vt)状态。在一些实施例中,瞬时Vt状态可以是存储器单元的物理状态,其中存储器单元的电子分布在整个存储器单元中。在已经执行第一编程遍并经过了一定时间但未对存储器单元执行其它操作之后,存储器单元可以从初始电压状况或状态转变到另一种电压状况或状态。例如,存储器单元可以转变到稳定阈值电压(Vt)状态,所述稳定Vt状态对应于存储器单元的另一种物理状态,其中存储器单元的电子未分布在整个存储器单元中。相反,电子可以朝存储器单元的边缘或外部分布。

存储器单元的电压状况从瞬时Vt状态到稳定Vt状态的改变可能导致在执行第二编程遍时,错误地读取或检索通过第一编程遍存储在存储器单元中的数据。例如,通过第一编程遍被编程到存储器单元的数据将随后从存储器单元中被读取,并且在第二编程遍期间用于将另外的数据存储在存储器单元处。然而,如果在对存储器单元执行第一编程遍之后并且在对存储器单元执行第二编程遍之前,存储器单元已经从瞬时Vt状态转变到稳定Vt状态,则从存储器单元读取的数据中的错误可能更频繁。由此,瞬时Vt状态可以对应于存储器单元的一种状态,在所述状态下,当与可能以增加的错误率读取或检索存储在存储器单元处的数据的稳定Vt状态相比,可以以降低的错误率读取或检索存储在存储器单元处的数据。因此,在常规的存储器子系统中,在作为第二编程遍的一部分将另外的数据编程到存储器单元之前,应该执行错误检测和校正操作(即,错误控制操作)的增加使用以校正数据中的错误。错误控制操作的增加使用可能导致常规的存储器子系统的性能下降,因为在存储器子系统正在执行另外的错误控制操作的同时,可以执行的来自主机系统的读取操作和写入操作较少。

此外,在其它常规的存储器系统中,如果在执行第二遍编程之前未对由于第一遍编程而存储的数据执行错误控制操作,则如果对应的存储器单元处于稳定Vt状态,则数据可以包含大量的位错误,从而导致数据的写入错误。此类写入错误可以降低使用与数据相关联的软(即,可靠性)信息的错误校正操作的校正能力。

本公开的各方面通过减缓存储器子系统处的存储器单元的电压状况来解决上述和其它缺点。例如,可以在对存储器单元执行第一编程遍与对存储器单元执行第二编程遍之间对存储器单元执行操作(即,读取操作),以开始存储器单元从稳定Vt状态到瞬时Vt状态的转变。因此,当存储器单元处于瞬时Vt状态并且与降低的错误率相关联时,然后可以执行第二编程遍。

在一些实施例中,用于转变特定存储器单元的状态的操作的执行可以基于已对紧邻特定存储器单元的其它存储器单元执行的其它编程遍或操作。例如,可以执行第一编程遍以将数据存储在特定存储器单元处,并且随后可以对在位置上紧邻特定存储器单元的其它存储器单元执行其它编程遍或操作(例如,写入操作或擦除操作)。对其它存储器单元执行的此类操作可以影响存储器单元从瞬时Vt状态转变到稳定Vt状态。例如,对邻近或紧邻的存储器单元(例如,特定存储器单元的同一平面或管芯上的其它存储器单元)执行的写入操作可以有助于特定存储器单元从瞬时Vt状态转变到稳定Vt状态。随着对紧邻的存储器单元执行更多的操作,则特定存储器单元可以更快地转变到稳定Vt状态。在一些实施例中,在对紧邻的存储器单元执行阈值数量的编程和擦除操作之后,可以对特定存储器单元执行读取操作。因此,读取操作可以启动特定存储器单元从稳定Vt状态到瞬时Vt状态的转变。在相同或替代实施例中,如果从对特定存储器单元执行第一编程遍起并且在对特定存储器单元执行任何第二编程遍之前已经经过了阈值时间量,则可以对特定存储器单元执行读取操作。

本公开的优点包含但不限于存储器子系统的性能增加,这是因为当将数据写入存储器子系统时要执行的错误控制操作更少。例如,当存储器单元处于可以以更少的错误读取由于第一编程遍而存储在存储器单元处的数据的瞬时Vt状态时,可以对存储器单元执行第二编程遍。另外,然后由于在存储器单元处于瞬时Vt状态时对存储器单元执行第二编程遍,可以提高存储器单元处存储的数据的可靠性。

图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 Express(NVMe)接口以对存储器组件112A到112N进行存取。物理主机接口可以提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。

存储器组件112A到112N可以包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含与非(negative-and)(NAND(与非))型闪速存储器。存储器组件112A到112N中的每个存储器组件可以包含如单级单元(SLC)或多级单元(MLC)(例如,三级单元(TLC)或四级单元(QLC))等存储器单元的一或多个阵列。在一些实施例中,特定存储器组件可以包含存储器单元的SLC部分和MLC部分两者。存储器单元中的每个存储器单元可以存储由主机系统120使用的数据的一或多个位(例如,数据块)。尽管描述了如与非型闪速存储器等非易失性存储器组件,但是存储器组件112A到112N可以基于如易失性存储器等任何其它类型的存储器。在一些实施例中,存储器组件112A到112N可以是但不限于随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、或非(negative-or)(NOR(或非))闪速存储器、电可擦可编程只读存储器(EEPROM)以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列与可堆叠交叉网格数据存取阵列结合可以基于体电阻的改变执行位存储。另外,与许多基于闪速的存储器相比,交叉点非易失性存储器可以执行写入原地(in-place)操作,其中可以对非易失性存储器单元进行编程而无需先前擦除非易失性存储器单元。此外,存储器组件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(例如,电路系统、专用逻辑、可编程逻辑、固件等),以对存储器单元执行操作以改变存储器单元的电压状况。在一些实施例中,控制器115包含电压状况组件113的至少一部分。例如,控制器115可以包含被配置成执行存储在本地存储器119中的用于执行本文所描述的操作的指令的处理器117(处理装置)。在一些实施例中,电压状况组件113是主机系统110、应用或操作系统的一部分。

在一些实施方案中,电压状况组件113可以对存储器组件112A到112N处的存储器单元执行操作,以将存储器单元从增加的错误率的状态(例如,稳定Vt状态)转变到降低的错误率的另一种状态(例如,瞬时Vt状态)。下文描述关于电压状况组件113的操作的进一步的细节。

图2是根据本公开的一些实施例的用于对存储器单元执行操作以改变存储器单元的电压状况的示例方法的流程图。方法200可以由处理逻辑执行,所述处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法200由图1的电压状况组件113执行。尽管以特定序列或顺序示出,但除非另有指定,否则可以修改过程的顺序。因此,所展示的实施例应被理解为只是实例,并且所展示的过程可以以不同的顺序执行,并且一些过程可以并行地执行。另外,在各个实施例中可以省略一或多个过程。因此,并非在每一个实施例中都需要所有过程。其它过程流程是可能的。

如图2所示,在框210处,处理逻辑识别出已对存储器单元执行编程操作。在一些实施例中,对包含一组存储器单元的数据块执行编程操作。由此,可以对数据块(例如,一组存储器单元)和/或单独的存储器单元执行本文所描述的操作。例如,本公开中关于存储器单元所描述的操作也可以与作为一组存储器单元的数据块一起使用。编程操作可以作为第一编程遍的一部分来执行,所述第一编程遍对存储器子系统中的存储器组件的存储器单元处的数据进行编程。第一编程遍可以是两遍编程操作的一部分,所述两遍编程操作包含第二编程遍,在对存储器单元执行第一编程遍之后所述第二编程遍对存储器单元处的另外的数据进行编程。在框220处,处理逻辑识别出尚未对存储器单元执行后续编程操作。例如,存储器子系统可以识别出尚未对存储器单元执行第二编程遍(例如,从第一编程遍起已经经过了一定时间)。在框230处,处理逻辑确定存储器单元的电压状况已改变。例如,电压状况可以对应于存储器单元是否已从瞬时Vt状态改变到稳定Vt状态。例如,存储器子系统可以识别出是否已在紧邻存储器单元的其它存储器单元处执行阈值数量的编程/擦除操作。关于图4、5A和5B描述了关于基于在紧邻的存储器单元处执行阈值数量的操作来确定存储器单元的电压状况是否已改变(例如,从瞬时Vt状态到稳定Vt状态)的进一步的细节。在相同或替代实施例中,存储器子系统可以基于从对存储器单元执行第一编程遍起经过阈值时间量来识别出存储器单元的电压状况已改变。关于图6描述了关于基于经过阈值时间量来确定存储器单元的电压状况是否已改变的进一步的细节。在一些实施例中,存储器子系统可以基于在紧邻的存储器单元处执行阈值数量的操作和/或从对存储器单元执行第一编程遍起经过阈值时间量来推断或假设存储器单元的电压状况已改变。

在框240处,当存储器单元的电压状况已改变时,处理逻辑对存储器单元执行操作以恢复存储器单元的电压状况。例如,当存储器单元已改变到稳定Vt状态时,对存储器单元执行操作可以将存储器单元恢复到瞬时Vt状态。操作可以是但不限于对存储器单元执行的读取操作。在一些实施例中,操作可以是向存储器单元施加电压,或者是引起向存储器单元施加电压的任何其它操作或动作。在框250处,在执行操作以恢复存储器单元的电压状况之后,处理逻辑对存储器单元执行后续编程操作。后续编程操作可以是用于在存储器单元已转变回到瞬时Vt状态时将另外的数据存储在存储器单元处的第二编程遍。第二编程遍使用在第一存储器遍期间编程的存储在存储器单元处的数据。

图3展示了根据本公开的一些实施例的存储器单元的电压状况或状态。通常,可以由图1的电压状况组件113对存储器单元执行图3的各个操作。

如图3所示,可以对存储器单元执行第一编程操作310。例如,作为第一编程遍的一部分,第一编程操作310可以将数据存储在存储器单元处。在一些实施例中,存储器单元可以存储对应于多个存储器页面的数据,并且第一编程遍可以存储对应于存储器页面的一部分的数据。在对存储器单元320执行第一编程操作310之后,存储器单元320可以处于初始状态。例如,当将数据编程到存储器单元320时,存储器单元320可以处于瞬时Vt状态。随着时间的经过或对紧邻的存储器单元执行其它编程/擦除操作,存储器单元320可以朝稳定Vt状态行进。因此,存储器单元可以从可以以更少的错误(例如,对应于瞬时Vt状态的降低的错误率)读取存储在存储器单元处的数据的状态转变到可能以较多的错误(例如,对应于稳定Vt状态的增加的错误率)读取存储在存储器单元处的数据的状态。在存储器单元320已转变到稳定Vt状态之后,可以对存储器单元320执行读取操作330(或将电压施加到存储器单元320的另一类型的操作)以减缓存储器单元的稳定Vt状态。例如,读取操作330可以恢复存储器单元320的瞬时Vt状态。在取决于存储器系统的温度的时间量之后,存储器单元320可以恢复到瞬时Vt状态。在一些实施例中,在经过一定时间量以使得存储器单元处于瞬时Vt状态后,可以启动或可以开始第二遍编程。在已对存储器单元320执行读取操作330以恢复瞬时Vt状态或启动瞬时Vt状态的恢复之后,可以对存储器单元320执行第二编程操作340。因此,在存储器单元320恢复到瞬时Vt状态之后,可以对存储器单元320执行第二编程操作340。

图4是根据本公开的一些实施例的用于基于其它存储器单元来确定是否对存储器单元执行操作以改变存储器单元的电压状况的示例方法400的流程图。通常,方法400可以由处理逻辑执行,所述处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件等)、软件(例如,在处理装置上运行或执行的指令)或其组合。方法400可以由图1的电压状况组件113执行。

如图4所示,在框410处,处理逻辑确定要对特定存储器单元执行编程操作。编程操作可以是第二编程遍的一部分。例如,特定存储器单元可以存储来自在先前时间先前时间执行的来自第一编程遍的先前编程操作的数据并且尚未存储来自第二编程遍的数据。在框420处,处理逻辑识别出已对紧邻特定存储器单元的存储器单元执行的操作的数量。与特定存储器单元在同一字线、同一平面和/或同一管芯上的存储器单元可以被认为紧邻特定存储器单元。在一些实施例中,在特定存储器单元的特定距离内的存储器单元可以被认为紧邻存储器单元。已对紧邻的存储器单元执行的操作可以包含紧邻的存储器单元处的编程操作(例如,数据的存储)和/或用于在紧邻的存储器单元处去除数据的擦除操作。在框430处,处理逻辑确定操作的数量是否满足阈值数量。当操作的数量等于或超过阈值数量时,对紧邻的存储器单元执行的操作的数量可以被认为满足阈值数量(即,阈值条件),并且当操作的数量少于阈值数量时,操作的数量可以被认为不满足阈值数量。如果操作的数量满足阈值数量或阈值条件,则在框440处,处理逻辑对特定存储器单元执行读取操作。例如,可以对特定存储器单元执行读取操作以将特定存储器单元的电压状况从针对存储器单元处读取的数据的增加的错误的状态(例如,稳定Vt状态)改变到针对存储器单元处读取的数据的减少的错误的另一种状态(例如,瞬时Vt状态)。在框450处,处理逻辑对特定存储器单元执行编程操作。例如,在对特定存储器单元执行读取操作以改变特定存储器单元的电压状况之后,可以将数据编程到特定存储器单元。

参考图4,如果对紧邻的存储器单元执行的操作的数量满足阈值数量或阈值条件,则在框460处,处理逻辑确定不对特定存储器单元执行读取操作。例如,可以确定不执行用于将特定存储器单元转变到瞬时Vt状态的读取操作,因为可以假设存储器单元不处于稳定Vt状态。在一些实施例中,可以不执行旨在将特定存储器单元转变到瞬时Vt状态的读取操作时执行来自主机系统的用于检索存储在特定存储器单元处的数据的其它读取操作。在框470处,处理逻辑对特定存储器单元执行编程操作。例如,作为第二编程遍的一部分,可以将另外的数据存储在特定存储器单元处。

图5A展示了根据本公开的一些实施例的针对紧邻的数据块的存储器单元的操作,所述操作改变特定数据块中的存储器单元的电压状况。通常,图1的电压状况组件113可以基于已对紧邻的数据块执行的操作来改变特定数据块的存储器单元的电压状况。

如图5A所示,可以将数据存储在特定数据块550处。在一些实施例中,数据块包含一组存储器单元。数据块510、520、530、540、560、570、580和590紧邻特定数据块单元550(例如,在同一字线、平面或管芯上)。在紧邻的数据块处执行的操作的数量可以用于确定是否对特定存储器数据块550执行读取操作以恢复特定数据块550的电压状况。例如,已对数据块510的存储器单元执行一个操作,已对数据块560的存储器单元执行两个操作并且已对数据块580的存储器单元执行三个操作。因此,对紧邻特定数据块550的数据块执行的操作的数量是六个操作。六个操作中的每个操作都可以有助于特定数据块550的存储器单元行进到稳定Vt状态。当已在紧邻的数据块处执行阈值数量的操作时,可以假设特定数据块550处于稳定Vt状态。例如,如果阈值数量是十,则已对紧邻的数据块执行的六个操作不超过阈值数量的操作。由此,可以认为特定数据块仍处于瞬时Vt状态。

图5B展示了根据本公开的一些实施例的针对紧邻的数据块的操作,所述操作改变特定数据块的电压状况,使得将要减缓电压状况。通常,图1的电压状况组件113可以基于已对紧邻的数据块执行的操作来改变特定数据块的电压状况。

如图5B所示,已对紧邻的数据块的存储器单元执行十个操作。由于十个操作等于阈值数量,则已对紧邻的数据块执行的操作可以被认为将特定数据块550的存储器单元的电压状况改变到稳定Vt状态。由此,可以对特定数据块550执行读取操作,以将特定数据块550的存储器单元从稳定Vt状态转变到瞬时Vt状态。在一些实施例中,可以对特定数据块550的每个存储器单元执行读取操作。

图6是根据本公开的一些实施例的用于基于经过的时间来确定是否对存储器单元执行操作以改变电压状况的示例方法600的流程图。通常,方法600可以由处理逻辑执行,所述处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件等)、软件(例如,在处理装置上运行或执行的指令)或其组合。方法600可以由图1的电压状况组件113执行。

如图6所示,在框610处,处理逻辑识别出已对存储器单元执行第一编程操作。第一编程操作可以是将数据存储在数据块的存储器单元处的第一编程遍的一部分。此外,处理逻辑可以确定尚未在存储器单元处执行用于将另外的数据存储在存储器单元处的第二编程遍的另一个编程操作。在框620处,处理逻辑确定从对存储器单元执行第一编程操作起经过的时间量。经过的时间量可以对应于存储器单元已从瞬时Vt状态转变到稳定Vt状态的假设。在相同或替代实施例中,经过的时间量可以对应于何时应该执行读取操作以将数据块的存储器单元保持在瞬时Vt状态。在框630处,处理逻辑确定时间量是否超过阈值时间量。当经过的时间量超过(或等于)阈值时间量(即,阈值时间条件)时,可以假设数据块的存储器单元已从瞬时Vt状态转变到稳定Vt状态。在一些实施例中,阈值时间量可以对应于具有包含数据块的存储器组件的存储器子系统已断电或不操作的时间量。如果从对数据块的存储器单元执行第一编程操作起经过的时间量超过阈值时间量,则在框640处,处理逻辑对存储器单元执行读取操作以改变存储器单元的电压状况。读取操作可以是在无来自主机系统的用于检索存储在存储器单元处的数据的请求的情况下执行的操作。在框650处,处理逻辑对存储器单元执行第二编程操作。例如,在对存储器单元执行读取操作以改变存储器单元的电压状况或保持存储器单元的电压状况之后,可以执行第二编程操作。相反,如果从对存储器单元执行第一编程操作起经过的时间量不超过阈值时间量,则在框660处,处理逻辑确定不对数据块的存储器单元执行读取操作。此外,在框670处,处理逻辑对存储器单元执行第二编程操作。

在一些实施例中,可以对在存储器子系统的存储器组件处的未用第二编程遍编程的数据块的每个存储器单元执行读取操作。当存储器子系统在断电或未运行阈值时间量后已初始化或重新通电时,可以对存储器单元执行读取操作。

图7是根据本公开的一些实施例的用于基于读取偏移来减缓存储器单元的电压状况的示例方法700的流程图。通常,方法700可以由处理逻辑执行,所述处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件等)、软件(例如,在处理装置上运行或执行的指令)或其组合。方法700可以由图1的电压状况组件113执行。

本公开的各方面可以通过施加读取偏移来减缓存储器单元的电压状况,所述读取偏移用于对假设已从瞬时Vt状态改变到稳定Vt状态的特定存储器单元执行读取操作。例如,如下文所描述的,代替改变可能已转变到稳定Vt状态的存储器单元的电压状况,当存储器单元被认为已从瞬时Vt状态转变到稳定Vt状态时,读取偏移值可以用于检索存储在存储器单元处的数据。

如图7所示,在框710处,处理逻辑识别出已执行编程操作以将数据存储在存储器单元处。例如,可以对存储器单元执行第一编程遍。在框720处,处理逻辑确定存储器单元已改变电压状况。当满足阈值条件时,可以确定存储器单元已从瞬时Vt状态改变到稳定Vt状态。例如,如先前所描述的,当已对紧邻的存储器单元执行阈值数量的操作时或者当从执行编程操作以将数据存储在存储器单元处起已经经过了阈值时间量时,可以满足阈值条件。在框730处,处理逻辑基于改变的电压状况来接收读取偏移。读取偏移可以指定要施加的特定阈值电压以读取在第一编程遍期间编程的存储在存储器单元处的数据。例如,当存储器单元处于瞬时Vt状态时,可以施加第一阈值电压以读取存储在存储器单元处的数据,并且当存储器单元处于稳定Vt状态时,可以施加基于读取偏移的不同的第二阈值电压以读取存储在存储器单元处的数据。

在框740处,处理逻辑基于读取偏移来执行读取操作以检索存储器单元处的数据。例如,可以通过向通过读取偏移限定的存储器单元施加阈值电压,从存储器单元检索数据。因此,通过借助于施加与从处于瞬时Vt状态的存储器单元读取数据时要施加的阈值电压不同的阈值电压从处于稳定Vt状态的存储器单元读取数据,可以执行第二编程遍。在框750处,处理逻辑基于从读取操作检索的数据来对存储器单元执行后续编程操作。例如,可以对存储器单元执行第二编程遍,其中由于第二编程遍而存储在存储器单元处的另外的数据是基于在较早时间对存储器单元执行的第一编程遍的数据的值。

图8展示了计算机系统800的示例机器,可以在所述计算机系统的示例机器内执行用于使机器执行本文所讨论的方法中的任何一或多种方法的指令集。在一些实施例中,计算机系统800可以对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦接到或利用存储器子系统(例如,图1的存储器子系统110)或可以用于执行控制器的操作(例如,以执行操作系统,从而执行对应于图1的电压状况组件113的操作)。在替代实施例中,机器可以连接(例如,联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可以在客户端-服务器网络环境中以服务器或客户端机器的能力进行操作,作为对等(或分布式)网络环境中的对等机器,或作为云计算基础架构或环境中的服务器或客户端机器。

机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web电器、服务器、网络路由器、交换机或桥接器、或能够(顺序地或以其它方式)执行指定所述机器要采取的动作的指令集的任何机器。进一步地,尽管展示了单个机器,但是术语“机器”还应该被视为包含单独地或联合地执行一个指令集(或多个指令集)以执行本文所讨论的方法中的任何一或多种方法的机器的任何集合。

示例计算机系统800包含通过总线830相互通信的处理装置802、主存储器804(例如,只读存储器(ROM)、闪速存储器、动态随机存取存储器(DRAM)如同步DRAM(SDRAM)或兰巴斯(Rambus)DRAM(RDRAM)等)、静态存储器806(例如,闪速存储器、静态随机存取存储器(SRAM)等)和数据存储系统818。

处理装置802表示一或多个通用处理装置,如微处理器、中央处理单元等。更具体地,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器或实施指令集组合的处理器。处理装置802还可以是一或多个专用处理装置,如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置802被配置成执行用于执行本文所讨论的操作和步骤的指令826。计算机系统800可以进一步包含用于通过网络820通信的网络接口装置808。

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

在一个实施例中,指令826包含用于实施对应于电压状况组件(例如,图1的电压状况组件113)的功能的指令。虽然在示例实施例中示出的机器可读存储媒体824是单个媒体,但是术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码由机器执行且使机器执行本公开的方法中的任何一或多种方法的指令集的任何媒体。因此,术语“机器可读存储媒体”应被认为包含但不限于固态存储器、光学媒体和磁性媒体。

已经以对计算机存储器内的数据位的操作的算法和符号表示的形式呈现了前面详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来向本领域的其它技术人员最有效地传递其工作实质的方式。算法在此处并且通常被认为是产生期望结果的操作的自相一致序列。所述操作是需要对物理量进行物理操纵的操作。通常但不一定,这些量采用能够被存储、组合、比较和以其它方式操纵的电或磁信号的形式。已经证明有时候,主要出于通用的原因,将这些信号称作位、值、元素、符号、字符、术语、数字等是便利的。

然而,应当记住,所有这些术语和类似术语应当与适当的物理量相关联,并且仅仅是应用于这些量的方便标记。本公开可以涉及计算机系统或类似的电子计算装置的动作和过程,所述计算机系统或类似的电子计算装置对在计算机系统的寄存器和存储器内表示为物理(电子)量的数据进行操纵,并将其转换为在计算机系统的存储器或寄存器或其它此类信息存储系统内以类似方式表示为物理量的其它数据。

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

本文所呈现的算法和显示并非固有地与任何特定计算机或其它设备相关。各种通用系统可以与根据本文的教导的程序一起使用,或者可以证明,构造用于执行所述方法的更具专用性的设备是方便的。用于各种这些系统的结构将如以下的描述中阐述那样显现。另外,本公开的描述不参照任何特定的编程语言。应理解,可以使用各种编程语言来实施如本文描述的本公开的教导。

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

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

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于对个性化护肤产品制定配方的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!