为存储器的块调整编程步长的系统和方法

文档序号:6766190阅读:187来源:国知局
为存储器的块调整编程步长的系统和方法
【专利摘要】一种用于对非易失性存储器进行编程的方法,包括为存储器器件的块将编程步长从第一值减少至第二值。编程步长至少部分地基于确定出与块相对应的错误计数超过阈值而被减少。
【专利说明】为存储器的块调整编程步长的系统和方法

【技术领域】
[0001] 本公开总体上涉及为存储器的块调整编程步长(programming step size)。

【背景技术】
[0002] 诸如通用串行总线(USB)闪存器件或可拆卸存储卡这样的非易失性存储器器件 己经考虑到数据和软件应用的增大的便携性。闪存器件能够通过在每个闪存单元中存储多 个比特来提高数据存储密度和成本效率。
[0003] 在单个闪存单元中存储信息的多个比特通常包括将多个比特的序列映射到闪存 单元的状态。在确定多个比特的序列将要被存储在特定闪存单元中之后,闪存单元可被编 程至与多个比特的序列相对应的状态。使用小的编程步长来对闪存单元进行编程可增大编 程精度,但是会增大编程步骤的数量,由此增大编程等待时间(latency)。使用大的编程步 长来对闪存单元进行编程可减少编程步骤的数量,由此减少编程等待时间,但是会降低编 程精度。在存储器器件中的存储器单元已被编程时,可通过感测存储器单元的编程状态来 从存储器单元中读取数据。


【发明内容】

[0004] 至少部分地基于确定出与块相对应的错误计数满足阈值来为数据存储器件中的 存储器的块减少编程步长。因此,通过使用减少的编程步长可以实现被写入至所述块的 存储元件中的阈值电压的更紧凑的分布,以便能够以减少错误的方式将数据编程至所述块 中。通常,"年轻"的存储器会比"年老"的存储器经历更少的错误。因此,年轻的存储器的 块可使用大的编程步长而被编程。
[0005] 使用大的编程步长来对所述块进行编程可减少编程步骤的数量,由此减少编程等 待时间。通常,随着存储器的老化,与从所述块中的存储元件中读取的数据相关联的错误的 数量通常增大。响应于随着存储器的老化而错误计数达到阈值,使用减少的编程步长来对 所述块进行编程可提尚精度、减少错误并且延长存储器的寿命。

【专利附图】

【附图说明】
[0006] 图1是系统的第一示例性实施例的框图,所述系统用于至少部分地基于与块相对 应的错误计数来为存储器器件的块将编程步长从第一值减少至第二值。
[0007] 图2是总体示图,示出一组存储元件的可以从图1的存储器的块中读取的代表性 的电压特征并且示出通过改变编程步长而对比特错误的校正。
[0008] 图3是系统的第二示例性实施例的框图,所述系统用于至少部分地基于与块相对 应的错误计数来为存储器器件的块将编程步长从第一值减少至第二值。
[0009] 图4是示出至少部分地基于与块相对应的错误计数来为存储器器件的块将编程 步长从第一值减少至第二值的方法的特定实施例的流程图。 /1

【具体实施方式】
[0010] 公开了为数据存储器件中的存储器的块将编程步长从第一值减少至第二值的系 统和方法。编程步长至少部分地响应于确定与块相对应的错误计数已经达到阈值而减少。 减少编程步长可以通过生成被写入块的存储元件(element)中的阈值电压的更紧凑的分 布(例如,随着存储器老化)来使能够以减少错误的方式将数据编程至块中。
[0011] 参照图1,系统的特定示例性实施例被描绘并总体上标明为100,被配置为至少部 分地基于与块相对应的错误计数来将对存储器器件的块的编程步长从第一值减少至第二 值。编程步长还可基于已经在块上进行的存储器读取的次数、块的写/擦循环的次数、或它 们的组合。系统100包括与主机130耦接的数据存储器件102。数据存储器件102包括经 由总线150与控制器106耦接的存储器104。
[0012] 主机130可被配置来提供所要被存储于存储器104的数据或者可被配置来请求所 要从存储器104读取的数据。例如,主机130可包括移动电话、音乐或视频播放器、游戏控 制台(console)、电子书阅读器、个人数字助理(PDA)、诸如便携式计算机、笔记本计算机或 平板计算机这样的计算机、任何其它电子器件、或它们的任何组合。
[0013] 数据存储器件102可以是存储器卡,例如Secure Digital SD?-卡、 microSD?卡、miniSD. TM卡(特拉华州威尔明顿市的SD-3C有限责任公司的商标)、 MultiMediaCard. TM(MMC. TM)卡(弗吉尼亚州阿灵顿市的JEDEC固态科技联盟的商标)、或 GOffl^actFlash? (CF)卡(加利福尼亚州米尔皮塔斯市的SanDisk公司的商标)。作为 另一实例,数据存储器件102可以是主机130中的内嵌存储器,例如eMMC? (弗吉尼亚 州阿灵顿市的JEDEC固态科技联盟的商标)和eSD存储器作为示例性实例。
[0014] 存储器104可以是闪存器件的非易失性存储器,所述闪存器件例如NAND闪存器 件、NOR闪存器件或任何其它类型的闪存器件。存储器104包括多个块,例如第一代表性的 块110和第二代表性的块112。存储器104进一步包括写电路114,配置来根据编程步长 将数据编程至一个或多个块110、112。例如,如关于图2更详细描述的,写电路114可经由 具有诸如第一编程步长II 6这样的编程步长的一系列编程脉冲将数据编程至一个或多个 块11〇、112中。写电路114可被配置来存储第一编程步长116作为默认编程步长。写电路 114可被配置来接收并使用来自控制器106的另一编程步长,例如第二编程步长118,以替 代默认编程步长。例如,写电路114可被配置来根据第一编程步长116将第一数据编程至块 110中,并且可被配置来根据第二编程步长11S将第二数据编程至块112中(例如,当控制 器1〇6将数据写入块II 2并且将第二编程步长118发送至写电路114以进行这种写操作)。 因此,控制器106可以以逐块为基础来为将要经由写电路114而被写入存储器的数据选择 编程步长。
[0015] 控制器106可被配置来接收来自主机130的存储器访问请求并处理从存储器1〇4 读取的数据。控制器1〇6包括基于块的编程调整引擎120,所述基于块的编程调整引擎120 配置来接收阈值12 2和块错误计数124。基于块的编程调整引擎120可被配置来至少部分 地基于所接收到的阈值12 2和所接收到的块错误计数1M来调整由写电路114所使用的编 程步长。基于块的编程调整引擎120可将阈值122与块错误计数124进行比较,并且基于 结果,基于块的编程调整引擎120可选择第二编程步长118。例如,如果块错误计数小 于阈值122,则可以不选择第二编程步长118。如果块错误计数124大于阈值122,则可以选 择第二编程步长118以提供给存储器104。如关于图3所述,可基于第一编程步长116来计 算第二编程步长118,或者可以从表中选择第二编程步长118。
[0016] 控制器106可被配置来基于确定与块相对应的错误计数满足阈值来为存储器的 块将编程步长从第一值减少至第二值。例如,与块110相对应的错误计数可以随着由于对 块110的多次存储器读取或由于对块110的多次写/擦循环所造成的存储器104的老化而 增大。当与块110相对应的错误计数(例如,块错误计数124)满足阈值(例如,阈值122) 时,对块110的编程步长可从第一编程步长116减少至第二编程步长118。举例而言,基于 块的编程调整引擎120可确定以基于将所接收到的阈值122与所接收到的块错误计数124 的比较结果来将编程步长从第一编程步长116调整为第二编程步长118。控制器106可将 第二编程步长118发送至写电路114,以便在对块110的编程(例如,将数据写入块110)中 使用。
[0017] 在操作期间,主机130可指令控制器106读取与块110相对应的数据。控制器106 可基于所读取的数据来确定块错误计数124,并且可将块错误计数124与阈值122进行比 较。如果块错误计数124满足阈值122,(例如,块错误计数124超过阈值122),编程步长 可从第~编程步长116减少至第二编程步长118。
[0018] 通过为存储器器件的块将编程步长从第一值(例如,第一编程步长116)减少至第 二值(例如,第二编程步长118),可增加编程步骤的数量,并且因此增大编程等待时间。然 而,如关于图2所述,通过使用已减少的编程步长而被编程至块中的数据将遇到减少的错 误,延长存储器器件的寿命。此外,通常,随着趋向存储器器件的使用寿命的末端,编程步长 将减少,并且在存储器器件的大部分寿命期间,等待时间不增大。
[0019] 图2示出了一组存储元件的可以从诸如图1的块110这样的存储器的块中读取 的代表性的电压特征210、220和230,并且示出了减少编程步长以降低由于电压阈值分布 中的交叠所造成的数据畸变(corruption)的效果。例如,从一组诸如2比特单元这样的 多级单元中读取的阈值电压特征示出在第一单元电压分布(CVD)210中。第一 CVD 210示 出了通过使用第一编程步长而被编程为特定阈值电压的单元分布。例如,第一图形表示 (graphical representation) 250不出了具有诸如第一编程步长116这样的编程步长的一 系列编程脉冲。第一编程步长116表示第一电压值。所述一系列编程脉冲可对诸如图1的 存储器104的块110这样的一个或多个块进行编程。作为示例性实例,示出了四个编程脉 冲。每个连续的编程脉冲在电压值方面按照第一编程步长116的电压值而增大。举例而言, 第三编程光脉冲可具有一电压值,该电压值等于将第一电压值与第二编程脉冲的电压值相 力口。举例而言,对块110进行编程可以包括第一编程等待时间或延迟tl。
[0020] 举例而言,第一 CVD 210包括由三个读取电压TO 202、T1 204和T2 206定义的四 个代表性的阈值电压范围,并且分别与单元状态Er、A、B和C相对应。例如,2比特值'11' 可对应于与"Er"状态相对应的第一阈值电压范围232中的阈值电压,2比特值'10'可对应 于与"A"状态相对应的第二阈值电压范围234中的阈值电压,2比特值'00'可对应于与"B" 状态相对应的第三阈值电压范围236中的阈值电压,并且2比特值'01'可对应于与"C"状 态相对应的第四阈值电压范围238中的阈值电压。
[0021] 可通过将单元阈值电压与读取电压TO 202-T2 206中一个或多个相比较来从存 储元件中读取数据。第一 CVD210被示出为没有错误(即,所有单元均保持在它们的初始经 编程的状态)。尽管每个单元最初均可被编程为具有在其各自的阈值电压范围的中心处阈 值电压,但是由于各种因素,例如存储器读取的次数或存储元件所位于其中的块的写/擦 循环的次数,实际的单元阈值电压可从中心电压"漂移",造成第二CVD 220。
[0022] 第二CVD 220代表可在比第一 CVD 210稍晚的时间(例如,随着存储器的老化) 从该组多级单元读取的另一阈值电压特征。CVD 220示出了通过使用第一编程步长116而 被编程为特定阈值电压的单元的分布。对于初始被编程为状态"Er"和"Α"的单元而言,错 误区域222包括可发生在块的存储元件中的错误,所述单元的阈值电压已经漂移穿过读取 电压T0 2〇2而进入另一状态。举例而言,错误可随着存储器的老化而发生,并且可对应于 存储器读取的次数或存储元件所位于其中的块的写/擦循环的次数。如图所示,错误可产 生于初始被编程为"Er"状态的单元的阈值电压增大超过了在"Er"状态与"A"状态之间的 读取电压T0 202。通过使用读取电压T0 202来读取这些单元将导致所述单元被错误识别 为处于"A"状态而非处于"Er"状态。错误区域222还包括初始被编程为"A"状态的单元, 该单元的阈值电压已经减少至读取电压T0 202以下。通过使用读取电压T0 202读取这些 单元将导致所述单元被错误识别为处于"Er"状态而非处于"A"状态。
[0023] 在第三CVD230中示出了从第二CVD 220的该组2比特多级单元读取的另一代表 性的阈值电压特征,其中通过例如由图1的基于块的编程调整引擎120减少用于将单元编 程为特定阈值电压的编程步长,已经避免了第二CVD 220的错误。例如,第二图形表示260 示出了具有诸如第二编程步长118这样的第二编程步长的第二序列编程脉冲,所述第二编 程步长从第一编程步长116减少。第二编程步长118对应于第二电压值,所述第二电压值 小于第一电压值。块110可随着存储器104的老化根据第二编程步长118而被编程。作为 示例性实例,示出了八个编程脉冲。每个连续的编程脉冲在电压值方面按照第二编程步长 11S而增大。举例而言,对块110进行编程可以包括第二编程等待时间t2。由于编程脉冲 的数量增大,所以第二编程等待时间t2大于第一编程等待时间tl。
[0024] 在第三CVD 230中,当根据第三CVD 230读取时,由减少的编程步长造成处于当通 过第二CVD 22〇中的读取电压T0202读取时被错误识别为处于"A"状态的"Er"状态中的 单元被正确识别为处于"Er"状态。当根据第三CVD 230读取时,由减少的编程步长造成处 于当通过第二CVD 220中的读取电压T0 202读取时被错误识别为处于"Er"状态的"A"状 态中的单元被正确识别为处于"A"状态。
[0025] 通过减少存储器的特定块中的存储元件的编程步长,实现了被写入特定块的存储 元件中的阈值电压的更紧凑的分布,使得能够以减少错误的方式将数据编程至块中并且延 长存储器的寿命。
[0026] 参照图3,图1的系统的特定示例性实施例被描绘并总体上标明为300,所述特定 示例性实施例显示了系统组件的其它细节。系统300包括与主机130耦接的数据存储器件 102。数据存储器件102包括经由总线150与控制器106耦接的存储器104。
[0027]存储器104包括多个块,所述多个块包括第一块110和第N块112。第一块110包 括多条字线,例如代表性的字线319。每条字线包括一组存储元件,例如一组存储元件311。 该组存储元件311可包括多个多级单元存储元件,例如闪存器件的代表性的存储元件313、 315和317。存储器104包括写电路114并且存储第一编程步长116的指示(indication)。 例如,写电路114可被配置来根据第一编程步长116来将第一数据编程至块110中,并且可 被配置来根据第二编程步长118来将第二数据编程至块112中(例如,当控制器106将数 据写入块112中并将第二编程步长118发送至写电路114以进行这种写操作时)。因此, 控制器106可以以逐块为基础来为将要经由写电路114而被写入存储器的数据选择编程步 长。
[0028] 控制器106包括基于块的编程调整引擎120。控制器106进一步包括错误校正码 (ECC)引擎320,所述错误校正码引擎320配置来进行解码操作并且配置来提供与解码操作 中所检测到的错误的数量相对应的数据以存储在错误计数存储322中。例如,从块110中 的存储元件311读取的数据可由ECC引擎320来接收。ECC引擎320可对读取数据进行解 码操作并且可将基于该解码操作的错误计数提供给基于块的编程调整引擎120。
[0029] 与存储器104的块相对应的、被提供给基于块的编程调整引擎120的错误计数可 包括在从块110读取的数据中检测到的错误的总数,所述错误的总数基于块110的每条字 线的字线错误计数的总和。由于块110的字线319的读取次数、由于块110的字线319的 写/擦循环的次数、由于一个或多个因素、或它们的组合,与块110相对应的错误计数可随 着存储器104的老化而增大。读取计数326可对应于自块110的最近一次擦除以来已经在 块110上进行了的存储器读取的次数。写/擦计数328可对应于块110的写/擦循环的次 数。
[0030] 当与块110相对应的错误计数满足阈值时,在将数据写入块110中时所使用的编 程步长可从第一编程步长116减少至第二编程步长118。举例而言,基于块的编程调整引 擎120可至少部分地基于所接收到的阈值和所接收到的块错误计数来将编程步长从第一 值(例如,第一编程步长116)调整为第二值(例如,第二编程步长118)。
[0031] 控制器106可被配置来基于第一值计算第二值。例如,可基于缩放系数乘以第一 编程步长116来计算第二编程步长118。举例而言,可通过将第一编程步长116乘以系数 1.2(例如,第二值比第一值大20%)来计算第二编程步长118。在另一实施方式中,第一编 程步长116可被用作索引,以从诸如表、寄存器、缓存等这样的存储位置中检索第二编程步 长 118〇
[0032] 控制器106可被配置来从编程步长(一个或多个)的表324中选择第二值。例如, 第一值可被用作索引,以从编程步长(一个或多个)的表324中检索第二值。在其它实施 方式中,可至少部分地基于图1的块错误计数124的值来从编程步长(一个或多个)的表 324中选择第二值。举例而言,如果块错误计数124的值超过阈值122很多,则第二值可从 编程步长(一个或多个)的表324中选择,使得从第一值的减少量大于在块错误计数124的 值超过阈值122较少量的情况下所具有的减少量。尽管编程步长(一个或多个)的表324 被示出为在控制器106中,然而在其它实施方式中,编程步长(一个或多个)的表324可以 替代地在存储器104中。
[0033] 控制器106可被配置来基于在控制器106中的将对块110的读取的计数与对块 110的写/擦循环的计数进行比较来减少块110的编程步长。例如,在"较新"的存储器中 的错误可由读取干扰(read disturbance)所造成而不是由块110的写/擦循环的次数所 造成,所述读取千扰由未被读取的单元接收升高的电压应力所导致,使擦状态(即,图2的 状态"Er")中的单元被读取作为编程状态(即,图2的状态"A")中的单元。为了确定错 误是否主要由于器件老化或读取干扰(read disturb),控制器106可以将读取计数326与 写/擦计数328相比较,并且如果读取计数326与写/擦计数328的比较结果满足阈值,则 可将编程步长从第一值减少至第二值。此外,控制器106可被配置来响应于在读取计数326 与写/擦计数328之间的比较结果满足读取干扰阈值来对块110进行刷新操作 340代替调 整编程步长。例如,如果读取计数326相对高,则写/擦计数328相对低,并且错误计数满 足阈值,错误可主要由于读取干扰,并且控制器106可进行刷新操作340 (例如,在读取之后 的重新写入数据)而不是减少编程步长。
[0034] 在操作期间,主机130可指令控制器106读取与块110相对应的数据。控制器106 可确定从字线319读取的错误,并且可更新错误计数存储322。例如,控制器可使用从字线 319读取的错误的新数量来代替从字线319读取的错误的先前数量。
[0035] 控制器106可为块110对来自错误计数存储322的字线错误进行求和(例如,确 定图1的块错误计数124),并将块错误计数124与阈值122进行比较。该比较可以在后台 处理中进行,或者响应于对块110的写入请求而进行。如果块错误计数124大于阈值122, 则可将读取计数326与写/擦计数328进行比较以确定错误是否可能是由于读取千扰。如 果读取计数326与写/擦计数328的比较显示读取错误的可能性,则控制器可进行刷新操 作340。否则,控制器106可将第二编程步长118发送至存储器104以在对块110的下一次 写操作期间使用。
[0036] 减少存储器的特定块中的存储元件的编程步长使能够以减少错误的方式将数据 编程至块中并且延长存储器的寿命。
[0037] 图4描绘了示出为存储器器件的块将编程步长从第一值减少至第二值的方法400 的实施例的流程图。方法400可由图1和图3的数据存储器件102进行。
[0038] 在402处,将错误计数与阈值进行比较。举例而言,控制器106可读取与已经根据 第一编程步长116而被编程的块110相对应的数据。图3的EEC引擎320可对所读取的数 据进行解码操作,并且将错误计数提供给字线319。可将块110的所有字线的错误计数结合 以确定块错误计数124。可将块错误计数124发送至基于块的编程调整引擎120,并且可将 块错误计数124与阈值122比较。
[0039] 在404处,确定错误计数是否满足阈值。如果错误计数不满足阈值,则该方法返回 至402。如果错误计数满足阈值,则在406处,可至少部分地基于确定出块的错误计数满足 阈值来为存储器器件的块将编程步长从第一值减少至第二值。举例而言,控制器106可将 块错误计数124与阈值122进行比较,并且可基于比较的结果来减少编程步长。此外,控制 器106可以响应于比较的结果满足读取千扰的阈值来对块110进行刷新操作340代替调 整编程步长。例如,如果块错误计数124大于阈值122,则可将读取计数326与写/擦计数 328进行比较以确定错误是否是由于读取千扰。如果读取计数326大于写/擦计数328,则 控制器可进行刷新操作340而不是减少编程步长。如果读取计数326小于写/擦计数328, 则控制器106可将第二编程步长118发送至存储器104以在对块11〇的下一次写操作期间 使用。
[0040] 使用大的编程步长对块110进行编程可减少编程步骤的数量,由此减少编程等待 时间。通常随着存储器的老化,错误的数量增加。随着存储器的老化,使用减少的编程步长 对块进行编程可提高精度,减少错误,并且延长存储器的寿命。
[0041] 尽管本文所描绘的各种组件被示出为方框组件并且以一般术语进行描述,然而这 些组件可以包括一个或多个微处理器、状态机、或其它电路,所述其它电路配置来使诸如图 1和图3的数据存储器件102这样的数据存储器件能够进行归因于这些组件或其任何组合 的特定的功能。例如,图1和图3的控制器106可以代表物理组件,例如控制器、处理器、状 态机、逻辑电路或其它结构,所述物理组件用以指令基于块的编程调整引擎120将编程步 长从第一值(例如,第一编程步长116)减少至第二值(例如,第二编程步长118)。
[0042] 控制器1〇6可以通过使用微处理器或微控制器来实现,所述微处理器或微控制器 被编程以生成控制信息并且被编程以指令基于块的编程调整引擎120。在特定实施例中,控 制器106包括执行存储在存储器104中的指令的处理器。可选地,或附加地,由处理器执行 的可执行的指令可存储于不是非易失性存储器104的一部分的单独的存储器位置,例如存 储于只读存储器(ROM)。
[0043] 在特定实施例中,数据存储器件102可以是便携式器件,配置来选择性地与一个 或多个外部器件耦接。例如,数据存储器件102可以是可拆卸的器件,例如通用串行总线 (USB)闪存驱动器或可拆卸的存储器卡。然而,在其它实施例中,数据存储器件 102可附接 于或内置于一个或多个主机中,例如附接于或内置于便携式通信器件的外壳中。例如,数据 存储器件102可以位于成套设备中,所述成套设备例如无线电话、个人数字助理(pda)、游 戏装置或控制台、便携式导航装置、计算机、或使用内置非易失性存储器的其它装置。在特 定实施例中,数据存储器件1〇 2包括非易失性存储器,例如闪存(例如,NAND、N0R、多级单元 (MLC)、分比特线NOR(DINOR)、AND、高电容耦合率(HiCR)、非对称非接触式晶体管(ACT)、或 其它闪存)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPR0M)、只 读存储器(R0M)、一次可编程存储器(0ΤΡ)、或任何其它类型的存储器。
[0044]本文所描述的实施例的说明意在提供对各种实施例的一般理解。根据本公开可利 用并可得出其它实施例,使得在不脱离本公开的范围的情况下可进行结构和逻辑的置换与 改变。本公开意在覆盖各种实施例的任何和全部后续修改或变化。
[0045]上述公开的主题应被认为是示例性的,而非限制性的,并且所附权利要求意在覆 盖落入本公开的范围内的所有这种修改、改善和其它实施例。因此,对法律所允许的最大范 围而言,本发明的范围由所附权利要求及其等同物的最宽可允许的解释来确定,而不应被 限制或局限于上文的详细描述。
【权利要求】
1. 一种方法,包括: 至少部分地基于确定与存储器器件的块相对应的错误计数满足阈值,针对所述块将编 程步长从第一值减少至第二值。
2. 根据权利要求1所述的方法,其中减少所述编程步长和增大编程步骤的数量能够通 过生成被写入所述块的存储元件中的阈值电压的更紧凑的分布,来以减少错误的方式将数 据编程至所述块中。
3. 根据权利要求1所述的方法,其中所述错误计数包括与从所述块的一些字线中的存 储元件读取的数据相关联的错误的总数,所述总数基于所述块的每条字线的字线错误计数 的总和。
4. 根据权利要求1所述的方法,进一步包括从表中选择所述第二值。
5. 根据权利要求4所述的方法,其中所述表位于所述存储器器件的存储器中。
6. 根据权利要求4所述的方法,其中所述表位于所述存储器器件的控制器中。
7. 根据权利要求1所述的方法,进一步包括基于所述第一值来计算所述第二值。
8. 根据权利要求1所述的方法,其中减少所述编程步长进一步基于所述块的读取计数 与所述块的写/擦循环的计数的比较。
9. 根据权利要求8所述的方法,进一步包括,响应于所述比较的结果满足读取干扰错 误阈值,进行刷新操作代替调整所述编程步长。
10. 根据权利要求1所述的方法,其中所述存储器器件包括闪存。
11. 一种数据存储器件,包括: 存储器;以及 控制器,所述控制器配置为至少部分地基于由所述控制器确定与所述存储器的块相对 应的错误计数满足阈值,针对所述块,将编程步长从第一值减少至第二值。
12. 根据权利要求11所述的数据存储器件,进一步包括写电路,所述写电路配置为根 据所述编程步长将数据编程至所述块中。
13. 根据权利要求11所述的数据存储器件,进一步包括基于块的编程调整引擎,所述 基于块的编程调整引擎配置为至少部分地基于所接收到的阈值数据和所接收到的错误计 数数据来调整所述编程步长。
14. 根据权利要求13所述的数据存储器件,进一步包括错误校正码引擎,所述错误校 正码引擎配置为对从所述块读取的数据进行解码操作以及将所述错误计数提供给所述基 于块的编程调整引擎。
15. 根据权利要求13所述的数据存储器件,其中所述错误计数包括错误的总数,所述 错误的总数基于所述块的每条字线的字线错误计数的总和。
16. 根据权利要求11所述的数据存储器件,其中所述控制器进一步配置为从表中选择 所述第二值。
17. 根据权利要求16所述的数据存储器件,其中所述表位于所述数据存储器件的所述 存储器中。
18. 根据权利要求16所述的数据存储器件,其中所述表位于所述数据存储器件的所述 控制器中。
19. 根据权利要求11所述的数据存储器件,其中减少所述编程步长进一步基于在所述 控制器处所述块的读取计数与所述块的写/擦循环的计数的比较。
20.根据权利要求19所述的数据存储器件,其中所述控制器进一步配置为,响应于所 述比较的结果满足读取干扰错误阈值,对所述块进行刷新操作代替调整所述编程步长。
【文档编号】G11C11/56GK104272393SQ201380024453
【公开日】2015年1月7日 申请日期:2013年3月27日 优先权日:2012年4月13日
【发明者】M.A.达布鲁, D.潘特拉基斯, S.斯卡拉 申请人:桑迪士克科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1