CN106935270A - 存储单元写入方法及其应用 - Google Patents
存储单元写入方法及其应用 Download PDFInfo
- Publication number
- CN106935270A CN106935270A CN201610153509.9A CN201610153509A CN106935270A CN 106935270 A CN106935270 A CN 106935270A CN 201610153509 A CN201610153509 A CN 201610153509A CN 106935270 A CN106935270 A CN 106935270A
- Authority
- CN
- China
- Prior art keywords
- memory cell
- write
- critical voltage
- memory
- shooting
- 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.)
- Granted
Links
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
- 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
- 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
-
- 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/564—Miscellaneous aspects
- G11C2211/5644—Multilevel memory comprising counting devices
Abstract
一种存储单元写入方法及其应用,此方法包括下述步骤:获取存储阵列中至少一个存储单元的第一临界电压。识别存储单元的目标临界电压,并根据第一临界电压来决定用来使存储单元达到目标临界电压所需要的写入射击的数目。将存储单元所需数目的写入射击施加至存储单元。验证存储单元被施予此数目的写入射击之后是否达到存储单元的目标临界电压。
Description
技术领域
本发明是关于一种存储单元的写入(programming memory cells)方法及其应用。
背景技术
存储阵列可在写入循环(programming cycle)中,通过对存储单元施加一组电压脉冲而被写入。电压脉冲会伴随写入验证操作(program verify operation),以检查存储单元是否被正确地写入。在一些存储阵列中,例如高密度NAND闪存芯片,进行多重写入验证操作的总时间可能占整体存储器写入时间的一大比率。
发明内容
本说明书公开了在存储单元写入时,通过降低写入验证操作的时间来增进存储器效能的方法。在一实施例中,在存储器写入过程中进行预先验证操作(pre-verifyoperation),以确认要被施加至存储单元的多个电压脉冲(又称作写入射击(programmingshots))已达到对应的目标临界电压水平(target threshold voltage levels)。在此一实施例之中,对存储阵列中的一或多个存储单元进行写入,是通过对存储单元施加第一次写入射击来开始。通过实施第一次写入射击,来决定每一个存储单元的现时临界电压(current threshold voltage)。根据现时临界电压来计算每一个存储单元要达到各自对应的目标临界电压水平所需的额外写入射击的数目。对每一个存储单元施加通过计算所得的数目的写入射击,而不在多个写入射击之间进行任何中间写入验证操作(intermediateprogram verify operations)。在将这些写入射击施加至存储单元之后,再进行一次写入验证操作,以检查这些存储单元是否被写入而达到各自对应的目标临界电压水平。
综上所述,先获取存储阵列中一或多个存储单元的第一临界电压。再识别这一或多个存储单元中的每一个存储单元的目标临界电压。根据第一临界电压来决定用来使每一个存储单元达到其目标临界电压水平所需要的写入射击数目。分别将每一个存储单元所需数目的写入射击施加至这一或多个存储单元中。验证被分别施予所需数目的写入射击的一或多个存储单元是否达到这些存储单元各自的目标临界电压水平。
特定的实施例包括一或多个下述特征。获取存储阵列中一或多个存储单元的第一临界电压的步骤包括:对一或多个存储单元施加第一次写入射击;以及获取被施加第一次写入射击的一或多个存储单元的第一临界电压。
获取一或多个存储单元的第一临界电压的步骤可以包括:决定一或多个存储单元的第一临界电压的分布(distribution);以及根据写入速度将第一临界电压的分布区分为N个族群。决定用来使每一个存储单元达到其目标临界电压水平所需要的写入射击数目的步骤可以包括:识别N个族群中对应存储单元的第一临界电压中的第一族群,决定施加给第一族群用来达到这些存储单元的目标临界电压水平所需的写入射击数目。
分别将每一个存储单元所需数目的写入射击施加至这一或多个存储单元中的步骤可以包括:在多个连续操作(successive operations)中将每一个存储单元所需数目的写入射击施加至这一或多个存储单元中,而不进行中间写入验证操作。
获取一或多个存储单元的第一临界电压的步骤可以包括:将一或多个存储单元的第一临界电压储存于一个高速缓存(cache memory)中。决定用来使每一个存储单元达到其目标临界电压水平所需要的写入射击的数目的步骤可以包括:在高速缓存中储存用来使每一个存储单元达到各自对应目标临界电压水平所需要的写入射击数目。
分别将每一个存储单元所需数目的写入射击施加至这一或多个存储单元中的步骤可以包括:从高速缓存中读取用来使每一个存储单元达到各自对应的目标临界电压水平所需要的写入射击数目。从高速缓存中所读取的写入射击数目,将在多个连续操作中被施加至这些存储单元中。
验证这一或多个存储单元是否分别被达到各自的目标临界电压水平的步骤可以包括:进行第一次写入验证操作以确认被施加倒数第二次写入射击的一或多个存储单元是否分别达到各自的目标临界电压水平。对未达到目标临界电压水平的一或多个存储单元施加最终写入射击。进行第二次写入验证操作以确认所有存储单元是否分别达到各自的目标临界电压水平。
验证这一或多个存储单元的目标临界电压水平是否分别被达到的步骤可以包括:获取被施加倒数第二次的写入射击的一或多个存储单元的第二临界电压。根据这些存储单元的第二临界电压决定这一或多个存储单元中的每一个达到其对应目标临界电压水平所需要的额外写入射击数目。在多个后续的操作中,对这一或多个存储单元施加此额外数目的写入射击。验证被分别施予额外数目的写入射击的一或多个存储单元是否分别达到这些存储单元的目标临界电压水平。
以上所述的实施例包括元件、系统、方法、计算机程序产品(computer programproduct)和计算机可读介质(computer readable medium)。上述计算机程序产品的其中之一,可以适切地通过一个用来储存可被一或多种处理器所执行的指令的非瞬时机器可读取介质(non-transitory machine-readable medium)来实施。前述的指令被用来驱使一或多种处理器执行上述操作。当上述操作被一或多种处理器执行时,上述计算机可读介质的其中之一,用来储存用来驱使这一或多种处理器执行上述操作的指令。上述组件的其中之一,包括用来进行上述操作的存储器控制器(memory controller)。此一组件可以包括一高速缓存,用来储存一或多个存储单元的第一临界电压以及这些存储单元所需的写入射击的数目。
通过减少或移除多个写入射击之间所进行的中间写入验证操作,可减少以上所述的元件、系统和技术的整体存储器写入时间。可以因此增进存储器阵列的写入产出效能(programming throughput performance),例如将数据写入至存储器阵列或将数据从存储器阵列抹除的速度。以上所述的元件、系统和技术可以被应用至不同型态的非挥发性存储器,例如NAND闪存或NOR闪存...等。这些存储器可以包括单层存储单元(single-levelcells,SLCs)或多层存储单元(multi-level cells,MLCs),例如三层存储单元(triple-level cells,TLCs)或四层存储单元(quadruple-level cells,QLCs)...等。
以上所述的一或多个实施例,将配合所附附图,详细说明如下。本说明书的其他目的、特征和优点也可通过下述的说明、附图和权利要求而变得更明显易懂。
附图说明
图1是根据一实施例示出的一种具有中间写入验证操作的存储器写入循环。其中,中间写入验证操作跟随在每一次的写入射击之后;
图2是根据一实施例示出的一种具有预先验证操作和多个连续写入射击,且没有中间写入操作的存储器写入循环;
图3示出在预先验证操作中,将起始电压分布(initial voltage distribution)区分成多个族群的实施例;
图4A和图4B是根据另一实施例示出的一种具有预先验证操作和多个连续写入射击,且没有中间写入操作的存储器写入循环;
图5是根据一实施例示出的一种采用具有预先验证操作和多个连续写入射击,且没有中间写入操作的存储器写入循环的系统;
图6是根据一实施例示出的一种采用具有预先验证操作和多个连续写入射击,且没有中间写入操作的存储器写入循环的流程。
【符号说明】
100、200、400A、400B、500:存储器写入循环
102a、102b、102c、102n、202a、202b、202c、202n、226a、226b、226c、412a、412b、412c、412n-1、412n:写入射击
104a、104b、104c、104n、204、414a、414b:写入验证操作
112a、212a:第一时间 112b、212b:第二时间
112c、212c:第三时间 112n、212n:第n时间
114a、114b、114c、114n、214、216、t_PV、t_read:时间
202a、202b、302a、302b、302c、302N-1、302N:族群
206、416a、416b:预先验证操作
210、220:流程序列 222:起始临界电压分布
224a、224b、224c:起始临界电压分布的起始水平
502:存储器控制器 504:存储器阵列
510:临时储存装置 600:流程
512a、512b、512c、512d、512e:高速缓存
AV、228a:A电压水平 BV、228b:B电压水平
CV、228c:C电压水平 PGM:每一次的写入射击
602:施加第一写入射击至存储器阵列的存储单元中
604:获取存储单元在第一写入射击之后的临界电压
606:将这些临界电压储存于暂存存储器中
608:决定要达到每一个存储单元的目标临界电压水平所需的写入射击数目
610:将每一个存储单元所需的写入射击数目储存至暂存存储器中
612:通过对每一个存储单元施加被指派数目的写入射击来对存储器阵列中的存储单元进行写入
614:在使用被指派的写入射击数目进行写入之后,进行写入验证操作
具体实施方式
存储器阵列,例如NAND闪存芯片,中的存储单元,可以在写入循环中通过对这些存储单元施加一组电压脉冲而被写入。此组电压脉冲又称为写入射击。这些写入射击是以增量步骤(incremental steps)的方式实施,直到达到存储单元的目标临界电压水平为止。当要将数据写入这些存储单元时,目标临界电压水平相当于要被写入存储单元的数据位(bits of data)的电压水平。当要将数据自存储单元抹除时,目标临界电压水平相当于用来将存储单元重置(reset)到抹除状态(erased state)的电压水平。
每一个写入射击的电压水平,可以是目标临界电压水平的分数(fraction)。在实施每一次写入射击的后,一般会进行一次写入验证操作,以确认是否达到目标临界电压水平,以及确认数据是否被正确地写入存储单元。假如未达到目标临界电压水平,会在写入验证操作之后,再实施另一次写入射击,以使存储单元的电压水平朝达到目标临界电压水平的方向调整。这样的程序会重复进行,直到达到存储单元的目标临界电压水平为止。
图1是根据一实施例示出的一种具有中间写入验证操作的存储器写入循环100。其中,中间写入验证操作跟随在每一次的写入射击之后。存储器写入循环100包括实施多次(n次)的写入射击(其中n是大于1的整数),例如写入射击102a、102b、102c至102n,来对存储器阵列,例如闪存芯片,中的存储单元进行写入。存储器写入循环100也包括实施多次的写入验证操作,例如写入验证操作104a、104b、104c至104n。
在存储器写入循环100中,实施每一次写入射击之后,会进行一次写入验证操作,以确认存储器阵列中的目标存储单元的电压水平。例如写入射击102a之后,会进行写入验证操作104a;写入射击102b之后,会进行写入验证操作104b;写入射击102c之后,会进行写入验证操作104c;以及写入射击102n之后,会进行写入验证操作104n。
在一些实施例之中,存储器阵列中的存储单元为多层存储单元。在这种情况下,不同存储单元的目标临界电压水平会有差异,例如不同存储单元会对应不同数值的存储位(memory bits)。举例来说,存储器阵列中存储单元的目标临界电压水平可能是三种电压水平中的一种,即A电压水平、B电压水平或C电压水平。在此情形下,每一次的写入验证操作要量测不同电压水平,例如A电压水平(以AV表示)、B电压水平(以BV表示)或C电压水平(以CV表示),的存储单元的电压水平。由于必须进行多重水平的验证程序,会使每一次的写入验证操作的时间增加,进而增加整体多重写入验证操作的时间。
图1中的流程序列110即是示出存储器写入循环100所耗费的时间。每一次的写入射击(以PGM表示)仅使用有限量的时间。例如第一次写入射击102a耗用了第一时间112a;第二次写入射击102b耗用了第二时间112b;第三次写入射击102c耗用了第三时间112c;以及第n次写入射击102n耗用了第n时间112n。在本说明书中,时间是采用适当的计量单位,例如秒(seconds)、毫秒(milliseconds)、微秒(microseconds)或纳秒(nanoseconds),来进行量测。
每一次写入射击所耗用的时间之后紧跟着的是对应于该写入射击的写入验证操作所耗用的时间。如图1所示,第一时间112a之后紧跟着的是对应于第一次写入射击102a的写入验证操作104a所耗用的时间114a。相同的,第二时间112b之后紧跟着的是对应于第二次写入射击102b的写入验证操作104b所耗用的时间114b;第三时间112c之后紧跟着的是对应于第三次写入射击102c的写入验证操作104c所耗用的时间114c;以及第n时间112n之后紧跟着的是对应于第n写入射击102n的写入验证操作104n所耗用的时间114n。
用来验证每一个目标临界电压水平的写入验证操作需耗用t_PV的时间。因此使用三种电压水平,即A电压水平、B电压水平和C电压水平,的具有多层存储单元的存储器阵列,每一次的写入验证操作需耗用3×t_PV(以3*t_PV表示)的时间(如图所示,每一次验证A电压水平、B电压水平和C电压水平,AV、BV和CV,都需耗用t_PV的时间)。若进行n次的写入射击,写入验证操作的总耗用时间n×3×t_PV占去了存储器写入循环100总耗用时间的很大一部分。
在一些应用中,有需要降低写入验证时间占存储器写入循环100总耗用时间的比例。例如固态硬盘(Solid-State-Drives,SSDs)、智能型手机、平板计算机(tabletcomputers)和数据储存服务器(data storage servers)...等,都需要具有高输出效率的非挥发性存储器(例如,高密度闪存),以达到想要的系统效能。非挥发性存储器的高输出效率可通过增加存储器阵列的写入速度,例如降低写入验证操作的总耗用时间,来实现。
以下所公开的存储器阵列、相关元件、系统和技术,是通过限制存储器写入循环中写入验证操作的次数,以减少每一个存储器写入循环的写入验证操作的总耗用时间,进而提高存储阵列的写入速度。在一些实施例中,以下所公开的存储器阵列、相关元件、系统和技术应用于非挥发性存储器阵列,例如闪存芯片。在其他实施例中,以下所公开的存储器阵列、相关元件、系统和技术可以应用于其他形式的存储器中。
图2是根据一实施例示出的一种具有预先验证操作和多个连续写入射击,且没有中间写入操作的存储器写入循环200。存储器写入循环200可用来对存储器阵列,例如闪存芯片,中的存储单元进行写入。存储器写入循环200可用来对单层存储单元、双层存储单元或上述二者进行写入。包括预先验证操作206的存储器写入循环200采用与被写入的存储器阵列有关联的系统中的适当逻辑来实施。例如,下述实施例中公开的进行存储器写入循环200操作的一种存储器控制器,用来对与存储器控制器相关联的存储器阵列进行写入。但在其他实施例中,存储器写入循环200的操作,可以采用位于与存储器阵列相关联的系统中的硬件及/或软件来进行。
存储器写入循环200包括实施多次写入射击,例如写入射击202a、202b、202c至202n,来对存储单元进行写入。存储器写入循环200也包括一次写入验证操作204以及一次预先写入验证操作206。
采用存储器写入循环200来对存储器阵列进行写入时,存储器控制器示出加一个起始写入射击至存储器阵列的多个存储单元,并获取每一个存储单元的临界电压,再根据临界电压来决定用来使这些存储单元达到各自目标临界电压水平所需的写入射击的数目。例如,先对存储器阵列的目标存储单元施加第一次写入射击202a。之后,进行预先写入验证操作206。通过一部分的预先写入验证操作206,存储器控制器可在施加第一次写入射击202a的后获取每一个存储单元的临界电压。例如在一实施例中,在施加第一次写入射击202a之后,可通过页缓冲器(page buffer)从存储单元中读出临界电压并以高速缓存加以储存。接着,将临界电压数据传输至存储器控制器。根据每一个存储单元的临界电压,存储器控制器可以在预先写入验证操作206中,决定出用来使这些存储单元达到各自目标临界电压水平所需的写入射击数目。
在具有多层存储单元的存储器阵列中,不同存储单元的目标临界电压水平可能会不一样。其取决于不同存储单元中用来代表数据的存储位的状态。例如,如图2所示,存储器阵列中存储单元的目标临界电压水平可能是三种电压水平,即A电压水平、B电压水平或C电压水平。另一方面,在一个单层存储单元阵列中,存储器阵列中存储单元的目标临界电压水平可能是与所有存储单元相同的均一数值。因此,存储器控制器可以在预先写入验证操作206中,决定出用于多层存储单元、单层存储单元或二者所需的写入射击数目。
预先写入验证操作206的操作方式,以下将以具有三种目标临界电压水平(即A电压水平、B电压水平和C电压水平)的多层存储单元的写入流程序列220来详细说明。在预先写入验证操作206之中,存储器控制器会量测存储单元的起始临界电压分布222。如本实施例所述,起始临界电压分布222是在施加第一次写入射击202a之后,所量测而得的多个存储单元的临界电压水平。根据每一个存储单元的起始临界电压水平,决定出用来使这些存储单元达到各自目标临界电压水平所需的写入射击数目。例如,假如某个存储单元的起始临界电压水平落在起始临界电压分布222的起始水平224a,且此一存储单元的目标临界电压水平落在A电压水平228a,则存储器控制器可据此决定出用来使该存储单元的临界电压水平从起始水平224a移动至A电压水平228a所需要的写入射击226a的数目X。以同样方式,决定出将具有起始水平224b的存储单元的临界电压水平移动至B目标临界电压水平228b所需要的写入射击226b的数目Y;以及决定出将具有起始水平224c的存储单元的临界电压水平移动至C目标临界电压水平228c所需要的写入射击226c的数目Z。
通过前述方式,可以在预先写入验证操作206之中,决定出用来使每一个要被写入的存储单元达到各自目标临界电压水平所需的写入射击的数目。在一些实施例之中,起始临界电压分布222可以被划分或分成多个族群。一个特定存储单元可以根据该存储单元的起始临界电压分布所区分的对应族群,来决定出该存储单元所需的写入射击的数目。图3是根据一实施例示出的在预先验证操作206中,将起始临界电压分布222区分成多个族群。如图所示,起始临界电压分布222被区分成N个族群,例如族群302a、302b、302c、...302N-1以及302N(其中N为合适的整数)。这N个族群涵盖了要被写入的存储单元的起始电压分布的可能数值范围。在一些实施例之中,族群的数目N系根据这些存储单元从起始临界电压水平写入至目标临界电压水平的速度来加以区分。
当相对应的族群以及目标临界电压水平为已知时,族群的数目,即整数N的数值,是电压分布曲线222上每一个起始临界电压水平所需的写入射击数目的精细程度(granularity of precision)与决定每一个存储单元所需的写入射击数目的时间二者的折衷方案。假如N的数值太小(例如2或3),族群数量较少。在这种情况下,两个具有相当程度差异的起始临界电压水平(有可能会被分配在不同族群302a和302b)的存储单元,会被分配到同一个族群,进而使二者所需的写入射击数目相同(假设二者有相同的目标临界电压水平)。这有可能造成存储单元不正确的写入。例如,假如过多写入射击被施加至存储单元,将使存储单元的临界电压水平移动至与目标临界电压不同的水平。另一方面,假如N的数值太大(例如大于45),将不同存储单元分配到N个族群其中之一,并且决定每一个存储单元所需的写入射击数目将会耗掉很多时间。在这种情况下,预先验证操作206的整体耗费时间可能与预先验证操作206所欲取代的中间写入验证操作所耗费的时间相当。在一些实施例中,更可能会比中间写入验证操作更耗时。如此,将丧失采用预先验证操作206来取代中间写入验证操作的好处。
因此,N个族群的数目(N的数值),是通过衡量在预先验证操作206中决定每一个存储单元所需的写入射击数目的时间,以及临界电压分布222曲线上每一个起始临界电压水平所需的写入射击数目的精细程度,来分配了一些适合的数值。例如在一些实施例之中,起始临界电压分布被区分成15个族群(N=15)。N其他数值也有可能。例如,N可以是介于4到45之间,或其他合适范围,的整数。
在一实施例中,N个族群的总数是通过将起始临界电压分布的范围分割成数个较小部分来决定,并分配一个部分给一个族群。例如,起始临界电压分布的范围可以是4.5V,而被区分为以0.3V递增的部分。计算以上数值,可求得N个族群的总数N为4.5/0.3=15。在一实施例中,每一个部分的电压范围(例如,0.3V)都会对应到一个写入射击的数目。
存储器控制器决定用来使每一个存储单元达到各自目标临界电压水平所需的写入射击的数目。例如附图中,假如某一存储单元的起始临界电压是在族群302a中,则施加3次的写入射击,以使该存储单元达到A目标临界电压水平228a;假如某一存储单元的起始临界电压是在族群302b中,则施加4次的写入射击,以使该存储单元达到A目标临界电压水平228a;假如某一存储单元的起始临界电压是在族群302N-1中,则施加N-1次的写入射击,以使该存储单元达到A目标临界电压水平228a;假如某一存储单元的起始临界电压是在族群302N中,则施加N次的写入射击,以使该存储单元达到A目标临界电压水平228a。依此类推。
在一些实施例的中,存储器控制器会预先计算与存储器控制器相关联的存储器阵列中的存储单元的族群数目N,并决定要使每一个族群达到各自目标临界电压水平所需的写入射击的数目。在一个具有多层存储单元的存储器阵列之中,存储器控制器会计算每一个族群中和每一种临界电压水平,用来达到特定目标临界电压水平所需的写入射击的数目。因此,若有存储器阵列具有三种临界电压水平的存储单元,则每一个族群就有三种用来使不同临界电压水平达到各自目标临界电压水平所需的写入射击的数目。
在一实施例中,存储器控制器会预先计算存储单元的族群数目N及与其相对应的写入射击的数目,并将其储存于存储器中。后续,在存储器写入循环的预先验证操作中,例如在存储器写入循环200预先验证操作206中,存储器控制器会读取每一个要被写入的存储单元的起始临界电压,并依照存储单元的起始临界电压将每一个存储单元分配给N个族群中的一群。在一个具有多层存储单元的存储器阵列之中,存储器控制器会根据每一个存储单元被分配到的族群以及该存储单元的目标临界电压水平来决定要施加于该存储单元的写入射击的数目。在一个具有单层存储单元的存储器阵列之中,存储器控制器会根据每一个存储单元被分配到的族群来决定要施加于该存储单元的写入射击的数目。
以这种方式,通过存储单元的起始临界电压将存储单元区分成有限数量的族群,以得到有限数量的写入射击的可能数目。两个具有不同起始临界电压的存储单元,假如他们的起始临界电压落在族群302a的范围内,则他们可能被分配在同一个族群,例如族群302a。因此,假如这两个存储单元的目标临界电压水平相同,即使二者具有不同起始临界电压的存储单元,仍会被施予同样数目的写入射击。
在预先验证操作206中,确定要被施加于每一个存储单元的写入射击的数目后,存储器控制器会对每一个存储单元分别施加已确定数目的写入射击,使每一个存储单元分别达到各自的目标临界电压水平。这些写入射击是连续不断地施加于存储单元上,其间并没有进行中间写入验证操作。例如,如图2所示出的,写入射击202b、202c至202n以连续操作的方式施加于存储器阵列的存储单元上,写入射击的间并没有进行中间写入验证操作。所施加的写入射击的数目,是根据上述预先验证操作206所决定的个别存储单元的写入射击数目。
在存储器写入循环200中,施加最后一次写入射击202n之后,存储器控制器会进行一次写入验证操作。例如,在施加最后一次写入射击202n之后,存储器控制器会进行写入验证操作204。写入验证操作204是在验证存储器阵列中的存储单元是否已被写入至他们各自的目标临界电压水平。
流程序列210示出了存储器写入循环200所耗费的时间。每一个写入射击仅耗用有限的时间。例如,如前所述,存储器写入循环200施加了n个(n为大于1的整数,n>1)写入射击,从而达到存储单元各自的目标临界电压水平。第一次写入射击202a耗用了第一时间212a;第二次写入射击202b耗用了第二时间212b;第三次写入射击202c耗用了第三时间212c;以及第n次写入射击202n耗用了第n时间212n,依此类推。
第一次写入射击202a所耗用的第一时间212a在预先验证操作206所耗用的时间216之前。其余第二次写入射击202b、第三次写入射击202c以及第n次写入射击202n所耗用的时间212b、212c至212n分别连续不断地跟随在后。内存写入循环200的写入验证操作204所耗用的时间214,则跟随在第n次或最后一次写入射击202n所耗用的第n时间212n之后。
每次预先验证操作206耗用了时间t_read。如图3所示,起始临界电压分布被区隔成N个族群,因此t_read=N×t_PV。由于具有多层存储单元的存储单元阵列使用了三个目标临界电压水平(即A水平、B水平和C水平),因此写入验证操作204所耗用的时间为3×t_PV,如图所示(每一次验证A电压水平、B电压水平和C电压水平,AV、BV和CV,分别耗用t_PV的时间)。这两个操作的总耗用时间为t_read+3×t_PV=N×t_PV+3×t_PV,实质上小于存储器写入循环100中的整体写入验证时间。n×3×t_PV。
在节省时间的实施例中,可以通过采用预先验证操作206,并免除中间写入验证操作的方式来加以实现。若仅考虑具有多层存储单元的存储单元阵列中三种目标临界电压水平(即A电压水平、B电压水平或C电压水平)中的一种,则可以采用16次的写入射击,将存储单元写入至最高的目标临界电压水平(例如,C电压水平(CV))。在此一实施例中,存储器写入循环100中所耗用的整体验证时间如下式(其中n=16):
16次×3种状态(目标临界电压水平)×t_PV=48t_PV (1)
相对的存储器写入循环200中所耗用的整体验证时间如下式(假设在预先验证操作206中,起始电压分布被区隔成16个族群,N=16):
16族群×t_PV+1次×3种状态×t_PV=19t_PV (2)
19t_PV是48t_PV的40%。因此,在这个实施例之中,与采用中间写入验证操作104a、104b和104c的存储器写入循环100相比,采用包含预先验证操作206的存储器写入循环200可使验证时间缩短60%。
与存储器写入循环100的整体写入时间相比,通过这种方式可缩短存储器写入循环200的整体写入时间。如前所述,时间的节省系通过采用一个初始预先验证操作(例如预先验证操作206),且在预先验证操作206之后进行连续且没有中间写入验证操作的写入射击(例如写入射击202b、202c),来取代多个中间写入验证操作(如图1所示的存储器写入循环100中的中间写入验证操作104a、104b和104c)所达成。另外,在最后一次的写入射击(例如,写入射击202n)之后,可以进行一次的写入验证操作(例如,写入验证操作204)。
在上述实施例之中,预先验证操作206系在第一次写入射击202a之后进行。其他实施例也可能采用不同的步骤顺序。例如,在第一次写入射击202a之后,可以先进行一次写入验证操作,再进行预先验证操作206。在这类实施例中,预先验证操作206紧接在第一次写入射击202a之后所进行的写入验证操作之后实施。或者预先验证操作206也可以在第二次写入射击之后进行。在另一个实施例中,则可以在第三次写入射击之后进行。
图4A和图4B是根据另一实施例示出的一种具有一次预先验证操作且没有中间写入验证操作跟随在写入射击之后的存储器写入循环。在一实施例中,存储器写入循环包括一次预先验证操作以及在存储器写入循环结束时所进行的多次写入验证操作,如图4A和图4B所示。存储器写入循环(以流程序列400A表示),包括多次的写入射击(以标号412a、412b、412c至412n-1和412n表示)、一次预先验证操作(以标号416表示)以及多次写入验证操作(以标号414a和414b表示)。
用来实施存储器写入循环400A的存储器控制器,在施加第一次写入射击(以标号412a表示)之后进行预先验证操作416。步骤流程与前述的存储器写入循环200类似。之后,存储器控制器施加连续的写入射击(以标号412b、412c至412n-1和412n表示),没有进行任何中间写入验证操作。但存储器控制器在存储器写入循环结束时进行了两次写入验证操作。例如,在倒数第二次写入射击(以标号412n-1表示)之后,存储器控制器进行了第一写入验证操作414a。第一写入验证操作(以标号414a表示),是用来确认是否有需要进行额外的写入射击,以达到目标临界电压水平。然后,实施最后一次写入射击(以标号412n表示),接着进行第二写入验证操作(以标号414b表示),以验证存储单元的目标临界电压水平是否被达成。
在另一实施例中,第一写入验证操作414a在倒数第二次写入射击412n-1之前进行。例如,第一写入验证操作414a可以在最后一次写入射击412n之前的第m次写入射击之后实施施,其中m为大于2的整数(m>2)。在这类实施例中,可以实施二个以上的写入验证操作。例如,从第m次写入射击开始的每一次写入射击之后,包含在最后一次写入射击412n之后,都实施一次写入验证操作。
在一实施例中,存储器写入循环包括一次或多次的预先验证操作,如图4B所示的流程序列400B所示。存储器写入循环(以标号400B表示)多次的写入射击(以标号412a、412b、412c至412n-1和412n表示)、多次预先验证操作(以标号416a和416b表示)以及一次的写入验证操作(以标号414表示)。
用来实施存储器写入循环400B的存储器控制器,施加第一次写入射击(以标号412a表示)之后进行第一预先验证操作416a。步骤流程与前述的存储器写入循环200类似。之后,存储器控制器施加连续的写入射击(以标号412b、412c至412n-1和412n表示),没有进行任何中间写入验证操作。但存储器控制器在存储器写入循环结束时进行了两次写入验证操作。例如,在倒数第二次写入射击(以标号412n-1表示)之后,存储器控制器进行了第二预先验证操作416b。第二预先验证操作416b(以标号416b表示),是用来决定达到目标临界电压水平(如果需要的话)所需要的额外写入射击的数目。然后,实施最后一次写入射击(以标号412n表示),接着进行写入验证操作(以标号414表示),以验证存储单元的目标临界电压水平是否被达成。
在另一实施例中,第二预先验证操作416b在倒数第二次写入射击412n-1之前进行。例如,第二预先验证操作416b可以在最后一次写入射击412n之前的第m次写入射击之后实施施,其中m为大于2的整数(m>2)。在这类实施例中,第二预先验证操作416b之后所进行的写入射击(例如第m+1次至最后一次写入射击412n)可以是以连续的方式实施,没有进行任何中间写入验证操作。另外在一些实施例中,可以在第二预先验证操作416b之后实施两次或更多次的写入验证操作。例如,从第m+1次写入射击开始的每一次写入射击之后,包含在最后一次写入射击412n之后,都实施一次写入验证操作。
两次或更多次的写入验证操作414a和414b或两次或更多次的预先验证操作416a和416b,在临界电压水平浮动时以及/或在施加写入射击412b、412c至412n-1和412n时有写入噪声干扰的状况下,可以有效发挥作用。在这些状况下,由于当紧跟在第一次写入射击后的预先验证操作决定了电压水平以后,存储单元的临界电压水平仍有可能改变。第一写入验证操作414a或额外的预先验证操作416b,可以用来确认存储单元的临界电压水平会有较窄的分布范围。
图5是根据一实施例示出的一种采用具有预先验证操作和多个连续写入射击,且没有中间写入操作的存储器写入循环的系统500。系统500包括存储器控制器502、存储器阵列504、临时储存装置(temporary storage)510。在一些实施例中,存储器控制器502使用存储器写入循环200对存储器阵列504进行写入。
存储器控制器502包括用来执行各种操作的硬件及软件逻辑。这些操作包括,对存储器阵列504进行写入,例如将数据写入存储器阵列504、将数据从存储器阵列504中抹除或将数据从存储器阵列504中读取...等。存储器控制器502可以包括,用来执行程序化存储器阵列504的指令的微处理器。上述指令被储存在存储器控制器502可存取的合适的储存装置中。例如,上述指令可被储存在闪存模块、硬盘..等等中。上述指令可被储存在临时储存装置510或存储器阵列504中(例如,位于存储器阵列504的特定区域中,与要被进行数据写入的存储单元区隔)。
存储器阵列504包括多个存储单元。这些存储单元可以是多层存储单元或单层存储单元。在一实施例中,存储器阵列504可以是非挥发性存储器阵列,例如闪存芯片。但在其他实施例中,存储器阵列504可以是其他形式的存储器。
临时储存装置510是建构来储存有关存储单元的临界电压和要被施加至存储单元以达到各自的目标临界电压水平所需的写入射击数目的信息。在本实施例中,临时储存装置510是一种高速缓存,包含高速缓存512a、512b、512c、512d和512e。一部分的高速缓存512c至512e用来储存存储单元的临界电压和要被施加至存储单元的写入射击的数目。其他的高速缓存512a和512b用来储存其他数据。不过,如果需要的话,高速缓存512a和512b也可用来储存存储单元的临界电压和写入射击的数目。相对的高速缓存512c至512e也可用来储存其他数据。
虽然附图仅示出五个高速缓存,临时储存装置510可以具有不同数量的高速缓存。例如,在一实施例的中,临时储存装置510可以具有大量的高速缓存。其中,高速缓存的数量对应于存储器阵列504中要被写入的存储单元的数量。
临时储存装置510也可以是其他形态的储存装置。例如,临时储存装置510可以包括静态随机存取内存(static Random Access Memory,SRAM)、NAND闪存或是一组缓存器(registers)。临时储存装置510可以额外或替代地以一部分与要被写入的存储单元区隔的存储器阵列504来实现。另外,其它合适的配置也是可能的。
在存储器写入循环的预先验证操作中,例如在预先验证操作206中,存储器阵列504中的存储单元临界电压会被读取并储存至临时储存装置510中的一或多个高速缓存,例如高速缓存512c至512e。在一实施例之中,一个高速缓存对应一个要被写入的存储单元,并且配置来储存相对应的存储单元的数据,以及/或储存施加在该存储单元上用以达到其目标临界电压水平的写入射击数目的资料。
存储器控制器502会由高速缓存中读取存储单元的临界电压数据,并且决定施加在该存储单元上用以达到其目标临界电压水平的写入射击的数目。例如,如前所述的预先验证操作206。存储器控制器502会再将所决定的射击数目回写入高速缓存中。存储器控制器502通过对该存储单元施加所决定数目的写入射击,来对存储器阵列的存储单元进行写入。对一个存储单元来说,存储器控制器502是从所对应的高速缓存中读取要施加于该存储单元的写入射击数目。
由此,可采用系统500来对存储器阵列进行写入,而不需要在多个写入射击的间进行写入验证操作。其中,系统500是使用预先验证操作(例如,预先验证操作206)的存储器写入循环,例如存储器写入循环200。系统500也可以用来对使了用包含有一个预先验证操作的其他存储器写入循环,例如对应于流程序列400A或400B的存储器写入循环,的存储器阵列进行写入。
图6是根据一实施例示出的一种采用具有预先验证操作和多个连续写入射击,且没有中间写入操作的存储器写入循环的流程600。在一实施例的中,流程600是采用系统500来对使用存储器写入循环200的存储器阵列504进行写入。因此以下段落所述的流程600,将是使用系统500及存储器写入循环200来实施。但其他实施例中,流程600也可采用其他系统,或者采用使用了其他存储器写入循环的系统500来实施。
存储器控制器502执行储存于存储器中的指令以实施流程600。其中,该存储器耦接至存储器控制器。如前所述,这些指令对应至存储器控制器所提供的功能。
在步骤602中,施加第一写入射击至存储器阵列的存储单元中。例如,存储器控制器502施加写入射击202a至存储器阵列504的存储单元。
在步骤604中,获取存储单元在第一写入射击的后的临界电压。例如,存储器控制器502在写入射击202a之后进行预先验证操作206。在预先验证操作206之中,内存控制器502读取了存储单元的临界电压。
在步骤606中,将这些临界电压储存于暂存存储器(temporary memory)中。例如,存储器控制器502将步骤604所读取的临界电压水平储存于临时储存装置510的中高速缓存,例如高速缓存512c至512e中。如前所述,每一个存储单元的临界电压水平分别被储存于对应该存储单元的一个高速缓存之中。相对的,多个存储单元的临界电压水平被储存于同一个高速缓存之中。后者的情况可能是,例如,这些存储单元的临界电压水平相等。在这种情况下,存储器控制器502可以包含额外的逻辑,由此映射(map)到储存于这些存储单元所对应的单一高速缓存的中的临界电压水平。
在步骤608中,决定要达到每一个存储单元的目标临界电压水平所需的写入射击数目。例如,存储器控制器502决定要达到存储器阵列504中要被写入的每一个存储单元的目标临界电压水平所需的写入射击数目。存储器控制器502从临时储存装置510的高速缓存中读取存储单元目前的临界电压水平。如前所述,在一实施例之中,存储器控制器502先产生起始临界电压分布222,并将起始临界电压分布222被区分成N个族群,例如族群302a、302b、302c、...302N-1以及302N。存储器控制器502,再根据一个存储单元所对应的族群以及其个别的目标临界电压水平(假设有多重目标临界电压水平),决定该存储单元所需的写入射击数目。
在步骤610中,将每一个存储单元所需的写入射击数目储存至暂存存储器中。例如,存储器控制器502将存储单元所需的写入射击数目储存于临时储存装置510中的高速缓存中,例如储存于高速缓存512c至512e中。如前所述,每一个存储单元所需的写入射击数目分别被储存于对应该存储单元的一个高速缓存之中。相对的,多个存储单元所需的写入射击数目被储存于同一个高速缓存之中。后者的情况可能是,例如,这些存储单元所需的写入射击数目相等。在这种情况下,存储器控制器502可以包含额外的逻辑,以映射到储存在与这些存储单元对应的单一高速缓存中的写入射击数目。
在步骤612中,通过对每一个存储单元施加被指派数目的写入射击来对存储器阵列中的存储单元进行写入。例如,存储器控制器502通过对每一个存储单元施加其所需数目的写入射击来对存储器阵列504中的存储单元进行写入。存储器控制器502先从临时储存装置510的高速缓存(例如,高速缓存512c、512d或512e)中读取各别存储单元所需要的写入射击的数目。存储器控制器502再以连续的方式实施写入射击,例如写入射击202b、202至202n,且在这些写入射击之间不进行任何中间写入验证操作。
在步骤614中,在使用被指派的写入射击数目进行写入之后,进行写入验证操作。例如,在施加最后一次写入射击202n之后,存储器控制器502会进行写入验证操作204,以验证存储器阵列504中的存储单元是否已被写入至他们各自的目标临界电压水平。
先前所述以及其他的实施例可通过一或多种计算机程序产品来加以实现。此计算机程序产品可以是,例如一或多种编码在计算机可读取介质上,用以执行或控制此操作的计算机程序模块或数据处理装置。这些实现内容包括算法的单一或分布式处理(single ordistributed processing of algorithms)。计算机可读取介质可以是机器可读储存组件(machine-readable storage device)、机器可读储存基材(machine-readable storagesubstrate)或上述的任意组合。数据处理装置(data processing apparatus)一词,包括所有的数据处理装置、组件和机器。包括可程序处理器(programmable processor)、计算器(computer)或多任务处理器(multiple processors or computers)或多台计算机。此一装置可以包括额外的硬件、用来创造此一操作的计算机执行环境的程序代码(code),例如构成处理固件(processor firmware)、通信堆栈协议(protocol stack)、数据库管理系统(database management system)、操作系统或上述的任意组合的程序代码。
系统可以包括数据处理装置、组件和机器。包括可程序处理器、计算器或多任务处理器或多台计算机。系统可以包括额外的硬件、用来创造此一操作的计算机执行环境的程序代码,例如构成处理固件、通信堆栈协议、数据库管理系统、操作系统或上述的任意组合的程序代码。
可以通过任何程序语言,例如编译或直译语言(compiled or interpretedlanguages)来进行计算机程序(也被称为程序,软件,软件应用,脚本(script)或程序代码)的写入。且计算机程序可以采用任何的形式,例如单独程序、模块、组件、子程序或任何适于在计算器环境中使用的其它单元,来进行部署。计算机程序不一定对应于文件系统中的档案。计算机程序可以被储存在用来储存其他程序或数据(例如,储存在标记语言(markuplanguage document)之中的一或多个脚本)的部份档案、专门用来储存该计算机程序的单一档案或多重协档案(multiple coordinated files)(储存于一或多个模块、子程序或部分程序代码中的档案)之中。计算机程序可以在一台计算机或位于一个地点或分布在多个地点并通过网络互连的多台计算机中执行。
本文所述的程序和逻辑流程(logic flows)可通过在一或多个可程序处理器中执行一或多个计算机程序以提供前述的功能的方式来实现。程序和逻辑流程以及装置也可通过特殊用途逻辑电路(special purpose logic circuitry),例如场式可程序门阵列(Field Programmable Gate Array,FPGA)或特定应用集成电路(Application SpecificIntegrated Circuit,ASIC)来实现。
适于用来执行计算机程序的流程可以包括特殊用途或通用微处理器,以及任何形式的数字计算器处理器。一般来说,处理器可以接收来自只读存储器、随态存取内存或二者的指令和数据。计算机的基本组件可以包括用于执行指令的处理器和用于存储指令和数据的一或多个内存组件。一般而言,计算机也可以包括用于存储资料的一或多个大容量存储组件,例如,磁盘,磁光盘(magneto optical disks)以及光盘,或者被可操作地耦合,以接收数据或传输数据。但计算机不必然需具被上述组件。适于用来储存计算机程序及数据的计算机可读取介质,可以包括所有形式的非挥发内存、介质和内存组件,例如包括半导体内存组件(例如抹除式可复写只读存储器(Electrically Erasable Programmable ReadOnly Memory,EPROM)、电子抹除式可复写只读存储器(Electrically ErasableProgrammable Read Only Memory,EEPROM)和闪存组件)、磁盘(例如,内置硬盘(internalhard disks)或可移硬盘(removable disk))、磁光盘和只读型光盘(例如,CD ROM及DVD-ROM)。处理器和内存可以补充特殊用途逻辑电路,或被整合在特殊用途逻辑电路之中。
虽然本文可能以较特定的描述方式公开如上,然其只是用以描述特定实施例的详细特征,并非用以限定本发明或可能主张的申请专利范围。本文在不同实施例中所公开的特征,可以在单一实施例中合并实施。相反的在单一实施例中所公开的特征,也可在多个实施例,或在任何合适的次组合(sub-combination)中分别实施。另外,虽然上述特征一开始可能被描述成一个特定组合,一或多个特征可从此一组合中移除。且所主张的特征组合可以是前述特征的次组合或该次组合的变化形式。相同的,虽然在附图中所绘示的各个操作有特定的次序,但其仅是例示达成发明目的的特定操作方式,并不能解释或要求该些操作仅能依照此一特定顺序加以实施。
本领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视前附的权利要求所界定者为准。
Claims (12)
1.一种存储单元写入方法,其特征在于,包括:
获取一存储阵列中至少一存储单元的一第一临界电压;
识别该存储单元的一目标临界电压;并根据该第一临界电压来决定用来使该存储单元达到该目标临界电压所需要的多个写入射击(programming shot)的一数目;
将该存储单元所需的这些写入射击的该数目施加至该存储单元;
验证该存储单元被施予该数目的该些写入射击之后,是否达到该存储单元的该目标临界电压。
2.如权利要求1所述的存储单元写入方法,其特征在于,其中获取该存储单元的该第一临界电压的步骤,包括:
施加一第一写入射击至该存储单元;以及
通过施加该第一写入射击,获取该存储单元的该临界电压。
3.如权利要求1所述的存储单元写入方法,其特征在于,其中获取该存储单元的该第一临界电压的步骤,包括:
决定该存储单元的一第一临界电压分布(distribution);以及
根据一写入速度将该第一临界电压分布区分为N个族群。
4.如权利要求3所述的存储单元写入方法,其特征在于,其中决定用来使该存储单元达到该目标临界电压所需要的这些写入射击的该数目的步骤,包括:
识别该N个族群中对应该存储单元的该第一临界电压的一第一族群;以及
决定施加给该第一族群的这些写入射击的该数目,以达到该存储单元的该目标临界电压。
5.如权利要求1所述的存储单元写入方法,其特征在于,其中将该数目的这些写入射击施加至该存储单元的步骤,包括:
在多个连续操作(successive operations)中将该数目的这些写入射击施加至该存储单元,而不在这些写入射击之间施加任何中间写入验证操作(intermediate programverify operations)。
6.如权利要求1所述的存储单元写入方法,其特征在于,其中验证该存储单元是否达到该目标临界电压的步骤,包括:
进行一第一次写入验证操作,以确认在施加一倒数第二次写入射击(penultimateprogramming shots)后,该存储单元是否达到该目标临界电压水平;
对未达到该目标临界电压的该存储单元施加一最终写入射击;
进行一第二次写入验证操作以确认该存储单元是否达到该目标临界电压。
7.如权利要求1所述的存储单元写入方法,其特征在于,其中验证该存储单元是否达到该目标临界电压的步骤,包括:
在对该存储单元施加该倒数第二次写入射击之后,获取该存储单元的一第二临界电压;
根据该存储单元的该第二临界电压决定用来使该存储单元达到该目标临界电压所需要的多个写入射击的一额外数目;
在多个连续操作中将该存储单元所需的该额外数目的该些写入射击施加至该存储单元;以及
验证被施予该额外数目的这些写入射击的该存储单元是否达到该存储单元的该目标临界电压。
8.一种存储器元件,其特征在于,包括:
一存储器控制器(memory controller);
多个指令,储存于一储存介质(storage medium),当这些指令被该存储器控制器执行时,会进行多个操作,这些操作包括:
获取一存储阵列中至少一存储单元的一第一临界电压;
识别该存储单元的一目标临界电压;并根据该第一临界电压来决定用来使该存储单元达到该目标临界电压所需要的多个写入射击的一数目;
将该存储单元所需的该数目的这些写入射击施加至该存储单元;
验证该存储单元被施予该数目的这些写入射击之后是否达到该存储单元的该目标临界电压。
9.如权利要求8所述的存储器元件,其特征在于,其中获取该存储单元的该第一临界电压的步骤,包括:
施加一第一写入射击至该存储单元;以及
通过施加该第一写入射击,获取该存储单元的该临界电压。
10.如权利要求8所述的存储器元件,其特征在于,其中获取该存储单元的该第一临界电压的步骤,包括:
决定该存储单元的一第一临界电压分布;以及
根据一写入速度将该第一临界电压分布区分为N个族群。
11.如权利要求10所述的存储器元件,其特征在于,其中决定用来使该存储单元达到该目标临界电压所需要的这些写入射击的该数目的步骤,包括:
识别该N个族群中对应该存储单元的该第一临界电压的一第一族群;以及
决定施加给该第一族群的这些写入射击的该数目,以达到该存储单元的该目标临界电压。
12.如权利要求8所述的存储器元件,其特征在于,还包括一高速缓存,配置来储存该存储单元的该第一临界电压和该存储单元所需要的这些写入射击的该数目;
其中该存储器控制器被配置来进行多个操作,使得将该数目的这些写入射击施加至该存储单元;这些操作包括:
从该高速缓存中读取用来使该存储单元达到该目标临界电压所需要的这些写入射击的该数目;以及
在多个连续操作中将该数目的这些写入射击施加至该存储单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/985,622 | 2015-12-31 | ||
US14/985,622 US9543001B1 (en) | 2015-12-31 | 2015-12-31 | Programming memory cells |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106935270A true CN106935270A (zh) | 2017-07-07 |
CN106935270B CN106935270B (zh) | 2019-12-20 |
Family
ID=57706035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610153509.9A Active CN106935270B (zh) | 2015-12-31 | 2016-03-17 | 存储单元写入方法及其应用 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9543001B1 (zh) |
CN (1) | CN106935270B (zh) |
TW (1) | TWI611402B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112102872A (zh) * | 2019-06-17 | 2020-12-18 | 爱思开海力士有限公司 | 存储器装置和操作该存储器装置的方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11887668B2 (en) * | 2021-03-26 | 2024-01-30 | Micron Technology, Inc. | All levels programming of a memory device in a memory sub-system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055764A (zh) * | 2006-04-12 | 2007-10-17 | 奇梦达闪存有限责任公司 | 编程存储单元块的方法、非易失性存储器件和存储卡器件 |
US20090285022A1 (en) * | 2008-05-14 | 2009-11-19 | Samsung Electronics Co., Ltd. | Memory programming method |
CN104952486A (zh) * | 2014-03-25 | 2015-09-30 | 群联电子股份有限公司 | 数据储存方法、存储器控制电路单元以及存储器储存装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100891405B1 (ko) * | 2007-09-27 | 2009-04-02 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치 및 그 동작 방법 |
KR100953045B1 (ko) * | 2008-05-23 | 2010-04-14 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 프로그램 방법 |
KR100965071B1 (ko) * | 2008-07-10 | 2010-06-21 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 프로그램 방법 |
KR101074539B1 (ko) * | 2009-02-04 | 2011-10-17 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치 및 그 동작 방법 |
JP2013143155A (ja) | 2012-01-06 | 2013-07-22 | Powerchip Technology Corp | 不揮発性半導体記憶装置とその書き込み方法 |
-
2015
- 2015-12-31 US US14/985,622 patent/US9543001B1/en active Active
-
2016
- 2016-03-11 TW TW105107475A patent/TWI611402B/zh active
- 2016-03-17 CN CN201610153509.9A patent/CN106935270B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055764A (zh) * | 2006-04-12 | 2007-10-17 | 奇梦达闪存有限责任公司 | 编程存储单元块的方法、非易失性存储器件和存储卡器件 |
US20090285022A1 (en) * | 2008-05-14 | 2009-11-19 | Samsung Electronics Co., Ltd. | Memory programming method |
CN104952486A (zh) * | 2014-03-25 | 2015-09-30 | 群联电子股份有限公司 | 数据储存方法、存储器控制电路单元以及存储器储存装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112102872A (zh) * | 2019-06-17 | 2020-12-18 | 爱思开海力士有限公司 | 存储器装置和操作该存储器装置的方法 |
CN112102872B (zh) * | 2019-06-17 | 2024-01-05 | 爱思开海力士有限公司 | 存储器装置和操作该存储器装置的方法 |
Also Published As
Publication number | Publication date |
---|---|
US9543001B1 (en) | 2017-01-10 |
TWI611402B (zh) | 2018-01-11 |
TW201735034A (zh) | 2017-10-01 |
CN106935270B (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102298966B (zh) | 非易失性存储器设备、系统及编程方法 | |
US9859015B2 (en) | Non-volatile memory device and memory system including the same | |
US11301176B2 (en) | Microcontroller architecture for non-volatile memory | |
US11004517B2 (en) | Storage device including nonvolatile memory device and operating method thereof | |
CN105097034A (zh) | 非易失性存储系统以及存储控制器的操作方法 | |
CN109410998A (zh) | 存储器装置及其操作方法 | |
CN108206041A (zh) | 存储器读取操作方法、存储器控制器及存储系统操作方法 | |
KR20120076787A (ko) | 비휘발성 메모리 장치의 프로그램 방법 | |
KR20130012308A (ko) | 비휘발성 메모리 장치의 프로그램 방법 | |
CN103839593A (zh) | 快闪接口错误注入器、注入方法和系统 | |
US9251900B2 (en) | Data scrambling based on transition characteristic of the data | |
KR20130049543A (ko) | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치를 제어하는 제어 방법 | |
CN106158033A (zh) | 存储器电路及其操作方法 | |
US10838726B1 (en) | Asynchronous FIFO buffer for redundant columns in memory device | |
CN110196823A (zh) | 电子装置及其操作方法 | |
CN108735253A (zh) | 非易失性存储器存储系统 | |
US11798640B2 (en) | Programming a memory device | |
CN109785892A (zh) | 包括字线缺陷检测电路的存储器器件 | |
CN107980126A (zh) | 多裸芯储存装置的调度方案 | |
CN108694989A (zh) | 存储设备及其坏块指派方法 | |
CN110176261A (zh) | 存储装置及其操作方法 | |
CN109686391A (zh) | 非易失性存储器装置及其操作方法及非易失性存储器封装 | |
CN107924700A (zh) | 自适应多阶段擦除 | |
CN106233258A (zh) | 可变宽度纠错 | |
CN106935270A (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 |