用于实现编程序列以增强晶元交错的系统和方法

文档序号:6770806阅读:145来源:国知局
专利名称:用于实现编程序列以增强晶元交错的系统和方法
技术领域
本申请一般涉及管理存储器系统中的数据。更具体地,本申请涉及实现改进的编程序列以增强可再编程的非易失性半导体快闪存储器中的晶元(die)交错(interleave)的存储器系统。
背景技术
当向传统的快闪存储器系统中的多个晶元写数据时,系统控制器通常利用编程序列,在该编程序列中,在处理(transaction)期间,在数据被写到晶元的较低页之前,数据被写到相同晶元的较高页。由于在将数据写到晶元的较高页之后晶元的缓存用于释放的时间量,在系统控制器可以执行向晶元的较低页写入之前的处理期间,系统控制器必须经常空闲地等待达相当长的时间段。

发明内容
为了应对减少系统控制器在处理期间必须空闲等待的时间量的需要,在此公开了用于顺序地向存储器器件写数据的方法和系统,其通过在向晶元的较高页写数据之前的处理期间向该晶元的较低页写数据来减少存储器系统必须等待存储器器件的缓存释放的时间量。根据一个方面,公开了用于向诸如通用串行总线(USB)存储器器件的存储器器件顺序地写入数据的方法。在包括第一晶元和第二晶元的存储器器件中,第一晶元和第二晶元的每个包括多页,接收第一数据集。第一数据集被写到第一晶元和第二晶元的一页或多页。在将所述第一数据集写到第一晶元和第二晶元的一页或多页之后,接收第二数据集。将所述第二数据集的第一部分写到第二晶元的较低页,并且在将所述第二数据集的第一部分写到第二晶元的较低页之后,将所述第二数据集的第二部分写到所述第二晶元的较闻页。在一些实现方式中,可以在将所述第二数据集的第一部分写到所述第二晶元的较低页之前,将所述第二数据集的第三部分写到所述第一晶元的较高页。此外,可以在将所述第二数据集的第二部分写到所述第二晶元的较高页之后,将所述第二数据集的第四部分写到所述第一晶元的较低页。根据另一方面,公开了用于向诸如USB存储器器件的存储器器件顺序地写入数据的另一方法。在包括第一晶元和第二晶元的存储器器件中,第一晶元和第二晶元的每个包括多页,将数据集的第一部分写到第一晶元的较高页。在将所述数据集的第一部分写到第一晶元的较高页之后,将所述数据集的第二部分写到第二晶元的较低页。在将所述数据集的第二部分写到第二晶元的较低页之后,将所述数据集的第三部分写到第二晶元的较高页。在将所述数据集的第三部分写到第二晶元的较高页之后,将所述数据集的第四部分写到第一晶元的较低页。
根据另一方面,公开了包括通信接口、存储器单元和处理器的诸如USB存储器器件的存储器器件。存储器单元包括第一晶元和第二晶元,第一晶元和第二晶元的每个包括多页。处理器将通过通信接口接收的数据顺序地写到第一晶元和第二晶元的一页或多页。该处理器被配置为通过所述通信接口接收第一数据集,并将所述第一数据集写到第一晶元和第二晶元的一页或多页。该处理器被配置为在将所述第一数据集写到第一晶元和第二晶元的一页或多页之后,通过所述通信接口接收第二数据集。该处理器还被配置为将所述第二数据集的第一部分写到第二晶元的较低页;以及在将所述第二数据集的第一部分写到第二晶元的较低页之后,将所述第二数据集的第二部分写到所述第二晶元的较高页。在浏览以下附图、详细描述和权利要求书之后,其他特征和优点将变得显而易见。另外,公开了其他实施例,并且这些实施例的每个可以单独使用或者组合在一起使用。现在将参考附图描述实施例。


图1例示与具有包含多个晶元的多库(mult1-bank)非易失性存储器的存储器系统连接的主机。图2是用在图1的多晶元非易失性存储器中的示例的快闪存储器系统控制器的示例框图。图3是适合作为图1所示的非易失性存储器库之一的示例的一个快闪存储器库。图4是可以用在图3的存储器库中的存储器单元阵列的代表电路图。图5例示图3的存储器库的示例物理存储器组织的例子。图6a示出图5的物理存储器的一部分的展开图。图6b例示操作以在存储器单元中存储两位数据的MLC存储器中的电荷水平。图7例不两晶兀存储器系统。图8a和Sb是用于实现顺序地向存储器器件写数据的修改的编程序列的方法的流程图,该方法减少在向第一晶元和第二晶元的一页或多页写数据时系统控制器必须等待缓存释放的时间量。
具体实施例方式适合在实现本发明的方面时使用的快闪存储器系统在图l_8b中示出。图1的主机系统100将数据存储到存储器系统102中并从存储器系统102取回数据。存储器系统可以是嵌入在主机内的快闪存储器,比如在个人计算机中安装的固态盘(SSD)驱动器形式的快闪存储器。或者,存储器系统102可以是通过如图1所示的机械和电连接器的配合部分104和106可移除地连接到主机的卡形式。配置为用作内部或者嵌入的SSD驱动器的快闪存储器可能看起来类似于图1的示意,主要差别是存储器系统102的位置对于主机是内部的。SSD驱动器可以是作为对旋转磁盘驱动器的直接(drop-1n)替代的单独模块的形式。图1的主机系统100可以被看作为具有包括电路和软件的组合的两个主要部分,就存储器系统102而言。它们是应用部分108和与存储器系统102相接口的驱动器部分110。在PC中,例如,应用部分108可以包括运行字处理、图形、控制或其他普遍应用软件的处理器112以及用于管理主机100上的数据的文件系统114。在相机、蜂窝电话或者主要专用于进行单个功能集的其他主机系统中,应用部分108包括操作相机以拍摄并存储照片、操作蜂窝电话以做出和接收呼叫等的软件。图1的存储器系统102可以包括诸如快闪存储器116的非易失性存储器以及与主机100相接口并且控制存储器116的系统控制器118,其中存储器系统102连接到该主机100用于来回传递数据。系统控制器118在数据编程和读取期间可以在由主机100使用的数据的逻辑地址和快闪存储器116的物理地址之间转换。快闪存储器116可以包括任意数量的存储器晶元120,并且通过例示在图1中简单地示出了两个存储器晶元。功能上,系统控制器118可以包括与主机系统相接口的前端122、用于协调存储器116的操作的控制器逻辑124、用于诸如垃圾收集的内部存储器管理操作的闪存管理逻辑126以及用于提供在控制器与快闪存储器116之间的通信接口的一个或多个闪存接口模块(FIM) 128。系统控制器118可以在单个集成电路芯片上,比如诸如图2所示的专用集成电路(ASIC)上实现。系统控制器118的处理器206可以被配置为能够经由具有用于快闪存储器116中的各个库120的每个的I/O端口的存储器接口 204分离地与各个存储器库120的每个通信的多线程处理器。系统控制器118可以包括内部时钟218。处理器206经由内部数据总线202与错误校正码(ECC)模块214、RAM缓冲器212、主机接口 216和引导码R0M210通信。快闪存储器116中的每个晶元120可以包含组织为多个平面的存储器单元的阵列。图3为了简化示出这样的平面310和312,但是替代地可以使用更多数量的平面,比如四个或者八个平面。或者,存储器库的存储器单元阵列可以不被划分为平面。但是,当这样划分时,每个平面具有彼此可独立操作的其自己的列控制电路314和316。电路314和316从系统总线302的地址部分306接收其相应存储器单元阵列的地址,并且将地址解码以寻址各条位线318和320中的具体一条或多条。响应于在地址总线306上接收的地址,通过行控制电路324寻址字线322。源极电压控制电路326和328也与各个平面连接,P阱电压控制电路330和332也与各个平面连接。如果库300是具有存储器单元的单个阵列的存储器芯片的形式,并且如果系统中存在两个或更多这样的芯片,则数据通过与系统总线302的数据部分304连接的各个数据输入/输出电路334和336而被传输到平面310和312以及从平面310和312传输出去。电路334和336提供用于通过经各个列控制电路314和316连接到平面的线路338和340来将数据编程到存储器单元中以及用于从各个平面的存储器单元读取数据。尽管系统控制器118中的处理器206控制每个库120中的存储器芯片的操作以编程数据、读取数据、擦除和参与各种内务事项,但是每个存储器芯片还包含执行来自控制器118的命令以进行这样的功能的一些控制电路。接口电路342连接到系统总线302的控制和状态部分308。来自控制器118的命令被提供给状态机344,该状态机344然后提供对其他电路的具体控制以便执行这些命令。控制线346-354连接状态机344与这些其他电路,如图3所示。来自状态机344的状态信息通过线路356传输到接口 342,用于通过总线部分308传输到控制器118。以下讨论存储器单元阵列310和312的NAND架构,尽管替代地可以使用其他架构,比如N0R。示例的NAND阵列由图4的电路图例示,其是图3的存储器库300的存储器单元阵列310的一部分。提供大量的全局位线,为了简化说明在图4中仅示出了四条这样的线402-408。大量串联的存储器单元串410-424被连接在这些位线之一和参考电势之间。使用存储器单元串414作为代表,多个电荷存储存储器单元426-432在该串的任一端处与选择晶体管434和436串联。当使得一串的选择晶体管导电时,该串被连接在其位线和参考电势之间。然后一次编程或读取该串内的一个存储器单元。图4的字线438-444各自穿过多个存储器单元串的每个中的一个存储器单元的电荷存储元件而延伸,并且栅极446和450控制这些串的每端处的选择晶体管的状态。使得共享公共字线和控制栅极线438-450的存储器单元串形成一起被擦除的存储器单元的块452。此单元的块包含一次可物理地擦出的最小数量的单元。一行存储器单元、即沿着字线438-444之一的那些存储器单元一次被编程。通常,按规定的顺序编程NAND阵列的行,在此情况下以沿着最靠近连接到地或者另一公共电势的串的端的字线444的行开始。沿着字线442的存储器单元的行接下来被编程,等等,遍及块452。沿着字线438的行最后被编程。第二块454类似,其存储器单元的串连接到与第一块452中的串相同的全局位线,但是具有不同组的字线和控制栅极线。通过行控制电路324将字线和控制栅极线驱动到其适当的操作电压。如果系统中存在多于一个平面,比如图3的平面I和2,则一个存储器架构使用在其之间延伸的公共字线。或者可以存在共享公共字线的多于两个平面。在其他存储器架构中,各个平面的字线被分离地驱动。可以操作存储器单元以存储两个水平的电荷以便在每个单元中存储单个位数据。这通常称为二进制或者单级单元(SLC)存储器。或者,可以操作存储器单元以在每个电荷存储元件或区域中存储多于两个可检测水平的电荷,由此在每个电荷存储元件或区域中存储多于一位数据。后一种配置称为多级单元(MLC)存储器。两种类型的存储器单元都可以用在存储器中,例如二进制快闪存储器可以用于缓存数据并且MLC存储器可以用于更长期的存储。存储器单元的电荷存储元件最常是导电浮置栅极,但是替代地可以是不导电的电介质电荷俘获材料。图5概念性例示示出存储器单元的四个平面502-508的多平面布置。这些平面502-508可以在单个晶元上、在两个晶元上(每个晶元上两个平面)或者在四个分离的晶元上。当然在系统的每个晶元中可以存在其他数量的平面,比如I个、2个、8个、16个或者更多。平面各自被划分为位于各个平面502-508中的在图5中由矩形示出的存储器单元的块,比如块510、512、514和516。在每个平面中可以存在数十或者数百个块。如上所述,存储器单元的块是擦除的单位,即物理上可一起擦除的最小数量的存储器单元。但是,为了增加并行性,按更大的元块单位操作块。来自每个平面的一个块在逻辑上链接在一起以形成元块。四个块510-516被示出为形成一个元块518。元块内的所有单元通常一起被擦除。用于形成元块的块不需要被限制为在其各自平面内的相对位置,如在由块522-528构成的第二元块520中所示。尽管通常优选跨过所有平面延伸元块,但是为了高系统性能,存储器系统可以操作为具有动态地形成不同平面中的一个、两个、三个块中的任意或所有的元块的能力。这允许元块的大小与在一个编程操作中可用于存储的数据量更紧密地匹配。为了操作目的各个块又被划分为存储器单元的页,如图6a中所示。例如,每个块510-516的存储器单元每个被划分为八页P0-P7。或者,在每个块内可以存在32、64或者更多页的存储器单元。页是块内的数据编程和读取的单位,包含一次被编程或读取的最小量的数据。在图3的NAND架构中,页由块内的沿着字线的存储器单元形成。但是,为了增加存储器系统操作并行性,两个或多个块内的这种页可以在逻辑上链接为元页。元页602在图6a中例示,由来自四个块510-516的每个的一个物理页形成。例如,元页602包括在四个块的每个中的页P2,但是元块的页不一定需要具有在每个块内的相同的相对位置。在操作为在每个存储器单元中存储两位数据的MLC存储器的实现方式中,每个存储器单元被配置为存储对应于值“11”、“01”、“10”和“00”的四个水平的电荷。两位数据的每位可以表示较低页的页位或者较高页的页位,其中较低页和较高页跨度跨过共享公共字线的一系列存储器单元。通常,数据的两位中的较低有效位表示较低页的页位,并且数据的两位中的较高有效位表示较高页的页位。图6b例示用于表示存储器单元中的两位数据的四个电荷水平的一个实现方式。值“11”对应于存储器单元的未被编程状态。当编程脉冲被施加到存储器单元以编程较低页的页位时,电荷水平增加以表示对应于较低页的页位的被编程状态的值“10”。对于较高页的页位,当较低页的页位被编程时(值“10”),编程脉冲被施加到存储器单元用于较高页的页位以依赖于较高页的页位的期望值而将电荷水平增加到对应于值“00”或者“10”。但是,如果较低页的页位未被编程使得存储器单元处于未被编程的状态(值“ 11 ”),则向存储器单元施加编程脉冲以编程较高页的页位将电荷水平增加到表示对应于较高页的页位的被编程状态的值“01”。图7例示具有两个存储器晶元702、704的存储器700,每个晶元具有缓存存储区域706,708以及可以用于实现块交错的主存储区域710、712。可以通过将从主机接收的顺序地被寻址的数据写到快闪存储器中的第一晶元702的缓存存储区域706来实现在诸如快闪存储器700中的晶元702和704的多个晶元之间的块交错。当等于第一晶元的主存储区域710中的存储器页的大小的顺序地被寻址的数据的量已经被写到第一晶元的缓存存储区域706时,快闪存储器的控制器将顺序地被寻址的来自主机的下一组接收的数据写到快闪存储器的下一存储器晶元704中的缓存存储块。像第一晶元702那样,顺序地被寻址的数据写到第二晶元704的缓存存储区域708中的这种写入继续,直到等于第二晶元704的主存储区域712中的块的页大小的第二晶元704的缓存存储区域708的量被填满。为了简化例示,未在图7中示出控制器,但是,图7的存储器700可以与诸如图2所示的控制器118的单独控制器相关联,可以具有在单个芯片上与存储器晶元集成的一个或多个控制器,或者可以被配置为与两者的组合一起工作。在传统的交错编程序列中,快闪存储器的系统控制器通常顺序地向晶元O的较高页、晶元I的较高页、晶元O的较低页以及然后的晶元I的较低页写入数据。下表例示了涉及64千字节(Kilobytes)数据的初始的三个处理、对于第二和第三64K处理使用上述的编程序列的传统交错编程序列。但是,将认识到,传统的编程序列可以包括任意数量个的64K处理。USB处理的大小是64千字节,因为最大的USB传送大小通常是64K。对于顺序写入,在多个64K写入处理中,主机设备通过USB向存储器器件发送数据。
权利要求
1.一种顺序地向存储器器件写入数据的方法,该方法包括: 在包括第一晶元和第二晶元的存储器器件中,第一晶元和第二晶元的每个包括多页: 接收第一数据集; 将所述第一数据集写到第一晶元和第二晶元的一页或多页; 在将所述第一数据集写到第一晶元和第二晶元的一页或多页之后,接收第二数据集; 将所述第二数据集的第一部分写到第二晶元的较低页;以及 在将所述第二数据集的第一部分写到第二晶元的较低页之后,将所述第二数据集的第二部分写到所述第二晶元的较高页。
2.如权利要求1的方法,其中所述第二数据集的第一部分和所述第二数据集的第二部分被写到所述第二晶元的不同页。
3.如权利要求1的方法,还包括: 在将所述第二数据集的第一部分写到所述第二晶元的较低页之前,将所述第二数据集的第三部分写到所述第一晶元的较高页;以及 在将所述第二数据集的第二部分写到所述第二晶元的较高页之后,将所述第二数据集的第四部分写到所述第一晶元的较低页。
4.如权利要求3的方法,其中在将所述第二数据集的第二部分写到所述第二晶元的较高页之后将所述第二数据集的第四部分写到所述第一晶元的较低页包括: 在将所述第二数据集的第二部分写到所述第二晶元的较高页之后近似320 μ s,将所述第二数据集的第四部分写到所述第一晶元的较低页。
5.如权利要求3的方法,其中在将所述第二数据集的第二部分写到所述第二晶元的较高页之后将所述第二数据集的第四部分写到所述第一晶元的较低页包括: 在将所述第二数据集的第二部分写到所述第二晶元的较高页之后立即将所述第二数据集的第四部分写到所述第一晶元的较低页。
6.如权利要求3的方法,还包括: 接收第三数据集; 在将所述第二数据集的第四部分写到所述第一晶元的较低页之后,将所述第三数据集的第一部分写到所述第一晶元的较高页; 在将所述第三数据集的第一部分写到所述第一晶元的较高页之后,将所述第三数据集的第二部分写到所述第二晶元的较低页; 在将所述第三数据集的第二部分写到所述第二晶元的较低页之后,将所述第三数据集的第三部分写到所述第二晶元的较高页;以及 在将所述第三数据集的第三部分写到所述第二晶元的较高页之后,将所述第三数据集的第四部分写到所述第一晶元的较低页。
7.如权利要求1的方法,其中第一数据集是64千字节的数据并且第二数据集是64千字节的数据。
8.如权利要求1的方法,其中在将所述第二数据集的第一部分写到所述第二晶元的较低页之后将所述第二数据集的第二部分写到所述第二晶元的较高页包括: 在将所述第二数据集的第一部分写到所述第二晶元的较低页之后近似20 μ S,将所述第二数据集的第二部分写到所述第二晶元的较高页。
9.一种存储器器件,包括: 通信接口 ; 存储器单元,包括第一晶元和第二晶元,第一晶元和第二晶元的每个包括多页;以及;处理器,用于将通过所述通信接口接收的数据顺序地写到所述第一晶元和第二晶元的一页或多页,所述处理器被配置为: 通过所述通信接口接收第一数据集; 将所述第一数据集写到第一晶元和第二晶元的一页或多页; 在将所述第一数据集写到第一晶元和第二晶元的一页或多页之后,通过所述通信接口接收第二数据集; 将所述第二数据集的第一部分写到第二晶元的较低页;以及 在将所述第二数据集的第一部分写到第二晶元的较低页之后,将所述第二数据集的第二部分写到所述第二晶元的较高页。
10.如权利要求9的存储器器件,其中所述处理器将所述第二数据集的第一部分和所述第二数据集的第二部分写到所述第二晶元的不同页。
11.如权利要求9的存储器器件,其中所述处理器还被配置为: 在将所述第二数据集的第一部分写到所述第二晶元的较低页之前,将所述第二数据集的第三部分写到所述第一晶元的较高页;以及 在将所述第二数据集的第二部分写到所述第二晶元的较高页之后,将所述第二数据集的第四部分写到所述第一晶元的较低页。
12.如权利要求11的存储器器件,其中为了在将所述第二数据集的第二部分写到所述第二晶元的较高页之后将所述第二数据集的第四部分写到所述第一晶元的较低页,所述处理器被配置为: 在将所述第二数据集的第二部分写到所述第二晶元的较高页之后近似320 μ s,将所述第二数据集的第四部分写到所述第一晶元的较低页。
13.如权利要求11的存储器器件,其中为了在将所述第二数据集的第二部分写到所述第二晶元的较高页之后将所述第二数据集的第四部分写到所述第一晶元的较低页,所述处理器被配置为: 在将所述第二数据集的第二部分写到所述第二晶元的较高页之后立即将所述第二数据集的第四部分写到所述第一晶元的较低页。
14.如权利要求9的存储器器件,其中所述处理器还被配置为: 通过所述通信接口接收第三数据集; 在将所述第二数据集的第四部分写到所述第一晶元的较低页之后,将所述第三数据集的第一部分写到所述第一晶元的较高页; 在将所述第三数据集的第一部分写到所述第一晶元的较高页之后,将所述第三数据集的第二部分写到所述第二晶元的较低页; 在将所述第三数据集的第二部分写到所述第二晶元的较低页之后,将所述第三数据集的第三部分写到所述第二晶元的较高页;以及 在将所述第三数据集的第三部分写到所述第二晶元的较高页之后,将所述第三数据集的第四部分写到所述第一晶元的较低页。
15.如权利要求9的存储器器件,其中第一数据集是64千字节的数据并且第二数据集是64千字节的数据。
16.如权利要求9的存储器器件,其中为了在将所述第二数据集的第一部分写到所述第二晶元的较低页之后将所述第二数据集的第二部分写到所述第二晶元的较高页,所述处理器被配置为: 在将所述第二数据集的第一部分写到所述第二晶元的较低页之后近似20 μ S,将所述第二数据集的第二部分写到所述第二晶元的较高页。
17.一种用于顺序地将数据写到存储器器件的方法,该方法包括: 在包括第一晶元和第二晶元的存储器器件中,第一晶元和第二晶元的每个包括多页: 将数据集的第一部分写到第一晶元的较高页; 在将所述数据集的第一部分写到第一晶元的较高页之后,将所述数据集的第二部分写到第二晶元的较低页; 在将所述数据集的第二部分写到第二晶元的较低页之后,将所述数据集的第三部分写到第二晶元的较高页;以及 在将所述数据集的第三部分写到第二晶元的较高页之后,将所述数据集的第四部分写到第一晶元的较低页。
18.如权利要求17的方法,还包括: 在存储器器件处接收所述数据集。
19.如权利要求1的方法,其中所述存储器器件是通用串行总线(USB)存储器器件。
全文摘要
本发明公开了用于向诸如通用串行总线(USB)存储器器件的存储器器件顺序地写入数据的系统和方法。存储器器件包括第一晶元和第二晶元,第一晶元和第二晶元的每个包括多页。器件的系统控制器将数据集的第一部分写到第一晶元的较高页。然后将数据集的第二部分写到第二晶元的较低页。系统控制器然后在将数据集的第四部分写到第一晶元的较低页之前将数据集的第三部分写到第二晶元的较高页。
文档编号G11C11/56GK103140896SQ201080069379
公开日2013年6月5日 申请日期2010年12月22日 优先权日2010年7月30日
发明者K.达克什纳默西, D.尤尔佐拉, R.纳加比拉瓦, O.施特拉斯伯格 申请人:桑迪士克科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1