CN111292790A - 编程有效时间调整 - Google Patents
编程有效时间调整 Download PDFInfo
- Publication number
- CN111292790A CN111292790A CN201911240426.3A CN201911240426A CN111292790A CN 111292790 A CN111292790 A CN 111292790A CN 201911240426 A CN201911240426 A CN 201911240426A CN 111292790 A CN111292790 A CN 111292790A
- Authority
- CN
- China
- Prior art keywords
- pet
- programming
- programming step
- memory
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
Abstract
本申请涉及编程有效时间调整。基于一或多个编程步阶特性确定用于编程多个存储器单元的至少一部分的编程有效时间PET。将所确定的PET与目标PET进行比较。响应于所确定的PET不同于所述目标PET,调整所述一或多个编程步阶特性以将所确定的PET调整为所述目标PET。
Description
技术领域
本公开的实施例大体上涉及存储器子系统,且更确切地说,涉及对用于编程存储器单元的编程有效时间的调整。
背景技术
存储器子系统可为存储系统,例如固态驱动器(SSD),并且可包含存储数据的一或多个存储器组件。存储器组件可以是例如非易失性存储器组件和易失性存储器组件。一般来说,主机系统可利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。
发明内容
附图说明
根据下文提供的详细描述和本公开的各种实施例的附图将更加全面地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
图2说明根据本公开的一些实施例的编程存储器单元的实例。
图3说明根据本公开的一些实施例的编程存储器单元的实例。
图4A到B各自说明根据本公开的实施例的用于编程存储器单元的编程步阶的实例。
图5是根据本公开的一些实施例的对应于调整一或多个编程步阶特性以用于编程存储器单元的实例方法的流程图。
图6是根据本公开的一些实施例的对应于调整一或多个编程步阶特性以用于编程存储器单元的实例方法的流程图。
图7是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的方面涉及管理存储器子系统内的编程有效时间。存储器子系统在下文还称为“存储器装置”。存储器子系统的实例是存储装置系统,例如固态驱动器(SSD)。在一些实施例中,存储器子系统是混合式存储器/存储装置子系统。一般来说,主机系统可利用包含一或多个存储器组件的存储器子系统。主机系统可提供数据以存储于存储器子系统处并且可请求从存储器子系统检索数据。
举例来说,各种存储器组件(例如,裸片)可具有不同的相关联编程有效时间(program effective time,PET),其可不利地影响系统写入性能。各种早先方法可能不提供恰当和/或精确地调整PET的能力。常规存储器子系统不会动态地调整PET和/或不能够以可预测和/或可控制方式调整PET。因此,举例来说,各种常规系统不能够通过改变温度和/或编程/擦除循环维持目标PET。因此,提供调整(例如,调谐)PET的能力以便减少存储器组件当中的PET差异从而改进系统性能可以是有益的。PET可指例如完全编程一页单元的时间,所述一页单元可包含数据的多个逻辑页。此外,调整PET的能力可通过允许将PET调谐为符合不同产品规格来提供例如产品多样化的益处。举例来说,PET可减少以便提供提高的数据可靠性或PET可增大以提供增强的服务质量(例如,速度)。
在各种存储器子系统中,编程单元可涉及将编程信号提供到一组单元(例如,页面)以将其放置于对应于相应存储数据模式的目标状态中。举例来说,单元可以是经配置以每单元存储一或多个数据位的非易失性快闪存储器单元。用于编程单元的编程信号可包括例如一系列电压脉冲。电压脉冲具有会影响PET的各种特性。这类特性包含脉冲幅度、脉冲之间的步长及脉冲持续时间,以及各种其它特性。
在各种存储器子系统中,编程单元可涉及将编程信号提供到一组单元(例如,页面)以将其放置于对应于相应存储数据模式的目标状态中。举例来说,单元可以是经配置以每单元存储一或多个数据位的非易失性快闪存储器单元。作为实例,用于编程单元的编程信号可包括步进式电压信号(例如,电压斜坡),其中每一步级具有相关联步长(被称作编程步长)及持续时间(被称作编程步阶持续时间)。举例来说,编程信号可作为一系列电压脉冲施加(例如,到字线)。电压脉冲具有会影响与编程单元相关联的PET的各种特性。这类特性包含脉冲幅度、脉冲之间的步长及脉冲持续时间,以及各种其它特性。
本公开的方面提供基于编程步长与PET之间及编程步阶持续时间与PET之间的所确定关系来精细控制PET(例如,实现目标PET)的能力,其用于微调PET。举例来说,编程步长与PET以及编程步阶持续时间与PET之间的关系可经确定且用于调整编程步长及编程步阶持续时间中的任一个或两个以实现特定(例如,恒定)PET。作为实例,基于响应于当前PET不同于目标PET的关系,早先PET的反馈回路可用于确定编程步长、编程步阶持续时间或其组合的调整量。
以此方式,编程有效时间的精细控制可允许使用相同测量有效时间来编程多个存储器裸片,所述相同测量有效时间可减少编程时间的分布且由此通过最小化裸片到裸片编程时间变化来改进整个系统写入性能。另外,例如下文所描述的方法可通过使所有驱动器使用相同编程步阶持续时间来改进驱动器到驱动器编程时间变化。这可在存储器裸片的寿命内维持一致编程有效时间,即使对由于磨损循环和/或由于温度波动发生的编程改变作出反应。
图1说明根据本公开的一些实施例的包含存储器子系统104的实例计算环境101。如本文中所使用,存储器子系统104、处理资源(例如,控制器)108或存储器组件110还可单独地视为“设备”。存储器子系统104可为例如固态驱动器(SSD),且可包含主机接口106、处理资源108(例如,控制器和/或其它控制电路)及存储器110,所述存储器110可包含为存储器子系统104提供存储容量的多个存储器组件(例如,NAND闪存组件)。存储器子系统104可为单个存储器装置。
如图1中所说明,处理资源108可经由存储器接口111耦合到主机接口106及存储器组件110且可用于在存储器子系统104与主机102之间发送数据。存储器接口111可为符合例如开放NAND闪存接口(Open NAND Flash interface,ONFi)的特定标准的各种接口类型中的一种。
主机102可以是主机系统,例如个人膝上型计算机、台式计算机、数码相机、移动电话或存储卡读取器,以及各种其它类型的主机。主机102可包含系统母板和/或底板且可包含多个处理器。主机102还可以是处理资源,例如在存储器子系统104是具有裸片上控制器(例如,108)的存储器装置的情况下。
主机系统102可经由物理主机接口耦合到存储器子系统104。如本文中所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁连接等的连接。物理主机接口的实例包含但不限于串行高级技术附件(serial advanced technology attachment,SATA)接口、外围组件互连高速(peripheral component interconnect express,PCIe)接口、通用串行总线(universal serial bus,USB)接口、光纤通道、串行连接的SCSI(SerialAttached SCSI,SAS)等。物理主机接口可用于在主机系统120与存储器104之间发射数据。在存储器子系统104通过PCIe接口与主机系统102耦合时,主机系统102可进一步利用NVM高速(NVMe)接口以存取存储器组件110。物理主机接口可提供用于在存储器子系统104与主机系统102之间传递控制、地址、数据和其它信号的接口。
处理资源108可与存储器组件110(在一些实施例中其可为单个裸片上的多个存储器阵列)通信以控制数据读取操作、写入操作及擦除操作,以及其它操作。在一些实施例中,处理资源108可位于与存储器组件110相同的裸片或不同的裸片上。
尽管没有特定地说明,但在一些实施例中,处理资源108可包含用于将处理资源108耦合到多个存储器组件(包含存储器组件110)的每一信道的离散存储器信道控制器。处理资源108可包含例如呈硬件和/或固件形式(例如,一或多个积体电路)和/或呈软件形式以用于控制对多个存储器组件的存取和/或用于促进主机102与存储器组件110之间的数据传送的多个组件。
如图1中所说明,处理资源108可包含存储器(例如,本地存储器)109及处理装置112。举例来说,存储器109可包含锁存器及电路。存储器109可具有例如专用集成电路(application specific integrated circuit,ASIC)的离散组件,或组件可功能上反映为由处理资源108内的不一定具有与处理资源108的其它部分分离的离散物理形式的电路提供。尽管在图1中说明为处理资源108内的组件,但存储器109可在处理资源108外部,或可具有位于处理资源108内的多个组件以及位于处理资源108外部的多个组件。
存储器组件110可包含存储器单元(例如,非易失性存储器单元)的多个阵列。举例来说,阵列可为具有NAND架构的快闪阵列。然而,实施例不限于特定类型的存储器阵列或阵列架构。尽管在本文中大体上指代NAND架构中的浮动栅极类型快闪存储器单元,但实施例不限于此。存储器单元可例如分组成包含多个物理页的多个块。多个块可包含于存储器单元的平面中,且阵列可包含多个平面。作为一个实例,存储器装置可经配置以每页存储8KB(千字节)用户数据、每块128页用户数据、每平面2048个块,及每装置16个平面。存储器组件110还可包含另外的电路(未说明),例如控制电路、缓冲器、地址电路等等。
在操作中,举例来说,数据可作为数据页写入到存储器(例如,系统104的存储器组件110)和/或从存储器读取。因此,数据页可称为存储器系统的数据传送大小。被称作分区(例如,主机分区)的数据段中的数据可发送到主机(例如,主机102)/从主机发送。因此,数据的分区可称为主机的数据传送大小。
存储器组件110可包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含与非(NAND)类型快闪存储器。存储器组件110可包含存储器单元的一或多个阵列,所述存储器单元例如单层级单元(SLC)或多层级单元(MLC)(例如三层级单元(TLC)或四层级单元(QLC))。在一些实施例中,特定存储器组件可包含存储器单元的SLC部分和MLC部分两者。存储器单元中的每一者可存储由主机系统102使用的数据的一或多个位(例如数据块)。尽管描述了例如NAND类型快闪存储器的非易失性存储器组件,但存储器组件110可以基于例如易失性存储器的各种其它类型的存储器。在一些实施例中,存储器组件110可以是但不限于随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、或非(NOR)闪存存储器、电可擦除可编程只读存储器(EEPROM)以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来进行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可进行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件110的存储器单元可分组为存储器页或数据块,其可指用于存储数据的存储器组件的单元。
处理资源108(其可被称为“控制器”108)可与存储器组件110通信以在存储器组件110处执行例如读取数据、写入数据或擦除数据的操作,及其它这类操作。控制器108可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。控制器108可为微控制器、专用逻辑电路(例如,现场可编程门阵列(field programmable gate array,FPGA)、专用集成电路(ASIC)等等),或其它合适的处理器。控制器108可包含经配置以执行存储于本地存储器109中的指令的处理资源(例如,处理装置112)。在所说明实例中,控制器108的本地存储器109包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统104的操作(包含操控存储器子系统104与主机系统102之间的通信)的各种过程、操作、逻辑流程以及例程。在一些实施例中,本地存储器109可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器109还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统104已说明为包含控制器108,但在本公开的另一实施例中,存储器子系统104可不包含控制器108,且实际上可依赖于外部控制(例如,通过外部主机,例如通过与存储器子系统104分离的处理装置提供)。
控制器108可使用和/或存储与编程存储器单元相关联的各种操作参数。这类操作参数可包含用于各种不同编程过程的编程脉冲幅度、步长、脉冲持续时间、编程验证电压等等。不同编程过程可包含编程单元以存储不同数量的位的过程及不同的多遍次编程过程类型(例如,2遍次、3遍次等等)。一般来说,控制器108可从主机系统102接收命令或操作且可将所述命令或操作转换成指令或适合的命令以实现对存储器组件110的所需存取。控制器108可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和纠错码(ECC)操作、加密操作、高速缓存操作和在与存储器组件110相关联的逻辑块地址与物理块地址之间的地址转换。控制器108可进一步包含主机接口电路以经由物理主机接口与主机系统102通信。主机接口电路可将从主机系统接收到的命令变换成存取存储器组件110的命令指令,以及将与存储器组件110相关联的响应变换成信息以供主机系统102使用。
存储器子系统104还可包含未说明的额外电路或组件。举例来说,存储器组件110可包含控制电路、地址电路(例如,行及列解码电路)和/或所述存储器组件可借以与控制器108和/或主机102通信的输入/输出(I/O)电路。作为实例,在一些实施例中,地址电路可从控制器108接收地址且解码所述地址以存取存储器组件110。
在各种实施例中,控制器108可包含编程步阶特性组件113,所述编程步阶特性组件可确定和/或控制用于编程单元的一或多个编程步阶特性。特性可以是例如步进式电压信号的大小(例如,编程步长)。在另一个实例中,特性可为步进式电压信号的持续时间(例如,编程步阶持续时间)。
存储器组件110可包含用于写入或编程操作,例如用于增量步进脉冲编程(incremental step pulse programming,ISPP)的存储器单元。存储器单元可经由ISPP过程编程(经由控制器),其中将增强幅度的一系列脉冲施加到单元(到其栅极)从而以特定量增加所存储电荷直到达到目标存储电荷(Vt)为止。
举例来说,图2说明在此类增量编程操作的各个阶段处的单元的阈值电压(Vt)分布,所述阈值电压分布对应于存储在存储器单元的电荷存储结构上的电荷。时间214可表示编程操作开始的时间。相应地,如由Vt分布216所示,在时间214处,所有单元的Vt低于目标Vt电平(Vtarget)250。为了将存储器单元编程为所需目标Vtarget 250,可在多个后续时间220、230及240中的每一者处使用一系列编程步阶(例如,电压脉冲)以分别提高如由分布222、232及242所示的单元Vt电平。在每一编程步阶之后,可执行编程验证操作以验证单元是否已编程达到Vtarget 250。如图2中所示,在时间240处完成单元的编程,当所有单元的Vt电平已提高到处于或高于所需目标Vt电平250时,完成编程操作。
Vt分布216、222、232及242响应于所施加的编程脉冲提高的量可取决于各种因素,例如脉冲的幅度及脉冲施加到单元的持续时间。相应地,将一组单元编程到所需状态的时间可视编程信号特性以及脉冲数量而变化。另外,如下文进一步描述,多个编程遍次可用于将多个逻辑页数据编程到单元。举例来说,第一遍次,其可被称为低页编程过程,可用于将数据的一或多个低页编程到一组单元,且一或多个后续编程遍次可用于将数据的额外页编程到所述组单元。
图3中示出的图式说明与可根据本公开的实施例执行的编程过程相关联的阈值电压(Vt)分布。在这一实例中,过程是两遍次编程过程,其中一组存储器单元的低页(例如,最低有效位)在第一编程遍次中经编程,且所述组的高页(例如,中间位)及额外页(例如,最高有效位)在第二编程遍次中经编程。第一编程遍次可称为低页编程(lower pageprogramming,LPP)过程325,且第二编程遍次可称为高页编程及额外页编程过程(upperpage programming and extra page programming,UPP/EPP)329。
如下文进一步描述,LPP过程325及UPP/EPP过程329中的每一者可涉及一系列编程脉冲到对应于正编程的一组单元的经选择字线的施加。作为LPP过程325的部分,将存储器单元的Vt调整(例如,从经擦除Vt电平)到由Vt分布330-1及330-2表示的两个电平中的一个。电压电平由Vt分布表示,其可反映被编程为特定电平的单元的统计平均Vt电平。在这一实例中,其低页用以存储位值“1”(例如,LP=1)的单元在LPP过程325期间被编程为分布330-1,且其低页用以存储位值“0”(例如,LP=0)的单元在LPP过程325期间被编程为分布330-2。低页为低阶页且在高阶页经编程之前在存储器胞元阵列中经编程。
作为UPP/EPP过程329的部分,存储器单元的Vt经调整为由Vt分布334-1到334-8表示的八个电平中的一个,其分别对应于数据状态E1到E8,其中数据状态E1到E8中的每一个表示不同的3位存储数据模式。在这一实例中,被编程为数据状态E1的单元存储数据“111”,被编程为数据状态E2的单元存储数据“011”,被编程为数据状态E3的单元存储数据“001”,被编程为数据状态E4的单元存储数据“101”,被编程为数据状态E5的单元存储数据“100”,被编程为数据状态E6的单元存储数据“000”,被编程为数据状态E7的单元存储数据“010”,且被编程为数据状态E8的单元存储数据“110”。虽然实例说明包含2遍次编程,但这仅是一个实例。可使用额外数量的编程遍次。用于所说明的2遍次编程的实例计算可包含((遍次1+遍次2)/3)确定(如下文结合图5进一步描述)。由于将两个遍次用于编程三个单独位,这种计算可确定每页(对应于位)的平均持续时间(例如,时间)以执行编程。然而,额外遍次、额外位等可用于编程持续时间的编程及确定。
图4A到B各自说明根据本公开的实施例的实例编程信号。实例说明表示施加到存储器单元(例如,到其栅极)以将单元阈值电压(Vt)提高到目标电平的编程脉冲。图4A说明与具有特定PET 464的编程操作相关联的多个脉冲P1、P2及P3。如图4A中所示,每一脉冲具有脉冲持续时间493(其可被称为编程步阶持续时间)及连续脉冲之间的编程步长462。
PET 464可与施加到一组单元以将所述组中的单元放置于相应目标状态中的一系列脉冲(例如,P1、P2、P3)相关联。举例来说,PET 464可对应于用以将一组单元中的每一者编程到图3中示出的状态E1到E8中的一个的时间量。存储器系统可动态地增大或减小编程步长462和/或步阶持续时间493,其将基于所确定关系以特定量对应地增加或减少编程有效时间464。在至少一个实例中,这种动态增大或减小可由编程步阶特性组件113进行以动态地调整或校准编程步长462和/或持续时间493。
图4B说明在实施编程步阶调整之后的编程操作。为了进行比较,图4A中的早先编程步长及编程步阶持续时间,例如462及493,分别经说明沿着x轴具有编程电平电压460。经调整编程步长466为用于替换编程步长462的编程步长462的经校准或改变实例。经调整编程步长466经说明为大于编程步长462,然而,调整可以是编程步长的增大或减小。同样,经调整编程步阶持续时间467为用于替换编程步阶持续时间493的编程步阶持续时间493的经校准或改变实例。经调整编程步阶持续时间467经说明为大于编程步阶持续时间493,然而,调整可以是取决于PET的所需变化的编程步阶持续时间的增加或减少。如下文进一步描述,编程步长的调整与编程步阶持续时间的调整之间可能存在关系。也就是说,基于编程步长与编程步阶持续时间之间的关系,编程步长的调整可与编程步阶持续时间的调整成特定比例,从而得到目标编程有效时间。
动态地调整编程步长462以增加到编程步长466且调整编程步阶持续时间493以增加到所述步阶持续时间467提供减少编程有效时间464的益处,如图4B中所说明。如此实例中所说明,编程步长及编程步阶持续时间的增加可减少用于达到图4B中的P2的编程级电压的脉冲的数目。因此,通过调整一或多个编程步阶特性(例如,编程步长及编程步阶持续时间中的一或多者)动态调整编程有效时间可改进存储器系统的总效率。
此外,可基于反馈度量或其处理结果通过基于阈值编程有效时间进行调整来产生一或多个编程步阶特性的调整来保持更高或更低。作为实例,当编程有效时间变得高于阈值编程有效时间(PET)时,编程步长和/或编程步阶持续时间可经调整以减少PET。反之亦然,当编程有效时间变得低于阈值PET时,编程步长和/或编程步阶持续时间可经调整以增加PET。
图5是根据本公开的一些实施例的对应于调整一或多个编程步阶特性(例如,编程步长及编程步阶持续时间中的一或多者)以用于编程存储器单元的实例方法540的流程图。方法540可由处理逻辑进行,所述处理逻辑可包含硬件(例如处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法540由图1的编程步阶特性组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,可在各种实施例中省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在框542处,处理装置基于一或多个编程步阶特性确定编程有效时间(PET)。编程步阶特性中的一或多者可包含编程步长及编程步阶持续时间。编程步长(例如,编程栅步长)与PET之间可能存在关系。编程步阶持续时间(例如,编程脉冲持续时间)与PET之间可能存在关系。这些关系可以组合且用于对应于(例如,以线性或非线性关系)PET的具有特定分辨率(例如,更高分辨率)的改变。在这一实例中,编程有效时间的改变(“DeltaPET”)可等于编程步长的改变(“DeltaProgramStep”)加编程步阶持续时间的改变(“DeltaProgramTime”),如通过以下公式所展示:
DeltaPET=DeltaProgramStep+DeltaProgramTime
其中编程步阶持续时间的已知Δ(delta)可等同于编程步长的一个增量。作为实例,如果编程步长的一个增量引起PET的5%改变且Δ编程步阶持续时间的“n”数目个递增也引起PET的5%改变,那么使PET时间改变5%可通过以一个增量改变编程步长或以n数目个增量改变编程步阶持续时间来实现。为了使有效编程仅改变2%,编程步长可保持相同且编程步阶持续时间Δ可通过(2%/5%)×n调整。为了使PET改变13%,编程步长Δ可为2,得到2×5%=10%加(3%/5%)×n的编程步阶持续时间的改变。
在一个实例中,两种关系可被视为线性关系。在一个实例中,影响编程时间的两种关系可由可包含相依性及非线性效应的公式表示。在另一个实例中,关系可表示为以线性方式索引化但基于其索引输出不同量的表。在将Δ编程步长及Δ编程步阶持续时间用作函数的这一实例中,两种参数的组合可针对PET的给定改变经计算。作为实例:
[ProgramStep,ProgramTime]=funcProgramStep_ProgramTime(PETdelta)
在Δ编程步长及Δ编程步阶持续时间用作查表的实例中,两种参数的组合可针对PET的给定改变经预计算,例如在下表中:
表1
应注意,用于表索引2的编程步阶持续时间为7且用于表索引14的编程步阶持续时间为12,说明非线性关系。
相对于编程步阶持续时间,在至少一个实例中,编程步阶持续时间可通过对程序命令发布到存储器(例如,NAND)的时间与存储器编程操作完成的时间之间的已知频率的时钟周期进行计数得以测量。在另一个实例中,编程步阶持续时间可通过使用用于完成存储器编程操作且针对每一脉冲应用已知时间量的多个编程脉冲测量。可通过使用不同页类型或不同编程操作的多个测量值及计算用作反馈以用于控制动态PET(DPET)的度量来计算PET。作为实例:
PET=tPROG((遍次1+遍次2)/3)
在至少一个实例中,如果PET大于用户指定的时间,那么步阶时间值可递增,且反过来步阶时间值可递减。
在框544处,处理装置将所确定的PET与专用PET进行比较。专用PET可通过输入提供到存储器系统。可基于误差阈值和/或可限制PET值的其它参数或阈值提供专用PET。在框546处,处理装置响应于所确定的PET不同于目标PET而调整编程步阶特性中的一个(例如,编程步长及编程步阶持续时间中的一个)。如上方表1中所指示,可调整这些参数中的任一个,或可调整两者,以获得可与专用PET保持同步的特定PET。
图6是根据本公开的一些实施例的对应于调整一或多个编程步阶特性(例如,编程步长及编程步阶持续时间中的一或多者)以用于编程存储器单元的实例方法641的流程图。方法641可由处理逻辑进行,所述处理逻辑可包含硬件(例如处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法641由图1的编程步阶特性组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,可在各种实施例中省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在框643处,处理装置基于一或多个编程步阶特性(例如,编程步长及编程步阶持续时间中的一或多者)确定编程有效时间(PET)。在框645处,处理装置将所确定的PET与特定PET进行比较。专用PET可通过输入提供到存储器系统。可基于误差阈值和/或可限制PET值的其它参数或阈值提供专用PET。在框647处,处理装置响应于所确定的PET不同于目标PET而调整一或多个编程步阶特性。如上方表1中所指示,可调整编程步长及编程步阶持续时间中的任一个,或可调整两者,以获得可与专用PET保持同步的特定PET。
在框649处,处理装置将经调整PET与目标PET进行比较。在框651处,处理装置响应于经调整PET不同于目标PET而进一步调整一或多个编程步阶特性。作为实例,将PET从所确定的PET调整为目标PET的初次尝试可具有一些误差,且这种第二比较可识别所述误差并再次调整。在替代方案中,在操作存储器时的参数可在存储器单元中产生异常且可执行调整以重新对准PET与目标PET。这些异常可由存储器单元上的去往及来自所述单元的多个读取和/或写入的磨损产生。这些异常可由可损坏和/或更改存储器单元的温度波动产生。虽然给定这些实例,但实例不限于此。影响待编程的存储器单元及其能力的任何参数可影响PET且使用额外调整。可以在动态反馈回路中执行调整的这种重复,在所述动态反馈回路中每一随后调整的PET与先前调整的PET进行比较以便将起作用PET微调为与目标PET相同。
图7说明计算机系统700的实例机器,所述实例机器内可执行用于使得所述机器执行本文中所论述的方法中的任何一或多者的指令集。在一些实施例中,计算机系统700可对应于包含、耦合到或利用存储器子系统(例如,图1的存储器子系统104)的主机系统(例如,图1的主机系统102)或可用于执行控制器的操作(例如,调整与编程存储器单元相关联的参数,例如编程步阶特性组件113)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或互联网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一组(或多组)指令以进行本文中所论述的方法中的任何一或多种。
实例计算机系统700包含处理装置763、主存储器765(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器767(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统779,其经由总线791彼此通信。
处理装置763表示一或多个通用处理装置,例如微处理器、中央处理单元等等。更确切地说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置763还可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置763经配置以执行指令787以用于使用调整组件773(包含先前描述的编程步长组件及编程步阶持续时间组件中的任一个或两个)及本文中所论述的步骤执行调整操作。计算机系统700可进一步包含网络接口装置768以在网络780上通信。
数据存储系统779可包含机器可读存储媒体784(也称为计算机可读媒体),其上存储有一或多个指令集787或体现本文中所描述的方法或功能中的任何一或多者的软件。指令787还可在其由计算机系统700执行期间完全或至少部分地驻存在主存储器765内和/或处理装置763内,主存储器765和处理装置763也构成机器可读存储媒体。机器可读存储媒体784、数据存储系统779和/或主存储器604可对应于图1的存储器子系统104。
在一个实施例中,指令787包含用以实施对应于编程步阶特性组件(例如,图1的编程步阶特性组件113)的功能性的指令。尽管在实例实施例中将机器可读存储媒体784展示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集且致使机器执行本公开的方法中的任何一或多者的任何媒体。因此应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。
已关于计算机存储器内的数据位的操作的算法和符号表示而呈现先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给本领域的其它技术人员的方式。算法在这里并且通常被认为是导致期望的结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较和以其它方式操纵的电或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元件、符号、字符、术语、数目或类似物是方便的。
然而,应牢记,所有这些和类似术语与适当物理量相关联,且仅为应用于这些量的方便的标签。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。这一设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM和磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,它们分别耦合到计算机系统总线。
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述而表现用于各种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,本公开的实施例已经参照其具体实例实施例进行描述。将显而易见的是,可在不脱离所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对其进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
Claims (20)
1.一种系统,其包括:
存储器组件(110),其包含多个存储器单元;及
处理装置(112),其耦合到所述存储器组件且经配置以:
基于一或多个编程步阶特性确定用于编程所述多个存储器单元的至少一部分的编程有效时间PET(464);
将所述所确定的PET与目标PET进行比较;及
响应于所述所确定的PET不同于所述目标PET,调整所述编程步阶特性中的一或多者以将所述所确定的PET调整为所述目标PET。
2.根据权利要求1所述的系统,其中所述处理装置(112)进一步经配置以调整编程步长(462),且所述编程步长在不调整所述编程步阶持续时间(493)的情况下经调整以将所述所确定的PET调整为所述目标PET。
3.根据权利要求1所述的系统,其中所述处理装置(112)进一步经配置以调整编程步阶持续时间(493),且所述编程步阶持续时间在不调整所述编程步长(462)的情况下经调整以将所述所确定的PET调整为所述目标PET。
4.根据权利要求1所述的系统,其中经配置以调整所述一或多个编程步阶特性的所述处理装置(112)包括经配置以进行以下操作的所述处理装置:
将编程步长(462)调整特定量以将所述所确定的PET调整第一特定程度;
将编程步阶持续时间(493)调整特定量以将所述所确定的PET调整第二特定程度;及
响应于将所述所确定的PET调整所述第一特定程度及所述第二特定程度,将所述所确定的PET调整为所述目标PET。
5.根据权利要求1所述的系统,其中所述处理装置(112)进一步经配置以基于实施目标校准机制以在所述存储器组件的操作期间校准目标量变曲线来调整所述一或多个编程步阶特性。
6.根据权利要求1所述的系统,其中所述处理装置(112)进一步经配置以基于经调整的所述一或多个编程步阶特性来平衡相关联于在所述存储器组件(110)中写入数据的编程时间与误差度量。
7.根据权利要求1至6中任一项所述的系统,其中所述处理装置(112)进一步经配置以确定所述所确定的PET已从所述目标PET改变为非目标PET。
8.根据权利要求7所述的系统,其中所述处理装置(112)进一步经配置以响应于确定所述所确定的PET处于所述非目标PET,调整一或多个编程步阶特性以将所述非目标PET调整为所述目标PET。
9.根据权利要求1至6中任一项所述的系统,其中:
所述一或多个编程步阶特性包括编程步长(462)及编程步阶持续时间(493);及
所述处理装置(112)进一步经配置以:
确定步阶阈值以用于调整编程步长;及
确定时间阈值以用于调整编程步阶持续时间。
10.一种方法,其中所述方法包括:
基于一或多个编程步阶特性确定用于编程存储器组件(110)的多个存储器单元的至少一部分的编程有效时间PET;
将所述所确定的PET与目标PET进行比较;且
响应于所述所确定的PET不同于所述目标PET,调整所述编程步阶特性中的一或多者以将所述所确定的PET调整为经调整PET;
将所述经调整PET与所述目标PET进行比较;且
响应于所述经调整PET不同于所述目标PET,进一步调整所述编程步阶特性中的一或多者以将所述经调整PET调整为所述目标PET。
11.根据权利要求10所述的方法,其进一步包括重复先前经调整PET与所述目标PET的比较。
12.根据权利要求11所述的方法,其中,响应于所述先前经调整PET为与所述目标PET相比不同的PET,调整所述编程步阶特性中的一或多者直到所述先前经调整PET为与所述目标PET相同的PET为止。
13.根据权利要求10至12中任一项所述的方法,其中所述存储器组件(110)包括多个存储器裸片,且其中所述方法进一步包括:
使用所述经调整PET编程所述多个存储器裸片中的每一者,所述经调整PET为与所述目标PET相同的PET。
14.一种系统,其包括:
存储器组件(110),其包含多个存储器单元;及
处理装置(112),其耦合到所述存储器组件且经配置以:
利用所确定量调整一或多个编程步阶特性以调整用于编程所述多个存储器单元的至少一部分的编程有效时间PET(464)。
15.根据权利要求14所述的系统,其中所述一或多个编程步阶特性包括编程步长(462)及编程步阶持续时间(493)中的一或多者。
16.根据权利要求15所述的系统,其中所述所确定量是基于编程步长(462)中的一者与编程步阶持续时间(493)中的一者之间的确定关系。
17.根据权利要求15至16中任一项所述的系统,其中所述处理装置(112)进一步经配置以重复地调整所述一或多个编程步阶特性以在目标PET处维持恒定PET。
18.根据权利要求15至16中任一项所述的系统,其中所述处理装置(112)进一步经配置以响应于所述存储器组件(110)的编程的改变来调整所述一或多个编程步阶特性。
19.根据权利要求17所述的系统,其中编程的所述改变包括因所述存储器组件(110)的磨损循环所致的改变。
20.根据权利要求17所述的系统,其中编程的所述改变包括所述存储器组件(110)中的温度改变。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/214,373 | 2018-12-10 | ||
US16/214,373 US11211131B2 (en) | 2018-12-10 | 2018-12-10 | Adjusting program effective time using program step characteristics |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111292790A true CN111292790A (zh) | 2020-06-16 |
Family
ID=70970745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911240426.3A Withdrawn CN111292790A (zh) | 2018-12-10 | 2019-12-06 | 编程有效时间调整 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11211131B2 (zh) |
CN (1) | CN111292790A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112201293B (zh) * | 2020-10-18 | 2023-12-15 | 本征信息技术(苏州)有限公司 | 多层单元非易失性存储器的一种编程方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020191444A1 (en) * | 2001-04-10 | 2002-12-19 | Stmicroelectronics S.R.I. | Method for programming nonvolatile memory cells with program and verify algorithm using a staircase voltage with varying step amplitude |
US20060018160A1 (en) * | 2004-07-20 | 2006-01-26 | Farookh Moogat | Non-volatile system with program time control |
CN101268519A (zh) * | 2005-08-01 | 2008-09-17 | 桑迪士克股份有限公司 | 用自调整最大程序循环对非易失性存储器进行编程 |
US20080298124A1 (en) * | 2002-12-06 | 2008-12-04 | Samsung Electronics Co., Ltd. | Parallel programming of multiple-bit-per-cell memory cells by controlling program pulsewidth and programming voltage |
US20120011301A1 (en) * | 2010-07-09 | 2012-01-12 | Seagate Technology Llc | Dynamically controlling an operation execution time for a storage device |
US20160093380A1 (en) * | 2014-09-29 | 2016-03-31 | Sandisk Technologies Inc. | Modifying program pulses based on inter-pulse period to reduce program noise |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7656710B1 (en) * | 2005-07-14 | 2010-02-02 | Sau Ching Wong | Adaptive operations for nonvolatile memories |
US7330373B2 (en) * | 2006-03-28 | 2008-02-12 | Sandisk Corporation | Program time adjustment as function of program voltage for improved programming speed in memory system |
US8499227B2 (en) | 2010-09-23 | 2013-07-30 | Micron Technology, Inc. | Memory quality monitor based compensation method and apparatus |
US10402272B2 (en) | 2017-05-25 | 2019-09-03 | Micron Technology, Inc. | Memory device with dynamic programming calibration |
US10510413B1 (en) * | 2018-08-07 | 2019-12-17 | Sandisk Technologies Llc | Multi-pass programming with modified pass voltages to tighten threshold voltage distributions |
-
2018
- 2018-12-10 US US16/214,373 patent/US11211131B2/en active Active
-
2019
- 2019-12-06 CN CN201911240426.3A patent/CN111292790A/zh not_active Withdrawn
-
2021
- 2021-12-23 US US17/561,278 patent/US11887676B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020191444A1 (en) * | 2001-04-10 | 2002-12-19 | Stmicroelectronics S.R.I. | Method for programming nonvolatile memory cells with program and verify algorithm using a staircase voltage with varying step amplitude |
US20080298124A1 (en) * | 2002-12-06 | 2008-12-04 | Samsung Electronics Co., Ltd. | Parallel programming of multiple-bit-per-cell memory cells by controlling program pulsewidth and programming voltage |
US20060018160A1 (en) * | 2004-07-20 | 2006-01-26 | Farookh Moogat | Non-volatile system with program time control |
CN101031978A (zh) * | 2004-07-20 | 2007-09-05 | 桑迪士克股份有限公司 | 具有编程时间控制的非易失性存储器系统 |
CN101268519A (zh) * | 2005-08-01 | 2008-09-17 | 桑迪士克股份有限公司 | 用自调整最大程序循环对非易失性存储器进行编程 |
US20120011301A1 (en) * | 2010-07-09 | 2012-01-12 | Seagate Technology Llc | Dynamically controlling an operation execution time for a storage device |
US20160093380A1 (en) * | 2014-09-29 | 2016-03-31 | Sandisk Technologies Inc. | Modifying program pulses based on inter-pulse period to reduce program noise |
Also Published As
Publication number | Publication date |
---|---|
US20220122676A1 (en) | 2022-04-21 |
US11887676B2 (en) | 2024-01-30 |
US20200185042A1 (en) | 2020-06-11 |
US11211131B2 (en) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111954863B (zh) | 基于可调整错误率提供存储器系统的数据 | |
US11726719B2 (en) | Compound feature generation in classification of error rate of data retrieved from memory cells | |
US10971233B2 (en) | Read window budget based dynamic program step characteristic adjustment | |
US20210273650A1 (en) | Classification of error rate of data retrieved from memory cells | |
US11249679B2 (en) | Selecting a write operation mode from multiple write operation modes | |
US11579961B2 (en) | Bit error rate based dynamic program step characteristic adjustment | |
CN111292793B (zh) | 基于电平宽度的动态编程步阶特性调整 | |
WO2023018514A1 (en) | Probabilistic data integrity scan with an adaptive scan frequency | |
US11500582B2 (en) | Trigger margin based dynamic program step characteristic adjustment | |
US20220027077A1 (en) | Managing an adjustable write-to-read delay of a memory sub-system | |
US11887676B2 (en) | Adjusting program effective time using program step characteristics | |
US11694758B2 (en) | Changing scan frequency of a probabilistic data integrity scan based on data quality | |
US11545229B1 (en) | Probabilistic data integrity scan with dynamic scan frequency | |
US20230205450A1 (en) | Voltage threshold prediction-based memory management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200616 |
|
WW01 | Invention patent application withdrawn after publication |