用于网络处理器的动态随机存取存储器数据存储和移动的制作方法

文档序号:6361487阅读:186来源:国知局
专利名称:用于网络处理器的动态随机存取存储器数据存储和移动的制作方法
技术领域
本发明涉及基于双数据速率DRAM(DDR DRAM)的电子计算机存储器系统;更具体地说,涉及提高DRAM中的数据传送率。
计算机的主存储器存储中央处理器执行给定任务的指令所需的数据和程序。存取主存储器中存储的数据所需要的时间会损失可用于执行指令的时间,并且降低计算机的总运行速度。减少存储器存取时间可提高计算机的运行速度。主存储器包含在称为随机存取存储器(RAM)部件的半导体存储器部件中。二种最常用的RAM是DRAM或动态随机存储器和SRAM或静态随机存储器。每种部件都具有其优缺点。
由于它们具有发送、路由和滤波由规定长度的信息位序列构成的帧的能力,故网络处理器在计算机世界中变为更加重要。随着建立更大的网络,网络处理器需要为越来越多的通信量服务的能力,并且带宽要求不断增加。为了建造可管理几个吉比特的端口的网络处理器,以前的设计依赖于用于数据存储的SRAM以便支持在单位时间内发送大量数据的高带宽要求。但是,SRAM提高这些解决办法的成本,从而寻求更便宜的解决办法。DRAM具有成本较低和阵列尺寸更大的优点,这些应有助于网络处理器所需要的更大的数据存储。使用DRAM芯片关联着几个缺点。一个缺点是“读”或“写”访问期间的长执行时间(数个周期的延迟以对DRAM定址)。另一个缺点是对存储器进行读写涉及的复杂规则。RAS和CAS规则限制对这种存储器的随机存取,这和SRAM可进行随机存取不同。由于固有的电容器漏电,故需要每隔大约2毫秒周期性地刷新该存储器。
通过既在时钟上升沿又在下降沿中移动数据,较新的双数据速率DRAM(DDR DRAM)允许能以二倍于常规DRAM的速率传送数据。利用该方法,在时钟的上升沿和下降沿传送数据,这有效地使带宽翻一番。这些DDR具有高达133兆赫(并且会更高)的速度,这允许达到4.2吉比特的原始带宽。
对于具有固定包尺寸的诸如ATM的网络系统,采用尺寸固定的缓冲器工作良好。但是对于具有可变帧尺寸的诸如以太网的网络,采用64字节的缓冲器可在数据存储上造成明显的性能打击。例如,假定在数据存储中存储68字节的帧。这会需要2个缓冲器以存储数据,2个“写”窗口以把数据写到DRAM以及2个“读”窗口以从DRAM读数据。出于本发明的说明的目的,“窗口”定义为在其期间对或从DRAM进行读或写操作的时隙。为了在该68字节帧上操作,系统带宽几乎切掉一半。由于DRAM对RAS和CAS具有复杂规则并且完全不支持随机存取,故若不对该情况做出某些补偿,则当访问该68字节帧时会损失DRAM的带宽。
本发明的一个目的是采用DRAM系统来为网络处理器提供增大的存储以及数据传送率。
另一个目的是达到数据传送的更宽带宽,供网络处理器使用。
再一个目的是控制网络处理器所需要的数据的移动,以便用于到和从DRAM中传送数据的时钟周期数变成最大。
又一个目的是具有仲裁网络处理器对多个帧的服务的能力。
最后的一个目的是能使DRAM“读”和“写”访问随机化。
在按以下方式阅读和理解本说明书后,这些以及其它目的对于业内人士自然会变成是明显的。
一种用于网络处理器的改进型数据传送系统采用包含下述特性中的一个或多个特性的动态随机存取存储器(DRAM)芯片a)一对并行的双数据率DRAM,每个可在时钟的每个沿上移动数据;b)一个时分复用器,在每个时间单元期间允许网络处理器能读4排数据接着能写4排数据;以及c)可和变尺寸数据帧一起使用的有效排向量,用于根据帧的长度提高DRAM的总带宽。
更具体地,本发明涉及一种改进型的用于采用动态随机存取存储器(DRAM)存储的多个网络处理器的数据传送系统。该系统包括一对并行的双数据率DRAM芯片,每个可在时钟的上升沿和下降沿上移动数据。它还包括一个复用器,以允许每个网络处理器能在时钟的每20个周期的单元里读4个存储体的数据接着“写”4个存储体。该系统还包括一个串行总线和多个流水线,以便在DDR DRAM和各个网络处理器之间“读”数据和“写”数据。它最好采用多个固定尺寸的数据存储缓冲器,其中每个缓冲器具有64字节的容量。每个存储体构成1/4的数据存储。该系统还可包括一个优先级程序,以允许对DDR DRAM的随机“读”“写”访问。
在本发明的另一个方面,说明一种由网络处理器使用的存储和移动数据的方法。该方法包括步骤a)在串接下工作并具有同步时钟的第一和第二DDR DRAM芯片中存储数据;b)建立由DDR DRAM时钟的各个重复单元中的预定数量的周期组成的数据移动模式;c)把该模式中的一组相连周期指定为“读”窗口期间的全“读”,以及d)把该模式中的第二组相连周期指定为“写”窗口期间的全“写”。
该方法还可包括把来自各个读窗口或各个写窗口的数据存储到多个缓冲器中的一个里的附加步骤。每个窗口最好由64字节的数据串组成并且每个缓冲器最好具有64字节的存储容量。数据被流水线地作成允许在“读”窗口期间读4排并接着在“写”窗口期间写4排。每排最好构成数据存储的1/4。在64字节串下读或写数据。
本发明还包括一种用于网络处理器的判优系统和为由该网络处理器所服务的多个帧提供高带宽数据移动的方法。该系统包括为读DRAM中4个排(标记为a,b,c和d)中的每个排建立时隙或窗口和为写这4个排中的每个排建立时隙。该系统接着确定对给定帧需要读哪个排和需要写哪个排。该系统在所述给定帧所需的适当读或写时隙期间访问该排。该系统接着检查在给定时间阶段内需要“读”访问的所有帧,并且在需要“读”访问其“a”排的所有帧之间对所有的“a”排判优。以类似的方式,该系统为需要访问其它排的帧,对所有的“b”排、“c”排和“d”排判优。然后,它对所有其它需要“写”访问的帧,重复检查帧和进行判优的各步骤。
最后,本发明包括一种向网络处理器提供对DRAM随机“读”和“写”访问的方法。该方法包括步骤对DRAM芯片的多个排a,b,c…的“读”和“写”访问排序。在“读”步骤期间,利用判优对任何需要履行的读命令赋予排“a”优先。若不能在排“a”中达到“读”访问,则对该排访问“写”命令并且接着也赋予排“b”“写”命令。若对排“b”的访问不同于对排“a”的访问,则在有利用于排“c”下绕过排“b”,因为在二个相邻的排之间不存在在“读”和“写”之间切换的足够时问延迟。当系统跳跃到排c时,修改判优以对排“c”赋予优先,不论是读还是写。这样可历经足够的时间以允许系统从“读”切换到“写”。以这种方法,该系统可越过该排(不论是“读”还是“写”)去适应数据交换。在“写”窗口期间重复这些步骤。该随机访问技术对于处理控制信息是特别有用的。


图1是典型的DRAM芯片时序图。
当网络处理器在“全读’”或“全写’”窗口中使用DRAM时,在时分复用(TDM)模式下设置所有对DRAM的请求。TDM是一种多路传输形式,它逻辑上是从涉及采样的采用脉冲调制以及处理得出的。在脉冲之间存在时间间隙,并且这些间隙产生允许其它脉冲交错的信号。在接收器处提取所需信号,要求系统在与发送器同步下运行。请注意网络处理器和DRAM之间的接口是双向的,从而二个部件都多路复用和提取。在本发明的范围内,TDM允许网络处理器“读”4排数据接着写4排数据。“读”是流水线的以允许在20个周期的单元内“读”4排。“写”也是流水线的以允许每20个周期写4排。该TDM模式允许网络处理器具有1.7吉比特的“读”带宽和1.7吉比特的“写”带宽。20个周期中只有4个周期不用于移动数据。采用带有这种TDM的DRAM允许最大带宽,并且还允许网络处理器以及时的方式(20个周期的重复窗口)调度“读”和“写”传送。对于网络处理器所需的数据移动,该TDM模式工作良好。该网络处理器每秒可把1.7吉比特存储到数据存储器中,并且每秒可从数据存储器中检索1.7吉比特。大多数网络处理器需要把帧存储到数据存储器中、读标题、处理/修改帧并把结果帧发送到目的地端口。“读标题和处理/修改帧”的额外开销用掉总的“读”和“写”带宽中的一部分。为支持吉比特的以太网,端口应需要大约每秒1.5吉比特的“读”带宽和每秒1.5吉比特的“写”带宽。为支持更多端口,必须添加更多的存储器。每个存储器使用网络处理器上的一定数量的I/O,这转而提高成本。更多的节约会对系统成本有利。
为了满足DRAM规则,并且还支持高带宽网络数据移动,本发明使用二个DDR DRAM,其中每个具有用于四个数据事件的成组尺寸。每个数据单元由总线的宽度组成,宽度为16位(16位×4×2=128位),并且存储器的每一排构成1/4的数据存储缓冲器。从而数据存储由64字节的缓冲器构成,其中按64字节串“读”(“读”上面的aaaa,bbbb,cccc,dddd)或按64字节串写(“写”上面的aaaa,bbbb,cccc,dddd)DDR。每个字母代表来自用相同字母标志的排的一个数据单元。另外,在相对的读/写时隙下使用二组DRAM。从而本发明允许每个窗口写一个缓冲器和每个窗口读一个缓冲器。这对应于每秒6.8兆比特全双工,这对于支持几个吉比特端口是足够的。
为了克服总是必须按次序访问四个排的限制,本发明采用所谓的“有效排向量”(UBV)。只要数个帧正在由网络处理器服务,就可使用UBV。网络处理器跟上该帧(这些帧)需要的那些排并且只访问为给定帧所需要的那些排。网络处理器具有判优模式,该模式查看给定时间需要读的所有帧并且对在任何需要“a”访问的帧之间的所有的“a”排判优。它还对所有的“b”、“c”和“d”排判优,从而对任何给定帧只取必须的各个排,决不浪费任何DRAM带宽。一旦对给定缓冲器处理了所有的排,网络处理器就可接着移到该帧的下一个缓冲器(或者下一个帧,若位于当前帧的结束处)。可对读和写都使用UBV模式,从而减少任何对DRAM的无用的排访问。采用UBV模式可有效地提高DRAM的可使用总带宽,对小的帧提高75%(假定每帧平均使用1.5个缓冲器)和对长帧提高1%。在这二个极端之间的帧尺寸获利在75%和1%之间,取决于实际的帧尺寸。
现参照图1,其中示出支持全读和全写程序的DRAM芯片时序图。该图示出133兆赫时钟的一个20个周期14a-14t的单元12。10个相连周期16代表“读”窗口,而下十个周期构成“写”窗口18。请注意,对于随机访问,有可能某些“读”转化成“写”窗口,并且反之亦然。图中未出行地址选通(RAS)20和列地址选通(CAS)22。RAS行和CAS行说明读一行或一列数据花费的时间长度。该时间称为RAS/CAS执行时间。较短的执行时间导致较大的数据传送率。每一次RAS记入一行,它激活在BA行24中示出的数据排中的一排。业内人士周知选通的细节和操作,无须更多解释。
图1的底部是数据行30,其中示出“读”模式32下的4排数据“aaaa”、“bbbb”、“cccc”和“dddd”以及“写”模式34下的4排数据“aaaa”、“bbbb”、“cccc”和“dddd”。写使能(WE)信号40领先于每个“写”数据排的写一个周期。
本发明提出的另一个模式是允许网络处理器对DRAM的“随机”“读”和“写”访问。由于“随机”访问减小总带宽,故最好不对数据移动使用该模式,而替之以对某种类型的控制信息应用该模式。为了使网络处理器以更为随机的方式访问DRAM,网络处理器必须按如下所述对所需的对DRAM的访问排序按上面示出的那样使用基本“读”窗口和“写”窗口。在“读”窗口期间,对任何需要执行的“读”的UBV判优赋予优先。在“写”窗口期间,对任何需要执行的“写”的UBV判优赋予优先。通过对不同类型的访问赋予优先,将最少地干扰DRAM周期。若网络处理器在给定排的访问期间不具有正确的要执行的访问类型,则把对该排的访问给予另一个网络处理器。对于下一个排, 需要修改判优。若下一个排访问类似于上一个排访问(“读”跟着“读”,或“写”跟着“写”),则系统根据判优把优先赋予具有类似访问的网络处理器。若不能得到类似的访问,则系统跳过下一个排以履行DRAM时序规则。该模式允许网络处理器具有“随机式”访问并仍履行DRAM规则。
当处理通过以太网的数据传送时,这种类似随机的访问是特别有好处的。在以太网中,最小的帧尺寸是64字节的用户数据。在其上至少添加用于地址和指令的附加的12字节的内务操作。典型地,每个帧划分成64字节的包,各包用独立地址重新装配。根据本发明的随机访问型特征,对给定的数据排,某网络处理器不具有正确的访问类型(“读”或“写”)时,则系统会搜索其它网络处理器以找到一个和对该排的访问匹配的网络处理器。若存在不止一个,则根据判优模式对其中的一个处理器赋予优先,从而不会短路和丢失“读”或“写”机会。该选定的处理器接着读该排或者对该排写,然后访问下一个排。若该下一个排具有和刚访问过的排相同的“读”方式或“写”方式,则对该排赋予优先。然后,若方式不同,则跳过该排数据并把访问给予下个一排,而不论其方式是什么。
尽管根据采用一对DDR DRAM来改进数据传送说明了本发明,但应理解对于更宽的总线和更大的数据传送可采用多于二个的DRAM芯片。然而,在实践中,若DRAM芯片的数量太大,则可能不能在及时方式下传送大量的数据,并且浪费带宽。此外,本发明是在20个周期的DRAM时钟下描述的。然而,本发明也可应用于其它时序。
尽管结合实施例说明了本发明,但根据上面的原理对于业内人士来说,许多更替、修改和变型是明显的。从而,本发明的意图是包含这些在附属权利要求书的精神和范围之内的更替、修改和变型。
权利要求
1.一种采用动态随机存取存储器(DRAM)存储的用于多个网络处理器的改进型数据传送系统,包括a)一对并行的DDR DRAM芯片,每块芯片能在时钟的上升沿和下降沿移动数据;以及b)一个多路复用器,其允许在所述时钟的每20个周期的单元期间由每个网络处理器“读”四个数据存储体,并接着由每个网络处理器“写”四个存储体。
2.依据权利要求1的系统,还包括一条串行总线和一些流水线,用于在二个DDR DRAM和各个网络处理器之间传送“读”的数据和“写”的数据。
3.依据权利要求1的系统,还包括多个固定尺寸的数据存储缓冲器。
4.依据权利要求3的系统,其中每个缓冲器都是一个64字节的缓冲器,并且每个存储体都构成1/4的数据存储DRAM。
5.一种供网络处理器使用的存储和移动数据的方法,包括步骤a)把数据存储到并行工作并具有同步时钟的第一和第二DDRDRAM芯片中;b)建立由DDR DRAM时钟的各个重复单元中的预定数量的周期组成的数据移动模式;c)把该模式中的一组相连周期指定为“读”窗口期间的全“读”,以及d)把该模式中的第二组相连周期指定为“写”窗口期间的全“写”。
6.依据权利要求5的方法,包括把来自各读窗口或来自各写窗口的数据存储到缓冲器中的数据存储里的附加步骤。
7.依据权利要求6的方法,包括多个缓冲器,其中每个窗口包括64字节的数据串并且每个缓冲器具有64字节的存储容量。
8.依据权利要求5的方法,还包括形成流水线的步骤,以允许在“读”窗口期间读四排数据并接着在“写”窗口期间写四排数据。
9.依据权利要求8的方法,其中按64字节的串,读或写数据。
10.一种用于网络服务器的判优方法,以便为该网络处理器所服务的多个帧提供与帧尺寸无关的高带宽数据移动,该方法包括步骤为读DRAM芯片中的各个排a、b、c、d而建立时隙,并且为写各个排a、b、c、d而建立分立的时隙;确定对给定帧需要读哪些排和需要写哪些排;仅访问所述给定帧所要求的那些排;在每个时隙期间检索所有需要“读”访问的帧;在所有需要对“a”排“读”访问的帧之间对所有的“a”排判优;以及顺序地为需要访问“b”、“c”、“d”排的帧对所有的“b”、“c”和“d”排判优。
11.依据权利要求10的判优方法,还包括对所有需要“写”访问的帧,重复步骤d)、e)和f)。
12.一种向网络处理器提供对DRAM芯片的多个排a,b,c…进行随机“读”“写”访问的方法,包括步骤a)在“读”窗口期间,进行判优以把优先给予用于需要履行任何“读”命令的排“a”,b)若不能在排“a”中达到“读”访问,则把“写”命令的访问给予排“a”,并且b1)把“写”访问给予下一个排“b”,c)若对排“b”的访问不同于对排“a”的访问,则绕过排“b”并授予对排“c”的访问;以及d)修改判优以赋予排“c”优先,而不论排“c”为“读”或“写”。
13.依据权利要求12的方法,其中若在步骤a)可从排“a”得到“读”访问,则在“a”排被读后赋予排“b”“读”访问。
14.依据权利要求12的方法,其中在“写”窗口期间重复步骤a)-d)。
15.依据权利要求12的方法,包括对控制信息使用随机访问。
全文摘要
在几个方面增强网络处理器把数据移动到计算机系统中使用的动态随机存取存储器(DRAM)芯片中和从其中移动数据的能力。在本发明的一个方面中,并行地用二个双数据率DRAM使带宽加倍,从而提高数据吞吐率。通过网络处理器为DRAM时钟的每次重复设置4个全“读”的排和4个全“写”的排,可进一步改进数据的移动。公开一种由网络处理器随机化“读”和“写”访问的模式。该模式特别适用于诸如以太网之类的采用可变帧尺寸的网络。
文档编号G06F12/00GK1303050SQ0013700
公开日2001年7月11日 申请日期2000年12月27日 优先权日2000年1月4日
发明者布赖恩·M·巴斯, 吉恩·L·卡尔维纳克, 迈科·C·海蒂斯, 史蒂文·K·詹金斯, 迈克尔·S·西格尔, 迈克尔·R·特朗布利, 法布里斯·J·韦普兰肯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1