电信转接器中的ampicdram系统的制作方法

文档序号:6418935阅读:129来源:国知局
专利名称:电信转接器中的ampic dram系统的制作方法
技术领域
本发明涉及下述共同未决美国专利申请中所描述的类型的动态随机存取存储器技术(DRAM):Mukesh Chatter 1995年12月29目提交并转让给本申请的共同受让人的高性能通用多端口内部高速缓存动态随机存取存储器(AMPIC DRAM)系统、体系结构与方法,该系统消除了当前的系统带宽限制与相关问题并提供显著地增强的系统性能且降低成本,作为提供统一的存储器体系结构的结果能够基本上对许多应用通用。本发明更具体地涉及特别适用于ATM(异步传递方式)Sonet(同步光学网)交叉连接及WDM(波设计多路复用)及类似应用的系统中的改进。
更一般地,当将所述共同未决申请的技术用在拥有诸如中央处理单元(CPU)等具有并行数据端口及各连接在并争用对公共系统总线接口的访问的动态随机存取存储器(DRAM)的主控制器的系统中时,在于包括多端口内部高速缓冲存储的DRAM(AMPIC DRAM)的改进的DRAM体系结构,其中提供了多个独立的串行数据接口,各通过对应的缓冲器连接在独立的外部I/O资源与内部DRAM存储器之间。在诸如所述CPU等总线主控制器的动态逻辑的控制下在串行接口与缓冲器之间实行转接,用于为I/O资源寻址的目的地中的所需要求的数据可确定路由性转接适当的地址分配。为各种活跃的分组缓冲器与CPU之间的总线接口访问执行仲裁,但通过串行接口从或向分组缓冲器接收或传输数据不需要仲裁。此外,AMPIC DRAM转接模块将任何缓冲器分配给任何串行接口而无须在缓冲器与核心DRAM之间传送数据的任何中间步骤,并当作为端口定义时,各缓冲器具有同时与所有串行接口对接的能力,此外,各缓冲器是配置成与它所连接或对接的端口相同的端口尺寸的。
这一技术对于处理相对地大与短的数据报文是有用的并且总线争用得以减少。
虽然通过尽可能多地高效利用数据端口高速缓存槽与DRAM体存取随机化减少了对相对地大的报文的总线访问争用的仲裁要求,然而在提供相对地短或小的报文中,AMPIC DRAM阵列系统可能对高速缓冲存储槽中的可利用的空间利用不足,而导致可利用的缓冲器槽的迅速耗尽。
发明目的从而,本发明虽然不是只考虑而是主要特别关心ATM与类似类型的系统操作来改进这种小报文槽空间的利用不足。本发明通过消除对外部控制与地址存储的需求而使用内在的数据头标目的地信息来做到这一点,并且这样做将DRAM访问的所有总线争用降低到零,如下面更全面地说明的。
从而,本发明的主要目的,特别(虽然不仅仅)当作用在ATM与类似或相关的系统操作上时,为提供用于AMPIC DRAM操作的新的与改进的方法及系统,它消除了外部控制与寻址存储器的必要,同时将DRAM访问的所有总线争用降低到零。
另一目的是提供一种新颖的系统,其中对与DRAM阵列的串行接口相关的数据高速缓冲存储器槽空间实现更高效的利用,特别是更全面地利用这种空间于相对地短或小的报文。
本发明的另一目的为在消除了外部控制路径与地址之外提供使用内在的首标目的地信息或“目的地标签”的系统,它允许报文自我确定路由通过AMPIC设备。本发明允许将带有相同标签的所有报文的路由确定到同一DRAM体上,而不管这些报文始发自哪一个I/O资源。这一“分类能力”或带有相同目的地的通信量的聚集极为适合于上述SONET交叉连接及WDM(波分多路复用)系统。
又另一目的为提供通过在写DRAM体之前将报文组装在一起来消除小报文槽空间利用不足的系统,这对于ATM及报文本质上是小的类似类型的系统操作特别有用。
此外,本发明的目的为提供上述特征同时在所有情况中将对DRAM访问的总线争用降低到零。
其它与进一步的目的将在下面说明并在所附的权利要求中更全面地描述。
下面将提出较佳与最佳模式设计及操作细节。
图6为AMPIC DRAM内部系统总线的框图,带有位于各AMPIC DRAM端口缓冲器与DRAM阵列之间的纵横转接器;图7示出本发明的较佳实施例,带有专用于系统I/O资源的DRAM体、划分成单元的专用DRAM体槽、及位于所有系统I/O资源与各槽之间的纵横转接器;以及图8详细展示缓冲器槽与对应的单元的实现,带有将具有公共目的地的不同I/O数据写端口上的多个数据流聚集到单个AMPIC DRAM体上并提出到单个I/O读端口的单个数据流的实例;以及图9为示出复制图7与8中的系统来提供N等级服务及目的地体系结构排队的框图。
本发明的优选实施例在转向本发明的较佳实现之前,为了更好地将本发明与所述共同未决申请的基本系统作一对比,相信首先参照

图1与2简要地回顾后者是有用的。共有未决的Chatter申请的AMPIC DRAM探讨如前面所描述的,所述共同未决申请的AMPIC DRAM设备所提供的基本结构在作用在包括各设置有缓冲器高速缓冲存储槽的数据端口上的系统I/O资源到位于AMPIC DRAM设备内的DRAM存储器阵列体之间提供非常高的带宽的连接。这一体系结构包含了通过改变DRAM体的数目,改变串行接口的数目及改变每一串行接口的数据端口的数目便能建立不同的AMPIC存储器设备。系统I/O资源指称需要读与写数据到AMPIC设备或一组AMPIC设备中的能力的逻辑块。假定源系统I/O资源能通知目的地系统I/O资源它已将数据放置在目的地系统I/O资源的AMPIC设备中的特定地址上,则该AMPIC设备提供在图1中的I/O资源1...n之间提供转接传送大量数据从一个系统I/O资源到另一个的机制。AMPIC设备包含内部DRAM体,各体中具有若干存储器单元,其中可读与写可变大小的数据块。最大的允许数据大小是由AMPIC设备的个体实现确定的。各AMPIC存储器地址标识特定内部DRAM体中能通过所有串行数据接口对其写与读数据的特定存储器单元,所有系统I/O资源都适应于通过它们连接在其上的串行接口读与写所有的AMPIC存储器单元。
各系统I/O资源具有如在图1中所标记的并在图2中更全面地示出的连接在AMPIC设备串行接口之一上的写控制总线与写数据总线以便写数据到AMPIC设备中。为了写可变大小数据块到AMPIC设备中,系统I/O资源在写控制总线上发送AMPIC地址并在其写数据总线上发送该可变大小数据块。当AMPIC上的串行数据接口接收到地址与数据时,它便将其放在该串行数据接口的写高速缓冲器槽中。完成了对特定系统I/O资源连接在其上的串行数据接口的当前写操作之后,它能立即开始写另一可变大小的数据脉冲串到另一AMPIC设备地址。随着将更多的数据写入一个串行数据接口上的AMPIC中,写高速缓冲器槽可能比能清空它们更快地填满。为了保持各串行接口上的写高速缓冲存储器不溢出,各串行接口具有停止(或暂时停止)当前数据线传送直到在写高速缓冲器中已释放了足够的空间来结束完成当前的写传送为止的装置。当将数据写入各串行数据接口的写高速缓冲器中时,串行数据接口请求访问AMPIC设备中的内部DRAM体。图2中的DRAM体同意不同的串行数据接口访问AMPIC设备的DRAM体,允许将串行数据接口转接成将数据从写高速缓冲器移至内部DRAM体的适当存储器单元中。在多个串行数据接口试图写数据到同一DRAM体中时在串行数据接口中利用写高速缓冲存储来协助平息争用时段。然而,当太多的请求未解决从不同的串行接口到同一DRAM体时,则强制一些串行接口停止当前的写操作以便防止它们的写高速缓冲器溢出。
如上所述,除了写控制与写数据总线,各系统I/O资源具有图1与2中所示的连接在AMPIC设备串行接口之一上从该AMPIC设备读数据的读控制总线与读数据总线。当系统I/O资源想要读取位于特定AMPIC地址上的可变大小数据块时,它将该地址写到连接在其读控制总线上的AMPIC串行数据接口中。AMPIC上的串行数据接口将地址放在读高速缓冲器中直到它能得到其中存有该数据的内部DRAM的控制并将其读出。检索出数据之后,串行数据接口将该可变大小数据块传输回系统I/O资源。由于从AMPIC地址读数据中的延时的不确定性,将AMPIC设备设计成使其能请求来自若干地址的数据并在取出与返回第一个可变大小数据块之前存储在读高速缓冲器中。这允许同时请求及从DRAM体检索出多块数据。然而,AMPIC保持地址的插入次序并能按这一次序将检索到的数据传输回系统I/O资源。
此外,利用其将多个AMPIC设备‘堆积’成AMPIC设备阵列来建立更大的虚拟AMPIC设备的能力,可进一步改进AMPIC的灵活性,如图3至5中所示。图3中,为CPU数据位0-15的情况示范性示出AMPIC单元#0-3,体或阵列的各AMPIC设备与位0-15的各系统I/O资源#1-#4接口。图4中概述了按照所述共同未决申请,系统I/O资源将地址与数据分配给这些AMPIC DRAM设备(在图4中称作“芯片”因为这是它们在商业上赋予的形式)的方法。将地址位(示例性系统I/O资源中央)馈送给所有AMPIC芯片设备#0-3,数据字节0(位0-7)的位作用在芯片0上;数据字节1(位8-15)在芯片1上;数据字节2(位16-23)在芯片2上;及数据字节3(位24-31)在芯片3上,等,并将跨若干DRAM部件的数据单元链接在一起。图4中,地址针脚示出为与数据总线分离的针脚。特定的实现能最佳地多路复用地址与数据针脚来改进对AMPIC的数据传送。
图5详细描述示范性AMPIC DRAM内部总线系统的体系结构,示出允许若干同时的小数据报文传送或单个宽数据报文传送的划分。在这一图示中,示出了1至M个DRAM体,各受外部控制及各设置有用于沿公共的共用总线作用来自各自的系统I/O资源#1...N的高速缓冲存储在#1-n数据端口串行接口缓冲器高速缓冲存储槽0-M中的数据的纵横转接输入端(T/M位,其中T为总的数据总线宽度)。
这使之有可能调节来自AMPIC设备的阵列或虚拟AMPIC设备的数据总线,能将数据写入或读出单个AMPIC设备的数据速率提高“n”倍,并且还能将存储在各存储器单元上的最大数据量提高到单个AMPIC设备中的大小的“n”倍。
当将多个AMPIC设备聚集到AMPIC设备的阵列中并用作一个大的虚拟AMPIC设备时,如在上述图3、4、5与6中所示,所有‘m’个AMPIC设备是时钟周期同步的,意味着即使没有控制线将这些AMPIC设备连接在一起,这‘m’个AMPIC设备仍然保持完全同步,因为同时在所有‘m’个设备上执行完全相同的读与写访问。还应观察到因为同时在所有‘m’个AMPIC设备上执行完全相同的读与写访问,对于单个AMPIC具有与对虚拟AMPIC设备相同数目的AMPIC地址。因些这里将同步在一起的若干AMPIC设备称作AMPIC设备的阵列或虚拟AMPIC设备,并将关于单个AMPIC设备的讨论也直接应用在虚拟AMPIC设备上,反之亦然,因为虚拟AMPIC设备只是并行工作的多个AMPIC设备而己。
如图1-3中所示,由于这些接口共用到DRAM体的相同内部DRAM总线来将数据放入DRAM体中及取出它,在一定的时间统计百分比上不可避免地会出现对这些共享的资源的争用,从而导致从或向AMPIC存储器内部的DRAM体读出或写入数据所占用的时间具有明显的带有一定有保证的上限的可变性。在缓和大多数争用的努力中,设置了附加的缓冲存储或高速缓冲存储,使得如上所述,在到达必须停止到系统I/O资源之一的外部串行接口之一的点之前能够存储少量写访问。通过在串行接口中存储少量写操作,在必须停止外部串行数据接口中任何一个之前排除了出现了大多数争用。类似地,为读访问提供了一定级别的高速缓冲存储,使之能同时存储与处理多个DRAM体的读请求,降低了没有数据提交发送给特定系统I/O资源的可能性。
概言之,如在详细描述带有位于各AMPIC DRAM端口缓冲器与DRAM阵列之间的纵横转接器的内部系统总线的图6中更全面地示出的,各系统I/O资源连接在AMPIC DRAM设备内的数据端口上,而将各数据端口分成等于DRAM体的数目的若干缓冲器槽。m×n纵横“转接器”示出为放置在各系统I/O资源数据端口与DRAM阵列之间,其中该DRAM阵列包含m个体而数据端口包含n个槽。纵横转接器能通过非常宽的数据总线(用粗线示出)将任何槽驱动到DRAM体中任何一个中。如果在当前写周期中出现对DRAM体的争用,纵横转接器允许系统I/O资源利用空槽。当授予许可时,AMPIC将启动该槽到宽数据总线上的正确DRAM体通道上。由于若干原因能出现上述对DRAM体的争用正在进行读周期;来自同一系统I/O资源的多个报文以同一DRAM体为目的地;来自其它系统I/O资源的报文以同一DRAM体为目的地。由于系统I/O资源数据端口包含有限数目的槽来缓冲存储报文直到允许访问,当数据端口没有可利用的槽时,在该系统I/O资源上作用有背后压力而系统性能下降。
在共同未决申请的典型AMPIC DRAM阵列系统中,通过大报文高效地利用槽及尽可能随机化DRAM体访问这一事实减少了争用。另一方面如上所述,小报文对槽中的空间利用不足,导致可利用的槽迅速耗尽。
例如,考虑图6中所示的包含16个I/O资源与16个堆积的AMPICDRAM设备的AMPIC DRAM阵列系统的情况。各AMPIC DRAM包含16个512位宽的DRAM体。这一体系结构得到每一设备8k位的内部宽数据总线,或跨所有堆积的AMPIC设备的128k位。在单个AMPIC设备上,各系统I/O资源数据端口包含16个槽,每一个槽512位存储器。单个槽能跨所有16个堆积的AMPIC设备存储8k位。
考虑将相对地短的424位ATM报文写到跨整个AMPIC DRAM阵列的槽中的系统I/O资源,这一报文只占用5%的槽,并带有到各AMPIC的4位宽数据路径,这一事务只占用7个时钟信号来完成。这一槽空间的低劣利用,结合DRAM体争用能导致可利用的槽的迅速耗尽及最终导致系统性能降低。
现在为了描述本发明所实现的对所述共同未决申请的系统的修改,对于诸如ATM等某些应用完全消除任何争用,及缓和对附加缓冲存储的需要及上面关心的其它问题,同时附加消除对外部寻址控制的所有要求,及进一步为短数据报文启动串行接口缓冲器中的高速缓冲存储槽的更高效的使用。本发明这些目的及对利用小报文的存储器应用达到非常高的系统带宽,是由本发明通过新颖的体系结构完成的,如上所述完全消除AMPIC DRAM设备内的DRAM体争用。如上所述,这对于进入报文大小只有424位的纯ATM联网系统(及诸如此类)是特别有用的。
图7中利用上面的16个I/O资源的实例作为示例说明用于排除这些问题的本发明的较佳实施例。按照本发明各DRAM体具有用于存储以该体为目的地的报文的单个专用的槽缓冲器。将各槽缓冲器划分成预定数目的单元,其中该数目也表示系统I/O资源的数目。
单个单元能容纳完整的ATM报文与某些附加控制信息,单元定义为每一个设备32位,或跨“AMPIC DRAM”阵列中所有16个设备512位。
在上面提出的16个系统I/O资源的实例中,单个槽具有跨AMPICDRAM阵列的8k位总存储器(512位×16),因此能保持16个ATM报文。然而,各系统I/O资源具有到所有16个槽的唯一数据路径。在各槽与所有系统I/O资源之间设置标记为m×n的纵横转接器,其中m表示系统I/O资源的数目而n表示每个槽的单元数。这使AMPIC设备能将进入报文导向到单个槽内的任何单元上。应指出这蕴含一个单元并不专用于一个系统I/O资源,而只是一个可利用的存储空间。
这一新颖体系结构的重要特征是所有16个系统I/O资源同时写完整的ATM(或类似的)报文到单个槽或任何数目的槽中的能力。从而这一体系结构通过将小报文组装在一起而全面利用的内部宽存储器总线上的高带宽。
初看起来好象由于已将以同一体为目的地的报文一起组装在同一槽中而消除了DRAM体争用。然而,遗留的问题在于存储在单个槽中的各该16个ATM报文虽然以同一体为目的地,但有可能具有不同的行地址。如果各报文与相关DRAM地址来自不同的系统I/O资源,这几乎总会出现。因此要描述真正完全消除DRAM争用的本发明的较佳为了在说明中模仿的目的,考虑各系统I/O资源以其专用的DRAM体作为信箱。信箱只包含独占地拥有它的系统I/O资源的报文。从而图7中的存储器划分消除了读周期期间的争用。这一体系结构要求DRAM体的数目等于或大于系统I/O资源的数目。进入ATM报文不再需要DRAM地址,只要唯一的信箱号码。系统I/O资源连同报文一起注入这一信箱地址(目的地端口号)并根据信箱地址将报文的路由确定到适当的槽上。
然后通过上述m×n纵横转接器将报文拼接在单元中。图8展示上述体系结构的实现细节。为了拼接报文及全面利用一个槽,各单元必须接纳多个项。例如,可能产生只有一些单元保持有报文而导致部分填满的槽的情况。DRAM不会写数据因为该槽具有空单元而这会使DRAM存储器利用不足。在更坏的情况中,I/O写端口可能具有16个可用于写的新报文,且所有报文都以同一DRAM体并从而同一槽为目的地。事实上,由于各I/O写端口独立地发送报文,可利用的单元与报文之间的失配实际上是通常发生的。通过将各单元实现为具有最小深度要求2的小fifo(先进先出)很容易纠正这一问题。这一新颖的实现保证槽能永远接纳16个报文。如果槽中fifo项的行一行是部分填满的,纵横转接器便引导新报文顺序地填充空单元,完成第一行。如果进入报文的数目大于第一行中的项数,则将剩余报文引导到fifo项的第二行。由于不存在对DRAM的写周期的争用,DRAM接受完整的第一行,清空fifo的顶部。图8示出带有示例数据流的这一体系结构。注意在某些情况中如果没有可获得的进入报文且DRAM写逻辑感测到已违犯了最小系统等待时间,则部分填满的槽可写到DRAM体中。在本发明的其它实施例中,取决于争用单元fifo体系结构可具有更深的深度。例如,在替代实现中,多个槽可竞争同一体,但单元fifo必须大于2深以便在等待访问DRAM体时同时吸收报文。
在典型情况中,不是所有16个I/O资源都将发送报文给信箱,蕴含一些单元将是空的。AMPIC在读周期中需要知道这一点,并能通过在未使用的单元中写入一个无效位来跟踪它。当系统I/O资源响应AMPIC信箱标志信号(可获得报文)时,严格按照写入它们的次序DRAM中读出报文。这使其本身报从于ATM通信量协议,该协议提出来自单个系统I/O资源的报文必须保持次序。通过使用简单的读与写地址计数器来跟踪DRAM信箱中的数据,AMPIC保持次序。这服从ATM、Sonet交叉连接及WDM通信量协议,这些协议提出来自单个系统I/O资源的报文必须保持次序。
例如,考虑所有16个系统I/O资源都在发送多信道广播报文到所有其它16个系统I/O资源的极端情况。本发明的独一无二的体系结构能在跨16个槽的256个单元中接纳全部256个报文。从而在写周期中无论如何都没有争用。并且如上面指出的,由于各系统I/O资源拥有专用的信箱而无须与其它16个系统I/O资源争用DRAM访问,在读周期上同样不存在争用。
除了提供零争用,本发明还消除了所述共同未决申请的外部控制路径与寻址的必要性。
不是使缓冲器将随机地址馈送到AMPIC设备中及随机地将它们写入存储器中,按照本发明,由于数据分组是接收与分解到缓冲器中的,在这一时间点上,系统通过简单地观察分组中的原始首标己知道了目的地。从而,一开始I/O资源模块便知道该分组或缓冲器要去往的目的地(地址),从而当将缓冲器注入AMPIC DRAM系统中时,不是拥有随机存储器地址,它本质上拥有目的地I/O模块的地址。
在图6的示例性情况中,在具有16个I/O模块的系统中,一个I/O模块基本上具有来自首标的4位地址,说明这一特定缓冲器要去往特定的目的地。此外,由于按照本发明的这一体系结构上增强的AMPIC系统,各DRAM体是专用于一个I/O模块的,写入一个体中的一切都只以一个I/O模块为目的地。在这一特殊情况中,可以说图6的DRAM体1只包含I/O模块1的缓冲器。DRAM体2只包含I/O模块2的缓冲器,以此类推。这一特征具有若干优点。首先,如上所示,当I/O模块进入AMPIC系统去读缓冲器时,对特定的DRAM体不存在争用,因为一个I/O模块只从一个DRAM体读取,并且不与其它DRAM体争用。虽然所有I/O资源需要写到所有体中,如图7中底部所示,各I/O资源只从一个专用的DRAM体读取,如图7中顶部所示,有选择地读取。
因此,本发明的应用,得益于利用进入分组首标的4位目的地地址,基本上说明该特定缓冲器是以特定的I/O资源为目的地的并应去往DRAM体上专用于该I/O模块的这一特定资源,消除了所述共同未决申请的外部控制及存储器寻址。例如,如果I/O资源1拥有去往I/O模块2的缓冲器数据,它将写入DRAM体2。然而,在DRAM体的进入侧上,需要能从所有端口取缓冲器数据的潜力,因为所有端口都可发送缓冲器给同一目的地。为了调节这一问题,本发明采用减小大小的缓冲器,从而可将DRAM行划分成较小的缓冲器大小,即单元。这一体系结构允许报文自我确定路由通过AMPIC设备。这一“分类能力”或具有相同目的地的通信量聚集极为适合于Sonet交叉连接与WDM(波分多路复用)系统。
虽然按照所述共同未决申请的技术,采用512字节或256字节的缓冲器大小,本发明将缓冲器大小降低到例如64个字节,建立各跨越16个DRAM阵列的16个64字节的单元。当一个I/O资源馈入数据时,它将其写入这些单元之一。即使所有16个资源都在试图写到同一DRAM,现在己有足够的单元来接纳所有这些16个I/O资源了。
与所述共同未决申请具有等于能一次性写入DRAM的整个数量的缓冲器大小的当前体系结构不同,本发明提供能使一个DRAM体同时取来自每一个缓冲器的缓冲器数据的较小缓冲器大小的特征。不是具有512字节缓冲器大小,本发明的64字节使每一个缓冲器都能访问DRAM,如上面说明的。
此外,应强调,对于本发明,纵横转接器是介于I/O资源与缓冲器单元(有时称作SRAM)之间的,从而如果所有资源都不在写到目的地DRAM中,则能组装这些缓冲器以便不浪费存储器空间。作为示例,假定I/O资源1与16正在写到I/O模块2。它们两者都写入I/O DRAM2中。然而,不是写入槽1与16中,纵横转接器允许将这两个缓冲器数据互相靠近放置在邻接的单元1与2中,以免在存储器中产生空洞或未使用的空间。
上述64字节选择对于ATM应用等是完美的,因为53字节组正好能放进64字节空间中。但是由于同样的原因,如果希望具有较大的缓冲器大小,通过用AMPIC的不同特点加宽总线或通过采用当前的特点而只是建立它们的列,便能容易地做到这一点。事实上,不仅用列还可通过放置诸如32个AMPIC设备来增加缓冲器大小,在这一情况中,64个字节变成了128个字节。
与所述共同未决申请的技术不同,本发明将16×16纵横转接器放在SRAM或单元缓冲器前面,直接在每一个DRAM下方。当缓冲器数据进入时,根据首标的预定目的地标签(没有存储器地址)将其路由确定到特定的SRAM与DRAM。从而,根据在I/O资源上预定的目的地将进入的缓冲器数据的路由确定到DRAM体上,因此在AMPIC外部,标志几乎象信箱标志一样出现,而I/O资源将会进入并正好读取其体及得到正好以该特定I/O模块为目的地的所有缓冲器数据,并且不再需要在控制单元上围绕系统发送地址到目的地模块并且不再要求这一模块在随机存储器单元上抽出缓冲器。各I/O模块将进入并且它将知道只读出所选择的信箱与DRAM,这一DRAM体中的所有缓冲器的目的地都是这一I/O模块。因此,现在只有一种功能,便是知道信箱中有东西及去读取它。
利用本发明的与众不同的设计图,当写到DRAM时,在上面讨论的那种fifo体系结构中,没有地址,只有计数器,一切都象它进入时那样写。模仿信箱的各DRAM体具有一个写指针及一个读指针,写指针从0开始,而当缓冲器数据进入时,只是按次序写它们。因此,根据缓冲器数据进入的次序维持次序,向联网体系结构确认已维持了次序。
本发明还提供常用的服务与数据的8等级排队,如图9中所示。
对于这种服务等级,可将图8的AMPIC DRAM体系结构的列分成优先级队列0、优先级队列1、等。进入的I/O资源能选择到哪一队列中去写缓冲器数据。在附着在缓冲器上的I/O模块外面,转接器杆计算、控制优先级与其4位目的地,并根据队列及对应的内部AMPIC进入适应的列,进入正确的信箱。例如,I/O模块0发送给I/O模块16,及其优先级1进入这一AMPIC并被加载到这一DRAM I/O模块16中。至于先读出哪一列的决策,明显地是基于优先级服务的,并且将DRAM作为fifo体系结构使用,再一次不需要在系统中到处传递地址,并且保证不存在争用。
虽然图9示出用AMPIC的列实现服务器等级,其中列表示优先级队列,应指出本发明的代替实施例可用DRAM的体在AMPIC中实现队列。根据其目的地首标与优先级标签将进入的报文的路由确定到一个体上。I/O读端口拥有为该端保持分类与优先化的报文的专用的DRAM的体。
对于熟悉本技术的人员可产生进一步的修改,并且认为这些是落入在所附的权利要求中所定义的本发明精神与范围内的。
权利要求
1.供在具有诸如中央处理单元等主控制器的系统中使用的改进的DRAM体系结构,该中央处理单元具有各连接在公共系统总线接口上的并行数据端口与随机存取存储器(DRAM),该改进的DRAM体系结构包括多端口内部高速缓冲存储的DRAM体(AMPIC DRAM)的一阵列,各AMPIC DRAM包括通过对应的数据高速缓冲存储多单元槽缓冲器连接在独立的外部I/O数据写入资源端口与对应的内部DRAM存储器之间的多个独立串行数据接口,各DRAM体连接在分别用于存储以该体为目的地的缓冲存储的数据及只将存储的数据读出到该专用的I/O数据读出资源端口的各专用于该DRAM体的单个槽缓冲器及单个目的地I/O数据读出资源端口上;介入各I/O数据写入端口与对应的槽缓冲器之间的纵横转接器,但所有I/O数据写入端口都连接在到各纵横转接器的输入数据上,使得I/O数据写入端口能写入槽缓冲器中的任何单元中。
2.权利要求1中所要求的系统,其中各I/O数据写入资源所提供的数据包含对应于I/O数据读出资源端口的首标目的地地址,并设置了装置用于将这一数据的路由确定到专用于连接在该目的地地址的I/O数据读出资源端口上的该DRAM体的槽缓冲器上。
3.权利要求1中所要求的系统,其中各槽缓冲器的单元可利用作为所有系统I/O资源的存储空间,而不是专用于特定系统I/O资源。
4.权利要求1中所要求的系统,其中各槽缓冲器是划分成预定数目的单元的,并且该数目对应于系统I/O资源的数目。
5.权利要求4中所要求的系统,其中设置了m×n个纵横转接器位置,其中m为系统I/O资源的数目而n为每一个槽缓冲器的单元数目,借此使AMPIC DRAM能将进入的数据报文引入到单个槽缓冲器内的任何单元中。
6.权利要求1中所要求的系统,其中所有I/O数据写入资源端口适应于写到所有DRAM体,但各I/O数据读出资源端口只从对应地专用的一个DRAM体读取。
7.权利要求6中所要求的系统,其中使槽缓冲器大小为64字节的数量级。
8.权利要求7中所要求的系统,其中该数据包括ATM报文及所有系统I/O资源都同时启动来将完整的ATM报文写入单个槽缓冲器中。
9.权利要求8中所要求的系统,其中设置了一16DRAM阵列产生各跨该阵列的16个64字节的单元。
10.权利要求1中所要求的系统,其中设置了这些阵列的列,各列赋予用于不同服务与数据的排队优先级,而DRAM则起到为其提供fifo体系结构的作用。
11.在多端口内部高速缓冲存储的DRAM体(AMPIC DRAM)的一阵列中,其中通过对应的数据高速缓冲存储多单元槽缓冲器在独立的外部I/O数据写入资源端口与对应的内部DRAM存储器之间连接多个独立串行数据接口,一种排除公共系统总线接口争用的方法包括,将单个槽缓冲器专用于各DRAM体;将单个目的地I/O数据读出资源端口专用于各DRAM体;在各I/O数据写入端口与对应的槽缓冲器之间进行纵横数据转接;以及将所有I/O数据写入端口连接在到各纵横转接的输入数据上。
12.权利要求11中所要求的方法,其中各I/O数据写入资源端口所提供的数据包含用于将这些数据的路由确定到专用于该DRAM体的槽缓冲器的首标目的地地址,该DRAM体又连接在该目的地地址的I/O数据读出资源端口上。
13.权利要求12中所要求的方法,其中各槽缓冲器被划分成预定数目的单元,并且该数目对应于系统I/O资源的数目。
14.权利要求13中所要求的方法,其中设置了m×n纵横转接,其中m为系统I/O资源的数目而n为每一个槽缓冲器的单元数,使得AMPIC DRAM能将进入的数据报文引入到单个槽缓冲器内的任何单元。
15.权利要求14中所要求的方法,其中所有系统I/O资源提供接连的单元用于存储器存储来组装或填充槽缓冲器的单元而没有未占用的空间。
16.权利要求15中所要求的方法,其中使所有I/O数据写入资源端口都能写到所有的DRAM体,而各I/O数据读出资源端口只从对应地专用的一个DRAM体读取。
17.权利要求16中所要求的方法,其中该槽缓冲器大小降低到64字节的数量级。
18.权利要求17中所要求的方法,其中该数据包括ATM报文及所有系统I/O资源都能同时写完整的ATM报文到单个槽缓冲器中。
19.权利要求18中所要求的方法,其中设置了一16DRAM阵列产生各跨该阵列的16个64字节的单元。
20.权利要求11中所要求的方法,其中设置了这些阵列的列,各赋予用于不同服务与数据的排队优先级,并且这些DRAM起到为其提供FIFO体系结构的作用。
21.权利要求11中所要求的方法,其中该数据是从ATM、SONET交叉连接及WDM之一的操作发出的。
22.权利要求1中所要求的装置,其中该数据是从ATM、SONET交叉连接及WDM之一的操作发生的。
23.权利要求2中所要求的系统,其中数据首标目的地位及专用于独立的DRAM体的槽缓冲器的使用消除了总线争用及对外部控制路径及随机存储器寻址的需求,并使报文能同时写入单个槽缓冲器中。
24.权利要求12中所要求的方法,其中数据首标目的地位及专用于独立的DRAM的槽缓冲器的使用消除了总线争用及对外部控制路径及随机存储器寻址的需求,并使报文能同时写入单个槽缓冲器中。
25.在多端口内部高速缓冲存储的DRAM体(AMPIC DRAM)的一阵列中,其中通过对应的数据高速缓冲存储多单元槽缓冲器在独立的外部I/O数据写入资源端口与对应的内部DRAM存储器之间连接多个独立的串行数据接口的串行数据接口,一种排除公共系统总线接口争用同时消除对外部控制路径与寻址存储的需求的方法,包括将单个槽缓冲器与单个目的地I/O数据读出资源端口专用于各DRAM体;以及利用固有的首标目的地标签使报文能自我确定路由通过AMPIC DRAM,不管报文从哪一个I/O资源始发都使带有相同标签的所有报文的路由确定到同一DRAM体上,借此使所有系统I/O资源能同时将报文写入到单个槽缓冲器中。
全文摘要
一种用于消除多端口内部高速缓冲存储动态随机存取存储器(AMPIC DRAM)系统中的总线争用,同时消除对外部控制路径与随机存储器寻址的需求的技术与系统,这是通过使用数据首标目的地位及将减小大小的槽缓冲器新颖地专用于独立的DRAM体并类似地专用的I/O数据读出资源端口达到的,对于相对地短的ATM报文联网等特别有用,其中使所有系统I/O资源都能将完整的ATM报文写入单个槽缓冲器中,并且也用于SONET交叉连接及WDM报文。
文档编号G06F12/00GK1298593SQ99805498
公开日2001年6月6日 申请日期1999年3月22日 优先权日1998年3月27日
发明者萨蒂什·S·索曼, 苏巴塞思·帕尔 申请人:奈克斯比特网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1