CN102971795A - 使用单个缓冲区同时读取多个存储器装置的方法和设备 - Google Patents

使用单个缓冲区同时读取多个存储器装置的方法和设备 Download PDF

Info

Publication number
CN102971795A
CN102971795A CN2011800335300A CN201180033530A CN102971795A CN 102971795 A CN102971795 A CN 102971795A CN 2011800335300 A CN2011800335300 A CN 2011800335300A CN 201180033530 A CN201180033530 A CN 201180033530A CN 102971795 A CN102971795 A CN 102971795A
Authority
CN
China
Prior art keywords
data
page
buffer zone
page buffer
bridge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011800335300A
Other languages
English (en)
Inventor
R·舒茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nova chip Canada Company
Original Assignee
Mosaid Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Publication of CN102971795A publication Critical patent/CN102971795A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Information Transfer Systems (AREA)

Abstract

桥接装置,用于从第一页缓冲区源和第二缓冲区源接收读出数据,该桥接装置包括数据缓冲区、仲裁器电路和控制器。数据缓冲区具有预定的大小,用于从第一页缓冲区源接收第一读出数据和从第二页缓冲区源接收第二读出数据。仲裁器电路在第一页缓冲区源准备好提供第一读出数据时生成第一读取传递信号,并且当第一页缓冲区准备好提供第一读出数据时禁止生成第二读取传递信号。控制器响应于第一读取传递信号向第一页缓冲区源发出数据传递命令,用于从第一页缓冲区源中将第一读出数据传递到数据缓冲区。

Description

使用单个缓冲区同时读取多个存储器装置的方法和设备
相关申请的交叉引用
本申请要求2010年5月7日提交的美国临时专利申请第61/332232号的权益,其公开内容明确地整体合并到本文中。
技术领域
本发明总体上涉及半导体器件,并且具体涉及使用该半导体器件的单个缓冲区从多个源中读取数据。
背景技术
在目前可获得的工业和消费电子产品中,半导体存储器装置是重要的部件。例如,计算机、移动电话和其它便携式电子设备全都依赖于某种形式的存储器来存储数据。虽然很多存储器装置一般情况下可以以商品或者分立存储器装置的形式得到,但是对更高的集成度和更高的输入/输出(I/O)带宽的需求带来了可以与诸如微控制器和其它处理电路之类的系统集成在一起的内置存储器的发展。
大多数消费电子产品采用诸如闪存存储器装置之类的非易失性装置来存储数据。对闪存存储器装置的需求持续显著增长,其原因在于这些装置很适合于多种多样的需要大容量非易失性存储,同时又占据很小物理面积的应用。例如,在各种各样的消费者装置中,比如在数码相机、蜂窝电话、通用串行总线(USB)闪存驱动器和便携式音乐播放器中,普遍都会用到闪存,以存储这些装置使用的数据。而且,闪存装置还被用作替代硬盘驱动器(HDD)的固态驱动器(SSD)。这些便携式装置最好在规格尺寸和重量方面都实现最小化。然而,多媒体和SSD应用需要大容量的存储器,这会增大它们的产品的规格尺寸和重量。因此,消费产品制造商通过限制产品中包含的物理存储器的容量来做出妥协,以使其尺寸和重量能够被消费者接受。此外,虽然闪存存储器每单位面积的密度要高于DRAM或SRAM,但是由于它的I/O带宽相对较低,这对它的读和写吞吐量都造成不利影响,因此其性能受到限制。
图1A图解说明本领域公知的闪存存储器系统,该系统具有并联连接于通道的多个分立的闪存存储器装置和一个存储器控制器。这称为多分支存储器构造。图1B是可以用在图1A的存储器系统中的分立闪存存储器装置之一的示意图,其特别示出了存储器装置接口。稍后将对图1A和1B详加介绍。这个分立的闪存存储器装置可以是公知的NAND闪存存储器装置,这种存储器装置很容易获得,因此价格不昂贵。本领域的技术人员应当理解,NAND闪存存储器装置一般情况下输出在读取操作中从存储阵列中读取的至少一个单位的数据,称为一页数据。使用图1B的分立存储器装置的图1A的存储器系统受到速度和容量的限制。
图2A是图解说明串行存储器系统的概念本质的框图,其中分立的串行接口存储器装置彼此之间以及与存储器控制器之间串联连接。图2B是可以用在图2A的存储器系统中的串行接口闪存存储器装置的示意图,其特别示出了它的存储器装置接口。稍后将对图2A和2B详加介绍。使用图2B的分立串行接口存储器装置的图2A的串行存储器系统能够实现比图1A的多分支存储器系统更高的存储容量和速度。图2A的存储器装置能够输出在读取操作中从存储阵列中读取的至少一页数据。然而,图2B的分立串行接口存储器装置具有与图1B的NAND闪存存储器装置不同的存储器接口,因此不能彼此交换使用。
为了利用图2B的存储器装置接口的较高速度并且利用很容易获得而且便宜的NAND闪存存储器装置,已经开发出了一种桥接装置,该桥接装置起到在与其连接的多个NAND闪存存储器装置与图2B中所示的利用分立串行接口操作的存储器控制器之间的接口适配器的作用。举例来说,如图3B中所示,可以将桥接装置和多个分立的NAND闪存存储器装置封装在一起,形成封装存储器装置。
桥接装置包括缓冲区,例如SRAM存储器,用于接收和缓存从存储器装置中读出的数据页并且将读出数据输出到存储器控制器。桥接装置的成本主要由其面积决定,并且桥接装置的面积由SRAM存储器的尺寸支配。因此,要使桥接装置的成本最小化,就应当使SRAM存储器最小化。这可能意味着,多个分立的NAND闪存存储器装置共享桥接装置的一个数据缓冲区,其尺寸适合于仅仅存储一页数据。因此,分立的存储器装置之间将会发生针对有限的数据缓冲空间的竞争,并且如果在第一个存储器装置访问桥接装置的数据缓冲区的时候,第二个存储器装置将数据输出到桥接装置,则数据可能会丢失。另一方面,分立存储器装置能够具有输出多页数据的能力,这进一步加剧了访问数据缓冲区的问题。
因此,需要能够控制由分立的存储器装置进行的访问的、具有最小尺寸化的数据缓冲区的改进的桥接装置。
发明内容
在第一个方面,给出了一种用于控制从两个页缓冲区源向数据缓冲区传递数据的方法。该方法包括发起在两个页缓冲区源中的读取操作;自动将来自于两个页缓冲区源中完成读取操作的第一页缓冲区源的数据传递到数据缓冲区;当两个页缓冲区源中的第二页缓冲区源完成读取操作并且数据缓冲区繁忙时,禁止从第二页缓冲区中传递数据;等待数据缓冲区变为可用;以及当数据缓冲区可用时,从第二页缓冲区源中传递数据。按照第一个方面的实施方式,两个页缓冲区源中的每一个和数据缓冲区的大小都被设计为存储一页数据,第一页缓冲区源是第一存储装置并且第二页缓冲区源是第二存储装置,或者,第一页缓冲区源是存储器装置的第一页缓冲区并且第二页缓冲区源是存储器装置的第二页缓冲区。
在本方面的另一种实施方式中,自动传递数据包括从第一页缓冲区源接收就绪信号,并且还包括在从第一页缓冲区源接收到读出信号之后,向第一页缓冲区源发送数据传递命令。在另一种实施方式中,禁止数据传递包括:如果针对第二页缓冲区源的读取操作正在进行中,则将第二页缓冲区源设置为延后状态,并且设置延后状态包括将与第二页缓冲区源相对应的延后状态寄存器设置为延后状态。在这一实施方式中,传递数据包括将延后状态寄存器设置为非延后状态。在本实施方式中,禁止数据传递包括从第二页缓冲区源接收就绪信号并且在接收到来自于第二页缓冲区源的读出信号并且第二页缓冲区源被设置为延后状态之后,禁止向第二页缓冲区源发出数据传递命令。
在第一个方面的实施方式中,等待包括输出在数据缓冲区中存储的第一页缓冲区源的数据,并且传递数据包括在数据缓冲区已经完成输出第一页缓冲区源的数据之后,向第二页缓冲区源发送数据传递命令。在第一个方面的另一种可选实施方式中,禁止数据传递包括在接收到就绪信号时,为第二页缓冲区源设置延后状态,其中设置延后状态包括将与第二页缓冲区源相对应的延后状态寄存器设置为延后状态。
在第二个方面中,提供了一种用于从桥接装置中读取数据的方法,该桥接装置具有与该桥接装置的通道连接的两个页缓冲区源。该方法包括向桥接装置发出从两个页缓冲区源中读取数据的页读取命令;确定两个页缓冲区源中的第一页缓冲区源处于就绪状态并且处于非延后状态,其表明第一页缓冲区源的数据被存储在桥接装置的数据缓冲区中;从桥接装置的数据缓冲区中突发读取数据;如果第二页缓冲区源处于就绪状态并且处于延后状态,则向两个页缓冲区源中的第二页缓冲区源重新发送页读取命令,用于将第二页缓冲区源的数据传递到桥接装置的数据缓冲区;以及从桥接装置的数据缓冲区中突发读取数据。
在第二个方面的实施方式中,发出页读取命令包括向第一页缓冲区源发出第一页读取命令,随后在预定的延迟时段之后,向第二页缓冲区源发出第二页读取命令,从而使得第一页缓冲区源响应于第一页读取命令,从存储阵列中读取数据页并且将该数据页传递到桥接装置的数据缓冲区。当数据页向数据缓冲区的传递被发起时,桥接装置为第二页缓冲区源设置延后状态。在第二个方面的另一种实施方式中,所述确定包括读取桥接装置的状态寄存器,该状态寄存器表明与第一页缓冲区源和第二页缓冲区源中的每一个对应的就绪状态和非延后状态。在另一种实施方式中,重新发出包括读取桥接装置的状态寄存器,以确定第二页缓冲区源是否处于就绪状态和延后状态,其中第二页缓冲区源响应于页读取命令,从存储阵列中读取数据页并且将该数据页传递到桥接装置的数据缓冲区。在这一实施方式中,读取桥接装置的状态寄存器,以确定第二页缓冲区源是否处于就绪状态,该就绪状态表明第二页缓冲区源的数据被保存在桥接装置的数据缓冲区。
在第三个方面,给出了一种桥接装置,用于从第一页缓冲区源和第二页缓冲区源接收读出数据。该桥接装置包括数据缓冲区、仲裁器电路和控制器。数据缓冲区具有预定的大小,用于接收来自于第一页缓冲区源的第一读出数据和来自于第二页缓冲区源的第二读出数据,其中第一读出数据和第二读出数据具有该预定的大小。仲裁器电路响应于检测到第一页缓冲区源准备好提供第一读出数据而生成第一读取传递信号,并且至少当第一页缓冲区准备好提供第一读出数据的时候、第二页缓冲区源变为准备好提供第二读出数据时,禁止第二读取传递信号的生成。控制器响应于用于从所述第一页缓冲区源向所述数据缓冲区传递所述第一读出数据的第一读取传递信号向第一页缓冲区源发出数据传递命令。
按照第三个方面的实施方式,第一页缓冲区源是第一存储装置并且第二页缓冲区源是第二存储装置,并且仲裁器电路从第一存储装置接收第一就绪/忙信号跃迁,该第一就绪/忙信号跃迁表明第一存储装置准备好提供第一读出数据,并且在第一就绪/忙信号跃迁之后,从第二页缓冲区源接收第二就绪/忙信号跃迁。按照第三个方面的另一种可供选用的实施方式,第一页缓冲区是存储器装置的第一平面并且第二页缓冲区源是存储器装置的第二平面,并且仲裁器电路从存储器装置接收表明第一平面和第二平面准备好提供第一读出数据和第二读出数据的就绪/忙信号跃迁。
在结合附图阅读了下面的本发明具体实施方式的介绍之后,对于本领域普通技术人员,本发明的其它方面和特征将会变得显而易见。
附图说明
现在将参照附图仅以举例的方式介绍本发明的实施方式,其中:
图1A是示例非易失性存储器系统的框图;
图1B是图1A的示例存储器系统中使用的分立闪存存储器装置的示意图;
图2A是示例串行存储系统的框图;
图2B是图2A的示例存储器系统中使用的分立串行接口闪存存储器装置的示意图;
图3A是按照本实施方式的、具有四个分立存储器装置和桥接装置的组合存储器装置的框图;
图3B是按照本实施方式的全局命令的示意图;
图4是按照另一种实施方式的具有四个分立存储器装置和桥接装置的组合存储器装置的框图;
图5是单平面闪存存储器装置的框图;
图6是多平面闪存存储器装置的框图;
图7是按照本实施方式的、从多个源向有限的存储器空间传递数据的方法的流程图;
图8是按照本实施方式的、从多个闪存装置向有限的存储器空间传递数据页的方法的流程图;
图9是按照本实施方式的、针对桥接装置的状态寄存器定义表;
图10是图解说明按照本实施方式的、从两个闪存装置向有限的存储器空间进行的示例传递操作的顺序图;
图11是按照本实施方式的用于控制桥接装置的方法的流程图;
图12是按照本实施方式的用于从单个闪存装置向有限的存储器空间传递多个数据页的方法的流程图;
图13是按照另外一种可供选用的实施方式的、针对桥接装置的状态寄存器定义表;
图14是图解说明按照本实施方式的、从单个闪存装置中进行的示例2页传递操作的顺序图;
图15是按照本实施方式的、具有数据传递仲裁器的桥接装置的简化框图;以及
图16是按照本实施方式的传递仲裁器电路的示意图。
具体实施方式
总体上,本发明的实施方式针对的是包括分立存储器装置和桥接装置的组合存储器装置,该桥接装置用于响应于全局存储器控制信号来控制分立存储器装置,其中该全局存储器控制信号具有与存储器装置不兼容的格式或协议。分立存储器装置可以是响应于本机(native)或本地存储器控制信号的现成的商用存储器装置或者定制的存储器装置。桥接装置通过将全局存储器控制信号转换为与分立存储器装置兼容的本机格式,在分立存储器装置与系统之间起到接口的作用。写入数据由桥接装置接收并且被转送到所寻址的分立存储器装置,并且桥接装置从分立存储器装置接收读出数据,以将其转送到主机。
应当注意的是,下面的介绍中可互换地使用了"高逻辑状态"和"逻辑1状态"这些措辞,而这些措辞被认为是相同的。类似地,"低逻辑状态"和"逻辑0状态"被认为是相同的。
图1A图解说明现有技术中公知的闪存存储器系统。图1A是与主机系统12集成在一起的非易失性存储器系统10的框图。系统10包括与主机系统12通信的存储器控制器14以及多个非易失性存储器装置16-1、16-2、16-3和16-4。例如,非易失性存储器装置16-1-16-4可以是分立的异步闪存存储器装置。主机系统12包括处理装置,比如微控制器、微处理器或计算机系统。图1A的系统10被组织成包括一个通道18,其中存储器装置16-1-16-4与通道18并联连接。本领域技术人员应当了解,系统10可以使多于或少于四个的存储器装置与其连接。在目前给出的例子中,存储器装置16-1-16-4是异步的并且彼此并联连接。
通道18包括一组公共总线,这些公共总线包括连接到所有相应存储器装置的数据和控制线。各个存储器装置按照由存储器控制器14提供的各个芯片选择(启用)信号CE1#、CE2#、CE3#和CE4#而被启用或停用。在这个和后面的例子中,"#"表示该信号是有效的低逻辑电平信号。在这个方案中,一般情况下一次选择一个芯片选择信号,以启用非易失性存储器装置16-1-16-4中相应的一个。存储器控制器14负责响应于主机系统12的操作,经由通道18向选中的存储器装置发出命令和数据。从存储器装置输出的读出数据经由通道18被送回到存储器控制器14和主机系统12。系统10一般来说包括多分支总线,其中存储器装置16-1-16-4相对于通道18并联连接。
图1B是可以用在图1A的存储器系统中的分立闪存存储器装置16-1-16-4之一的示意图。这一闪存存储器装置包括数个输入和输出端口,该数个输入和输出端口包括例如电源、控制端口和数据端口。术语"端口"指的是存储器装置中的一般的输入或输出端子,其包括例如封装引脚、封装焊料凸块、芯片结合焊盘和无线发射机和接收机。电源端口包括用于为闪存存储器装置的所有电路供电的VCC和VSS。可以提供额外的电源端口,来仅仅为输入和输出缓冲器供电,这是本领域中公知的。下面的表1提供了控制和数据端口、它们的相应描述、定义和示例逻辑状态的列表。注意,封装引脚和球栅阵列是用于将被封装装置的信号或电压与电路板相互连接起来的端口的物理示例。端口可以包括其它类型的连接,例如,用于嵌入式系统和系统级封装(SIP)系统的端子和触点。
表1
Figure BDA00002707838700081
表1中记录的所有信号总称为存储器控制信号,用于图1B中所示的示例闪存存储器装置的操作。注意,最后的端口I/O[n]被认为是存储器控制信号,是因为它能够接收指示闪存存储器装置执行特定操作的命令。
图1A的各个非易失性存储器装置具有一个用于接收和提供数据的特定数据接口。在图1A的例子中,这是在异步闪存存储器装置中常用的并行数据接口。众所周知,并行提供多位数据的标准并行数据接口在超出它们的标称工作频率的情况下工作时,会遭受公知的通信恶化影响,例如会降低信号质量的串扰、信号扭曲和信号衰减。
为了增加数据吞吐量,在共同拥有的名称为“Memory with OutputControl”的美国专利公开第20070153576号和名称为“Daisy ChainCascading Devices”的美国专利公开第20070076502号中公开了具有串行数据接口的存储器装置,这种存储器装置以例如200MHz的频率串行地接收和提供数据。这称为串行数据接口格式。如这些共同拥有的专利公开文本中所示,所介绍的存储器装置可以用于彼此串行连接的存储器装置的系统中。
图2A是图解说明串行存储器系统的概念本质的框图。在附图2A中,串联的环形拓扑结构的存储器系统20包括具有一组输出端口Sout和一组输入端口Sin的存储控制器22以及串联连接的存储器装置24,26,28和30。存储器装置可以是例如串行接口闪存存储器装置。虽然图2A中没有示出,但是各个存储器装置都具有一组输入端口Sin和一组输出端口Sout。这些组输入和输出端口包括将存储器装置与它所处的系统相接的一个或多个单个的输入/输出端口,比如物理引脚或接线。在一个例子中,存储器装置可以是闪存存储器装置。另外,存储器装置可以是DRAM、SRAM、DiNOR闪存EEPROM、串行闪存EEPROM、铁RAM、磁电RAM、相变RAM或者具有与特定命令结构兼容的、用于执行命令或用于将命令和数据传递到下一个存储器装置的输入/输出接口的任何其它适当类型的存储器装置。图2A的当前例子包括四个存储器装置,但是可供替换的其它结构可以包括单个存储器装置,或者任何适当数量的存储器装置。由此,如果存储器装置24因为与Sout连接而成为系统20的第一个装置,那么存储器装置30因其与Sin连接而成为第N个或最后一个装置,其中N是大于零的整数。于是存储器装置26到28是介于第一个和最后一个存储器装置之间的串联连接的存储器装置。在图2A的例子中,存储器装置24到30彼此之间以及与存储器控制器22之间是同步的并且是串联连接的。
图2B是可以用在图2A的存储器系统中的串行接口闪存存储器装置(例如24到30)的示意图。这一示例串行接口闪存存储器装置包括电源端口、控制端口和数据端口。电源端口包括用于为闪存存储器装置的所有电路供电的VCC和VSS。可以提供额外的电源端口,来仅仅为输入和输出缓冲器供电,这是本领域中公知的。下面的表2提供了控制和数据端口、它们的相应描述和示例逻辑状态的列表。
表2
Figure BDA00002707838700111
同时具有图1B的方便易得的异步闪存存储器装置和图2B的串行接口闪存存储器装置使得存储器系统制造商能够提供两种类型的存储器系统。不过,由于必须获得和购买两种不同类型的存储器装置,这将很可能为存储器系统制造商带来较高的成本。本领域的技术人员知道,当大批量购买时,每个存储器装置的价格会降低,因此大批量购买使得存储器系统的成本最低。因此,虽然制造商能够提供两种类型的存储器系统,但是承担着一种类型的存储器装置由于另一种存储器装置市场需求较高而脱离市场需求的风险。这可能会给他们遗留不能被使用的已经购买的存储器装置存货。虽然图1B的异步NAND闪存装置目前被普遍使用,但是它不能提供图2B的同步闪存装置的性能优势。这种情形可能也会出现在这样的非闪存存储器装置上:可以获得两种类似的但是接口不兼容的具有各自优点的装置来集成到存储器系统中。
至少一些示例实施方式提供了在多芯片封装(MCP)或系统级封装(SIP)中的高性能的组合存储器装置,其具有与分立存储器装置结合使用的高速接口芯片或桥接装置。该桥接装置为其所集成于其中的系统提供I/O接口,并且接收遵循全局格式的全局存储器控制信号,以及将命令转换为遵循与分立存储器装置兼容的本机或本地格式的本地存储器控制信号。桥接装置从而实现分立存储器装置的再利用,比如NAND闪存装置,同时提供由桥接装置的I/O接口给予的性能优势。桥接装置可以被实现为与封装中的分立存储器装置管芯(die)集成在一起的分立的逻辑管芯。
在目前的例子中,全局格式是与图2A和2B的串行闪存存储器装置兼容的串行数据格式,并且本地格式是与图1A和2B的异步闪存存储器装置兼容的并行数据格式。不过,本发明的实施例并不局限于上述示例的格式,因为取决于组合存储器装置中使用的分立存储器装置的类型和使用组合存储器装置的存储器系统的类型,可以使用任何一对存储器控制信号格式。例如,存储器系统的全局格式可以遵循开放式NAND闪存接口(ONFi)标准,并且本地格式可以遵循异步闪存存储器装置存储器控制信号格式。例如,一种具体的ONFi标准是ONFi 2.0规范。可选地,全局格式可以遵循异步闪存存储器装置存储器控制信号格式,而本地格式可以遵循ONFi 2.0规范格式。总地来说,ONFi规范是多分支同步协议,其中数据和命令被与时钟同步地经由兼容的存储器装置的数据输入/输出端口提供给该兼容的存储器装置。换句话说,ONFi兼容存储器装置可以与具有并行双向输入/输出端口的异步NAND闪存存储器装置有一些相似的地方,但是有一个差别是ONFi兼容装置接收时钟信号。
图3A是按照本实施方式的组合存储器装置的框图。如图3A中所示,组合存储器装置100包括与四个分立存储器装置104连接的桥接装置102。在某些实施方式中,桥接装置102也被称作桥接芯片,因为它被制造成分立的芯片。各个分立存储器装置104可以是例如具有8Gb存储容量的异步闪存存储器装置,但是可以使用任何容量的分立闪存存储器装置来代替8Gb的装置。此外,组合存储器装置100并不局限于具有四个分立存储器装置。当桥接装置102被设计成适应于组合存储器装置100中最大数量的分立存储器装置时,可以包括任何适当数量的分立存储器装置。在当前所示出的实施方式中,桥接装置102具有四个专用通道,CH1、CH2、CH3和CH4,各个专用通道与一个分立存储器装置104相关联。各个通道包括控制分立存储器装置104所需的I/O和控制信号。
组合存储器装置100具有用于接收全局命令的输入端口GLBCMD_IN,和用于传递所接收的全局命令和读出数据的输出端口GLBCMD_OUT。图3B是图解说明按照本实施方式的全局命令的层级的示意图。全局命令110包括具有特定格式的全局存储器控制信号(GMCS)112,以及地址头部(AH)114。这些全局存储器控制信号112提供存储器命令和命令信号,比如用于图2B的串行接口闪存存储器装置的存储器控制信号。地址头部114包括在系统层面和组合存储器装置层面所使用的寻址信息。这一额外的寻址信息包括用于选择组合存储器装置来执行存储器命令中的操作码的全局装置地址(GDA)116和用于选择所选定的组合存储器装置内的特定分立装置来执行该操作码的本地装置地址(LDA)118。概括地说,全局命令包括与一种格式对应的所有的存储器控制信号,并且此外还包括选择或控制组合存储器装置或其中的分立存储器装置可能需要的寻址信息。
注意,桥接装置102并不执行操作码或者使用行和地址信息访问任何存储单元。桥接装置102使用全局装置地址116来确定其是否被选择来转换所接收的全局存储器控制信号112。如果被选择了,则桥接装置102使用本地装置地址118来确定将转换后的全局存储器控制信号112发送给哪个分立存储器装置。为了与所有四个分立存储器装置104通信,桥接装置102包括四组本地I/O端口,每个通道CH1、CH2、CH3和CH4中具有一组,每个通道连接到相应的分立存储器装置。正如前面提到的那样,每组本地I/O端口包括分立存储器装置正确操作所需的所有信号,并且从而起到了本地装置接口的作用。
读出数据由组合存储器装置100中的或者前一个组合存储器装置中的任何一个闪存存储器装置104提供。具体地说,桥接装置102可以被连接到存储器系统的存储器控制器,或者连接到串联相互连接装置的系统中的另一个组合存储器装置的另一个桥接装置。输入端口GLBCMD_IN和输出端口GLBCMD_OUT可以是用于向和从组合存储器装置100(具体来说,向和从桥接装置102)发送/接收全局命令信号和读出数据的封装引脚、其它物理导体或者任何其它电路。桥接装置102因此具有到输入端口GLBCMD_IN和输出端口GLBCMD_OUT的相应连接,以实现与外部控制器的通信,比如与图2A的存储器控制器22的通信,或者与系统中其他组合存储器装置中的桥接装置的通信。共同拥有的PCT专利公开号W02010/043032详细介绍了,在性能和存储容量相对于之前示出的图1A和图2A的存储器系统都得到改进的存储器系统中,可以将多少组合存储器装置彼此串联连接起来。PCT专利公开号W02010/043032介绍了桥接装置102的其它细节,因此稍后将会仅仅介绍与目前介绍的实施方式相关的特征和功能。
虽然图3A的实施方式中示出的组合存储器装置100使一个分立存储器装置104与桥接装置102的一个通道连接,但是桥接装置可以被构造成用于将多个或更多的存储器装置与每个通道连接,以进一步提高组合存储器装置的总存储容量。图4是按照本实施方式的另一种组合存储器装置的框图。组合存储器装置200包括具有多个通道CH1到CHn的桥接装置202,其中CHn是桥接装置202的最后一个通道。在目前所示的实施方式中,每个通道有两个存储器装置204与之连接。如图4中所示,与一个通道关联的一对存储器装置204共享一组共用的控制信号CLEb、ALEb、REb、WEb和一组共用的输入/输出线io[7:0]。与一个通道关联的各个存储器装置204接收它自己的芯片选择信号并且提供它自己的就绪/忙信号。如图4中所示,与CH1连接的一个存储器装置204接收芯片选择信号CSb_1并且提供它自己的就绪/忙信号RBb_1。注意,"b"表示该信号是有效低逻辑电平信号。
桥接装置202的每个通道具有数据存储单元,比如专用的数据缓冲器206或存储器的指定部分,以用于从与该通道连接的两个存储器装置204中的任何一个接收和存储相应大小单位的数据。专用的数据缓冲器206不在通道之间共享。由存储器装置204提供的一单位的数据可以是例如数据页,或者在读取操作中能够用一个逻辑行地址访问的任何最大数据量。在闪存存储器装置中,比如在本实施方式中的存储器装置204中,读取操作会导致存储在存储阵列中的数据页被读出并且被传递到内部页缓冲区。响应于由闪存存储器装置204接收的命令,输出内部页缓冲区的整个内容作为读出数据。注意,某些存储器装置被构造为用于在读取操作中读出两页或更多页数据。将会参照图5和图6进一步对此进行解释说明。
图5和图6是表示可用于图4的存储器装置204的不同平面和相应的页缓冲区构造的框图。图5是表示构造为具有单个平面的典型闪存存储器装置的总体框图。闪存存储器装置300包括单个平面302和单个页缓冲区304。平面302包括由与字线和位线连接的存储单元构成的存储阵列,其中字线从平面302的左侧水平延伸到右侧,位线从平面302的顶部垂直延伸到底部。字线驱动器(未示出)在读取操作期间驱动选定的字线,并且位线感测放大器电路(未示出)通过感测它们各自的位线来确定与所选择的字线相连的单元所存储的逻辑状态。该感测到的数据被存储在页缓冲区304中。在图5的当前示例中,数据页是4KB。
图6是表示多平面闪存存储器装置的一般性框图。闪存存储器装置310包括第一平面312和第二平面314,各个平面具有相关联的第一页缓冲区316和第二页缓冲区318。闪存存储器装置310并不局限于具有2个平面,并且因此可以具有任何数量的平面。平面312和314各自具有它们自己位线和字线,并且可以各自具有逻辑上相同的字线电路。这意味着,对于任何单个行地址,平面312内的字线和平面314内的字线同时被驱动,以访问与其连接的存储单元。因此,页缓冲区316和318分别存储从平面312和314中读出的数据页。
回到图4,当与一个通道连接的一个或两个存储器装置204已经接收到由桥接装置202发出的读取命令时,该一个或两个存储器装置204发起内部读取操作并最终用来自存储阵列的读出数据页来加载其内部页缓冲区,或者在多个平面存储器的情况下,加载多个页缓冲区。桥接装置202然后向一个或两个存储器装置204发出数据传递命令,该一个或两个存储器装置204通过将它们的页缓冲区的内容输出到桥接装置202的数据缓冲区206来对此作出响应。一旦这一传送完成,装置202就会读出数据缓冲区206中存储的数据并且经由GLBCMD_OUT输出端口输出该数据。
桥接装置202的数据缓冲区206的大小可以被设计成用来存储从与通道关联的存储器装置204中接收到的任何数量的数据页。例如,如果如图6中所示,与通道CH1连接的一对存储器装置204各自被构成为具有2个平面,那么每个通道的数据缓冲量应该是(2平面)x(2存储器装置)=4页的缓冲容量。不过,这可能会导致桥接装置的管芯成本增高,这样可能会造成商业价值有限的芯片。其原因在于如下事实,管芯的总面积主要取决于用于存储来自于存储器装置204的数据页的存储器。从成本的角度来看,希望缓冲量最小,即,每个通道使用具有仅仅一页容量的存储器。
这样的构造适合于图3A中所示的组合存储器装置100的桥接装置102,它恰好是一个存储器装置104与一个通道连接,只要各个存储器装置104是诸如图5的闪存存储器装置300那样的单平面装置。在这种构造中,各个存储器装置104都具有对桥接装置的数据缓冲区的专用访问。不过,对于为与通道连接的多个页源服务的通道仅具有单页容量的桥接装置可能会造成存储冲突。页源可以是单平面存储器装置中的页缓冲区,或者是多平面存储器装置中各平面的各个单个页缓冲区。
为了解释清楚当桥接装置通道数据缓冲区容量小于组合的页源容量时的这一存储冲突,首先考虑页读取是如何由桥接装置执行的。当执行页读取命令时,一旦存储器装置从其存储阵列中取到了读出数据,桥接装置自动将来自存储器装置的读出数据传递到片上的数据缓冲区。桥接装置然后将它的状态寄存器更新为'就绪',以向存储器控制器表明所请求的读出数据已经准备好被推出。不过,在多于一个的存储器装置连接到给定通道的情况下,或者在存储器装置能够同时访问两个平面中每个平面上的页的情况下,最好是同时发出与存储器装置能够支持的数量一样多的并发页操作,以便隐藏任何内部延迟,从而提高存储器系统的总带宽。当同时向多于一个的存储器装置或具有多个页缓冲区的存储器装置发出页读取命令时,并且在桥接装置上具有小于理想数据缓冲容量的情况下,会出现诸如将所有的读出数据存储到哪里之类的冲突。
通过举例来进行阐述,当连接到一个通道上的2个单平面存储器装置完成了它们的内部阵列访问,从所寻址的页中取得了读出数据时,桥接装置应当自动将数据传递到它的与通道相关联的片上数据缓冲区中。如果没有足够的容量存储所有这些数据,那么某些数据有可能会丢失。
因此,开发出了一种仲裁方法来解决存储空间冲突,这种方法根据需要,并且通过基于闪存完成顺序、优先级和命令序列,安排读出数据从闪存存储器装置向桥接装置数据缓冲区的传递,从而允许内部存储器装置读取延迟相互重叠。按照本实施方式,桥接装置的状态寄存器被用于该仲裁方法。
图7是按照本实施方式,从多个源向装置(比如前面介绍的图3A和图4的桥接装置)中的有限存储空间传递数据页的一般方法的流程图。图7的方法是由桥接装置的控制逻辑针对一个通道来执行的,该一个通道与单个具有多个平面的存储器装置或多个各自具有单个平面或多个平面的存储器装置连接。对于当前的方法,具有单个平面的存储器装置被看作页缓冲区源,多平面存储器装置的每个平面被看作页缓冲区源。
该方法开始于步骤400,其中桥接装置接收从与一个通道连接的至少2个不同的页缓冲区源中读取数据的请求。这些请求可以同时或者相继到达桥接芯片,并且相应的读取命令被发送到存储器装置。为了利用闪存存储器装置的读取延迟,这些读取命令一般情况下是以快速连续的方式发出的。最终,第一页缓冲区源准备好将其数据页传递到桥接装置,并且它将它的就绪状态通知给桥接装置。这个第一页缓冲区源现在称为页缓冲区源n。此时,其它的页缓冲区源可能还没有准备好传送它们各自的数据页。在步骤402,桥接装置指示页缓冲区源n将所存储的读出数据传递到桥接装置的页缓冲区。在步骤404,桥接装置检查确定是否有针对与该通道连接的至少一个其它页缓冲区源的待处理的读取操作,如果有则表明向同一数据缓冲区的数据传递即将来临。如果没有针对至少一个其它页缓冲区源的待处理的其它读取操作,那么该方法返回到步骤400,并且桥接装置的数据缓冲区最终被来自页缓冲区源n的读出数据装满。另一方面,如果有针对另一个页缓冲区源的一个其它的待处理读取操作,那么在步骤406为该其它的页缓冲区源设置延后数据传递状态。本例中假设,只有两个与通道连接的页缓冲区源。
现在,该另一个页缓冲区源,称作页缓冲区源n+1,被桥接装置设置为延后状态,桥接装置在其数据缓冲区正在使用的时候,被禁止请求从页缓冲区源n+1向其数据缓冲区进行数据传递。稍后将会介绍,这使得桥接装置忽略由其它页缓冲区源n+1发出的任何就绪状态,否则的话,该就绪状态会触发桥接装置向页缓冲区源n+1发出数据传递命令。在使用的数据缓冲区可能指的是,它正被从页缓冲区源n传递来的数据填充,或者数据缓冲区正处于将其内容输出到主机系统或存储器控制器的处理过程中。在任何一种情况下,数据缓冲区都不能用于从另一个页缓冲区源接收读出数据。
在步骤408,桥接装置等待通道的数据缓冲区变为可用,并且当其可用时,在410中将n的值递增,以访问下一个页缓冲区源n+1。然后该方法返回到步骤402,并且桥接装置向准备好提供其数据页的页缓冲区源n+1发出数据传递命令。
概括地说,桥接装置能够在为了将另外一个(多个)页缓冲区源的数据传递操作延后至直到与通道相关联的数据缓冲区可用,而了解所述另外一个(多个)页缓冲区源具有待处理的读取操作的同时,确定第一页缓冲区源已经就绪。在存在多个与通道连接的页缓冲区源并且所有的页缓冲区源都已经准备好传递它们的数据的实施方式中,可以按照任何数量和组合的优先级方案来配置桥接装置,以便确定哪一个具体的页缓冲区源是下一个。示例优先级方案包括基于到达顺序的方案,另一种方案可以基于事务的重要性,再另外一种可以基于地址范围。目前介绍的方法可以使用任何优先级方案。
图8是按照本实施方式,仅仅使用就绪/忙状态信号来对从与一个通道连接的多个闪存装置向与该通道相关联的桥接装置的数据缓冲区进行数据页传递进行仲裁的方法。图8的方法假设,与通道连接的各个存储器装置提供指示其就绪/忙状态的信号,比如图4中由与通道CH1连接的存储器装置204提供的信号RBb_1和RBb_2。虽然当前的实施方式使用具有专用就绪/忙信号的闪存存储器装置,但是装置可以使用多个信号的任意组合来表示它的就绪/忙状态,只要桥接装置被配置为能够解释这样的信号组合。假设桥接装置已经向与一个通道连接的至少两个存储器装置发送了读取命令。
该方法开始于步骤500,在该步骤,桥接装置监视来自于连接到通道上的所有装置的就绪/忙状态信号(例如,RBb_1和RBb_2)。在步骤502,存储器装置将其就绪/忙状态信号驱动到有效逻辑状态,以向桥接装置表明相应的存储器装置已经完成了内部读取操作并且其页缓冲区现在存储着来自存储阵列的读出数据。假设这一存储器装置是第一个就绪的存储器装置,并且现在称为装置n。桥接装置现在检查装置n是否已经被设置为延后状态。由于装置n是本例中第一个准备就绪的装置,因此该方法前进到步骤506,在步骤506,桥接装置向装置n发出数据传递命令。响应于该数据传递命令,存储器装置开始输出其页缓冲区的内容,该内容被桥接装置的数据寄存器接收和保存。前进到步骤508,桥接装置检查是否读取命令已经被发送到任何其它的存储器装置。稍后将会进一步详细介绍,桥接装置了解它已经向各个存储器装置发送的读取命令。如果桥接装置确定有至少一个其它的存储器装置已经接收到了读取命令,则在步骤510,它为这些存储器装置中的每个设置延后状态。在本例中,假设装置n+1是这样的存储器装置,并且桥接装置为其设置延后状态。另一方面,如果没有发出其它的读取命令并且装置n是与通道连接的唯一接收到读取命令的存储器装置,则该方法返回到步骤500。回到步骤510,该方法在为适当的存储器装置设置了延后状态之后返回到步骤500。
返回到步骤500,桥接装置等待下一个装置就绪的就绪/忙状态信号,下一个装置在本例中应该是装置n+1。最终在步骤502接收到这一信号并且桥接装置在步骤504检查装置n+1是否处于延后状态。因为装置n+1之前被桥接装置设置为延后状态,所以该方法然后前进到步骤512,在步骤512,桥接装置等待通道的数据缓冲区变为可用。在一种实施方式中,存储器控制器询问桥接装置以检查在桥接装置和存储器装置之间的内部数据传递操作的状态。在另一种实施方式中,桥接装置可以将其自己的就绪/忙信号发送到存储器控制器,以表明针对那个通道的内部数据传递操作已经完成。在任何一种情况下,存储器控制器在它接收到针对装置n的内部数据传递操作已经完成的指示时,可以发出针对存储器装置n+1重新发起页读取操作的命令。一旦数据缓冲区变为可用,桥接装置随即向装置n+1发送数据传递命令,以发起从装置n+1的页缓冲区向桥接装置的数据缓冲区传递数据。如果没有其它的存储器装置接收到读取命令,则该方法返回到步骤500,从而结束针对该通道的数据传递仲裁方法。
目前介绍的桥接装置实施方式通过包括用于记录与通道连接的每个存储器装置的状态信息的状态寄存器位,能够对数据从与单个通道连接的任意数量的存储器装置的传递进行仲裁。图9是按照本实施方式的针对桥接装置的状态寄存器定义表。图9的状态寄存器是针对具有4个通道(例如,CH1、CH2、CH3和CH4)的桥接装置配置的,其中每个通道有两个存储器装置以并联结构与其连接。针对各个存储器装置,状态寄存器存储其就绪/忙状态,其合格/不合格状态,以及其延后读取传递状态。图9的表格中使用的命名规则如下。就绪/忙状态位被标记为"就绪/忙CH[i],D[j]",合格/不合格状态位被标记为"合格/不合格CH[i],D[j]",并且延后状态位被标记为"延后读取传递CH[i],D[j]",其中i代表桥接装置的通道号,j代表连接到通道i的装置号。状态位的数量可以依照桥接装置中存在的通道数量以及可以连接到每个通道的存储器装置的最大数量而调整。桥接装置因此能够为了对从存储器装置向存储器装置所连接的通道的数据缓冲区的读出数据传递进行仲裁的目的,了解各个存储器装置的状态,以及各个存储器装置的延后状态。
图10是图解说明按照本实施方式的从与通道连接的两个闪存装置向桥接装置的数据缓冲区进行的示例读取传递操作的顺序图。这个示例顺序图图解说明桥接装置如何响应由存储器装置发出的就绪/忙信号,以便对读取传递操作进行仲裁和避免由两个存储器装置对数据缓冲区的冲突使用。注意,桥接控制器具有用于自动向在接收到读取命令之后报告已将它们的读出数据在它们各自的页缓冲区中准备好的存储器装置发出数据传递命令的逻辑。按照本实施方式,桥接装置包括用于应对在通道的数据缓冲区正用于从第一个存储装置接收读出数据的时候,或者在它将所存储的读出数据输出到外部装置的时候,第二个存储装置报告它已经就绪时的情形的仲裁逻辑。
图10的顺序图表示内部和外部信号的信号踪迹,下面将会对它们进行介绍。桥接装置接收由存储器控制器或主机装置提供的外部命令选通信号CSI和外部数据选通信号DSI,这两个信号之前都在表2中介绍过。桥接装置通过其Q[n]输出端口输出存储在通道的数据缓冲区中的读出数据,Q[n]输出端口也在前面在表2中介绍过。在桥接装置内,有存储器装置接口,该存储器装置接口以与存储器装置兼容的格式向存储器装置提供命令和数据信息。在本例中,存储器装置是NAND闪存装置,所以在图10中示出了双向的"NAND IO"端口。桥接装置的存储器装置接口还分别从装置1和装置2接收就绪/忙信号RBb_1和RBb_2。内部控制信号pos_edge_RBb_1是响应于检测到存储器装置1已经准备好从其页缓冲区传递读出数据而生成的脉冲信号。在本例中,该脉冲是响应于检测到RBb_1从低逻辑状态跃迁为高逻辑状态而生成的,这表明存储器装置内部读取操作已经完成。内部控制信号pos_edge_RBb_2是相同类型的信号,只是其响应于RBb_2。
内部信号D1_rd_in_prog是桥接装置在将读取操作发送给装置1时设置的状态信号。内部信号neg_D1_rd_in_prog是响应于D1_rd_in_prog的下降沿的脉冲。内部信号rd_data_D1_stb是仅仅在检测到neg_D1_rd_in_prog脉冲并且延后状态信号defer_D1_rd处于无效状态时生成的脉冲信号。当rd_data_D1_stb发生脉冲时,读取传递命令被发送到存储器装置1,以发起其页缓冲区数据向与桥接装置的通道相关联的数据缓冲区的传递。状态信号defer_D1_rd可以从状态寄存器得到。剩余的内部信号D2_rd_in_prog、neg_D2_rd_in_prog、rd_data_D2_stb和defer_D2_rd,以与它们各自的D1对应信号相同的方式起作用,只是与存储器装置2相关联。下面进行顺序图的介绍,并且注意,时间段并不是按比例示出的。图10的底部是状态寄存器位d1、d2、b1和b2的逻辑状态。位d1和d2分别代表存储器装置D1和D2的延后状态,并且位b1和b2分别代表存储器装置D1和D2的就绪/忙状态。
主机控制器,比如存储器控制器,可以在其通过读取状态位确定了目标通道中的目标装置为'就绪(Ready)'(如'A'处所示)之后,开始2装置读取操作。在'A'处,两个状态位b1和b2都为逻辑0,其表明两个存储器装置D1和D2就绪。第一步是存储器控制器发出两个'页读取'命令,其中读取命令600寻址装置1,读取命令602寻址装置2。桥接装置将这些命令转换为闪存存储器装置能够理解的命令并且将它们发送到适当的存储器装置。在桥接装置解码各个读取命令之后,它将相应的就绪/忙位设置为1,如'B'和'C'处所示,并且将D1_rd_in_progress和D2_rd_in_progress设置为高逻辑状态,以跟踪当前正在进行的读取命令。在存储器装置接收到它们各自的读取命令之后,存储器装置1和2将其RBb_1和RBb_2线驱动为逻辑'0'电平,分别如604和606所示,以向桥接装置表明它们正忙于它们各自的读取操作。
由于桥接装置会花费一些时间来处理各个读取命令、向目标存储器装置发出相应命令和等待存储器装置接收命令,因此控制器必须要在发出第二对读取命令602之前等待预定的间隔延迟周期t2CR,以使桥接装置能够完成第一个读取命令600的处理。控制器在发出第二个读取命令602之前可以等待更长时间,不过一般来说,应当远早于第一个存储装置的读出时间tR期满将其发出。否则桥接装置的内部总线将会忙于将数据从第一个存储装置D1传递到桥接装置,并且桥接装置可能会发生故障。
存储器装置会在正在使用的具体装置的厂商技术规范中定义的时间段内繁忙,并且可以被表示为tR。在图10中,这个时间段被标注为存储器装置D1的"阵列延迟"。不同的制造商、不同的装置的阵列延迟不同,并且可能会随着装置老化而改变。当每个存储器装置的阵列延迟期满时,它释放其就绪/忙信号(例如RBb_1),该信号返回到逻辑值'1',通知桥接装置其页缓冲区中的读出数据可用。如608和610所示,RBb_1和RBb_2上升为逻辑'1'。
在'正常的'单一存储器装置读取操作期间,桥接装置自动向闪存发出'数据读取'命令,以按照RBb的上升沿将读出数据从存储器装置传递到桥接装置的数据缓冲区。按照本实施方式,使用了额外的控制信号,其能够在两个装置(或多个装置)读取操作期间调度自动读取传递的传递。对于两个装置的读取,RBb的上升沿促使桥接装置使这个存储器装置的rd_in_progress无效。在目前所示的例子中,选通信号rd_data_D1_stb是响应于RBb_1上升到逻辑1电平而生成的。选通信号rd_data_D1_stb是用于发出存储器装置D1的'读取数据'命令的触发信号。这一选通是在存储器接口I/O总线并不忙于从与通道总线连接的其它一个或多个装置传递数据的条件下生成的。下面将会介绍对这一选通进行仲裁的机制。
所给出的示例实施方式使用逻辑生成的选通来表示所关心的信号何时进行从逻辑0到1的上升沿跃迁或者从逻辑1到0的下降沿跃迁,但是其它的技术也是可以的。本实施方式中的主要概念是检测边沿并且使用它来触发后续的逻辑事件。
由于两个就绪/忙信号RBb_1和RBb_2可能会非常接近地一起变高,以至于第一个存储装置的数据还没有完成向桥接装置的数据缓冲区的传递,因此可能会在访问桥接装置数据缓冲区的两页数据之间存在竟争。为了解决这一问题,提供了第二组控制位,第二组控制位用于将完成较晚的存储器装置的自动读出数据传递延后。在图10中,这些被称为defer_D1_rd和defer_D2_rd。在这个例子中,RBb_1首先在608处变高。这使得D1_rd_in_progress变低(经由选通信号pos_edge_RBb_1)并且defer_D2_rd变高。Defer_D2_rd有效,因为如RBb_1上的上升沿所表示的,存储器装置1完成了它的读取,同时存储器装置2仍然忙于它的页读取,如chp2_rd_in_progres s='1'所表示的。下面的公式1给出了确定何时将存储器装置的读出数据自动传递延后的公式。
(defer_Dj_rd的上升沿)=pos_edge_RBbi&&Dj_rd_in_progress
D1_rd_in_progress的下降沿触发经由neg_edge_D1_rd_in_prog来生成选通rd_data_D1_stb,只要defer_D1_rd不为高。这一选通使得桥接装置开始将读出数据从装置1(D1)传递到桥接装置的数据缓冲区。在609处示出了NAND IO正在从存储器装置D1的页缓冲区向桥接装置的数据缓冲区传输有效数据。defer_D2_rd的上升沿使得状态寄存器将存储器装置2的读取操作记录为已经被延后,如时间间隔'D'中所示,其中状态位d2被设置为逻辑1状态。
稍后,在610处,存储器装置D2变成'就绪'(Ready)并且使RBb_2无效,这使得桥接装置中的D2_rd_in_progres s变低,从而通知该存储器装置的页读取处理结束。由于defer_D2_rd此时为高,因此读出数据向数据缓冲区的自动传递被延后到以后的时刻。换句话说,defer_D2_rd为高防止了rd_data_D2_stb生成。如612处所示,rd_data_D2_stb选通信号以虚线表示,表明如果存储器装置D2不处于延后状态,则该选通应当已经出现了。状态寄存器然后将状态位b2改变为逻辑0,以反映存储器装置D2变为'就绪(Ready)'但是它已经被延后这一事实,如时间间隔'E'中所示。
最终,在用附图标记614标注的第一个"内部传递时间"周期的末端,从存储器装置D1到桥接装置的数据缓冲区的数据传递完成。桥接装置然后将状态位b1变为逻辑0,以表明它现在已经准备好,并且尤其是表明数据传递操作已经完成。现在存储器控制器读出桥接装置的状态寄存器,以确定内部操作的状态。
可以在任何时候读取状态寄存器,并且在这一特定的操作中,存储器控制器在它能够开始向外传递数据之前,寻找装置中'就绪(Ready)'并且不处于延后状态的一个装置。状态读出操作没有在图中示出,但是在时间间隔'F'中示出了控制器要读取的值。存储器控制器知道它的哪些事务未完成,所以这一状态寄存器值告诉存储器控制器从存储器装置D1中的读取已经完成并且数据缓冲区中的数据可用。该状态值还告诉存储器控制器,发送给存储器装置D2的读取命令也已经完成,但是向数据缓冲区的数据传递被延后了并且需要进一步的动作来恢复。存储器控制器然后开始发出突发读取命令,由616处的变为1逻辑电平的CSI表示。然后由在618处变为1逻辑电平的DSI所示,使用读取分组将数据缓冲区中存储的存储器装置D1的数据从桥接装置读取出来。如图10中所示,Qn输出端口提供有效数据。
在存储器控制器完成了从存储器装置D1中读出数据之后,它可以自由地从存储器装置D2中读取数据。为此,它通过具有相应命令(未示出)的另一个CSI选通620,向存储器装置D2中的同一页重新发送原始的页读取命令。由于数据页仍然存储在存储器装置D2的页缓冲区中,并且桥接装置的自动传递操作被延后了,因此桥接装置通过响应于重新发送的页读取命令在622处发出rd_data_D2_stb选通,简单地从存储器装置D2的页缓冲区中将数据读出到其数据缓冲区中,使得它对于存储器控制器后来进行的获取可用。在此期间,状态寄存器通过将状态位b2设置为逻辑1来表明存储器装置D2处于'忙'状态,但是不再处于延后状态,因为defer_D2_rd被设置为非延后的0逻辑状态,还用处于逻辑0状态的状态位d2在时间间隔'G'中示出。一旦从存储器装置D2到桥接装置的数据传递完成,就将状态寄存器的值更新为表示存储器装置D2'就绪(Ready)',如在时间间隔'H'中由设置回逻辑0的状态位b2所示。存储器控制器被设计成知道在检查内部桥接装置数据传递操作是否完成之前要等待大约多长时间,因为这一数据是由闪存制造商提供的并且包含在桥接装置说明书之内。在第二个"内部传递时间"届满之后,存储器控制器读取状态寄存器,以确认存储器装置D2处于'就绪(Ready)'状态并且其数据可用,然后在622处继续发出另一个突发读取命令,并且响应于后续的DSI选通,在Qn输出端口上输出数据。
图8的方法从桥接装置的角度介绍了数据传递仲裁。下面的附图11示出了存储器控制器为了读取与桥接装置的一个通道相对应的数据页而执行的操作序列。该存储器控制器通过向与桥接装置的通道连接的一个装置发出页读取命令以在步骤650开始操作。存储器控制器然后在步骤654向与通道连接的另一个存储器装置发送另一个页读取命令之前,在步骤652等待预定的延迟。存储器控制器在步骤658读取桥接装置的状态寄存器之前,具体来说是在读取用于该通道的状态寄存器之前,在步骤656等待预定的时间经过。举例来说,这一预定时间可以由存储器控制器内的内部计时器来设置,或者按照另外一种可选方案,桥接装置可以向存储器控制器发出选通信号,以表明是该检查状态寄存器的时候了,因为读取或编程操作已经完成。在任何一种情况下,存储器控制器在读取桥接装置的状态寄存器之前都要等待预定时间。在步骤660基于所读出的状态寄存器位做出判定,以检查是否有与通道连接的任一装置已经准备好并且没有被延后。如果判定结果是否,那么方法返回到步骤658。否则,与通道连接的存储器装置就已经完成了其页缓冲区内容到桥接装置的数据缓冲区的传递。然后方法前进到步骤662,在该步骤中,存储器控制器发出突发读取命令,以读出桥接装置的数据缓冲区内存储的数据。
存储器控制器在步骤664再次从桥接装置请求通道的状态,并且在步骤666,基于所读出的状态位,存储器控制器判断是否有与通道连接的其它装置已经就绪并且被延后。再一次,如果任何一个条件不成立,则该方法返回到步骤664。否则,方法前进到步骤668,在该步骤,存储器控制器向被延后的装置重新发送页读取命令。在桥接装置内,发起数据传递操作,以将存储器装置的页缓冲区中存储的数据转递到桥接装置的数据缓冲区。在步骤670,存储器控制器在步骤672读取通道的状态之前等候其内部读取计时器完成计时。如果在步骤674状态寄存器表明该其他装置没有准备好,则方法返回到步骤672。否则,数据页现在被存储在桥接装置的数据缓冲区中,并且在步骤676,存储器控制器发出突发读取命令,以读出数据缓冲区的内容。然后,如果没有其它的与通道相连的存储器装置,则该方法结束于步骤678。目前介绍的例子假设仅有2个存储器装置与通道相连。在另外一种可供选择的实施方式中,如果有超过2个存储器装置与通道相连并且存储器控制器向它们各个都发出页读取命令,则该方法不会在步骤678结束,而是将会返回到步骤664,以从下一个存储器装置中读出数据。
参照图10,步骤650、652和654对应于前2个CSI选通,在这2个CSI选通处,控制器首先向通道中的一个装置发送页读取命令,等待预定的间隔延迟周期t2CR,然后向同一通道中的第二个装置发送读取命令。
步骤616、658、660和662对应于在CSI选通之后并且直到第三个CSI选通所发生的事件。在存储器控制器发出了读取命令之后,它设置它的内部计时器(如果它配置有的话),并且等待计时器完成计时,然后再读取桥接装置的状态寄存器来确定哪些目标存储器装置(如果有的话)已经准备好要发送出桥接装置的数据。如果控制器没有配置内部读取计时器,则它可以每隔一定时间间隔对状态寄存器进行轮询,或者使用某些其它手段来确定何时检查桥接装置的状态寄存器。当根据状态寄存器中的信息确定存储器装置之一为'就绪(Ready)'时,存储器控制器向该装置发出突发读取命令,该命令之后跟随着读取分组(DSI=1),以便将读出数据从'就绪'的存储器装置中发出,从而使数据可以返回到存储器控制器。
步骤664、666和668对应于第四个CSI选通处发生的事件。存储器控制器轮询或按照另外的方式检查桥接装置的状态寄存器,直到第二个存储装置'就绪'但是'被延后'。存储器控制器然后重新发送它曾经发送到这个存储器装置的原始的页读取命令,使得桥接装置从页缓冲区中向桥接装置的数据缓冲区内读取数据。
步骤670、672、674和676对应于第四个CSI选通之后和第五个CSI选通之后发生的事件。在向延后的装置重新发送读取命令之后,存储器控制器等待它的读取计时器完成计时,其表明内部传递时间结束,然后轮询状态寄存器,直到延后的存储器装置已经'就绪'并不再'延后'。再次,可能会有确定何时读取状态寄存器的供替换使用的更好的方法,不过这由存储器控制器的设计者决定。一旦读取到期望的状态,存储器控制器发出针对数据的突发读取命令,跟随其后的是读取分组,以将数据发送回到控制器。
前面介绍的实施方式很容易处理在与同一个通道连接的第二个装置变为就绪之前一个装置明确变为就绪状态的情形。可能存在与同一个通道连接的两个存储器装置由于它们各自的就绪/忙信号RBb同时有效而同时变为就绪的情形。在这种情形下,可以将桥接装置预先编程或硬布线以使得一个存储器装置优先于另一个。按照另外一种可选方案,可以动态设置优先级。例如,可以提供借助可编程寄存器控制的附加位。如果用例如逻辑0写入该寄存器,则存储器装置1将会被赋予优先级。如果用例如逻辑1写入该寄存器,则存储器装置2将会被赋予优先级。可以使用使得一个存储器装置优先于另一个或者使得一系列存储器装置中的各个存储器装置具有优先级的任何其它技术。
前面介绍的图8的方法和图10的示例的2存储器装置数据读取操作是图7中所示的仲裁方法的具体示例实施方式。虽然图8的方法致力于在各自具有单个要在任何单独一次读取操作中进行输出的数据页缓冲区的2个存储器装置之间进行仲裁,但是各个存储器装置可以是各自具有至少2个要在任何单独一次读取操作中进行输出的数据页缓冲区的多平面装置。
图12是对从多页存储器装置向具有单页存储容量的数据缓冲区的数据传递进行仲裁的示例方法实施方式。图12的当前方法与图8的方法实施方式之间的主要区别是单个存储器装置仅仅提供单个就绪/忙信号。
图12的方法开始于步骤700,在该步骤700,桥接装置通过向存储器装置发送适当的命令,发起从单个装置中进行的多平面读取操作。在步骤702,存储器装置将会把它的就绪/忙信号RBb驱动为表明它的用于加载其多页缓冲区的内部读取操作已经完成的逻辑状态。桥接装置然后在步骤704将除了第一个平面之外的所有平面设置为延后状态,在这个例子中第一个平面被称为平面n。注意,桥接装置被构成为用来按照预定的顺序为多平面存储器装置的平面分配优先级。在步骤706,来自平面n的页缓冲区的数据页被传送到桥接装置的数据缓冲区。在步骤708,桥接装置等待数据缓冲区变成可用,因为它可能正在忙于从平面n接收数据,或者可能忙于将它的内容输出到存储器控制器。当数据缓冲区可用时,在步骤710进行判断,以确定平面n是否是要从中读取数据的最后一个平面。在当前的示例迭代中,有要从中进行读取的至少一个额外的平面,因此该方法返回到步骤706,在步骤706,桥接装置发起从下一个预定平面n+1中进行的数据传递。重复进行步骤706、708和710的迭代,直到多平面存储器装置的最后一个平面的页缓冲区数据已经被传递到桥接装置的数据缓冲区。然后该多平面仲裁方法在712结束。
前面介绍的多平面仲裁方法实施方式使用状态寄存器位来追踪存储器装置的哪些平面处于延后状态。图13表示另一种可供选用的状态寄存器定义表,它类似于图9中所示的状态寄存器定义表,不过现在包括位24和25。位24追踪与通道1(CH1)连接的装置1(D1)的平面2(P2)的延后状态。位25追踪与通道1(CH1)连接的装置2(D2)的平面2(P2)的延后状态。当前的例子假设与通道1连接的各个存储器装置具有两个平面。由此,对于桥接装置的其它通道,可以包括类似的状态位对。当然,附加的状态位可以是依据与各个通道连接的存储器装置的数量和各个存储器装置内平面的数量而提供的。
图14是图解说明从与桥接装置的通道连接的单个存储器装置中进行的示例双平面读取操作的顺序图。图14中出现的很多信号名称与针对图10示出和介绍过的信号名称相同,只是除了底部的3个信号以外,这三个信号专门用于目前介绍的多平面数据传递仲裁方法。信号rd_data_D1_P1_stb是响应于来自信号neg_D1_rd_in_prog的脉冲而生成的选通信号,并且信号rd_data_D1_P1_stb通知桥接装置发起从存储器装置的平面1的页缓冲区向桥接装置的数据缓冲区进行的数据传递。信号defer_D1_P2_rd对应于用于追踪存储器装置1的平面2的延后状态的状态位。信号rd_data_D1_P2_stb以与rd_data_D1_P1_stb相同的方式发挥作用。沿着图14底部示出的寄存器位表示存储器装置1的平面2的延后状态位(d2)和存储器装置1的就绪/忙位(b1)的逻辑状态。同样,要注意的是,时间段并不是按比例示出的。
双平面读取操作非常类似于存储器装置读取操作,除了仅仅只有一个存储器装置参与其中,因此对于数据缓冲空间而言,没有装置与装置的竞争。当就绪/忙信号RBb变高时,两页读出数据都可用,因此应当预先确定选择哪一个页缓冲区的传递延后。在这个例子中,平面2总是被延后,并且其被硬布线成逻辑电路。按照另外一种可选方案,可以赋予平面2优先级或者通过控制寄存器设置优先级,从而可以动态改变优先级。其它的方法也是可行的。
参见图14,在桥接装置接收到双平面读取命令并且将其传递到目标存储器装置上之后,将信号D1_rd_in_prog设置为该逻辑电平。现在存储器装置被认为处于忙状态,并且状态位b1被设置为逻辑一,如'A'处所示。最终,信号RBb_1在800处由存储器装置驱动为高,表明内部读取完成并且两页都处于它们各自的页缓冲区中。信号RBb_1向高逻辑状态的跃迁触发一系列事件。首先,生成选通信号rd_data_D1_P1_stb,以发起平面1的页缓冲区与桥接装置的数据缓冲区之间的数据传递,如802处所示。其次,存储器装置的平面2被设置为延后状态,如被驱动为高逻辑状态的信号defer_D1_P2_rd所示的。如'B'处所示,延后的平面2状态位d2被设置为逻辑1。存储器控制器在804处读出数据缓冲区的内容,该内容响应于发生在806处的DSI选通信号而出现在Qn输出端口上。一旦数据缓冲区内容被输出到存储器控制器,存储器装置1的忙状态就被解除,如'C'处所示,此时位被设置逻辑0。在808处,存储器控制器再次发出原始的双平面读取命令,该双平面读取命令指示桥接装置将第二个数据页传递到桥接装置的数据缓冲区。桥接装置通过选通rd_data_D1_P2_stb做出响应,以发起平面2的页缓冲区与桥接装置的数据缓冲区之间的数据传递,如810处所示。此外,响应于选通信号,状态位d2被设置为逻辑0,以消除平面2的延后状态。然后控制器读取从Qn输出端口输出的数据,并且读取操作完成。
应当注意的是,前面给出的双平面读取实施方式可以与双装置读取实施方式相结合,以得出双装置双平面读取。在这一实施方式中,准备就绪的第一个存储装置预定桥接装置的数据缓冲区的使用以便从其页缓冲区中发出数据,而剩余的存储器装置被保持为延后状态。
前面介绍的图7、图8和图12的数据传递仲裁方法实施方式可以被实现为桥接装置内的逻辑控制电路。图15是按照本实施方式的、用于桥接装置的一个通道的部件的简化框图。简化的桥接装置900包括桥接装置接口902、状态寄存器904、读取传递仲裁器906、桥接装置控制器908、数据缓冲区910和存储器I/O接口912。桥接装置接口902从存储器控制器接收全局命令并且将它们提供给桥接装置控制器908,桥接装置控制器908将它们转换为与存储器装置兼容的本机命令。状态寄存器904可以包括前面介绍的与这一通道相关联的图9和图13的状态位。读取传递仲裁器906接收从与通道相连的存储器装置提供的就绪/忙信号,并且结合状态寄存器904和控制器908,控制哪些存储器装置或平面应当被置于延后状态。当前的例子假设有2个存储器装置与通道相连。
桥接装置控制器908将从桥接装置接口902接收的全局命令转换为本机命令,并且能够经由桥接装置接口902向存储器控制器提供包括状态寄存器数据的输出数据。数据缓冲区910的大小被设计为能够存储从存储器装置接收到的一页数据,它在尺寸上对应于存储器装置的页缓冲区。桥接装置控制器908控制数据缓冲区910接收来自于存储器装置的数据并且将其内容经由桥接装置接口902输出到存储器控制器。桥接装置控制器还负责更新状态寄存器904的位。I/O接口912向与通道连接的存储器装置提供命令和控制信号。在本例中,接口912是用于与NAND闪存存储装置通信的NAND闪存I/O接口。虽然图15将读取传递仲裁器906表示为与桥接装置控制器908相分离,但是这两个电路可以彼此集成在一起。如图15中所示,读取传递仲裁器906需要的存储器装置信号仅仅是就绪/忙信号RBb_1和RBb_2。这两个信号也被桥接装置控制器908用于发起内部控制信号的生成,比如前面的顺序图中示出的那些信号,并且用于更新状态寄存器904的位。
图16是按照本实施方式的、数据传递仲裁器电路的电路实施方式。仲裁器电路950是能够用于生成图10的顺序图中所示的某些内部信号的示例电路。该电路包括就绪/忙信号检测器952和954、读取操作检测器956和958、冲突检测器960和962、读出选通发生器964和966以及AND逻辑门968、970、972和974。图16中所示的电路元件可以按如下方式分组。元件952、956、960、964、968和970形成用于存储器装置D1的第一数据传递控制电路。元件954、958、962、966、972和974形成用于存储器装置D2的第二数据传递控制电路。总地来说,每个数据传递控制电路进行操作,以产生读取数据选通信号,该读取数据选通信号触发桥接装置控制器908发起在各个存储器装置与桥接装置的数据缓冲区之间的数据传递。不过,第一和第二数据传递控制电路是相互连接起来的,从而一个数据传递控制电路能够禁止另一个生成它的读取数据选通信号。
下面是参照第一个数据传递控制电路的元件对图16的电路进行的简要讨论。要注意的是,图16中出现的信号名称与图10中使用的信号名称相同。由实现为D型触发器的读取操作检测器956开始,检测读取操作信号RD_D1(CSI),以将D1_rd_in_prog驱动为逻辑1。就绪/忙信号检测器952被构成为用来检测RBb_1的上升沿,并且在这一事件发生时使pos_edge_RBb_1发出脉冲。这一脉冲将会使触发器956复位,以将D1_rd_in_prog驱动为逻辑0。读出选通发生器964将会生成rd_data_D1_stb,只要信号defer_D1_rd处于停用的逻辑0状态。rd_data_D1_stb信号可以由图15的BD控制器908用来向相应的存储器装置发出数据传递命令。触发器960仅当pos_edge_RBb_2和D1_rd_in_prog处于逻辑1状态时,通过AND逻辑门968将defer_D1_rd驱动为有效逻辑1状态。因此,如果在RBb_1之前检测到RBb_2,则defer_D1_rd被驱动为逻辑1并且选通信号rd_data_D1_stb的生成被禁止。在defer_D1_rd处于逻辑1的情况下,Defer_RD_D1(CSI)之后的读取操作信号将会通过AND逻辑门970使触发器960复位,以将defer_D1_rd驱动为逻辑0,这个逻辑0允许读取选通发生器964生成其选通信号。
第二数据传递控制电路具有与第一数据传递控制电路相同的结构,只是AND逻辑门972接收pos_edge_RBb_1并且AND逻辑门974接收Defer_RD_D2(CSI)。因此,如果首先检测到RBb_1的上升沿,则可以禁止第二数据传递控制电路生成它的选通信号rd_data_D2_stb。读出选通发生器964可以包括检测D1_rd_in_prog的下降沿并且在defer_D1_rd处于逻辑0状态的时候响应于该下降沿生成rd_data_D1_stb逻辑1脉冲的任何逻辑,但是当defer_D1_rd处于逻辑1状态时,禁止生成rd_data_D1_stb逻辑1脉冲。此外,读出选通发生器964逻辑还应当响应于defer_D1_rd的下降跃迁生成rd_data_D1_stb逻辑1脉冲。读出选通发生器966可以包括相同的逻辑电路。rd_data_D2_stb信号可以由图15的BD控制器908用来向相应的存储器装置发出数据传递命令。
按照本文介绍的技术的系统和装置适合于具有多个串连连接的装置的存储器系统。这些装置例如是存储器装置,比如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存存储器、DiNOR闪存EEPROM存储器、串行闪存EEPROM存储器、铁RAM存储器、磁电RAM存储器、相变RAM存储器和任何其它适当类型的存储器。
在前面的介绍中,为了解释说明的目的,给出了很多的具体细节,以便提供对本发明实施方式的透彻理解。不过,对本领域技术人员而言显而易见的是,并不需要具体的细节来实现本发明。在其它情况下,为了不使本发明含糊不清,以框图的形式示出了公知的电气结构和电路。
应当理解,当本文将一个元件称为与另一个元件"连接"或"耦合"时,它可以是与另一个元件直接连接或耦合的,也可以是存在其它中间元件。与此相反,当本文将一个元件称为与另一个元件"直接连接"或"直接耦合"时,不存在中间元件。用于描述元件之间关系的其它术语应当以类似的方式来加以理解(即,"介于之间"与"直接介于之间","相邻"与"直接相邻"等等)。
本申请中包含的附图不必按比例画出。例如,在图5中,桥接装置302和分立存储器装置304的相对尺寸并不符合比例,并且制造出来的桥接装置要在面积上比分立存储器装置304小若干数量级。
可以对所介绍的实施方式进行某些修改和改变。因此,前面讨论的实施方式被认为是说明性的,而非限制性的。

Claims (28)

1.一种用于控制从两个页缓冲区源向数据缓冲区进行的数据传递的方法,包括:
发起在所述两个页缓冲区源中的读取操作;
自动将来自于所述两个页缓冲区源中完成读取操作的第一页缓冲区源的数据传递到所述数据缓冲区;
当所述两个页缓冲区源中的第二页缓冲区源完成读取操作并且所述数据缓冲区繁忙时,禁止从所述第二页缓冲区源传递数据;
等待所述数据缓冲区变为可用;以及
当所述数据缓冲区可用时,从所述第二页缓冲区源传递数据。
2.根据权利要求1所述的方法,其中,所述两个页缓冲区源中的每一个和所述数据缓冲区的大小被设定为存储一页数据。
3.根据权利要求1所述的方法,其中,所述第一页缓冲区源是第一存储装置并且所述第二页缓冲区源是第二存储装置。
4.根据权利要求1所述的方法,其中,所述第一页缓冲区源是存储器装置的第一页缓冲区并且所述第二页缓冲区源是存储器装置的第二页缓冲区。
5.根据权利要求1所述的方法,其中,自动传递数据包括从所述第一页缓冲区源接收就绪信号。
6.根据权利要求5所述的方法,其中,自动传递数据还包括在从所述第一页缓冲区源接收到读取信号之后,向所述第一页缓冲区源发出数据传递命令。
7.根据权利要求1所述的方法,其中,禁止传递数据包括:如果针对所述第二页缓冲区源的读取操作正在进行中,则将所述第二页缓冲区源设置为延后状态。
8.根据权利要求7所述的方法,其中,设置延后状态包括将与所述第二页缓冲区源相对应的延后状态寄存器设置为延后状态。
9.根据权利要求8所述的方法,其中,传递数据包括将所述延后状态寄存器设置为非延后状态。
10.根据权利要求2所述的方法,其中,禁止传递数据包括从所述第二页缓冲区源接收就绪信号。
11.根据权利要求9所述的方法,还包括:在从所述第二页缓冲区源接收到读取信号并且所述第二页缓冲区源被设置为延后状态之后,禁止向所述第二页缓冲区源发出数据传递命令。
12.根据权利要求1所述的方法,其中,等待包括输出在所述数据缓冲区中存储的所述第一页缓冲区源的数据。
13.根据权利要求11所述的方法,其中,传递数据包括在所述数据缓冲区已经完成所述第一页缓冲区源的数据的输出之后,向所述第二页缓冲区源发出数据传递命令。
14.根据权利要求1所述的方法,其中,禁止传递数据包括在接收到就绪信号时,为所述第二页缓冲区源设置延后状态。
15.根据权利要求14所述的方法,其中,设置延后状态包括将与所述第二页缓冲区源相对应的延后状态寄存器设置为延后状态。
16.一种用于从桥接装置读取数据的方法,该桥接装置具有与该桥接装置的通道连接的两个页缓冲区源,所述方法包括:
向所述桥接装置发出从所述两个页缓冲区源中读取数据的页读取命令;
确定所述两个页缓冲区源中的第一页缓冲区源处于就绪状态并且处于非延后状态,该非延后状态表明所述第一页缓冲区源的数据被存储在所述桥接装置的数据缓冲区中;
从所述桥接装置的数据缓冲区中突发读取数据;
如果所述两个页缓冲区源中的第二页缓冲区源处于就绪状态并且处于延后状态,则向所述第二页缓冲区源重新发出页读取命令,用于将所述第二页缓冲区源的数据传递到所述桥接装置的数据缓冲区;以及
从所述桥接装置的数据缓冲区中突发读取数据。
17.根据权利要求16所述的方法,其中,发出页读取命令包括向所述第一页缓冲区源发出第一页读取命令,随后在预定的延迟时段之后,向所述第二页缓冲区源发出第二页读取命令。
18.根据权利要求17所述的方法,其中,响应于所述第一页读取命令,所述第一页缓冲区源从存储阵列中读取数据页并且将该数据页传递到所述桥接装置的数据缓冲区。
19.根据权利要求18所述的方法,其中,当发起所述数据页向所述数据缓冲区的传递时,所述桥接装置为所述第二页缓冲区源设置延后状态。
20.根据权利要求16所述的方法,其中,所述确定包括读取所述桥接装置的的状态寄存器,该状态寄存器指示与所述第一页缓冲区源和所述第二页缓冲区源中的每一个对应的就绪状态和非延后状态。
21.根据权利要求16所述的方法,其中,重新发出包括读取所述桥接装置的状态寄存器,以确定所述第二页缓冲区源是否处于就绪状态和延后状态。
22.根据权利要求21所述的方法,其中,响应于页读取命令,所述第二页缓冲区源从存储阵列中读取数据页并且将该数据页传递到所述桥接装置的数据缓冲区。
23.根据权利要求22所述的方法,其中,读取所述桥接装置的状态寄存器以确定所述第二页缓冲区源是否处于就绪状态,该就绪状态表明所述第二页缓冲区源的数据被保存在所述桥接装置的数据缓冲区。
24.一种用于从第一页缓冲区源和第二页缓冲区源接收读出数据的桥接装置,包括:
数据缓冲区,其具有预定的大小,用于接收来自于所述第一页缓冲区源的第一读出数据和来自于所述第二页缓冲区源的第二读出数据,所述第一读出数据和所述第二读出数据具有该预定的大小;
仲裁器电路,用于响应于检测到第一页缓冲区源准备好提供所述第一读出数据而生成第一读取传递信号,并且用于至少当所述第一页缓冲区准备好提供所述第一读出数据的时候、所述第二页缓冲区源变为准备好提供所述第二读出数据时,禁止第二读取传递信号的生成;
控制器,用于响应于用于从所述第一页缓冲区源向所述数据缓冲区传递所述第一读出数据的第一读取传递信号,向所述第一页缓冲区源发出数据传递命令。
25.根据权利要求24所述的桥接装置,其中,所述第一页缓冲区源是第一存储装置并且所述第二页缓冲区源是第二存储装置。
26.根据权利要求25所述的桥接装置,其中,所述仲裁器电路从所述第一存储装置接收表明所述第一存储装置准备好提供所述第一读出数据的第一就绪/忙信号跃迁,并且在所述第一就绪/忙信号跃迁之后,从所述第二页缓冲区源接收第二就绪/忙信号跃迁。
27.根据权利要求24所述的桥接装置,其中,所述第一页缓冲区是存储器装置的第一平面并且所述第二页缓冲区源是存储器装置的第二平面。
28.根据权利要求27所述的桥接装置,其中,所述仲裁器电路从存储器装置接收表明所述第一平面和所述第二平面准备好提供所述第一读出数据和所述第二读出数据的就绪/忙信号跃迁。
CN2011800335300A 2010-05-07 2011-05-06 使用单个缓冲区同时读取多个存储器装置的方法和设备 Pending CN102971795A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US33223210P 2010-05-07 2010-05-07
US61/332,232 2010-05-07
PCT/CA2011/050281 WO2011137541A1 (en) 2010-05-07 2011-05-06 Method and apparatus for concurrently reading a plurality of memory devices using a single buffer

Publications (1)

Publication Number Publication Date
CN102971795A true CN102971795A (zh) 2013-03-13

Family

ID=44902731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011800335300A Pending CN102971795A (zh) 2010-05-07 2011-05-06 使用单个缓冲区同时读取多个存储器装置的方法和设备

Country Status (8)

Country Link
US (1) US20110276775A1 (zh)
EP (1) EP2567379A4 (zh)
JP (1) JP5665974B2 (zh)
KR (1) KR20130071436A (zh)
CN (1) CN102971795A (zh)
CA (1) CA2798868A1 (zh)
TW (1) TW201209820A (zh)
WO (1) WO2011137541A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025926A (zh) * 2015-11-04 2017-08-08 三星电子株式会社 存储装置和操作存储装置的方法
CN107025069A (zh) * 2016-01-13 2017-08-08 桑迪士克科技有限责任公司 非易失性存储器的数据路径控制
TWI743736B (zh) * 2020-04-08 2021-10-21 瑞昱半導體股份有限公司 資料傳輸系統、電路與方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8565092B2 (en) 2010-11-18 2013-10-22 Cisco Technology, Inc. Dynamic flow redistribution for head of line blocking avoidance
US20120307641A1 (en) * 2011-05-31 2012-12-06 Cisco Technology, Inc. Dynamic Flow Segregation for Optimal Load Balancing Among Ports in an Etherchannel Group
US8462561B2 (en) 2011-08-03 2013-06-11 Hamilton Sundstrand Corporation System and method for interfacing burst mode devices and page mode devices
EP2856467A1 (en) * 2012-05-29 2015-04-08 MOSAID Technologies Incorporated Ring topology status indication
US9336112B2 (en) * 2012-06-19 2016-05-10 Apple Inc. Parallel status polling of multiple memory devices
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
US20140293705A1 (en) * 2013-03-26 2014-10-02 Conversant Intellecual Property Management Inc. Asynchronous bridge chip
KR102074329B1 (ko) * 2013-09-06 2020-02-06 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 처리 방법
US9400745B2 (en) 2013-11-06 2016-07-26 International Business Machines Corporation Physical address management in solid state memory
KR20170086345A (ko) * 2016-01-18 2017-07-26 에스케이하이닉스 주식회사 메모리 칩 및 메모리 컨트롤러를 포함하는 메모리 시스템
US9830086B2 (en) * 2016-03-03 2017-11-28 Samsung Electronics Co., Ltd. Hybrid memory controller for arbitrating access to volatile and non-volatile memories in a hybrid memory group
KR101867219B1 (ko) * 2017-02-22 2018-06-12 연세대학교 산학협력단 동적 메모리 인터페이스에 기반하여 서로 다른 메모리 연산들을 처리하기 위한 장치 및 방법
US9853805B1 (en) * 2017-02-24 2017-12-26 Dewesoft D.O.O. Buffered equidistant data acquisition for control applications
US10140222B1 (en) 2017-07-06 2018-11-27 Micron Technology, Inc. Interface components
US10802750B2 (en) * 2019-02-28 2020-10-13 Silicon Motion Inc. Universal flash storage memory module, controller and electronic device with advanced turbo write buffer and method for operating the memory module
US11232047B2 (en) 2019-05-28 2022-01-25 Rambus Inc. Dedicated cache-related block transfer in a memory system
WO2021159494A1 (zh) * 2020-02-14 2021-08-19 华为技术有限公司 固态存储硬盘和固态存储硬盘的控制方法
JP2022049553A (ja) * 2020-09-16 2022-03-29 キオクシア株式会社 半導体装置および方法
US12050773B2 (en) * 2021-08-12 2024-07-30 Micron Technology, Inc. Completion flag for memory operations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4442504A (en) * 1981-03-09 1984-04-10 Allen-Bradley Company Modular programmable controller
US20090021992A1 (en) * 2007-07-18 2009-01-22 Hakjune Oh Memory with data control
CN101568903A (zh) * 2006-12-21 2009-10-28 英特尔公司 Nand闪存的基于命令的控制
WO2010027983A1 (en) * 2008-09-03 2010-03-11 Marvell World Trade Ltd. Progamming data into a multi-plane flash memory
US20100091536A1 (en) * 2008-10-14 2010-04-15 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10009A (en) * 1853-09-13 Cutting boots and shoes
US3742456A (en) * 1972-04-05 1973-06-26 Pitney Bowes Inc Apparatus for selectively formatting serial data bits into separate data characters
US3748650A (en) * 1972-08-21 1973-07-24 Ibm Input/output hardware trace monitor
US4124889A (en) * 1975-12-24 1978-11-07 Computer Automation, Inc. Distributed input/output controller system
US4133030A (en) * 1977-01-19 1979-01-02 Honeywell Information Systems Inc. Control system providing for the transfer of data in a communications processing system employing channel dedicated control blocks
US4275440A (en) * 1978-10-02 1981-06-23 International Business Machines Corporation I/O Interrupt sequencing for real time and burst mode devices
US4456983A (en) * 1979-10-12 1984-06-26 Dresser Industries, Inc. System and method for visual display of well logging data
JPH07334372A (ja) * 1993-12-24 1995-12-22 Seiko Epson Corp エミュレートシステム及びエミュレート方法
JP2731768B2 (ja) * 1995-10-20 1998-03-25 甲府日本電気株式会社 メモリ制御装置
US5751638A (en) * 1997-01-17 1998-05-12 Integrated Device Technology, Inc. Mail-box design for non-blocking communication across ports of a multi-port device
WO2001069411A2 (en) * 2000-03-10 2001-09-20 Arc International Plc Memory interface and method of interfacing between functional entities
US7302503B2 (en) * 2002-04-01 2007-11-27 Broadcom Corporation Memory access engine having multi-level command structure
DE602004019990D1 (de) * 2004-08-30 2009-04-23 Magima Digital Information Co Verfahren und system zum datentransfer
EP1820356A1 (en) * 2004-12-01 2007-08-22 Koninklijke Philips Electronics N.V. Data processing system and method for converting and synchronising data traffic
US7243173B2 (en) * 2004-12-14 2007-07-10 Rockwell Automation Technologies, Inc. Low protocol, high speed serial transfer for intra-board or inter-board data communication
US20070005834A1 (en) * 2005-06-30 2007-01-04 Intel Corporation Memory chips with buffer circuitry
JP2007026021A (ja) * 2005-07-15 2007-02-01 Nec Electronics Corp バス制御システム及びバス制御方法
US7652922B2 (en) * 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
KR101293365B1 (ko) * 2005-09-30 2013-08-05 모사이드 테크놀로지스 인코퍼레이티드 출력 제어 메모리
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US20070130374A1 (en) * 2005-11-15 2007-06-07 Intel Corporation Multiported memory with configurable ports
US7562163B2 (en) * 2006-08-18 2009-07-14 International Business Machines Corporation Apparatus and method to locate a storage device disposed in a data storage system
EP2487794A3 (en) * 2006-08-22 2013-02-13 Mosaid Technologies Incorporated Modular command structure for memory and memory system
JP4674865B2 (ja) * 2006-10-30 2011-04-20 株式会社日立製作所 半導体集積回路
US7768297B2 (en) * 2007-01-31 2010-08-03 Rambus, Inc. Multi-drop bus system
US8086785B2 (en) * 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
US8291248B2 (en) * 2007-12-21 2012-10-16 Mosaid Technologies Incorporated Non-volatile semiconductor memory device with power saving feature
US20100115172A1 (en) * 2008-11-04 2010-05-06 Mosaid Technologies Incorporated Bridge device having a virtual page buffer
US8037235B2 (en) * 2008-12-18 2011-10-11 Mosaid Technologies Incorporated Device and method for transferring data to a non-volatile memory device
US20110258366A1 (en) * 2010-04-19 2011-10-20 Mosaid Technologies Incorporated Status indication in a system having a plurality of memory devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4442504A (en) * 1981-03-09 1984-04-10 Allen-Bradley Company Modular programmable controller
CN101568903A (zh) * 2006-12-21 2009-10-28 英特尔公司 Nand闪存的基于命令的控制
US20090021992A1 (en) * 2007-07-18 2009-01-22 Hakjune Oh Memory with data control
WO2010027983A1 (en) * 2008-09-03 2010-03-11 Marvell World Trade Ltd. Progamming data into a multi-plane flash memory
US20100091536A1 (en) * 2008-10-14 2010-04-15 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025926A (zh) * 2015-11-04 2017-08-08 三星电子株式会社 存储装置和操作存储装置的方法
CN107025926B (zh) * 2015-11-04 2021-05-04 三星电子株式会社 存储装置和操作存储装置的方法
CN107025069A (zh) * 2016-01-13 2017-08-08 桑迪士克科技有限责任公司 非易失性存储器的数据路径控制
CN107025069B (zh) * 2016-01-13 2021-09-28 桑迪士克科技有限责任公司 非易失性存储器的数据路径控制
TWI743736B (zh) * 2020-04-08 2021-10-21 瑞昱半導體股份有限公司 資料傳輸系統、電路與方法

Also Published As

Publication number Publication date
CA2798868A1 (en) 2011-11-10
JP2013525924A (ja) 2013-06-20
US20110276775A1 (en) 2011-11-10
EP2567379A4 (en) 2014-01-22
WO2011137541A1 (en) 2011-11-10
EP2567379A1 (en) 2013-03-13
TW201209820A (en) 2012-03-01
JP5665974B2 (ja) 2015-02-04
KR20130071436A (ko) 2013-06-28

Similar Documents

Publication Publication Date Title
CN102971795A (zh) 使用单个缓冲区同时读取多个存储器装置的方法和设备
US7934070B2 (en) Streaming reads for early processing in a cascaded memory subsystem with buffered memory devices
US7337293B2 (en) Streaming reads for early processing in a cascaded memory subsystem with buffered memory devices
US9159380B2 (en) Bridge device architecture for connecting discrete memory devices to a system
US8134852B2 (en) Bridge device architecture for connecting discrete memory devices to a system
US9977731B2 (en) Bridging device having a configurable virtual page size
US20100115172A1 (en) Bridge device having a virtual page buffer
CN104520932A (zh) 闪存存储器控制器
US8468281B2 (en) Apparatus to improve bandwidth for circuits having multiple memory controllers
US9063849B2 (en) Different types of memory integrated in one chip by using a novel protocol
JP2015520459A (ja) リングトポロジーステータス指示
US20090019184A1 (en) Interfacing memory devices
US20090175100A1 (en) Method and apparatus for storage device with a logic unit and method for manufacturing same
WO2006112968A1 (en) Apparatus to improve bandwidth for circuits having multiple memory controllers
WO2007116485A1 (ja) メモリ装置、そのインタフェース回路、メモリ・システム、メモリ・カード、回路基板及び電子機器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Ontario, Canada

Applicant after: Examine Vincent Zhi Cai management company

Address before: Ontario, Canada

Applicant before: Mosaid Technologies Inc.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: MOSAID TECHNOLOGIES INC. TO: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.

ASS Succession or assignment of patent right

Owner name: NOVA CHIP CANANA COMPANY

Free format text: FORMER OWNER: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150505

Address after: Ontario, Canada

Applicant after: Nova chip Canada Company

Address before: Ontario, Canada

Applicant before: Examine Vincent Zhi Cai management company

C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130313