使用可变预读取电压电平来管理非易失性存储器装置中的写入操作的制作方法



1.本公开大体上涉及存储器子系统,且更具体地说,涉及使用可变预读取电压电平来管理非易失性存储器装置中的写入操作。


背景技术:



2.一种存储器子系统可包含存储数据的一或多个存储器装置。所述存储器装置可以是例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可以利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。
附图说明
3.根据下文给出的详细描述且根据本公开的各种实施例的随附图式将更加充分地理解本公开。
4.图1说明根据本公开的一些实施例的用于使用可变预读取电压电平来支持非易失性存储器装置中的写入操作的实例计算系统。
5.图2为说明根据本公开的一些实施例的随两个预读取电压电平的写入-写入(w2w)时间间隔而变的位错误率(ber)的曲线图。
6.图3为说明根据本公开的一些实施例的基于数据最后一次写入到存储器装置的数据单元的时间而管理数据块的时间戳的过程的框图。
7.图4为根据本公开的一些实施例的使用存储器子系统中的可变预读取电压电平来管理预读取操作的实例方法的流程图。
8.图5为根据本公开的一些实施例的使用存储器子系统中的可变预读取电压电平来执行预读取操作的实例方法的流程图。
9.图6为其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
10.本公开的各方面涉及在执行预读取操作时管理可变预读取电压电平,所述预读取操作在存储器子系统的存储器装置中的数据的写入操作之前。存储器子系统可为存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含存储数据的一或多个存储器装置的存储器子系统。主机系统可提供要存储在存储器子系统处的数据且可请求要从存储器子系统检索的数据。
11.存储器子系统可包含可存储来自主机系统的数据的多个存储器装置。存储器装置可为非易失性存储器装置。非易失性存储器装置为一或多个裸片的封装。存储器装置可以是非易失性存储器装置,例如作为非易失性存储器的交叉点阵列的三维交叉点(“3d交叉点”)存储器装置,其可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存
储。非易失性存储器装置的另一实例为与非(nand)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。封装中的裸片可指派到一或多个信道以用于与存储器子系统控制器通信。每一裸片可由一或多个平面组成。平面可分组为逻辑单元(lun)。对于一些类型的非易失性存储器装置(例如,nand存储器装置),每一平面由一组物理块组成,所述物理块是用于存储数据的存储器单元的组。单元为存储信息的电子电路。
12.非易失性存储器(nvm)装置由于其改进的读取/写入性能和最小时延而被普遍使用。由于其读取/写入时延性能,它们也非常受存储器和存储系统的欢迎。一种类型的nvm装置执行就地数据替换,例如相变存储器(pcm),其可允许在不执行擦除操作的情况下用新数据替换现有数据。在nvm装置中实现提高性能的一种方式为仅写入不同于已经存储在同一存储器单元中的数据的新数据的子集。为了确定当前存储在存储器单元处的数据,存储器子系统可在写入操作之前执行预读取操作。存储器子系统可将在预读取操作期间获得的数据与要在写入操作期间存储的新数据进行比较。因此,预读取操作的准确性对于写入操作的准确性和整个存储器装置的可靠性至关重要。
13.正如读取操作,使用预读取电压电平来执行预读取操作,所述预读取电压电平可能会影响通过预读取操作获得的数据的错误率。对于某些存储器类型(即,对于采用某些类型的存储媒体的存储器子系统),错误率可随时间变化。确切地说,一些非易失性存储器具有随时间移动的阈值电压(vt)分布。在给定预读取电平(即,作为预读取操作的部分施加到存储器单元的电压)下,如果vt分布移动,那么某些可靠性统计数据也可能会受影响。可靠性统计数据的一个实例是原始位错误率(rber)。rber可定义为错误位的数目与存储在存储器子系统的数据单元中的所有数据位的数目的比率,其中数据单元可为整个存储器子系统、存储器装置的裸片、码字的集合、存储器装置页的集合、存储器装置块的集合或存储器子系统的任何其它有意义部分。对于在一时间例项处的任何vt分布,可存在最小化预期rber的最优预读取电压电平(或预读取电平范围)。确切地说,vt分布和rber可为自数据单元被编程以来的时间(即,自数据被写入到数据单元以来经过的时间段)的函数。由于rber的此时变性质,以及存储器中的其它噪声机制,单个预读取电压电平可能不足以实现满足某些系统可靠性目标的错误率。
14.常规地,使用固定的预读取电压电平来执行预读取操作。举例来说,当在被编程到数据单元的数据的数毫秒内读取数据时,预读取电压电平可产生恰当数据。然而,因为预读取电压电平未被更新,所以当预读取操作在数据在数据单元中编程后几分钟或几小时内发生时,预读取电压电平可能不会产生可接受的读取结果。在此情况下,常规解决方案是从存储器装置读取数据且将其传送到存储器子系统的控制器。控制器接着可使用错误处置机制来对通过预读取操作获得的数据中的错误进行解码和校正。控制器可接着将解码数据与新数据进行比较,且可确定不同的数据位。虽然此方法可校正由于将不适用的预读取电压电平用于预读取操作而可能含有错误的数据,但由于控制器进行的额外处理,此方法可能会在存储器子系统控制器上引入开销。另外,由于将数据传送到控制器的额外步骤可能会增加存储器装置的时延,这会进一步消耗控制器的带宽,从而导致控制器吞吐量下降。
15.本公开的各方面通过基于用于预读取操作的可变预读取电压电平支持非易失性存储器装置中的数据单元的写入操作来解决以上和其它缺陷。在实施方案中,当存储器子系统接收将新数据存储在存储器装置的片段中的写入请求时,存储器子系统可在执行写入
操作之前执行预读取操作。存储器子系统可执行预读取操作以获得当前存储在片段处的数据,将当前存储的数据同与写入请求一起接收的数据进行比较,且接着仅写入与已经存储在片段中的数据不同的数据的位。片段可指代存储器装置的一或多个数据单元,且每一数据单元可表示可对其执行写入操作的最小量的存储器。
16.在实施方案中,可使用预读取电压电平来执行预读取操作,所述预读取电压电平可基于数据最后一次编程或存储在片段中的时间而确定。在此情况下,存储器子系统可确定片段的写入-写入时间间隔,且可确定在执行预读取操作时要使用的对应预读取电压电平。写入-写入时间间隔可指代数据最后一次写入到片段(例如,通过读取与片段相关联的时间戳)的时间与接收到对片段的写入请求的时间之间的时间间隔。
17.当确定片段的写入-写入(w2w)时间间隔时,存储器子系统可通过确定w2w时间间隔是否在具有存储器装置的对应第一预读取电压电平的第一w2w时间间隔范围内来确定预读取电压电平。在实施方案中,存储器装置可具有多个w2w时间间隔范围,每一范围与对应预读取电压电平相关联。如果片段的w2w时间间隔在第一w2w时间间隔范围内,那么第一预读取电压可用于执行预读取操作。
18.当基于片段的w2w时间间隔确定预读取电压电平时,存储器子系统可使用所确定的预读取电压执行预读取操作,以便获得当前存储在片段中的数据。存储器子系统可接着将所获得的数据同与要存储在片段处的写入请求一起接收的新数据进行比较。存储器子系统可接着继续在片段中写入与当前存储在片段中的现有数据的对应位不同的新数据位。
19.本文中所描述的在执行写入操作之前执行预读取操作时支持可变预读取电压电平的技术能够提高nvm装置的整体性能。在存储器单元的电压分布频繁移位的存储器装置中,通过的预读取电压电平可基于数据单元被编程的时间而显著变化。因此,通过使用于数据单元的预读取操作的可变预读取电压电平基于自数据单元被编程以来经过的时间,预读取操作的可靠性和准确性可显著提高,而不必触发耗时的读取错误处置模块以经常校正预读取电压电平。另外,因为此方法可实施于存储器装置中,所以不需要将数据传送到存储器子系统的控制器以便执行错误校正机制。消除数据传送步骤去除了控制器所进行的处理的额外开销且减少了控制器带宽消耗,这可能是由于在每次写入操作时在控制器与存储器装置之间来回传送数据造成的。因此,本文中所描述的在执行数据单元的预读取操作时基于数据单元的最后一次编程时间而支持可变预读取电压电平的技术减少了控制器所进行的处理的额外开销,同时提高了非易失性存储器装置中的差分写入操作的可靠性,这提高了存储器子系统的整体性能。
20.图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类媒体的组合。
21.存储器子系统110可以是存储装置、存储器模块,或存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡和硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小外形dimm(so-dimm),以及各种类型的非易失性双列直插式存储器模块(nvdimm)。
22.计算系统100可以是计算装置,例如台式计算机、笔记本计算机、网络服务器、移动
装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(iot)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网市售装置中的计算机),或包含存储器和处理装置的此类计算装置。
23.计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”通常指代组件之间的连接,其可以是间接通信连接或直接通信连接(例如,不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁性连接等连接。
24.主机系统120可包含处理器芯片组及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存器、存储器控制器(例如,nvdimm控制器),和存储协议控制器(例如,pcie控制器、sata控制器)。主机系统120使用存储器子系统110例如将数据写入到存储器子系统110以及从存储器子系统110读取数据。
25.主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤信道、串行附接的scsi(sas)、双数据速率(ddr)存储器总线、小型计算机系统接口(scsi)、双列直插式存储器模块(dimm)接口(例如,支持双数据速率(ddr)的dimm套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可进一步利用nvm高速(nvme)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。图1说明存储器子系统110作为实例。一般来说,主机系统120可经由同一通信连接、多个分开的通信连接和/或通信连接的组合存取多个存储器子系统。
26.存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为但不限于随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
27.非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(nand)型快闪存储器和就地写入(write-in-place)存储器,例如三维交叉点(“3d交叉点”)存储器。3d交叉点存储器装置是可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存储的非易失性存储器单元的交叉点阵列。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。nand型快闪存储器包含例如二维nand(2dnand)和三维nand(3d nand)。
28.存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(slc)可每单元存储一个位。其它类型的存储器单元,例如多层级单元(mlc)、三层级单元(tlc)和四层级单元(qlc)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc或这些的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的slc部分,以及mlc部分、tlc部分或qlc部分。存储器装置130的存储器单元可分组为可指代用于存储数据的存储器装置的逻辑单元的页。在一些类型的存储器(例如,nand)的情况下,页可分组以形成块。一
些类型的存储器(例如3d交叉点)可将跨裸片和信道的页分组以形成管理单元(mu)。
29.虽然描述了例如非易失性存储器单元3d交叉点阵列和nand型快闪存储器(例如,2d nand、3d nand)等非易失性存储器组件,但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(feram)、铁电晶体管随机存取存储器(fetram)、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、或非(nor)快闪存储器和电可擦除可编程只读存储器(eeprom)。
30.存储器子系统控制器115(或为简单起见,控制器115)可与存储器装置130通信以执行例如在存储器装置130处读取数据、写入数据或擦除数据的操作以及其它此类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路系统以执行本文中所描述的操作。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或其它合适的处理器。
31.存储器子系统控制器115可包含被配置成执行存储在本地存储器119中的指令的处理器117(例如,处理装置)。在所说明实例中,存储器子系统控制器115的本地存储器119包含被配置成存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流和例程。
32.在一些实施例中,本地存储器119可包含存储器寄存器,其存储存储器指针、所获取数据等。本地存储器119还可包含用于存储微码的只读存储器(rom)。虽然图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,且可改为依靠外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
33.通常,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换成指令或适当命令以实现对存储器装置130的所要存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ecc)操作、加密操作、高速缓存操作,以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(lba)、名字空间)与物理地址(例如,物理mu地址、物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转换成命令指令以存取存储器装置130以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
34.存储器子系统110还可以包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可以包含高速缓存或缓冲器(例如,dram)和地址电路系统(例如,行解码器和列解码器),所述地址电路系统可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130。
35.在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115进行操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其为与在同一存储器装置封装内进行媒体管理的本地控制器(例如,本地控制器135)组合的原始存储器装置。受
管理存储器装置的实例是受管理nand(mnand)装置。
36.存储器子系统110包含预读取操作管理组件113,其可用于基于用于预读取操作的可变预读取电压电平而支持非易失性存储器装置中的数据单元的写入操作。在实施方案中,当主机系统120向存储器子系统110发送将某些数据存储在存储器装置130到140的片段中的写入请求时,存储器子系统110可在执行所请求的写入操作之前执行预读取操作。片段可为存储器装置的任何物理或逻辑部分,例如码字的集合或管理单元。片段可进一步指代存储器装置的一或多个数据单元,且每一数据单元可表示可对其执行写入操作的最小量的存储器。
37.在某些实施方案中,预读取操作可用于获得当前存储在片段中的数据,使得当前数据可与请求存储的新数据进行比较,以确定与当前存储数据的对应位不同的新数据的位。在此情况下,存储器子系统110可仅写入与片段中的当前存储数据不同的数据位。在确定与已经存储在片段中的数据不同的新数据的位之后,存储器子系统110可继续执行写入操作以将新数据的所确定位存储在片段中。
38.在实施方案中,可使用某一预读取电压电平来执行预读取操作,所述预读取电压电平可由预读取操作管理组件113基于数据最后一次编程或存储在片段中的时间而确定。举例来说,预读取操作管理组件113可确定片段的写入-写入时间间隔,且可确定在执行预读取操作时要使用的对应预读取电压电平。在某些实施方案中,写入-写入时间间隔可指代数据最后一次写入到片段的时间与接收到对片段的写入请求的时间之间的时间间隔。举例来说,预读取操作管理组件113可存储表示数据最后一次写入到片段或一组片段的时间的时间戳值,以便确定片段的w2w时间间隔。
39.当确定片段的写入-写入(w2w)时间间隔时,预读取操作管理组件113可通过确定w2w时间间隔是否在具有存储器装置130到140的对应第一预读取电压电平的第一w2w时间间隔范围内而确定预读取电压电平。在实施方案中,存储器装置130可具有两个w2w时间间隔范围,每一范围表示在对应预读取电压电平用于读取操作时产生最小错误率的电压分布。在此情况下,如果片段的w2w时间间隔在第一w2w时间间隔范围内,那么第一预读取电压可用于执行预读取操作。另一方面,如果片段的w2w时间间隔在第二w2w时间间隔范围内,那么第二预读取电压可用于执行预读取操作。
40.当基于片段的w2w时间间隔确定预读取电压电平时,预读取操作管理组件113可使用所确定的预读取电压执行预读取操作,以便获得当前存储在片段中的数据。预读取操作管理组件113可接着将所获得的数据同与要存储在片段处的写入请求一起接收的新数据进行比较。在某些非易失性存储器装置(例如,3d交叉点存储器装置)中,可执行写入操作,使得仅可写入与当前存储在存储器的片段处的数据不同的数据。在实例中,预读取操作管理组件113可将当前存储在片段中的数据的每一位与要存储在片段处的新数据的对应位进行比较,且如果所述两个位不同,那么新数据的对应位可被标记为不同的。如果两个位相同,那么可将新数据的对应位标记为相同的。当比较所有位并将其标记为相关时,仅标记为不同的新数据的位可写入到片段。
41.图2为说明根据本公开的一些实施例的随两个预读取电压电平的写入-写入(w2w)时间间隔而变的位错误率(ber)的曲线图200。如本文中所描述,vt分布可随时间移位。举例来说,对于给定预读取电压电平,例如预读取电平1,由于vt分布的本征移动,在使用此预读
取电压电平执行预读取操作时经历的位错误率可随时间变化。类似地,预读取电平2的对应位错误率也可随时间变化。在这些或其它情况下,vt分布和位错误率可为表示自最后一次编程给定数据单元以来经过的时间的w2w时间间隔的函数。曲线图200展示对应于w2w时间的不同范围的两个预读取电压电平中的每一个,所述范围例如w2w范围210和w2w范围220,其可为存储器子系统规范的设计目标。在其它实施例中,可存在任何其它数目的w2w时间间隔范围和相关联预读取电压电平。
42.在曲线图200中,针对使用指定预读取电压电平执行的预读取操作显示所测量的ber。举例来说,ber曲线212表示针对使用预读取电平1对不同w2w时间间隔的片段执行的预读取操作测量的ber,ber曲线222表示针对使用预读取电平2对不同w2w时间间隔的片段执行的预读取操作测量的ber。从曲线图200显而易见,对于对w2w时间间隔在w2w范围210内的存储器组件的片段执行的预读取操作,使用预读取电平1会产生较低ber,且对于对w2w时间间隔在w2w范围220内的存储器装置的片段执行的预读取操作,使用预读取电平2会产生较低ber。在说明性实例中,w2w范围210可包含t1l(例如,1毫秒)与t1r(例如,1分钟)之间的时间间隔。在此情况下,在1毫秒到1分钟之前编程的片段可使用预读取电压电平1来执行预读取操作。另一方面,w2w范围220可包含t2l(例如,1秒)与t1r(例如,10小时)之间的时间间隔。在此情况下,在1秒到10小时之前编程的片段可使用预读取电压电平2来执行预读取操作。在此实例中,存储器子系统110可被配置成每10小时触发对片段的写入请求,使得每一片段可具有10小时的最大w2w时间间隔。另外,如果片段的给定w2w时间间隔为在w2w范围内的时间(例如,w2w时间间隔大于1秒且小于1分钟),那么存储器子系统110可确定预读取电压电平1或预读取电压电平2可用于片段的预读取操作,因为预读取电压电平可产生可接受ber。举例来说,可接受ber可指在存储器装置的错误控制译码(ecc)能力内的错误率。存储器子系统110可接着使用预读取电压电平1或预读取电压电平2对片段执行预读取操作。
43.曲线图200还说明对于单个预读取电平(例如,预读取电压电平2),ber以较低w2w时间间隔(即,w2w时间《t2l)和以较高w2w时间间隔(即,w2w时间》t2r)增加。在一个实施方案中,预读取电压电平1为最低电压,且预读取电压电平2具有比预读取电压电平1高的电压。预读取电压电平1和预读取电压电平2的值可在存储器装置的产生期间设置,但可任选地在存储器装置的寿命期间调整。
44.图3为说明根据本公开的一些实施例的基于数据最后一次写入到存储器装置的数据单元的时间而管理数据块的时间戳的过程的框图300。在一个实施方案中,存储器装置130可包含数据块310、350。数据块可指代存储器装置130内的一组数据单元。举例来说,数据块可表示包括4000个数据单元的存储器的区。在此实例中,数据单元可表示4000字节的存储器块。在其它实施方案中,数据单元可指代用于存储数据的存储器装置的单元,且可包含一或多个存储器页、一或多个存储器单元或一或多个字线。每一数据单元可在不同时间编程。
45.数据块310包括数据单元311、313,且数据块350包括数据单元351、353。存储器装置130可进一步包含可用于跟踪对数据块310的数据单元执行的最近写入操作的时间的时间戳340。存储器装置130还可包含可用于跟踪对数据块350的数据单元执行的最近写入操作的时间的时间戳360。
46.在操作331处,处理逻辑可接收识别数据单元311的写入请求。写入请求可包含要
写入到数据单元311的新数据。处理逻辑可接着执行写入操作且可确定数据单元311与数据块310相关联,所述数据块又与时间戳340相关联。在操作332处,处理逻辑可更新时间戳340以指示在存储器装置130处接收到写入操作331的时间。因此,当准备好对数据块310的任何数据单元执行预读取操作时,处理逻辑可读取时间戳340以将数据单元的w2w时间间隔确定为自记录在时间戳340处的时间以来经过的时间(例如,w2w时间间隔=当前时间-存储在时间戳340处的时间)。
47.在操作333处,处理逻辑可接收识别数据单元313且包含要写入到数据单元313的新数据的写入请求。处理逻辑可接着执行写入操作且可确定数据单元313与数据块310相关联。类似于在操作332处执行的步骤,操作334处的处理逻辑可更新时间戳340以指示在存储器装置130处接收到写入操作333的时间,因此指示时间戳340可反映对数据块310的数据单元执行的最近写入操作。
48.在操作335处,处理逻辑可接收识别数据块350的数据单元351的写入请求。写入请求可包含要写入到数据单元351的新数据。处理逻辑可接着执行写入操作且可确定数据单元351与数据块350相关联,所述数据块又与时间戳360相关联。在操作336处,处理逻辑可更新时间戳360以指示在存储器装置130处接收到写入操作335的时间。因此,当准备好对数据块350的任何数据单元执行预读取操作时,处理逻辑可读取时间戳360以将数据单元的w2w时间间隔确定为自记录在时间戳360处的时间以来经过的时间(例如,w2w时间间隔=当前时间-存储在时间戳360处的时间)。
49.在操作337处,处理逻辑可接收识别数据单元353且包含要写入到数据单元353的新数据的写入请求。处理逻辑可接着执行写入操作且可确定数据单元353与数据块350相关联。类似于在操作335处执行的步骤,在操作338处所执行的处理逻辑可更新时间戳360以指示在存储器装置130处接收到写入操作337的时间,因此指示时间戳360可反映对对应数据块350的数据单元执行的最近写入操作。在实施方案中,当擦除数据块310时,处理逻辑可将时间戳340的值复位到默认值,指示当前未在数据块310上编程数据,因此指示数据块310内的单元的w2w时间间隔应为最小值。类似地,当擦除数据块350时,处理逻辑可将时间戳360的值复位到默认值,指示当前未在数据块350上编程数据。
50.图4为根据本公开的一些实施例的使用存储器子系统中的可变预读取电压电平来管理预读取操作的实例方法的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法400由图1的预读取操作管理组件113执行。虽然以特定序列或次序展示,但除非另外规定,否则可修改过程的次序。因此,所说明实施例应仅作为实例理解,并且所说明过程可以不同次序执行,并且一些过程可并行执行。另外,可以在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
51.在操作410处,处理逻辑从主机系统接收写入请求,所述写入请求识别要存储在存储器装置的片段中的数据。在实施方案中,处理逻辑可在执行写入操作之前执行预读取操作,以便识别要存储的与当前存储在片段处的数据不同的数据的子集,如本文中更详细地解释。为了执行预读取操作,处理逻辑可确定对应于数据最后一次写入到片段的时间的预读取电压电平。
52.在操作420处,处理逻辑确定片段的写入-写入(w2w)时间间隔。在实施方案中,w2w时间间隔可指代数据最后一次写入到片段的时间与接收到对片段的写入请求的时间之间的时间间隔。在一实例中,可根据存储在存储器装置处的表示数据最后一次写入到片段的时间的时间戳值确定数据最后一次写入的时间。在其它实施方案中,w2w时间间隔可指代数据最后一次写入到一组数据单元中的任何数据单元(例如,与数据单元相关联的数据块)的时间与接收到对数据单元的写入请求的时间之间的时间间隔。在实施方案中,存储器装置可包含多个数据块,且每一数据块可包含多个数据单元。对于每一数据块,处理逻辑可存储表示数据最后一次写入到数据块内的数据单元的时间的对应时间戳值。
53.在操作430处,处理装置通过确定片段的w2w时间间隔是否在具有对应第一预读取电压电平的第一w2w时间间隔范围内来确定预读取电压电平。在实施方案中,存储器装置可具有多个w2w时间间隔范围,每一范围表示当对应预读取电压电平用于预读取操作时产生最小错误率的电压分布,如上文详细描述。
54.在操作440处,在确定片段的w2w时间间隔在第一w2w时间间隔范围内后,处理逻辑使用第一w2w间隔范围的第一预读取电压来执行预读取操作以获得当前存储在片段中的数据,如上文上更详细地解释。在某些实施方案中,处理逻辑可利用从预读取操作获得的数据执行错误处置模块,以便校正在预读取操作期间读取的数据中可能存在的错误。举例来说,错误处置模块可使用由错误处置模块确定的不同的预读取电压电平再次执行预读取操作以产生用于预读取操作的更好错误率。处理逻辑可接着更新第一w2w间隔范围的预读取电压电平以反映由错误处置模块确定的预读取电压电平。
55.在操作450处,处理装置识别要存储在片段处的新数据的子集,且仅将所述子集写入到片段。数据的子集表示与当前存储在片段中的数据不同的新数据的部分。在实例中,处理逻辑可将当前存储在片段中的数据的每一位与要存储在片段处的新数据的对应位进行比较,且仅将与当前存储在片段中的数据的对应位不同的新数据的那些位写入到片段,如本文中更详细解释。
56.在操作460处,处理逻辑基于上文所描述的比较执行写入操作以将与当前存储在片段中的数据不同的新数据的子集存储在片段中,如本文中更详细地解释。
57.图5为根据本公开的一些实施例的使用存储器子系统中的可变预读取电压电平来执行预读取操作的实例方法的流程图。方法500可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法500由图1的预读取操作管理组件113执行。虽然以特定序列或次序展示,但除非另外规定,否则可修改过程的次序。因此,所说明实施例应仅作为实例理解,并且所说明过程可以不同次序执行,并且一些过程可并行执行。另外,可以在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程是可能的。
58.在操作510处,处理逻辑确定存储器装置的片段的写入-写入(w2w)时间间隔,例如以便执行预读取操作以在执行写入操作之前获得存储在片段处的数据,如本文中详细解释。在实施方案中,w2w时间间隔可用于确定要用于执行预读取操作的预读取电压电平。在其它实施方案中,为了对片段执行预读取操作,处理逻辑可确定满足预读取电压电平准则的预读取电压电平。预读取电压电平准则可为片段的w2w时间间隔是否在与预读取电压电
平相关联的w2w间隔范围内。
59.在操作515处,处理逻辑确定w2w间隔是否在第一w2w间隔范围内。在一个实施方案中,存储器装置可含有多个w2w间隔范围,每一范围对应于相应的预读取电压电平,如本文中详细解释。在操作530处,当处理逻辑确定w2w间隔在第一w2w间隔范围内时,处理逻辑可使用第一w2w间隔范围的第一预读取电压来执行预读取操作。处理逻辑接着使用第一预读取电压电平执行预读取操作以获得当前存储在片段处的数据,如上文详细解释。
60.在操作535处,如果处理逻辑确定片段的w2w间隔不在第一w2w间隔范围内,那么处理逻辑可前进到存储器装置的多个w2w间隔范围中的下一范围,且可在操作540处确定w2w间隔是否在下一w2w间隔范围内。在操作550处,如果处理逻辑确定片段的w2w间隔在下一w2w间隔范围内,那么处理逻辑可使用下一w2w间隔范围的预读取电压电平执行预读取操作以获得当前存储在片段处的数据,如上文详细解释。
61.如果处理逻辑确定片段的w2w间隔不在下一w2w间隔范围内,那么在操作535处,处理逻辑可前进到存储器装置的多个w2w间隔范围中的下一(例如,第三)w2w间隔范围。处理逻辑可继续循环通过多个w2w间隔范围,直到发现含有片段的w2w间隔的w2w间隔范围。处理逻辑可接着继续使用所发现的w2w间隔范围的预读取电压来执行预读取操作。
62.图6说明计算机系统600的实例机器,在所述实例机器内可执行用于使机器执行本文中所论述的方法中的任何一或多种的一组指令。在一些实施例中,计算机系统600可以对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或者可以用于执行控制器的操作(例如,以执行操作系统来执行对应于图1的预读取操作管理组件113的操作)。在替代实施例中,机器可连接(例如联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
63.机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(按顺序或以其它方式)执行指定将由所述机器采取的动作的指令集的任何机器。此外,虽然说明单个机器,但应认为术语“机器”还包含机器的任何集合,所述机器单独地或共同地执行指令集(或多个指令集)以执行本文中所论述的方法中的任何一或多种。
64.实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rambus dram(rdram)等)、静态存储器606(例如,快闪存储器、静态随机存取存储器(sram)等),以及数据存储系统618,其经由总线630彼此通信。
65.处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元等。更确切地说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602还可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置602被配置成执行指令626以用于执行本文中所论述的操作及步骤。计算机系统600可以进一步包含网络接口装置608以经由网络620进行通信。
66.数据存储系统618可以包含机器可读存储媒体624(也称为计算机可读媒体),其上存储有一或多组指令626或体现本文中所描述的方法或功能中的任何一或多种的软件。指令626还可在其由计算机系统600执行期间完全或至少部分地驻留在主存储器604内和/或处理装置602内,主存储器604和处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618和/或主存储器604可对应于图1的存储器子系统110。
67.在一个实施例中,指令626包含用于实施对应于图1的预读取操作管理组件113的功能性的指令。尽管在实例实施例中将机器可读存储媒体624展示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多组指令的单个媒体或多个媒体。还应认为术语“机器可读存储媒体”包含能够存储或编码供机器执行的一组指令且使机器执行本公开的方法中的任何一或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
68.已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。数据处理领域的技术人员使用这些算法描述和表示将其工作的主旨最有效地传达给所属领域的其它技术人员。算法在这里并且通常被认为是产生所要结果的操作的自洽序列。所述操作为需要对物理量进行物理操控的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电气或磁信号的形式。已证明,有时,主要出于普遍使用的原因,将这些信号称为位、值、要素、符号、字符、项、数字等是方便的。
69.然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅是应用于这些量的方便标记。本公开可涉及将计算机系统的寄存器及存储器内的表示为物理(电子)量的数据操纵和变换为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作及过程。
70.本公开还涉及用于执行本文中的操作的设备。此设备可出于预期目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,所述计算机可读存储媒体例如但不限于任何类型的盘(包含软盘、光盘、cd-rom和磁性光盘)、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适合于存储电子指令且各自耦合到计算机系统总线的任何类型的媒体。
71.本文中呈现的算法和显示本质上不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所示呈现用于这些各种系统的结构。另外,不参考任何特定编程语言描述本公开。将了解,可使用多种编程语言来实施如本文中所描述的本公开的教示。
72.本公开可提供为计算机程序产品或软件,所述计算机程序产品或软件可包含上面存储有可用以对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
73.在前述说明书中,本公开的实施例已经参考其具体实例实施例进行描述。将显而
易见的是,可以在不脱离如所附权利要求书中阐述的本公开的实施例的更广泛精神和范围的情况下对本公开进行各种修改。因此,说明书和图式应被视为说明性的而非限制性的。

技术特征:


1.一种系统,其包括:存储器装置;以及处理装置,其以操作方式与所述存储器装置耦合以执行包括以下各项的操作:从主机系统接收写入请求,所述写入请求识别要存储在所述存储器装置的片段中的数据;确定所述存储器装置的所述片段的写入-写入时间间隔;确定所述片段的所述写入-写入时间间隔是否在所述存储器装置的多个写入-写入时间间隔范围中的第一写入-写入时间间隔范围内,其中所述第一写入-写入时间间隔范围表示对应于第一预读取电压电平的第一多个写入-写入时间间隔;响应于所述片段的所述写入-写入时间间隔在所述第一写入-写入时间间隔范围内,使用所述第一预读取电压电平对所述存储器装置的所述片段执行预读取操作以确定当前存储在所述片段中的数据;识别在所述写入请求中识别为要存储在所述存储器装置的所述片段中的所述数据的子集,其中所述数据的所述子集表示与当前存储在所述片段中且在所述预读取操作期间读取的所述数据的对应位不同的数据的位;以及执行写入操作以将所述数据的所述子集存储在所述存储器装置的所述片段中。2.根据权利要求1所述的系统,其中确定所述存储器装置的所述片段的所述写入-写入时间间隔包括:读取与所述存储器装置的所述片段中的所述数据相关联的时间戳,所述时间戳指示数据最后一次写入所述片段中的时间;以及将所述写入-写入时间间隔确定为自所述时间戳以来经过的时间。3.根据权利要求1所述的系统,其中所述存储器装置的所述片段包括多个数据单元,其中数据单元包括对其执行写入操作的最小量的存储器。4.根据权利要求3所述的系统,其中基于与所述片段的所述多个数据单元中的数据单元相关联的时间戳而确定所述片段的所述写入-写入时间间隔,其中所述数据单元是所述多个数据单元中的最近写入数据单元。5.根据权利要求1所述的系统,其中所述处理装置进一步用以执行包括以下各项的操作:响应于所述片段的所述写入-写入时间间隔不在所述第一写入-写入时间间隔范围内,使用与第二写入-写入时间间隔范围相关联的第二预读取电压电平对所述存储器装置的所述片段执行所述预读取操作,其中所述第二写入-写入时间间隔范围表示对应于所述第二预读取电压电平的第二多个写入-写入时间间隔。6.根据权利要求1所述的系统,其中所述第一预读取电压电平为与所述存储器装置相关联的多个预读取电压电平中的最低预读取电压电平。7.根据权利要求1所述的系统,其中识别要存储在所述存储器装置的所述片段处的所述数据的所述子集包括:将当前存储在所述片段中且在所述预读取操作期间读取的所述数据的第一组位与在所述写入请求中识别为要存储在所述存储器装置的所述片段中的所述数据的第二组位进行比较;以及
将与所述第一组位中的对应位不匹配的所述第二组位中的位标记为要存储在所述片段处的所述数据的所述子集。8.一种方法,其包括:从主机系统接收写入请求,所述写入请求识别要存储在存储器装置的片段中的数据;确定所述存储器装置的所述片段的写入-写入时间间隔;确定所述片段的所述写入-写入时间间隔是否在所述存储器装置的多个写入-写入时间间隔范围中的第一写入-写入时间间隔范围内,其中所述第一写入-写入时间间隔范围表示对应于第一预读取电压电平的第一多个写入-写入时间间隔;响应于所述片段的所述写入-写入时间间隔在所述第一写入-写入时间间隔范围内,使用所述第一预读取电压电平对所述存储器装置的所述片段执行预读取操作以确定当前存储在所述片段中的数据;识别在所述写入请求中识别为要存储在所述存储器装置的所述片段中的所述数据的子集,其中所述数据的所述子集表示与当前存储在所述片段中且在所述预读取操作期间读取的所述数据的对应位不同的数据的位;以及执行写入操作以将所述数据的所述子集存储在所述存储器装置的所述片段中。9.根据权利要求8所述的方法,其中确定所述存储器装置的所述片段的所述写入-写入时间间隔进一步包括:读取与所述存储器装置的所述片段中的所述数据相关联的时间戳,所述时间戳指示数据最后一次写入所述片段中的时间;以及将所述写入-写入时间间隔确定为自所述时间戳以来经过的时间。10.根据权利要求8所述的方法,其中所述存储器装置的所述片段包括多个数据单元,其中数据单元包括对其执行写入操作的最小量的存储器。11.根据权利要求10所述的方法,其中基于与所述片段的所述多个数据单元中的数据单元相关联的时间戳而确定所述片段的所述写入-写入时间间隔,其中所述数据单元是所述多个数据单元中的最近写入数据单元。12.根据权利要求8所述的方法,其进一步包括:响应于所述片段的所述写入-写入时间间隔不在所述第一写入-写入时间间隔范围内,使用与第二写入-写入时间间隔范围相关联的第二预读取电压电平对所述存储器装置的所述片段执行所述预读取操作,其中所述第二写入-写入时间间隔范围表示对应于所述第二预读取电压电平的第二多个写入-写入时间间隔。13.根据权利要求8所述的方法,其中所述第一预读取电压电平为与所述存储器装置相关联的多个预读取电压电平中的最低预读取电压电平。14.根据权利要求8所述的方法,其中识别要存储在所述存储器装置的所述片段处的所述数据的所述子集进一步包括:将当前存储在所述片段中且在所述预读取操作期间读取的所述数据的第一组位与在所述写入请求中识别为要存储在所述存储器装置的所述片段中的所述数据的第二组位进行比较;以及将与所述第一组位中的对应位不匹配的所述第二组位中的位标记为要存储在所述片段处的所述数据的所述子集。
15.一种非暂时性计算机可读存储媒体,其包括指令,所述指令在由处理装置执行时,使所述处理装置进行以下操作:使用第一预读取电压电平对存储器装置的片段执行预读取操作以识别存储在所述存储器装置的所述片段中的第一数据,其中所述预读取电压电平满足预读取电压电平准则;将存储在所述存储器装置的所述片段中且在所述预读取操作期间读取的所述第一数据与要对所述存储器装置的所述片段执行的写入操作相关联的第二数据进行比较以识别不同于所述第一数据的所述第二数据的至少一部分;以及将与所述写入操作相关联的所述第二数据的至少所述部分写入到所述存储器装置的所述片段。16.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述预读取电压电平准则与所述存储器装置的所述片段的写入-写入时间间隔有关,且其中确定所述预读取电压电平满足所述预读取电压电平准则包括确定所述片段的所述写入-写入时间间隔在所述存储器装置的多个写入-写入间隔范围中的第一写入-写入间隔范围内,其中所述第一写入-写入间隔范围表示对应于所述第一预读取电压电平的第一多个写入-写入时间间隔。17.根据权利要求16所述的非暂时性计算机可读存储媒体,其中为了确定所述存储器装置的所述片段的所述写入-写入时间间隔,所述处理装置进一步进行以下操作:读取与所述存储器装置的所述片段中的所述数据相关联的时间戳,所述时间戳指示数据最后一次写入所述片段中的时间;以及将所述写入-写入时间间隔确定为自所述时间戳以来经过的时间。18.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述存储器装置的所述片段包括多个数据单元,其中数据单元包括对其执行写入操作的最小量的存储器。19.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述第一写入-写入时间间隔范围与所述第二写入-写入时间间隔范围重叠。20.根据权利要求17所述的非暂时性计算机可读存储媒体,其中为了识别要存储在所述存储器装置的所述片段处的所述数据的所述子集,所述处理装置进一步进行以下操作:将当前存储在所述片段中且在所述预读取操作期间读取的所述数据的第一组位与在所述写入请求中识别为要存储在所述存储器装置的所述片段中的所述数据的第二组位进行比较;以及将与所述第一组位中的对应位不匹配的所述第二组位中的位标记为要存储在所述片段处的所述数据的所述子集。

技术总结


以操作方式与存储器装置耦合的处理装置被配置成接收识别要存储在所述存储器装置的片段中的数据的写入请求。所述处理装置确定所述片段的写入-写入(W2W)时间间隔且确定所述W2W时间间隔是否在第一W2W时间间隔范围内,所述第一W2W时间间隔范围对应于第一预读取电压电平。响应于所述片段的所述W2W时间间隔在所述第一W2W间隔范围内,所述处理装置使用所述第一预读取电压电平对所述片段执行预读取操作。所述处理装置识别要存储在所述片段中的所述数据的子集,所述子集包括与存储在所述片段中的所述数据的对应位不同的数据的位。所述处理装置进一步执行写入操作以将所述数据的所述子集存储在所述片段中。述子集存储在所述片段中。述子集存储在所述片段中。


技术研发人员:

戴颖煜 J

受保护的技术使用者:

美光科技公司

技术研发日:

2021.01.29

技术公布日:

2022/12/1

本文发布于:2024-09-21 08:41:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/29940.html

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

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