CN113903387A - 减少多电平nand单元的编程验证 - Google Patents
减少多电平nand单元的编程验证 Download PDFInfo
- Publication number
- CN113903387A CN113903387A CN202110640905.5A CN202110640905A CN113903387A CN 113903387 A CN113903387 A CN 113903387A CN 202110640905 A CN202110640905 A CN 202110640905A CN 113903387 A CN113903387 A CN 113903387A
- Authority
- CN
- China
- Prior art keywords
- memory cells
- programming
- level
- memory
- program
- 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.)
- Pending
Links
Images
Classifications
-
- 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/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
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/5671—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 trapping in an insulator
-
- 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/08—Address circuits; Decoders; Word-line control 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/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/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/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
本公开涉及减少用于多电平NAND单元的编程验证。随时间推移,成功地编程多电平单元MLC所需的写入循环的数目减少。由于硬编码值在装置的使用寿命内不改变,因此所述装置可能在所述装置使用寿命的一个阶段执行过多的验证步骤,并且等待过长而无法在所述装置使用寿命的另一阶段开始验证,从而降低所述装置的性能。如本文中所论述,对较高电压电平编程的验证被延迟直到对较低电压电平编程的验证达到至少成功阈值电平为止,而不是使用硬编码数目的验证步骤来跳过。结果,可不出现与跳过硬编码数目的验证循环相关联的性能缺点。
Description
技术领域
本公开的实施例大体上涉及多电平NAND单元,且更确切地说,涉及跳过用于多电平NAND单元的编程验证电平。
背景技术
单电平单元(SLC)维持高于或低于阈值电压且存储一位信息。多电平单元(MLC)具有多个可能的电压范围。举例来说,具有四个可能状态的MLC可保持两位信息;而具有八个可能状态的MLC可保持四位信息。
为了设置MLC的值,施加写入电压。在施加写入电压之后,检查MLC的值,并且必要时,再次施加写入电压。此过程继续直到MLC达到所要电压为止。
发明内容
在一方面中,本公开提供一种系统,其包括:多电平单元(MLC)NAND快闪存储器阵列;以及存储器控制器,其耦合到MLC NAND快闪存储器阵列且被配置成对MLC NAND快闪存储器阵列执行编程操作,包括:在第一编程操作期间将第一编程电压施加到MLC NAND快闪存储器阵列的第一字线,字线形成阵列的第一组存储器单元的控制栅极;执行第一验证操作以确定包括响应于第一编程电压而成功地编程到第一电平的第一组存储器单元的第一量的第一编程有效性度量;以及基于第一编程有效性度量和预定阈值,确定是否执行第二验证操作以确定包括由第一编程电压成功地编程到第二电平的第一组存储器单元的第二量的第二编程有效性度量。
在另一方面中,本公开进一步提供一种存储指令的非暂时性机器可读媒体,所述指令在由系统执行时使系统执行包括以下项的操作:在第一编程操作期间将第一编程电压施加到MLC NAND快闪存储器阵列的第一字线,字线形成阵列的第一组存储器单元的控制栅极;执行第一验证操作以确定包括响应于第一编程电压而成功地编程到第一电平的第一组存储器单元的第一量的第一编程有效性度量;以及基于第一编程有效性度量和预定阈值,确定是否执行第二验证操作以确定包括由第一编程电压成功地编程到第二电平的第一组存储器单元的第二量的第二编程有效性度量。
在又另一方面中,本公开进一步提供一种方法,其包括:在第一编程操作期间将第一编程电压施加到MLC NAND快闪存储器阵列的第一字线,字线形成阵列的第一组存储器单元的控制栅极;执行第一验证操作以确定包括响应于第一编程电压而成功地编程到第一电平的第一组存储器单元的第一量的第一编程有效性度量;以及基于第一编程有效性度量和预定阈值,确定是否执行第二验证操作以确定包括由第一编程电压成功地编程到第二电平的第一组存储器单元的第二量的第二编程有效性度量。
附图说明
根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,图式不应视为将本公开限制于具体实施例,而是仅用于解释和理解。
图1是包含适于减少多电平NAND单元的编程验证的存储器装置的实例系统的框图。
图2说明三维(3D)NAND架构半导体存储器阵列的实例的示意图。
图3说明三维(3D)NAND架构半导体存储器阵列的实例的示意图。
图4说明存储器模块的实例框图。
图5是展示根据本公开的一些实施例的由电路在减少多电平NAND单元的编程验证中执行的方法的操作的流程图。
图6是展示根据本公开的一些实施例的由电路在减少多电平NAND单元的编程验证中执行的方法的操作的流程图。
图7是展示根据本公开的一些实施例的由电路在减少多电平NAND单元的编程验证中执行的方法的操作的流程图。
图8是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
例如N沟道金属氧化物半导体场效应晶体管(MOSFET)的典型晶体管具有恒定阈值电压。阈值电压是施加到允许电流从源极流动到漏极的晶体管的栅极的最小电压。因此,典型晶体管是控制装置,而不是存储装置。NAND单元包含电荷存储元件,所述电荷存储元件的电荷影响NAND单元的阈值电压。此类电荷存储元件可为例如电荷阱区或结构,选择性地将电荷存储在电介质材料中;或替代地,浮动栅极,通常选择性地将电荷存储在多晶硅结构中。所有以上电荷存储结构或区在本文中一般被称为“电荷存储元件”。因此,通过将电压施加到栅极且检测电流是否从源极流动到漏极,NAND单元可用作数据存储装置。
另外,电荷存储元件的多个不同电荷电平是可能的,从而允许多个数据位存储在单个NAND单元中。举例来说,在阈值电压为0V时,单元可保持00值;在阈值电压为0.5V时,单元可保持01值;在阈值电压为1.0V时,单元可保持10值;并且在阈值电压为1.5V时,单元可保持11值。
由于个别NAND单元中的物理差异,编程MLC的过程是迭代的。施加编程电压以从电荷存储元件添加或去除电荷。施加验证电压以确定经编程NAND单元的阈值电压。如果阈值电压对应于预期存储的值,则编程完成。否则,过程重复。以此方式,即使装置中的NAND单元具有不同物理特性,也可成功地编程每一NAND单元。
为了节省执行编程/验证循环的时间,可在无介入验证循环的情况下执行多个编程循环。如果跳过的验证步骤的数目高于最优,则将不立即确认成功编程,并且将执行比必要的编程步骤更多的编程步骤。如果跳过的验证步骤的数目低于最优,则将执行比必要的验证步骤更多的验证步骤。因此,跳过多少验证步骤的准确估计减少NAND装置的写入时间,从而改进性能。
估计要跳过的验证步骤的数目的一个方法为在制造时间表征装置。将表征估计硬编码到装置中,并且对于装置的寿命,在写入数据时跳过验证步骤的所述数目。然而,随时间推移,成功地编程MLC所需的写入循环的数目减少。由于硬编码值在装置的使用寿命内不改变,因此装置可能在装置使用寿命的一个阶段执行过多的验证步骤,并且等待过长而无法在装置使用寿命的另一阶段开始验证,从而减少装置的性能。
如本文中所论述,对较高电压电平编程(例如,1.0V)的验证被延迟,直到对较低电压电平编程(例如,0.5V)的验证达到至少成功阈值电平为止。由于经执行以达到成功阈值电平的编程/验证循环的数目是对装置的物理性能的测量,因此针对较高电压编程电平跳过的验证循环的数目将随着装置的特性改变而动态地变化。结果,不大可能出现与跳过硬编码数目的验证循环相关联的性能缺点。
图1提供包含存储器系统110(例如,SSD存储装置、SD/MMC卡等)的实例系统100的框图,所述存储器系统具有带有适于实施本文中所论述的写入验证优化技术的控制模块142的存储器控制器140。在实例中,控制模块142的功能性可实施在存储器控制器140的固件中的相应模块中。然而,应理解,控制器140可利用各种形式的软件、固件和硬件来实施控制模块142(例如,实施编程控制160的功能性)和本文中所论述的其它技术。
如所展示,存储器系统110包含具有多个裸片(裸片1-N)的NAND存储器装置130,其中每一裸片包含一或多个块(块1-N)。一或多个块中的每一个可包含进一步划分的部分,例如每块一或多个字线(未展示);并且取决于所述字线的存储器单元被配置成存储的数据状态的数目,一或多个字线中的每一个可进一步由每字线一或多个页(未展示)构成。
在实例中,存储器装置130的存储器单元的块包含以下各项中的至少一个的群组:单电平单元(SLC)、多层单元(MLC)、三层单元(TLC)或四层单元(QLC)NAND存储器单元。并且,在实例中,存储器装置130被布置成三维(3D)NAND裸片的堆叠。为简单起见,未在图1中说明存储器装置130的这些配置和其它详细组件。然而,存储器装置130可结合上文参考3DNAND架构装置或其它形式的NAND存储装置的特征描述的这些特征或任何特征。
在3D架构半导体存储器技术中,堆叠竖直结构,从而增加层次、物理页的数目,并且因此增加存储器装置(例如,存储装置)的密度。在实例中,存储器系统110可为主机装置120的离散存储器或存储装置组件。在其它实例中,存储器系统110可为与主机装置120的一或多个其它组件堆叠或以其它方式包含主机装置120的一或多个其它组件的集成电路(例如,芯片上系统(SOC)等)的一部分。
NAND架构半导体存储器阵列中的每一快闪存储器单元可编程到两个或更多个经编程状态。举例来说,SLC可表示两个经编程状态(例如,1或0)中的一个,表示一个数据位。快闪存储器单元也可表示多于两个经编程状态,从而允许制造较高密度的存储器而不增加存储器单元的数目,因为每一单元可表示多于一个二进制数字(例如,多于一个位)。此类单元可被称为多状态存储器单元、多数字单元或多电平单元(MLC)。在某些实例中,MLC可指可每单元存储两个数据位的存储器单元(例如,四个经编程状态中的一个),TLC可指可每单元存储三个数据位的存储器单元(例如,八个经编程状态中的一个),并且QLC可每单元存储四个数据位。在本文中在其更广泛上下文中使用MLC,以指代可每单元存储多于一个数据位的任何存储器单元(即,可表示多于两个经编程状态;因此,术语MLC在本文中在更广泛上下文中使用,以通用于每单元存储2、3、4或更多个数据位的存储器单元)。
存储器系统110展示为经由存储器装置的控制器140可操作地耦合到主机120。控制器140适于接收并处理主机IO命令125,例如读取操作、写入操作、擦除操作等,以读取、写入、擦除和管理存储在存储器装置130内的数据。在其它实例中,存储器控制器140可与个别存储器装置物理上分离,并且可接收并处理一或多个个别存储器装置的命令。为简单起见,还未描绘存储器系统110的多种其它组件(例如存储器管理器和其它电路系统或操作组件)以及控制器140。
控制器140描绘为包含存储器144(例如,易失性存储器)、处理电路系统146(例如,微处理器)和存储媒体148(例如,非易失性存储器),所述控制器用于执行指令(例如,由存储媒体148代管、加载到存储器144中,并且由处理电路系统146执行的指令)以实施控制模块142以用于管理和使用存储器装置130。由控制模块142提供的功能性可包含但不限于:IO操作监测150(例如,监测源自主机命令的读取和写入IO操作);主机操作处理155(例如,解译并处理主机IO命令125,并且发布其它命令到存储器阵列530以执行相应读取、写入、擦除或其它主机起始的操作);编程控制160(例如,控制对存储器装置130的相应编程验证操作185的时序、标准、条件和参数);编程电压控制170(例如,确立、设置和利用编程电压电平以对存储器装置130的特定部分进行编程);验证校准180(例如,操作校准程序以识别存储器装置130的一或多个特定部分的新的经编程电压电平);以及错误检测处理190(例如,从在读取操作中获得的数据识别并校正错误、识别特定读取操作或操作集合的一或多个原始位错误率(RBER)等)。
可使用一或多个通信接口在存储器系统110与主机装置120的一或多个其它组件之间传送主机命令125,所述通信接口例如串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口或一或多个其它连接器或接口。主机装置120可包含主机系统、电子装置、处理器、存储卡读卡器,或在存储器系统110外部的一或多个其它电子装置。在一些实例中,主机装置120可为具有参考图8的机器800论述的组件的某一部分或全部的机器。
在实例中,主机操作处理155用于解译并处理主机IO命令125(例如,读取和写入命令)且起始控制器140和存储器装置130中的伴随命令以实现主机IO命令125。此外,主机操作处理155可响应于主机IO命令125、IO操作监测150和错误检测处理190而协调编程控制160的时序、条件和参数。
在一些实例实施例中,IO操作监测150用于跟踪由主机IO命令起始的对存储器装置130的读取和写入。IO操作监测150还用于跟踪伴随的IO操作和状态,例如主机IO活动或非活动状态(例如,其中活动状态对应于控制器140和存储器装置130主动地执行读取或写入从主机120起始的IO操作的状态,并且其中非活动状态对应于不存在执行从主机120起始的此类IO操作)。IO操作监测150还可结合如本文中所论述的确定编程控制160的参数来监测从主机120起始的IO操作而出现的电压电平和读取错误率。
编程控制160可尤其包含被配置成控制与以下操作相关联的存储器操作的电路系统或组件(硬件和/或软件):向耦合到存储器控制器140的存储器装置130的一或多个存储器单元写入数据、从所述存储器单元读取数据或擦除所述存储器单元。在实例中,编程控制160用于识别存储器装置130和控制器140中的参数以用于调度和进行编程验证操作185,例如基于IO条件(例如,由IO操作监测150指示)或错误条件(例如,由错误检测处理190指示)。编程控制160进一步用于经由同步或异步事件处理基于这些或其它参数而起始和执行编程验证操作185。
在一些实例实施例中,编程电压控制170用于确立、改变和提供用于对存储器的特定区域(例如存储器装置130中的相应块)进行编程的电压值。举例来说,编程电压控制170可实施各种正或负偏移以便对包含相应存储器单元的相应存储器单元和存储器位置(例如,页、块、裸片)进行编程。
在实例中,验证校准180用于确立(例如,改变、更新、重新设置等)验证操作是否应在编程操作之后执行。验证校准180可基于在较低电压电平下成功地编程的NAND存储器装置130中的位的数目或百分比而实施。
在一些实例实施例中,错误检测处理190可检测可恢复错误条件(例如,RBER值或RBER趋势)、不可恢复错误条件,或存储器单元、单元群组或存储器阵列的较大区域的其它测量结果或错误条件(例如,来自块、块群组、裸片、裸片群组等的平均值或样本)。
另外,在由编程控制160进行的读取扫描中执行的采样和读取操作可允许例如来自以下各项的规范(例如,所确定设置或计算)的配置:经编程的数据(例如,对应于页、块、块群组、裸片的数据)的大小;经编程的全部的页的数目;经编程的块内的页的数目;某些单元、页、块、裸片或某些类型的此类单元、页、块、裸片是否经编程等。同样地,编程控制160可控制或允许以下各项的配置:在第一验证循环之前执行的编程循环的数目、在验证循环之间执行的编程循环的数目、在下一电平验证开始之前每一电平处的将成功地编程的位的数目。
除本文中所论述的技术之外,还可由控制器140中的控制模块142实施其它类型的维持操作。此类操作可包含垃圾收集或回收、耗损均衡、块管理和在存储器装置130上执行的其它形式的背景活动。可在由IO操作监测150检测到的空闲状态期间(例如紧接在读取扫描操作之后或与读取扫描操作同时)触发此类背景活动。
编程控制160可包含错误校正码(ECC)组件,所述ECC组件可尤其包含ECC引擎、或被配置成检测或校正与向耦合到存储器控制器140的存储器装置130的一或多个存储器单元写入数据或从中读取数据相关联的错误的其它电路系统。存储器控制器140可被配置成有效地检测且从与各种操作或数据存储相关联的错误出现(例如,位错误、操作错误等)恢复,同时维持在主机装置120与存储器系统110之间传送的数据的完整性、或维持所存储数据的完整性(例如,使用冗余RAID存储等),并且可去除(例如,退除)发生故障的存储器资源(例如,存储器单元、存储器阵列、页、块等)以防止未来错误。
存储器装置130可包含布置在例如多个装置、平面、子块、块或页中的若干存储器单元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548个块,以及每装置4个或更多个平面。作为另一实例,32GB MLC存储器装置(每单元存储两个数据位(即,4个可编程状态))可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1024页、每平面548个块,以及每装置4个平面,但与对应TLC存储器装置相比所需的写入时间为一半且编程/擦除(P/E)循环为两倍。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其部分可在SLC模式中或在所要MLC模式(例如TLC、QLC等)中选择性地操作。
在操作中,数据通常以页写入到存储器系统110或从所述存储器系统读取,并且以块擦除。然而,可视需要对存储器单元的更大或更小群组执行一或多个存储器操作(例如,读取、写入、擦除等)。NAND存储器系统110的数据传送大小通常被称为页;而主机的数据传送大小通常被称为扇区。
虽然数据页可包含多个字节的用户数据(例如,包含多个数据扇区的数据有效负载)以及其对应的元数据,但页的大小经常仅指代用于存储用户数据的字节的数目。作为实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,假定512B的扇区大小的8个扇区)以及对应于用户数据的多个字节(例如32B、54B、224B等)的元数据,例如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等),或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器装置130可提供不同页大小,或可需要与其相关联的不同量的元数据。例如,不同存储器装置类型可具有不同位错误率,其可导致必需要不同量的元数据来确保数据页的完整性(例如,具有较高位错误率的存储器装置可能需要比具有较低位错误率的存储器装置更多字节的错误校正码数据)。作为实例,多电平单元(MLC)NAND快闪装置可具有与对应的单电平单元(SLC)NAND快闪装置相比更高的位错误率。因而,MLC装置可需要比对应SLC装置更多的用于错误数据的元数据字节。
图2说明包含多个存储器单元串(例如,第一到第三A0存储器串205A0-207A0,第一到第三An存储器串205An-207An,第一到第三B0存储器串205B0-207B0,第一到第三Bn存储器串205Bn-207Bn等)的3D NAND架构半导体存储器阵列200的实例示意图,所述存储器单元串组织成块(例如,块A 201A、块B 201B等)和子块(例如,子块A0 201A0、子块An 201An、子块B0201B0、子块Bn 201Bn等)。存储器阵列200表示在存储器装置的块、装置或其它单元中通常将找到的较大数目的类似结构的一部分。
每一存储器单元串包含多个层次的电荷存储晶体管(例如,浮动栅极晶体管、电荷捕集结构等),所述电荷存储晶体管在Z方向上以源极到漏极方式堆叠在源极线(SRC)235或源极侧选择栅极(SGS)(例如,第一到第三A0 SGS 231A0-233A0、第一到第三An SGS 231An-233An、第一到第三B0 SGS 231B0-233B0、第一到第三Bn SGS 231Bn-233Bn等)与漏极侧选择栅极(SGD)(例如,第一到第三A0 SGD 226A0-228A0、第一到第三An SGD 226An-228An、第一到第三B0 SGD 226B0-228B0、第一到第三Bn SGD 226Bn-228Bn等)之间。3D存储器阵列中的每一存储器单元串可沿着X方向布置为数据线(例如,位线(BL)BL0 220到BL2 222),并且沿着Y方向布置为物理页。
在物理页内,每一层次表示一存储器单元行,并且每一存储器单元串表示一列。子块可包含一或多个物理页。块可包含多个子块(或物理页)(例如128个、256个、384个等)。虽然本文中说明为具有两个块,每一块具有两个子块,每一子块具有单个物理页,每一物理页具有三个存储器单元串,并且每一串具有8层存储器单元,但在其它实例中,存储器阵列200可包含更多或更少的块、子块、物理页、存储器单元串、存储器单元或层次。举例来说,每一存储器单元串视需要可包含更多或更少的层次(例如,16、32、64、128等),以及电荷存储晶体管(例如,选择栅极、数据线等)上方或下方的半导体材料的一或多个额外层次。作为实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548个块,以及每装置4个或更多个平面。
存储器阵列200中的每一存储器单元包含耦合到(例如,电气地或以其它方式可操作地连接到)存取线(例如,字线(WL)WL00 210A到WL70 217A、WL01 210B到WL71 217B等)的控制栅极(CG),所述存取线视需要跨越具体层次或层次的一部分共同地耦合控制栅极(CG)。可使用相应存取线来存取或控制3D存储器阵列中的具体层次,并且因此存取或控制串中的具体存储器单元。可使用各种选择线来存取选择栅极群组。举例来说,可使用A0 SGD线SGDA0 225A0来存取第一到第三A0 SGD 226A0-228A0,可使用An SGD线SGDAn 225An来存取第一到第三An SGD 226An-228An,可使用B0 SGD线SGDB0 225B0来存取第一到第三B0 SGD226B0-228B0,并且可使用Bn SGD线SGDBn 225Bn来存取第一到第三Bn SGD 226Bn-228Bn。可使用栅极选择线SGS0 230A来存取第一到第三A0 SGS 231A0-233A0和第一到第三An SGS231An-233An,并且可使用栅极选择线SGS1 230B来存取第一到第三B0 SGS 231B0-233B0和第一到第三Bn SGS 231Bn-233Bn。
在实例中,存储器阵列200可包含多个电平的半导体材料(例如,多晶硅等),其被配置成耦合阵列的相应层次的每一存储器单元的控制栅极(CG)或选择栅极(或CG或选择栅极的一部分)。可使用位线(BL)和选择栅极等的组合来存取、选择或控制阵列中的具体存储器单元串,并且可使用一或多个存取线(例如,字线)来存取、选择或控制具体串中的一或多个层次处的具体存储器单元。
图3说明包含布置在串(例如,第一到第三串305-307)和层次(例如,说明为相应字线(WL)WL0 310到WL7 317、漏极侧选择栅极(SGD)线325、源极侧选择栅极(SGS)线330等)的二维阵列中的多个存储器单元302以及感测放大器或装置360的NAND架构半导体存储器阵列300的一部分的实例示意图。举例来说,存储器阵列300可说明例如图2中所说明的3DNAND架构半导体存储器装置的存储器单元的一个物理页的一部分的实例示意图。
每一存储器单元串使用相应源极侧选择栅极(SGS)(例如,第一到第三SGS 331-333)耦合到源极线(SRC),并且使用相应漏极侧选择栅极(SGD)(例如,第一到第三SGD 326-328)耦合到相应数据线(例如,第一到第三位线(BL)BL0 320到BL2 322)。虽然在图3的实例中说明为具有8个层次(例如,使用字线(WL)WL0 310到WL7 317)和三个数据线(BL0 326到BL2 328),但其它实例视需要可包含具有更多或更少层次或数据线的存储器单元串。
在例如实例存储器阵列300的NAND架构半导体存储器阵列中,可通过感测与含有所选择存储器单元的特定数据线相关联的电流或电压变化来存取所选择存储器单元302的状态。可使用一或多个驱动器(例如,由控制电路、一或多个处理器、数字逻辑等)来存取存储器阵列300。在实例中,取决于将对具体存储器单元或存储器单元集执行的所要操作的类型,一或多个驱动器可通过将特定电势驱动到一或多个数据线(例如,位线BL0-BL2)、存取线(例如,字线WL0-WL7)或选择栅极来激活具体存储器单元或存储器单元集。
为了将数据编程或写入到存储器单元,可将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到所选择字线(例如,WL4),并且因此施加到耦合到所选择字线的每一存储器单元的控制栅极(例如,耦合到WL4的存储器单元的第一到第三控制栅极(CG)341-343)。举例来说,编程脉冲可在15V处或附近开始,并且在某些实例中,可在每一编程脉冲施加期间在幅值上增大。在编程电压施加到所选择字线时,例如接地电势(例如,Vss)等电势可施加到数据线(例如,位线)和作为编程的目标的存储器单元的衬底(以及因此,源极与漏极之间的沟道),从而导致从沟道到目标存储器单元的电荷存储元件的电荷转移(例如,直接注入或佛勒-诺特海姆(Fowler-Nordheim,FN)隧穿等)。
相比而言,传递电压(Vpass)可施加到具有并非作为编程的目标的存储器单元的一或多个字线,或抑制电压(例如,Vcc)可施加到具有并非作为编程的目标的存储器单元的数据线(例如,位线),以例如抑制电荷从沟道转移到此类非目标存储器单元的电荷存储元件。传递电压可例如取决于所施加传递电压与作为编程的目标的字线的接近度而变化。抑制电压可包含电源电压(Vcc),例如相对于接地电势(例如,Vss)来自外部源或电源(例如,电池、AC到DC转换器等)的电压。
作为实例,如果编程电压(例如,15V或更高)施加到具体字线,例如WL4,则10V的传递电压可施加到一或多个其它字线,例如WL3、WL5等,以抑制非目标存储器单元的编程,或保留存储在并不以编程为目标的此类存储器单元上的值。随着所施加编程电压与非目标存储器单元之间的距离增加,避免对非目标存储器单元进行编程所需的传递电压可减小。举例来说,在15V的编程电压施加到WL4的情况下,10V的传递电压可施加到WL3和WL5,8V的传递电压可施加到WL2和WL6,7V的传递电压可施加到WL1和WL7等。在其它实例中,传递电压或字线的数目等可更高或更低,或更多或更少。
耦合到数据线中的一或多个(例如,第一、第二或第三位线(BL0-BL2)320-322)的感测放大器360可通过感测特定数据线上的电压或电流来检测相应数据线中的每一存储器单元的状态。
在一或多个编程脉冲(例如,Vpgm)的施加之间,可执行验证操作以确定所选择存储器单元是否已达到其预期的经编程状态。如果所选择存储器单元已达到其预期的经编程状态,则可抑制其进一步编程。如果所选择存储器单元尚未达到其预期的经编程状态,则可施加额外编程脉冲。如果所选择存储器单元在特定数目的编程脉冲(例如,最大数目)之后尚未达到其预期的经编程状态,则可将所选择存储器单元或与此类所选择存储器单元相关联的串、块或页标记为有缺陷的。
验证操作通过以下操作来执行:将验证电压施加到正验证的每一晶体管的控制栅极,将偏置电压施加到源极线335,并且将感测电流(例如,3μA)提供到位线320-322中的每一个。结果,每一晶体管的栅极到源极电压Vgs等于验证电压减去偏置电压,并且将仅在晶体管的阈值电压Vt小于或等于Vgs时才接通或传导电流。验证电压和偏置电压应使得Vgs至少等于所要阈值电压。确定任何电流是否流过NAND串指示所有晶体管是否已经恰当地编程,即,每一晶体管具有大于或等于所要阈值电压的阈值电压。
图4说明存储器装置400的实例框图,所述存储器装置包含具有多个存储器单元404的存储器阵列402,以及一或多个电路或组件以提供与存储器阵列402的通信或在所述存储器阵列上执行一或多个存储器操作。存储器装置400可包含行解码器412、列解码器414、感测放大器420、页缓冲器422、选择器424、输入/输出(I/O)电路426和存储器控制单元430。
存储器阵列402的存储器单元404可布置在块中,例如第一块402A和第二块402B。每一块可包含子块。举例来说,第一块402A可包含第一子块402A0和第二子块402An,并且第二块402B可包含第一子块402B0和第二子块402Bn。每一子块可包含多个物理页,每一页包含多个存储器单元404。虽然在本文中说明为具有两个块,每一块具有两个子块,并且每一子块具有多个存储器单元404,但在其它实例中,存储器阵列402可包含更多或更少的块、子块、存储器单元等。在其它实例中,存储器单元404可布置在多个行、列、页、子块、块等中,并且使用例如存取线406、第一数据线410或一或多个选择栅极、源极线等进行存取。
存储器控制单元430可根据在控制线432上接收到的一或多个信号或指令控制存储器装置400的存储器操作,所述一或多个信号或指令包含例如指示所要操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或在一或多个地址线416上接收到的地址信号(A0-AX)。在存储器装置400外部的一或多个装置可控制控制线432上的控制信号或地址线416上的地址信号的值。在存储器装置400外部的装置的实例可包含但不限于主机、存储器控制器、处理器或图4中未说明的一或多个电路或组件。
存储器装置400可使用存取线406和第一数据线410来向(例如,写入或擦除)或从(例如,读取)存储器单元404中的一或多个传送数据。行解码器412和列解码器414可接收和解码来自地址线416的地址信号(A0-AX),可确定将存取哪些存储器单元404,并且可将信号提供到例如上文描述的存取线406(例如,多个字线(WL0-WLm)中的一或多个)或第一数据线410(例如,多个位线(BL0-BLn)中的一或多个)中的一或多个。
存储器装置400可包含例如感测放大器420的感测电路系统,其被配置成使用第一数据线410来确定(例如,读取)存储器单元404上的数据的值,或确定待写入到所述存储器单元的数据的值。举例来说,在存储器单元404的所选择串中,感测放大器420中的一或多个可响应于读取电流在存储器阵列402中通过所选择串流动到数据线410而读取所选择存储器单元404中的逻辑电平。
在存储器装置400外部的一或多个装置可使用I/O线(DQ0-DQN)408、地址线416(A0-AX)或控制线432来与存储器装置400通信。输入/输出(I/O)电路426可根据例如控制线432和地址线416使用I/O线408来将数据值传送到存储器装置400中或从其中传送数据值,例如将数据值传送到页缓冲器422或存储器阵列402中或从其中传送数据值。页缓冲器422可在数据编程到存储器阵列402的相关部分中之前存储从存储器装置400外部的一或多个装置接收到的数据,或可在数据发射到存储器装置400外部的一或多个装置之前存储从存储器阵列402读取的数据。
列解码器414可接收地址信号(A0-AX)且将其解码为一或多个列选择信号(CSEL1-CSELn)。选择器424(例如,选择电路)可接收列选择信号(CSEL1-CSELn)且选择页缓冲器422中表示将从存储器单元404读取或将编程到所述存储器单元中的数据值的数据。可使用第二数据线418在页缓冲器422与I/O电路426之间传送所选择数据。
存储器控制单元430可从外部源或电源(例如,内部或外部电池、AC到DC转换器等)接收正和负电源信号,例如电源电压(Vcc)434和负电源(Vss)436(例如,接地电势)。在某些实例中,存储器控制单元430可包含调节器428以内部地提供正或负电源信号。
图5是展示根据本公开的一些实施例的由电路在减少多电平NAND单元的编程验证中执行的方法500的操作的流程图。方法500包含操作510、520、530、540和550。借助于实例而非限制,方法500描述为由图1-4的装置执行。
在操作510中,编程控制160将编程电压施加到MLC快闪存储器的字线(例如,图3的字线317),所述字线形成阵列的第一组存储器单元的控制栅极。如上文相对于图3所论述,在编程电压(例如,15V)施加到所选择字线时,例如接地电势等电势可施加到位线和作为编程的目标的存储器单元的衬底(以及因此,源极与漏极之间的沟道),从而导致从沟道到目标存储器单元的电荷存储元件的电荷转移。同时,传递电压或抑制电压(例如,等于编程电压的电压)可施加到具有并不以编程为目标的存储器单元的位线,以抑制电荷从沟道转移到此类非目标存储器单元的电荷存储元件。
在操作520中,编程控制160执行第一验证操作以确定包括由第一编程电压成功地编程到第一电平的第一组单元的第一量的第一编程有效性度量。举例来说,可针对第一电平执行编程验证操作185,测试以查看每一经编程晶体管的阈值电压是否已升高到至少第一电平。在编程的每一迭代中,很可能仅对耦合到字线的存储器单元的子集进行编程。编程验证操作185确定已在当前和先前迭代上成功地编程的存储器单元的量(例如,存储器单元的数目或存储器单元的百分比)。一旦位已成功地编程,则从存储器单元的集合中去除那些存储器单元以在进一步迭代中编程。因此,成功地编程的晶体管的阈值电压将不受稍后编程遍次的影响。
在操作530中,编程控制160确定第一编程有效性度量是否满足预定阈值(例如,是否将编程到第一电平的第一组存储器单元的至少30%已成功编程)。可从控制器140内的非易失性存储装置(例如,存储媒体148的非易失性部分)存取预定阈值,所述非易失性存储装置在存储器系统110的通电之前(例如,在生产期间)编程。替代地,预定阈值可已经由总线从主机120接收且存储在易失性存储器(例如,存储器144的易失性部分)中以供编程控制160存取。
如果满足阈值,则方法500继续操作540,并且编程控制160针对第二电平执行编程验证操作。举例来说,如果至少阈值量的第一存储器单元成功地编程到第一电平,则编程验证操作185确定已成功地编程到第二电平的第一存储器单元的量。在替代方案中,基于第一量和预定阈值,编程控制160跳过针对第二电平的编程验证操作且返回到操作510。举例来说,如果小于阈值量的第一存储器单元成功地编程到第一电平,则不执行操作540。因此,如果成功地编程到第一电平的存储器单元的量低于阈值,则跳过验证编程到第二电平的步骤,与在每一编程迭代之后在所有电平处执行编程验证操作的方法相比,节省了时间。
借助于其中编程控制160确定编程是否完成的操作550,重复方法500直到所有MLC成功地编程到预期电平为止。“第一电平”和“第二电平”的含义可在迭代之间改变。举例来说,一旦编程到第一电平的所有单元已成功地编程到所述电平,就不需要对原始“第一电平”的进一步验证。在后续迭代时,在操作520中验证第二电平,并且在操作530和540中有条件地验证第三电平。以此方式,跳过不需要的验证步骤(例如验证已100%验证的位的集合),从而减少用于写入MLC的线的时间。
如上文所描述,方法500由控制器140的编程控制160执行,所述编程控制控制存储器系统110内的存储器装置130。替代地,方法500可由存储器装置400内的存储器控制单元430执行,所述存储器控制单元与存储器控制器(例如,控制器140)通信。
图6是展示根据本公开的一些实施例的由电路在减少多电平NAND单元的编程验证中执行的方法600的操作的流程图。方法600包含操作540、610、620和550。借助于实例而非限制,方法600描述为由图1-4的装置执行。
如上文所论述,方法500可在操作510-550重复直到所有电平经成功编程的情况下迭代地执行。在一些实例实施例中,操作610和620插入在操作540与550之间。
在操作610中,编程控制160将在操作520中确定的第一编程有效性度量与第二阈值进行比较。如果满足第二阈值,则编程电压在操作620中增加。否则,方法600继续进行操作550。
以此方式,对编程到第二电平的验证(在操作540中)被延迟,直到线路的至少第一预定阈值成功地编程到第一电平为止,并且在单元群组的至少第二预定阈值(例如,50%、60%、70%、80%或90%)成功地编程到第一电平时,编程电压增加。增加编程电压会提高将单元编程到较高电压电平的几率,但也存在过编程单元以致编程到较低电压电平的风险。通过在升高编程电压之前等待直到至少第二阈值量的单元已成功地编程到第一电平(且因此针对未来迭代中的编程而偏置),过编程的风险减小,从而减小错误率。通过不等待直到100%的单元已成功地编程到第一电平,完成编程所需的迭代数目减少,从而改进响应性。
如上文所描述,方法600由控制器140的编程控制160执行,所述编程控制控制存储器系统110内的存储器装置130。替代地,方法600可由存储器装置400内的存储器控制单元430执行,所述存储器控制单元与存储器控制器(例如,控制器140)通信。
图7是展示根据本公开的一些实施例的由电路在减少多电平NAND单元的编程验证中执行的方法700的操作的流程图。方法700包含操作710、720、730、740、750、760和770。借助于实例而非限制,方法700描述为由图1-4的装置执行。
在操作710中将PVSTOP变量初始化到1。此变量稍后在方法700中控制验证步骤。
在操作720中,编程控制160将编程电压施加到MLC快闪存储器的字线(例如,图3的字线317),所述字线形成阵列的第一组存储器单元的控制栅极。如上文相对于图3所论述,在编程电压(例如,15V)施加到所选择字线时,例如接地电势等电势可施加到位线和作为编程的目标的存储器单元的衬底(以及因此,源极与漏极之间的沟道),从而导致从沟道到目标存储器单元的电荷存储元件的电荷转移。同时,传递电压或抑制电压(例如,等于编程电压的电压)可施加到具有并不以编程为目标的存储器单元的位线,以抑制电荷从沟道转移到此类非目标存储器单元的电荷存储元件。
在操作730中,编程控制160验证成功地编程到PVSTOP的电平和低于PVSTOP的电平的单元群组的量。因此,在第一次迭代中,编程控制160仅验证通过编程电压成功地编程到第一电平的单元群组的第一量。在其中PVSTOP=LMAX的迭代中,确定单元群组的MLC的电平的最大数目、成功地编程到每一电平的单元群组的量。
如果在操作740中,PVSTOP等于LMAX(即,如果针对所有电平执行验证)且已验证所有电平处的编程,则完成编程且方法700结束。否则,方法700继续进行操作750。
如果在操作750中PVSTOP已等于LMAX,则下一次迭代开始且方法700返回到操作720。否则,方法700继续进行操作760。
在操作760中,如果未满足PVSTOP电平的停止标准,则下一电平处的几个单元将成功地编程,并且下一次迭代(在操作720处)开始而不改变PVSTOP。然而,如果已满足PVSTOP电平的停止标准,则编程控制160在开始下一次迭代之前增加PVSTOP(操作770)。在此情况下,由于已增加了PVSTOP,因此操作730将试图在下一次迭代期间验证较高编程电平。
如上文所描述,方法700由控制器140的编程控制160执行,所述编程控制控制存储器系统110内的存储器装置130。替代地,方法700可由存储器装置400内的存储器控制单元430执行,所述存储器控制单元与存储器控制器(例如,控制器140)通信。
图8说明其上可执行本文中所论述的技术(例如,方法)中的任何一或多个的实例机器800的框图。如本文中所描述,实例可包含机器800中的逻辑或多个组件或机制,或可由其操作。电路(例如,处理电路系统)是在机器800的有形实体中实施的电路集合,其包含硬件(例如,简单电路、栅极、逻辑等)。电路成员资格可随时间推移而变得灵活。电路包含可在操作时单独或以组合形式执行指定操作的部件。在实例中,电路系统的硬件可被永恒地设计成执行具体操作(例如,硬连线)。在实例中,电路系统的硬件可包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式修改(例如,不变集中式粒子的磁性、电气可移动放置等)以对具体操作的指令进行编码的机器可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变为导体或反之亦然。指令使嵌入式硬件(例如,执行单元或加载机构)能够经由可变连接产生硬件中的电路系统的部件以在处于操作中时实行具体操作的部分。因此,在实例中,机器可读媒体元件是电路系统的一部分或在装置操作时通信地耦合到电路系统的其它组件。在实例中,物理组件中的任一个可在多于一个电路系统中的多于一个部件中使用。举例来说,在操作下,执行单元可在一个时间点在第一电路系统的第一电路中使用,并且由第一电路系统中的第二电路重新使用,或在不同时间由第二电路系统中的第三电路重新使用。下面是关于机器800的这些组件的额外实例。
在替代实施例中,机器800可操作为独立装置,或可连接(例如,联网)到其它机器。在联网部署中,机器800可在服务器-客户端网络环境中作为服务器机器、客户端机器或这两者操作。在实例中,机器800可充当对等式(P2P)(或其它分布式)网络环境中的对等机器。机器800可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅说明单个机器,但术语“机器”也应被视为包含个别地或共同地执行指令集(或多个指令集)以执行本文中所论述的方法中的任何一或多个(例如,云计算、软件即服务(SaaS)、其它计算机集群配置)的任何机器集合。
机器(例如,计算机系统)800可包含硬件处理器802(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合)、主存储器804、静态存储器(例如,固件、微码的存储器或存储装置、基本输入输出(BIOS)、统一可扩展固件接口(UEFI)等)806,以及大容量存储装置808(例如,硬盘驱动器、磁带驱动器、快闪存储装置或其它块装置),其中的一些或全部可经由互联件(例如,总线)830彼此通信。机器800可进一步包含显示单元810、字母数字输入装置812(例如,键盘)和用户接口(UI)导览装置814(例如,鼠标)。在实例中,显示单元810、输入装置812和UI导览装置814可为触摸屏显示器。机器800可另外包含存储装置(例如,驱动单元)808、信号产生装置818(例如,扬声器)、网络接口装置820,以及一或多个传感器816,例如全球定位系统(GPS)传感器、罗盘、加速计或其它传感器。机器800可包含输出控制器828,例如串行(例如,USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
处理器802、主存储器804、静态存储器806或大容量存储装置808的寄存器可为或包含机器可读媒体822,在其上存储一或多组数据结构或指令824(例如,软件),体现本文中所描述的技术或功能中的任何一或多个或被其利用。指令824还可在其由机器800执行期间完全或至少部分驻留在处理器802、主存储器804、静态存储器806或大容量存储装置808的寄存器中的任一个内。在实例中,硬件处理器802、主存储器804、静态存储器806或大容量存储装置808中的一个或任何组合可构成机器可读媒体822。虽然机器可读媒体822说明为单个媒体,但术语“机器可读媒体”可包含被配置成存储一或多个指令824的单个媒体或多个媒体(例如,集中式或分布式数据库,和/或相关联的高速缓冲存储器和服务器)。
机器可读媒体822可实施为图1的存储媒体148或图4的存储器控制单元430的组件。
术语“机器可读媒体”可包含能够存储、编码或载送用于由机器800执行且使机器800执行本公开的技术中的任何一或多个的指令,或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可包含固态存储器、光学媒体、磁性媒体和信号(例如,射频信号、其它基于光子的信号、声音信号等)。在实例中,非暂时性机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变式(例如,静止)质量,并且因此是物质的组成。因此,非暂时性机器可读媒体是不包含暂时性传播信号的机器可读媒体。非暂时性机器可读媒体的具体实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可移式盘;磁光盘;以及CD-ROM和DVD-ROM盘。
在实例中,存储或以其它方式提供在机器可读媒体822上的信息可表示指令824,例如指令824本身或可从其导出指令824的格式。可从其导出指令824的此格式可包含源代码、经编码指令(例如,呈压缩或加密形式)、经封包指令(例如,拆分成多个包)等。表示机器可读媒体822中的指令824的信息可由处理电路系统处理到指令中以实施本文中所论述的操作中的任一个。举例来说,从信息(例如,通过处理电路系统处理)导出指令824可包含:编译(例如,从源代码、目标代码等)、解译、加载、组织(例如,动态地或静态地链接)、编码、解码、加密、解密、封包、解封包或以其它方式将信息操纵到指令824中。
在实例中,指令824的导出可包含对信息的组装、编译或解译(例如,通过处理电路系统)以从由机器可读媒体822提供的一些中间或预处理格式产生指令824。在提供在多个部分中时,可组合、解封包和修改信息以产生指令824。举例来说,信息可在一个或若干个远程服务器上的多个经压缩源代码包(或目标代码,或二进制可执行代码等)中。源代码包可在通过网络发射时被加密,并且在必要时被解密、解压缩、组装(例如,链接),并且在本地机器上被编译或解译(例如,到库、独立可执行文件等中),并且由本地机器执行。
可进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(IP)、发射控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置820使用发射媒体在通信网络826上发射或接收指令824。实例通信网络可尤其包含局域网(LAN)、广域网(WAN)、包数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络,以及无线数据网络(例如,电气和电子工程师协会(IEEE)802.11系列标准,称作IEEE 802.16系列标准,称作)、IEEE 802.15.4系列标准、对等式(P2P)网络等。在实例中,网络接口装置820可包含一或多个物理插孔(例如,以太网、同轴或电话插孔)或一或多个天线以连接到通信网络826。在实例中,网络接口装置820可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一个无线地通信。术语“发射媒体”应视为包含能够存储、编码或载送指令以由机器800执行的任何无形媒体,并且包含数字或模拟通信信号或其它无形媒体以促进此类软件的通信。发射媒体是机器可读媒体。
在前述说明书中,已描述本公开的一些实例实施方案。因此,应在说明性意义上而不是限制性意义上看待说明书和图式。下文为本公开的实施方案的实例的非穷尽性列表。
实例1.一种系统,其包括:
多电平单元(MLC)NAND快闪存储器阵列;以及
存储器控制器,其耦合到所述MLC NAND快闪存储器阵列且被配置成对所述MLCNAND快闪存储器阵列执行编程操作,包括:
在第一编程操作期间将第一编程电压施加到所述MLC NAND快闪存储器阵列的第一字线,所述字线形成所述阵列的第一组存储器单元的控制栅极;
执行第一验证操作以确定包括响应于所述第一编程电压而成功地编程到第一电平的所述第一组存储器单元的第一量的第一编程有效性度量;以及
基于所述第一编程有效性度量和预定阈值,确定是否执行第二验证操作以确定包括由所述第一编程电压成功地编程到第二电平的所述第一组存储器单元的第二量的第二编程有效性度量。
实例2.根据实例1所述的系统,其中所述操作进一步包括:
执行所述第二验证操作以确定所述第二编程有效性度量;以及
基于所述第二编程有效性度量和所述预定阈值,确定是否执行第三验证操作以确定包括由所述第一编程电压成功地编程到第三电平的所述第一组存储器单元的第三量的第三编程有效性度量。
实例3.根据实例1或实例2所述的系统,其中所述操作进一步包括:
经由总线接收所述预定阈值。
实例4.根据实例1至3中任一实例所述的系统,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的数目。
实例5.根据实例1至4中任一实例所述的系统,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的百分比。
实例6.根据实例1至5中任一实例所述的系统,其中所述操作进一步包括:
基于所述第一编程有效性度量和第二预定阈值,将第二编程电压施加到所述MLC快闪存储器的所述线,所述第二编程电压高于所述第一编程电压。
实例7.根据实例1至6中任一实例所述的系统,其中所述MLC NAND快闪存储器阵列包括具有在多个竖直安置层处的存储器单元的存储器单元的竖直串,其中相应层处的多个存储器单元耦合到相应字线。
实例8.一种存储指令的非暂时性机器可读媒体,所述指令在由系统执行时使所述系统执行包括以下项的操作:
在第一编程操作期间将第一编程电压施加到MLC NAND快闪存储器阵列的第一字线,所述字线形成所述阵列的第一组存储器单元的控制栅极;
执行第一验证操作以确定包括响应于所述第一编程电压而成功地编程到第一电平的所述第一组存储器单元的第一量的第一编程有效性度量;以及
基于所述第一编程有效性度量和预定阈值,确定是否执行第二验证操作以确定包括由所述第一编程电压成功地编程到第二电平的所述第一组存储器单元的第二量的第二编程有效性度量。
实例9.根据实例8所述的非暂时性机器可读媒体,其中所述操作进一步包括:
执行所述第二验证操作以确定所述第二编程有效性度量;以及
基于所述第二编程有效性度量和所述预定阈值,确定是否执行第三验证操作以确定包括由所述第一编程电压成功地编程到第三电平的所述第一组存储器单元的第三量的第三编程有效性度量。
实例10.根据实例8或实例9所述非暂时性机器可读媒体,其中所述操作进一步包括:
经由总线接收所述预定阈值。
实例11.根据实例8至10中任一实例所述的非暂时性机器可读媒体,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的数目。
实例12.根据实例8至11中任一实例所述的非暂时性机器可读媒体,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的百分比。
实例13.根据实例8至12中任一实例所述的非暂时性机器可读媒体,其中所述操作进一步包括:
基于所述第一编程有效性度量和第二预定阈值,将第二编程电压施加到所述MLC快闪存储器的所述线,所述第二编程电压高于所述第一编程电压。
实例14.根据实例8至13中任一实例所述的非暂时性机器可读媒体,其中所述MLCNAND快闪存储器阵列包括具有在多个竖直安置层处的存储器单元的存储器单元的竖直串,其中相应层处的多个存储器单元耦合到相应字线。
实例15.一种方法,其包括:
在第一编程操作期间将第一编程电压施加到MLC NAND快闪存储器阵列的第一字线,所述字线形成所述阵列的第一组存储器单元的控制栅极;
执行第一验证操作以确定包括响应于所述第一编程电压而成功地编程到第一电平的所述第一组存储器单元的第一量的第一编程有效性度量;以及
基于所述第一编程有效性度量和预定阈值,确定是否执行第二验证操作以确定包括由所述第一编程电压成功地编程到第二电平的所述第一组存储器单元的第二量的第二编程有效性度量。
实例16.根据实例15所述的方法,其中所述操作进一步包括:
执行所述第二验证操作以确定所述第二编程有效性度量;以及
基于所述第二编程有效性度量和所述预定阈值,确定是否执行第三验证操作以确定包括由所述第一编程电压成功地编程到第三电平的所述第一组存储器单元的第三量的第三编程有效性度量。
实例17.根据实例15或实例16所述的方法,其进一步包括:
经由总线接收所述预定阈值。
实例18.根据实例15至17中任一实例所述的方法,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的数目。
实例19.根据实例15至18中任一实例所述的方法,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的百分比。
实例20.根据实例15至19中任一实例所述的方法,其进一步包括:
基于所述第一编程有效性度量和第二预定阈值,将第二编程电压施加到所述MLC快闪存储器的所述线,所述第二编程电压高于所述第一编程电压。
Claims (20)
1.一种系统,其包括:
多电平单元MLC NAND快闪存储器阵列;以及
存储器控制器,其耦合到所述MLC NAND快闪存储器阵列且被配置成对所述MLC NAND快闪存储器阵列执行编程操作,包括:
在第一编程操作期间将第一编程电压施加到所述MLC NAND快闪存储器阵列的第一字线,所述字线形成所述阵列的第一组存储器单元的控制栅极;
执行第一验证操作以确定包括响应于所述第一编程电压而成功地编程到第一电平的所述第一组存储器单元的第一量的第一编程有效性度量;以及
基于所述第一编程有效性度量和预定阈值,确定是否执行第二验证操作以确定包括由所述第一编程电压成功地编程到第二电平的所述第一组存储器单元的第二量的第二编程有效性度量。
2.根据权利要求1所述的系统,其中所述操作进一步包括:
执行所述第二验证操作以确定所述第二编程有效性度量;以及
基于所述第二编程有效性度量和所述预定阈值,确定是否执行第三验证操作以确定包括由所述第一编程电压成功地编程到第三电平的所述第一组存储器单元的第三量的第三编程有效性度量。
3.根据权利要求1所述的系统,其中所述操作进一步包括:
经由总线接收所述预定阈值。
4.根据权利要求1所述的系统,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的数目。
5.根据权利要求1所述的系统,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的百分比。
6.根据权利要求1所述的系统,其中所述操作进一步包括:
基于所述第一编程有效性度量和第二预定阈值,将第二编程电压施加到所述MLC快闪存储器的所述线,所述第二编程电压高于所述第一编程电压。
7.根据权利要求1所述的系统,其中所述MLC NAND快闪存储器阵列包括具有在多个竖直安置层处的存储器单元的存储器单元的竖直串,其中相应层处的多个存储器单元耦合到相应字线。
8.一种存储指令的非暂时性机器可读媒体,所述指令在由系统执行时使所述系统执行包括以下项的操作:
在第一编程操作期间将第一编程电压施加到MLC NAND快闪存储器阵列的第一字线,所述字线形成所述阵列的第一组存储器单元的控制栅极;
执行第一验证操作以确定包括响应于所述第一编程电压而成功地编程到第一电平的所述第一组存储器单元的第一量的第一编程有效性度量;以及
基于所述第一编程有效性度量和预定阈值,确定是否执行第二验证操作以确定包括由所述第一编程电压成功地编程到第二电平的所述第一组存储器单元的第二量的第二编程有效性度量。
9.根据权利要求8所述的非暂时性机器可读媒体,其中所述操作进一步包括:
执行所述第二验证操作以确定所述第二编程有效性度量;以及
基于所述第二编程有效性度量和所述预定阈值,确定是否执行第三验证操作以确定包括由所述第一编程电压成功地编程到第三电平的所述第一组存储器单元的第三量的第三编程有效性度量。
10.根据权利要求8所述的非暂时性机器可读媒体,其中所述操作进一步包括:
经由总线接收所述预定阈值。
11.根据权利要求8所述的非暂时性机器可读媒体,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的数目。
12.根据权利要求8所述的非暂时性机器可读媒体,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的百分比。
13.根据权利要求8所述的非暂时性机器可读媒体,其中所述操作进一步包括:
基于所述第一编程有效性度量和第二预定阈值,将第二编程电压施加到所述MLC快闪存储器的所述线,所述第二编程电压高于所述第一编程电压。
14.根据权利要求8所述的非暂时性机器可读媒体,其中所述MLC NAND快闪存储器阵列包括具有在多个竖直安置层处的存储器单元的存储器单元的竖直串,其中相应层处的多个存储器单元耦合到相应字线。
15.一种方法,其包括:
在第一编程操作期间将第一编程电压施加到MLC NAND快闪存储器阵列的第一字线,所述字线形成所述阵列的第一组存储器单元的控制栅极;
执行第一验证操作以确定包括响应于所述第一编程电压而成功地编程到第一电平的所述第一组存储器单元的第一量的第一编程有效性度量;以及
基于所述第一编程有效性度量和预定阈值,确定是否执行第二验证操作以确定包括由所述第一编程电压成功地编程到第二电平的所述第一组存储器单元的第二量的第二编程有效性度量。
16.根据权利要求15所述的方法,其中所述操作进一步包括:
执行所述第二验证操作以确定所述第二编程有效性度量;以及
基于所述第二编程有效性度量和所述预定阈值,确定是否执行第三验证操作以确定包括由所述第一编程电压成功地编程到第三电平的所述第一组存储器单元的第三量的第三编程有效性度量。
17.根据权利要求15所述的方法,其进一步包括:
经由总线接收所述预定阈值。
18.根据权利要求15所述的方法,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的数目。
19.根据权利要求15所述的方法,其中所述第一组存储器单元的所述第一量是成功地编程到所述第一电平的所述第一组存储器单元的百分比。
20.根据权利要求15所述的方法,其进一步包括:
基于所述第一编程有效性度量和第二预定阈值,将第二编程电压施加到所述MLC快闪存储器的所述线,所述第二编程电压高于所述第一编程电压。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/907,594 | 2020-06-22 | ||
US16/907,594 US11417406B2 (en) | 2020-06-22 | 2020-06-22 | Reducing program verifies for multi-level NAND cells |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113903387A true CN113903387A (zh) | 2022-01-07 |
Family
ID=79023907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110640905.5A Pending CN113903387A (zh) | 2020-06-22 | 2021-06-09 | 减少多电平nand单元的编程验证 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11417406B2 (zh) |
CN (1) | CN113903387A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11417406B2 (en) | 2020-06-22 | 2022-08-16 | Micron Technology, Inc. | Reducing program verifies for multi-level NAND cells |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101554727B1 (ko) * | 2009-07-13 | 2015-09-23 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
US9953703B2 (en) * | 2015-10-16 | 2018-04-24 | Samsung Electronics Co., Ltd. | Programming method of non volatile memory device |
US9721672B1 (en) * | 2016-04-15 | 2017-08-01 | Sandisk Technologies Llc | Multi-die programming with die-jumping induced periodic delays |
TWI604449B (zh) * | 2016-08-31 | 2017-11-01 | 旺宏電子股份有限公司 | 記憶體裝置與其程式化方法 |
US11417406B2 (en) | 2020-06-22 | 2022-08-16 | Micron Technology, Inc. | Reducing program verifies for multi-level NAND cells |
-
2020
- 2020-06-22 US US16/907,594 patent/US11417406B2/en active Active
-
2021
- 2021-06-09 CN CN202110640905.5A patent/CN113903387A/zh active Pending
-
2022
- 2022-07-26 US US17/873,716 patent/US11887680B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11887680B2 (en) | 2024-01-30 |
US20210398599A1 (en) | 2021-12-23 |
US11417406B2 (en) | 2022-08-16 |
US20220359025A1 (en) | 2022-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10777284B2 (en) | Read voltage calibration based on host IO operations | |
CN111383683B (zh) | 通过堆叠多个可靠性规范进行扫描优化 | |
US11056156B2 (en) | Optimized scan interval | |
CN112400206B (zh) | 温度敏感性nand编程 | |
US11763908B2 (en) | Memory system tester using test pad real time monitoring | |
CN110660441A (zh) | 存储器装置中多个块的擦除 | |
CN112470222B (zh) | 存储器装置中的可调整电压降检测阈值 | |
KR102362767B1 (ko) | 정정 불가능 ecc | |
CN110993006A (zh) | 存储器装置中的回写操作 | |
US11914490B2 (en) | Reactive read based on metrics to screen defect prone memory blocks | |
US11887680B2 (en) | Reducing program verifies for multi-level NAND cells |
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 |