专利名称:可扩缩的存储器系统的制作方法
技术领域:
本发明总的涉及存储器系统。更具体地,本发明涉及用于大容量存储应用的串联存储器设备的存储器系统。
背景技术:
闪速存储器是常用的一类非易失性存储器,其广泛用作诸如数字照相机和便携数字音乐播放器的消费电子设备的大容量存储。当前可获得的闪速存储器芯片的密度可达32G比特(4GB),由于单个闪存芯片的尺寸小,其适合用在流行的USB闪存驱动器中。图I是公知的与非闪速存储器的一个存储体的总的框图。本领域中的普通技术人员将理解闪速存储器设备能够具有任意数量的存储体。存储体30被组织为k+1个块。每一块包括与非存储器单元串,具有互相串联的多达i+1个闪速存储器单元。相应地,字线WLO到WLi连接到存储器单元串中的每一个闪速存储器单元的栅极。与信号SSL(串选择线)相连的串选择设备选择性地将存储器单元串连接到位线,而连接到信号GSL(接地选择线)的接地选择设备将存储器单元串选择性地连接到诸如VSS的电源线。串选择设备和接地选择设备为n沟道晶体管。存储体30的所有块公用j+1个位线,并且每一位线连接到块
到[k]的每一块中的一个与非存储器单元串。每一字线(WL0到WLi)、SSL和GSL信号连接到块中的每个与非存储器单元串中的相同的对应的晶体管设备。本领域内的普通技术人员应该可以意识到存储在沿着一个字线的闪速存储器单元中的数据是指页面数据。数据寄存器32在存储体30外部连接到每一位线,用于存储将要编程到一个页面的闪速存储器单元的一个页面的写数据、或者从闪速存储器单元存取的一个页面的读取数据。数据寄存器32还包括读出电路用于读出从一个页面的闪速存储器单元读取的数据。在编程操作期间,数据寄存器执行编程验证操作,以确保该数据被正确编程到与所选字线相连接的闪速存储器单元中。存储体30的每一存储器单元可以存储数据的单个位或者数据的多个位。一些闪速存储器设备将具有多于一组的数据寄存器以增加吞吐量。八百万像素的数字照相机和具有音乐和视频能力的便携数字娱乐设备的出现促进了对于存储大量数据的超高容量的要求,而这种要求是单个闪速存储器设备不能满足的。因此,将多个闪速存储器设备组合在一起形成存储器系统来有效增加可用的存储容量。例如,这样的应用可能需要20GB的闪存存储密度。
图2为与主机系统12集成的现有技术的闪速存储器系统10的框图。闪速存储器系统10包括和主机系统12通信的存储器控制器14以及多个非易失性存储器设备16。主机系统包括诸如微控制器、微处理器或者计算机系统的处理设备。图2的闪速存储器系统10被配置为包括一个通道18,其中存储器设备16并行连接到通道18。本领域的普通技术人员可以理解存储器系统10可以具有与通道相连的、多于或者少于四个的存储器设备。通道18包括一组公用总线,包括连接到所有其相应的存储器设备的数据和控制线。每一存储器设备可以由存储器控制器14提供的各自的芯片选择信号CE#1、CE#2、CE#3和CE#4来启用/禁止。“#”指示信号为有效的低逻辑电平信号。存储器控制器14负责用于根据主机系统12的操作经通道18发送命令和数据到所选择的存储器设备。从存储器设备读取的数据经通道18被返回所述存储器控制器14和主机系统12。闪速存储器系统10的操作与时钟CLK同步,时钟CLK被并行地提供到每一存储器设备16。闪速存储器系统10通常称为多点(multi-drop)配置,其中所述存储器设备16关于通道18并行连接。 在闪速存储器系统10中,非易失性存储器设备16能够互相相同,并且典型地实现为与非闪速存储器设备。本领域内的普通技术人员将理解闪速存储器可以组织为存储体, 每一存储体可以被组织为块,以有利于块擦除。大部分商业可获得的与非闪速存储器设备被配置为具有两个存储体的存储器。存在将对系统性能产生不利的影响的特定问题。闪速存储器系统10的配置产生物理性能的限制。对于延伸跨越系统的大量并行信号,它们所运载信号的信号完整性将被串扰、信号偏斜、同步开关噪声(SSN)削弱。由于闪速控制器和闪速存储器设备之间的每个信号轨道为了信号传输被频繁充放电,在这样的配置中的功耗也成为一个问题。随着系统时钟频率的增长,功耗也增加。由于单个存储器设备的驱动能力相对长信号轨道的载荷小,也存在可以并行连接到通道的存储器设备的数量的实际限制。此外,随着存储器设备的数量的增加,需要更多的芯片使能信号(CE#),并且时钟信号CLK需要被发送给附加的存储器设备。由于大范围的时钟分布的时钟性能问题为本领域公知,其需要被解决。因此,为了适应具有大量存储器设备的存储器系统,必须使用具有较多通道的控制器,或者和/或系统需要以较低频率时钟驱动。被配置为具有多通道和附加芯片使能信号的控制器增加了存储器系统的成本。另外,存储器系统被限制于少量的存储器设备。因此,期望提供一种能够支持任意数量的存储器设备的存储器系统体系结构。
发明内容
实施例的一个方面用来消除或者减轻前述存储器系统的至少一个缺陷。在第一方面,提供一种具有控制器和存储器设备的存储器系统。所述控制器包括用于提供串行位流命令包的串行通道输出端口,和用于接收串行位流读取数据包的串行通道输入端口。所述串行位流命令包包括操作码和设备地址。所述存储器设备具有用于从所述控制器接收所述串行位流命令包的输入端口,并且用于如果所述设备地址对应于所述存储器设备则执行所述操作码。所述存储器设备通过输出端口提供所述串行位流命令包并且如果所述操作码对应于读取功能则通过所述输出端口随后提供所述串行位流读取数据包。根据本发明的实施例,存在串行耦合在所述存储器设备和所述控制器之间的至少一个插入的存储器设备。所述至少一个插入的存储器设备具有用于接收并传递所述串行位流命令包到所述存储器设备的输入端口,并且如果设备地址对应于所述存储器设备并且所述操作码对应于读取功能,则随后提供所述串行位流读取数据包。根据其它实施例,并行提供互补时钟信号到所述存储器设备和所述至少一个插入的存储器设备,或者提供互补时钟信号到所述至少一个插入的存储器设备,并且通过所述至少一个插入的存储器设备传递到所述存储器设备,并且通过所述存储器设备传递到所述控制器。在本方面的进一步实施例中,存储器系统包括所述控制器和所述存储器设备之间的扩展链路,用于接收扩展模块和跳线的其中一个。所述至少一个插入的存储器设备为具有耦合装置的扩展模块的一部分,所述耦合装置被配置用于与所述扩展链路电耦合。根据进一步的实施例,所述存储器设备和所述至少一个插入的存储器设备的每一个包括本地存储器核心以及用于响应所述串行位流命令包控制所述本地存储器核心的串行接口和控制逻辑块。所述存储器设备本地存储器核心与所述至少一个插入的存储器设备 本地存储器核心基于与非闪存,或者可以是DRAM、SRAM、与非闪速和或非闪速存储器核心。在本方面的又一实施例中,所述串行位流命令包具有模块化结构,其中所述串行位流命令包的尺寸可变。所述串行位流命令包可以包括用于提供所述操作码和所述设备地址的命令字段,其中,所述命令字段包括用于提供所述操作码的第一子字段和用于提供所述设备地址的第二子字段。所述串行位流命令包可以包括用于提供所述操作码和所述设备地址的命令字段和用于提供行地址和列地址的其中一个的地址字段。所述串行位流命令包可以包括用于提供所述操作码和所述设备地址的命令字段、用于提供行地址和列地址的其中一个的地址字段和用于提供写数据的数据字段。根据前面的实施例的方面,所述控制器提供与所述串行位流命令包并行的命令选通,所述命令选通具有匹配所述串行位流命令包的长度的有效电平。此外,所述控制器提供与所述串行位流读取数据包并行的数据输入选通,所述数据输入选通具有匹配所述串行位流读取数据包的长度的有效电平。当所述设备地址对应于所述存储器设备时,所述存储器设备响应所述命令选通的所述有效电平锁存所述串行位流命令包,并且响应所述数据输入选通的有效电平启用所述存储器设备输出端口。所述命令选通和所述数据输入选通为非交迭信号,且由至少一个数据锁存时钟边沿分离。此外,所述命令选通与相邻命令选通通过至少一个数据锁存时钟边沿分离,所述数据输入选通与相邻数据输入选通通过至少一个数据锁存时钟边沿分离。在第二方面,提供一种包括用于具有串联的存储器设备的存储器系统的一系列位的命令包。该命令包包括用于选择所述串联的存储器设备的存储器设备以执行特定存储器操作的命令字段。在第二方面的实施例中,所述命令字段包括用于提供选择所述存储器设备的设备地址的第一子字段,和用于提供对应于特定存储器操作的操作码的第二子字段。所述命令包还包括跟随所述命令字段的地址字段,用于在所述操作码对应于读取或者写操作时提供行地址和列地址的其中一个,所述地址字段具有对应于所述行地址或者所述列地址的位长度。数据字段跟随所述地址字段,用于在所述操作码对应于所述写操作时提供写数据以存储在所述存储器设备中,所述数据字段具有对应于所述写数据的位长度。
在第三方面,提供一种在具有串联存储器设备的存储器系统的所选择的存储器设备中执行并发操作的方法。该方法包括接收第一命令;响应所述第一命令,在所述所选择的存储器设备的第一存储体中执行核心操作;在所述第一存储体中执行核心操作期间接收第二命令;和响应所述第二命令,在所述所选择的存储器设备的第二存储体中执行核心操作。根据本方面的实施例,该方法还包括接收第三命令,用于从所述第一存储体和所述第二存储体的其中之一请求结果信息,和响应所述第三命令,输出包含所述结果信息的读取数据包。所述结果信息包括状态寄存器数据和读取数据的其中之一。在本方面的又一实施例中,所述第一命令、所述第二命令和所述第三命令为包括一系列位的命令包,被逻辑配置为包括用于提供操作码和设备地址的必须的命令字段、用于在所述操作码对应于读取或者写操作时提供行和列地址的其中一个的跟随所述命令字段的可选地址字段、和用于在所述操作码对应于所述写操作时提供写数据的跟随所述地址字段的可选数据字段。
·
在本实施例的方面中,与所述第一命令并行接收第一命令选通,所述第一命令选通具有对应于所述第一命令的长度的有效持续时间,并且与所述第二命令并行接收第二命令选通,所述第二命令选通具有对应于所述第二命令的长度的有效持续时间。所述第一命令选通与所述第二命令选通通过至少一个数据锁存时钟边沿分离。此外,接收数据输入选通,当所述数据输入选通处于有效电平时,用于启用所述读取数据包的输出,使得所述第二命令选通与数据输入选通通过至少一个数据锁存时钟边沿分离。在又一个实施例中,该方法还包括在接收所述第一命令之前上电所选择的存储器设备。所述上电步骤包括在功率转变之前,使控制信号有效以维持所选择的存储器设备处于缺省状态;当使所述控制信号有效时,将所选择的存储器设备的功率电平从第一电压电平转变为第二电压电平;等待预定持续长度的时间以允许所述功率电平稳定;并且使所述控制信号无效以将所选择的存储器设备从缺省状态释放,从而阻止所述所选择的存储器设备中的意外的编程或者擦除操作。所述第二电压电平可以为用于稳定电路操作的最小电压电平,或者为电源的最大操作电压电平。所述第一电压电平可以对应于电源的低功率模式操作电压电平,或者对应于电源的缺失。在又一实施例中,维持所述存储器设备处于缺省状态包括设定存储器设备中的设备寄存器为缺省值,其中,所述设备寄存器包括命令寄存器。该方法的进一步步骤可以包括在将所述存储器设备从所述缺省状态释放时执行设备初始化的步骤。所述执行设备初始化的步骤可以包括对于所述存储器设备产生设备地址和设备标识符信息。在又一实施例中,上电的步骤包括在功率转变之前,在第一时间使控制信号有效以维持所述存储器设备处于缺省状态;当使所述控制信号有效时,在第二随后时间将所述存储器设备的功率电平从第一电平转变为第二电平;等待预定持续长度的时间以允许所述功率电平稳定;并且在第三随后时间,使所述控制信号无效以将所述存储器设备从缺省状态释放,从而阻止所述存储器设备中的意外的编程或者擦除操作。在第四方面,提供一种存储器系统,包括多个存储器设备和用于控制所述设备的控制器。所述控制器具有用于提供位流命令包到所述多个存储器设备的第一设备的输出端口,所述位流命令包包括操作码和设备地址。所述多个存储器设备的每一个从所述控制器和前一存储器设备的其中一个接收所述位流命令包,并且如果所述设备地址对应则执行所述操作码,所述多个存储器设备的每一个提供所述位流命令包到下一个存储器设备和所述控制器的其中一个,如果所述操作码对应于读取功能,则位流读取数据包从所述多个存储器设备的最后一个存储器设备提供到所述控制器。根据本方面的实施例,所述多个存储器设备串行连接,所述第一和最后一个存储器设备连接到所述控制器,所述控制器发送位流数据包到所述多个存储器设备的所述第一设备。来自所述控制器的所述位流数据包和所述位流读取数据包包括串行位流或者包括并行位流。所述多个存储器设备为相同类型的存储器设备或者为不同类型的存储器设备的混
口 o根据另一个方面,提供一种存储器系统,包括多个存储器设备和用于控制所述设备的控制器,所述存储器系统能够在接收第一命令之前执行上电所选择的存储器设备的功倉泛。
例如,所述上电的功能包括在功率转变之前,使控制信号有效以维持所选择的存储器设备处于缺省状态;当使所述控制信号有效时,将所选择的存储器设备的功率电平从第一电压电平转变为第二电压电平;等待预定持续长度的时间以允许所述功率电平稳定;并且使所述控制信号无效以将所选择的存储器设备从缺省状态释放,从而阻止所述所选择的存储器设备中的意外的编程或者擦除操作。同样,所述上电的功能可包括在功率转变之前,在第一时间使控制信号有效以维持所述存储器设备处于缺省状态;当使所述控制信号有效时,在第二随后时间将所述存储器设备的功率电平从第一电平转变为第二电平;等待预定持续长度的时间以允许所述功率电平稳定;并且在第三随后时间,使所述控制信号无效以将所述存储器设备从缺省状态释放,从而阻止所述存储器设备中的意外的编程或者擦除操作。对本领域普通技术人员来说,当结合附图阅读本发明具体实施例的下面描述时,本发明的其他方面和特征是显而易见的。
参考附图,仅通过示例方式来描述本发明的实施例,其中图I为现有技术与非闪速存储器核心的示意图;图2为现有技术闪速存储器系统的框图;图3A为串行存储器系统的总的框图;图3B为包括与非闪速存储器设备的串行存储器系统的框图;图3C为包括不同存储器设备的混合的串行存储器系统的框图;图4为配置以并行时钟方案的图3A的串行存储器系统的框图;图5为配置以源同步时钟方案的图3A的串行存储器系统的框图;图6为动态可调节串行存储器系统的框图;图7为适合用在图3A-3C和图4_6的串行存储器系统中的具有本地核心和串行输入/输出接口的存储器设备的框图;图8为模块化的命令包结构的示图;图9示出列出用于操作图7的闪速存储器设备的示例模块化的命令包的表;图10为用于执行一个存储器设备中的并发操作的方法的流程图11为示出对于存储器设备的两个不同的存储体的并发的读取操作的时序图;图12为示出对于存储器设备的两个不同的存储体的并发的编程操作的时序图;图13为示出对于存储器设备的两个不同的存储体的并发的读取和编程操作的时序图;图14为示出对于存储器设备的两个不同的存储体的并发的块擦除的时序图;图15为示出对于存储器设备的两个不同的存储体具有暂停和恢复操作的并发的编程和读取操作的时序图;图16为示出两个串联的存储器设备的操作的时序图;图17A为本发明实施例可应用的闪速存储器设备的框图; 图17B为触发器的示意图;图18为图17A的闪速存储器设备中的上电和掉电操作期间的不同控制信号的时序图;图19为非易失性存储器设备中的上电和掉电操作期间的不同控制信号的时序图;图20为示出用于在非易失性存储器设备中的功率转变期间的数据保护的方法的流程图;和图21为示出根据本发明的另一个实施例的用于在非易失性存储器设备中的功率转变期间的数据保护的方法的流程图。
具体实施例方式在本发明的实施例的下面详细描述中,参考构成其部分的附图,其中,以可实现本发明的特定具体实施例的说明的方式示出。以足够的细节来描述这些实施例以使本领域普通技术人员能实现本发明,并且可以理解在不脱离本发明的范围的情况下可以采用其它实施例并且可以做出逻辑的、电的和其它的改变。因此,下面的详细描述不以限制意义进行,并且本发明的范围由所附权利要求书限定。描述具有串联的存储器设备的存储器系统体系结构。存储器系统为可扩缩的,以包括任意数量的存储器设备,而没有任何性能下降或者复杂的重新设计。每一个存储器设备具有串行的输入/输出接口,用于在其他存储器设备和存储器控制器之间通信。存储器控制器以至少一个位流发布命令,其中该位流遵循模块化命令协议。该命令包括具有可选的地址信息的操作码和设备地址,使得仅有所寻址的存储器设备对命令起作用。与每个输出数据流和输入命令数据流并行地分别提供分开的数据输出选通和命令输入选通信号,用于识别数据的类型和数据的长度。模块化命令协议被用于在每一存储器设备中执行并发的操作,以进一步提闻性能。图3A为示出根据一个实施例的串行存储器系统体系结构的总体性质的框图。在图3A中,串行存储器系统100包括具有至少一个串行通道输出端口 Sout和串行通道输入端口 Sin的存储器控制器102、和串联的存储器设备104、106、108、110、112、114和116。在一个实施例中,存储器设备能够是闪速存储器设备。可替代地,存储器设备能够是DRAM、SRAM、或者任意其它类型的存储器设备,只要其具有与特定命令结构兼容的串行输入/输出接口,用于执行命令或者传递命令和数据到下一个存储器设备。将在下面描述这样的存储器设备配置和特定命令结构的进一步细节。当前的实施例包括七个存储器设备,但是替代实施例可以包括少至一个的存储器设备,和多达任意数量的存储器设备。因此,如果当存储器设备104连接到Sout时其为串行存储器系统100的第一设备,则当存储器设备116连接到Sin时其为第N个或者最后一个设备,其中N为大于零的整数。存储器设备106到114则为第一和最后一个存储器设备之间的插入的串联的存储器设备。每个存储器设备能够在系统上电初始化时采用独特的标识号或者设备地址(DA),使得它们可被独立寻址。共有的美国专利申请11/622828、11/750649、11/692452、11/692446、11/692326和11/771023描述用于产生对于存储器系统的串联的存储器设备的设备地址的方法。因为除了链中第一个和最后一个存储器设备之外,一个存储器设备的数据输入连接到前一个存储器设备的数据输出,从而形成串行连接配置,所以存储器设备104-116被认为是串行连接的。存储器控制器102的通道包括承载命令、数据和地址信息的任意数据宽度的数据 通道和承载控制信号数据的控制通道。下面将示出通道配置的进一步细节。图3A的实施例包括一个通道,其中一个通道包括Sout和对应的Sin端口。但是存储器控制器102能够包括任意数量的通道,用于适应分开的存储器设备链。在通常操作中,存储器控制器102通过其Sout端口发布命令,该命令包括操作码(op码)、设备地址、用于读取或者编程的地址信息和用于编程的数据。命令被发布为串行位流包,其中包能够被逻辑细分为预定尺寸的段,诸如以字节为例。位流为随时间提供的位的序列或者一系列位。第一存储器设备104接收命令,比较设备地址和其所分配的地址。如果地址匹配,随后存储器设备104执行该命令。否则,命令通过其自己的输出端口传递到下一个存储器设备106,其中,重复同样的过程。最后,具有匹配设备地址的存储器设备(称其为所选择的存储器设备)将执行由该命令规定的操作。如果该命令是用于读取数据,所选择的存储器设备将通过其输出端口输出读取数据,其通过插入的存储器设备被串行传递,直到其到达存储器控制器102的Sin端口。由于命令和数据以串行位流来提供,所以每一存储器设备使用时钟以用于按时钟输入/输出串行位并且用于同步内部存储器设备操作。该时钟由串行存储器系统100中的存储器控制器和所有的存储器设备所使用。存在两种可能的时钟配置用于串行存储器系统100,如在图4和图5的实施例中示出。图3B为示出图3A的存储器系统能够包括一种类型的存储器设备的框图,诸如与非闪速存储器设备。每个与非闪速存储器设备能够互相相同或者互相不同,例如具有不同的存储密度。图3C为示出图3A的存储器系统能够包括不同类型的存储器设备的框图。这些存储器设备能够包括例如与非闪速存储器设备、或非闪速存储器设备、动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备和磁阻随机存取存储器(MRAM)设备。当然,此处没有提及的可替换的存储器设备也能够被使用在存储器系统中。具有混合类型存储器设备的这样的配置在2006年12月6日提交的美国临时专利申请60/868773中披露。图4为使用并行时钟方案的串行存储器系统的框图。串行存储器系统200包括存储器控制器202和四个存储器设备204、206、208和210。存储器控制器202并行提供数个信号到存储器设备。这些信号包括芯片使能信号CE#、复位信号RST#和互补时钟CK#和CK。在使用CE#的一个例子中,当CE#处于低逻辑电平时,设备被启用。一旦存储器设备开始编程或者擦除操作,能够使CE#无效,或者被驱至高逻辑电平。此外,处于低逻辑电平的CE#能够激活内部时钟信号,并且处于高逻辑电平的CE#能够解除激活内部时钟信号。在使用RST#的一个例子中,当RST#处于低逻辑电平时,存储器设备被设置为复位模式。在复位模式中,允许功率稳定并且通过初始化所有有限的状态机并复位任意配置和状态寄存器到它们的缺省状态,设备准备操作。存储器控制器202的通道包括具有数据输出端口 Qn和数据输入端口 Dn的数据通道和具有命令选通输入CSI、命令选通输出CS0(CSI的回送)、数据选通输入DSI和数据选通输出DS0(DSI的回送)的控制通道。基于期望的配置,输出端口 Qn和输入端口 Dn能够是一位宽度或者n位宽度,其中n为非零整数。例如,如果n为1,则在时钟的八个数据锁存边沿之后接收一字节数据。数据锁存时钟边沿能够例如是上升时钟边沿。如果n为2,则在时钟的四个锁存边沿之后接收到一个字节的数据。如果n为4,则在时钟的两个锁存边沿之后接收一个字节的数据。存储器设备能够被静态配置或者动态配置,用于任意宽度的Qn和Dn。因此,在n大·于I的配置中,存储器控制器以并行位流来提供数据。CSI被用于锁存出现在输入端口 Dn上的命令数据,并且具有对应于所接收的命令数据的长度的脉冲持续时间。更具体地,命令数据将具有由多个时钟周期测量的持续时间,并且CSI信号的脉冲持续时间将具有对应的持续时间。DSI被用于启用输出端口 Qn缓冲器以输出数据,并且具有对应于所请求的读取数据的长度的脉冲持续时间。以下将讨论DSI和CSI信号的进一步细节。在当前所示的图4的实施例中,每一个存储器设备具有相同的串行输入/输出接口,包括RST#、CE#、CK#和CK输入端口,用于从存储器控制器202接收相同名称的信号。串行输入/输出接口还包括数据输入端口 Dn、数据输出端口 Qn、CSI、DSI、CS0和DSO端口。如图4所示,每一存储器设备的DruCSI和DSI输入端口被分别连接到前一存储器设备的Qn、CSO和DSO输出端口。因此,由于每个存储器设备能够传递命令和读取数据到链中的下一个存储器设备,存储器设备被认为互相串联。在图4的实施例的实际实现中,每个存储器设备位于印刷电路板上,使得最小化输入和输出端口之间的距离和信号轨道。可选地,可以在系统封装模块(SIP)中实现四个存储器设备,这进一步最小化了信号轨道长度。存储器控制器202和存储器设备204-210串联,以形成环形拓扑结构,意味着最后一个存储器设备210提供其输出返回存储器控制器202。因此,本领域的普通技术人员可以理解存储器设备210和存储器控制器202之间的距离被容易地最小化。图4的串彳丁存储器系统200中的存储器设备的性能在图I的现有技术系统中的存储器设备的性能上显著改进。例如,假设使用66MHz时钟,并且串行存储器系统200包括四个存储器设备,图4的串联的存储器设备的其中一个的每引脚数据速率将大约为133Mbps。相比之下,假定每一存储器设备的读取周期时间(tRC)和写周期时间(tWC)设定为大约25ns,具有4个存储器设备的图I的多点(multi-drop)存储器设备的每引脚数据速率将大约为40Mbps。此外,串行存储器系统200的功耗相对于图I的现有技术的系统的功耗降低。由于没有必须由每一存储器设备驱动的信号轨道18,串行存储器系统200的性能和功耗优势是主要的。
图4的串行存储器系统200的显著优势为系统的可扩缩性。换句话说,在连接存储器控制器202的存储器链中能够包括多于四个存储器设备,而没有性能的任何降低。相比之下,由于通道18的信号轨道的长度必须增加以容纳附加的设备,所以随着增加更多存储器设备,图I的现有技术的系统将由减少返回达到实际限制。加载到信号轨道的附加引脚由附加的设备提供。如前所述,为了在驱动长通道18时确保数据传输完整性,必须降低时钟频率,这降低了性能。在图4的实施例中,时钟的分布将被设计以适应大量存储器设备,并且可以包括中继器和平衡树来维持对于所有存储器设备的时钟完整性。本领域内的普通技术人员将理解存在多个方法来提供平衡的时钟信号。虽然图4的串行存储器系统实施例提供了高于现有技术存储器系统的显著性能优势,通过使用图5的替代串行存储器系统 实施例获得了进一步的性能改进。图5的串行存储器系统300类似于图4的实施例,除了使用源同步时钟方案来代替并行时钟分布方案。串行存储器系统300包括存储器控制器302和四个存储器设备304、306、308和310。存储器控制器302包括用于提供互补时钟信号的时钟输出端口 CK0#和CK0,和用于从系统的最后一个存储器设备接收互补时钟信号的时钟输入端口 CK#和CK。存储器设备与图4中所示的存储器设备相同,除了其现在具有时钟输入端口 CK#和CK、时钟输出端口 CK0#和CK0,其中,一个存储器设备在其CK#和CK端口接收的时钟通过其CK0#和CKO端口提供给下一个设备。最后一个存储器设备310提供时钟信号返回存储器控制器302。图5的实施例的主要优势在于没有任意复杂的时钟分布方案,以及存储器设备之间的最小的时钟互连。因此,最小的时钟频率可以被增加到166MHz,导致每引脚最小333Mbps数据速率。如同图4的实施例,图5的实施例能够扩缩以包括任意数量的存储器设备。例如,简单地通过连接存储器设备310的输出端口到第五存储器设备的对应的输入端口并且连接第五存储器设备的输出端口到存储器控制器302,第五存储器设备被增加到图5的实施例中。本领域的普通技术人员将理解存储器控制器302能够包括简单锁相环(PLL)电路来保持时钟频率。串行存储器系统200和300的配置可以被静态固定,用于特定数量的存储器设备。简单地通过调整串行链中存储器设备的数量,能够设定不同的配置来提供不同的存储器系统容量。在替代实施例中,具有不同容量的存储器设备能够在串行链中混合在一起,从而提供总的存储器系统容量的更好的灵活性。存在通过在串行链增加或者移除模块来动态调整存储器系统容量的应用,其中,模块可以是单个存储器设备、SIP存储器或者具有存储器设备和/或SIP存储器设备的PCB。图6为示出动态可调整串行存储器系统实施例的框图。可调整串行存储器系统400包括存储器控制器402,固定的存储器设备404、406、408和410,扩展链路412、414、416,418和420,和扩展模块422,424和426。固定的存储器模块404,406,408和410互相串联,串联到插入的扩展链路,并且到存储器控制器402。每一扩展链路为阳或者阴耦合装置,用于释放地接收和保持具有对应的阴或者阳耦合装置的模块。每一模块包括与扩展链路的端子串联的至少一个存储器设备。在当前所示例子中,扩展模块422和426的每一个包括串联在模块耦合装置的输入连接器和输出连接器之间的四个存储器设备。模块424包括串联在其模块耦合装置的输入连接器和输出连接器之间的两个存储器设备。因此,通过将模块插入到扩展链路中,附加的串联存储器设备可以被动态插入到固定的存储器设备之间。诸如扩展链路414和420的不使用的扩展链路将具有连接到其的适合配置的跳线428和430,用于维持链的连续的串行电连接。可调整的串行存储器系统400能够包括任意数量的固定存储器设备和扩展链路,并且存储器模块能够被配置为包括任意数量的串联的存储器设备。因此,可调整的串行存储器系统400简单地通过增加新的模块或者使用较大容量模块来代替现有模块来具有存储器容量的完全可扩展,而不会影响整体性能。由于相同的通道被组装以附加的串联的存储器设备,因此不需要改变存储器控制器,并且本领域内的普通技术人员将理解如何连接诸如CE#、RST#的并行控制信号和电源到所插入的模块。在插入模块或者移除模块之后,存储器系统400被重新初始化,使得存储器控制器能够自动为系统中的存储器设备设定设备ID0图3A-3C和图4-6中所示的串行存储器系统使用具有兼容串行输入/输出接口的存储器设备,诸如闪速存储器设备。在2005年12月30日提交的共有美国专利申请 11/324023中描述了具有串行输入/输出接口的闪速存储器设备的例子。因此,图3A-3C和图4-6的实施例中所示的存储器设备能够使用在这些专利申请中披露的闪速存储器设备。但是,这些专利申请中描述的串行输入/输出接口为能够使用的串行接口的例子。促进存储器设备之间的串行操作的任意串行输入/输出接口可以被使用,只要其被配置用来接受预定的命令结构。根据另一个实施例,串行输入/输出接口能够与任意类型的存储器设备使用。更具体地,其他存储器类型能够适应于用串行输入/输出接口操作。图7为示出适合用在图3A-3C和图4-6的串行存储器系统中的具有本地核心与串行输入/输出接口的通用存储器设备的总体组织的框图。存储器设备500包括本地存储器核心,其包括存储器阵列存储体502和504以及用于访问存储器阵列存储体502和504的本地控制和I/O电路506。本领域内的普通技术人员将理解存储器阵列能够被组织为单个存储体或者多于两个存储体。本地存储器核心能够是例如基于DRAM、SRAM、与非闪速或者或非闪速存储器。当然,能够使用任意新兴存储器和其相应的控制电路。因此,基于本地存储器核心的类型,电路块506能够包括纠错逻辑、高电压发生器、刷新逻辑和执行对于存储器类型本地的操作所需要的任意其它电路块。典型地,存储器设备使用命令译码器,用于响应所接收的命令通过使内部控制信号有效来初始化相关电路。其也将包括用于接收和锁存数据、命令和地址的公知的I/O电路。根据本实施例,使用串行接口和控制逻辑块508来代替现有的I/O电路。在本例子中,串行接口和控制逻辑块508接收RST#、CE#、CK#、CK、CSI、DSI和Dn输入,并且提供Qn、CS0、DSO、CKO和CK0#输出,其匹配图5中所示的存储器设备的输入和输出端口。串行接口和控制逻辑块508负责如美国专利申请11/324023中所讨论的不同功能。串行接口和控制逻辑块508的显著的功能为设置设备标识符号码、传递数据到下一个串联的存储器设备,并且译码所接收的命令用于执行本地操作。该电路能够包括替代本地命令译码器的命令译码器,其被配置为响应对应本地命令的串行接收的命令来使与本地命令译码器所确立的同样的控制信号有效。命令集能够被扩展,以在存储器设备被串联时执行由存储器控制器可用的特征。例如,能够请求状态寄存器信息来评定存储器设备的状态。因此,图3A-3C和图4-6的串行存储器系统能够包括存储器设备的类型的混合,对于更大的系统,每一个提供不同的优势。例如,DRAM存储器的高速能够用于高速缓存操作,而闪速存储器的非易失性被用于大容量数据存储。不管所使用的存储器设备的类型,由于串行接口和控制逻辑块506被配置为根据预订协议接收命令,所以每个存储器设备为单独可寻址的,以对命令起作用。根据另一个实施例,这些命令包括具有模块化命令结构的命令包,其被用于控制串行存储器系统的单独的存储器设备。在所提议的命令结构中,特定的命令能够在不同时间作为单独的命令包被发布到存储器设备。命令包能够开始对于第一存储体的特定的操作,并且当响应于第一命令包正在执行核心操作时,随后的命令包能够被接收用于开始对于第二存储体的另一个操作。能够接收进一步的命令包用于以相似的交错的方式来完成对于第一存储体和第二存储体的操作。这被称为在存储器设备中执行并发操作。在讨论并发操作之前,下面解释模块化的命令协议。在2007年3月2日提交的、名称为“ModularCommand Structure in Memory System and its Use”的共有美国临时专利申请60/892705中描述了模块化命令协议的进一步细节。
命令包600具有图8所示的结构,并且包括三个字段,其中两个根据由存储器控制器发布的特定命令可选。作为必须字段的第一字段为命令字段602。第一可选字段为地址字段604,并且第二可选字段为数据字段606。命令字段602包括两个子字段,第一个为设备地址(DA)字段608和第二个为操作码(0P码)字段610。设备地址字段608能够是任意数量位的长度,并且被用于寻址系统中的每个存储器设备。例如,长度I字节的设备地址字段608足以寻址多达256个存储器设备。能够保留一个地址用于同时寻址所有的存储器设备来广播操作。在替代实施例中,设备地址字段608能够包括设备类型字段以指示操作码字段610所指向的存储器设备的类型。例如,设备类型字段能够指定DRAM、SRAM或者闪速存储器。操作码字段610能够是任意数量位的长度来表示用于任意数量的存储器设备的命令,并且能够包括存储体地址。例如,闪速存储器命令集将具有不同于DRAM命令集的命令,因此,如果存储器系统包括两种存储器设备的类型,操作码字段将被配置为适应来自两个命令集的所有可能的命令。地址字段604用于基于操作码所指定的操作类型来提供存储器阵列的行地址(Row Addr)或者列地址(Col Addr)。数据字段606将包括被写入或者编程到存储器设备的任意数量的数据位。由于特定操作可以不需要写数据并且特定操作可以不需要地址和写数据,因此命令包600将在尺寸上变化。图9列出可以被用于操作具有图7所示的配置的闪速存储器设备的示例命令包,用于前述的串行存储器系统中。图9中的字节位置对应于其被存储器设备串行接收的顺序。命令字段602占据第一和第二字节位置,其包括作为第一字节信息的设备地址(DA)和作为第二字节信息的对应于操作的操作码。地址字段604能够包括占据第三到第五字节位置的三字节行地址(RA),但可以缩短用于其它命令以包括仅占据第三和第四字节位置的两字节列地址(CA)。对于包括两字节列地址的命令,如果数据有那么长的话,数据字段606将占据第五位的位置到第2116位的位置。该数据能够占据更少或者更多的字节位置。由存储器控制器发布的任意命令包600将由系统中每一存储器设备串行接收,并且仅仅具有匹配命令字段602的DA子字段608的设备地址的存储器设备将对操作码子字段610起作用。否则,命令包被传递通过存储器设备并且到链中的下一个存储器设备。由于操作码对于特定操作特有,存储器设备并且更具体地,存储器设备500的串行接口和控制逻辑块508将控制所需要的电路用于锁存命令包的地址和/或数据信息。例如,如果通过指定的存储器设备接收页面读取命令包,所指定的存储器设备将译码操作码并且控制合适的电路来锁存随后的三字节行地址。图9中列出的示例命令包涉及闪速存储器操作。对于具有不同操作的任意其它类型的存储器设备的一组命令包能够被配置来遵循所描述的命令结构。前述命令包能够被有利地用于在诸如图7的存储器设备500的存储器设备中执行并发操作。如果存储器设备500被配置用于独立访问其任意的存储体,则在存储器设备中能够执行大致并行操作。独立访问意味着对于不同存储体的核心操作能够互相独立进行。在前述美国专利申请11/324023中描述了这样的存储器设备的例子。核心操作涉及逻辑或者功能操作,由于核心操作的完成可以依赖于在状态机或者其他逻辑控制下所执行的事件的特定序列,其不会中断。
由于存储器控制器不需要在发送对于第二操作的命令包之前等待存储器设备完全完成第一操作,所以并发操作将增加系统的性能。在传统的与非闪速存储器设备中,存储器设备将不接受另一个命令,或者响应对于不同的存储体的所接收的命令,直到对于当前存储体的核心操作完成。因此,存储器设备在接受另一个命令之前将串行执行数个操作。在本实施例的并发操作中,一个命令包将开始一个存储体中的操作,并且当核心操作正在被对于第一存储体执行时,随后的命令包将立刻开始同一存储器设备中的第二存储体中的另一个操作。因此,由两个存储体几乎同时执行两个操作。图10为示出在诸如被配置用于独立存取其存储体的存储器设备500的一个存储器设备中执行并发操作的方法的流程图。在步骤700开始,第一命令由存储器控制器发布并且由存储器设备接收。第一命令能够是先前所述并在图9中示出的命令包的任意一个。一旦整个包(命令字段、地址字段和数据字段)已经被接收,在步骤702将开始对于存储器设备的第一存储体的核心操作。与第一存储体核心操作的开始几乎同时发生,在步骤704由存储器控制器发布第二命令,并且由存储器设备接收。在步骤706,响应第二命令,执行第二存储体的核心操作。最后,属于第一命令的结果信息将在步骤708提供。结果信息能够包括状态信息或者读取数据,其响应于补充的读取命令包来提供。状态信息提供诸如编程或者擦除操作的特定类型操作的成功或者失败的指示,并且响应存储器控制器发布的补充“读取状态”命令包从与该存储体相关的状态寄存器读取。响应补充的“突发读取”命令包来提供读取数据。参见图1,用于读取操作的核心操作将包括将从存储体的块读取的数据页面输出到数据寄存器块32。为了从数据寄存器块32读取数据,执行突发读取操作。在步骤710,提供属于第二命令的结果信息。来自两个存储体的结果信息最后返回到存储器控制器。图10的实施例示出两个存储体的并发操作,但是该方法可应用于存储器设备的两个或者更多个存储体的并发操作。图11到15为示出由美国专利申请11/324023中所描述的类型的闪速存储器设备可执行的示例并发操作的时序图。图11到15示出对于图4或者图5的一个存储器设备的CSI、Dn、DSI和Qn随时间的信号轨迹。所示序列意于示出信号之间的相对时序,并且不意于表示特定的时序值。注意到命令选通输入CSI由存储器控制器产生,并且用作存储器控制器所汇编的和发布的命令的长度的指示器。例如,如果所发布的命令包长度为两个字节,则随后对应的CSI具有对应于命令的第一位的有效的边沿(此例中为上升沿)和对应于命令包的最后一位的无效的边沿。CSI信号控制存储器设备命令寄存器来锁存命令数据。数据选通输入信号DSI也由存储器控制器产生,并且用作存储器设备所提供的数据的长度的指示器。例如,如果存储器控制器所请求的读取数据长度为八个字节,则存储器控制器产生的对应的DSI具有对应于读取数据的第一位的有效的边沿和对应于读取数据的最后一位的无效的边沿。当存储器控制器知道所发布的命令位长度和所请求的读取数据位长度,由存储器控制器产生CSI和DSI。图11为示出存储器设备的两个不同存储体的并发读取操作的时序图。当CSI处于高逻辑电平时,由存储器设备锁存对于存储体0的页面读取命令包800。例如,如图9所示,页面读取命令包括两个字节命令和三个字节的行地址。存储器设备的存储体0将在CSI在时间to下降到低逻辑电平之后开始执行对于指定的行地址的读取操作。通过示例,对于闪速存储器设备的读取操作将包括诸如图I中的WLi的字线的激活,和BLO到BLj的位线数据的读出。最后,所读出的数据被锁存或者存储在数据寄存器块32中。在一个实施例中,页面读取命令包800通过其Qn输出端口被传递到下一个存储器设备。在另一个实施例中,由于当前的命令包800被寻址到当前的存储器设备,页面读取命令包800被禁止传递到另 外的存储器设备。例如,在Qn输出上提供的页面读取命令包800可以在被锁存在命令寄存器中之后设置为空值。由于不需要信号线的轨到轨(rail-to-rail)信号切换,所以这节约了功率。当CSI处于高逻辑电平时,由存储器设备锁存用于存储体I的页面读取命令包802。存储器设备的存储体I将在CSI在时间tl下降到低逻辑电平之后开始执行对于所指定的行地址的读取操作。现在,由存储体0和I执行并发操作。特定数量的时钟周期之后,数据在时间t2准备从存储体0读出。为了从存储体0读出数据,存储器控制器发布突发读取命令包804,其在CSI处于高逻辑电平时被接收并锁存。如图9所示,突发读取命令包将包括数据被读取的列地址。对应于命令包804的CSI下降到低逻辑电平之后,DSI升高到高逻辑电平以启用Qn输出端口缓冲器,从而提供用于存储体0的输出数据作为读取数据包806。在再次使用图I的例子中,Qn输出缓冲器上的数据的输出能够对应于在突发读取命令包804中指定的列地址开始并且在DSI下降到低逻辑电平时结束的从数据寄存器块32读出数据。到用于存储体0的输出数据的最后一位被输出时,用于存储体I的数据将准备好在时间t3读出。在DSI下降到低逻辑电平之后,由存储器设备接收并锁存用于存储体I的突发读取命令包808。跟随用于突发读取命令包808的CSI的下降沿,DSI被再次驱至高逻辑电平预定时间长度,以便在Qn输出端口上从存储体I输出读取数据作为读取数据包810。因为t0_t2之间的存储体0的核心操作和tl_t3之间的存储体I的核心操作基本并发并且互相交迭,对于两个读取操作的总的核心操作时间在时间t0和t3之间。在现有技术中,两个核心操作顺序执行,意味着响应于在t2用于存储体0的核心操作完成之后接收的第二页面读取命令包,开始用于存储体I的核心操作。如前所示的执行并发操作的性能优势应该对于本领域内的普通技术人员是明显的。图12为示出用于存储器设备的两个不同存储体的并发编程操作的时序图。注意到从这里开始在存储器设备的Dn输入端口处接收的命令包被传递到其Qn输出端口,其在图11到15的Qn信号轨迹中示出。为了编程存储体,基于特定的列地址,编程数据被首先载入存储器设备的数据寄存器中,并且随后编程到特定的行。在图12中,对于存储体O的突发数据加载命令包820以编程数据被接收,其后不久跟随以页面编程命令包822。当CSI处于高逻辑电平时,锁存命令包820和822。在页面编程包822由存储器设备锁存并且译码后,在时间to开始用于编程数据到存储体0的核心操作。现在对于存储体I的突发数据加载命令包824以编程数据被接收,其后不久跟随以页面编程命令包826。页面编程包826由存储器设备锁存并且译码后,在时间tl开始用于编程数据到存储体I的核心操作。如果这样期望,存储器控制器可以通过发布读取状态命令包828来请求存储器设备的状态。这将访问存储器设备的状态寄存器,当DSI处于高逻辑电平时,其数据将在Qn输出端口上输出,作为读取数据包830。本领域内的普通技术人员将理解,当内部操作被执行时,状态寄存器由存储器设备内部更新。在本例中,读取数据包830将指示已经完成编程到存储体O。随后发布的读取状态命令包832将导致读取数据包834提供状态寄存器的值,其能够指示已经完成编程到存储体I。再次,由于存储体0和存储体I的核心编程操作基本上并发并且交迭,所以与两个存储体的顺序编程相比较时,显著节省了时间。
图13为示出对于存储器设备的两个不同的存储体的并发读取和编程操作的时序图。对于存储体0的页面读取命令包840由存储器设备锁存,其后跟随用于存储体I的突发数据加载开始命令包842,其后跟随用于存储体I的页面编程命令包844。在时间t0,开始用于从存储体0读取数据的核心操作,而在时间tl,开始用于编程数据到存储体I的核心操作。由于用于存储体0的页面读取操作的核心操作首先开始,数据将在时间t2准备好,而用于编程数据到存储体I的核心操作正在进行中。因此,突发读取命令包846被接收,并且使DSI有效以将读取数据从存储体0输出到读取数据包848中。在使DSI无效以结束来自存储体0的读取数据的输出之后,能够发布读取状态命令包850来检查存储体I的编程状态。由于存储体I在时间t3已经完成编程操作,再次使DSI有效,并且在Qn输出端口提供读取数据包852,指示编程操作到存储体I的成功或者失败状态。图14为示出对于存储器设备的两个不同存储体的并发块擦除的时序图。存储器设备锁存用于存储体0的块擦除地址输入命令包860,其后跟随用于存储体0的擦除命令包862。锁存擦除命令包862之后,在时间t0开始用于存储体0的核心操作。现在由存储器设备锁存用于存储体I的块擦除地址输入命令包864,其后跟随用于存储体I的擦除命令包866。擦除命令包866被锁存之后,在时间tl开始用于存储体I的核心操作。在图9中示出块擦除地址输入命令和擦除命令的结构。如果在时间t2完成用于存储体0的擦除操作,并且在时间t3完成存储体I的擦除操作,则存储器设备能够发布并且锁存分开的读取状态命令包868和870。在存储器设备的Qn输出端口上提供对应的读取数据包872和874,每个提供状态寄存器的值。在图11-14的时序图中,已经示出并发操作的不同组合。在前面实施例中所述的模块化命令包结构的优点在于在不同时间能够发布不同的命令包。如前所示,突发数据加载命令包跟随以页面编程命令包。但是,没必要始终是该情况,并且如果期望,能够在后来发布页面编程命令包。当命令包与命令选通信号CSI和数据选通信号DSI组合使用时,可认识到另一个优点,就是暂停存储器设备的操作的能力。如前所提及,通过存储器控制器提供CSI选通信号,用于指示Dn输入端口上的命令数据将被命令寄存器锁存,并且能够具有对应于所发布的命令包的长度的持续时间。由于用于编程存储体的输入数据和从存储体读取的输出数据长度能够大于1000字节,所以本领域内的普通技术人员将意识到对于输入或者输出这样数量的数据需要相对长的时间。根据本实施例,能够使CSI和DSI选通信号被过早地无效,而编程数据被加载或者读取数据被输出,并且在之后恢复。图15为示出用于存储器设备的两个不同存储体的具有暂停和恢复操作的并发编程和读取操作的时序图。锁存用于存储体I的突发数据加载开始命令包880,并且由存储器设备锁存命令包的数据字段中的数据有效载荷。在时间to,当存储器控制器使CSI无效时,暂停数据加载到存储器设备中。在本例中,仅数据的256个字节已经被存储器设备锁存,其由存储器控制器跟踪。锁存用于存储体0的页面读取命令包882,并且在时间tl开始用于存储体0的核心操作。当接收到用于存储体I的突发数据加载命令包884时,在时间t2恢复所暂停的命令包880的数据加载操作。命令包884的数据字段中的数据有效载荷包括还没有锁存的剩余的1856个字节数据。跟随的是用于存储体I的页面编程命令包886,并且
在时间t3开始用于编程数据到存储体I的核心操作。最后,在时间t4将完成用于存储体0的核心操作,并且由存储器控制器发布并且由存储器设备锁存用于存储体0的突发读取命令包888。当DSI处于高逻辑电平时,读取数据随后被输出作为数据读取包890。但是,由于控制器将知道编程操作应该在诸如时间t6的一定的预定时间完成,由于将输出大量数据,主机系统希望确认完成编程到存储体I。在时间t5通过使DSI无效能够暂停读取数据的输出,而不是在发送读取状态请求之前等待所有读取数据被输出。一旦数据输出操作被暂停,由存储器控制器发布并且由存储器设备锁存读取状态命令包892。随后提供包括状态寄存器值的对应的读取数据包894。在读取数据包894结束时使DSI无效后,能够恢复突发读取。这通过存储器控制器发布用于存储体0的突发读取命令包896来实现,其将包括在时间t5暂停读取之前要输出的下一位的地址。在时间t7,剩余的1600字节被从Qn输出端口输出作为读取数据包898。图15的暂停操作例子示出用于执行并发操作的模块化命令结构的优点,其每一个能够被暂停和恢复,用于最大化核心利用与通道的利用。图11到15的示例的序列和操作依赖于CSI和DSI选通信号来提供关于命令包或者读取数据包的信息。由于命令包在尺寸上可变,并且不存在标头信息以指示命令包的位长度,所以CSI选通信号用作用于与串行命令包并行提供的命令包的标头。CSI信号对于命令包的长度有效,并且由存储器设备使用来锁存出现在Dn输入端口的命令包数据到合适的寄存器中。DSI信号对于期望的读取数据包的长度有效,其由存储器控制器所知,并且与读取数据包并行传输。因此,有效的DSI信号用作读取数据包的标头。因此,命令包和读取数据包的长度对应于它们各自的CSI和DSI选通信号的长度。由于读取数据包和命令包二者沿着连接在相邻存储器设备的Dn和Qn端口之间的相同信号线传输,CSI选通与数据一起存在指示该数据作为命令数据包,而DSI选通与数据一起存在指示该数据为读取数据。因此,选通信号还识别传输通过存储器系统的数据的类型。存储器控制器将跟踪其发布的DSI选通,使得可以匹配所接收的读取数据包和期望的数据的类型。例如,读取数据包能够包括状态寄存器信息或者从存储器阵列读取的数据。考虑到CSI和DSI信号的功能相关性,最小分离时间被插入到任意类型的随后选通信号之间。这用于保证每个命令包和读取数据包是清楚的和限定的,并且来保证存储器控制器的存储器设备锁存正确的数据类型。存在使用分离的四种可能的情况。它们是CSI到 CSI 分离(tccs)、CSI 到 DSI 分离(tms)、DSI 到 CSI 分离(tDCS)和 DSI 到 DSI 分离(tDDS)。CSI到CSI分离trcs为时钟周期Ucx)中处于到相同的或者不同的设备的连续的命令包之间的最小分离时间。该分离时间允许通过例如清除命令寄存器并复位任意命令逻辑来从存储器设备清除先前命令,为新的命令做准备。DSI到DSI分离tDDS为时钟周期(teK)中处于到相同的设备的连续的读取数据包之间的最小分离时间。该分离时间允许输出缓冲器电路复位以为下一数据被输出做准备。DSI到CSI分离tDes为时钟周期Ucx)中处于到相同或者不同的设备的读取数据包和随后命令包之间的最小分离时间。CSI到DSI分离tms为时钟周期(tCK)中处于到同样的设备的命令包和读取数据包之间的最小分离时间。由于这两个分离时间都可以连续出现在存储器设备的Dn输入端口上,二者可以确保存储器设备锁存正确的数据类型。由于存储器控制器在知道命令包或者数据包位长度的情况下发布CSI和DSI信号,其将确保命令包和数据包自身由与选通信号相同的最小时间分离。
·
这些分离时间的例子在图11到14中注解,并且注意到最小分离时间能够是时钟的一个数据锁存边沿,依据所使用的数据速率体系结构,其可以是时钟周期的部分。例如,·在单数据速率体系结构(SDR)中,其中数据被锁存在时钟的上升沿,最小分离时间将是一个时钟循环或者周期。在双速率体系结构(DDR)中,其中数据被锁存在时钟的上升沿和下降沿二者,最小分离时间将是时钟周期的一半。图11到15为单个存储器设备中的并发操作的例子,并且没有清楚地示出CSI到DSI分离或者DSI到CSI分离的相关性。图16为示出CSI到DSI或者DSI到CSI分离的相关性的时序图。图16为示例情况,其中第一存储器设备从其Qn输出端口输出其读取数据,并且在读取数据从第一存储器设备输出后,第二串联的存储器设备接收命令包。此例子中涉及的两个存储器设备能够对应于例如图4和图5中所示的存储器设备。示出对于第一存储器设备的DSI_1、CSI_1、DS0_1、CS0_1和Qn_l端口的信号轨迹,其中附加的“_1”指示第一存储器设备的端口。示出对于第二存储器设备的DSI_2、CSI_2和Dn_2端口的信号轨迹,其中附加的“_2”指示第二存储器设备的端口。假设第一存储器设备已经之前接收到用于从其读出数据的一个或者多个命令包。结果,DSI_1接收用于输出数据到Qn_l端口上的选通信号900,作为读取数据包902。读取数据包902被标以“Qn_l读取数据”。由于读取数据和选通信号被串行从第一存储器设备传递到第二存储器设备,DS0_1传递从DSI_1端口接收的选通信号900到第二存储器设备的DSI_2端口。类似地,读取数据包902从第一存储器设备的Qn_l端口传递到第二存储器设备的DN_2端口。现在存储器控制器与伴随的CSI选通信号906 —起发布寻址到第二存储器设备的命令包904,标以“Dn_2CMD数据”。选通信号906经由CSI_1传递通过第一存储器设备,并且命令包传递通过第一存储器设备的Dn输入端口(图16中未示)并通过Qn_l输出端口输出。由于命令包904寻址到第二存储器设备,则第一存储器设备将忽略它。第一存储器设备随后将选通信号906从其CS0_1端口传递到第二存储器设备的CSI_2端口,并且将命令包904从其Qn_l输出端口传递到第二存储器设备的Dn_2输入端口。由于在选通信号900的下降沿和选通信号906的上升沿之间存在最小分离tms,并且在读取数据包902的最后一位与命令包904的第一位之间存在最小分离,所以第二存储器设备将可靠地在合适的寄存器中锁存命令包904。在另一个方面,如果命令包904和其对应的选通信号906没有任意分离tms而发布,则第二存储器设备将锁存读取数据包902的读取数据位作为命令包904的一部分。因此,最小分离确保不存在数据类型的混合。在之前描述的存储器系统中的存储器设备,特别是非易失性存储器设备,具有在没有功率供给到存储器设备时能够保持所存储数据的优点。但是,全功率操作和完全没有功率或者功率节省水平之间的转变能够危害所存储数据的完整性。图17A示出本发明的实施例能够应用的闪速存储器设备。参见图17A,闪速存储器1010包括控制闪存电路的不同功能的诸如控制电路1012的逻辑电路,存储地址信息的地址寄存器1012a,存储编程数据信息的数据寄存器1012b,存储命令数据信息的命令寄存器1012c,产生所需的编程和擦除电压的高电压电路,和访问存储器阵列1014的核心存储器电路。控制电路1012包括命令译码器和用于执行诸如读取、编程和擦除功能的内部闪存操作的逻辑。本领域内的普通技术人员将理解,依据所执行的操作,这些操作是响应存储在命令寄存器1012c中的命令数据来执行,有时结合存储在各自地址寄存器1012a和数据寄存器1012b中的地址数据和编程数据。命令数据、地址数据和编程数据由存储器控制器发 布并且由闪速存储器1010锁存在对应的寄存器中。本领域内公知闪速存储器1010的所示电路块的基本功能。本领域内的普通技术人员将理解,图17A所示的闪速存储器1010表示许多可能的配置中的一个可能的闪速存储器配置。对于闪速存储器1010的正确操作,存储地址、数据和命令信息的寄存器必须是可靠的。存储在寄存器中的不正确的值会导致设备故障。例如,变化的电源电压能够导致寄存器随机改变存储在命令寄存器1012c中的信息的状态,可能导致对应于所接收的编程或者擦除命令的位模式。在该情况中,假的编程操作将导致数据寄存器1012b中的随机数据被编程到存储器阵列1014的地址寄存器1012a中的随机地址。如果此地址存在数据,随后对应于该地址的存储器单元将遭受编程电压,并且其阈值电压能够被改变。假的擦除操作能够导致存储器阵列1014中的现存数据的擦除。由于存储器控制器没有意识到闪速存储器1010执行的假的操作,则丢失的数据不能恢复。典型地使用具有两个稳定状态的触发器电路来设计闪速存储器1010的寄存器。D型触发器为本领域内公知的电路,如图17B所示。D型触发器1050具有用于接收输入数据D_IN的D输入,在时钟信号CLK的有效边沿上,诸如CLK的上升沿,输入数据D_IN被内部锁存。当被锁存时,Q输出将提供D_0UT,其对应于D_IN的逻辑状态,而互补的Qb输出将提供D_0UTb,其对应于D_IN的反向逻辑状态。当信号“复位”处于诸如Vss或者接地的有效逻辑电平时,复位输入清除锁存器。因此,每个触发器电路存储一位数据并且命令寄存器1012c将包括多个触发器电路。如本领域内技术人员所应该知道的,触发器锁存电路能够包括一对交叉耦合的反向电路。图18示出在典型闪速存储器1010中的上电和掉电操作期间的电压供应Vcc、有效低逻辑电平复位信号RST#和有效低逻辑电平芯片使能信号CE#的时序图。在上电操作期间,电源电压Vcc在时间开始其从低GND或者Vss电压电平到高Vcc电压电平的转变。Vcc电压电平斜升且在时间tST达到稳定的电压电平Vst,在该时间能够操作闪速存储器1010。最后在时间tv,Vcc电压电平达到最大Vcc电平。分别从相关存储器控制器接收的设备复位信号RST#和使能信号CE#在时间tw被同时驱至无效的高逻辑电平,但跟随Vcc的斜升电压。一旦使RST#无效,或者处于无效逻辑电平,设备处于“准备好”状态并且是可操作的以接收来自存储器控制器的命令。可选地,控制器通过将CE#信号驱至无效高逻辑电平而在时间使CE#无效,同时设备处于复位状态。由于V。。向其最大电压电平斜升,CE#将跟随Vcc斜升。在时间tCEMf能够使CE#信号有效,以允许设备进入正常运行状态。时间tCEOff发生在已经使RST#信号无效或者被驱至无效的高逻辑电平之后(即时间tv之后)至少tCE#的时间间隔已经过去之后。一旦设备进入正常运行状态,在设备水平和系统水平二者能够执行初始化操作。但是,在Vcc转变时间期间,即从时间tw到时间tv,或者至少直到时间tST,到寄存器的控制信号不能被精确控制。这将导致在闪速存储器1010的不同寄存器中存储假的信息,其能够使得数据被不正确的编程或者擦除,导致闪速存储器1010中的数据完整性的损失。在现代闪速设备中,其中对于速度、尺寸减少的一直增加的需求、以及较低功耗的期望需要闪速设备在较低的Vcc电压电平下常规操作,由于功率转变期间无意的编程/擦除操作,数据完整性的损失恶化。较低的操作Vcc电平放大了和存储在闪速设备的不同寄存器中的假的信息相关的问题,从而负面影响了数据可靠性。描述用于在非易失性存储器设备中在诸如上电和掉电操作的功率转变期间的数 据保护的方法。在使任意功率转变有效之前,使复位信号有效,以禁止存储器设备的功能。复位信号被保持期望设备电压稳定的预设时间。在此期间,诸如设备的命令寄存器的所有的内部寄存器被设为缺省值,从而阻止了由于设备执行假的编程/擦除命令导致的数据损失。图19示出根据本发明的实施例的在非易失性存储器设备中的上电和掉电操作期间的电压供应Vcc、有效低逻辑电平复位信号RST#和有效低逻辑电平芯片使能信号CE#的时序图。如前所述,Vcc电压在时间tm从低GND或者Vss电压电平转变为高Vcc电压电平。可选地,Vcc电压电平能够从低功率模式电平转变到Vcc电压电平。Vcc电压电平及时斜升并且在时间tST超过稳定的电压电平Vst,在该时间,能够操作闪速存储器1010。最后在时间tv,Vcc电压电平达到最大Vcc电平。但是,为了阻止由于锁存在命令寄存器中的假的信息的设备故障,和非易失性存储器设备相关的诸如存储器控制器的控制器保持RST#信号为有效低逻辑电平,以禁止设备的所有功能持续等待时间周期,该等待时间周期至少是Vcc电压电平达到稳定的Vst电压电平采用的时间(从到tST的时间)。在图19所示的实施例中,RST#信号被保持在有效低逻辑电平持续延长的时间周期tKST,即从到tST加上Vcc电平达到稳定电压电平Vst之后的至少时间间隔h。当RST#信号处于有效的低逻辑电平时,设备的所有内部寄存器将因此保持在缺省或者复位状态。最后,如图19所不,控制器在时间间隔tRST之后将使RST#无效。在此时间之后,功率将稳定并且设备部件能够随后准备或者初始化自身用于操作。可选地,控制器通过将CE#信号驱至无效高逻辑电平而在时间使CE#信号无效,同时设备处于复位状态。由于Vcc向其最大电压电平斜升,CE#将跟随Vcc斜升。在时间tCEMf能够使CE#信号有效,以允许设备进入正常运行状态。时间tCEQff发生在已经使RST#信号无效或者被驱至无效的高逻辑电平之后至少t2的时间间隔已经过去之后。一旦设备进入正常运行状态,在设备水平和系统水平二者能够执行初始化操作。在功率转变操作期间有意保持设备在复位状态持续预定量的时间阻止了假的信息存储在或者锁存到设备的不同寄存器中。该设备因此被安全保护防止数据被不正确和无意地编程或者擦除,确保在功率转变期间的数据完整性。当Vcc关闭并且被驱至低GND或者Vss电压电平时,在掉电操作期间,在之前的预定时间,通过使RST#无效或者将RST#驱至有效低逻辑电平,类似的过程可被遵循用于确保数据保护。图20中示出根据本发明的实施例的在非易失性存储器设备中的功率转变期间的数据保护的方法的流程图。控制诸如闪速存储器设备的非易失性存储器设备的存储器控制器在任意功率转变之前保持RST#为低(步骤1100)以将设备置于复位状态。在此时间期间,设备的内部寄存器被设为缺省或者复位状态。控制器随后允许功率转变(步骤1102)并且等待预定时间周期以稳定设备的内部电压(步骤1104)。等待时间周期对应于图19中所示的tKST并且至少为Vcc电压电平达到稳定电压电平Vst采用的时间(从到tST的时间)加上Vcc电平达到稳定的电压电平Vst之后的至少时间间隔h。时间间隔tl能够基于诸如操作电压和处理技术的设备特征来确定。例如,RST#被保持低的总的时间周期,SPtKST,能够为IOus或者更大。在此时间周期期间,设备的不同部件稳定并且时钟变得可操作的并且变得频率和相位稳定。在时间周期tKST过去之后,当设备期望处于“准备好”状态时,控制器使RST#高信号有效(步骤1106)。如参见图19所述,控制器在时间t0N使CE#信号有效,同时设备处于 复位状态,并且在使RST#无效后使其处于禁止状态,以从复位状态释放存储器设备。在时间tCEQff使CE#信号无效,以允许设备进入正常运行状态。时间tCEQff是在已经使RST#信号有效之后的至少t2的时间间隔已经过去之后。一旦设备进入正常运行状态,在设备水平和系统水平二者能够执行初始化操作(步骤1108)。与时间间隔h类似,时间间隔t2能够基于设备特征被确定并且将从一个存储器系统到另一个变化。例如,t2能够是IOOus或者更大。图21描述根据本发明的实施例的为了确保数据保护在功率转变期间在设备上包括的步骤。非易失性存储器设备在任意功率转变之前从控制设备的存储器控制器接收RST#低信号(步骤1200)。设备随后从控制器接收功率以激活设备部件(步骤1202)。所接收的功率能够从VSS电压或者从低功率模式电压电平增加到全VCC操作电压电平。由于RST#信号为低,设备处于复位状态。在此时间期间,设备的内部寄存器和任意的有限状态机被设定为和保持在缺省或者复位状态(步骤1204)。控制器随后在使RST#为高之前等待预定时间周期用于稳定设备的内部电压。在时间周期tKST过去之后,当设备期望处于“准备好”状态,控制器使RST#高信号有效。设备接收RST#高信号并且将设备置为“准备好”状态(步骤1206)。控制器在时间tCEQff使CE#信号有效,以允许设备进入正常运行状态。如前所述,一旦设备进入正常运行状态,在设备水平能够执行初始化操作(步骤1208)。以下讨论在图4的存储器系统200中的功率转变期间数据保护的方法。上电时,存储器控制器202将保持“复位”(RST#)为低以使所有的存储器设备204、206、208和210复位,同时功率稳定并且设备自身预备用于操作。如图19所示,RST#在Vcc稳定之后由控制器202将其保持为低持续最少tl(例如,20us)。当RST#保持低时,存储器中的所有有限状态机被初始化,并且任意配置和状态寄存器被复位为它们的缺省或者复位状态。在使RST#无效到高逻辑电平之前,时钟变得可操作并且变得频率和相位稳定。如参见图19所述,控制器202在时间tQN使CE#信号无效,同时设备处于复位状态并且在已经使RST#无效之后使CE#有效。在时间tCEMf使CE#信号有效,以允许设备进入正常运行状态。时间tCEMf是在已经使RST#信号有效之后至少t2的时间间隔已经过去之后。一旦设备进入正常运行状态,在设备水平和系统水平二者能够执行初始化操作。初始化操作的例子包括对于串联的每个设备产生和分配设备地址和标识符。在共同未决美国专利申请11/622828、11/750649、11/692452、11/692446、11/692326和11/771023中描述了设备地址和标识符的产生的各种方法。通过在功率转变操作期间确保设备处于复位状态持续预定量的时间,阻止假的信息存储在或者锁存到设备的不同寄存器中。该设备因此被安全保护,防止数据被不正确编程或者擦除,确保在功率转变期间的数据完整性。在之前描述中,出于解释的目的,为了提供对本发明的实施例的全面理解而描述了多个细节。但是,对于本领域内的普通技术人员来说为了实现本发明并不一定需要这些具体细节是明显的。在其它情况中,框图形式所示的公知的电结构和电路是为了使本发明不明显。例如,对于此处所述的本发明的实施例是否被实现为软件程序、硬件电路、固件或其组合,没有提供具体细节。
本发明的实施例可以被表示为机器可读介质(也称为计算机可读介质、处理器可读介质或者具有在其中实现的计算机可读程序代码的计算机可用介质)中存储的软件产品。机器可读介质可以是任意适合的有形介质,包括磁性、光学或者电存储介质,包括磁盘、光盘只读存储器(CD-ROM)、存储器设备(易失性或者非易失性)或者类似的存储机构。机器可读介质可以包含各种指令集、代码序列、配置信息或者其他数据,其可以在执行时使得处理器执行根据本发明的实施例的方法中的步骤。本领域内的普通技术人员可以意识到用于实现所述发明必须的其它的指令和操作也可以存储在机器可读介质上。从机器可读介质运行的软件可以和电路接口用于执行所述任务。上述的本发明的实施例仅用于示例。对于本领域技术人员来说,在不脱离由所附的权利要求单独限定的本发明范围的前提下,可以实现特定实施例的替换、修改和变更。
权利要求
1.ー种在具有串联的存储器设备的存储器系统的所选择的存储器设备中执行并发操作的方法,包括 接收第一命令; 响应所述第一命令,在所述所选择的存储器设备的第一存储体中执行核心操作; 在所述第一存储体中执行核心操作期间接收第二命令;和 响应所述第二命令,在所述所选择的存储器设备的第二存储体中执行核心操作。
2.权利要求I的方法,还包括 接收第三命令,用于从所述第一存储体和所述第二存储体的其中之ー请求结果信息,和 响应所述第三命令,输出包含所述结果信息的读取数据包。
3.权利要求2的方法,其中,所述结果信息包括状态寄存器数据和读取数据的其中之o
4.权利要求2的方法,其中,所述第一命令、所述第二命令和所述第三命令为包括一系列位的命令包,被逻辑配置为包括 用于提供操作码和设备地址的必须的命令字段; 跟随所述命令字段的可选地址字段,用于在所述操作码对应于读取或者写操作时提供行和列地址的其中ー个,和 跟随所述地址字段的可选数据字段,用于在所述操作码对应于所述写操作时提供写数据。
5.权利要求4的方法,其中, 与所述第一命令并行接收第一命令选通,所述第一命令选通具有对应于所述第一命令的长度的有效持续时间,和 与所述第二命令并行接收第二命令选通,所述第二命令选通具有对应于所述第二命令的长度的有效持续时间。
6.权利要求5的方法,其中,接收数据输入选通,当所述数据输入选通处于有效电平时,用于启用所述读取数据包的输出。
7.权利要求6的方法,其中,所述第一命令选通与所述第二命令选通通过至少ー个数据锁存时钟边沿分离。
8.权利要求6的方法,其中,所述第二命令选通与数据输入选通通过至少ー个数据锁存时钟边沿分离。
9.权利要求I的方法,还包括在接收所述第一命令之前上电所述所选择的存储器设备。
10.权利要求9的方法,其中,所述上电步骤包括 在功率转变之前,使控制信号有效以维持所述所选择的存储器设备处于缺省状态; 当使所述控制信号有效时,将所选择的存储器设备的功率电平从第一电压电平转变为第二电压电平; 等待预定持续长度的时间,以允许所述功率电平稳定;和 使所述控制信号无效,以将所述所选择的存储器设备从缺省状态释放,从而阻止所述所选择的存储器设备中的意外的编程或者擦除操作。
11.权利要求10的方法,其中,所述第二电压电平为用于稳定电路操作的最小电压电平。
12.权利要求10的方法,其中,所述第二电压电平为电源的最大操作电压电平。
13.权利要求10的方法,其中,所述第一电压电平对应于电源的低功率模式操作电压电平。
14.权利要求10的方法,其中,所述第一电压电平对应于电源的缺失。
15.权利要求10的方法,其中,維持所述存储器设备处于缺省状态包括设定存储器设备中的设备寄存器为缺省值。
16.权利要求15的方法,其中,所述设备寄存器包括命令寄存器。
17.权利要求10的方法,还包括在将所述存储器设备从所述缺省状态释放时执行设备初始化的步骤。
18.权利要求17的方法,其中,所述执行设备初始化的步骤包括对于所述存储器设备产生设备地址和设备标识符信息。
19.权利要求9的方法,其中,所述上电的步骤包括 在功率转变之前,在第一时间使控制信号有效,以维持所述存储器设备处于缺省状态; 当使所述控制信号有效时,在第二随后时间将所述存储器设备的功率电平从第一电平转变为第二电平; 等待预定持续长度的时间以允许所述功率电平稳定;和 在第三随后时间,使所述控制信号无效以将所述存储器设备从缺省状态释放,从而阻止所述存储器设备中的意外的编程或者擦除操作。
20.一种存储器系统,包括多个存储器设备和用于控制所述设备的控制器,所述存储器系统能够在接收第一命令之前执行上电所选择的存储器设备的功能。
21.权利要求20的存储器系统,其中,所述上电的功能包括 在功率转变之前,使控制信号有效以维持所选择的存储器设备处于缺省状态; 当使所述控制信号有效时,将所选择的存储器设备的功率电平从第一电压电平转变为第二电压电平; 等待预定持续长度的时间以允许所述功率电平稳定;和 使所述控制信号无效以将所选择的存储器设备从缺省状态释放,从而阻止所述所选择的存储器设备中的意外的编程或者擦除操作。
22.权利要求20的存储器系统,其中,所述上电的功能包括 在功率转变之前,在第一时间使控制信号有效以维持所述存储器设备处于缺省状态;当使所述控制信号有效时,在第二随后时间将所述存储器设备的功率电平从第一电平转变为第二电平; 等待预定持续长度的时间以允许所述功率电平稳定;和 在第三随后时间,使所述控制信号无效以将所述存储器设备从缺省状态释放,从而阻止所述存储器设备中的意外的编程或者擦除操作。
全文摘要
存储器系统体系结构具有串联的存储器设备。存储器系统为可扩缩的,以包括任意数量的存储器设备,而没有任何性能下降或者复杂的重新设计。每一个存储器设备具有串行的输入/输出接口,用于在其他存储器设备和存储器控制器之间通信。存储器控制器以至少一个位流来发布命令,其中该位流遵循模块化命令协议。该命令包括具有可选的地址信息和设备地址的操作码,使得仅有所寻址的存储器设备对命令起作用。与每个输出数据流和输入命令数据流并行地分别提供分离的数据输出选通和命令输入选通信号,用于识别数据的类型和数据的长度。模块化命令协议被用于在每一存储器设备中执行并发的操作以进一步提高性能。
文档编号G11C7/20GK102760476SQ20121011194
公开日2012年10月31日 申请日期2007年8月22日 优先权日2006年8月22日
发明者S·普日贝尔斯基, 吴学俊, 潘弘柏, 金镇祺 申请人:莫塞德技术公司