HK1180450A - 具有多个存储装置的系统中的状态指示 - Google Patents
具有多个存储装置的系统中的状态指示 Download PDFInfo
- Publication number
- HK1180450A HK1180450A HK13107634.2A HK13107634A HK1180450A HK 1180450 A HK1180450 A HK 1180450A HK 13107634 A HK13107634 A HK 13107634A HK 1180450 A HK1180450 A HK 1180450A
- Authority
- HK
- Hong Kong
- Prior art keywords
- status
- memory device
- memory
- devices
- pin
- Prior art date
Links
Description
相关申请的交叉引用
本申请要求2010年4月19日提交的、序列号为61/325451的美国临时专利申请和2011年2月9日提交的、序列号为13/023838的美国非临时专利申请的优先权,通过引用将这些申请整体包含于此。
背景技术
计算机和其它信息技术系统通常包含诸如存储器这样的半导体装置。这些半导体装置由控制器控制,该控制器可以构成计算机的中央处理单元(CPU)的一部分或者可以是独立于CPU的。控制器可以具有用于传送去往和来自半导体装置的信息的接口。而且,将会理解的是,可以传送的信息的类型以及用于执行这样的控制器-装置通信的现有技术中公开的各种实现方式是多种多样的。存储装置的就绪或忙状态是可以从存储装置传送到控制器的仅仅一种信息类型的例子。
发明内容
本发明的目的是提供一种包括一个或多个存储装置的改进系统。
根据本发明的一个方面,提供了包括多个装置的系统,所述多个装置中的每一个都包括状态输入引脚、状态输出引脚和独立的数据输入和输出引脚。所述多个装置包括多个半导体存储装置,所述多个半导体存储装置包括至少第一个和最后一个存储装置。所述多个装置还包括用于与半导体存储装置通信的控制器装置。第一个存储装置具有与控制器装置的状态输出引脚连接的状态输入引脚。第一个存储装置的状态输出引脚与处于中间的存储装置或者最后一个存储装置的状态输入引脚连接。最后一个存储装置的状态输入引脚与另一个处于中间的存储装置、所述处于中间的存储装置或第一个存储装置的状态输出引脚连接,最后一个存储装置的状态输出引脚与控制器的状态输入引脚连接,从而形成状态环,所述多个装置中的每一个都处于状态环上,且状态环提供独立于多个半导体存储装置中的任何一个与控制器装置之间的数据通信路径之外的状态通信路径。
根据本发明的另一个方面,提供了包括多个用于与数据总线连接的数据引脚的存储装置。该存储装置还包括用于与独立于数据总线之外的状态线连接的状态引脚。该存储装置还包括第一电路,用于在具有第一持续时间的存储器操作完成时,生成具有比第一持续时间短得多的第二持续时间的选通脉冲。该选通脉冲提供该存储器操作完成的指示。该存储装置还包括第二电路,用于将所述选通脉冲经由状态引脚输出到状态线上。
根据本发明的又一个方面,提供了一种方法,该方法包括提供闪存存储装置,该闪存存储装置包括多个数据引脚和一个状态引脚,所述多个数据引脚与数据总线连接,并且状态引脚与独立于数据总线之外的状态线连接。该方法还包括在闪存存储装置内执行具有第一持续时间的存储器操作。该方法还包括在该存储器操作完成时,生成具有比第一持续时间短得多的第二持续时间的选通脉冲,并且该选通脉冲提供该存储器操作完成的指示。该方法还包括将所述选通脉冲经由状态引脚输出到状态线上。
这样,提供了包括一个或多个存储装置的改进系统。
附图说明
现在将以举例的方式参照附图:
图1A是接收并行时钟信号的示例系统的框图;
图1B是接收源同步时钟信号的示例系统的框图;
图2是根据示例实施例的系统的框图,装置环中的各个装置包括额外的一组IO引脚,用于提供独立的状态环;
图3是根据可供选用的另一个示例实施例的系统的框图,装置环中的各个装置包括额外的一组IO引脚,用于提供独立的状态环;
图4是根据一种示例实施例的状态包的示意图;
图5是根据另一个可供选用的示例实施例的状态包的示意图;
图6是根据又一个可供选用的示例实施例的状态包的示意图;
图7是根据某些示例实施例的时序图;
图8是在根据示例实施例的可以被包含在存储装置中的示例状态总线控制器的框图;
图9是根据某些示例实施例的另一个时序图;和
图10是根据某些示例实施例的另一个时序图;
图11是根据某些示例实施例的另一个时序图;
图12是根据又一个可供选用的示例实施例的系统的框图;
图13A和13B是根据某些示例实施例的另一个时序图;
图14是根据某些示例实施例的另一个时序图;和
图15A和15B是根据某些示例实施例的又一个时序图。
在不同的图中可能使用了类似的或相同的附图标记来表示这些附图中示出的类似的示例特征。
具体实施方式
在2008年8月21日公开的名称为“SYSTEM HAVING ONE OR MORE MEMORYDEVICES”的美国专利申请公开US2008/0201548A1、2008年2月28日公开的名称为“SCALABLE MEMORY SYSTEM”的美国专利申请公开US2008/0049505A1、2008年2月28日公开的名称为“MODULAR COMMANDSTRUCTURE FOR MEMORY AND MEMORY SYSTEM”的美国专利申请公开US2008/0052449A1、2010年4月15日公开的名称为“COMPOSITE MEMORYHAVING A BRIDGING DEVICE FOR CONNECTING DISCRETE MEMORY DEVICES TOA SYSTEM”的美国专利申请公开US2010/0091536A1中,介绍了具有环形拓扑结构的系统的例子。在下面的介绍中的多个不同的地方,可能会提到某些示例命令、地址和数据格式、协议、内部装置结构和/或总线事务等,本领域技术人员将会意识到,参照前面提到的专利参考文献,可以迅速获得其它更多的示例细节。
根据某些示例实施例,命令包来源于控制器并且沿着存储装置的环,以点到点的方式通过各个存储装置来进行传递,直到它们回到该控制器。图1A是接收并行时钟信号的示例系统的框图,而图1B是接收源同步时钟信号的与图1A相同的系统的框图。时钟信号可以是单端时钟信号或差分时钟对。
在图1A中,系统20包括具有至少一个输出端口Xout和一个输入端口Xin的存储器控制器22以及串联连接的存储装置24,26,28和30。虽然在图1A中没有示出,但是各个存储装置都具有Xin输入端口和Xout输出端口。输入和输出端口由将存储装置与其构成一部分的系统对接的一个或多个物理引脚或接线构成。在某些情况下,存储装置是闪存存储装置。图1A的当前例子包括四个存储装置,但是可供替换的其它例子可以包括单独一个存储装置,或者任何适当数量的存储装置。由此,如果存储装置24因为与Xout连接而成为系统20的第一个装置,那么存储装置30因其与Xin连接而成为第N个或最后一个装置,其中N是大于零的整数。于是,存储装置26到28是介于第一个和最后一个存储装置之间的串联连接的存储装置。各个存储装置可以在系统加电初始化的时候取得独有的标识(ID)号或者装置地址(DA),从而它们是可单个寻址的。共同拥有的、名称为“APPARATUS AND METHOD FORPRODUCING IDS FOR INTERCONNECTED DEVICES OF MIXED TYPE”的美国专利申请第11/622828号、名称为“APPARATUS AND METHOD FOR ESTABLISHINGDEVICE IDENTIFIERS FOR SERIALLY INTERCONNECTED DEVICES”的美国专利申请第11/750649号、名称为“APPARATUS AND METHOD FOR PRODUCI NG DEVICEIDENTIFIERS FOR SERIALLY INTERCONNECTED DEVICES OF MIXED TYPE”的美国专利申请第11/692452号、名称为“APPARATUS AND METHOD FOR PRODUCINGIDENTIFIERS REGARDLESS OF MIXED DEVICE TYPE IN A SERIALINTERCONNECTION”的美国专利申请第11/692446号、名称为“APPARATUS ANDMETHOD FOR IDENTIFYING DEVICE TYPE OF SERIALLY INTERCONNECTEDDEVICES”的美国专利申请第11/692326号、名称为“ADDRESS ASSIGNMENT ANDTYPE RECOGNITION OF SERIALLY INTERCONNECTED MEMORY DEVICES OF MIXEDTYPE”的美国专利申请第11/771023号和名称为“SYSTEM AND METHOD OFOPERATING MEMORY DEVICES OF MIXED TYPE”的美国专利申请第11/771241号介绍了为系统的串联连接的存储装置生成和分配装置地址的方法。
存储装置24到30被认为是串联连接的,因为除了该链中的第一个和最后一个存储装置之外,一个存储装置的数据输入端与前一个存储装置的数据输出端连接,从而形成了串联连接的系统组织结构。存储器控制器22的通道包括由与导线连接的不同引脚或相同引脚提供的数据、地址和控制信息。图1A的例子包括一个通道,其中这一个通道包括Xout和相应的Xin端口。不过,存储器控制器22可以包括任何适当数量的通道,用于配合不同的存储装置链。在图1A的例子中,存储器控制器22提供时钟信号CK,该存储器控制器22与所有的存储装置并联连接。
在总的操作中,存储器控制器22通过其Xout端口发出命令,这个命令包括操作码(op码)、装置地址、根据情况选用的用于读取或编程的地址信息和用于编程的数据。这个命令可以是以串行位流命令包的形式发出的,其中这个包可以在逻辑上被再分为预定尺寸的段。各个段可以是例如一字节的大小。位流是随时间提供的位序列或位串。该命令由第一个存储装置24接收,该存储装置24将所述装置地址与它所分配的地址进行比较。如果地址匹配,则存储装置24执行该命令。通过它自己的输出端口Xout将该命令传递给下一个存储装置26,在存储装置26中重复进行相同的步骤。最终,具有匹配装置地址的存储装置,称为选中的存储装置,将会执行由该命令规定的操作。如果该命令是读取数据命令,则该选中的存储装置将会通过其输出端口Xout(未示出)输出读出数据,该读出数据通过中间的存储装置被串行传递,直到它到达存储器控制器22的Xin端口。由于命令和数据是以串行位流的形式提供的,因此各个存储装置使用时钟来按时钟顺序输入/输出串行比特位和同步内部存储装置的操作。系统20中的所有存储装置都使用这一时钟。
在之前提到的美国专利申请公开US2008/0201548A1的图3A和说明书第53-56段中给出了图1A的系统20的更加具体的例子的更多细节,并且这一附图和说明书的相应段落以引用的方式并入文本。
因为根据图1A的系统中使用时钟频率相当低,所以可以使用不终止的全摆幅CMOS信令电平来提供鲁棒的数据通信。这也称为LVTTL信令,对于本领域技术人员而言是公知的。
图1B的系统可以获得更胜于图1A的系统20的进一步性能改善。图1B的系统40类似于图1A的系统20,只是时钟信号CK是从提供源同步时钟信号CK的另一个可供选用的存储器控制器42串行地提供给各个存储装置的。各个存储装置44,46,48和50可以在其时钟输入端口上接收到源同步时钟,并且将其经由它的时钟输出端口转送到系统中的下一个装置。在系统40的某些例子中,时钟信号CK经由短信号线从一个存储装置送到另一个。因此,不存在任何与并行时钟分布方案有关的时钟性能问题,并且CK可以以很高的频率工作。由此,系统40的工作速度可以比图1A的系统20快。例如,可以使用高速收发机逻辑(HSTL)信令来提供高性能的数据通信。在HSTL信令格式下,各个存储装置可以接收用于确定输入的数据信号的逻辑状态的参考电压。另一种类似的信令格式是SSTL信令格式。由此,系统20和40的存储装置中的数据和时钟输入电路在结构上是彼此不同的。HSTL和SSTL信令格式都是本领域技术人员公知的。
在之前提到的美国专利申请公开US2008/0201548A1的图3B和说明书第57-58段中给出了图1B的系统40的更加具体的例子的更多细节,并且这一附图和说明书的相应段落以引用的方式并入文本。
现在将参照图2。图2是根据示例实施例的系统200的框图。所图示的系统包括存储器控制器210和多个存储装置212。所图示的系统在很多方面都可以类似于图1A的系统,其中用多条线更加细致地示意性绘制出了Xout和Xin端口,所述多条线之一是沿着装置环从装置延伸到装置的状态线,装置环中的各个装置包括一组额外的IO引脚(即,在DQ引脚之外),用于提供独立的状态环214。这些额外的IO引脚在存储器控制器210和各个存储装置212上用SI和SO标注。SI引脚和SO引脚本文也分别称为状态输入引脚和状态输出引脚。
现在参照图3,示出的是根据另一种可供选用的示例实施例的系统300的框图,所图示的系统包括存储器控制器310和多个存储装置312。系统300和系统200之间的差异主要仅仅在于,系统300采用结合图1B介绍的串行分布时钟,并且作为主要的区别点,现在参照这两种示例实施例讨论后面的细节将会是比较方便的。
根据图2和3的示例实施例,一般的操作如下所述。当存储装置212或312完成了诸如编程、读取、擦除等之类的内部操作时,它会用与所完成的操作有关的信息更新其状态寄存器。一旦它完成了对其状态寄存器的更新,存储装置可以通过状态环214或314将其状态寄存器的内容自动发送回到控制器210或310,从而通知控制器210或310未决的操作已经完成。状态向控制器的这一自动传递减轻了控制器跟踪未决的存储器操作的进展的负担。各个存储装置212或312负责在其完成了操作时通知控制器210或310。
因此状态环214或314的用途是,在不增加命令和数据总线的系统开销的情况下,实现状态信息的传递。具体地说,对于传统存储器系统,主机(例如,控制器)通过下列两种方式之一来了解存储装置的状态:i)通过就绪/忙(Ready/Busy)引脚,一般称为RBb,这个引脚提醒控制器何时存储装置中的内部操作已经完成(在某些不太复杂的实现方式中,所有存储器芯片的RBb引脚都捆绑在一起,从而命令线上的"忙(Busy)"信号自身不能表明任何一个特定的装置是就绪还是忙,其缺点是,在"忙"期间,控制器可能不得不寻找某种其它的途径来判断一个特定装置是否就绪);和ii)'读取状态寄存器'命令,根据这个命令,存储装置的状态寄存器的内容被通过命令/数据总线传送到控制器。各个存储装置可以配备有与控制器连接的唯一的RBb引脚,从而控制器可以轻松地判读,对于内部操作而言,哪个装置是就绪的,而哪个装置是忙的。在连接成环形结构的存储装置中,比如图1A或1B中所示的示例环形结构,状态收集功能可以被建立到总线的协议中并且不存在额外的就绪/忙引脚。这样做是作为一种节约引脚数量的手段,尤其是在各个环或通道上连接大量装置的时候。在每个装置一个就绪/忙引脚的情况下,引脚的数量随着装置数量的增加而线性增加,并且可能会导致在环或存储器子系统上出现不切实际的引脚数量。因此,将状态信息,包括就绪/忙,被整合到命令/数据总线的协议中。
不过,由于存储通道上的通信业务变得更加忙,与收集状态和就绪/忙信息相关的系统开销可能会变得大得在与数据页传递大小(可能是例如4KB或8KB)相比时,不能再忽略不计。而且,对于控制器来说,以及时的方式,将所有所需的状态命令在命令和数据包之间交错插入到总线上,成为了一种挑战。对于图2和3的示例实施例而言,可以避免这一问题。在这些实施例中,状态命令和信息并不需要沿着包括在命令/数据输入和输出引脚(D和Q引脚)之间延伸的线的数据通信路径行进。代替数据和状态通信二者的共用线,系统200(或系统300)包括提供独立状态通信路径的状态环。
现在将参照图4。图4是根据一种示例实施例的状态包400的示意图。根据某些示例实施例,状态包很小,从而它们不会在总线上占用很多时间,并且从而控制器能够以最小的逻辑和处理开销对它们进行解码。在某些例子中,状态包以一些头部位410开始,以指明包的开始,并且包含发送机的装置标识(图4中的位412)以及相关的状态位414,并且最后,是长度为m+1的差错检测码(EDC)值(图4中的位416)。作为EDC的替代者,根据图4的示例实施例和某些稍后介绍的附图的状态包可以包括纠错码(ECC)位。本领域技术人员可以想到,ECC意味着在系统的控制器内既要进行检错又要进行纠错,而EDC意味着控制器能够检测(但是不纠正)错误。而且,应该注意的是,状态包可以可选地以DDR格式发送和接收。
根据某些示例实施例,状态包的内容是可编程的,以便使包的特性适合于特定存储器子系统中的环。这可以是借助控制寄存器来实现的。例如,如果存储器子系统具有多个环,每个环仅仅包含十五个装置,控制器可以将该包配置为仅仅包含四位的装置ID(id0-id3),这个装置ID是所需的全部。另外,如果各个存储装置包含四个存储体,每个存储体一个平面,则控制器可以将状态位配置为仅仅包含四个相应的就绪/忙位(srb0-srb3)和四个通过/失败(Pass/Fail)位(spf0-spf3),并且省去了与这些存储体相关的其它状态位。因此会进行将就绪/忙(Ready/Busy)和通过/失败(Pass/Fail)看作是对存储装置的一般操作最重要的位的判断。图5中示出了如前所述那样配置的状态包。图示的示例状态包500包括前面介绍的位,即头部位510、id0-id3位512、就绪/忙和通过/失败位514和EDC位516。
在将状态事件限制为一次只有一个状态事件的那些系统中,可以实现数据包大小的进一步减小。在这些系统中,状态包仅仅包括就绪/忙和通过/失败信息的一个子集,即仅仅是完成了内部操作的存储体的就绪/忙和通过/失败信息。而且,在这些环境下,控制器将仍然需要识别这些状态位的拥有者,所以因此该包会另外必须被配置为包含两个存储体位,用来进行存储体识别。因此在这种示例情况下,状态包的大小减小了额外的四位。图6中示出了如前所述那样配置的状态包。图示的示例状态包600包括前面介绍的位,即头部位610、id0-id3位612、存储体位614、就绪/忙和通过/失败位616和EDC位618。
根据某些示例实施例,如果控制器需要它所配置的状态包不包含的状态信息,它可以通过正常数据和命令总线来获得这些状态信息。这将不会因为增加过度的开销而对数据和命令总线的性能造成负面影响,因为可以预期,这些补充的状态读取是非常少的并且很少发生。
头部可以是任何适当长度。就包长度而言,最有效率的长度应当是仅仅一位宽;不过在某些可供选择的示例中,被设置为逻辑'1'的两位可以构成头部。其它的头部长度或数据模式也是可行的。
为了支持至少某些示例实施例的状态总线的正常运行,各个存储装置都配备有控制器、可编程延迟逻辑和控制寄存器。稍后将对这些加以详细介绍。
现在将参照图7。图7是表示根据某些示例实施例的示例状态包700的组成和需要引入到状态总线控制器的设计中的两个计时参数的时序图。以DDR的方式,所图示的例子中的状态包700在Ck的正沿上开始被接收,并且在Ck的每个边沿上包含一个新位。状态包的组成包括,但不局限于,i+1个头部位702、j+1个装置ID位704、k+1个存储体位(为了绘制方便,在这个特定的附图中没有示出)、n+1个状态位706和m+1个EDC位708。状态包的长度是由tSPL给出的,tSPL是由下了公式给出的:tSPL=1/2tCK*(i+j+k+n+m+5);其中tCK是系统总线的时钟周期(但是可以是为状态总线单独提供的唯一的并且独立的时钟)。各个状态包700由根据特定实现方式决定的给定数量的正时钟边沿分隔开来。这一分隔称为状态分隔等待时间(Status Separation Latency),并且由图7中的tSPS给出。某些设计可能需要更多,并且某些设计可能仅仅需要一个时钟边沿(即,一个正时钟边沿,或者可供选择地,一个负时钟边沿)。
现在参照图8,示意性地图解说明了可以包含在各个存储装置212(图2)或存储装置312(图3)中的示例状态总线控制器800。所图示的状态总线控制器800包括状态包内容和延迟长度寄存器810。在系统操作期间,主机(例如,控制器)根据状态包的组成(或特征)来编程寄存器810。寄存器810还包含状态包的最终长度并且被耦合到存储器的内部状态寄存器812和Status-In解码器814。内部状态寄存器812包含状态输出控制电路818,该控制电路818负责移出状态包,所述状态包包括头部位、装置ID位、存储体位、状态位、EDC位和该包被配置为包含的任何其它位。状态输出控制电路818的输入是:i)状态包内容(从而状态输出控制电路818能够确定要包含哪些状态位);ii)状态包长度(被状态输出控制电路818用于控制用途的);和iii)输出使能(从而状态输出控制电路818能够确定何时可以移出内部状态包)。
仍然参照图8,Status-In解码器814经由与状态包长度对应的分接线路将输入的状态包选通到串行移位寄存器820。是来自寄存器810的延迟长度部分的状态包长度信号来决定串行移位寄存器820的哪一个抽头被选中。例如,当主机(例如,控制器)通过编程寄存器810的状态包内容部分来配置状态包的内容时,计算该长度并且将其存储在寄存器810的延迟长度部分中。这个值用于选择使用哪个分接抽头来加载串行移位寄存器820。串行移位寄存器820的用途是为输入的状态包加上充足的延迟,使得来自内部状态寄存器812的可行的输出的状态包可以在输入的包到达SO输出引脚之前完成。
现在将参照图9。图9是表示示例状态包通过存储装置的时序图。它在t0到达引脚SI,经过移位寄存器,然后在t1被送出到SO引脚上。Status-In解码器814(图8)生成信号“输出选择(Output Select)”,这个信号会造成输出mux 850(图8)选择该移位寄存器输出来传送到SO引脚。Status-In解码器814知道状态包的长度、经过该移位寄存器的延迟和tSPS,因此它知道何时以及多长时间内将"输出选择"逻辑驱动为高电平,以选择该通过(pass-through)状态包,使得它在t 2到达环中的下一个装置。当通过状态包的最后一位被送出到SO引脚上时(t3处所示),信号"输出选择"可以被撤消,以使得内部状态包进入到输出引脚。
如果在SI上检测到通过状态包,状态总线控制器800(图8)应当不会送出内部状态包。如图9中所示,在t 0开始送出内部状态包。在大约同一时刻,在SI上检测到新的通过包。因此,这是开始输出内部状态包的最后一个时钟周期。Status-In解码器814(图8)生成信号"输出使能(OutputEnable)",该信号告诉状态输出控制电路818(图8)何时可以送出新的包。在一个例子中,这一信号的逻辑高电平意味着'可以送出内部状态包',逻辑低电平意味着'不送出新的内部状态包'。其它的逻辑检测也是可行的。当状态输出控制电路818检测到逻辑低电平时,可以不送出新的内部状态包,而是可以完成当前正在进行的整个包的送出。串行移位寄存器820提供足够的延迟,使得内部状态包和通过状态包不会在输出引脚处冲突,并且使得所有的计时参数,例如tSPS,都得到观测。在图9中,信号"输出使能"变为逻辑高电平,从而使得存储装置可以在t4将内部状态包送出,以便该状态包可以在t5到达下一个下游装置。
现在将参照图10。图10是表示根据示例实施例在多个通过和内部状态包之间进行的仲裁。内部状态包intl在t0开始送出。同时在SI上接收到新的通过包。然后输出使能被撤消,以防止新的内部包被送出,但是允许正在进行的包intl被完成。随后,将"输出选择"驱动为高电平,以便可以在t1在SO上送出该通过包。在t1,新的通过包到达SI。在t2,已经送出了包pt1,所以输出选择被撤消。由于在t1接收到了新的包pt2,因此在t3不能重新确立用于新的内部包的输出使能。相反,重新确立输出选择是为了将通过包pt2送出,这个包pt2接下来进入移位寄存器。在t4,包pt2完成并且输出选择被撤消。然后,在t5,输出使能被重新确立,以便使得新的内部状态包int2能够被送出并且在t6由环中的后续装置接收到。
现在考虑一下在图2或3的系统内实现状态指示的其它变型。例如,下面将要介绍的简单的异步型实现方式是一种可供选用的示例实施例。在这种可供选用的示例实施例中,任意一个存储装置212或312都能够在完成了某些内部操作(例如,页读取、页编程、块擦除、操作放弃等)时在状态环214或314上发出单个选通脉冲,以通知控制器210或310操作完成。不过,单个选通脉冲不必被限定于仅仅那些完成了某些操作的情况,而是更加一般地,单个选通脉冲是用来提供存储装置内某种形式的状态变化的指示。而且,可以想到,根据示例实施例的存储装置可以各自包括用于生成选通脉冲的电路,以及用于输出选通脉冲的电路。
在至少某些异步型实现方式中,状态脉冲没有包含关于发出该脉冲的存储装置的标识相关的详细信息,所以控制器210和310可以通过例如在装置环内广播读取状态寄存器命令来得知发出脉冲的存储装置的标识。装置环内的各个存储装置212或312在它们各自的CSI引脚上接收到读取状态寄存器命令、处理该命令并且将其转送到下一个下游存储装置,这个下游存储装置又以类似的方式处理该读取状态寄存器命令。在这个过程中,存储装置212或312的每一个将其相应的状态信息附加到发送到存储装置的Q输出引脚上的状态包中。一旦该状态包回到控制器210或310,可以对状态包进行处理,以获得哪个存储装置完成了操作和该操作是否成功完成(或失败)的判断结果。在某些例子,控制器可以通过不总是立刻广播读取状态寄存器命令,而是等到接收到一定数量(即,数量大于一)的状态脉冲之后再广播读取状态寄存器命令,来减少与这些读取状态寄存器命令关联的总线使用开销。
将会参照图11中的时序图,进一步更加细致地理解上面介绍的可供选用的示例实施例。在这个时序图中,SO输出端上的状态脉冲1102不是由第一存储装置发出的,而是由系统200或300(图2或3)中的第二个或随后一个下游存储装置发出的。状态脉冲1102具有由tSTHP表示的最小脉冲宽度。而且,该时序图中所示的是类似的状态脉冲1104,但是状态脉冲1104不同于状态脉冲1102,因为它来源于上游存储装置,通过SI输入端上的状态脉冲在时间上较早的版本1106证明了这一点。脉冲版本之间的最小传播延迟由tSTD表示。
而且图11中示意性地示出了由附图标记1112指代的读取状态寄存器命令。读状态寄存器命令1112包括装置地址字节'DA',并且因此不同于之前介绍的读取状态寄存器命令,不同之处在于,该读状态寄存器命令针对的是具体的存储装置,而不是对所有存储装置进行广播。这样,需要注意的是,在某些情况下,存储器控制器可能仅仅想要知道特定存储装置的状态信息,而不是所有存储装置的状态信息。该读取状态寄存器命令还包括指示命令类型的'F0h'字节('F0h'仅仅是举例而已,并且也可以考虑其他适当的字节)。读取状态寄存器命令还包括由'EDC'表示的差错纠正字节。一定数量的时钟周期之后,在命令输入选通脉冲1116被撤消后,数据输入选通脉冲1120被确立,以使存储装置准备好将附图标记1126表示的状态包发出到存储装置的Q引脚上。数据输出选通脉冲1128限定状态包1126的长度。
根据示例实施例的系统并不局限于图2和3中所示的那些。图12中示出了另一种可供选用的系统。这种可供选用的系统稍后将以有些一般性的措辞来加以介绍;不过,在共同拥有的、名称为“COMPOSITE MEMORY HAVING ABRIDGING DEVICE FOR CONNECTING DISCRETE MEMORY DEVICES TO A SYSTEM”的美国专利申请第12/401963号、名称为“BRIDGING DEVICE HAVING ACONFIGURABLE VIRTUAL PAGE SIZE”的美国专利申请第12/508926号和名称为“BRIDGE DEVICE HAVING A VIRTUAL PAGE BUFFER”的美国专利申请第12/607680号中可以找到更多方面的示例实现方式细节,所有这三个申请都以引用的方式整体并入本文。
图12的系统1200类似于图2和3的系统,但是具有重要区别。系统1200包括存储器控制器1202和组合存储装置1204-1到1204-N,其中N是整数。各个组合存储装置1204-1-1204-N串联地与存储器控制器1202相互连接。类似于图2和3的系统,组合存储装置1204-1是存储器系统1200的第一个组合存储装置,因为它与存储器控制器1202的输出端口Xout连接,并且存储装置1204-N是最后一个装置,因为它与存储器控制器1202的输入端口Xin连接。然后在第一个和最后一个组合存储装置之间插入组合存储装置1204-2到1204-7,组合存储装置1204-2到1204-7是被串行连接的存储装置。Xout端口提供全局格式的全局命令。Xin端口接收全局格式的读出数据和全局命令,因为全局命令通过所有的组合存储装置进行传播。
如本文所使用的,"全局格式"指的是与存储器控制器1202和桥接装置1212兼容的格式,类似地,"全局命令"指的是在至少一个桥接装置1212中得到解释的命令。"本地格式"指的是与分立的存储装置1214和桥接装置1212兼容的格式,类似地,"本地命令"指的是在至少一个分立的存储装置1214中得到解释的命令。图12中所示的各个组合存储装置具有一个桥接装置1212和四个分立的存储装置1214(图示的1:4的关系仅仅是举例,可以预见到其它关系,比如1:2、1:8或者任何适当的关系)。每一个组合存储装置中的各个桥接装置1212连接到相应的分立的存储装置1214,并且与存储器控制器1202和/或装置环中的前一个或后一个组合存储装置连接。各个桥接装置1212能够处理供其使用的包含全局命令的包,基于该包中包含的信息,向其相应的分立的存储装置1214中的至少一个提供本地命令。基于前面介绍的内容,对于本领域技术人员来说,应当可以理解桥接装置1212的其它功能。例如,应理解,任何一个存储装置1214的存储器阵列中存储的读出数据都可以从该存储装置中发送出去,由相应的桥接装置1212接收,然后沿着装置环传送,回到存储器控制器1202。在某些例子中,各个分立的存储装置1214包括一个以上的平面(例如,两个平面)。本领域的技术人员将会意识到,各个平面可以单独等同于一个逻辑单元编号(LUN)。
具有存储装置的各种不同系统中的任何一种,包括图2、3和12中所示意性示出的任何一种,能够以本文前面介绍的任何方式实现状态指示,不管是异步类型的还是同步类型的。因此可见,所能设想到的示例实施例的数量是庞大的。
现在将参考图13A和13B。图13A和13B是表示在图12的系统1200内,与页复制操作相关的状态指示的时序图。所图示的页复制操作可以用来快速且有效地将存储体的一页中存储数据转移到同一存储体的另一页中,而不需要重载数据(假设在所存储的数据中没有位错误)。页复制操作对所谓的"垃圾收集"尤其有用,其中对存储器阵列进行碎片整理,以优化存储资源的分布。在页复制操作中,下列为命令序列:1)首先发出"用于复制的页读取"(DA&1Xh)命令(由附图标记1310表示);2)经过了页读取时间(在时序图中用tR表示,并且指的是页从平面中"读取"到虚拟页缓冲区中的时间)之后,发出"突发数据读取"(DA&2Xh)命令(由附图标记1314表示),以便通过顺序读出该数据(由附图标记1316表示)来检查位错误;和3)如果没有检测到位错误,则发出"页编程"(DA&6Xh)命令(由附图标记1318表示),以便开始页复制编程。不过,如果检测到位错误,则在"突发数据读取"(DA&2Xh)命令和"页编程"(DA&6Xh)命令之间还有另一个命令,连同列地址和要更改的数据一起发出:"突发数据加载"(DA&5Xh)命令(由附图标记1322表示)。"突发数据加载"命令用于在检测到位错误的情况下更改复制的数据。而且,值得再次提及的是,图13A和13B中所示的命令类型(例如,1Xh、2Xh等)仅仅是举例,并且毫无疑问地可以预想到使用这些命令的任何其它适当类型。此外,同样的注解适用于与稍后针对随后的图14和15给出的介绍相结合。
为了进一步帮助理解页复制操作,在时序图(图13A)中嵌入了子图。参照这一子图,存储平面1350和页缓冲区1354都处于一个分立的存储装置1214中(图12)。虚拟页缓冲区1358处于相应的桥接装置1212内。虚拟页缓冲区1358是临时存储装置。虚拟页缓冲区1358的部分功能是用于提供中间存储装置,该中间存储装置用于去往组合存储装置1204-1到1204-N之一的数据或从组合存储装置1204-1到1204-N之一中得出的数据。在某些例子中,该虚拟页缓冲区1358包括静态随机存取存储器(SRAM)。而且,图13A的子图包括不需加以说明的箭头(实线和非实线的)和标注。
仍然参照图13A和13B,多个单选通脉冲1380、1382和1384各自用于提供存储装置1212(图12)之一内的某种形式的状态变化的指示。更加具体地讲,在存储装置1212接收到"用于复制的页读取"命令1310之后的一定时间段后,选通脉冲1380提供存储器平面1350中存储的页到虚拟页缓冲区1358中的转移完成的指示。在存储装置1212接收到"页编程"命令1318之后的一定时间段后,选通脉冲1382提供与该"页编程"命令有关的存储装置1212不再忙的指示(即,存储装置1212现在能够接收下一个命令)。在存储装置1212接收到"页编程"命令1318之后的一定时间段后,选通脉冲1384提供页编程操作完成的指示。
现在将参照图14。图14是显示在图12的系统1200内与块擦除操作相结合的状态指示的时序图。根据所图示的块擦除操作,首先,将"块地址输入"(DA&8Xh)命令连同用于选择要擦除的块的三字节的行地址一起加载(二者一起用附图标记1410整体表示)。当加载了要擦除的块的所有地址信息时,发出"擦除"(DA&AXh)命令(由附图标记1414表示),以开始针对选定块的内部擦除操作。可以采用内部擦除状态机来自动执行适当的算法,并且该内部擦除状态机可用于控制包括验证在内的操作的所有必要时机。
存储器控制器1202(图12)能够通过监控选通脉冲1424的接收来检测擦除操作的完成(在时序图中由tBERS表示的时间段之后)。而且,为了说明清楚,在图14示出了两个状态选通脉冲:选通脉冲1428和选通脉冲1424;不过,选通脉冲1428是在较早的时间由存储装置1212之一发出的。在存储装置1212接收到擦除命令1414之后的一定时间段后,选通脉冲1428提供与该擦除命令1414有关的存储装置1212不再忙的指示。换句话说,与选通脉冲1428相对应的状态变化是该存储装置1212现在能够接收打算用于与存储装置1212连接的四个分立的存储装置1214中的另一个的任何接下来的命令。
在接收到选通脉冲1424时,存储器控制器1202能够发出"读取状态寄存器"(DA&FOh)命令(由附图标记1432表示),以便检查在其中进行擦掉操作的分立存储装置1214的存储体或LUN的通过/失败结果。在某些例子中,在装置操作期间,可以读取至少三个字节的状态寄存器。第一个状态寄存器字节可以代表存储体的第一个LUN,第二个状态寄存器字节可以代表存储体的第二个LUN。状态寄存器的某些位可以反应各个存储体的状态(即,忙或就绪)。当存储体变为就绪时,某些额外的位可以表示各个存储体操作是通过还是失败。如果特定的状态寄存器位表示"通过"这一结果,则所指定的块被成功擦除。不过,如果该状态寄存器位表示"失败"这一结果,则所指定的块没有被成功擦除。在这种情况下,会将失败的块标注为'坏'块。
现在将参照图15A和15B。图15A和15B是表示在图12的系统1200内,与针对两个LUN进行的两个并发操作相结合的状态指示的时序图。根据这一示例实施例,可以如图15A和15B所示的那样执行对于两个LUN的两个并发的操作,此时各个存储体包括由行地址的最高有效位(MSB))(例如,RA[20]或某个其它的适当位)控制的两个分开的LUN。一旦第一个LUN接收到"擦除"(DA&AXh)命令(由附图标记1510表示,并且其跟随在前面解释的"块地址输入"命令和三字节的行地址之后,这二者用附图标记1516整体表示),第一个LUN进入忙状态并在一段时间(即,tBERS)内保持忙状态,并且第二个LUN也进入忙状态并在较短的一段时间(即,tDBERS)内保持忙状态。从实际操作的角度出发,tDBERS时段可以被看作是存储装置1212(图12)与相应的分立存储装置1214之间的总线忙的时间段。在tDBERS之后,这一总线不再忙(如由选通脉冲1550指示的)并且第二个LUN变为等待另一个操作,比如例如,页编程、块擦除或页读取。在这一示例实施例中,第二个"擦除"(DA&AXh)命令和对应的"块地址输入"命令及三字节的行地址分别由附图标记1520和1526表示。将两个平面的操作组合起来,可以实现双LUN操作和并发的多存储体操作,以便改善总体系统性能。
而且,图15B中所示的是针对第一个LUN的"读取状态寄存器"(DA&F0h)命令(由附图标记1530表示)和针对第二个LUN的"读取状态寄存器"(DA&F0h)命令(由附图标记1534表示)。"读取状态寄存器"(DA&F0h)命令之前结合图14解释过。而且如前面的更多细节中解释的那样,选通脉冲1540早于"读取状态寄存器"命令1530的发出,并且选通脉冲1544早于"读取状态寄存器"命令1534的发出。选通脉冲1550提供存储装置1212现在能够接收针对"就绪"的LUN的下一个"擦除"命令1520的指示。
本文介绍的至少某些示例实施例可以应用于任何适当的固态存储器系统,比如例如,包括(多个)NAND闪存EEPROM装置、(多个)NOR闪存EEPROM装置、(多个)AND闪存EEPROM装置、(多个)Di NOR闪存EEPROM装置、(多个)串行闪存EEPROM装置、(多个)DRAM装置、(多个)SRAM装置、(多个)铁电RAM装置、(多个)磁性RAM装置、(多个)相变RAM装置或者这些装置的任何适当组合的固态存储系统。
虽然本文给出并介绍的某些示例实施例涉及具有点到点环形拓扑结构的系统,因为在系统的控制器装置与系统的多个半导体存储装置之间存在串行互接的构造,所以应当理解,某些可供选用的示例实施例涉及其它类型的系统,比如例如,可被表征为多点系统的那些系统。
应当理解,当本文将元件称为与另一元件"连接"或"耦合"时,它可以是与另一个元件直接连接或耦合的,也可以是存在其它中间元件。与此相反,当本文将元件称为与另一个元件"直接连接"或"直接耦合"时,不存在中间元件。用于描述元件之间关系的其它词语应当以类似的方式来加以理解(即,"介于之间"与"直接介于之间","相邻"与"直接相邻"等等)。
可以对所介绍的实施例进行某些修改和改变。因此,前面讨论的实施例被认为是说明性的,并且是没有限定性的。
Claims (26)
1.一种系统,包括:
多个装置,所述多个装置中的每一个都包括状态输入引脚、状态输出引脚和单独的数据输入和输出引脚,并且所述多个装置包括:
a)多个半导体存储装置,包括至少第一个和最后一个存储装置;和
b)控制器装置,用于与半导体存储装置进行通信,和
第一个存储装置具有与控制器装置的状态输出引脚连接的状态输入引脚,第一个存储装置的状态输出引脚与处于中间的存储装置或最后一个存储装置的状态输入引脚连接,最后一个存储装置的状态输入引脚与另一个处于中间的存储装置、所述处于中间的存储装置或第一个存储装置的状态输出引脚连接,以及最后一个存储装置的状态输出引脚与控制器装置的状态输入引脚连接,从而形成状态环,并且所述多个装置中的每一个都处于状态环上,且所述状态环提供独立于任何一个半导体存储装置与所述控制器装置之间的数据通信路径之外的状态通信路径。
2.根据权利要求1所述的系统,其中至少一个半导体存储装置被配置为将状态包输出到状态环上,以提供对在所述至少一个半导体存储装置内的状态变化的指示。
3.根据权利要求2所述的系统,其中状态包包括用于识别该状态包来源于所述至少一个半导体存储装置的识别位。
4.根据权利要求1所述的系统,其中半导体存储装置中的至少一个被配置为将单选通脉冲输出到状态环上,以提供对半导体存储装置中的所述至少一个内的状态变化的指示。
5.根据权利要求1所述的系统,其中半导体存储装置中的至少一个包括至少一个用于与时钟信号的边沿同步地输出数据的数据输出引脚。
6.根据权利要求5所述的系统,还包括至少两个异步闪存存储装置,这些异步闪存存储装置与半导体存储装置中的所述至少一个连接,并且其中,半导体存储装置中的所述至少一个是桥接装置,该桥接装置被配置为与所述至少两个异步闪存存储装置中的任何一个进行异步通信。
7.根据权利要求6所述的系统,其中半导体存储装置中的至少一个被配置为将状态包输出到状态环上,以提供对半导体存储装置中的所述至少一个内的状态变化的指示。
8.根据权利要求7所述的系统,其中状态包包括用于识别该状态包来源于半导体存储装置中的所述至少一个的识别位。
9.根据权利要求6所述的系统,其中半导体存储装置中的所述至少一个被配置为将单选通脉冲输出到状态环上,以提供对存储装置中的所述至少一个内的状态变化的指示。
10.根据权利要求1到9中任何一个所述的系统,其中所述多个半导体存储装置是闪存存储装置。
11.根据权利要求1到9中任何一个所述的系统,其中所述闪存存储装置是NAND闪存存储装置。
12.一种存储装置,包括:
多个数据引脚,用于与数据总线连接;
状态引脚,用于与独立于数据总线的状态线连接;
第一电路,用于在具有第一持续时间的存储器操作完成时,生成具有比第一持续时间短得多的第二持续时间的选通脉冲,并且该选通脉冲提供该存储器操作完成的指示;和
第二电路,用于将所述选通脉冲经由状态引脚输出到状态线上。
13.根据权利要求12所述的存储装置,其中所述存储装置是桥接装置,该桥接装置被配置为与多个分立的存储装置连接。
14.根据权利要求13所述的存储装置,其中所述存储器操作是分立的存储装置之一中的存储器操作。
15.根据权利要求14所述的存储装置,其中多个分立的存储装置是闪存存储装置,并且所述存储器操作由编程、读取和擦除之一组成。
16.根据权利要求15所述的存储装置,其中所述闪存存储装置是NAND闪存存储装置。
17.根据权利要求13到16中任何一项所述的存储装置,其中所述桥接装置被配置为与以下二者进行通信:i)环形拓扑结构的系统中的控制器装置;和ii)多点子系统中的多个分立的存储装置。
18.一种方法,包括:
提供闪存存储装置,该闪存存储装置包括多个数据引脚和一个状态引脚,所述多个数据引脚与数据总线连接,并且所述状态引脚与独立于数据总线之外的状态线连接;
在闪存存储装置内执行具有第一持续时间的存储器操作;
在该存储器操作完成时,生成具有比第一持续时间短得多的第二持续时间的选通脉冲,并且该选通脉冲提供该存储器操作完成的指示;和
将所述选通脉冲经由状态引脚输出到状态线上。
19.根据权利要求18所述的方法,其中存储器操作包括编程、读取和擦除的其中一个。
20.根据权利要求18或19所述的方法,其中闪存存储装置是NAND闪存存储装置。
21.一种存储装置,包括:
至少一个数据输入引脚;
至少一个数据输出引脚;
状态输入引脚,被配置为与另一个存储装置或者控制器装置的状态输出引脚连接;和
状态输出引脚,被配置为与再另一个存储装置或所述控制器装置的状态输入引脚连接,和
其中存储装置的状态输入引脚、存储装置的状态输出引脚、至少一个数据输入引脚和至少一个数据输出引脚是各自物理上相互明确分开的引脚。
22.根据权利要求21所述的存储装置,其中所述存储装置是闪存存储装置,其被配置为在该闪存存储装置内执行具有第一持续时间的存储器操作。
23.根据权利要求22所述的存储装置,其中所述闪存存储装置被进一步配置为在所述存储器操作完成时,生成具有比第一持续时间短得多的第二持续时间的选通脉冲,并且该选通脉冲提供该存储器操作完成的指示。
24.根据权利要求23所述的存储装置,其中所述闪存存储装置被进一步配置为经由状态输出引脚输出选通脉冲。
25.根据权利要求22到24中任何一项所述的存储装置,其中所述存储器操作包括编程、读取和擦除的其中一个。
26.根据权利要求21所述的存储装置,其中所述存储装置是桥接装置,该桥接装置被配置为与多个分立的存储装置连接,并且该桥接装置被配置为与下列二者进行通信:i)环形拓扑结构的系统中的控制器装置;和ii)多点子系统中的多个分立的存储装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US61/325451 | 2010-04-19 | ||
| US13/023838 | 2011-02-09 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1180450A true HK1180450A (zh) | 2013-10-18 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5753989B2 (ja) | 複数のメモリデバイスを有するシステムの状態表示 | |
| KR101507192B1 (ko) | 데이지-체인 메모리 구성 및 용법 | |
| JP5927263B2 (ja) | ホストコンピュータシステムとメモリとの間の通信方法およびメモリ | |
| JP5960322B2 (ja) | メモリシステムのクロックモード決定 | |
| JP5753988B2 (ja) | エラー検出方法および1つまたは複数のメモリデバイスを含むシステム | |
| US8582382B2 (en) | Memory system having a plurality of serially connected devices | |
| WO2019160586A1 (en) | Gap detection for consecutive write operations of a memory device | |
| KR20090077015A (ko) | 듀얼-모드 메모리 상호접속을 포함하는 메모리 제어기 | |
| CN101568904A (zh) | 非易失性存储器的成扇形展开的高速系统体系结构和输入/输出电路 | |
| US9852811B2 (en) | Device and method for detecting controller signal errors in flash memory | |
| TWI506646B (zh) | 半導體記憶體互連的方法及半導體記憶體系統 | |
| CN105159853A (zh) | 基于fpga的dfi标准ddr3控制器 | |
| CN111630597B (zh) | 半宽度双泵数据路径 | |
| US20090043946A1 (en) | Architecture for very large capacity solid state memory systems | |
| CN110574110A (zh) | 动态终止边缘控制 | |
| HK1180450A (zh) | 具有多个存储装置的系统中的状态指示 |