CN113870933B - 数据编程技术 - Google Patents
数据编程技术 Download PDFInfo
- Publication number
- CN113870933B CN113870933B CN202110710652.4A CN202110710652A CN113870933B CN 113870933 B CN113870933 B CN 113870933B CN 202110710652 A CN202110710652 A CN 202110710652A CN 113870933 B CN113870933 B CN 113870933B
- Authority
- CN
- China
- Prior art keywords
- data
- memory device
- programming mode
- memory
- writing
- 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.)
- Active
Links
Images
Classifications
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- 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
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- 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
-
- 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
- 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/26—Sensing or reading circuits; Data output 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/30—Power supply 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
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/46—Test trigger logic
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
- G11C2013/0092—Write characterized by the shape, e.g. form, length, amplitude of the write pulse
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请案涉及数据编程技术。可使用与高于第一编程模式的错误率相关联的第二编程模式来将数据编程到存储器系统。所述第二编程模式可包含跳过包含在所述第一编程模式中的一或多个电压校准程序,以及一旦对所述数据的较大集进行编程,就执行一或多个数据验证程序。所述第二编程模式还可包含使用较高编程电压脉冲来对数据进行编程且所述编程脉冲可持续长于所述第一编程模式的编程脉冲的时间段。存储器系统可接收数据,确定使用所述第二编程模式来将所述数据写入到存储器装置,使用所述第二编程模式来写入所述数据,且验证所述数据是否满足错误阈值。
Description
交叉参考
本专利申请案主张由卡列罗在2020年6月30日申请的标题为“数据编程技术(TECHNIQUES FOR DATA PROGRAMMING)”的第16/916,952号美国专利申请案的优先权,所述申请案转让给其受让人,且其全文以引用的方式明确地并入本文中。
技术领域
技术领域涉及数据编程技术。
背景技术
存储器装置广泛用于将信息存储在各种电子装置中,例如计算机、无线通信装置、相机、数字显示器等。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,可将二进制存储器单元编程为两种支持状态中的一者,通常对应于逻辑1或逻辑0。在一些实例中,单个存储器单元可支持两种以上的可能状态,所述状态中的任一者可由所述存储器单元来存储。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程为对应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FERAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、三维交叉点存储器(3D XPoint)、或非(NOR)及与非(NAND)存储器装置等等。存储器装置可为易失性的或非易失性的。除非由外部电源周期性地刷新,否则易失性存储器单元(例如,DRAM单元)可能随着时间推移而失去其经编程状态。非易失性存储器单元(例如,NAND存储器单元)可在不存在外部电源的情况下维持其经编程状态达延长时间段。
发明内容
描述一种设备。所述设备可包含:存储器装置,其经配置以使用具有第一错误率的第一编程模式或具有高于所述第一错误率的第二错误率的第二编程模式进行操作;及控制组件,其与所述存储器装置耦合且经配置以引起所述设备:接收写入到所述存储器装置的数据;至少部分地基于接收所述数据而确定使用所述第二编程模式来将所述数据写入到所述存储器装置;至少部分地基于所述确定而使用所述第二编程模式来将所述数据写入到所述存储器装置;及在写入所述数据之后且至少部分地基于使用所述第二编程模式来写入所述数据,确定写入到所述存储器装置的所述数据是否满足错误阈值。
描述一种存储代码的非暂时性计算机可读媒体。所述存储代码的非暂时性计算机可读媒体可包含指令,所述指令在由电子装置的处理器执行时引起所述电子装置:接收写入到存储器装置的数据,所述存储器装置经配置以使用具有第一错误率的第一编程模式或具有高于所述第一错误率的第二错误率的第二编程模式进行操作;至少部分地基于接收所述数据而确定使用所述第二编程模式来将所述数据写入到所述存储器装置;至少部分地基于所述确定而使用所述第二编程模式来将所述数据写入到所述存储器装置;及在写入所述数据之后且至少部分地基于使用所述第二编程模式来写入所述数据,确定写入到所述存储器装置的所述数据是否满足错误阈值。
描述一种由存储器系统执行的方法。所述方法可包含:接收写入到存储器装置的数据,所述存储器装置经配置以使用具有第一错误率的第一编程模式或具有高于所述第一错误率的第二错误率的第二编程模式进行操作;至少部分地基于接收所述数据而确定使用所述第二编程模式来将所述数据写入到所述存储器装置;至少部分地基于所述确定而使用所述第二编程模式来将所述数据写入到所述存储器装置;及在写入所述数据之后且至少部分地基于使用所述第二编程模式来写入所述数据,确定写入到所述存储器装置的所述数据是否满足错误阈值。
附图说明
图1说明根据如本文中所公开的实例的支持数据编程技术的系统的实例。
图2说明根据如本文中所公开的实例的支持数据编程技术的编程分布的实例。
图3说明根据如本文中所公开的实例的支持数据编程技术的流程图的实例。
图4说明根据如本文中所公开的实例的支持数据编程技术的流程图的实例。
图5展示根据如本文中所公开的实例的支持数据编程技术的存储器装置的框图。
图6展示说明根据如本文中所公开的实例的支持数据编程技术的一或若干方法的流程图。
具体实施方式
一些数据可经编程到存储器装置(例如,与非(NAND)存储器装置)且可使用专用读取或验证命令进行验证。验证经编程数据可包含例如在写入经编程数据的每一位之后验证所述数据位(例如,在电压校准过程期间)。如果所述数据位未能通过验证过程,那么可重写及重新验证所述位直到通过所述验证为止。用于对数据进行编程的这些技术可表示第一编程模式(例如,正常编程模式)的实例且可能导致经编程数据的第一错误率(例如,经编程数据的较低错误率)。由于与第一编程模式相关联的验证及/或校准过程,第一编程模式可能导致经编程数据的较低错误率,但也可使用较高功率量及较高时间量来对所述数据进行编程。
本公开提供用于使用第二编程模式(例如,代替第一编程模式)对数据进行编程的技术。第二编程模式的一些实例可包含跳过第一编程模式中包含的电压校准程序。另外,第二编程模式可跳过验证程序直到将一些或所有经调度数据编程到存储器装置为止,且例如一旦对一些或所有数据进行编程,就可执行数据验证程序。第二编程模式还可包含执行较高编程电压脉冲以对数据进行编程(例如,对逻辑‘0’值进行编程),其中编程脉冲可持续达长于来自第一编程模式的编程脉冲的时间段。
第二编程模式可能导致经编程数据的第二错误率(例如,经编程数据的较高错误率),但可使用较低功率量且可花费较少时间来对所述数据进行编程。因此,使用第二编程模式来对数据进行编程可降低成本且改进编程过程,例如,在系统编程期间(例如,在制造电子装置期间将操作系统、一或多个应用程序及/或数据加载在嵌入式存储装置上)或在流式传输期间以及其它实例。
本公开的特征首先在如参考图1所描述的系统及裸片的上下文中描述。本公开的特征在如参考图2到4所描述的编程分布及流程图的上下文中描述。本公开的这些及其它特征是通过如参考图5及6所描述的涉及数据编程技术的设备图及流程图进一步说明及参考所述设备图及流程图描述。
图1说明根据如本文中所公开的实例的支持数据编程技术的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可为或包含任何装置或装置集合,其中所述装置或装置集合包含至少一个存储器阵列。例如,存储器系统110可为或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪存储器装置、通用串行总线(USB)快闪存储器装置、安全数字(SD)卡、固态驱动器(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)或非易失性DIMM(NVDIMM)以及其它可能性。
系统100可被包含在计算装置中,例如桌上型计算机、膝上型计算机、网络服务器、移动装置、车辆(例如,飞机、无人机、火车、汽车或其它输送装置)、具物联网(IoT)功能的装置、嵌入式计算机(例如,包含在车辆、工业设备或联网商业装置中的嵌入式计算机)或包含存储器及处理装置的任何其它计算装置。
系统100可包含主机系统105,所述主机系统105可与存储器系统110耦合。主机系统105可包含一或多个装置,且在一些情况下可包含处理器芯片组及由处理器芯片组执行的软件堆叠。例如,主机系统105可包含经配置用于与存储器系统110或其中的装置进行通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存(例如,主机系统105本地或包含在主机系统105中的存储器)、存储器控制器(例如,NVDIMM控制器)及存储协议控制器(例如,PCIe控制器、串行高级技术附件(SATA)控制器)。主机系统105可使用存储器系统110例如来将数据写入到存储器系统110及从存储器系统110读取数据。尽管图1中展示一个存储器系统110,但应理解,主机系统105可与任何数量的存储器系统110耦合。
主机系统105可经由至少一个物理主机接口与存储器系统110耦合。在一些情况下,主机系统105及存储器系统110可经配置以经由物理主机接口使用相关联协议进行通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式传达控制、地址、数据及其它信号)。物理主机接口的实例可包含但不限于SATA接口、UFS接口、eMMC接口、高速外围组件互连(PCIe)接口、USB接口、光纤通道、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、双数据速率(DDR)、双列直插式存储器模块(DIMM)接口(例如,支持DDR的DIMM套接字接口)、开放NAND快闪存储器接口(ONFI)、低功耗双数据速率(LPDDR)。在一些实例中,一或多个此类接口可被包含在主机系统105的主机系统控制器106及存储器系统110的存储器系统控制器115中或以其它方式支撑在其间。在一些实例中,主机系统105可经由包含在存储器系统110中的每一存储器装置130或存储器装置140的相应物理主机接口或经由包含在存储器系统110中的每种类型的存储器装置130或存储器装置140的相应物理主机接口与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可包含存储器系统控制器115、存储器装置130及存储器装置140。存储器装置130可包含第一类型的存储器单元(例如,一种类型的非易失性存储器单元)的一或多个存储器阵列,且存储器装置140可包含第二类型的存储器单元(例如,一种类型的易失性存储器单元)的一或多个存储器阵列。尽管在图1的实例中展示一个存储器装置130及一个存储器装置140,但应理解,存储器系统110可包含任何数量的存储器装置130及存储器装置140,且在一些情况下,存储器系统110可能缺少存储器装置130或存储器装置140。
存储器系统控制器115可(例如,经由物理主机接口)与主机系统105耦合并进行通信。存储器系统控制器115还可与存储器装置130或存储器装置140耦合并进行通信以执行例如在存储器装置130或存储器装置140处读取数据、写入数据、擦除数据或刷新数据的操作,及其它此类操作,其可统称为存取操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130或存储器装置140进行通信以执行此类命令(例如,在一或多个存储器装置130或存储器装置140内的存储器阵列处)。例如,存储器系统控制器115可从主机系统105接收命令或操作且可将命令或操作转换成指令或适当命令以实现存储器装置130或存储器装置140的所要存取。且在一些情况下,存储器系统控制器115可与主机系统105且与一或多个存储器装置130或存储器装置140交换数据(例如,响应于来自主机系统105的命令或以其它方式与来自主机系统105的命令相关联)。例如,存储器系统控制器115可将与存储器装置130或存储器装置140相关联的响应(例如,数据分组或其它信号)转换成用于主机系统105的对应信号。
存储器系统控制器115可经配置用于与存储器装置130或存储器装置140相关联的其它操作。例如,存储器系统控制器115可执行或管理例如损耗均衡操作、废弃项目收集操作、错误控制操作(例如错误检测操作或错误校正操作)、加密操作、高速缓存操作、媒体管理操作、背景刷新、健康监测及相关联于来自主机系统105的命令的逻辑地址(例如,逻辑块地址(LBA)与相关联于存储器装置130或存储器装置140内的存储器单元的物理地址(例如,物理块地址)之间的地址转变。
存储器系统控制器115可包含例如一或多个集成电路或离散组件、缓冲器存储器或其组合的硬件。硬件可包含具有专用(例如,硬编码)逻辑以执行本文中归属于存储器系统控制器115的操作的电路系统。存储器系统控制器115可为或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP))或任何其它合适处理器或处理电路系统。
存储器系统控制器115还可包含本地存储器120。在一些情况下,本地存储器120可包含可存储可由存储器系统控制器115执行以执行本文中归属于存储器系统控制器115的功能的操作代码(例如,可执行指令)的只读存储器(ROM)或其它存储器。在一些情况下,本地存储器120可另外或替代地包含可被存储器系统控制器115用于例如与本文中归属于存储器系统控制器115的功能相关的内部存储或计算的静态随机存取存储器(SRAM)或其它存储器。另外或替代地,本地存储器120可用作存储器系统控制器115的高速缓存。例如,数据可在从存储器装置130或存储器装置140读取或写入到存储器装置130或存储器装置140时存储到本地存储器120,且可在本地存储器120内可用以供主机系统105根据高速缓存策略进行后续检索或操纵(例如,更新)(例如,以相对于存储器装置130或存储器装置140减少的时延)。
尽管图1中的存储器系统110已被说明为包含存储器系统控制器115,但在一些情况下,存储器系统110可不包含存储器系统控制器115。例如,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可分别在存储器装置130或存储器装置140内部的一或多个本地控制器135或本地控制器145,以执行本文中归属于存储器系统控制器115的功能。一般来说,在一些情况下,本文中归属于存储器系统控制器115的一或多个功能可代替地由主机系统105、本地控制器135或本地控制器145或其任何组合来执行。
存储器装置140可包含易失性存储器单元的一或多个阵列。例如,存储器装置140可包含随机存取存储器(RAM)存储器单元,例如动态RAM(DRAM)存储器单元及同步DRAM(SDRAM)存储器单元。在一些实例中,存储器装置140可支持相对于存储器装置130减少延时的随机存取操作(例如,由主机系统105),或可提供相对于存储器装置130的一或多个其它性能差异。
存储器装置130可包含非易失性存储器单元的一或多个阵列。例如,存储器装置130可包含NAND(例如,NAND快闪存储器)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电RAM(FERAM)、磁RAM(MRAM)、NOR(例如,NOR快闪存储器)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OXRAM)及电可擦除可编程ROM(EEPROM)。
在一些实例中,存储器装置130或存储器装置140可分别包含(例如,在同一芯片上或在同一封装内)本地控制器135或本地控制器145,其可在存储器装置130或存储器装置140的一或多个存储器单元上执行操作。本地控制器135或本地控制器145可结合存储器系统控制器115操作或可执行本文中归属于存储器系统控制器115的一或多个功能。在一些情况下,包含本地控制器135或本地控制器145的存储器装置130或存储器装置140可被称为受管理存储器装置且可包含与本地(例如,裸片上或封装中)控制器(例如,本地控制器135或本地控制器145)组合的存储器阵列及相关电路系统。受管理存储器装置的实例是受管理NAND(MNAND)装置。
在一些情况下,存储器装置130可为或包含NAND装置(例如,NAND快闪存储器装置)。存储器装置130可为包含一或多个裸片160的封装。在一些实例中,裸片160可为从晶片切割的一件电子级半导体(例如,从硅晶片切割的硅裸片)。每一裸片160可包含一或多个平面165,且每一平面165可包含相应的一组块170,其中每一块170可包含相应的一组页175,且每一页175可包含一组存储器单元。
在一些情况下,NAND存储器装置130可包含经配置以各自存储一个信息位的存储器单元,其可被称为单级单元(SLC)。另外或替代地,NAND存储器装置130可包含经配置以各自存储多个信息位的存储器单元,如果经配置以各自存储两个信息位,那么其可被称为多级单元(MLC),如果经配置以各自存储三个信息位,那么其可被称为三级单元(TLC),如果经配置以各自存储四个信息位,那么其可被称为四级单元(QLC),或更一般地被称为多级存储器单元。多级存储器单元可相对于SLC存储器单元提供更大的存储密度但在一些情况下,可涉及更窄的读取或写入边限或更大的支持电路系统复杂性。
在一些情况下,平面165可指块170的群组,且在一些情况下,并发操作可在不同平面165内进行。例如,可在不同块170内的存储器单元上执行并发操作,只要不同块170在不同平面165中即可。在一些情况下,在不同平面165中执行并发操作可能会收到一或多个限制,例如在其相应平面165内具有相同页地址的不同页175内的存储器单元上执行相同操作(例如,与跨平面165共享的命令解码、页地址解码电路系统或其它电路系统相关)。
在一些情况下,块170可包含组织成行(页175)及列(例如,串,未展示)的存储器单元。例如,同一页175中的存储器单元可共享(例如,耦合)共同字线,且同一串中的存储器单元可共享(例如,耦合)共同数字线(其可替代地称为位线)。
对于一些NAND架构,存储器单元可以第一粒度级(例如,以页粒度级)读取及编程(例如,写入)但可以第二粒度级(例如,以块粒度级)擦除。即,页175可为可独立地编程或读取的最小存储器单位(例如,存储器单元组)(例如,作为单个程序或读取操作的部分并发地编程或读取),且块170可为可独立地擦除的最小存储器单位(例如,存储器单元组)(例如,作为单个擦除操作的部分并发地擦除)。此外,在一些情况下,在可使用新数据重写之前可擦除NAND存储器单元。因此,例如,在一些情况下可直到已擦除包含所使用页175的整个块170才更新所述页175。
系统100可包含支持数据编程技术的任何数量的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115、存储器装置130或存储器装置140可包含或以其它方式可存取存储指令(例如,固件)以执行本文中归属于主机系统105、存储器系统控制器115、存储器装置130或存储器装置140的功能的一或多个非暂时性计算机可读媒体。例如,此类指令在由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115、由存储器装置130(例如,由本地控制器135)或由存储器装置140(例如,由本地控制器145)执行时可能引起主机系统105、存储器系统控制器115、存储器装置130或存储器装置140执行如本文中所描述的相关联功能(例如,流程图300及400)。
图2说明根据如本文中所公开的实例的支持数据编程技术的编程分布200的实例。例如,编程分布200可说明与第一编程模式(例如,正常编程模式)及第二编程模式(例如,修改式、盲目或不可靠编程模式)相关联的存储器单元的阈值电压的分布。例如,分布205及210可对应于使用第一编程模式编程的存储器单元的阈值电压分布,而分布215及220可对应于使用第二编程模式编程的存储器单元的阈值电压分布。在一些情况下,分布205及215可对应于编程为‘1’的逻辑值的存储器单元的阈值电压分布且分布210及220可对应于编程为‘0’的逻辑值的存储器单元的阈值电压分布。
一些存储器装置编程操作(例如,NAND编程操作)可能不完全可靠,因为所述编程操作可验证经编程存储器单元直到所述存储器单元达到所请求阈值电压为止。例如,在一些条件(例如,电压尖峰、缺陷激活)中,所述编程操作可在经编程数据可能被损坏时确定经编程存储器单元的状态良好。
为了避免经编程数据(例如,经编程图像)的损坏,例如在制造循环的在系统编程操作期间(在其期间可将操作系统及其它预加载应用程序写入到存储器装置(例如,NAND装置,例如受管理NAND(MNAND)装置)可使用专用读取或验证命令来验证经编程数据。验证经编程数据可包含例如在写入经编程数据的每一位之后验证所述数据位。如果所述数据位未能通过验证过程,那么可重写及重新验证所述位直到通过所述验证为止。用于对数据进行编程的这些技术可表示第一编程模式的实例且可能导致经编程数据的第一错误率(例如,经编程数据的较低错误率)。
在第一编程模式的一些实例中,SLC编程可包含字线群组上的电压校准程序,后接编程脉冲。例如,存储器装置可在字线的第一页上执行起动电压校准,同时在同一字线的其它页上执行一或两个编程脉冲(例如,使用来自电压校准的反馈信息)。例如,电压校准可包含执行经写入数据的逐位验证,如本文中所描述。在一些情况下,字线的其它页上的一或两个编程脉冲可省略逐位验证操作,或可包含修改式验证过程。
根据本文中所描述的第一编程模式的实例执行数据编程可能导致分布205及210,其中分布205可表示具有‘1’的经编程逻辑值的存储器单元的阈值电压且分布210可表示具有‘0’的经编程逻辑值的存储器单元的阈值电压。使用第一编程模式来对数据进行编程可能另外导致较紧密或较小的分布205及210,其中分布205及210可位于分布205及210的边远阈值电压与电压读取电平225之间的电压间隙230内。
在一些情况下,可使用第二编程模式(例如,代替第一编程模式)来将数据编程到存储器装置。第二编程模式的一些实例可包含跳过第一编程模式中包含的电压校准程序。第二编程模式可另外跳过验证程序直到将一些或所有经调度数据编程到存储器装置为止且可例如,一旦对一些或所有数据进行编程,就执行数据验证程序。第二编程模式还可包含在一些实例中在长于来自第一编程模式的编程脉冲的时间段内执行较高编程电压脉冲以对数据进行编程(例如,对逻辑‘0’值进行编程)。这个较高编程脉冲可支持对存储器单元进行编程使得可将编程为‘0’的逻辑值的存储器单元置于高于读取电平225的阈值电压。
根据本文中所描述的第二编程模式的实例执行数据编程可能导致分布215及220,其中分布215可表示具有‘1’的经编程逻辑值的存储器单元的阈值电压且分布220可表示具有‘0’的经编程逻辑值的存储器单元的阈值电压。使用第二编程模式来对数据进行编程可能另外导致较大的分布215及220,其中分布215及220可在一些情况下与电压读取电平225重叠。第二编程模式可能导致经编程数据的第二错误率(例如,经编程数据的较高错误率)。
由于与第一编程模式相关联的验证及/或校准过程,第一编程模式可能导致经编程数据的较低错误率,但也可使用较高功率及时间量来对所述数据进行编程。第二编程模式可能导致经编程数据的较高错误率,但可使用较低功率及时间量来对所述数据进行编程。因此,使用第二编程模式来对数据进行编程可降低成本且改进编程过程。在一些情况下,例如,当在受控环境中执行在系统编程时(例如,在第二编程操作期间具有受控环境条件直到数据刷新为止),与使用第二编程模式来将数据编程到存储器装置相关联的第二错误率可为可接受的。在此类情况下,例如,可将此编程对存储器装置的存储器单元的一些不利影响减少到可接受水平。
图3说明根据如本文中所公开的实例的支持数据编程技术的流程图300的实例。例如,如参考图2所描述,存储器装置(例如,包含存储器阵列)可经配置以使用第一编程模式(例如,正常编程模式)或第二编程模式(例如,修改式、不可靠或盲目编程模式)来将数据写入或编程到存储器阵列。第一编程模式可包含使用可能导致较高时间及成本以及较低数据错误率的一或多个验证或写入程序来对数据进行编程。第二编程模式可包含使用可能导致较低时间及成本以及较高数据错误率(例如,高于与第一编程模式相关联的数据错误率)的一或多个验证或写入程序来对数据进行编程。流程图300可表示用于在存储器装置处使用第二编程模式来对数据进行编程的一或多种技术。
在305处,可开始数据编程程序。例如,存储器装置可接收写入到存储器装置的数据。在一些情况下,存储器装置可从存储器装置外部的源,例如主机装置接收数据。
在310处,可启用第二编程模式以对数据进行编程。例如,存储器装置可确定使用第二编程模式来将数据写入到存储器装置。在一些情况下,存储器装置可接收包含使用第二编程模式来将数据写入到存储器装置的指示的命令(例如,专用命令,例如写入命令),且可基于所述指示而确定使用第二编程模式。在一些情况下,存储器装置可经配置(例如,经预先配置)以使用第二编程模式且可基于存储器装置的配置而确定使用第二编程模式。例如,存储器装置可经配置为具有可选择第二编程模式,使得命令或配置可激活第二编程模式。在一些情况下,存储器装置可执行自动检测过程且可基于自动检测过程而确定使用第二编程模式。
在315处,可使用第二编程模式(例如,基于启用第二编程模式)来将数据编程或写入到存储器装置。例如,如本文中所描述,存储器装置可使用电压脉冲来对存储器装置的一或多个存储器单元进行编程,其中电压脉冲可长于用于第一编程模式的电压脉冲或可具有高于用于第一编程模式的电压脉冲的电压电平。类似地,第二编程模式可跳过与第一编程模式相关联的一或多个验证步骤(例如,验证编程到存储器装置的每一位)且可在写入数据之后执行写入到存储器装置的一些或所有数据的验证。在一些情况下,使用第二编程模式来对数据进行编程可包含将数据的至少一部分编程或写入到独立节点冗余阵列(RAIN)(例如,使用RAIN方案或RAIN奇偶校验)。例如,可每32个数据页将一个奇偶校验或数据备份页(例如,在数据损坏的情况下作为备份)写入到存储器装置。
例如,在320处,可验证写入到存储器装置的数据(例如,基于使用第二编程模式)。验证数据可包含确定写入到存储器装置的数据(例如,所有数据)的错误率或故障率。与相关联于数据编程的存储器单元的总数量相比,编程操作的故障率可表示例如未能通过读取验证(例如,或其它验证)的存储器单元的比率。总故障率可包含或表示由程序操作(例如,NAND程序操作)的故障率及被编程的数据图像的大小确定的图像故障率,其中对于给定程序故障率,较大图像大小可能导致较高图像故障率。在一些情况下,验证可由主机装置,例如,基于来自主机装置的命令或使用由主机装置提供的数据来启动。
在一些情况下,当确定故障率(例如,确定数据是否满足错误阈值)时,存储器装置可包含或考虑RAIN数据。例如,当考虑与RAIN方案相关联的数据时,对于给定页故障率(例如,具有不准确值或未能通过读取或其它验证的每页单元的数量),可减少使用第二编程模式写入的数据的故障率。在此类情况下,如果数据值(例如,逻辑存储器单元值)无法从RAIN恢复,那么数据值可被认为验证失败且如果数据值可从RAIN恢复,那么可被认为已通过验证。
在325处,可确定使用第二编程模式写入的数据(例如,或所述数据的一部分)是否未能通过验证。例如,存储器装置可确定写入到存储器装置的数据(例如,所有数据)是否满足错误阈值或故障率。错误阈值可表示使用第二编程模式编程的数据的阈值故障率或错误率。如果存储器装置确定数据通过验证(例如,不会验证失败),那么存储器装置可前进到335且可终止将数据写入到存储器装置(例如,基于确定数据满足错误阈值)。如果存储器装置确定数据未能通过验证,那么存储器装置可前进到330。
在330处,例如基于确定数据或数据的一部分未能通过验证,可停用第二编程模式且可启用第一编程模式。存储器装置可前进到315且可使用第一编程模式来重写数据,使得可减少与数据相关联的错误率。在一些情况下,存储器装置可使用第一编程模式来重写一些或所有数据,而在一些情况下,存储器装置可使用第一编程模式来重写未能通过验证的数据的部分(例如,且可能不重写使用第二编程模式写入且未能通过验证的数据)。根据如本文中所描述的第一编程模式,存储器装置可执行与第一编程模式相关联的一或多个验证程序(例如,在320处)且可确定数据是否通过验证(例如,在325处)。如果数据通过验证,那么存储器装置可前进到335且可终止写入数据。
使用第二编程模式来将数据写入到存储器装置可能导致如本文中所描述的一或多个优点,例如降低成本及总编程时间。例如,即使使用第一编程模式来重写数据(例如,未能通过验证的数据的一部分或所有数据),第二编程模式也可能导致时间节省,其例如可在考量对每一存储器装置进行编程时提供总编程时间减少。
图4说明根据如本文中所公开的实例的支持数据编程技术的流程图400的实例。例如,如参考图2所描述,存储器装置(例如,包含存储器阵列)可经配置以使用第一编程模式(例如,正常编程模式)或第二编程模式(例如,修改式、不可靠或盲目编程模式)来将数据写入或编程到存储器装置。第一编程模式可包含使用可能导致较高时间及成本以及较低数据错误率的一或多个验证或写入程序来对数据进行编程。第二编程模式可包含使用可能导致较低时间及成本以及较高数据错误率(例如,高于与第一编程模式相关联的数据错误率)的一或多个验证或写入程序来对数据进行编程。流程图400可表示用于在存储器装置处使用第二编程模式来对数据进行编程的一或多种技术。
在405处,可开始数据编程程序。例如,存储器装置可接收写入到存储器装置的数据。在一些情况下,存储器装置可从存储器装置外部的源,例如主机装置接收数据。存储器装置还可启用第二编程模式来对数据进行编程。例如,存储器装置可根据本文中例如参考图3所描述的一或多个实例确定使用第二编程模式来将数据写入到存储器装置。
在410处,可使用第二编程模式(例如,基于启用第二编程模式)来将数据的分块或部分编程或写入到存储器装置。例如,如本文中参考图2及3所描述,第二编程模式可具有与第一编程模式不同的一或多个特性且可包含对RAIN数据进行编程。存储器装置或主机装置(例如,存储器装置外部的提供数据的源)可将数据切片或划分成分块或部分,例如以便隔离可基于故障或错误率重新编程的数据。分块可表示数据的任何细分,例如数据块(例如,虚拟块)或多个数据块(例如,超级块)。例如,分块的大小可基于块大小以便避免损坏在对新数据分块进行编程时已验证的数据分块的页。分块的大小(例如,推荐大小)可由主机装置例如经由存储器装置的寄存器(例如,NAND接口中的寄存器)提供到存储器装置。
在415处,可对写入到存储器装置的数据分块执行验证(例如,基于使用第二编程模式)。验证数据分块可包含如本文中例如参考图2及3所描述的方法或技术。
在420处,可确定使用第二编程模式写入的数据分块是否未能通过验证。例如,存储器装置可确定写入到存储器装置的分块数据(例如,所有数据)是否满足错误阈值或故障率,如参考图3所描述。如果存储器装置确定数据通过验证(例如,不会验证失败),那么存储器装置可前进到430。如果存储器装置确定数据未能通过验证,那么存储器装置可前进到425。
在425处,例如基于确定数据分块无法通过验证,可停用第二编程模式且可启用第一编程模式。存储器装置可使用第一编程模式来重写数据分块,使得可减少与数据分块相关联的错误率。根据如本文中所描述的第一编程模式,存储器装置可执行与第一编程模式相关联的一或多个验证程序(例如,在415处)且可确定数据分块是否通过验证(例如,在420处)。如果数据分块通过验证,那么存储器装置可前进到430。
在430处,可确定写入到存储器装置的数据分块是否为最后一个数据分块,或是否存在待写入到存储器装置的一或多个其它数据分块。如果存储器装置确定存在待写入到存储器装置的一或多个其它数据分块,那么存储器装置可前进到410且可对下一(例如,第二)数据分块进行编程。对下一数据分块进行编程可包含执行类似步骤以对所述数据分块进行编程。如果第一数据分块在存储器装置的空块上开始,那么可例如基于推荐分块大小自动校准后继数据分块的数据编程的对准。
在435处,如果数据分块中的每一者已经写入到存储器装置且已通过验证(例如,使用第二或第一编程模式),那么可终止写入数据。
在一些情况下,存储器装置可使用第二编程模式来写入数据以进行在系统编程,如本文中所描述。在一些情况下,存储器装置可使用第二编程模式来在可包含存储器装置的主机装置的使用期间(例如,在存储器装置的使用期间)写入数据。一些应用程序可在较短时间段内,例如在流式传输期间存储数据。在此类情况下,如果第二编程模式不会引起存储器装置的存储器单元的耗尽,那么存储器装置可使用第二编程模式来减小编程时间及相关联时延。
使用第二编程模式来将数据写入到存储器装置可带来如本文中所描述的一或多个优点。写入数据分块可提供另外的优点,使得存储器装置可在逐分块基础上(例如,基于对应分块故障或错误率)使用第一编程模式来重写数据,例如,代替使用第一编程模式来重写所有数据。因此,在逐分块基础上写入数据可进一步节省时间及资源,所述时间及资源原本可能用于使用第一编程模式来对较大量的数据进行重新编程。
图5展示根据如本文中所公开的实例的支持数据编程技术的存储器系统505的框图500。存储器系统505可为如参考图1到4所描述的存储器系统的方面的实例。存储器系统505可包含数据接收组件510、编程模式组件515、数据写入组件520及错误阈值组件525。这些模块中的每一者可彼此直接或间接地进行通信(例如,经由一或多个总线)。
数据接收组件510可接收写入到存储器装置的数据,所述存储器装置经配置以使用具有第一错误率的第一编程模式或具有高于所述第一错误率的第二错误率的第二编程模式进行操作。在一些情况下,所述第一编程模式使用具有第一电压电平及第一持续时间的第一脉冲来将逻辑状态写入到存储器单元且使用反馈信息来将个别逻辑状态存储在个别存储器单元中。在一些情况下,所述第二编程模式使用具有高于所述第一电压电平的第二电压电平及长于所述第一持续时间的第二持续时间的第二脉冲来将所述逻辑状态写入到所述存储器单元且省略使用所述反馈信息来将所述个别逻辑状态存储在所述个别存储器单元中。在一些情况下,所述存储器装置包含NAND存储器装置。在一些情况下,所述第二错误率可基于RAIN的故障率。
编程模式组件515可基于接收所述数据而确定使用所述第二编程模式来将所述数据写入到所述存储器装置。在一些实例中,编程模式组件515可从所述存储器系统外部的源接收包含使用所述第二编程模式来将所述数据写入到所述存储器装置的指示的写入命令。在一些实例中,编程模式组件515可基于所述存储器系统的配置而确定使用所述第二编程模式来将所述数据写入到所述存储器装置。
数据写入组件520可基于所述确定而使用所述第二编程模式来将所述数据写入到所述存储器装置。在一些实例中,数据写入组件520可基于确定使用所述第二编程模式来将所述数据写入到所述存储器装置而识别在第一时间写入到所述存储器装置的所述数据的第一子集。在一些实例中,数据写入组件520可在所述第一时间使用所述第二编程模式来将所述数据的所述第一子集写入到所述存储器装置。在一些实例中,数据写入组件520基于确定写入到所述存储器装置的所述数据的所述第一子集未能满足所述错误阈值而确定使用所述第一编程模式来将所述数据的所述第一子集写入到所述存储器装置。在一些实例中,数据写入组件520基于所述确定而使用所述第一编程模式来将所述数据的所述第一子集写入到所述存储器装置。在一些情况下,所述存储器系统进一步包含寄存器,所述寄存器经配置以存储所述数据的所述第一子集的大小,其中写入所述第一子集可基于所述大小。
在一些实例中,数据写入组件520可基于确定写入到所述存储器装置的所述数据的所述第一子集满足所述错误阈值而识别在所述第一时间之后的第二时间写入到所述存储器装置的所述数据的第二子集。在一些实例中,数据写入组件520可在所述第二时间使用所述第二编程模式来将所述数据的所述第二子集写入到所述存储器装置。
在一些实例中,数据写入组件520可基于确定写入到所述存储器装置的所述数据满足所述错误阈值而终止将所述数据写入到所述存储器装置。在一些实例中,数据写入组件520可基于确定写入到所述存储器装置的所述数据未能满足所述错误阈值而确定使用所述第一编程模式来将所述数据的至少一部分写入到所述存储器装置。在一些实例中,数据写入组件520可基于所述确定而使用所述第一编程模式来将所述数据的所述至少所述部分写入到所述存储器装置。
在一些实例中,使用所述第一编程模式来将所述数据写入到所述存储器装置包含对在将所述数据写入到所述存储器装置时使用的每一存储器单元执行数据验证程序。
错误阈值组件525可在写入所述数据之后且基于使用所述第二编程模式来写入所述数据,确定写入到所述存储器装置的所述数据是否满足错误阈值。在一些实例中,错误阈值组件525可在写入所述数据的所述第一子集之后且基于使用所述第二编程模式来写入所述数据的所述第一子集,确定写入到所述存储器装置的所述数据的所述第一子集是否满足所述错误阈值。在一些实例中,错误阈值组件525可在写入所述数据的所述第二子集之后且基于使用所述第二编程模式来写入所述数据的所述第二子集,确定写入到所述存储器装置的所述数据的所述第二子集是否满足所述错误阈值。
图6展示说明根据如本文中所公开的实例的支持数据编程技术的一或若干方法600的流程图。方法600的操作可由如本文中所描述的存储器系统或其组件来实施。例如,方法600的操作可由如参考图5所描述的存储器系统来执行。在一些实例中,存储器系统可执行一组指令以控制存储器系统的功能元件以执行所描述功能。另外或替代地,存储器系统可使用专用硬件来执行所描述功能的方面。
在605处,所述存储器系统接收写入到存储器装置的数据,所述存储器装置经配置以使用具有第一错误率的第一编程模式或具有高于所述第一错误率的第二错误率的第二编程模式进行操作。605的操作可根据本文中所描述的方法来执行。在一些实例中,605的操作的方面可由如参考图5所描述的数据接收组件来执行。
在610处,所述存储器系统可基于接收所述数据而确定使用所述第二编程模式来将所述数据写入到所述存储器装置。610的操作可根据本文中所描述的方法来执行。在一些实例中,610的操作的方面可由如参考图5所描述的编程模式组件来执行。
在615处,所述存储器系统可基于所述确定而使用所述第二编程模式来将所述数据写入到所述存储器装置。615的操作可根据本文中所描述的方法来执行。在一些实例中,615的操作的方面可由如参考图5所描述的数据写入组件来执行。
在620处,所述存储器系统可在写入所述数据之后且基于使用所述第二编程模式来写入所述数据,确定写入到所述存储器装置的所述数据是否满足错误阈值。620的操作可根据本文中所描述的方法来执行。在一些实例中,620的操作的方面可由如参考图5所描述的错误阈值组件来执行。
在一些实例中,如本文中所描述的设备可执行一或若干方法,例如方法600。所述设备可包含用于以下动作的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):在存储器系统处接收写入到存储器装置的数据,所述存储器装置经配置以使用具有第一错误率的第一编程模式或具有高于所述第一错误率的第二错误率的第二编程模式进行操作;基于接收所述数据而确定使用所述第二编程模式来将所述数据写入到所述存储器装置;基于所述确定而使用所述第二编程模式来将所述数据写入到所述存储器装置;及在写入所述数据之后且基于使用所述第二编程模式来写入所述数据,确定写入到所述存储器装置的所述数据是否满足错误阈值。
在本文中所描述的方法600及设备的一些实例中,所述第一编程模式使用具有第一电压电平及第一持续时间的第一脉冲来将逻辑状态写入到存储器单元且使用反馈信息来将个别逻辑状态存储在个别存储器单元中,且所述第二编程模式使用具有高于所述第一电压电平的第二电压电平及长于所述第一持续时间的第二持续时间的第二脉冲来将所述逻辑状态写入到所述存储器单元且省略使用所述反馈信息来将所述个别逻辑状态存储在所述个别存储器单元中。
本文中所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、构件或指令:从所述存储器系统外部的源接收包含使用所述第二编程模式来将所述数据写入到所述存储器装置的指示的写入命令。
本文中所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、构件或指令:基于所述存储器系统的配置而确定使用所述第二编程模式来将所述数据写入到所述存储器装置。
本文中所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、构件或指令:基于确定使用所述第二编程模式来将所述数据写入到所述存储器装置而识别在第一时间写入到所述存储器装置的所述数据的第一子集;在所述第一时间使用所述第二编程模式来将所述数据的所述第一子集写入到所述存储器装置;及在写入所述数据的所述第一子集之后且基于使用所述第二编程模式来写入所述数据的所述第一子集,确定写入到所述存储器装置的所述数据的所述第一子集是否满足所述错误阈值。
在本文中所描述的方法600及设备的一些实例中,所述设备进一步包含寄存器,所述寄存器经配置以存储所述数据的所述第一子集的大小,其中写入所述第一子集可基于所述大小。
本文中所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、构件或指令:基于确定写入到所述存储器装置的所述数据的所述第一子集未能满足所述错误阈值而确定使用所述第一编程模式来将所述数据的所述第一子集写入到所述存储器装置;及基于所述确定而使用所述第一编程模式来将所述数据的所述第一子集写入到所述存储器装置。
本文中所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、构件或指令:基于确定写入到所述存储器装置的所述数据的所述第一子集满足所述错误阈值而识别在所述第一时间之后的第二时间写入到所述存储器装置的所述数据的第二子集;在所述第二时间使用所述第二编程模式来将所述数据的所述第二子集写入到所述存储器装置;及在写入所述数据的所述第二子集之后且基于使用所述第二编程模式来写入所述数据的所述第二子集,确定写入到所述存储器装置的所述数据的所述第二子集是否满足所述错误阈值。
本文中所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、构件或指令:基于写入到所述存储器装置的所述数据满足所述错误阈值而终止将所述数据写入到所述存储器装置。
本文中所描述的方法600及设备的一些实例可进一步包含用于以下动作的操作、特征、构件或指令:基于确定写入到所述存储器装置的所述数据未能满足所述错误阈值而确定使用所述第一编程模式来将所述数据的至少一部分写入到所述存储器装置;及基于所述确定而使用所述第一编程模式来将所述数据的所述至少所述部分写入到所述存储器装置。
在本文中所描述的方法600及设备的一些实例中,使用所述第一编程模式来将所述数据写入到所述存储器装置可包含用于对在将所述数据写入到所述存储器装置时使用的每一存储器单元执行数据验证程序。
在本文中所描述的方法600及设备的一些实例中,所述存储器装置包含NAND存储器装置。在本文中所描述的方法600及设备的一些实例中,所述第二错误率可基于RAIN的故障率。
应注意,本文中所描述的方法描述可能的实施方案,且可重新布置或以其它方式修改操作及步骤,且其它实施方案也是可能的。此外,可组合来自两种或更多种方法的部分。
本文中所描述的信息及信号可使用多种不同科技及技术中的任一者来表示。例如,可贯穿上文描述引用的数据、指令、命令、信息、信号、位、符号及芯片可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合来表示。一些附图可将信号说明为单个信号;然而,所属领域的一般技术人员将理解,信号可表示信号总线,其中所述总线可具有多种位宽度。
术语“经隔离”是指组件之间的关系,其中信号目前不能在组件之间流动。如果组件之间存在开路,那么组件彼此隔离。例如,由定位在组件之间的开关分离的两个组件在开关断开时彼此隔离。当控制器使两个组件彼此隔离时,控制器产生变化,其防止信号使用先前允许信号流动的导电路径在组件之间流动。
本文中所论述的装置(包含存储器阵列)可经形成在半导体衬底(例如硅、锗、硅锗合金、砷化镓、氮化镓等)上。在一些实例中,衬底是半导体晶片。在其它情况下,衬底可为绝缘体上硅(SOI)衬底(例如玻璃上硅(SOS)或蓝宝石上硅(SOP))或另一衬底上的半导体材料的外延层。可通过使用各种化学物种(包含但不限于磷、硼或砷)掺杂来控制衬底或衬底的子区的导电率。可通过离子植入或通过任何其它掺杂方法在衬底的初始形成或生长期间执行掺杂。
本文中所论述的切换组件或晶体管可表示场效晶体管(FET)且包括包含源极、漏极与栅极的三终端装置。所述终端可通过导电材料(例如,金属)连接到其它电子元件。源极及漏极可为导电的且可包括重度掺杂(例如,简并)半导体区。可通过轻度掺杂半导体区或沟道分离源极及漏极。如果沟道是n型(即,多数载子是电子),那么FET可被称为n型FET。如果沟道是p型(即,多数载子是电洞),那么FET可被称为p型FET。沟道可通过绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电率。例如,分别将正电压或负电压施加到n型FET或p型FET可能导致沟道变成导电的。当将大于或等于晶体管的阈值电压的电压施加到晶体管栅极时,可“导通”或“激活”晶体管。当将小于晶体管的阈值电压的电压施加到晶体管栅极时,可“关断”或“取消激活”所述晶体管。
本文中所阐述的描述结合附图描述实例配置且不表示可实施或在权利要求书的范围内的所有实例。本文中所使用的术语“实例性”表示“充当实例、例子或说明”且非“优选”或“优于其它实例”。详细描述包含特定细节以提供对所描述技术的理解。然而,可在无这些特定细节的情况下实践这些技术。在一些例子中,以框图形式展示熟知结构及装置以避免模糊所描述实例的概念。
在附图中,类似组件或特征可具有相同参考标签。此外,可通过在参考标签后加破折号及区分类似组件的第二标签来区分相同类型的各种组件。当仅在说明书中使用第一参考标签时,描述可适用于具有相同第一参考标签的类似组件中的任一者,而无关于第二参考标签。
本文中所描述的信息及信号可使用多种不同科技及技术中的任一者来表示。例如,可贯穿上文描述引用的数据、指令、命令、信息、信号、位、符号及芯片可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合来表示。
结合本公开所描述的各种说明性块及模块可使用经设计以执行本文中所描述的功能的通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,所述处理器可为任何处理器、控制器、微控制器或状态机。处理器也可被实施为计算装置的组合(例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器或任何其它此配置)。
可在硬件、由处理器执行的软件、固件或其任何组合中实施本文中所描述的功能。如果在由处理器执行的软件中实施,那么可将功能作为一或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体传输。其它实例及实施方案是在本公开及所附权利要求书的范围内。例如,由于软件的性质,可使用由处理器执行的软件、硬件、固件、硬接线或这些中的任一者的组合来实施上文所描述的功能。实施功能的特征也可在物理上位于各种位置处,包含经分布使得在不同物理位置处实施功能的部分。而且,如本文中(包含在权利要求书中)所使用,如项目列表(例如,以例如“···中的至少一者”或“···中的一或多者”的短语开始的项目列表)中使用的“或”指示包含性列表,使得例如A、B或C中的至少一者的列表表示A或B或C或AB或AC或BC或ABC(即,A及B及C)。而且,如本文中所使用,短语“基于”不应被解释为对条件闭集的参考。例如,在不脱离本公开的范围的情况下,描述为“基于条件A”的实例性步骤可基于条件A及条件B两者。换句话说,如本文中所使用,短语“基于”应以与短语“至少部分地基于”相同的方式来解释。
计算机可读媒体包含非暂时性计算机存储媒体及通信媒体两者,所述通信媒体包含促进将计算机程序从一个地方转移到另一地方的任何媒体。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。通过实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、或可用于以指令或数据结构形式携带或存储所要程序代码且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。而且,任何连接适当地被称为计算机可读媒体。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远程源传输软件,那么媒体的定义中包含同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(例如红外线、无线电及微波)。本文中所使用的磁盘及光盘包含CD、激光光盘、光盘、数字多功能光盘(DVD)、软盘及蓝光盘,其中磁盘通常以磁性方式重现数据,而光盘则以激光光学方式重现数据。上述的组合也包含在计算机可读媒体的范围内。
提供本文描述以使所属领域的技术人员能够制成或使用本公开。所属领域的技术人员将明白对本公开的各种修改,且在不脱离本公开的范围的情况下,本文中所定义的通用原理可应用于其它变型。因此,本公开不限于本文中所描述的实例及设计,而是应符合与本文中所公开的原则及新颖特征一致的最广范围。
Claims (20)
1.一种设备,其包括:
存储器装置,其经配置以使用具有第一错误率的第一编程模式或具有高于所述第一错误率的第二错误率的第二编程模式进行操作;及
控制组件,其与所述存储器装置耦合且经配置以引起所述设备:
接收写入到所述存储器装置的数据;
至少部分地基于接收所述数据而确定使用所述第二编程模式来将所述数据写入到所述存储器装置;
至少部分地基于所述确定而使用所述第二编程模式来将所述数据的相应部分写入到所述存储器装置的多个存储器单元中的每个存储器单元;及
在将所述数据写入到所述多个存储器单元之后且至少部分地基于使用所述第二编程模式来写入所述数据,确定写入到所述存储器装置的所述数据是否满足错误阈值。
2.根据权利要求1所述的设备,其中:
所述第一编程模式使用具有第一电压电平及第一持续时间的第一脉冲来将逻辑状态写入到存储器单元且使用反馈信息来将个别逻辑状态存储在个别存储器单元中;且
所述第二编程模式使用具有高于所述第一电压电平的第二电压电平及长于所述第一持续时间的第二持续时间的第二脉冲来将所述逻辑状态写入到所述存储器单元且省略使用所述反馈信息来将所述个别逻辑状态存储在所述个别存储器单元中。
3.根据权利要求1所述的设备,其中所述控制组件进一步经配置以引起所述设备:
从所述设备外部的源接收包括使用所述第二编程模式来将所述数据写入到所述存储器装置的指示的写入命令。
4.根据权利要求1所述的设备,其中所述控制组件进一步经配置以引起所述设备:
至少部分地基于所述设备的配置而确定使用所述第二编程模式来将所述数据写入到所述存储器装置的所述多个存储器单元。
5.根据权利要求1所述的设备,其中所述控制组件进一步经配置以引起所述设备:
至少部分地基于确定使用所述第二编程模式来将所述数据写入到所述存储器装置而识别在第一时间写入到所述存储器装置的所述数据的第一子集;
在所述第一时间使用所述第二编程模式来将所述数据的所述第一子集写入到所述存储器装置;及
在写入所述数据的所述第一子集之后且至少部分地基于使用所述第二编程模式来写入所述数据的所述第一子集,确定写入到所述存储器装置的所述数据的所述第一子集是否满足所述错误阈值。
6.根据权利要求5所述的设备,其中所述设备进一步包括:
寄存器,其经配置以存储所述数据的所述第一子集的大小,其中写入所述第一子集至少部分地基于所述大小。
7.根据权利要求5所述的设备,其中所述控制组件进一步经配置以引起所述设备:
至少部分地基于确定写入到所述存储器装置的所述数据的所述第一子集未能满足所述错误阈值而确定使用所述第一编程模式来将所述数据的所述第一子集写入到所述存储器装置;及
至少部分地基于所述确定而使用所述第一编程模式来将所述数据的所述第一子集写入到所述存储器装置。
8.根据权利要求5所述的设备,其中所述控制组件进一步经配置以引起所述设备:
至少部分地基于确定写入到所述存储器装置的所述数据的所述第一子集满足所述错误阈值时而识别在所述第一时间之后的第二时间写入到所述存储器装置的所述数据的第二子集;
在所述第二时间使用所述第二编程模式来将所述数据的所述第二子集写入到所述存储器装置;及
在写入所述数据的所述第二子集之后且至少部分地基于使用所述第二编程模式来写入所述数据的所述第二子集,确定写入到所述存储器装置的所述数据的所述第二子集是否满足所述错误阈值。
9.根据权利要求1所述的设备,其中所述控制组件进一步经配置以引起所述设备:
至少部分地基于确定写入到所述存储器装置的所述多个存储器单元的所述数据满足所述错误阈值而终止将所述数据写入到所述存储器装置。
10.根据权利要求1所述的设备,其中所述控制组件进一步经配置以引起所述设备:至少部分地基于确定使用所述第二编程模式写入到所述存储器装置的所述数据未能满足所述错误阈值而确定使用所述第一编程模式来将所述数据的至少一部分写入到所述存储器装置;及
至少部分地基于所述确定而使用所述第一编程模式来将所述数据的所述至少所述部分写入到所述存储器装置。
11.根据权利要求1所述的设备,其中使用所述第一编程模式来将所述数据写入到所述存储器装置包括对在将所述数据写入到所述存储器装置时使用的每一存储器单元执行第一数据验证程序,且其中使用所述第二编程模式来将所述数据写入到所述存储器装置包括在将所述数据写入到所述多个存储器单元之后对所述多个存储器 单元执行第二数据验证程序。
12.根据权利要求1所述的设备,其中所述存储器装置包括与非NAND存储器装置。
13.根据权利要求1所述的设备,其中所述第二错误率至少部分地基于独立节点冗余阵列RAIN的故障率。
14.一种存储代码的非暂时性计算机可读媒体,其包括指令,所述指令在由电子装置的处理器执行时引起所述电子装置:
接收写入到存储器装置的数据,所述存储器装置经配置以使用具有第一错误率的第一编程模式或具有高于所述第一错误率的第二错误率的第二编程模式进行操作;至少部分地基于接收所述数据而确定使用所述第二编程模式来将所述数据写入到所述存储器装置;
至少部分地基于所述确定而使用所述第二编程模式来将所述数据的相应部分写入到所述存储器装置的多个存储器单元中的每个存储器单元;及
在将所述数据写入到所述多个存储器单元之后且至少部分地基于使用所述第二编程模式来写入所述数据,确定写入到所述存储器装置的所述数据是否满足错误阈值。
15.根据权利要求14所述的非暂时性计算机可读媒体,其中:
所述第一编程模式使用具有第一电压电平及第一持续时间的第一脉冲来将逻辑状态写入到存储器单元且使用反馈信息来将个别逻辑状态存储在个别存储器单元中;且
所述第二编程模式使用具有高于所述第一电压电平的第二电压电平及长于所述第一持续时间的第二持续时间的第二脉冲来将所述逻辑状态写入到所述存储器单元且省略使用所述反馈信息来将所述个别逻辑状态存储在所述个别存储器单元中。
16.根据权利要求14所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步引起所述电子装置:
从外部源接收包括使用所述第二编程模式来将所述数据写入到所述存储器装置的指示的写入命令。
17.根据权利要求14所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步引起所述电子装置:
至少部分地基于所述电子装置的配置而确定使用所述第二编程模式来将所述数据写入到所述存储器装置的所述多个存储器单元。
18.根据权利要求14所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步引起所述电子装置:
至少部分地基于确定使用所述第二编程模式来将所述数据写入到所述存储器装置而识别在第一时间写入到所述存储器装置的所述数据的第一子集;
在所述第一时间使用所述第二编程模式来将所述数据的所述第一子集写入到所述存储器装置;及
在写入所述数据的所述第一子集之后且至少部分地基于使用所述第二编程模式来写入所述数据的所述第一子集,确定写入到所述存储器装置的所述数据的所述第一子集是否满足所述错误阈值。
19.一种由存储器系统执行的方法,所述方法包括:
接收写入到存储器装置的数据,所述存储器装置经配置以使用具有第一错误率的第一编程模式或具有高于所述第一错误率的第二错误率的第二编程模式进行操作;至少部分地基于接收所述数据而确定使用所述第二编程模式来将所述数据写入到所述存储器装置;
至少部分地基于所述确定而使用所述第二编程模式来将所述数据的相应部分写入到所述存储器装置的多个存储器单元中的每个存储器单元;及
在将所述数据写入到所述多个存储器单元之后且至少部分地基于使用所述第二编程模式来写入所述数据,确定写入到所述存储器装置的所述数据是否满足错误阈值。
20.根据权利要求19所述的方法,其中:
所述第一编程模式使用具有第一电压电平及第一持续时间的第一脉冲来将逻辑状态写入到存储器单元且使用反馈信息来将个别逻辑状态存储在个别存储器单元中;且
所述第二编程模式使用具有高于所述第一电压电平的第二电压电平及长于所述第一持续时间的第二持续时间的第二脉冲来将所述逻辑状态写入到所述存储器单元且省略使用所述反馈信息来将所述个别逻辑状态存储在所述个别存储器单元中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/916,952 | 2020-06-30 | ||
US16/916,952 US11189359B1 (en) | 2020-06-30 | 2020-06-30 | Techniques for data programming |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113870933A CN113870933A (zh) | 2021-12-31 |
CN113870933B true CN113870933B (zh) | 2022-07-22 |
Family
ID=78767942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110710652.4A Active CN113870933B (zh) | 2020-06-30 | 2021-06-25 | 数据编程技术 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11189359B1 (zh) |
CN (1) | CN113870933B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918081B (zh) * | 2020-07-08 | 2024-03-26 | 慧荣科技股份有限公司 | 计算机可读取存储介质、配置可靠命令的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109427396A (zh) * | 2017-08-22 | 2019-03-05 | 桑迪士克科技有限责任公司 | 在非易失性存储器中确定快速编程字线 |
CN109947663A (zh) * | 2017-12-21 | 2019-06-28 | 西部数据技术公司 | 分布式编程操作 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101532584B1 (ko) * | 2009-01-30 | 2015-06-30 | 삼성전자주식회사 | 비휘발성 메모리 장치, 및 그의 프로그램 방법 |
KR101895605B1 (ko) * | 2011-11-21 | 2018-10-25 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
US9455014B1 (en) * | 2015-03-19 | 2016-09-27 | Qualcomm Incorporated | Adjusting resistive memory write driver strength based on write error rate (WER) to improve WER yield, and related methods and systems |
US10090044B2 (en) * | 2016-07-21 | 2018-10-02 | Sandisk Technologies Llc | System and method for burst programming directly to MLC memory |
-
2020
- 2020-06-30 US US16/916,952 patent/US11189359B1/en active Active
-
2021
- 2021-06-25 CN CN202110710652.4A patent/CN113870933B/zh active Active
- 2021-11-24 US US17/534,949 patent/US11682469B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109427396A (zh) * | 2017-08-22 | 2019-03-05 | 桑迪士克科技有限责任公司 | 在非易失性存储器中确定快速编程字线 |
CN109947663A (zh) * | 2017-12-21 | 2019-06-28 | 西部数据技术公司 | 分布式编程操作 |
Non-Patent Citations (1)
Title |
---|
WinCE系统中MLC型闪存的编程支持研究;张纪艳等;《计算机技术与发展》;20100210(第02期);第66-69,73页 * |
Also Published As
Publication number | Publication date |
---|---|
US11682469B2 (en) | 2023-06-20 |
CN113870933A (zh) | 2021-12-31 |
US11189359B1 (en) | 2021-11-30 |
US20220165349A1 (en) | 2022-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114400034A (zh) | 存储器装置的降压操作 | |
US11907556B2 (en) | Data relocation operation techniques | |
CN115497546A (zh) | 用于时间保留的读取性能技术 | |
CN114911416A (zh) | 用以检测功率损耗的易失性寄存器 | |
CN113870933B (zh) | 数据编程技术 | |
US20240004787A1 (en) | Techniques for suspend operations | |
US20220229574A1 (en) | Data migration techniques | |
US20230266909A1 (en) | Operating memory die based on temperature data | |
US11721398B2 (en) | Techniques for determining memory cell read offsets | |
US20230068324A1 (en) | Direct logical-to-physical address mapping | |
CN113764022B (zh) | 用于存储器系统的主机识别 | |
CN115705915A (zh) | 用于存储器系统的动态错误控制配置 | |
US11899938B2 (en) | Techniques to reduce write amplification | |
CN114627953A (zh) | 基于分层错误检测的存储器错误校正 | |
WO2022193272A1 (en) | Determining offsets for memory read operations | |
US11797385B2 (en) | Managing information protection schemes in memory systems | |
US11726863B2 (en) | Memory data correction using multiple error control operations | |
US11954336B2 (en) | Dynamic memory management operation | |
US11995345B2 (en) | Plane balancing in a memory system | |
US20240184596A1 (en) | Compressing firmware data | |
US20240061748A1 (en) | Memory recovery partitions | |
US20230359370A1 (en) | Distributed power up for a memory system | |
WO2024040569A1 (en) | Data handling during a reflow operation | |
US20240160386A1 (en) | Variable density storage device | |
CN115114075A (zh) | 冗余阵列管理技术 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |