多裸芯写入管理中的模式突破的制作方法

文档序号:10517834阅读:230来源:国知局
多裸芯写入管理中的模式突破的制作方法
【专利摘要】一种裸芯分配方案,将数据具有一些随机性地以其被接收的次序发送到多个存储器裸芯。随机化事件,诸如跳过裸芯或反转方向,通过在随机化事件之间使用的确定性的分配方案在间隔处发生。随机化事件之间的间隔可以是随机的长度或者固定的长度。
【专利说明】
多裸芯写入管理中的模式突破
技术领域
[0001]本发明一般地涉及非易失性半导体存储器、其操作,并且具体地涉及包括多个裸芯的存储器系统的操作。
【背景技术】
[0002]现在存在许多商业上成功的可用的非易失性存储器产品,其使用闪速EEPROM单元的阵列。闪速存储器系统的示例在图1中示出,其中存储器单元阵列I连同各种外围电路一一诸如列控制电路2、行控制电路3、数据输入/输出电路6等形成在存储器芯片12上。
[0003]一种流行的闪速EEPROM架构利用NAND阵列,其中大量串的存储器单元通过在单独的位线和参考电势之间的一个或多个选择晶体管连接。图2A-2B示出了平面的NAND闪速存储器阵列的不例。在其它不例中,NAND串在可以被称为是二维(3D)存储器中在垂直方向中延伸。
[0004]闪速存储器通常布置在块中,其中一块作为擦除的单元。图3A示出了存储器裸芯中的被布置在两个平面中的块。平面中的块共享某个电路,使得一次仅访问在平面中的一个块。多个平面允许在裸芯中的多个块被并行访问。
[0005]多个裸芯可以由存储器总线连接到存储器控制器,如图3B中所示。存储器控制器接收数据并且将其分布到裸芯。尽管这样的布置可以允许一些条件中的高度的并行性,但是当一个或多个裸芯变为繁忙时可能产生延迟并且从而可能影响写入速度。

【发明内容】

[0006]由存储器控制器实现的裸芯分配方案,通过一些模式突破(例如随机化)将数据以其被接收的次序分配到连接到(例如通过共享的存储器总线)存储器控制器的多个存储器裸芯,以打乱主机数据模式到裸芯的对齐。随机化可以由随机化事件一一诸如跳过一个或多个裸芯、或者分配的反转的次序(方向)引入。裸芯的跳过可以通过使用缓慢的写入模态实现,该缓慢的写入模态使得一个或多个裸芯比正常更长地保持繁忙并且从而使得它们被跳过的。随机化事件可以以适当的频率引入以确保足够的模式突破,而维持足够的写入性會K。
[0007]操作在非易失性存储器系统中的多个非易失性存储器裸芯的方法的示例包括:将数据的多个部分发送到多个存储器裸芯;根据以确定性的方式将数据的部分分配到裸芯的第一分配方案将数据的部分分配到单独的存储器裸芯;以及根据第二分配方案将所述数据的多个部分的至少一部分发送到单独的存储器裸芯,该第二分配方案以与所述第一分配方案相反的模式突破的方式分配所述多个部分的至少一个,打乱根据所述第一分配方案的数据到裸芯的对齐。
[0008]模式突破的方式可以是随机的方式。第一分配方案可以以循环的模式将单独的数据的部分分配到单独的存储器裸芯,并且以所述模式突破的方式分配可以包括跳过在循环的模式中的下一个就绪的裸芯。第一分配方案可以以循环的模式将单独的数据的部分分配到单独的存储器裸芯,跳过繁忙的裸芯,并且以所述随机的方式分配可以包括增加随机地选择的裸芯的编程时间,使得所述随机地选择的裸芯保持繁忙一段延长的时段,在该延长的时段期间所述随机地选择的裸芯被跳过。第一分配方案可以以循环的模式将单独的数据的部分分配到单独的存储器裸芯,并且以所述随机的方式分配可以包括随机地反转循环的模式的方向。第一分配方案可以以循环的模式将单独的数据的部分分配到单独的存储器裸芯,并且以所述随机的方式分配可以包括在随机地选择的裸芯处开始所述循环的模式的周期。循环的模式可以从随机地选择的裸芯继续一段随机数量的裸芯,在此之后在随机地选择的裸芯处开始另外的周期。以模式突破的方式将所述数据的多个部分的至少一部分分配到所述存储器裸芯可以提供比以非随机的模式分配更慢的写入速度。
[0009]操作非易失性存储器系统的方法的示例包括:在将所述存储器控制器连接到多个存储器裸芯的存储器总线之上,以循环的编址模式将单元的数据从存储器控制器发送,直到在所述循环的编址模式中紧挨着最后编址的存储器裸芯的存储器裸芯为繁忙的,或者模式突破被触发;响应于确定在所述循环的编址模式中紧挨着所述最后编址的存储器裸芯的存储器裸芯是繁忙的,跳过在所述循环的编址模式中是下一个的所述存储器裸芯并且编址在所述循环的编址模式中就绪的之后的存储器裸芯;并且响应于模式突破被触发,编址从不包括在上述循环的编址模式中的下一个存储器裸芯的多个候选存储器裸芯选择的存储器裸芯。
[0010]最后编址的存储器裸芯可以从用于随机的选择的所述多个候选存储器裸芯中排除。一个或多个繁忙的存储器裸芯可以包括在用于随机的选择的所述多个候选存储器裸芯中。一个或多个繁忙的存储器裸芯的包括可以响应于来自等待所述一个或多个繁忙的存储器裸芯就绪的延迟在预定的限度中的决定。模式突破可以由存在不期望的数据模式建立在所述多个存储器裸芯的一个或多个中的高度风险的决定而触发。
[0011 ]非易失性存储器系统的示例包括:多个非易失性存储器裸芯;存储器控制器;在所述存储器控制器中的数据分配电路,其被配置为以确定性的方式分配用于存储在所述多个存储器裸芯中的数据的单元;以及在所述存储器控制器中的模式突破电路,其被配置为打乱数据到存储器裸芯的对齐。随机数字生成器可以将随机的输入产生到模式突破电路。编程电路可以具有正常的编程模态和缓慢的编程模态,所述随机的输入被提供到所述编程电路以随机地识别用于以缓慢的编程模态编程的存储器裸芯。非易失性存储器裸芯可以是NAND闪速存储器裸芯。多个非易失性存储器裸芯可以包括四个裸芯。存储器总线可以将多个非易失性存储器裸芯连接到存储器控制器。
[0012]本发明的额外的方面、优点和特征被包括在其示例的下述说明中,所述说明应结合附图。这里所引用的所有的专利、专利申请、文字、技术文章和其它公开物在此通过引用结合于此。
【附图说明】
[0013]图1是现有技术存储器系统的框图。
[0014]图2A是现有技术NAND阵列的平面图。
[0015]图2B是图2A的现有技术NAND阵列的沿着线A-A的截面图。
[0016]图3A示出了布置在存储器裸芯的两个平面中的存储器单元的块。
[0017]图3B示出了由存储器总线将四个裸芯连接到存储器控制器。
[0018]图4示出了根据预定的模式的主机数据到四个裸芯的分配。
[0019]图5示出了使用数据到裸芯的确定性的分配的在四个裸芯之上的写入操作的时间的示例。
[0020]图6示出了使用数据到裸芯的适应性分配的在四个裸芯之上的写入操作的时间的另一不例。
[0021]图7示出了使用数据到裸芯的适应性分配的在四个裸芯之上的写入操作的时间的另一不例。
[0022]图8示出了裸芯分配的随机化的示例。
[0023]图9示出了裸芯分配的随机化的另一示例。
[0024]图10示出了裸芯分配的随机化和跳过繁忙的裸芯。
[0025]图11示出了随机化方案的示例。
[0026]图12示出了随机化方案的另一示例。
[0027]图13示出了随机化方案的额外的示例。
[0028]图14A-B示出了随机化方案的额外的示例。
[0029]图15示出了随机化的管理。
[0030]图16示出了可以被用于实现本发明的方面的硬件。
【具体实施方式】
[0031]存储器系统
[0032]现有技术存储器系统的示例一一其可以被修改以包括本发明的各个方面一一由图1的框图示出。包括布置在阵列中的多个存储器单元M的存储器单元阵列I由列控制电路
2、行控制电路3、c_源极控制电路4和C-P-阱控制电路5控制。在该示例中,存储器单元阵列I类似于以上在【背景技术】以及在通过引用而结合在其中的参考中所述的是NAND型。控制电路2连接到存储器单元阵列I的位线(BL)以用于读取存储在存储器单元(M)中的数据、用于在编程操作期间确定存储器单元(M)的状态并且用于控制位线(BL)的电势水平以促进编程或者抑制编程。行控制电路3连接到字线(WL)以选择字线(WL)的一个、以施加读取电压、施加与由列控制电路2控制的位线电势水平组合的编程电压,并且施加与在其上形成存储器单元(M)的P-型区域的电压耦接的擦除电压。C-源极控制电路4控制连接到存储器单元(M)的共同源极线(标记为图1中的“c-源极”)κ-ρ-阱控制电路5控ffjijc-p-阱电压。
[0033]存储在存储器单元(M)中的数据由列控制电路2读出并且经由I/O线和数据输入/输出缓冲器6输出到外部I/O线。将被存储在存储器单元中的编程数据经由外部I/O线被输入到数据输入/输出缓冲器6,并且转移到列控制电路2。外部I/O线连接到控制器9。控制器9包括各种类型的寄存器和包含易失性随机存取-存储器(RAM)1的其它存储器。
[0034]图1的存储器系统可以嵌入为主机系统的部分,或者可以包含在存储器卡、USB驱动或可以拆卸地插入到主机系统的配套插口中的类似的单元中。这样的卡可以包括整个存储器系统或控制器和存储器阵列,其中相关联的外围电路可以提供在分开的卡中。几个卡的实现方式例如在美国专利号5,887,145中描述。图1的存储器系统也可以被用在固态驱动(SSD)或者在平板型、膝上型计算机或类似装置中提供大数据存储的类似的单元中。
[0035]可以被用作阵列I的存储器阵列的一部分在图2A中示出。BL0-BL4表示到全局垂直金属位线(未示出)的扩散的位线连接。尽管四个浮置栅极存储器单元在每个串中示出,单独的串在列中通常包括16、32或更多存储器单元电荷存储元件一一诸如浮置栅极。标记为WL0-WL3的控制栅极(字)线以及串选择线DSL和SSL在浮置栅极的行之上延伸穿过多个串。控制栅极线和串选择线由多晶硅形成(在图2B中的多晶硅层2或者标记为P2的“多晶硅2”,图2B为沿着图2A的线A-A的截面)。浮置栅极也由多晶硅形成(多晶硅层I或者标记为Pl的“多晶硅I”)。如图2B所示,控制栅极线通常在浮置栅极之上形成为自对齐的堆叠,并且通过中间介电层19(也被称为“多晶硅间介电”或“IPD”)相互电容性地耦接。在浮置栅极和控制栅极之间的该电容性耦接允许浮置栅极的电压通过增加耦接到其的控制栅极上的电压而被升高。列中的单独的单元通过使得在串中的剩余的单元被硬导通而在编程期间被读取和验证,其中该硬导通通过将相对较高电压置于它们各个字线上以及通过将相对较低的电压置于一个选择的字线上,使得流过每个串的电流主要只取决于存储在选择的字线之下的编址的单元中的电荷的水平。该电流通常对大量的串并行感测,从而并行读取沿着浮置栅极的行的电荷水平状态。NAND存储器单元阵列架构及其操作的示例在美国专利号5,570,315、5,774,397、6,046,935和7,951,669中找到。
[0036]非易失性存储器装置也从具有用于存储电荷的介电层的存储器单元中制造。使用介电层替代之前所述的传导的浮置栅极元件。使用介电贮存元件的这样的存储器装置已经由Eitan等人在IEEE电子装置报,第21卷、11号、2000年11月、pp.543-545的“NR0M:新颖的局部化捕捉,2位非易失性存储器单元(A Novel Localized Trapping,2_Bit NonvolatileMomery Cell)”中描述。ONO介电层延伸穿过源极和漏极扩散之间的沟道。用于一数据位的电荷停留在靠近漏极的介电层中,并且用于其它数据位的电荷停留在靠近源极的介电层中。例如,美国专利号5,768,192和6,011,725公开了具有夹在两个二氧化硅层之间的捕获电介质的非易失性存储器单元。多状态数据贮存通过单独读取在电介质中空间上分隔的电荷贮存区域的二进制状态而实现。
[0037]除了如上所述的平面的(二维)存储器阵列以外,三维存储器阵列通过在衬底上相互堆叠在其之上的存储器单元的多个层形成。这样的三维存储器阵列其形成、及其操作的示例在美国专利公开号2012/0220088和美国专利公开号2013/0107628中描述,其全部内容通过引用被结合于此。
[0038]在许多非易失性存储器阵列中(包括平面的和3-D存储器两者),存储器单元在被称为块的相对大的单元中擦除。块可以布置在平面中,其中平面的所有的块共享一组位线并且共享某个存储器访问电路一一诸如被用于编程和读取平面中的存储器单元的感测放大器和数据锁存器。两个或多个平面可以位于相同的裸芯上。
[0039]图3A示出了具有两个平面一一平面O和平面I的裸芯的示例,其中每个平面包含多个块。图3B示出了存储器裸芯可以如何配置在多裸芯存储器系统中。图3B示出了存储器控制器在存储器总线之上与多个存储器裸芯通信。一般来说,这样的多裸芯布置可以被用于通过并行操作裸芯快速地写入和读取数据。从主机接收的数据可以由存储器控制器发送到存储器裸芯,该存储器裸芯初始地将数据存储在数据锁存器并且然后将数据编程到存储器单元中。而存储器总线一次可以仅允许将数据被发送到一个裸芯,数据转移时间相比将数据编程到裸芯的存储器单元的时间相对较短,使得当数据被发送到一个裸芯时其它裸芯可以编程数据。在一些情况中,存储器控制器可以控制多个存储器总线,每个具有多个存储器裸芯(例如,两个总线每个具有两个裸芯)。在其它情况中,存储器裸芯可以具有专用的通信信道,而不是共享的存储器总线(例如,四个裸芯,每个具有到控制器的分开的通信信道)。在任何这些布置中的裸芯的数量不限于四个但是可以是任何合适的数量。
[0040]图4示出了用于将数据分配到存储器裸芯的方案的示例。从主机接收的数据可以被分为数据单元(“DU”)以用于转移到存储器裸芯(裸芯O-裸芯3)。在本示例中,从主机接收的数据以其被接收的次序被简单地分为相等尺寸的数据单元,其中每个数据单元在尺寸上等于在一次编程操作中可以在裸芯中编程的数据的量(其中裸芯包括一个平面的一页、其中裸芯包括两页的两页等)。数据单元以其被接收的次序被编号DU^DU1, DU2等。将理解的是,编号反映数据被接收的次序,而并不一定反映由主机分配的任何次序。从主机接收的数据可以是逻辑地顺序的或者非顺序的。在任一种情况中,如所示,其可以以其被接收的次序被分为数据单元并且分配到裸芯。数据在所有裸芯之上被划分使得以高度并行性进行写入。图4示出了沿着垂直轴的时间,其中DUo被最先接收和存储,然后DU1等等。
[0041]数据单元在图4中以循环的次序被分配到裸芯。循环的次序以裸芯O开始,然后裸芯1、裸芯2、裸芯3并且然后回到裸芯0,其中周期重复。该分配方案易于实现。在一些情况中,不同的裸芯的块被链接以形成元块,使得一组数据单元被分配到元块中的元页。链接块以形成元块可以是静态的,使得相同的块在产品的整个生命周期中保持链接,或者可以是更加灵活的动态的链接,其中不同的块在不同的时间链接。在任一种情况中,相同的块在连续的擦除操作之间保持链接并且块中的页被作为元页一起编程。因此,当图4的示例使用元块时,一组四个数据单元将被分配到延伸穿过所有四个裸芯的元页,并且单独的数据单元到裸芯的分配将是预定的(例如,如所示地被划分)。每个数据单元被存储的位置是其编号的简单函数,使得这样的方案易于实现。方案还通过总是在所有的裸芯之上写入而提供最大的并行性。这不仅确保当写入时的最大的并行性,其还确保当数据在之后被读取时的最大的并行性。但是,该方案并不对所有的情况都是理想的。
[0042]在许多存储器系统中,存储器阵列不仅被用于存储主机数据。存储器控制器可以在存储器阵列中存储其它数据。例如,由存储器控制器用于存储器系统的操作的某些数据可以存储在一个或多个裸芯中。这样的系统控制数据可以包括被用于跟踪由控制器存储的主机数据的位置和特质的信息,例如,文件分配表(FAT)数据、目录数据和逻辑到物理地址转换数据。关于存储器系统的特征的数据也可以由控制器存储,例如损坏的块列表、存储器访问参数和热计数。存储在存储器裸芯中的控制器数据的类型取决于特定的存储器系统。控制器可能需要访问存储器裸芯以在任何时间处读取或写入这样的数据,例如,在主机写入期间。此外,存储器控制器可以进行包含存储在存储器裸芯中的主机数据的各种操作。例如,垃圾收集操作可以包括从一些块复制有效的数据使得该块可以被擦除并且可用于新的数据。特别是当存储器相对较满时,在主机写入期间进行垃圾收集操作可能是必要的,以便于容纳接收的新的数据。控制器访问操作,它们是否被引导到系统控制数据或主机数据,可以对写入主机数据具有影响。
[0043]图5示出了数据单元以如上所述的确定性的模式被转移和写入的示例。DUo被首先转移(“转移DUo)并且然后写入(“写入DUo”)。在任何数据的转移期间,诸如DUo,存储器总线为繁忙的。一旦转移完成并且写入开始,存储器总线可以用于之后的转移。因此,DUK “转移DUf )的转移在DUo的转移一结束后就开始。类似地,之后的数据单元的转移在之前的转移结束之后开始,使得写入操作可以在多个裸芯并行发生。对于一段时期,所有的裸芯都繁忙。然后,裸芯O完成写入DUo。但是,控制器对裸芯O的访问一一501在此时发生。控制器例如可能需要写入数据。在其它示例中,控制器可以复制数据、进行扫描、控制表读取或更新或者需要访问存储器裸芯的一些其它操作。因此,裸芯O保持繁忙并且不可用于主机数据的存储。因为循环的模式中的下一个裸芯一一裸芯O—一为繁忙的,主机数据的编程被延迟直到其在控制器访问结束时变为可用。之后,数据的转移和写入如之前重新开始,具有数据到裸芯的相同的分配,指示被控制器访问501所占用的时间延迟。
[0044]根据多裸芯写入管理方法,从主机接收的数据可以以不简单地是确定性的方式被分配到存储器裸芯,而是相反基于裸芯可用性分配数据。当在循环的次序中的下一个裸芯为繁忙的时,分配方案通过跳过繁忙的裸芯适应并且继续到下一个裸芯。因此,因为控制器访问而丢失的时间可以被显著地减少,因为当控制器访问给定裸芯时,主机数据继续被转移到以及写入到其它裸芯中。这样的技术的示例在于2013年12月2日提交的名称为“多裸芯写入管理”的美国专利申请号14/094,550中描述,其全部内容通过引用结合于此。
[0045]图6示出了适应性分配方案的示例,其中跳过任何繁忙的裸芯。DUo-DU3如之前以循环的次序继续。裸芯O然后为繁忙的,因为控制器在裸芯O中存储数据。该访问操作被示出为将数据从控制器转移到裸芯0( “Con.转移”)603,其占据存储器总线,接着控制器数据的写入(“Con.写入”)605,其不占据存储器总线。一般来说,对于任何给定的数据,转移时间比写入时间少得多(而图6中垂直轴表示时间,操作不意欲是成比例的,即框的垂直规模不意欲表示操作的实际的时间)。一旦控制器数据被转移并且存储器总线变为可用的,方案移动到循环的次序中的不繁忙的下一个裸芯。在该情况中,当控制器数据603的转移结束时裸芯I不繁忙。因此,方案将下一个数据一一DU4—一分配到裸芯I。之后,分配方案以如箭头指示的循环的次序继续,使得DU7写入在裸芯O中(因为次序是循环的,其从裸芯3回到裸芯O)。因此,在该示例中,数据单元到裸芯的分配移位一个裸芯。控制器访问的效应被显著地减少,使得延迟简单地是控制器占据存储器总线的时间(Con.转移)603—一其相对较短,并且不包括控制器写入605的时间(如图5中)一一其长得多。
[0046]尽管图的示例示出了跳过循环的模式中的第一裸芯,任何裸芯或任何组的裸芯可以以该方式被跳过。图7示出了 DU4被转移到裸芯O并且然后发生占据存储器总线和裸芯I的到裸芯I的控制器数据转移的示例。之后,当控制器转移结束并且存储器总线可用时,方案跳过裸芯I,其中裸芯I以控制器写入保持繁忙,并且继续到下一个就绪的裸芯一一裸芯2,之后,方案以循环的次序继续到裸芯3以及然后到裸芯O。
[0047]主机数据模式
[0048]在使用从主机到存储器裸芯的数据的确定性的分配的一些存储器系统中,由主机发送的数据中的某些模式可能使得数据将存储在不期望的物理布置中。例如,主机可以用与裸芯分配方案对齐的一些模式发送数据,使得某些数据集中在一个或多个裸芯中,而不是均匀地分布在所有裸芯之上。这可以导致不均匀的损耗、当数据在之后被读取或更新时较差的访问时间或者其他效应。与裸芯分配对齐的数据模式在实际应用中可以以一定的(一般来说低的)频率发生,或者可以在测试情况中产生,使得来自这样的测试的任何结果显示较差的性能。对于给定的确定性的裸芯分配方案,可以设计将数据与裸芯分配对齐的测试以在特定的存储器中产生较差的性能。
[0049]根据本发明的方面,裸芯分配方案在数据到裸芯的分配中引入一些随机性,使得分配不是完全确定性的,而是相反具有随机的元素。随机性可以被用于突破主机数据的模式,使得数据不在与存储器裸芯对齐。因此,如果数据以确定性的方式在裸芯之上被划分,则将与存储器裸芯对齐的数据被充分地随机化以突破数据并且避免在特定的一个或多个裸芯中集中化特定的数据。通常不必要随机化每一个裸芯分配。随机化可以按需要被引入,其中裸芯在随机化事件之间以确定性的方式分配。在一些情况中,非随机的模式突破事件可以被引入,例如周期性地跳过裸芯(一些分配与基本方案相反)。例如,简单的确定性的分配方案可以以循环的次序分配裸芯,其中具有操作以打断遵循第一分配方案可能发生的数据到裸芯的对齐的第二模式突破方案(例如周期性地跳过裸芯或反转方向)。
[0050]—些方案基于裸芯可用性分配裸芯,跳过繁忙的裸芯,如在美国专利申请号14/094,550中所述的。尽管当控制器频繁地访问存储器裸芯时这可以突破这样的模式,但是其可能不足以充分地突破模式并且确保良好的性能。具体地,控制器访问可能不够频繁,因此模式可以在足够数量的块之上建立以引起一些性能影响。本发明的方面可以与基于裸芯可用性分配裸芯的方法(如图6和7所示)组合、或者可以与使用简单的划分方案的方案(如图5中所示)组合或者可以与任何其它合适的方案(即,在随机化事件之间,可以应用一些其它的非随机的方案)组合。
[0051]图8示出了使用包括随机化的分配而分配来自主机的数据的示例。初始地,数据单元DUo-DU7被接收并且在裸芯之上被划分,其中每个新的数据单元以循环的模式被写入到下一个就绪的裸芯。之后,在DU8被写入之后,引入随机化。与将从主机接收的下一个数据单元DU9分配到裸芯I相反,分配方案跳过裸芯I并且相反将DU9写入到裸芯2。之后,分配方案通过写入裸芯3而返回到循环的分配并且然后回到写入裸芯1(裸芯O仍是繁忙的)。因此,数据到裸芯的对齐被打破。之后的写入可以以循环的次序继续但是具有由跳过裸芯I而引入的偏移。因此,在DU11被写入到裸芯I之后,下一个写入(DU12)被引导到裸芯2,然后裸芯3,然后裸芯I等等。因此,由于随机的跳过裸芯,数据中的任何模式偏移。可以以该方式跳过多于一个裸芯来以不同的量偏移该模式。随机数字生成器、伪-随机数字生成器、或其它随机的输入可以被用于触发裸芯跳过和/或确定任何特定的裸芯跳过操作中的裸芯的数量。一般来说,单个跳过仅偏移一模式,但是该模式可能仍与裸芯对齐,使得再次产生问题(例如损耗从一个裸芯移到另一个)。随机化可以是以一些频率进行,使得倾向于与裸芯对齐的数据模式被充分地突破。
[0052]随机化可以以任何合适的方式进行。如图8中所示的跳过一个或多个裸芯仅是一个示例。另一示例是反转循环的分配模式的方向。例如,在图8中,在DU15被写入在裸芯I中之后,DU16被写入在裸芯2中,然后产生方向的随机的反转,使得下一个被写入的裸芯不是裸芯3,而是裸芯2。因此,DU16被写入到裸芯2,接着写入DUn到裸芯I,然后DU18到裸芯O,接着回到裸芯3。循环的次序从0-1-2-3-0-1-2-3-0...改变到0-3-2-1-0-3-2-1-0。不同的随机化步骤可以用在相同的存储器中,如在图8中所示。在一些情况中,单个随机化步骤可以组合随机化的不同的形式。例如,方向可以被反转并且一个或多个裸芯可以在单个随机化步骤中被跳过。
[0053]随机化步骤可以以变化的间隔触发。在随机化步骤之间,数据的分配可以遵循简单的循环的分配方案。数据分配可以遵循简单的方案一段特定的时间、或者一对特定的数据量,并且然后接收用于随机化事件的触发器。只要在随机化事件之间写入的数据的量保持相对较小,则应该不存在主机数据模式与裸芯的显著的整体对齐。
[0054]跳过一个或多个裸芯可以以各种方式实现。使得选择的裸芯将被跳过的一个简单的方法是确保对于比常规更长的时间选择的裸芯保持繁忙。因此,如果分配方案来回循环,跳过繁忙的裸芯,选择的裸芯仍将是繁忙的并且分配方案将跳过它。例如,当写入数据时,特定的数据的部分(可以是随机选中的)可以故意以使得其在之后的周期(假设在写入中没有突破)中将被跳过的缓慢的方式写入。
[0055]图9示出了DU1到裸芯I的缓慢写入的示例,其使得裸芯I将被跳过。裸芯I可以是随机地选择的以用于缓慢写入,从而导致跳过到裸芯2(其可以被认为是被随机地选择为下一个裸芯)。一般来说,所期望的是,尽可能快速地在存储器阵列中写入数据。但是,DU1以长于用于其它数据的正常的模态的并且长于编程和验证数据所需要的缓慢写入模态被写入。因此,在DU4被转移并且DU5将被分配到裸芯之后,裸芯I保持繁忙并且DU5相反被分配到裸芯2。两个或多个裸芯可以以该方式跳过(即缓慢的模态可以被用于引起多裸芯跳过)并且被跳过的裸芯的数量可以随机地选择,使得在这样的跳过之后的下一个裸芯是随机地选择的裸芯。
[0056]在一些情况中,缓慢写入模态可以使用提供较少的误差、减少损耗或者具有相比正常的写入模态具有益处的特别的编程方案。例如,被用于在缓慢模态中编程的电压脉冲可以更小,或可以以较小的量增加,使得实现更加精确的控制并且减少损耗。
[0057]使用缓慢写入模态还是以一些其它方式实现的随机化,可能减慢主机数据的写入。例如,在图9中,在DU4被转移之后,裸芯2就绪并且转移01]5之前可能存在一些延迟(而如果DU1在裸芯I中的写入使用正常的模态,则可能不存在这样的延迟,S卩DU5可以在DU4的转移之后立即或者很快转移到裸芯I)。在图9的情况中,裸芯2是在DU4转移之后下一个将变为就绪的裸芯。但是,随机地选择的裸芯简单地是变为就绪的下一个裸芯的情况可能并不总是成立。当裸芯分配方案跳过繁忙的裸芯时,当繁忙的裸芯被随机地选择时,对于这样的跳过规则的例外可能适用。当下一个裸芯被随机地选择时,这可能覆盖繁忙的裸芯跳过以迫使随机地选择的裸芯为下一个裸芯。因此,存储器可以等待随机地选择的裸芯变为就绪,即使这减慢主机数据写入。关于是否等待的决定可以基于在期待裸芯就绪之前所剩的时间的量。如果剩余的时间少于阈值量,则存储器可以等待。因此,只要延迟是可接受的,随机地选择的裸芯被迫使。
[0058]可以在包含跳过繁忙的裸芯的方案的任何裸芯分配方案中引入随机化(例如,因为控制器访问而繁忙的裸芯)。图10示出了存储器的示例,其中繁忙的裸芯通过由跳过裸芯2(标记为“A”)示出的分配方案跳过。图10还示出了裸芯的随机跳过,例如,跳过裸芯O并且继续到裸芯2,标记为“B”。在跳过繁忙的裸芯并且使用随机化的系统中,控制器访问可以提供具有随机化的一些模式突破,其中随机化提供额外的模式突破。随机化事件之间的间隔可以取决于控制器访问而调整,例如,其中设置随机化事件之间的间隔(例如,一些最大数量的循环的写入),由控制器访问引起的循环的写入的打断可能重新开始这样的间隔使得当控制器访问发生时下一个随机化事件可以推迟。在其它示例中,随机化事件继续而不关于控制器访问。
[0059]裸芯分配中的随机化可以以任何合适的方式提供。这里所提供的一些示例用于说明。将理解的是,本发明的方面可以被应用到这样的示例以及其它随机化技术。
[0060]图11示出了四个-裸芯系统中的分配的示例,其中循环的分配贯穿被随机化事件分开的窗口被维持。窗口尺寸是随机的并且在给定窗口中的第一裸芯是随机的。裸芯从1-4编号,其中第一窗口 110延伸十个数据单元,以裸芯2结束。之后,随机的长度(在该情况中,六个数据单元)的第二窗口 112以随机地选中的裸芯(裸芯4)开始。然后,随机的长度(在该情况中,11个数据单元)的第三窗口 114以随机地选中的裸芯(裸芯4)开始,接着随机的长度(五个数据单元)的第四窗口 116,具有随机地选中的第一裸芯(裸芯2)。在该情况中,裸芯2仍是繁忙的,因为其是之前的窗口的最后的裸芯。所以即使裸芯2被随机的选择选中,其在该方案中被跳过。可以设置最大窗口尺寸使得主机数据和裸芯之间的任何对齐限于少量的块。例如,对于四个裸芯,十二或者十六个数据单元的最大窗口尺寸可以是足够的。
[0061]图12示出了其中用于新的窗口的开始裸芯从不包括最近使用的裸芯的候选裸芯的池选择的示例。这可以避免具有到相同的裸芯的直接顺序写入,其可能影响读取性能。因此,第一窗口 110的最后的裸芯是裸芯2。当第二窗口的第一裸芯被随机选中时,其从包括裸芯1、3和4 (不包括裸芯2)的候选120裸芯的池中选择。裸芯4被随机的选中为第二窗口 112的第一裸芯。类似地,在第二窗口 112(其为随机的长度)以裸芯I结束之后,第三窗口 114的第一裸芯从不包括裸芯I的池122选择。类似地,在第三窗口以裸芯2结束之后,第四窗口 116的第一裸芯从不包括裸芯2的池124中选择。在一些情况中,之前的窗口的最后的裸芯保持繁忙,当选中下一个窗口的第一裸芯时,使得其可以由于如图11中的原因而被跳过。但是,这不确保连续的写入不发生于相同的裸芯(例如,在写入之前的窗口的最后的裸芯中存在突破)。为了确保连续的写入不发生,裸芯可能被排除于候选裸芯的池之外。池中的候选裸芯可以是就绪的或繁忙的。在一些情况中,即使来自候选池的随机地选择的裸芯是繁忙的,其也可以不被跳过(例如,存储器可以等待这样的裸芯变为就绪的,至少如果延迟少于阈值延迟)。
[0062]尽管图11和12的示例示出了窗口尺寸以及在每个窗口中的第一裸芯的随机化,但是随机化也可以通过随机化用于固定的尺寸的窗口的第一裸芯选择而实现。图13示出了在每四个写入之后发生随机化的示例。因此,数据在四个裸芯之上被划分并且然后随机化开始另外的周期。第一窗口 130以裸芯I开始并且以裸芯4结束。然后,裸芯2被随机地选择为第二窗口的第一裸芯132,其以裸芯I结束。然后,裸芯I被随机地选择为第三窗口 134的第一裸芯,但是其因为其保持繁忙而被跳过,使得裸芯2变为第三窗口的第一写入的裸芯。
[0063]图14A示出了固定的尺寸的窗口,其中具有第一裸芯的选择来自不包括最后写入的裸芯的候选裸芯的池。因此,因为第一窗口 140以裸芯4结束,用于第二窗口的第一裸芯142的随机的选择的候选的池包括裸芯1、2和3(不包括裸芯4)。图14B示出了固定的长度的窗口的另一示例,其中随机的选择来自不包括最后写入的裸芯的池。在该情况中,窗口长度固定于8个写入(八个数据单元)。将理解的是,窗口长度可以是任何合适的长度,并且并不一定裸芯数量的倍数(即,其可以是7个写入或10个写入)。
[0064]在一些情况中,存在很小或者不存在主机数据模式与裸芯对齐的风险。例如,主机可以发送可被识别为不太可能与裸芯对齐的某个类型的数据。因此,可以期望的是选择性地施加随机化。图15示出了其中随机化被选择性地用于提供模式突破并且其中随机化被校准到需要的模式突破的示例。作出是否需要模式突破的决定151。这可以包括检查主机如何写入数据以及控制器访问或其它效应是否倾向于提供足够的模式突破。如果所确定的是,不需要模式突破,则可以使用简单的确定性的(非随机的)分配方案153。如果需要模式突破,则可以确定适当程度的随机化可以155。一般来说,在裸芯之上的数据的确定性的划分是快速且简单的。增加随机化可能减小写入速度。可以基于平衡写入速度和随机化的益处施加适当程度的随机化157(即,写入速度上的一些影响可以是可接受的,如果其提供益处)。增加的随机化可能意味着更频繁的随机化事件(在这样的事件之间的更小的窗口)。随机化事件(或其它模式突破事件)可以包括裸芯跳过、方向反转或打断确定性的分配模式的其它事件。
[0065]图16示出了可以被用于实现本发明的方面的硬件的示例。存储器系统441包括通过主机接口 445与主机通信的存储器控制器443。存储器控制器443通过存储器总线447与四个存储器裸芯(裸芯O-裸芯3)通信。尽管为了清楚仅示出了一个这样的总线,但将理解的是,存储器控制器可以具有多个存储器总线,每个具有多个存储器裸芯。存储器控制器443包括数据分配电路449,该数据分配电路449以包括至少一些随机化的方式将数据分配到裸芯。具体地,数据分配电路449以随机的间隔跳过裸芯和/或反转方向。随机数字生成器451将输入提供到数据分配电路449以触发随机化事件和/或提供随机的输入以用于随机的事件(例如,跳过的裸芯的数量)。在一些情况中,模式突破电路(例如,在存储器控制器中)可以被配置为打断数据的对齐。
[0066]尽管本发明的方面由以上示例说明,但将理解的是,该示例仅是-示例-并且不意欲显示每个可能的实施例。例如,尽管以上示例示出了每存储器总线四个裸芯,但可以提供不同数量的裸芯。在一些示例中,在存储器总线可以存在8、16或更多裸芯。一些数量的这样的裸芯(例如4)可以在任何给定的时间处被激活,其中剩余的裸芯未被激活。此外,尽管当前说明示出了循环的模式0,1,2,3,0,1...等等,周期可以以任何裸芯(并不一定是裸芯O)开始,并且可以从裸芯到裸芯以任何次序继续(并不一定以增加的裸芯的编号)。尽管控制器写入以以上示例的方式被作为控制器访问操作的示例示出,但是任何控制器访问操作可以类似地影响主机数据的写入。
[0067]
[0068]^已经关于其示例性实施例描述了本发明的各种方面,但将理解的是,本发明有权在所附权利要求的完整范围中保护。此外,尽管本发明教导用于关于特定的现有技术结构实现方式的方法,但将理解的是,本发明有权在当用除了所述的那些的架构在存储器阵列中实现时保护。
【主权项】
1.一种操作在非易失性存储器系统中的多个非易失性存储器裸芯的方法,所述方法包括: 将数据的多个部分发送到多个存储器裸芯; 根据以确定性的方式将数据的部分分配到裸芯的第一分配方案,将数据的部分分配到单独的存储器裸芯;以及 根据第二分配方案将所述数据的多个部分的至少一个发送到单独的存储器裸芯,所述第二分配方案以与所述第一分配方案相反的模式突破的方式分配所述多个部分的至少一个,打乱根据所述第一分配方案的数据到裸芯的对齐。2.如权利要求1所述的方法,其中所述模式突破的方式是随机的方式。3.如权利要求1所述的方法,其中所述第一分配方案以循环的模式将单独的数据的部分分配到单独的存储器裸芯,并且其中以所述模式突破的方式分配包括跳过循环的模式中的下一个就绪的裸芯。4.如权利要求2所述的方法,其中所述第一分配方案以循环的模式将单独的数据的部分分配到单独的存储器裸芯,跳过繁忙的裸芯,并且其中以所述随机的方式分配包括增加随机地选择的裸芯的编程时间,使得所述随机地选择的裸芯保持繁忙一段延长的时段,在该延长的时段期间所述随机地选择的裸芯被跳过。5.如权利要求2所述的方法,其中所述第一分配方案以循环的模式将单独的数据的部分分配到单独的存储器裸芯,并且其中以所述随机的方式分配包括随机地反转所述循环的模式的方向。6.如权利要求2所述的方法,其中所述第一分配方案以循环的模式将单独的数据的部分分配到单独的存储器裸芯,并且其中以所述随机的方式分配包括在随机地选择的裸芯处开始所述循环的模式的周期。7.如权利要求2所述的方法,其中所述循环的模式从所述随机地选择的裸芯继续随机数量的裸芯,在此之后在随机地选择的裸芯处开始另外的周期。8.如权利要求1所述的方法,其中以模式突破的方式将所述数据的多个部分的至少一个分配到所述存储器裸芯比以非随机的模式提供更慢的写入速度。9.一种操作非易失性存储器系统的方法,包括: 在将所述存储器控制器连接到多个存储器裸芯的存储器总线之上,以循环的编址模式从存储器控制器发送数据的单元,直到在所述循环的编址模式中紧挨着最后编址的存储器裸芯的存储器裸芯为繁忙的,或者触发模式突破; 响应于确定在所述循环的编址模式中紧挨着所述最后编址的存储器裸芯的存储器裸芯是繁忙的,跳过在所述循环的编址模式中是下一个的所述存储器裸芯,并且编址在所述循环的编址模式中就绪的之后的存储器裸芯;以及 响应于触发模式突破,编址从不包括在所述循环的编址模式中的下一个存储器裸芯的多个候选存储器裸芯选择的存储器裸芯。10.如权利要求9所述的方法,其中所述最后编址的存储器裸芯从用于随机的选择的所述多个候选存储器裸芯中排除。11.如权利要求9所述的方法,其中一个或多个繁忙的存储器裸芯包含在用于随机的选择的所述多个候选存储器裸芯中。12.如权利要求11所述的方法,其中所述一个或多个繁忙的存储器裸芯的包含响应于确定来自等待所述一个或多个繁忙的存储器裸芯就绪的延迟在预定的限度中。13.如权利要求9所述的方法,其中由存在不期望的数据模式建立在所述多个存储器裸芯的一个或多个中的高度风险的确定触发模式突破。14.一种非易失性存储器系统,包括: 多个非易失性存储器裸芯; 存储器控制器; 在所述存储器控制器中的数据分配电路,配置为以确定性的方式分配用于存储在所述多个存储器裸芯中的数据的单元;以及 在所述存储器控制器中的模式突破电路,配置为打乱数据到存储器裸芯的对齐。15.如权利要求14所述的非易失性存储器系统,还包括产生到所述模式突破电路的随机的输入的随机数字生成器。16.如权利要求15所述的非易失性存储器系统,还包括具有正常的编程模态和缓慢的编程模态的编程电路,所述随机的输入被提供到所述编程电路以随机地识别用于以缓慢的编程模态编程的存储器裸芯。17.如权利要求14所述的非易失性存储器系统,其中所述非易失性存储器裸芯是NAND闪速存储器裸芯。18.如权利要求14所述的非易失性存储器系统,其中所述非易失性存储器裸芯包括四个裸芯。19.如权利要求14所述的非易失性存储器系统,还包括将所述多个非易失性存储器裸芯连接到所述存储器控制器的存储器总线。
【文档编号】G06F12/02GK105874438SQ201580003590
【公开日】2016年8月17日
【申请日】2015年1月21日
【发明人】L.M.帕克, S.A.戈罗贝茨, A.D.班尼特, L.帕特尔
【申请人】桑迪士克科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1