非易失存储器的高速接口的制作方法

文档序号:6456788阅读:146来源:国知局
专利名称:非易失存储器的高速接口的制作方法
技术领域
背景技术
NAND闪速存储装置通常用于存储将要大块读出的数 据(例如数字化图像或音乐)。由于NAND闪存的緩慢访问时间,若干 装置可并行放置于公共总线,并且在大致相同的时间被访问。当来自 各装置的数据可用时,可每次一个装置地对它进行读取。但是,并行 放置所有那些输入/输出(I/O)引脚可引起使总线上的信号质量降级的 电容性负载,由此降低总线上的最大有效吞吐量。备选地, 一次仅访 问 一个装置可使访问时间累积,从而也降低总线的总吞吐量
发明内容



通过参照以下用于说明本发明的实施例的描述和附图, 可了解本发明的一些实施例。附图包括
图1示出根据本发明的一个实施例的非易失性存储器系统的框图。
图2示出根据本发明的一个实施例的存储装置的框图。
图3A、图3B和图3C示出根据本发明的一个实施例、由存储装
置所执行的方法的流程图。
图4示出根据本发明的一个实施例、由主控制器所执行的方法的
流程图。
具体实施例方式
在以下描述中提出许多具体细节。但是要理解,即使没 有这些具体细节也可实施本发明的实施例。在其它情况下,没有详细 示出众所周知的电路、结构和技术,以免影响对本描述的理解。对"一个实施例"、"实施例"、"示例实施例"、"各种实施
例"等的提法指明这样描述的本发明的实施例可包括具体特征、结构 或特性,但不是每一实施例都一定包括所述具体特征、结构或特性。 此外,一些实施例可具有部分、全部或者没有对于其它实施例所述的特征。 在以下描述和权利要求书中,可使用术语"耦合"和"连 接"及其派生词。应该理解,这些术语不是要作为彼此的同义词。在 具体实施例中,"连接"而是用于指明两个或更多元件相互直接物理或 电接触。"耦合"用于指明两个或更多元件相互配合或交互,但它们可 以有或者可以没有直接物理或电接触。 除非另加说明,否则,权利要求书用于描述共同元件的 序数词"第一"、"第二"、"第三"等只是指明涉及到相似元件的不同实 例,而不是要表示这样描述的元件必须在时间上、空间上、排列或者 以其它任何方式处于给定序列中。 本发明的各种实施例可通过硬件、固件和软件中之一或 者它们的任何组合来实现。本发明还可实现为包含在机器可读介质之 中或之上的指令,所述指令可由一个或多个处理器读取和运行以便实 现本文所述操作的执行。机器可读介质可包括用于存储、传送和/或 接收具有机器(如计算机)可读形式的信息的任何机构。例如,机器可 读介质可包括存储介质,例如但不限于只读存储器(ROM)、随机存取 存储器(RAM)、磁盘存储介质、光存储介质、闪速存储装置等。机器 可读介质还可包括已经调制成对指令进行编码的传播信号,例如但不 限于电》兹、光或声载波信号。本发明的各种实施例可通过菊花链(daisy chain)方式对多个闪速存储控制器进行连接,使得多个存储装置可连接在一起,而 没有将装置引脚并联连接所引起的总线负载和固有的信号降级。如果
装置只是用作另一个装置的传递(pass-through)站,则信号还可快速通 过各控制器,或者可被緩沖以便对关联存储器阵列进行读写。在一些 实施例中,各存储装置包括包含存储器阵列和关联存储控制器的单集 成电路,所述关联存储控制器控制所述存储器阵列的搡作以及对传递 操作进行控制,在传递操作中被寻址到其它存储装置的命令或数据通 过该控制器供那些其它装置使用。 一些实施例包括与存储装置分离的 主控制器,所述主控制器发起命令并将数据写入存储装置,并且还可 接收来自存储装置的读数据。注意虽然描述和附图经常提到闪速存 储器,具体来说提到NAND闪速存储器,但是所述原理还可与其它 类型的非易失性存储器配合使用;在这些非易失性存储器中,访问时 间长到足以保证依次访问多个存储装置的每个存储装置以便获得原 本毗邻的数据块,且将这些装置并行放置于公共总线可引起不可接受 的总线负载。 图1示出根据本发明的一个实施例的非易失性存储器 系统。在所示系统100中,主控制器110可提供对编号为120至12n 的、标记为#0、 #1、 ...#n的、数量为n+l的闪速存储装置的总体控 制。时钟信号CLK可由主控制器始发,并且传递给第一存储装置120, 第一存储装置120将CLK传递给下一存储装置121,依此类推,直 至CLK到达该链中的最后一个存储装置、即存储装置12n。数据可 通过图中集中标记为DATA的多个并行数据线双向传递。并行数据 线的数量可以是任何可行的量,例如但不限于4、 8、 16、 32等。写 数据可在主控制器中始发,并且从一个存储装置传递到另 一存储装 置,直至它到达指定存储装置为止,在指定存储装置将写数据写入该 装置的内部存储器阵列。读数据可在所选存储装置中始发,并且通过 多个存储器置直至到达主控制器为止,主控制器然后可处理该数据。 到各种装置的电源连接未示出,以免使附图杂乱。
图2示出根据本发明的一个实施例的存储装置的框图。 在所示实施例中,时钟、数据和数据有效(DV)线与图1中的时钟、数 据和数据有效线对应。闪速存储装置编号为120,但是可对应于图1 所示的任一闪速存储装置。闪存阵列230包括闪速存储装置的实际存 储器部分,数据可存储在该部分中供其它装置使用。如图所示,在主 控制器始发的时钟信号CLK可通过clkin输入来引入,并且用于给命 令状态机240提供时钟,通过使用緩冲器210以便减小要是把所有存 储装置直接连接到同一时钟线会引起的负载,还可将时钟信号从clkin 传递到clkout。命令状态才几240可用于根据通过datal线所引入的命 令来控制闪速存储装置中的总体操作。为了便于描述,在本文档的上下文中,'上游,表示朝主 控制器移动的数据,而'下游,表示远离主控制器移动的数据。例如, 图1中,装置121将在装置120的下游,而装置120将在装置121的 上游。主控制器110在所有存储装置12x的上游。 参照图2,数据信号可去往上游或下游,并且可通过存 储装置传递、或者始发于该存储装置始发或者指定给该存储装置。复 用器/解复用器(mux/demux) 271可用于在命令状态机240的控制下为 这个装置与下一上游装置之间沿任一方向传播的数据提供适当的数 据通路。mux/demux271可将下游数据从datal路由到寄存器262,数 据可锁存在寄存器262中并且在data2对下一下游装置可用。类似地, 来自data2的、已锁存在寄存器261中的上游数据可通过mux/demux 271而在datal可用于传递给下一上游装置。虽然mux/demux 271示 为单个功能电路,但是在一些实施例中,它可实现为复用器和独立的 解复用器。 为了给传递数据提供适当时序,数据有效(DV)信号也可 以任一方向传递,其中下游信号锁存在寄存器263中而上游信号锁存 在寄存器264中。在某些情况下,例如当存储装置正从它自己的存储 器阵列提供数据而不是传递来自另 一存储装置的数据时,mux/demux272可设置成在DV1提供时序信号fclk,而不是传递来自下游装置的 DV信号。在一些实施例中,信号fclk可以是在命令状态机240的控 制下从clkin得出的、但仅在某些时间才是活动的时钟信号。 当主控制器正尝试从这个特定闪速存储装置读取数据 时,从闪存阵列230所读取的数据可放入先进先出緩冲器(FIFO)251, mux/demux 271可从所述先进先出緩冲器中选取数据以提供在datal 供下一上游装置读取。当主控制器正尝试将数据写入这个特定存储装 置时,在datal的数据可由mux/demux271路由到FIFO 252,可将数 据/人FIFO 252写入闪存阵列。 FIFO可用于允许可具有较慢的数据传输率的阵列与可 具有较高的数据传输率的菊花链总线之间的数据传输率的差异。在一 些实施例中, 一页(或其它块大小)数据在通过datal向上游传递之前 可由阵列230完全写入FIFO 251。类似地,完整数据块可在从FIFO 252写入阵列230之前通过datal写入FIFO 252。这种在FIFO中进行緩沖的技术可有利地用来通过对一 个存储装置执行操作的同时另 一存储装置正用其FIFO进行内部传输 而提高存储器系统的总吞吐量。例如,可指示存储装置弁0从其阵列 读取数据。当它正将那个数据从其阵列移到其FIFO时,存储装置#1 可被指示从它自己的阵列读取数据。然后可对其它存储装置开始类似 的读操作。到已经开始所有读操作时,存储装置#0可能已经填充其 FIFO,并且可将那个数据传送给主控制器。当那个传输完成时,可 指示存储装置#0从其阵列读取它将要开始放入其FIFO的另一数据 块。这时,存储装置弁l可能已经填充其FIFO,且可将那个数据传送 给主控制器并被指示将另一数据块读入其FIFO。这个过程可对其余 存储装置继续进行,直到它们均已将其数据传送给主控制器。那时, 可指示存储装置#0将其第二数据块从其FIFO传送给主控制器,并且 该过程可重复进行。在不同存储装置之间进行交替的这个过程可继续 直到已经传送所有必要的数据。可通过将数据依次写入各存储装置的FIFO,并且在其它装置正从主控制器接收其数据的同时令一个装置
将数据从其FIFO写入其阵列,接着对写操作进行类似的过程。虽然
这个过程描述为按照采用菊花链方式连接在一起的顺序来选择存储 装置,但是一些操作可按照不同顺序来选择装置。应当注意,所有内部数据通路虽然在图中以单线表示, 但是实际上可包含多个并行线,在一些实施例中,所述并行线可在数 量上等于存储装置之间的并行数据线的数量。类似地,FIFO 251和 252、寄存器261和262以及mux/demux 271可配置成处理所需数量 的并行信号。 图3A、图3B和图3C示出根据本发明的一个实施例、 由存储装置所执行的方法的流程图。在流程图300的所示实施例中, 在310,存储装置接收命令。命令可以是若干不同类型的命令中之一。 如在315所确定的,如果命令是寻址到另一存储装置的读命令,则在 316,当前存储装置可将其内部复用器/解复用器(例如图2的 mux/demux 271)配置用于读传递操作。当直接或者通过另 一下游装置 间接接收到来自所选下游存储装置的读数据时,在317,这个读数据 可通过当前存储装置的控制电路向上游传递。如在320所确定的,如果命令是对于另一装置的写命 令,则在321 ,当前存储装置可将其mux/demux配置用于传递写操作。 当直接或者通过另 一上游装置间接接收到来自主控制器的写数据时, 在322,这个写数据可通过当前存储装置的控制电路向下游传递。 如在325所确定的,如果命令是寻址到这个存储装置的 读命令,则该过程可在图3B继续进行。在340,存储装置可将其 mux/demux配置用于内部读取。如在345所确定的,如果先前所请求 数据在FIFO中可用,则在350,那个数据可乂人那个FIFO发送给下一 上游装置,可从所述下一上游装置将它传递给主控制器。如果FIFO 为空,则在355,存储装置可使用读命令来触发数据从其自己的阵列 到其FIFO的传送。 一旦该存储装置在350已经完成向上游传送其FIFO数据,或者在355已经开始将数据从其阵列传送到其FIFO,则 可返回到图3A中的'A,以便等待下一命令。甚至在存储装置返回到A 之后,在355的操作也可继续完成。 回到图3A,如在330所确定的,如果在310所示的命 令是寻址到这个存储装置的写命令,则该过程可在图3C继续进行。 在360,存储装置可将其mux/demux配置用于内部写入。如在365所 确定的,如果FIFO因为仍然包含来自前一写操作的数据而没有预备 接收更多数据,则该存储装置可不进行操作(除了继续将剩余数据从 FIFO写入阵列之外),并且返回到A以便等待另一命令。如在365所 确定的,如果FIFO预备4妻收数据,则在375,可从上游接收到那个 数据并将其写入FIFO- ——旦该数据处于FIFO中;则在380,可开始 将那个数据写入阵列。 一旦已经完成在375新数据到FIFO的传送, 并且在380开始了数据到阵列的传送,则甚至在存储装置已经返回到 A以便等待另 一命令之后,也可继续完成数据到阵列的传送。如果在310接收到与刚才所述的四个命令不同的命令, 则在335,存储装置可移动到需要的任何其它处理(未描述)。在一些 实施例中,如果存储装置在接收到来自主控制器的命令时没有预备执 行所述选项的任一个,则可返回'忙,或'错误,状态。 图4示出根据本发明的一个实施例、由主控制器所执行 的方法的流程图。在一些实施例中,这可以是图1的主控制器110。 在所示流程图400中,在410,主控制器选择多个存储装置的第一存 储装置,并且在420,在菊花链总线上发送寻址到那个存储装置的命 令。为了描述的筒洁起见,在这里用X=0至X=n的递增值表示对0 至n的各存储装置依次寻址,但是其它实施例可使用其它过程来识别 和选择各个存储装置。如在430所确定的,如果所选存储装置预备传 送数据,则在440,主控制器可执行数据传输。'预备传送数据,表示 所选存储装置在其FIFO中具有预备传送给主控制器的数据(在读命 令的情况下),或者所选存储装置具有预备接收来自主控制器的数据的可用FIFO(在写命令的情况下)。在450,主控制器可在数据传输之 后(或者如果没有传送数据就立即)选择下一存储装置(X-X+1),并且 对那个新选择的存储装置重复该过程。如在460所确定的,当已经通 过这种方式与所有预期存储装置进行了通信时,主控制器可对第一存 储装置继续进行操作,并且重复具有更多读或写数据的序列。如在 470所确定的,当已经完成所有传输时,主控制器可继续进行其它处 理。在一些实施例中,在读操作的情况下,在480,从数据传输到主 控制器的所有数据可正确装配成单个数据块。将来的数据传输稍后可 在410再次开始。类似地,在写操作的情况下,数据块最初可分成各 个部分,其中的每个部分单独发送给各个存储装置中的各个FIFO。 以上描述意在是说明性而不是限制性的。本领域的技术 人员会想到一些变更。那些变更意在包含于发明的各种实施例中,本 发明的各种实施例仅受到随附权利要求书的精神和范围限制。
权利要求
1.一种设备,包括用于非易失存储装置的控制电路,所述控制电路包括第一组连接,连接到以菊花链连接配置的上游装置;第二组连接,连接到以所述菊花链连接配置的下游装置;以及解码器电路,对通过所述第一组连接所接收的命令进行解码,其中,所述解码器电路执行以下操作1)如果所述命令被寻址到另一装置,则在所述第一与第二组连接之间传递随后的数据;2)如果所述命令是被寻址到所述控制器的写命令,则把来自所述第一组连接的所述随后的数据存储在存储器阵列中;以及3)如果所述命令是被寻址到所述控制器的读命令,则从所述存储器阵列读取所述随后的数据,并且将所述随后的数据提供给所述第一组连接。
2. 如权利要求1所述的设备,还包括第一先进先出緩冲器 (FIFO),在所述存储器阵列与所述第一组连接之间緩冲数据。
3. 如权利要求2所述的设备,其中,所述控制电路包括状态机。
4. 如权利要求1所述的设备,其中,所述非易失存储装置包括 闪速存储装置。
5. 如权利要求4所述的设备,其中,所述闪速存储装置包括 NAND闪速存储装置。
6. 如权利要求1所述的设备,还包括与所述第一组连接耦合 的主控制器。
7. —种方法,包括由特定存储装置接收在主控制器与所选存储装置之间传送数据 的命令;如果所述命令是读命令且所述所选存储装置是所述特定存储装置,则将所述特定存储装置中的电路配置成为所述主控制器提供来自 所述特定存储装置的存储器阵列的数据;如果所述命令是写命令且所述所选存储装置是所述特定存储装 置,则将所述特定存储装置中的电路配置成把来自所述主控制器的数据存储在所述特定存储装置的所述存储器阵列中;以及如果所述所选存储装置不是所述特定存储装置,则将所述特定存 储装置中的电路配置成传递所述数据。
8. 如权利要求7所述的方法,其中,所述传递包括接收来自一 个装置的数据并且将所述同一数据提供给以菊花链连接布置的另一 装置。
9. 如权利要求7所述的方法,其中,所述为所述主控制器提供 数据包括从所述特定存储装置的所述存储器阵列读取数据; 将所述数据放入先进先出緩冲器;以及 将所述数据从先进先出緩冲器传送到接口 。
10. 如权利要求7所述的方法,其中,所述存储数据包括 在接口接收所述数据; 将所述数据放入先进先出援沖器;以及将所述数据从所述先进先出緩冲器传送给所述特定存储装置中 的存储器阵列。
11. 一种包括控制器的设备,所述控制器对以菊花链方式连接的 第一和第二非易失存储装置的操作进行控制,所述控制器将向所述第 一装置发出将第 一数据传送给所述控制器的第 一命令;在所述发出所述第 一命令之后向所述第二装置发出将第二数据 传送给所述控制器的第二命令;在所述发出所述第二命令之后接收来自所述第 一装置的所述第 一数据的第一部分;在所述接收所述第一数据的所述第一部分之后接收来自所述第二装置的所述第二数据的第 一部分;在所述接收所述第二数据的所述第一部分之后接收来自所述第一装置的所述第一数据的第二部分;以及在所述接收所述第一数据的所述第二部分之后接收来自所述第二装置的所述第二凝:据的第二部分。
12. 如权利要求11所述的设备,还包括在发出作为所述第一 和第二命令的读命令之后,将所述第一数据的所述第一和第二部分以及所述第二数据的所述第一和第二部分装配成单个数据块。
13. 如权利要求11所述的设备,还包括在发出作为所述第一 和第二命令的写命令之前,将单个数据块分成所述第一和第二数据的所述第一和第二部分。 (主控制器操作)
14. 一种方法,包括从控制器向第 一存储装置发出将第 一数据传送给所述控制器的 第一命令;在所述发出所述第一命令之后,从所述控制器向第二装置发出将第二数据传送给所述控制器的第二命令;在所述发出所述第二命令之后,由所述控制器接收来自所述第一装置的所述第一数据的第一部分;在所述接收所述第一数据的所述第一部分之后,由所述控制器接 收来自所述第二装置的所述第二数据的第 一部分;在所述接收所述第二数据的所述第一部分之后,由所述控制器4妄 收来自所述第一装置的所述第一数据的第二部分;以及在所述接收所述第一数据的所述第二部分之后,由所述控制器接 收来自所述第二装置的所述第二数据的第二部分。
15. 如权利要求14所述的方法,还包括在所述控制器中,在 发出作为所述第一和第二命令的读命令之后,将所述第一数据的所述 第一和第二部分以及所述第二数据的所述第一和第二部分装配成单个数据块。
16. 如权利要求14所述的方法,还包括在所述控制器中,在发出作为所述第 一和第二命令的写命令之前,将单个数据块分成所述 第一和第二数据的所述第一和第二部分。
17. —种包括含有指令的有形机器可读介质的物品,所述指令在 由一个或多个处理器运行时引起执行包括如下操作的操作从控制器向第 一存储装置发出将第 一数据传送给所述控制器的笫一命令;在所述发出所述第 一命令之后,从所述控制器向第二装置发出将第二数据传送给所述控制器的第二命令;在所述发出所述第二命令之后,由所述控制器接收来自所述第一 装置的所述第 一数据的第 一部分;在所述接收所述笫 一数据的所述第 一部分之后,由所述控制器接 收来自所述第二装置的所述第二数据的第一部分;在所述接收所述第二数据的所述第一部分之后,由所述控制器接 收来自所述第一装置的所述第一数据的第二部分;以及在所述接收所述第一数l居的所述第二部分之后,由所述控制器接 收来自所述第二装置的所述第二数据的第二部分。
18. 如权利要求17所述的物品,其中,所述操作还包括在所 述控制器中,在发出作为所述第一和第二命令的读命令之后,将所述 第一数据的所述第一和第二部分以及所述第二数据的所述第一和第 二部分装配成单个数据块。
19. 如权利要求17所述的物品,其中,所述操作还包括在所 述控制器中,在发出作为所述第一和第二命令的写命令之前,将单个 数据块分成所述第一和第二数据的所述第一和第二部分。
全文摘要
NAND闪速存储装置通常用于存储将要大块读出的数据(例如数字化图像或音乐)。由于NAND闪存的缓慢访问时间,若干装置可并行放置于公共总线,并且在大致相同的时间被访问。当来自各装置的数据可用时,可每次一个装置地对它进行读取。但是,并行放置所有那些输入/输出(170)引脚可引起使总线上的信号质量降级的电容性负载,由此降低总线上的最大有效吞吐量。备选地,一次仅存储一个装置可使访问时间累积,从而也降低总线的总吞吐量。
文档编号G06F13/14GK101606137SQ200780046893
公开日2009年12月16日 申请日期2007年11月21日 优先权日2006年12月21日
发明者R·R·罗茨曼, S·S·埃勒特 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1