用于减少读取干扰错误的存储器系统和方法

文档序号:10488681阅读:429来源:国知局
用于减少读取干扰错误的存储器系统和方法
【专利摘要】公开了用于减少读取干扰错误的存储器系统和方法。在一个实施例中,提供了包括存储器的多个块和控制器的存储器系统。该控制器被配置为检测块中的读取干扰错误,识别引起该读取干扰错误的数据,并且将引起读取干扰错误的该数据移动到具有更高的读取耐久性的块。这可以通过将读取计数器分配到块以确定被频繁地读取的数据并且将该数据存储在单独的块中直到其较不频繁地被读取并且将不太可能引起额外的读取干扰错误来实现。
【专利说明】用于减少读取干扰错误的存储器系统和方法
[0001 ]优先权
[0002]本申请要求于2015年I月30日提交的题为“Memory System and MethodforReducing Read Disturb Errors(用于减少读取干扰错误的存储器系统和方法)”的印度专利申请N0.310/MUM/2015的优先权,其全部公开内容通过引用结合于此。
技术领域
[0003]本发明涉及用于减少读取干扰错误的存储器系统和方法。
【背景技术】
[0004]在具有诸如NAND快闪存储器的非易失性存储器的存储器系统中,读取存储器的块中的字线可能通过改变存储的电压而引起存储在相邻的字线中的数据的错误。该影响被称为“读取干扰”。由于读取干扰错误发生在相邻的字线中,当读取给定字线时没有指示对该字线的读取引起了在相邻的字线中的读取干扰错误。已经开发出各种技术来尝试直接地或间接地检测读取干扰错误。例如,当读取给定字线时,存储器系统还可以读取相邻的字线以确定在该相邻的字线中的读取错误的数量是否超过阈值,这将指示该相邻的字线被读取干扰。作为另一示例(被称为“读取巡检(read patrol)”),存储器系统可以随机地或者连续地读取字线以查找错误。作为另一示例,存储器系统可以计数对每个块的读取的次数,并且当对给定的块的读取的次数超过阈值时,存储器系统可以假设很可能已经在块中发生了读取干扰错误。
[0005]不管所使用的检测技术,当在块中找到或者假设存在读取干扰错误时,存储器系统可以“清除(scrub)”该块(S卩,将数据从该块移动到新的块(如需要,错误校正),并且擦除(erase)旧的块并且将其放到可用块的池中)。将数据移动到新的块通过将存储的电压设置到合适的量而消除了读取干扰的有害影响。

【发明内容】

[0006]本发明的实施例由权利要求定义,并且在该部分中的任何内容都不应被认为是对那些权利要求的限制。
[0007]以介绍的方式,以下实施例涉及用于减少读取干扰错误的存储器系统和方法。在一个实施例中,存储器系统检测在级一的块中的读取干扰错误。存储器系统将存储在所述级一的块中的数据移动到级二的块并且监视对级二的块的读取访问以确定在所述级二的块中何数据被频繁地读取。存储器系统然后将被确定为被频繁地读取的数据从级二的块移动到级三的块并且监视对在所述级三的块中的数据的读取访问以确定在所述级三的块中的数据是否较不频繁地被读取。响应于确定在所述级三的块中的数据较不频繁地被读取,存储器系统将所述数据从级三的块移动到级一的块。
[0008]在另一实施例中,提供了包括存储器的多个块和控制器的存储器系统。所述控制器被配置为检测块中的读取干扰错误,识别导致所述读取干扰错误的数据,并且将引起读取干扰错误的所述数据移动到具有较高的读取忍耐性的块。
[0009]在另一实施例中,提供了存储器系统,所述存储器系统包括存储器的多个块、多个读取计数器和读取干扰模块。读取干扰模块被配置为检测在第一块中的读取干扰错误,将数据从所述第一块移动到第二块,将读取计数器分配到所述第二块以识别热读取数据,将所述热读取数据从所述第二块移动到第三块,将读取计数器分配到所述第三块以确定所述热读取数据何时变为冷读取数据,并且将所述冷读取数据从所述第三块移动到另一块。
[0010]其它实施例是可能的,并且每个实施例可以单独使用或者组合在一起使用。相应地,现将参考附图描述各个实施例。
【附图说明】
[0011 ]图1A是实施例的非易失性存储器系统的框图。
[0012]图1B是示出实施例的示例性存储模块的框图。
[0013]图1C是示出实施例的分层的存储系统的框图。
[0014]图2A是示出根据实施例的在图1A中示出的非易失性存储器系统的控制器的示例性组件的框图。
[0015]图2B是示出根据实施例的在图1A中示出的非易失性存储器存储系统的非易失性存储器的示例性组件的框图。
[0016]图3A是实施例的单个实例读取干扰的图。
[0017]图3B是实施例的对齐的顺序读取干扰的图。
[0018]图3C是实施例的长顺序读取干扰的图。
[0019]图3D是实施例的未对齐的长顺序读取干扰的图。
[0020]图3E是实施例的在相同的块中的多个读取干扰的干扰者和受害体的图。
[0021]图3F是其中所有字线是干扰者和受害体的实施例的图。
[0022]图4是用于减少读取干扰错误的实施例的方法的流程图。
[0023]图5是实施例的跟踪过程的流程图。
[0024]图6是示出在用于减少读取干扰错误的实施例的方法中的步骤的图。
[0025]图7是示出在用于减少读取干扰错误的实施例的方法中的数据流的图。
[0026]图8A是示出实施例的耐读取的块的第一周期的图。
[0027]图SB是示出实施例的耐读取的块的第二周期的图。
[0028]图9是示出实施例的耐读取的混合块的图。
[0029 ]图1O是示出持续时间测量和阈值的实施例的图表。
[0030]图11是示出实施例的对热读取区的读取以及驱动读取的百分比的图。
[0031]图12和13是示出在实施例中可以如何使用读取计数器的图。
【具体实施方式】
[0032]如在上述【背景技术】部分提到的,读取存储器的块中的字线可能通过改变存储的电压而引起存储在相邻的字线中的数据的错误。该影响被称为“读取干扰”。已经开发出各种技术来尝试直接地或间接地检测读取干扰错误,并且当在块中找到或者假设存在读取干扰错误时,存储器系统可以“清除”该块(即,将数据从该块移动到新的块(如需要,错误校正),并且擦除旧的块并且将其放到可用块的池中)。由于数据的写入将在新的块的存储器单元中存储的电压设置到合适的量(即,该写入刷新了编程的状态),因此将数据移动到新的块消除了读取干扰的有害影响。但是,如果数据被频繁地访问,则将存在对新的块中的数据的许多读取,这可能引起该新的块也经历读取干扰错误并且需要被清除。因此,即使清除原始的块解决了目前的读取干扰问题,但是并不解决是什么在最开始引发该问题的更宽泛的问题。以下实施例可被用于解决该更宽泛的问题。
[0033]在转向这些和其它实施例之前,以下段落提供对可以与这些实施例一起使用的示例性存储器系统的讨论。当然,这些仅是示例,并且可以使用其它合适类型的存储模块。
[0034]适合于在实现这些实施例的方面时使用的存储器系统在图1A-1C中示出。图1A是示出根据在此描述的主题的实施例的非易失性存储器系统的框图。参考图1A,非易失性存储器系统100包括控制器102和可以由一个或多个非易失性存储器裸芯104构成的非易失性存储器。如在此所使用的,术语裸芯指形成在单个半导体基板上的非易失性存储器单元以及用于管理这些非易失性存储器单元的物理操作的相关联的电路的集合。控制器102与主机系统相接口并且将用于读取、编程和擦除操作的命令序列发送到非易失性存储器裸芯104。
[0035]控制器102(其可以是快闪存储器控制器)例如可以采取以下形式:处理电路、微处理器或处理器和存储可由(微)处理器执行的计算机可读程序代码(例如,固件)的计算机可读介质、逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器和嵌入的微控制器。控制器102可以用硬件和/或固件配置以进行下面描述并且在流程图中示出的各种功能。此外,被示出为在控制器内部的一些组件也可以存储在控制器的外部,并且可以使用其它组件。此夕卜,短语“可操作性地与...通信”可以指直接地与…通信或者通过一个或多个组件间接地(有线的或无线的)与…通信,其中该一个或多个组件可能在此被示出或者没有被示出。
[0036]如在此所使用的,快闪存储器控制器是管理存储在快闪存储器上的数据并且与诸如计算机或电子装置的主机通信的装置。快闪存储器控制器除了在此描述的特定功能以外可以具有各种功能。例如,快闪存储器控制器可以格式化快闪存储器以确保存储器恰当地操作,标出坏的快闪存储器单元,并分配备用单元以用于替换将来故障的单元。备用单元的一些部分可被用于保持固件以操作快闪存储器控制器并且实现其他特征。在操作中,当主机需要从快闪存储器读取数据或者将数据写入到快闪存储器时,它将与快闪存储器控制器通信。如果主机提供数据将被读取/写入的逻辑地址,快闪存储器控制器可以将从主机接收的逻辑地址转换为在快闪存储器中的物理地址。(可替换地,主机可以提供物理地址。)快闪存储器控制器还可以进行各种存储器管理功能,比如但不限于磨损均衡(分发写入以避免否则将被重复地写入的存储器的特定块的磨损)以及垃圾收集(当块已满之后,仅将数据的有效页移动到新的块,因此已满的块可以被擦除并且重新使用)。
[0037]非易失性存储器裸芯104可以包括任何合适的非易失性存储介质,包括NAND快闪存储器单元和/或NOR快闪存储器单元。存储器单元可以采取固态(例如,快闪)存储器单元的形式并且可以是可一次编程、可几次编程或可多次编程的。存储器单元也可以是单级单元(SLC)、多级单元(MLC)、三级单元(TLC)或使用现在已知或者将来开发的其它存储器单元级技术。此外,存储器单元可以以二维或三维的方式制造。
[0038]控制器102和非易失性存储器裸芯104之间的接口可以是任何合适的快闪接口,比如Toggle Mode(触发模式)200、400或800。在一个实施例中,存储器系统100可以是基于卡的系统,比如安全数字(SD)或微安全数字(微-SD)卡。在可替换的实施例中,存储器系统100可以是嵌入的存储器系统的一部分。
[0039]尽管在图1A中示出的示例中,非易失性存储器系统100(在此有时被称为存储模块)包括在控制器102和非易失性存储器裸芯104之间的单个通道,但是在此描述的主题不限于具有单个存储器通道。例如,在一些NAND存储器系统架构中(比如在图1B和IC中示出的那些),取决于控制器能力,2、4、8个或更多的NAND通道可以存在于控制器和NAND存储器装置之间。在在此所述的任何一个实施例中,在控制器和存储器裸芯之间可以存在多于单个通道,即使在附图中示出了单个通道。
[0040]图1B示出了包括多个非易失性存储器系统100的存储模块200。如此,存储模块200可以包括与主机并且与包括多个非易失性存储器系统100的存储系统204相接口的存储控制器202。存储控制器202和非易失性存储器系统100之间的接口可以是总线接口,比如串行高级技术附件(SATA)或外围组件接口快速(PCIe)接口。在一个实施例中,存储模块200可以是比如在诸如膝上型计算机和平板计算机的便携式计算装置中找到的固态驱动(SSD)。
[0041]图1C是示出分层的存储系统的框图。分层存储系统250包括多个存储控制器202,该多个存储控制器202的每一个控制各自的存储系统204。主机系统252可以经由总线接口访问存储系统中的存储器。在一个实施例中,总线接口可以是NVMe或以太网上的光纤信道(FCoE)接口。在一个实施例中,图1C中示出的系统可以是可由多个主机计算机访问的机架式可安装的大容量存储系统,比如将在数据中心或需要大容量存储的其它位置中找到的。
[0042]图2A是更加详细地示出控制器102的示例性组件的框图。控制器102包括与主机相接口的前端模块108、与一个或多个非易失性存储器裸芯104相接口的后端模块110和进行现在将详细描述的功能的各种其它模块。模块例如可以采取以下形式:设计为与其它组件一起使用的封装的功能性硬件单元、可以由通常进行有关功能的特定功能的(微)处理器或处理电路执行的程序代码的一部分(例如,软件或固件)、或与更大的系统相接口的自包含的硬件或软件组件。控制器102的模块可以包括读取计数器111和读取干扰模块112。如在下面更加详细的解释的,读取计数器111和读取干扰模块112可被用于减少读取干扰错误。
[0043]再次参考控制器102的模块,缓冲器管理器/总线控制器114管理在随机存取存储器(RAM) 116中的缓冲器并且控制控制器102的内部总线仲裁。只读存储器(R0M)118存储系统引导代码。尽管在图2A中示出为位于与控制器102分离,但是在其它实施例中,RAM 116和ROM 118中的一个或两者可以位于控制器内。在其它实施例中,RAM和ROM的部分可以同时位于控制器102中和在控制器之外。
[0044]前端模块108包括主机接口120和物理层接口(PHY) 122,它们提供与主机或下一级的存储控制器的电接口。主机接口 120的类型的选择可以取决于所使用的存储器的类型。主机接口 120的示例包括但不限于SATA、SATA快速、SAS、光纤信道、USB、PCIe和NVMe。主机接口120通常促进数据、控制信号和定时信号的转移。
[0045]后端模块110包括错误校正控制器(ECC)引擎124,该错误校正控制器(ECC)引擎124编码从主机接收的数据字节,并且解码和错误校正从非易失性存储器读取的数据字节。命令排序器126产生将被传输到非易失性存储器裸芯104的命令序列,比如编程和擦除命令序列。RAID(独立驱动的冗余阵列)模块128管理RAID奇偶校验的产生以及损坏的数据的恢复。RAID奇偶校验可被用作正被写入到存储器装置104中的数据的另外级别的完整性保护。在一些情况中,RAID模块128可以是ECC引擎124的一部分。存储器接口 130将命令序列提供到非易失性存储器裸芯104并且从非易失性存储器裸芯104接收状态信息。在一个实施例中,存储器接口 130可以是双倍数据速率(DDR)接口,比如Toggle Mode(触发模式)200、400或800接口。快闪控制层132控制后端模块110的整体操作。
[0046]在图2A中示出的系统100的另外的组件包括介质管理层138,该介质管理层138进行非易失性存储器裸芯104的存储器单元的磨损均衡。系统100还包括其它分立的组件140,比如外部电接口、外部RAM、电阻器、电容器或可以与控制器102接口的其它组件。在可替换实施例中,物理层接口 122、RAID模块128、介质管理层138和缓冲器管理/总线控制器114的一个或多个是控制器102中并非必需的可选组件。
[0047]图2B是更加详细地示出了非易失性存储器裸芯104的示例性组件的框图。非易失性存储器裸芯104包括外围电路141和非易失性存储器阵列142。非易失性存储器阵列142包括被用于存储数据的非易失性存储器单元。非易失性存储器单元可以是任何合适的非易失性存储器单元,包括以二维和/或三维配置的NAND快闪存储器单元和/或NOR快闪存储器单元。外围电路141包括向控制器102提供状态信息的状态机152。非易失性存储器裸芯104还包括缓存数据的数据缓存156。
[0048]如上所述,在具有诸如NAND快闪存储器的非易失性存储器的存储器系统中,读取存储器的块中的字线可能通过改变存储的电压而引起存储在相邻的字线中的数据的错误。该影响被称为“读取干扰”。图3A-3F通过各种示例示出了该影响。这些示例示出了存储器的多个块,其中存储器的每个块具有多个字线和位线的阵列。在一个实施例中,块是存储器的最小可擦除单元,尽管可以在更小级别的粒度上(例如在一个实施例中的页,其中在字线中有四页或八页)进行读取和写入。该多个块可以位于一个存储器裸芯上或跨过多个存储器裸芯。图3A-3F示出了多个块在逻辑上一起被分组在“元块”中。在一个实施例中,元块中的块可以并行被写入和/或读取。
[0049]图3A-3F使用术语“干扰者(aggressor)”和“受害体(victim)”。“干扰者”指正被读取的字线,并且“受害体”指由于干扰者而被读取干扰的字线。受害体基于存储器架构的物理性质而被读取干扰。具体地,在一个实施例中,块是字线和位线的阵列。为了从字线读出数据,该字线被充电到特定电压(例如,2 O V ),并且其他字线被充电到较小的电压(例如,10V)。即使其他字线不被读取,也需要将其充电以便于激活与正被读取的字线相交的位线。随着时间,该较小的电压损耗其他字线并且导致读取干扰错误。被读取的字线不会被不利地影响,因为其被以高电压激活,并且可以使用通常是读取过程的一部分的ECC(错误校正码)校正来校正在数据中的任何错误。
[0050]现在转向示例,图3A示出了读取干扰错误的单个实例。在该示例中,正在读取字线的仅一部分(例如,2K或4K ECC页(具有数据和覆盖该数据的ECC位的页))。但是,整个字线需要被充电,因为尽管该字线的仅一部分最终被转移出,但需要感测整个字线。这导致两个相邻的字线的整体成为受害体。尽管受害的程度不大,但是第一个和最后的字线也是受害体,因为它们靠近源极和漏极。
[0051]图3B示出了对齐的顺序读取干扰。在该示例中,跨过元块中的所有块的字线正被读取(作为“元页”)。如在图3A中,读取字线是干扰者,相邻的字线是受害体,并且第一个和最后的字线也是受害体,但是不像相邻的字线那样严重。图3C示出了长顺序读取干扰,其中正在读取两个相邻条带的字线。这两个相邻条带的字线都是干扰者和受害体两者,由于其每一个在被读取时是干扰者而在另一个被读取时是受害体。如在图3A和3B中,受害体也是紧相邻的字线,以及达较小的程度的第一个和最后的字线。图3D示出了未对齐的长顺序读取干扰,其中对跨过块的彼此没有对齐的字线的读取导致不同的字线成为受害体。图3E示出了在相同的块中的多个读取干扰干扰者和受害体,并且图3F示出了读取条带横跨几个字线的示例(比如当存在几个块的频繁被访问的数据时),使得它们都是干扰者和受害体。
[0052]通过这些示例可见,对存储器的局部化的区的读取可能导致在块中的相邻的字线中的未被检测的干扰。由于读取干扰错误发生在相邻的字线中,当读取给定字线时没有对于该读取导致读取干扰错误或者错误在何处发生的指示。已经开发出各种技术来尝试直接地或间接地检测读取干扰错误。例如,当读取给定字线时,存储器系统还可以读取相邻的字线(例如,伪随机地或周期性地,该周期性取决于所允许的读取的数量)以确定在该相邻的字线中的读取错误的数量是否超过阈值(例如,大于ECC引擎可以校正的错误量的75%),这将指示该相邻的字线被读取干扰。但是,该方法可能给主机操作增加额外的功率和等待时间。(主机的示例包括但不限于移动电话、平板计算机、数字媒体播放器、游戏装置、个人数字助理(PDA)、移动(例如,笔记本型、膝上型)个人计算机(PC)或书籍阅读器)。此外,读取相邻的字线可能促成块的读取干扰问题,因为读取相邻的字线导致它们成为干扰者。
[0053]作为另一示例(被称为“读取巡检”),所述存储器系统可以随机地或者连续地读取字线以查找可能已经由读取干扰引起的可校正的错误。但是,因为读取巡检不是结合读取进行的并且不将相邻的字线作为目标,该技术可能不如上述技术有效。此外,读取巡检可能不能在数据保留问题(即,随着时间的流逝,存储器单元漂移到O伏)和读取干扰之间区分。此外,该技术使用额外的背景功率,可能不能及时找到或者根本不能找到读取干扰错误(取决于提供的背景/空闲时间的量),并且由于读取干扰影响的强局部性可能花费极大量的时间以覆盖整个存储器。此外,读取巡检由于其正在读取字线并且干扰相邻者,可能自身就促成其试图解决的问题。
[0054]作为另一示例,存储器系统可以使用块读取计数器来计数对每个块的读取次数,并且当对给定块的读取的次数超过阈值时,该存储器系统可以假设读取干扰错误很可能已经在块中发生。该技术消耗一定量的存储器空间(例如,2-4字节每块(假设一个计数器,并且可以存在更多个)乘以存储器系统中块的数量)。例如,在固态驱动(SSD)中,可以有256K个块,这可以等于512KB-1MB的空间用于块读取计数器。此外,由于块计数器仅计数对块的读取而不是对在块中的特定字线的局部化读取,该技术可能过于消极并且当实际上不存在问题时指示读取干扰问题。
[0055]不管所使用的检测技术,当在块中找到或者假设存在读取干扰错误时,存储器系统可以“清除”该块(即,将数据从该块移动到新块(如需要,错误校正),并且擦除旧的块并且将其放到可用块的池中)。由于数据的写入在新块的存储器单元中将存储的电压设置到合适的量(即,该写入刷新了编程的状态),因此将数据移动到新块消除读取干扰的不利影响。但是,如果数据被频繁地访问,则在新块中将有对数据的许多读取,这可能引起新块经历读取干扰错误并且需要被清除。因此,即使清除原始的块解决了目前的读取干扰问题,但是并不解决是什么在最开始引发该问题的更宽泛的问题。以下实施例可被用于解决该更宽泛的问题
[0056]—般来说,这些实施例使用三个不同“级”的块。在此,“级”不是指空间关系(即一级的块在另一级的块之上),而是指为对不同的块用于不同目的的指定,并且在本上下文中有时将使用术语“集合”替代“级”。在块的第一、第二和/或第三级中的块可以是相同类型的存储器技术(例如,都是多级单元(MLC)块)或者不同类型的存储器技术(例如,第一和第二级可以包含MLC块,而第三级包含单级单元(SLC)块,或者第一级可以包含MLC块,而第二和第三级包含SLC块等)。
[0057]在一个实施例中,第一级的块是存储器系统的“普通(common)”块并且可以来自可用块的一般池。第二级的块是比第一级的块(第一级可以包含或者不包含任何读取计数器)包含更多读取计数器的那些块。如将在下面更加详细地讨论的,不是永久地将读取计数器与给定的块相关联,存储器系统100(例如,一般是控制器102或者特别地是读取干扰模块112)可以动态地将读取计数器与不同的块关联。以此方式,给定的块有时可以是级一的块并且在其它时间是级二的块(当存储器系统100将读取计数器分配到该块时),并且反之亦然。因为读取计数器使用存储器系统100中的资源,所以通常级二的块(例如,5-10块)远少于级一的块。第三级的块是数据可以以使得该数据相比于被存储在第一级的块中较不易受读取干扰错误影响的方式被存储的块。
[0058]一般来说,当级一的块由于读取干扰错误需要被清除时,代替将数据复制到另一个级一的块,而是将该数据复制到级二的块。不同于可能具有被分配给其的(如果有)非常少的(例如,一个)读取计数器的级一的块,级二的块具有许多被分配给其的读取计数器(例如,在一个实施例中,对于块中的每一最小可读单元一个读取计数器)O以此方式,级二的块可被用于确定在该块中的哪些特定的数据正被非常频繁地读取并且引起读取干扰错误。再次,这不同于级一的块,级一的块如果具有读取计数器,则只能指示该块大体上被频繁地读取-而不能指示在块中的哪些特定的数据正被频繁地读取。通过该知识,存储器系统100可以将频繁地读取的数据复制到级三的块,该级三的块相比级一的块可以更好地经受高频率的读取。如在级二的块中所做的,存储器系统可以监视在该级三的块中的数据(使用相同或者不同数量的读取计数器)以确定数据的读取活跃性何时降低到将数据移动回级一的块是安全的级别。
[0059]返回到附图,图4和5是用于减少读取干扰错误的实施例的方法的流程图400、500并且将结合在图6和7中的示意图讨论。在该方法中的动作可以由在存储器系统100中的任何合适的组件进行。例如,在一个实施例中,方法步骤一般在控制器102中实现,而在另一实施例中,方法步骤在读取干扰模块中实现。如在图4中所示出的,在该方法中,存储器系统100初始化并且使用读取干扰检测技术(诸如但不限于以上讨论的三种技术之一)以寻找第一级中的包含读取干扰错误的块(动作410)。在某时,读取干扰检测技术识别具有读取干扰错误并且需要被清除的块(动作420)。可选地,如果已知干扰者字线,则存储器系统100可以检查相邻码字的顺序样式,因为包含那些码字的字线也可能是干扰者(例如,当码字是被频繁地读取的数据的一部分时)(动作430)。例如,存储器系统100可以检查一个或多个物理元页相邻者和逻辑地址相邻者两者,该逻辑地址相邻者可能不在物理上相邻地存储。
[0060]存储器系统100然后清除由读取干扰检测技术指定的块(动作440)。这在图6中的步骤O和I中图示地示出,其中存储在级一的块中的数据被移动到级二的块(在该移动之后,源块可以被擦除并且放置到可用的级一块的池中)。如上所述,级一的块可以是MLC块,而级二的块可以是SLC块,这可以帮助在下面讨论的跟踪过程期间的耐受性。接着,对级二的块中的重新安置的数据开始跟踪过程(动作450)。该动作将结合图5中的流程图500在下面更加详细地讨论。
[0061 ]存储器系统100对其它块继续读取干扰检测过程(动作460),对其它块重复上述动作。如图6中的步骤2示出的,这可以导致更多的数据从级一的块移动到级二的块。如上所讨论的,由于读取计数器的有限的数量,级二的块可能是存储器系统100中的有限的资源。因此,可能的是,相比可用的级二的块可能有更多的具有读取干扰错误的块来清除其中的数据。在可能存在进入级二的块中的数据“洪流(flood)”的该情况下,存储器系统100可以实现“洪流控制”技术。例如,存储器系统I 00可以评估现有的块以用于回收和先占(preempt1n)。作为另一示例(在图6的步骤2.1中示出),存储器系统100可以采用细流(trickle)技术,其中使有限数量的块在给定时间段期间进入级二以帮助确保洪流不会发生。作为另一示例(在图6的步骤2.2中示出),替代于使用先占技术,级二可以被完全关闭以防止任何块进入,从而拒绝洪流。
[0062]如上所述,当在清除操作之后数据被移动到级二的块中时,对数据进行跟踪过程(动作450)。现在将结合图5中的流程图500更加详细地讨论该跟踪过程。如在图5中所示的,存储器系统100分配(例如,经由快闪转换层(FTL)表)大量的读取计数器(多于级一的块中的)以跟踪从级二的块读取的每个“单元”(动作510)。(在一个实施例中,计数器的值被周期性地存储在非易失性存储器中以针对电力丢失进行保护)。而在级一的块中的读取计数器可以指向整个块,因此对块的任何部分的读取由该计数器登记,在级二的块中的读取计数器具有更精细的粒度。例如,正由读取计数器跟踪的“单元”可以是ECC页(码字)或主机请求大小。对于被读取的每个单元,相关联的计数器递增(动作520),并且存储器系统100确定计数器是否大于阈值(例如,块的最大读取计数的80%)(动作530)。当计数器大于阈值时,存储器系统100确定已经达到该阈值(动作540)。
[0063]以上步骤在流程图400中将被称为“路径I”。在流程图400中的“路径2”中,存储器系统100然后确定由于经过的窗口或由于产生(spawn) 了几个新的过程,所以需要整合(consolidat1n)结束(动作580)。然后,存储器系统100由于诸如但不限于时间或流量改变的其他因素结束该过程(动作590)。
[0064]接着,存储器系统100评估所有的级二的计数器的其它可能被认为是格外高的异常值(动作550)。在这点上存在几个可能的情况。在路径I中,在块中可能有小的片段的热读取数据而没有其它异常值,整个块可以是热的,或者在块中可能有几个片段的热读取数据(即,其它热读取异常值可能存在,但是它们可能还未达到阈值)。在路径2中,级二的跟踪可能过早地结束。如果由于时间而采用路径2,则该块可以被认为是冷的,或者可能还未达到阈值。此外,如果由于在短时间窗口中产生了多个级二的过程而采用路径2,则热读取区可能被认为足够大。就是说,如果在短时间窗口中产生了多个会话(sess1n),则存储器系统100可以使用另外的计数器集合直到耗尽(例如,保持产生水平直到在级二中没有更多的空间,并且然后进行洪流控制)。如果所有的集合已经耗尽并且对于最旧的跟踪的重新安置的评估窗口被认为足够大(例如,由总的装置读取限定),则存储器系统100可以移到到结束步骤并且然后允许新产生的过程重新应用计数器(例如,擦除和分配)。
[0065]图7示出了以上讨论的方法的示例。如图7所示的,数据被写入到块W中,该块W是级一的块。当存储器系统100确定在块W中发生了读取干扰错误时(例如,使用上述的三种读取干扰错误检测技术之一或一些其它技术),存储器系统100将数据从块W移动到块X,该块X是级二的块。块W然后被擦除并且放回到级一的池中以在之后需要级一的块时使用。因为块X是级二的块,存在比块W更多的与该块相关联的读取计数器(因为块W是级一的块)。例如,在一个实施例中,可以为块中的每个最小的读取单元(例如,ECC页)分配读取计数器。当然,可以使用不同级别的粒度。
[0066]通过使用许多读取计数器,存储器系统100可以确定块的数据/区域多频繁地被读取以识别由于如此频繁的被读取而正引起读取干扰问题的数据。在一个实施例中,存储器系统100将读取计数器的值与一个或多个阈值比较以确定存储在块中的数据是“热的”还是“冷的”。如在此所使用的,“热读取数据”(或“热数据”)指被频繁地读取的数据(例如,在社交媒体上已经“病毒般扩散”的照片),并且“冷读取数据”(或“冷数据”)指不频繁地读取的数据(例如,实现的数据)。尽管术语“热”和“冷”用在这些短语中,但是“热”和“冷”在本上下文中不是指实际温度,而是指数据被读取的相对频率。
[0067]如图7所示的,该分析存在三种可能性:该块可以存储全部冷读取数据,全部热读取数据,或者冷读取数据和热读取数据的混合。如果该块包含全部冷读取数据,则可能但是,存在读取干扰错误的误检测或者引起读取干扰错误的任何读取条件不再存在,因此数据可以被移动回到任何的级一的块(不一定是其所来自的级一的块(块W)),并且块X可以变为可用于分析其它数据的读取样式。如果块包含全部热读取数据,则引起读取干扰错误的读取条件仍存在,并且如果数据被复制回到级一的块,则很可能发生读取干扰错误。因此,而是,数据被复制到级三的块(也见图6的步骤3)。如果该块包含冷读取数据和热读取数据的混合,则冷读取数据和热读取数据可以分离,冷数据被复制回到级一的块并且热数据被复制到级三的块。通过热/冷类型划分数据不一定需要立刻发生而是可以通过对下一清除/压缩(compact1n)运用的建议来进行,或者收集足够的热数据以认为其对于创建热读取块是可接受的。这避免了使得热读取块打开,因为不完整的写入块更易受到读取干扰的影响。存储器系统100可以记录来自级二评估的建议的分类并且重新应用读取计数器用于另一评估。
[0068]热数据被从级二的块复制到级三的块(而不是回到级一的块)的原因是,因为对级三的块的读取相比对级一的块的读取更不太可能引起读取干扰错误。存在级三的块可以提供该特征的几种方式。例如,级三的块可以是SLC块,其具有比MLC块更高的读取耐久性,该MLC块通常被用作级一的块。作为另一示例,“虚数据”可以存储在围绕干扰者字线的一个或多个相邻字线中,并且读取数据可以存储得更加远离干扰者。以此方式,即使产生了读取干扰错误,其也不会损害存储在块中的其它数据。该“虚数据”技术可以与SLC或MLC(或其它)块一起使用。也可以使用其它替换。例如,如在图8A和8B中所示的,除了围绕SLC块中的干扰者字线的虚数据以外,在未来的周期中可以增加额外的虚字线以使得该块更加耐读取。作为另一示例,可以使用耐读取的混合块(见图9),其中SLC块的一部分被用于在由虚数据围绕的干扰者字线中存储数据,并且SLC块的另一部分被用于存储正常的数据。这些块可以经受住更多次的读取并且因此使用不同组的读取阈值。在一个可替换实施例中,只有更冷的/最冷的写入数据被放置于评估中以避免已经被安排经历一些级别的压缩/过滤的最新的写入(热写入)数据。因此,在该替换中,仅当块在最近没有被写入时产生级二的跟踪,如同块被刷新(热写入数据)一样,刷新操作解决读取干扰问题。在又一个替换中,存储器系统100可以复制相邻者中的数据以减少干扰影响并且提供增加的冗余性。此外,存储器系统100可以将虚相邻者放置在平均偏置(数据组N和N+1的平均)或者C-状态中以减少干扰影响。在块的每个编程/擦除周期(或周期组)中,数据可以在使用偏置O和+1之间往复,使得有效数据组与虚数据交替。在又一个替换中,级三的存储器可以是RAM,因此数据在其在正“冷却”的同时被缓存在RAM中。
[0069]当热读取数据被存储在级三的块(图7中的块Y)中时,读取计数器监视存储的数据的读取活跃性以检测该数据何时已经“冷却下来”以及读取活跃性何时达到在阈值之下的稳定状态。由于读取数据将很可能不再导致读取干扰错误,所以数据从级三的块被移动回到级一的块(尽管不一定是初始地存储该数据的相同的级一的块)。这在图6中的步骤4中图示地示出。该跟踪检测变热的读取或读取的冷却的稳定状态。
[0070]任何合适的技术可被用于确定数据是否已经充分地“冷却”。在一个示例性技术中,“冷却”可以被定义为从热跨越到冷的单个阈值。例如,如果读取穿过百分之五十(0.50)的热确定,则块可以被认为是冷的。可以使用该设计来替代检测冷却率(第二级集成)以及跟踪历史信息。例如,如果存储器系统100正在寻找每一天将被清除的数据(假设对一块的每天10,000MLC感测将导致清除),则不是一整天跟踪该块,而是存储器系统100可以使用用于较短持续时间的评估的内插来分析每秒的读取。在图10中的表中示出了该内插的示例。存储器系统100可以评估在短持续时间期间的读取,在该短持续时间期间,明显的证据表明在级二的评估内的数据将导致连续的清除。如果级二的评估由于回收(先占)或断电需要被终止,则可以测量该持续时间,并且可以比较合适的阈值(例如,如果该持续时间是32秒,则32*1秒(10K/(24*60*60))。每秒的读取也可以被评估为速度,因此能够利用加速度模型检测变热速度和冷却速度(读取/秒~2)。计算第二级集成以确定加速度可以获取至少两个或更多的测量点。因此,存储器系统100可以测量读取频率多快地上升和下降,其中指数加速度指示数据特别热。
[0071]在图11中示出了可被用于确定数据是否被充分地“冷却”的另一技术。在该技术中,为了检测“热读取冷却”,存储器系统100可以计算通过在若干时间段期间的驱动读取的百分比划分的热区读取。
[0072]通过这些实施例提供了一些益处。例如,通过使用临时组的计数器用于对包含读取干扰错误的块识别热读取数据并且将其与剩余的写入数据(即,冷的或不冷不热的)分离而实现第二级分析,这些实施例可以识别极高的读取用于特殊对待。以此方式,这些实施例可以识别热读取数据并且不同地对待热读取数据(例如,将热读取数据放置在没有相邻者的SLC块中并且将虚数据放置在第一和最后的字线中)。这在其中大部分的驱动空间被“很少”读取(即,不足以引起读取干扰的读取)的存储器系统中提供了特定的益处。此外,这些实施例可以通过读取强度来划分数据,以增强耐受性的方式将高读取密度的数据存储在SLC块中,监视热读取数据的冷却,累计(integrate)在短时间段上的读取(测量每个时间段的读取),管理读取计数器以处理洪流并将数据迀移到新的块以避免开放的块读取,评估较冷/最冷的写入数据以避免将热写入数据和冷/热读取数据类型混合(因为热写入数据可能经历一个级别的压缩,并且因此其已经经受了从读取干扰的刷新),将热读取数据放置在SLC中以增强读取性能,将热读取数据和冷读取数据分离开以增强耐受性,将数据唯一地存储在SLC块中以帮助避免特别是对于热读取数据的读取干扰,以及测量每个时间的读取的改变速率以近似数据可能变热的方式。
[0073]如上所讨论的,级二的块和级三的块具有分配给它们的读取计数器以检测数据的“读取温度”。以下段落(以及图12和13)提供使用读取计数器的一个特定的实现方式。当然,可以使用其它实现方式。
[0074]在一个实施例中,使用哈希树(hashtree)跟踪读取区并且寻找存储器的热读取区域。哈希树使用存储器区域的小的占用面积(footprint),取决于该树的设计水平可以提供比简单的块计数器更高的准确性。哈希树可以帮助隔离主机正在读取的存储器的区域。该树可以可以被设计为高或矮。通过更多的分支或更多的奇点(singularity),该树可以是对称的或者不对称的。
[0075]在一个实现方式中,当树开始时,仅使用一级(级O)。(在此,“级”指在数中的一级一而不是上述块级别)。级O是N个4-字节计数器的单个集合。当区被读取命中时,读取计数器递增。当区到达某个阈值时,该区被提升到级一(用于提升的阈值可能随着树被填充而需要被修改)。当该区被提升到级一时,其空间被划分为级一中的进一步的区。这提供了在检测区的热空间中的更高的准确性。使用指针来指示哪个区已经提升。当区提升之后,其根仍然递增以帮助保持对其读取计数的跟踪。
[0076]该区的提升可以对该树向上延续。每级哈希可以具有一个或多个子节点。因为在嵌入的装置中空间有限,所以当在较低节点中的不同的区变得更热时,如果该树不能无边界地生长,则可能发生回收。当回收发生时,该区回缩(collapsed down),并且新的区在树中提升以用于更多的分析。在回收期间,仍保留区读取计数,但是树信息可能丢失。随着区达到树的尖端并且达到最高阈值,该区可以被放置到读取巡检列表上以用于对读取清除的进一步评估。周期性地,该树及其参数可以保存到非易失性存储器。然后,在通电时,可以将该表从非易失性存储器加载到RAM。
[0077]为避免计数器饱和,可以周期性地将该树修剪(prune)回一些量。该修剪可以与块擦除、热读取数据迀移以及可替代地当达到某些热计数里程时一起发生。使用装置平均地磨损(以及跟踪迀移数据以避免数据保留问题)的假设,在系统中的所有块在热计数中可以变化不超过X%。使用该知识,可以建立某些热计数检查点以修剪树。树的修剪可以是全局复位,或者以一百分比将计数器配对,或者以固定的量将树配对。可以在每当树干(stem)阈值被超过时(导致块/字线达到清除列表)修剪树。
[0078]当区域被检测为热时,该热区域(及其相邻字线)可以被刷新到新的块(留下块的其余部分原封不动),或者整个块可以被清除。热数据可以被刷新到单独的区以当读取继续时不妨碍(trip)该树,或者该热数据可以只是自然地迀移。如果自然地迀移,则在热读取区变冷的事件中可以不需要做任何特别的事情。
[0079]在区域被检测为热并且相邻者被检查和清除之后,可以使用单独的表逻辑地跟踪热数据。单独地跟踪数据可以提供检测数据何时变冷的优点,并且从在擦除之后在树中具有相同的数据触发分支得到帮助。热数据仍将需要针对未来的读取干扰而被跟踪。
[0080]如果该树被用于物理地跟踪装置并且在区中发生擦除,则读取计数器可以退回(roll back)定义的量以应对该区的一部分已经被刷新的事实。该树的分支可以表示一组(例如,4KB)、裸芯的字线、一系列字线或者一系列块。如果擦除发生在块的单元上,如果需要,表示该块的分支可能需要回缩到块级别。在回缩时,新的分支可以被提升或者提升可能发生在对该组的下一读取上。替换的设计是使得该树逻辑地而不是物理地跟踪地址,其中任何对区/分支的写入可以对计数器具有递减影响。对于读取巡检,系统可以与读取相邻页的设计耦合,并且然后对于巡检区域使用较低根值。可替换地,读取巡检可以巡检树中的顶部节点作为第一步骤。
[0081]最后,如上所述,可以使用任何合适的类型的存储器。半导体存储器装置包括:易失性存储器装置,比如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)装置;非易失性存储器装置,比如电阻式随机存取存储器(“ReRAM”)、电可擦除可编程只读存储器(“EEPR0M”)、快闪存储器(其也可以被认为是EEPROM的子集)、铁电随机存取存储器(“FRAM”)和磁阻随机存取存储器(“MRAM” );以及能够存储信息的其它半导体元件。每种类型的存储器装置可以具有不同的配置。例如,快闪存储器装置可以以NAND或NOR配置而配置。
[0082]存储器装置可以以任何组合由无源和/或有源元件构成。以非限制性示例的方式,无源半导体存储器元件包括:ReRAM装置元件,其在一些实施例中包括电阻率切换存储元件,比如反熔丝、相变材料等;以及可选地包括控制元件,比如二极管等。进一步以非限制性示例的方式,有源半导体存储器元件包括EEPROM和快闪存储器装置元件,其在一些实施例中包括包含电荷存储区域的元件,比如浮置栅极、导电纳米粒子或电荷存储电介质材料。
[0083]多个存储器元件可以被配置为使得它们串联连接或者使得每个元件单独可访问。以非限制性示例的方式,在NAND配置(NAND存储器)中的快闪存储器装置通常包含串联连接的存储器元件。NAND存储器阵列可以被配置为使得阵列由多个存储器串构成,其中串由共享单个位线并作为一组被访问的多个存储器元件构成。可替换地,存储器元件可以被配置为使得每个元件单独可访问,例如NOR存储器阵列。NAND和NOR存储器配置是示例性的,并且可以以其它方式配置存储器元件。
[0084]位于基板内和/或基板上的半导体存储器元件可以被布置为二维或者三维,比如二维存储器结构或三维存储器结构。
[0085]在二维存储器结构中,半导体存储器元件被布置在单个平面或者单个存储器装置级中。典型地,在二维存储器结构中,存储器元件被布置在基本上平行于支撑存储器元件的基板的主表面而延伸的平面中(例如,在x-z方向平面中)。基板可以是在其上或其中形成存储器元件的层的晶片,或者可以是在存储器元件形成之后被附于存储器元件的载体基板。作为非限制性示例,基板可以包括诸如硅的半导体。
[0086]存储器元件可以布置在有序的阵列中的单个存储器装置级中,比如在多个行和/或列中。但是,存储器元件可以以不规则或者非正交的配置形成阵列。存储器元件的每一个可以具有两个或更多的电极或接触线,比如位线和字线。
[0087]三维存储器阵列被布置为使得存储器元件占据多个平面或多个存储器装置级,从而在三维中形成结构(即,在x、y和z方向中,其中y方向基本上垂直于基板的主表面,并且X和z方向基本上平行于基板的主表面)。
[0088]作为非限制性示例,三维存储器结构可以被垂直地布置为多个二维存储器装置级的堆叠。作为另一非限制性示例,三维存储器阵列可以被布置为多个垂直的列(例如,基本上垂直于基板的主表面、即在y方向上而延伸的列),每个列具有在每个列中的多个存储器元件。列可以布置在二维配置中,例如,在χ-ζ平面中,得到具有在多个垂直地堆叠的存储器平面上的元件的存储器元件的三维布置。存储器元件在三维中的其它配置也可以组成三维存储器阵列。
[0089]以非限制性示例的方式,在三维NAND存储器阵列中,存储器元件可以耦接在一起以在单个水平的(例如,x-z)存储器装置级中形成NAND串。可替换地,存储器元件可以耦接在一起以形成穿过多个水平的存储器装置级的垂直NAND串。可以设想其它三维配置,其中一些NAND串在单个存储器级中的存储器元件,而其它串包含跨过多个存储器级的存储器元件。三维存储器阵列也可以以NOR配置和ReRAM配置而设计。
[0090]典型地,在单片三维存储器阵列中,一个或多个存储器装置级形成在单个基板上。可选地,单片三维存储器阵列也可以具有至少部分在单个基板内的一个或多个存储器层。作为非限制性示例,基板可以包括诸如硅的半导体。在单片三维阵列中,组成阵列的每个存储器装置级的层通常形成在阵列的基本存储器装置级的层上。但是,单片三维存储器阵列的相邻存储器装置级的层可以被共享或者可以在存储器装置级之间具有中间层。
[0091]然后再次,二维阵列可以单独地形成并且然后封装在一起以形成具有存储器的多个层的非单片存储器装置。例如,可以通过在分开的基板上形成存储器级并且然后将存储器级一个在另一个上堆叠来构造非单片堆叠的存储器。可以在堆叠之前将基板减薄或者从存储器装置级移除,但是由于存储器装置级初始形成在分开的基板之上,得到的存储器阵列不是单片三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可以形成在分开的芯片上并且然后封装在一起以形成堆叠芯片存储器装置。
[0092]存储器元件的操作以及与存储器元件的通信通常需要相关联的电路。作为非限制性示例,存储器装置可以具有用于控制和驱动存储器元件以实现诸如编程和读取的功能的电路。该相关联的电路可以在与存储器元件相同的基板上和/或在单独的基板上。例如,用于存储器读-写操作的控制器可以位于单独的控制器芯片上和/或在与存储器元件相同的基板上。
[0093]本领域技术人员应认识到本发明不限于所述的二维和三维示例性结构,而是覆盖在如在此所述的并且如由本领域技术人员所理解的本发明的精神和范围内的所有相关的存储器结构。
[0094]意图以上详细的说明被理解为对本发明可以采用的所选形式的说明而不是作为本发明的限定。仅以下权利要求、包括所有等价物意图定义要求保护的本发明的范围。最后,应注意的是,在此所述的任何优选的实施例的任何方面可以单独使用或者相互组合使用。
【主权项】
1.一种用于减少读取干扰错误的方法,所述方法包括: 在包括存储器的多个块的存储器系统中进行以下步骤,其中所述块包括级一、级二和级二的块: 在级一的块中检测读取干扰错误; 将存储在所述级一的块中的数据移动到级二的块; 监视对所述级二的块的读取访问以确定在所述级二的块中的何数据被频繁地读取; 将被确定为被频繁地读取的数据从所述级二的块移动到级三的块; 监视对在所述级三的块中的数据的读取访问以确定在所述级三的块中的数据是否较不频繁地被读取;以及 响应于确定在所述级三的块中的数据较不频繁地被读取,将所述数据从所述级三的块移动到级一的块。2.如权利要求1所述的方法,其中使用读取计数器在所述级一的块中检测所述读取干扰错误。3.如权利要求1所述的方法,其中使用读取-巡检技术在所述级一的块中检测所述读取干扰错误。4.如权利要求1所述的方法,其中通过在读取字线时读取相邻字线在所述级一的块中检测所述读取干扰错误。5.如权利要求1所述的方法,其中利用读取计数器监视对所述级二的块的读取访问。6.如权利要求1所述的方法,其中利用读取计数器监视对所述级三的块的读取访问。7.如权利要求1所述的方法,其中所述级三的块具有比所述级一的块更高的读取耐受性。8.如权利要求7所述的方法,其中所述级一的块包括MLC存储器单元,并且其中所述级三的块包括SLC存储器单元。9.如权利要求7所述的方法,其中所述级一的块包括非易失性存储器,并且其中所述级三的块包括易失性存储器。10.如权利要求7所述的方法,其中所述级三的块在围绕存储所述数据的字线周围的字线中存储虚数据。11.如权利要求1所述的方法,其中所述存储器是三维存储器。12.如权利要求1所述的方法,其中所述存储器系统嵌入在主机中。13.如权利要求1所述的方法,其中所述存储器系统可拆卸地连接到主机。14.一种存储器系统,包括: 存储器,包括多个块;以及 控制器,与所述存储器通信,其中所述控制器被配置为: 检测块中的读取干扰错误; 识别引起所述读取干扰错误的数据;以及 将引起所述读取干扰错误的数据移动到具有更高读取耐受性的块。15.如权利要求14所述的存储器系统,其中所述控制器还被配置为在所述数据被确定为在被读取时不太可能引起读取干扰错误之后,将所述数据移动到具有较低的读取耐受性的块。16.如权利要求14所述的存储器系统,其中使用读取计数器检测所述读取干扰错误。17.如权利要求14所述的存储器系统,其中使用读取-巡检技术检测所述读取干扰错误。18.如权利要求14所述的存储器系统,其中通过在读取字线时读取相邻字线来检测所述读取干扰错误。19.如权利要求14所述的存储器系统,其中所述控制器被配置为使用读取计数器识别在块中的正引起所述读取干扰错误的数据。20.如权利要求14所述的存储器系统,其中具有较高的读取耐受性的块包括SLC存储器单元,并且在其中检测到所述读取干扰错误的块包括MLC存储器单元。21.如权利要求14所述的存储器系统,其中具有较高的读取耐受性的块包括易失性存储器,并且在其中检测到所述读取干扰错误的块包括非易失性存储器。22.如权利要求14所述的存储器系统,其中具有较高的读取耐受性的块在围绕存储所述数据的字线周围的字线中存储虚数据。23.如权利要求14所述的存储器系统,其中所述存储器是三维存储器。24.如权利要求14所述的存储器系统,其中所述存储器系统嵌入在主机中。25.如权利要求14所述的存储器系统,其中所述存储器系统可拆卸地连接到主机。26.一种存储器系统,包括: 存储器,包括多个块; 多个读取计数器;以及 读取干扰模块,与所述存储器和所述多个读取计数器通信,其中所述读取干扰模块被配置为: 检测在第一块中的读取干扰错误; 将数据从所述第一块移动到第二块; 将读取计数器分配到所述第二块以识别热读取数据; 将所述热读取数据从所述第二块移动到第三块; 将读取计数器分配到所述第三块以确定所述热读取数据何时变为冷读取数据;以及 将所述冷读取数据从所述第三块移动到另一块。27.如权利要求26所述的存储器系统,其中所述读取干扰模块被配置为使用读取计数器检测所述读取干扰错误。28.如权利要求26所述的存储器系统,其中所述读取干扰模块被配置为使用读取-巡检技术检测所述读取干扰错误。29.如权利要求26所述的存储器系统,其中所述读取干扰模块被配置为通过在读取字线时读取相邻字线来检测所述读取干扰错误。30.如权利要求26所述的存储器系统,其中所述第三块具有比所述第一块更高的读取耐久性。31.如权利要求26所述的存储器系统,其中所述第一块包括MLC存储器单元,并且其中所述第三块包括SLC存储器单元。32.如权利要求26所述的存储器系统,其中所述第一块包括非易失性存储器,并且其中所述第三块包括易失性存储器。33.如权利要求26所述的存储器系统,其中所述第三块在围绕存储所述数据的字线周围的字线中存储虚数据。34.如权利要求26所述的存储器系统,其中所述存储器是三维存储器。35.如权利要求26所述的存储器系统,其中所述存储器系统嵌入在主机中。36.如权利要求26所述的存储器系统,其中所述存储器系统可拆卸地连接到主机。
【文档编号】G06F3/06GK105843550SQ201511010220
【公开日】2016年8月10日
【申请日】2015年12月29日
【发明人】D.E.图尔斯, A.马诺哈, N.托马斯, J.许
【申请人】桑迪士克科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1