信息存储应用技术1.本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及用于存储器子系统的预读取及读取阈值电压优化。背景技术:2.存储器子系统可包含存储数据的一或多个存储器组件。举例来说,所述存储器组件可为非易失性存储器组件及易失性存储器组件。一般来说,主机系统可利用存储器子系统以将数据存储于存储器组件处及从存储器组件检索数据。附图说明3.将从下面给出的详细描述及从本公开的各种实施例的附图中更充分地理解本公开。然而,图式不应被视为将本公开限定于特定实施例,而仅用于解释及理解。4.图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。5.图2是说明根据本公开的一些实施例的存储器子子系统的存储器操作的框图。6.图3是根据本公开的实施例的在存储器子系统处执行读取操作的实例方法的流程图。7.图4是根据本公开的实施例的在存储器子系统处执行写入操作的实例方法的流程图。8.图5是本公开的实施例可在其中操作的实例计算机系统的框图。具体实施方式9.本公开的方面涉及用于在存储器子系统处执行存储器操作的预读取及读取阈值电压。存储器子系统可为存储器装置、存储器模块或存储装置与存储器模块的混合体。下面结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含存储数据的一或多个存储器装置的存储器子系统。主机系统可提供待存储在存储器子系统处的数据,并且可请求待从存储器子系统检索的数据。10.读取阈值电压或预读取阈值电压可指用于分别读取或预读取存储在存储器组件的存储器单元处的数据的电压电平。读取操作、预读取操作及写入操作是在存储器子系统的操作期间执行的存储器操作的实例。读取操作可使用一或多个读取阈值电压来读取存储在一或多个存储器单元处的数据。写入操作可将数据写入到存储器组件的一或多个存储器单元。预读取操作可与写入操作相关联。在执行写入操作之前,预读取操作可读取一或多个存储器单元的内容,并将一或多个存储器单元的内容与待在一个多个存储器单元处写入的数据进行比较。可在写入操作期间写入具有与待被写入的数据不同的内容(例如,逻辑“1”或逻辑“0”)的存储器单元,使得存储器单元的内容被改变(例如,从逻辑“1”到逻辑“0”,反之亦然)。具有与待被写入的数据相匹配的内容的存储器单元不被写入,并且所述存储器的内容不改变(例如,维持在逻辑“1”或逻辑“0”)。仅写入到具有与待被写入的数据不同的内容的存储器单元允许存储器组件的存储器单元经历更少写入循环,这增强了存储器组件及存储器子系统的耐久性。11.常规存储器子系统可具有在其处存储阈值电压的有限数目个寄存器。存储在常规存储器子系统的寄存器处的阈值电压可用于读取操作及预读取操作两者。在一些例子中,阈值电压可经优化以执行读取操作且不经优化以执行预读取操作。使用针对读取操作优化的阈值电压执行预读取操作可致使预读取操作识别许多误报,即,其中预读取操作识别其内容与待被写入的数据不匹配的存储器单元,即使所述存储器单元的实际内容与待被写入的数据相匹配也如此。因而,不需要被写入的许多存储器单元实际上在写入操作期间被写入,这增加了存储器单元的损耗,并降低了存储器组件及存储器子系统的使用寿命。12.本公开的方面通过针对预读取操作及读取操作实施一或多个不同阈值电压来解决上述及其它缺陷。可优化一或多个预读取阈值电压用于执行预读取操作,并且可优化一或多个读取阈值电压用于执行读取操作。经优化预读取阈值电压可不同于用于执行读取操作的读取阈值电压中的任一者。如上所述,在一些情况下,存储阈值电压的寄存器的数目可能受到限制。经优化预读取阈值电压可比特定读取阈值电压更频繁地被使用,并且可为存储在特定寄存器处的有效“默认”阈值电压。在某些条件下,例如在对通过使用不同的读取阈值电压的读取操作从存储器组件读取的数据中的错误的不成功校正之后,存储在特定寄存器处的经优化预读取阈值电压可由特定读取阈值电压替换。在使用对应读取阈值电压执行读取操作之后,特定读取阈值电压可由寄存器处的经优化预读取阈值电压替换。13.在一些实施例中,存储器子系统可接收执行写入操作以在存储器组件处写入数据的请求。响应于接收到在存储器组件处写入数据的请求,存储器子系统可使用存储在寄存器处的预读取阈值电压来执行预读取操作以在存储器组件处读取数据。14.在一些实施例中,存储器子系统接收在存储器组件处读取数据的请求。响应于所述请求,存储器子系统可使用初始读取阈值电压来执行读取操作以在存储器组件处读取数据。存储器子系统可确定使用初始读取阈值电压在存储器组件处读取的数据与错误的不成功校正相关联。举例来说,从存储器组件读取的数据可能含有无法使用错误检测及错误校正码(ecc)校正的错误。15.响应于确定使用初始读取阈值在存储器组件处读取的数据与对错误的不成功校正相关联,存储器子系统可在寄存器处存储后续读取阈值电压以替换先前存储在寄存器处的预读取阈值电压。可使用后续读取阈值电压来执行后续读取操作以在存储器组件处读取数据。由后续读取操作读取的数据可为无错误的或具有可校正的错误。在一些实施例中,响应于使用后续读取阈值电压执行后续读取操作,存储器子系统可用预读取阈值电压替换存储在寄存器处的后续读取阈值电压。16.本公开的优点包含(但不限于)存储器子系统的改进性能。使用针对配合预读取操作使用而优化的预读取阈值电压而不是使用针对读取操作而优化的阈值电压减少了对存储器组件的损耗并增加了存储器子系统的使用寿命。此外,本公开的方面可用于实施针对预读取操作及读取操作使用不同阈值电压并且具有在其处存储阈值电压的有限数目个寄存器的存储器子系统。17.图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此组合。18.存储器子系统110可为存储器装置、存储器模块或存储装置与存储器模块的混合体。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡及硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小外形dimm(so-dimm)及非易失性双列直插式存储器模块(nvdimm)。19.计算系统100可为计算装置,例如桌上型计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它交通工具)、物联网(iot)启用装置、嵌入式计算机(例如,包含在交通工具、工业装备或联网商业装置中的嵌入式计算机),或包含存储器及处理装置的此计算装置。20.计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文使用,“耦合到”或“与…耦合”一般是指组件之间的连接,其可为间接通信连接或直接通信连接(例如,不具有中介组件),无论是有线的还是无线的,包含例如电连接、光学连接、磁性连接等。21.主机系统120可包含处理器芯片组及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,nvdimm控制器)及存储协议控制器(例如,pcie控制器、sata控制器)。主机系统120例如使用存储器子系统110将数据写入到存储器子系统110并从存储器子系统110读取数据。22.主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含(但不限于)串行高级技术附接(sata)接口、外围组件互连快速(pcie)接口、通用串行总线(usb)接口、光纤通道、小型计算机系统接口(scsi)、串行附接scsi(sas)、双列直插式存储器模块(dimm)接口(例如,支持双数据速率(ddr)的dimm插槽接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。主机系统120可进一步利用nvm快速(nvme)接口以在存储器子系统110通过pcie接口与主机系统120耦合时存取存储器组件(例如,存储器装置130)。所述物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址,数据及其它信号的接口。23.存储器装置可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任一组合。易失性存储器装置(例如,存储器装置140)可为(但不限于)随机存取存储器(ram),例如动态随机存取存储器(dram)及同步动态随机存取存储器(sdram)。24.非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(nand)型快闪存储器及就地写入存储器,例如三维交叉点(“3d交叉点”)存储器。非易失性存储器的交叉点阵列可结合可堆叠交叉网格数据存取阵列基于体积电阻的改变执行位存储。另外,与许多基于快闪的存储器相反,交叉点非易失性存储器可执行就地写入操作,其中可对非易失性存储器单元进行编程而无需事先擦除非易失性存储器单元。25.存储器装置130中的每一者可包含存储器单元的一或多个阵列。一种类型的存储器单元(例如单电平单元(slc))可每单元存储一个位。其它类型的存储器单元(例如多电平单元(mlc)、三电平单元(tlc)及四电平单元(qlc))可每单元存储多个位。在一些实施例中,存储器装置130中的每一者可包含存储器单元的一或多个阵列,例如slc、mlc、tlc、qlc或此任一组合。在一些实施例中,特定存储器装置可包含存储器单元的slc部分及mlc部分、tlc部分或qlc部分。存储器装置130的存储器单元可被分组为可参考用于存储数据的存储器装置的逻辑单位的页面。针对一些类型的存储器(例如,nand),页面可经分组以形成块。一些类型的存储器(例如3d交叉点)可跨越裸片及沟道对页面进行分组以形成管理单位(mu)。尽管描述例如3d交叉点型及nand型快闪存储器的非易失性存储器组件,但是存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选择存储器、其它基于硫属化物的存储器、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、或非(nor)快闪存储器及电可擦除可编程只读存储器(eeprom)。26.存储器子系统控制器115(或为简单起见控制器115)可与存储器装置130通信以执行例如在存储器装置130处读取数据、写入数据或擦除数据的操作以及其它此类操作。存储器子系统控制器115可包含例如一或多个集成电路及/或分立组件、缓冲器存储器或其组合的硬件。硬件可包含具有专用(即,硬编码)逻辑的数字电路系统以执行本文所描述的操作。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga),专用集成电路(asic)等)或其它合适处理器。27.存储器子系统控制器115可包含经配置以执行存储在本地存储器119中的指令的处理器117(例如,处理装置)。在所说明实例中,存储器子系统控制器115的本地存储器119包含经配置以存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流程以及例程的指令的嵌入式存储器,所述操作包含处置存储器子系统110与主机系统120之间的通信。28.在一些实施例中,本地存储器119可包含存储存储器指针、经提取数据等的存储器寄存器。本地存储器119还可包含用于存储微代码的只读存储器(rom)。尽管图1中的实例存储器子系统110已经说明为包含存储器子系统控制器115,但在本公开的另一实施方案中,存储器子系统110不包含存储器子系统控制器115,而是可依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。29.一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,并且可将命令或操作转换为指令或适当命令以实现对存储器装置130的期望存取。存储器子系统控制器115可负责其它操作,例如损耗均衡操作、垃圾收集操作、错误检测及错误纠正代码(ecc)操作、加密操作、高速缓存操作以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(lba)、命名空间)与物理地址(例如,物理mu地址、物理块地址)之间的地址转变。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收的命令转换为命令指令以存取存储器装置130以及将与存储器装置130相关联的响应转换为用于主机系统120的信息。30.存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含可从存储器子系统控制器115接收地址并解码所述地址以存取存储器装置130的高速缓存或缓冲器(例如,dram)及地址电路系统(例如,行解码器及列解码器)。31.在一些实施例中,存储器装置130包含本地媒体控制器135,其与存储器子系统控制器115结合操作以在存储器装置130的一或多个存储器单元上执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,在存储器装置130上执行媒体管理操作)。在一些实施例中,存储器装置130是受管理的存储器装置,其是与同一存储器装置封装内用于媒体管理的本地控制器(例如,本地控制器135)组合的原始存储器装置。受管理的存储器装置的实例是受管理的nand(mnand)装置。32.在实施例中,存储器子系统110包含执行如本文描述的操作的存储器子系统控制器115。在一些实施例中,存储器子系统110的任何组件可包含存储器子系统控制器115。举例来说,存储器子系统控制器115可为主机系统120、存储器子系统控制器115、存储器装置140、存储器装置130或操作系统(os)(例如,主机系统120的os)的部分。在另一实例中,存储器子系统控制器115可包含处理器117(处理装置),其经配置以执行存储在本地存储器119中的用于执行本文描述的操作的指令。在一些实施例中,存储器操作可包含(但不限于)写入操作、读取操作或预读取操作。在一些实施例中,预读取操作可为写入操作的部分。33.在一些实施例中,可在非易失性交叉点阵列存储器组件上执行关于存储器子系统控制器115描述的存储器操作。在一些实施例中,非易失性交叉点阵列存储器组件可具有多个写入操作模式,其中写入操作模式中的每一者与以不同方式写入到非易失性交叉点阵列存储器组件的不同写入操作相关联并且具有不同权衡。为了说明而非限制,本公开的方面描述存储器操作控制器113执行多个写入操作中的写入操作(例如,本文也称为“正常写入操作”)的操作。可理解,本公开的方面可应用于不同写入操作。34.在实施例中,写入操作可基于来自高速缓冲存储器(例如,用于在数据被写入到存储器装置130或存储器装置140之前存储数据的存储器)的数据的数据单位与先前存储在存储器装置130或存储器装置140处的数据单位之间的比较而在存储器装置130或存储器装置140处写入数据。在写入操作时先前写入到存储器装置130或存储器装置140的数据单位可能仍然存在于存储器装置130或存储器装置140处(例如,由于未对非易失性交叉点阵列存储器组件执行擦除操作)。在一些实施例中,已经写入的数据单位可存储与将要被写入的数据单位相同的值(例如,逻辑“1”或逻辑“0”)。35.在一些实施例中,可在写入操作之前执行预读取操作(或者写入操作可包含在将数据写入到存储器装置130或存储器装置140之前执行的预读取操作)。预读取操作可首先识别在存储器装置130或存储器装置140处待被写入的位置,并且可读取当前存储在存储器装置130或存储器装置140的特定位置处的数据。待存储的数据(例如,来自高速缓冲存储器的数据)的每一数据单位在存储器装置130或存储器装置140处具有对应数据单位。预读取操作还可包含比较子操作。举例来说,如果存储器装置130或存储器装置140处的特定数据单位当前存储与待被写入的数据的对应数据单位相匹配的数据,那么存储器子系统控制器115可确定不将对应于待被写入(例如,存储在高速缓冲存储器处)的数据的所述数据单位的特定数据写入到存储器装置130或存储器装置140处的位置。否则,如果在存储器装置130或存储器装置140处的特定数据单位与待被写入的数据的对应数据单位不匹配,那么可在存储器装置130或存储器装置140的特定位置处执行写入操作。36.举例来说,可将电压信号施加到存储器装置130或存储器装置140处的特定数据单位以改变存储在存储器装置130或存储器装置140的特定位置处的数据的值。因此,在正常写入操作中,处理装置可针对包含与待被写入(例如,存储在高速缓冲存储器中)的对应数据单位的数据值不同的数据值的数据单位,将数据写入到存储器装置130或存储器装置140。在正常写入操作中,数据单位的存储器单元的一部分(平均大约为数据单位的存储器单元的一半)被重写,且数据单位的存储器单元的其余部分保持其先前值。在实施例中,正常写入操作可为在存储器组件的生命周期内多个写入操作模式中最频繁被执行的写入操作。37.在实施例中,与强制写入操作模式相关联的强制写入操作(在本文也称为“强制写入”)不执行预读取操作。而是,强制写入操作可将电压施加到用以存储待被写入(及存储在高速缓冲存储器处)的数据的存储器装置130或存储器装置140的每一个数据单位。举例来说,强制写入操作可将电压施加到数据单位以设置值“0”,并且可将另一电压施加到另一数据单位以设置值“1”。因此,强制写入操作可写入待写入到存储器装置130或存储器装置140的整个数据。在一些实施例中,强制写入操作模式可用于周期性地清除存储器干扰效应。38.在实施例中,与切换强制写入操作模式相关联的切换强制写入操作(本文也称为“切换写入”或“切换写入操作”)不执行预读取操作。切换强制写入操作可称为两遍强制写入。第一遍写入可为反向写入,其中数据作为反向数据写入到数据单位(例如,如果数据位为“0”,那么写入为“1”,反之亦然)。第二遍写入可为非反向写入,其中数据作为非反向数据写入到数据单位(例如,如果数据位为“0”,那么写入为“0”,反之亦然)。切换强制写入可周期性地用于帮助复位存储器单元的存储器状态。39.下面进一步描述关于存储器操作控制器113的进一步细节。40.图2是说明根据本公开的一些实施例的存储器子系统的存储器操作的框图。在一些实施例中,存储器操作控制器113可操作地耦合到存储器装置210。在一些实施例中,存储器装置210可为图1的一或多个存储器装置130或一或多个存储器装置140的实例。在一些实施例中,存储器装置210是交叉点阵列非易失性存储器装置。41.在一些实施例中,存储器装置210可包含一或多个裸片,由裸片212a到212n(本文统称为“裸片212”)说明。裸片可指代在其上制造功能电子电路的材料块,例如半导电材料。例如存储器装置210的存储器装置可包含一或多个裸片212。在一些实施例中,存储器装置210的裸片212可封装在离散封装中,所述离散封装使用在离散封装外部的端子(例如引线或焊球)。端子允许将存储器装置210外部的电信号传送到存储器装置210的裸片,反之亦然。在一些实施例中,存储器装置210的裸片212中的每一者与多个寄存器相关联,例如寄存器214a到214c(本文统称为“寄存器214”)。寄存器可指代能够存储二进制信息的数据存储器装置。在一些实施例中,寄存器是一种类型的易失性存储器。在一些实施例中,寄存器是在裸片212中的每一者上制造的裸片上寄存器。在一些实施例中,每裸片的寄存器214的数目是有限的并且在制造时设置。在一些实施例中,寄存器214可用于存储特定信息,例如阈值电压(vth),如所说明。42.在一些实施例中,与寄存器214相关联的阈值电压可处于不同电压下。举例来说,阈值电压1(vth 1)可小于阈值电压2(vth 2),并且阈值电压2可小于阈值电压3(vth 3)。在一些实施例中,阈值电压1到3例如在每一通电事件时作为默认值加载并存储在寄存器214处。出于说明的目的,阈值电压1可对应于读取阈值电压1或预读取阈值电压1,并且可为用于两个操作的相同电压。举例来说,相同阈值电压1可用于读取操作1及预读取操作1两者。阈值电压2可对应于读取阈值电压2或预读取阈值电压2,并且可为用于两个操作的相同电压。举例来说,相同阈值电压2可用于读取操作2及预读取操作2两者。在一些实施例中,阈值电压3可对应于读取阈值电压3或预读取阈值电压3,并且可为用于每一操作的不同电压。举例来说,不同阈值电压3(例如读取阈值电压3及预读取阈值电压3)可分别用于读取操作3及预读取操作3中的每一者。存储在寄存器214c处的阈值电压可在某些条件下改变,如下面所描述。在一些实施例中,阈值电压1、阈值电压2、读取阈值电压3及预读取阈值电压3是不同电压电平。43.曲线图220说明用于存储器装置210的存储器单元的阈值电压分布的实例。阈值电压分布可说明在特定写入电压下编程的存储器单元的阈值电压的范围(例如,阈值电压的正态分布)。写入电压可假设为每一分布的中点。举例来说,编程为逻辑“1”或逻辑“0”的多个存储器单元用特定写入电压来编程。在相同写入电压下编程的存储器单元可具有落在对应阈值电压分布内的阈值电压。不同阈值电压1到3说明为从左到右增加。44.在一些实施例中,加载并存储在寄存器2141到214c处的默认阈值电压是阈值电压1、阈值电压2及预读取阈值电压3。45.在一些实施例中,加载并存储在寄存器214a到214c处的默认阈值电压是阈值电压1、阈值电压2及读取阈值电压3。存储器操作控制器113可向存储器装置210请求寄存器214c的默认内容(例如,默认寄存器设置)的指示。如果寄存器214c的内容的指示指示寄存器214c含有读取阈值电压3,那么存储器操作控制器113可在寄存器214c处加载预读取阈值电压3,使得预读取阈值电压3作为“默认”阈值电压存储在寄存器214c处。在一些实施例中,且如上所述,在存储器装置210的生命期期间更频繁地使用预读取阈值电压3,并且在存储器装置210的大部分生命期内将预读取阈值电压3存储在寄存器214c处。在一些实施例中,存储器操作控制器113可在存储器装置210处执行读取操作。举例来说,存储器子系统110(例如,存储器操作控制器113)可接收读取存储在存储器装置210处的数据的读取请求。例如,主机系统120向存储器子系统110发送识别待从存储器装置210读取的特定数据的请求。在一些实施例中,存储器操作控制器113响应于接收到读取请求而在存储器装置210处执行读取操作。存储器操作控制器113可使用存储在寄存器214a处的读取阈值电压1在存储器装置210处执行读取操作。在存储器装置210处读取的数据可从存储器装置210发送到存储器子系统110,其中数据存储在与存储器子系统控制器115相关联的缓冲器处。46.在说明性实例中,存储器子系统110可使用分条方案,其跨越多个裸片212写入或数据有效负载(例如,用户数据)或对数据有效负载进行分条。例如,跨越存储器装置210的16个裸片写入用户数据。裸片212中的15个将用户数据的一部分存储为码字。码字还可包含奇偶校验数据(例如,奇偶校验位),其可用作码字的用户数据的奇偶校验。在一些实例中,裸片212中的一者可存储所有码字的奇偶校验数据。例如,前15个裸片可存储对应于用户数据的部分及相应码字奇偶校验位的码字,且第16个裸片可存储前15个码字的奇偶校验数据(例如,裸片1到15的码字的xor)。当从存储器装置210读取用户数据时,从多个裸片212读取对应于用户数据的每一码字,并将其发送到与存储器子系统控制器115相关联的缓冲器,在所述缓冲器处临时存储所述码字。47.在一些实施例中,存储器操作控制器113可对存储在缓冲器处的数据执行ecc操作以确定数据中是否存在错误。如果存储器操作控制器113确定存在错误,那么ecc操作(例如,层级1ecc)可进一步应用于存储在缓冲器处的数据以尝试校正错误。如果数据中不存在错误或如果ecc操作能够校正数据中的错误(例如,成功校正),那么存储器操作控制器113将(经校正)数据发送到主机系统120。可注意到,ecc操作可校正特定数目个错误。如果数据中的错误的数目小于或等于ecc操作能够校正的错误的数目,那么ecc操作校正那些错误(例如,成功校正)。如果数据中的错误的数目大于ecc操作能够校正的错误的数目,那么ecc操作导致不成功校正,其中数据中的错误不被校正。48.举例来说并且如上文所述,来自多个裸片212的码字中的一或多者可能包含错误。在一些实施例中,ecc操作可校正单个码字的错误。然而,如果多个码字具有错误,那么ecc操作可导致不成功校正。49.在一些实施例中,存储器操作控制器113不能够校正存储在存储器子系统控制器115的缓冲器处的数据中的错误。举例来说,错误的数目超过ecc操作的错误校正能力。在一些实施例中,如果使用读取阈值电压1的读取操作导致对错误的不成功校正,那么存储器操作控制器113可使用另一读取阈值电压(例如存储在寄存器214b处的读取阈值电压2)执行另一读取操作。如上所述,在一些实施例中,读取阈值电压2大于读取阈值电压1。在一些例子中,使用更高读取阈值电压来在存储器装置210处读取数据可导致更少读取错误(例如,由于阈值电压分布中的偏移而导致的错误)。50.举例来说并且如上文所述,来自多个裸片212的码字中的一或多者可能包含错误。在一些例子中,ecc操作可校正单个码字的错误。然而,如果多个码字具有错误,那么ecc操作可导致不成功校正。存储器操作控制器113可使用高于先前使用的阈值电压的阈值电压执行另一读取操作,以尝试减少由于读取阈值电压太低而导致的错误,以从与码字错误相关联的裸片准确地读取数据。51.在一些实施例中,存储器操作控制器113使用存储在寄存器214b处的读取阈值电压2执行读取操作。类似于使用读取阈值电压1的读取操作,在存储器装置210处读取的数据(使用读取阈值电压2)可从存储器装置210发送到存储器子系统110,其中数据存储在与存储器子系统控制器115相关联的缓冲器处。52.在一些实施例中,存储器操作控制器113可对存储在缓冲器处的数据(使用读取阈值电压2读取)执行ecc操作以确定数据中是否存在一或多个错误。如果存储器操作控制器113确定存在错误,那么ecc操作(例如,层级1ecc)可进一步应用于存储在缓冲器处的数据以尝试校正错误。如果数据中不存在错误或如果ecc操作能够校正数据中的错误(例如,成功校正),那么存储器操作控制器113将(经校正)数据发送到主机系统120。如果数据中的错误的数目大于ecc操作能够校正的错误的数目,那么ecc操作导致不成功校正,其中数据中的错误不被校正。53.在一些实施例中,存储器操作控制器113不能够校正存储在存储器子系统控制器115的缓冲器处的数据(例如,使用读取阈值电压2读取)中的错误。在一些实施例中,如果使用读取阈值电压2的读取操作导致对错误的不成功校正,那么存储器操作控制器113可使用另一读取阈值电压(例如读取阈值电压3)执行另一读取操作。54.如上所述,在一些实施例中,存储在寄存器214处的默认阈值电压可为预读取阈值电压3。响应于确定所读取的数据(例如,使用读取阈值电压1或读取阈值电压2)与不成功校正相关联,存储器操作控制器113可在寄存器214c处存储读取阈值电压3以替换先前存储在寄存器214c处的预读取阈值电压3。55.举例来说,响应于确定所读取的数据(例如,使用读取阈值电压1或读取阈值电压2)与不成功校正相关联,存储器操作控制器113可识别存储在本地存储器119处的读取阈值电压3,并将读取阈值电压3发送到存储器装置210使得将读取阈值电压3存储在寄存器214c处。56.在一些实施例中,存储器操作控制器113使用存储在寄存器214c处的读取阈值电压3执行读取操作。类似于使用读取阈值电压1或读取阈值电压2的读取操作,在存储器装置210处读取的数据(使用读取阈值电压3)可从存储器装置210发送到存储器子系统110,其中数据存储在与存储器子系统控制器115相关联的缓冲器处。57.在一些实施例中,存储器操作控制器113可对存储在缓冲器处的数据(使用读取阈值电压3读取)执行ecc操作以确定数据中是否存在错误。如果存储器操作控制器113确定存在错误,那么ecc操作(例如,层级1ecc)可进一步应用于存储在缓冲器处的数据以尝试校正错误。如果数据中不存在错误或如果ecc操作能够校正数据中的错误(例如,成功校正),那么存储器操作控制器113将(经校正)数据发送到主机系统120。如果数据中的错误的数目大于ecc操作能够校正的错误的数目,那么ecc操作导致不成功校正,其中数据中的错误不被校正。在一些实施例中,如果ecc操作不能够校正使用读取阈值电压3从存储器装置210读取的数据,那么可使用额外ecc操作(例如,比层级1ecc操作可校正更多错误的层级2ecc操作)来校正错误。可注意到,上文描述使用三种不同读取阈值电压的读取操作。在其它实施例中,可执行一或多个读取操作,其中使用不同读取阈值电压执行读取操作。58.响应于校正使用读取阈值电压3从存储器装置210读取的数据中的错误,存储器操作控制器113用预读取阈值电压3替换存储在寄存器214c处的读取阈值电压。59.在一些实施例中,存储器子系统110(例如,存储器操作控制器113)可接收来自主机系统120的执行写入操作以在存储器子系统110处写入数据的请求。在一些实施例中,响应于接收到执行写入操作的请求,存储器操作控制器113可执行预读取操作。60.在一些实施例中,存储器操作控制器113可执行一或多个预读取操作,其中使用不同预读取阈值电压执行预读取操作中的每一者。61.在一些实施例中,存储器操作控制器113可实施双电压方案预读取操作(本文也称为“双电压方案”),其中存储器操作控制器113使用两个不同预读取阈值电压执行至少两个预读取操作。在双电压方案中,两个预读取阈值电压可为存储在寄存器214a的预读取/读取阈值电压1及存储在寄存器214c的预读取阈值电压3。在一些实施例中,预读取阈值电压1小于预读取阈值电压3。在双电压方案中,存储器操作控制器113可使用预读取阈值电压1执行预读取操作,以在存储待被写入的数据的存储器装置210处的位置(例如,存储器单元)读取数据。存储器操作控制器113还可使用预读取阈值电压3执行另一个预读取操作以读取存储在存储器装置210处的相同位置处的相同数据。62.在一些实施例中,双电压方案的两个预读取操作可帮助确定是否可从存储器装置210可靠地读取数据(例如,位)。例如,如果使用不同预读取阈值电压的预读取操作针对同一存储器单元读取不同值(例如,因为存储器单元的位处于阈值电压分布的尾端(3+σ)),那么存储操作控制器113可确定存储器单元的值不能够被可靠地读取。在一些实施例中,如果确定不能够可靠地读取存储器单元,那么即使预读取操作中的一者读取与待被写入的值相匹配的值,存储器操作控制器113也可确定将数据写入到存储器单元。如果使用不同预读取阈值电压的预读取操作针对同一存储器单元读取相同值,那么存储器操作控制器113能够确定能够靠地读取的存储器单元的值。在一些实施例中,如果存储器操作控制器113确定存储器单元能够可靠地读取,那么存储器操作控制器113可确定不将匹配数据写入到存储器单元。63.在一些实施例中,双电压方案可如下实施。如果待被写入特定存储器单元的位是逻辑“0”,那么在使用至少预读取阈值电压3的预读取操作在特定存储器单元处读取逻辑“0”的情况下存储器操作控制器113可确定能够可靠地读取所述存储器单元。如果待被写入特定存储器单元的位是逻辑“1”,那么在使用至少预读取阈值电压1的预读取操作在特定存储器单元处读取逻辑“1”的情况下存储器操作控制器113可确定能够可靠地读取所述存储器单元。在所有其它情况下,存储器操作控制器113确定存储器单元未被可靠地读取(例如,不可靠地读取)。如果存储器操作控制器113确定能够可靠地读取存储器单元,那么存储器操作控制器113在写入操作期间不写入到特定存储器单元。如果存储器操作控制器113确定不能够可靠地读取存储器单元,那么存储器操作控制器113在写入操作期间写入到特定存储器单元。以上适用于作为写入操作的部分写入的数据单位的每一存储器单元。64.在一些实施例中,在执行预读取操作之后,将预读取阈值电压3保持存储在寄存器214c处。如上所述,在读取操作使用读取阈值电压3的情况下,预读取阈值电压3由读取阈值电压3临时替换。在使用读取阈值电压3的读取操作完成之后,存储器操作控制器113用预读取阈值电压3替换寄存器214c处的读取阈值电压3。65.下面分别描述的图3及图4的方法300及400可通过处理逻辑来执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法300或400由图1的存储器操作控制器113执行。尽管以特定序列或顺序展示,除非另有指定,否则可修改操作的序列和顺序。因此,所说明实施例应仅被理解为实例,并且所说明过程可以不同顺序执行,并且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非在每一个实施例中都需要所有过程。其它过程流程是可能的。在一些实施例中,可执行相同、不同、更多或更少操作。66.图3是根据本公开的实施例的在存储器子系统处执行读取操作的实例方法的流程图。67.在操作310处,处理逻辑接收在存储器组件处读取数据的请求。在一些实施例中,存储器组件包含交叉点阵列存储器。68.在操作320处,处理逻辑使用第一读取阈值电压执行第一读取操作以在存储器组件处读取数据。举例来说,处理逻辑可在读取阈值电压1或读取阈值电压2下执行读取操作,如上文描述。69.在操作330处,处理逻辑确定使用第一读取阈值电压在存储器组件处读取的数据与对错误的第一不成功校正相关联。举例来说,使用第一读取阈值电压在存储器组件处读取的数据具有不能够由层级1ecc校正的一或多个错误。70.在操作340处,处理逻辑将第二读取阈值电压存储在寄存器处以替换先前存储在寄存器处的第一预读取阈值电压。在一些实施例中,响应于确定使用第一读取阈值电压在存储器组件处读取的数据与对错误的第一不成功校正相关联来执行操作340。在一些实施例中,第一预读取阈值电压先前用于在存储器组件处执行预读取操作。在一些实施例中,第一读取阈值电压小于第二读取阈值电压。71.在一些实施例中,寄存器与存储器组件相关联。在一些实施例中,寄存器是与存储器组件的裸片相关联的裸片上寄存器。72.在操作350处,处理逻辑使用第二读取阈值电压(例如,读取阈值电压3)执行第二读取操作以在存储器组件处读取数据。在一些实施例中,响应于确定使用第一读取阈值电压在存储器组件处读取的数据与对错误的第一不成功校正相关联来执行操作350。73.在一些实施例中,响应于确定使用第一读取阈值电压在存储器组件处读取的数据与对错误的第一不成功校正相关联,处理逻辑使用第三读取阈值电压执行第三读取操作以在存储器组件处读取数据。处理逻辑确定使用第三读取阈值电压在存储器组件处读取的数据与对错误的第二不成功校正相关联。第三读取操作在第二读取操作之前执行。执行第二读取操作是响应于确定使用第一读取阈值电压在存储器组件处读取的数据与对错误的第一不成功校正相关联,及确定使用第三读取阈值电压在存储器组件处读取的数据与对错误的第二不成功校正相关联。在一些实施例中,在接收在存储器组件处读取数据的请求之前,在与存储器组件相关联的对应寄存器处预加载第一读取阈值电压或第二读取阈值电压中的至少一者。74.举例来说,第三读取阈值电压可对应于读取阈值电压2,如上文描述,并且可在第一读取操作与第二读取操作之间执行第三读取操作。第一读取操作及第三次读取操作两者都能够导致对错误的不成功校正。75.在一些实施例中,处理逻辑响应于使用第二读取阈值电压执行第二读取操作以在存储器组件处读取数据,而在与存储器组件相关联的寄存器处存储第一预读取阈值电压。在一些实施例中,数据是第一数据。处理逻辑接收在存储器组件处写入第二数据的请求。响应于接收到在存储器组件处写入第二数据的请求,处理逻辑使用加载在寄存器处的第一预读取阈值电压执行第一预读取操作以在存储器组件处读取第三数据。处理逻辑基于预读取操作确定与第三数据(存储在存储器组件中)的第一子集的数据值相匹配的第二数据(例如,待被写入)的第一子集的数据值,以及与第三数据的第二子集的数据值不同的第二数据的第二子集的数据值。处理逻辑执行写入操作,其写入与第二子集的数据值不同的第二数据的第二子集的数据值,及避免重写与第三数据的第一子集的数据值相匹配的第三数据的第一子集的数据值。76.在一些实施例中,在接收在存储器组件处读取数据的请求之前,处理逻辑确定存储在与存储器组件相关联的寄存器处的默认电压是否为第二读取阈值电压(例如,读取阈值电压3)。响应于确定与存储器组件相关联的寄存器的默认电压是第二读取阈值电压,处理逻辑在寄存器处存储第一预读取阈值电压以替换先前存储在寄存器处的默认电压。77.图4是根据本公开的实施例的在存储器子系统处执行写入操作的实例方法的流程图。78.在操作410处,处理逻辑使用多个读取阈值电压中的读取阈值电压执行读取操作以在存储器组件处读取第一数据。多个读取阈值电压用于在存储器组件处执行读取操作。79.在操作420处,处理逻辑接收执行写入操作以在存储器组件处写入第二数据的请求。举例来说,存储器子系统110可从主机系统120接收在存储器子系统110处写入数据的请求。80.在操作430处,处理逻辑使用不同于多个读取阈值电压中的任一者的第一预读取阈值电压执行预读取操作以在存储器组件处读取第三数据。在一些实施例中,响应于接收到在存储器组件处写入第二数据的请求来执行操作430。81.在一些实施例中,第二数据的子集是第二数据的第二子集。为执行预读取操作,处理逻辑确定与第三数据的第一子集的数据值相匹配的第二数据的第一子集的数据值,及与第三数据(例如,存储在存储器组件处)的第二子集的数据值不同的第二数据(例如,待被写入的数据)的第二子集的数据值。82.在操作440处,处理逻辑基于预读取操作执行在存储器组件处写入第二数据的子集的写入操作。在一些实施例中,响应于接收到在存储器组件处写入第二数据的请求来执行操作440。83.在一些实施例中,为执行写入操作,处理逻辑避免重写与第三数据的第一子集的数据值相匹配的第三数据的第一子集的数据值。84.在一些实施例中,多个读取阈值电压的读取电压是第一读取阈值电压。处理逻辑确定使用第一读取阈值电压在存储器组件处读取的第一数据与对错误的第一不成功校正相关联。响应于确定使用第一读取阈值电压在存储器组件处读取的第一数据与对错误的第一不成功校正相关联,处理逻辑在寄存器处存储第二读取阈值电压以替换先前存储在寄存器处的与存储器组件相关联的第一预读取阈值电压。第一预读取阈值电压先前用于在存储器组件处执行预读取操作。处理逻辑使用第二读取阈值电压执行第二读取操作以在存储器组件处读取数据。85.在一些实施例中,响应于确定使用第一读取阈值电压在存储器组件处读取的第一数据与对错误的第一不成功校正相关联,处理逻辑使用多个读取阈值电压的第三读取阈值电压执行第三读取操作以在存储器组件处读取第一数据。处理逻辑确定使用第三读取阈值电压在存储器组件处读取的第一数据与对错误的第二不成功校正相关联。第三读取操作在第二读取操作之前执行。在一些实施例中,处理逻辑响应于确定使用第一读取阈值电压在存储器组件处读取的数据与对错误的第一不成功校正相关联及确定使用第三读取阈值电压在存储器组件处读取的数据与对错误的第二不成功校正相关联而执行第二读取操作。86.在一些实施例中,预读取操作是第一预读取操作。处理逻辑使用第二预读取阈值电压执行第二预读取操作以在存储器组件处读取第三数据。第二预读取阈值电压是与多个读取阈值电压中的一者相同的阈值电压及与第一预读取阈值电压不同的阈值电压。在一些实施例中,第一预读取阈值电压大于第二预读取阈值电压。87.图5说明计算机系统500的实例机器,在计算机系统500内可执行用于致使所述机器执行本文所论述的方法中的任一或多者的一组指令。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或者可用以执行控制器的操作(例如,执行操作系统以执行对应于图1的存储器操作控制器113的操作)。在替代实施例中,所述机器可连接(例如,联网)到lan、内联网、外联网及/或因特网中的其它机器。所述计算机可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等机器操作,或在云计算基础设施或环境中作为服务器或客户端机器操作。88.机器可为个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络器具、服务器、网络路由器、交换机或网桥或能够执行指定待由所述机器采取的动作的一组指令(循序或以其它方式)的任何机器。此外,虽然说明单个机器,但是术语“机器”也应被认为包含机器的任何集合,其个别地或共同地执行一组(或多组)指令以执行本文所论述的方法中的任一者或多者。89.实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rambus dram(rdram)等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(sram)等)及数据存储系统518,其经由总线530彼此通信。90.处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元或类似者。更特定来说,处理装置可为复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或者是实施其它指令集的处理器,或者是实施指令集的组合的处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器或类似者。处理装置502经配置以执行用于执行本文所论述的操作及步骤的指令526。计算机系统500可进一步包含用于通过网络520进行通信的网络接口装置508。91.数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),在其上存储体现本文所描述的方法或功能中的任一者或多者的一或多组指令526或软件。在由计算机系统500执行指令526期间,指令526也可全部或至少部分地驻留在主存储器504内及/或处理装置502内,主存储器504及处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518及/或主存储器504可对应于图1的存储器子系统110。92.在一个实施例中,指令526包含指令以实施对应于图1的存储器操作控制器113的功能性。尽管在实例实施例中将机器可读存储媒体524展示为单个媒体,但是术语“机器可读存储媒体”应被认为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”也应被认为包含能够存储或编码一组指令以供机器执行并且致使机器执行本公开的方法中的任一者或多者的任何媒体。因此,术语“机器可读存储媒体”应被认为包含(但不限于)固态存储器、光学媒体及磁性媒体。93.已经根据对计算机存储器内的数据位的操作的算法及符号表示来呈现前述详细描述的某些部分。这些算法描述及表示是数据处理领域的技术人员用来最有效地向所属领域的其它技术人员传达其工作实质的方式。此处,算法通常被认为是导致所需结果的自洽操作序列。所述操作是需要对物理量的物理操纵的操作。通常但不是必须的,这些量采用能够被存储、组合、比较及以其它方式操纵的电或磁信号的形式。有时已经证明,主要出于通用的原因将这些信号称为位、值、元素、符号、字符、项、数字或类似者是方便的。94.然而,应牢记,所有这些及类似术语均应与适当物理量相关联并且仅仅是应用于这些量的方便标签。本公开可涉及计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置将表示为计算机系统的寄存器及存储器内的物理(电子)数的数据操纵及变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量。95.本公开还涉及用于执行本文的操作的设备。此设备可经特定构造用于预期目的,或者其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如(但不限于)任何类型的磁盘,包含软盘、光盘、cd-rom及磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适用于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。96.本文提出的算法及显示并非固有地与任何特定计算机或其它设备相关。各种通用系统可与根据本文的教示的程序一起使用,或者可证明构造更专用设备来执行所述方法是方便的。各种这些系统的结构将如下文描述中所阐述那样出现。另外,未参考任何特定编程语言来描述本公开。将了解,可使用各种编程语言来实施如本文所描述的本公开的教示。97.本公开可被提供为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于以由机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。98.词语“实例”或“示范性”在本文中用以意指用作实例、例子或说明。本文中被描述为“实例”或“实例性”的任何方面或设计不必被解释为比其它方面或设计更优选或更具优势。而是,词语“实例”或“示范性”的使用希望以具体方式呈现概念。如在此申请案中使用,术语“或”希望意味着包含性的“或”而不是排他性的“或”。也就是说,除非另有说明或从上下文可清楚地看出,“x包含a或b”希望意指自然包含性排列中的任一者。也就是说,如果x包含a;x包含b;或x包含a及b两者,那么在前述例子中的任一者下满足“x包含a或b”。另外,在此申请案及所附权利要求书中使用的冠词“一”通常可被解释为意指“一或多个”,除非以其它方式另有说明或从上下文清楚地看到指向单数形式。此外,除非如此描述,否则术语“实施方案”或“一个实施方案”或“实施例”或“一个实施例”或类似者的使用贯穿全文希望意指相同实施方案或实施方案。本文描述的一或多个实施方案或实施例可组合在特定实施方案或实施例中。如本文中所使用的术语“第一”、“第二”、“第三”、“第四”意指用以在不同元件当中进行区分的标签,并且不一定具有根据其数字名称的序数含义。99.在前述说明书中,已经参考本公开的特定实例实施例描述本公开的实施例。显而易见的是,在不脱离如所附权利要求书中阐述的本公开的实施例的更广泛精神及范围的情况下,可对其进行各种修改。因此,说明书及图式应被认为是说明意义而不是限制意义的。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
预读取及读取阈值电压优化的制作方法
作者:admin
2022-08-31 10:13:14
761