CN1159655C - 多端口内部高速缓存的动态随机存取存储器 - Google Patents
多端口内部高速缓存的动态随机存取存储器 Download PDFInfo
- Publication number
- CN1159655C CN1159655C CNB988077248A CN98807724A CN1159655C CN 1159655 C CN1159655 C CN 1159655C CN B988077248 A CNB988077248 A CN B988077248A CN 98807724 A CN98807724 A CN 98807724A CN 1159655 C CN1159655 C CN 1159655C
- Authority
- CN
- China
- Prior art keywords
- dram
- message
- resource
- data
- ampic
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Transfer Systems (AREA)
Abstract
用于增强多端口内部高速缓存的DRAM等的运行性能的设备和方法,其中向系统I/O资源传送由其他的这类资源发送的消息和DRAM阵列内的消息存储单元,并进一步为适应小型和大型数据传输提供有效的内部总线利用。
Description
技术领域
本发明涉及公知为DRAM结构的动态随机存取存储器,更具体地,涉及如本发明的共同发明人之一穆凯什·查特于1995年12月29日提交的未决US专利申请No.581467:“高性能通用多端口内部高速缓存动态随机存取存储器系统、体系结构和方法”中所描述的通过内部移动大数据块来提供存储器到大量系统输入/输出(I/O)资源的非常高的系统带宽的多端口内部高速缓存型式,并涉及其增强的体系结构及运行中的完善。
背景技术
所述未决申请中取名为AMPIC DRAM的、稍后结合图1加以说明的多端口内部高速缓存的DRAM被设计来在设置有例如中央处理单元(CPU)的主控制器的系统中作高系统带宽应用,所述中央处理单元带有各自被连接至公用系统总线接口并争夺对其的访问的并行数据端口和动态随机存取存储器。它提供改善的DRAM体系结构,包括:本身也拥有各自通过对应缓存器连接在独立的外部I/O资源与内部DRAM存储器之间的多个独立的串行数据接口的多端口内部高速缓存的DRAM;介于串行接口与缓存器之间的转接组件;和在总线主控制器、例如所述CPU所作动态组构下将串行接口连接到缓存器的转接组件逻辑控制器。这种技术以快于传统途径多个数量级的速度将数据块内部传送到存储器芯片,并消除当前系统的带宽限制及相关问题,从而能以降低的成本提供显著增强的系统运行性能,并由于提供统一的存储器体系结构而能基本上供许多应用程序通用。
在所述共有未决申请中,可以支持很大数量的系统I/O资源,如在稍后结合下面说明的图2所解释的通过叠置数个这样的装置,各系统I/O资源带有很宽的数据总线而仍然在AMPIC DRAM中保持很小的管脚数,此时所支持的系统I/O资源数和各系统I/O资源总线的宽度仅受技术工艺的局限性的制约。
虽然这样的体系结构,如先前介绍和所述未决申请中说明的令人满意地为每一系统I/O资源访问DRAM提供非常大数量的带宽,但此系统未提供一系统I/O资源可借之发送数据到另一系统I/O资源的机制,即现在由本发明所提供的改进。作为示例,如果系统I/O资源m具有要发送到系统I/O资源n的多比特消息,则一旦系统I/O资源m将此多比特消息写进AMPIC DRAM叠置结构或阵列后,现在本发明即提供用于通知系统I/O资源n存在有这样的消息和消息在AMPIC DRAM阵列内的存储单元两者的机制。另外,在系统I/O资源n被通知此消息的存在及其在阵列中的存储单元之后,按照本发明还提供使系统I/O资源n能从阵列提取此消息的技术。虽然消息数据被这样分配到整个AMPIC DRAM阵列中、阵列的每一元素仅保持数据的一部分,必须将完整的信令信息发送到AMPIC DRAM阵列的各个别元素。
另外本发明还提供划分技术的进一步改善,以使得能同时进行数个小型传送或单个的非常宽的传送,更有效地利用宽系统内部数据总线来适应小型的和大型的数据传送。
因此本发明的基本目的是提供一种新的改进的设备和方法,用来结构性增强多端口内部高速缓存的DRAM等的运行性能,其中提供一新颖机制和技术以允许系统I/O资源发送消息数据给一个另外的I/O资源,通知这样的消息的存在和消息存储单元,然后使能提取该消息。
另一目的是提供这样一种改进的系统,其中,通过新颖划分技术,宽系统内部数据总线被更有效地用来适应小型和大型内部数据传送两者,还能进行数个同时的小型消息传送或单一的非常宽的传送。
后面将阐述其他的目的并在所附的权利要求中作更细致的叙述。
发明内容
概括地由其较广的一个方面来说,本发明包含在一多端口内部高速缓存的AMPIC DRAM单元阵列中改善运行性能的方法,其中多个系统I/O资源沿内部数据总线接口连接,该内部数据总线连接到阵列的各单元的相应DRAM核,并且其中在数据传送周期内来自CPU的数据也沿总线通过各单元传送,所述方法包括:在数据传送的同时,使得系统I/O资源能互相发送多比特消息,这是通过下述步骤实现的:从一系统I/O资源发送欲供一系统目标I/O资源用的消息到AMPIC DRAM单元,后者在接收到该消息数据时选择DRAM阵列中一自由地址单元并将消息写到该单元,然后用一消息就绪信号通知系统目标I/O资源,而且当系统目标I/O资源准备好接收消息时,从阵列的各DRAM检索其消息数据部分并转送该数据到目标I/O资源,所有这些都与AMPIC DRAM单元的内部结构无关,而该阵列则起存储和转发交叉连接矩阵的功能作用。
后面详细描述优选的最好模式设计、设备、技术和可替换结构。
附图说明
现结合所列附图说明本发明,其中:
图1为所述未决申请的AMPIC DRAM的内部体系结构的说明性方框图,其操作为本发明所增强;
图2为基于图1的AMPIC DRAM的说明性系统体系结构的方框图;
图3描述按照本发明的由系统I/O资源将地址和数据分布到AMPICDRAM装置的新颖设备和方法;
图3a描述按照本发明的将数据从AMPIC DRAM装置分布到系统I/O资源的新颖设备和方法;
图4描述AMPIC DRAM可借之以有效地分布多址传送消息到每一个消息目标端口的新颖设备和方法;
图5为描述穿过数个DRAM区域将数据“链接”在一起的图形;
图6描述以几种区域大小将DRAM阵列分成为数个同等大小的区域:
图7描述将DRAM阵列分成为许多各自有不同大小的区域;
图8为描述AMPIC DRAM用来在AMPIC DRAM内部完成所有从源系统I/O资源到目标系统I/O资源的消息传递的设备和方法;
图9为AMPIC DRAM内部系统总线的优选体系结构的方框图,描述本发明的新颖的划分技术,以使得能进行数个同时的小型传送或单一的非常宽的传送;和
图10表示AMPIC DRAM内部系统总线的可替换实施方案,带有为达到类似于以图9的系统所取得的结果而设置在各AMPIC DRAM端口缓存器与DRAM阵列之间的交叉开关。
具体实施方式
如先前指出的,图1中示出由所述共有未决申请的AMPIC DRAM装置所提供的基本结构,它通过设置在AMPIC DRAM装置内的DRAM存储器阵列经由对应数据端口在系统I/O资源#1…#n之间提供非常高带宽的连接。这样的AMPIC DRAM装置的灵活性也如早先指出的依靠图2示例中所描述的“叠置”多个AMPIC DRAM装置的能力而得到进一步增强。图2中,描述一由四个AMPIC DRAM装置AMPIC #0~#3组成的系统,一系统中的AMPIC DRAM装置的实际数量仅受工艺的限制。当做成这样的AMPIC DRAM装置的叠置结构或阵列时,可用于系统I/O资源的总的DRAM阵列大小即等于各AMPIC DRAM装置的DRAM阵列大小乘以叠置结构中的装置数。例如说,如果假定图2中描述的各AMPIC DRAM包含64M比特的DRAM,则所示的AMPIC DRAM叠置结构#0~#3将给系统I/O资源#1~#4提供一256M比特的DRAM阵列。
虽然这样的体系结构的确为各系统I/O资源访问DRAM提供非常大数量的带宽,但此系统不能使一个系统I/O资源发送数据到另一系统I/O资源,如早先指出的。例如,如果系统I/O资源m有一条32K比特的消息要发送给系统I/O资源n,则一旦系统I/O资源m将此消息写进AMPIC DRAM阵列#0~#3后,就必须有如本发明所提供的新的机制来向系统I/O资源n通知消息的存在和该消息在AMPIC DRAM阵列中的存储单元(location)。系统I/O资源n一旦被通知消息的存在和在AMPIC DRAM阵列中的消息存储单元,进而必须再按照本发明提供另外的新颖机制来使系统I/O资源n能从AMPIC DRAM阵列提取此消息。重要的是应指出,如早先说明的,虽然消息数据被分布在整个AMPICDRAM阵列中,此时各阵列元素仅保持一部分的数据,但必须将完整的信令信息发送给AMPIC DRAM阵列的每一个别元素。
假定存在一如本发明所提供的如以上和后面说明的所述型式的、系统I/O资源可借之通过AMPIC DRAM阵列相互发送消息的新颖机制,在系统I/O资源m传送一32K比特信息到系统I/O资源n的说明性举例中,1K字节的内部数据总线允许在仅仅2个AMPIC DRAM传送周期内使消息在这两个系统I/O资源间被传送。为说明目的,如假定一AMPICDRAM传送周期延续时间为50毫微秒(ns),则看到AMPIC DRAM内可用的总带宽将为每50ns 32k比特或每秒655×109比特。但这一非常宽的总线不太适宜于在系统I/O资源间传送小型消息。例如在ATM网络通讯中即需要在系统I/O资源间传送小型消息。ATM中,数据仅以424比特为单位传送。如果系统I/O资源m和n两者均为ATM网络装置,系统I/O资源m就可能有一424比特的消息发送给系统I/O资源n。在这种情况下,32K比特宽的内部总线将被用来在仅仅2个AMPICDRAM传送周期中完成此传送,而非常大数量的内部总线在此传送中被浪费掉。即使此消息仅占用此32k比特宽总线的424比特,而在系统I/O资源m和n完成它们的传送期间所有其他系统I/O资源均将不能利用此数据总线。如果为此例的目的再假定AMPIC DRAM传送周期为50ns,这一示例中所用的总带宽仅为424比特/50ns或约8.5×109比特/s。应注意到在此例中实际被应用的带宽仅约为能在AMPIC DRAM中利用的带宽的1.3%。
本发明揭示一方法,从而在这类情况中将会更有效地利用非常宽的内部数据总线,并通过使其能同样适宜于小型和大型数据传送而进一步增强AMPIC DRAM体系结构的有用性。
现在讨论本发明赖以实现这些改善的体系结构。具体说,当系统I/O资源m有一条消息要写进AMPIC DRAM时,此系统I/O资源必须能通知系统中的所有AMPIC DRAM关于放置此消息的DRAM地址。本发明提供为达到这种结果的图3中所示体系结构和机制。在图3描述的系统中,图2的四个AMPIC DRAM被表示为芯片0~3,各自带有对系统I/O资源的1比特宽的串行接口。图2的示例中,如所述共有未决申请中所揭示的,在数据传送的第一周期,芯片0得到数据比特0,芯片1得到数据比特8,芯片2得到数据比特16,芯片3得到数据比特24。在下一时钟周期,所有的数据比特被增量。这种过程继续直至整个消息被发送到AMPIC DRAM为止。
按照本发明,如图3中所描述的,与这一数据传送同时还要求此系统I/O资源传送在DRAM中存放数据的地址。系统I/O资源中地址寄存器的宽度将由AMPIC DRAM中DRAM阵列的大小和系统中的AMPICDRAM装置的数量确定。
由前述示例可知,一具有四个各自含有64M比特的DRAM的AMPICDRAM装置的系统将提供要求25地址比特的256M比特的AMPICDRAM阵列。但由于大存储器阵列要求的大数量的地址比特,可能需要规定系统I/O资源与AMPIC DRAM间的地址总线比整个地址的大小窄而利用数次传送来将完整的地址发送进AMPIC DRAM。例如,如果地址总线被规定为4比特宽,则可用7个周期来将完整的25比特地址传送进AMPIC DRAM。这种地址传送将与从系统I/O资源作的数据传送同时发生,如图3中描述的。在传送的第一周期,“地址”的比特0至3被传送。在第二周期,“地址”的比特4至7被传送,等等,直至完整的地址被传送到所有的AMPIC DRAM。重要的是应指出,与数据传送中系统中的各AMPIC DRAM接收数据的不同部分不一样,图3的系统中的各AMPIC DRAM将接收完整的DRAM地址的相同拷贝,这样使得各AMPIC DRAM将由系统I/O资源发送的消息写进内部DRAM阵列中同样的存储单元。
为使消息到达其目标系统I/O资源,必须在目标侧发生类似的寻址过程,如图3a中所示。一旦系统I/O资源m将消息写进AMPIC DRAM阵列后,消息被写入的地址和消息的总的大小必须被转送到目标系统I/O资源。目标系统I/O资源在接收消息的地址后将把该地址驱送进每一AMPIC DRAM装置。各AMPIC DRAM装置将进而自给定地址从其DRAM阵列读取其消息数据部分并传送此消息到目标系统I/O资源。在本发明的优选实施例中,消息的大小在当此消息被写进DRAM阵列时也被存储在DRAM中。在AMPIC DRAM装置接收此消息时,它对消息中的比特数加以计数:如图3中所示出的,一“数据有效”(DataValid)信号被加在所有的AMPIC DRAM数据接收端口上。源系统I/O资源在消息数据被发送到AMPIC DRAM期间一直保持“数据有效”信号为被认定的(asserted),AMPIC DRAM利用“数据有效”信号的这种认定来确定消息的长度。当数据被写到DRAM阵列时,这一比特计数与消息本身一起被存储。当消息被从DRAM阵列读出时,对应的比特计数连同数据一起读出。AMPIC DRAM然后利用这一比特计数来确定欲发送的消息的长度。AMPIC DRAM通过按消息比特计数所指明的那样的长度来认定“数据有效”信号来对目标系统I/O资源指示消息的大小。
每一AMPIC DRAM装置内存在有各消息的DRAM地址也对一个具有必须被发送到数个其他系统I/O资源的单个消息的系统I/O资源的情况提供有效解决办法,这在图4中被加以描述。这一类型的消息被定义作为多址传送(multicast)消息。在一多址传送消息的情况下,源系统I/O资源以与写标准的即单址传送(unicast)的消息同样的方法将消息写进AMPIC DRAM。DRAM阵列内这一多址传送消息的地址然后被传送到所有被要求接收消息的系统I/O资源。然后每一目标系统I/O资源#1~#m进而将此多址传送消息的地址驱送进AMPIC DRAM装置。如果AMPIC DRAM设置有图4中所描述的能比较从不同系统I/O资源所接收的DRAM地址的地址比较逻辑,则AMPIC DRAM的多址传送控制部分识别出从每一多址传送消息系统I/O资源接收到相同的DRAM地址,并仅需执行单个DRAM读周期。从该读周期得到的DRAM数据将被图4中所示的多址传送控制逻辑同时转送到所有目标系统I/O资源#1~#m,从而免除了对多址传送消息的数个DRAM读取需求。
在本发明的优选实施例中,为指明将消息写入的DRAM存储单元所需地址比特的总数通过将DRAM逻辑划分成许多同等大小的区域而进一步减少。例如说,在一分布于四个AMPIC DRAM装置的256M比特AMPIC DRAM阵列的情况中,此阵列可被分成为例如2048比特的区域。在这一情况下,现在DRAM阵列将由128K个区域组成,每一AMPIC DRAM装置存储128K个区域的每一个的512比特。结果,为向AMPIC DRAM指明地址,总共仅需17地址比特。回到-4比特宽地址总线的例子中,现在只需5个周期来从系统I/O资源传送地址进所有的AMPIC DRAM装置。在作如此划分的存储器中,可能希望将区域的尺寸保持为很小以便能使得被浪费的存储器空间最少。在上述2048比特区域的示例中,如果例如说系统I/O资源m具有一512比特的消息要写进AMPIC DRAM,则此消息仅部分地填充一DRAM区域,造成被浪费的存储器空间。
但尽管维持小的区域大小,本发明还提供一机制来处理系统I/O资源m有可能具有大于一区域的消息要写进AMPIC DRAM的情况。在本发明的优选实施例中对这一问题的解决办法在图5中说明。各DRAM区域#A~#C均保留一定数量的比特来保存所谓的链接地址。当系统I/O资源m有大于当前定义的区域大小的消息要写进AMPIC DRAM时,此系统I/O资源将首先必须将此消息分成为数个片段,每一个的大小小于或等于当前所定义的区域的大小。消息的第一片段将被置入第一DRAM区域,而此区域的链接地址将被设定来指向消息的第二片段将被置入的下一DRAM区域,如此等等,直至整个的消息被写进AMPICDRAM阵列。图5中描述一其中消息占有3DRAM区域的示例的结果。为了说明的目的,假定消息的大小为5120比特,并如上面所说假定区域的大小为2048比特。在此情况下,消息的比特1~2048将留在DRAM区域#A中,比特2049~4096将留在DRAM区域#B中,而比特4097~5120将留在DRAM区域#C中,结果就造成局部填充的DRAM区域,如图5中所示。因为链接地址随同消息数据一起被存放在AMPICDRAM阵列中,所以在发送消息到目标系统I/O资源时AMPIC DRAM即重新组装完整的消息。在从AMPIC DRAM阵列读取一区域时,AMPICDRAM中的逻辑检查此区域的链接地址部分来确定这一DRAM区域是否是一条较大消息的一部分。如果此链接地址指向DRAM的另一区域,则从DRAM阵列中读取该区域供转送到目标端口。这一过程继续进行直至AMPIC DRAM发现一个其链接地址不指向另一区域的DRAM区域,这时整个消息已被重新组装。这种消息重新组装的发生不会对目标系统I/O资源的部分产生任何妨碍,它完全由AMPIC DRAM内的逻辑处理。
在本发明的一可替代实施例中,区域的大小在AMPIC中不是固定的,而是代之以如图6中所描述的可编程为一定范围的不同值。例如,在一个系统I/O资源间传送的主要是小型消息的系统中,可将区域的大小设置为例如256比特。在一个系统I/O资源间传送的主要是大型消息的系统中,可将区域的大小设置为例如2048比特。由AMPIC DRAM装置提供这样大小的范围以便能最大限度地利用DRAM阵列和使得因小于区域大小的消息所造成浪费的存储器空间最小。图6中呈现三种不同区域大小A、B和C以及所得的DRAM阵列的结构。在一另外的替代实施例中,通过根本不将DRAM阵列分成为多个区域来完全消除浪费的DRAM空间,如图7中所示。在此实施例中,消息不管其大小均总是背对背地被放置进DRAM阵列。虽然增加了为跟随DRAM地址所需的地址比特数,但这一实施例具有最有效利用存储器的优点。图7说明如何能在整个DRAM阵列作不同大小消息的分布。
在本发明的此优选形式中,源系统I/O资源与目标I/O资源间所有的地址传送均在AMPIC DRAM的外部逻辑中发生。在一可替代实施例中,这种功能由AMPIC DRAM本身处理,如图8中所示。这里,所有的寻址和从源系统I/O资源到目标系统I/O资源的地址传送均发生在AMPIC DRAM本身内部。在这一实施例中,系统I/O资源无需知道消息在AMPIC DRAM阵列之内被放置的DRAM地址。例如,如果源系统I/O资源有消息要发送到目标系统I/O资源,则此源系统I/O资源将发送消息数据进AMPIC DRAM,而无需作地址的驱送。应指出的是,图8仅描述一单个的AMPIC DRAM装置,但此讨论也同样适用于由多个AMPIC DRAM组成的系统,如前面已讨论过的。在接收到此消息数据后,AMPIC DRAM从自由地址表选择其DRAM阵列中的一自由地址并将消息写到该存储单元。然后将该地址转送到目标系统I/O资源被连接的AMPIC DRAM端口。AMPIC DRAM则利用图8中所描述的消息就绪信号向目标系统I/O资源通知AMPIC DRAM中存在有对于它的消息。在稍后某一时刻,目标系统I/O资源通过图8的I/O资源就绪信号发出它已准备好接收此消息的信号,在该时刻各AMPIC DRAM装置从其DRAM阵列检索其消息数据部分并将数据转送到目标系统I/O资源。就这样,使得系统I/O资源完全独立于AMPIC DRAM装置的内部结构;AMPIC DRAM阵列起作为一存储和转发的m×n交叉连接阵列的功能。在此实施例中,除保持跟随消息在DRAM阵列中的存储单元外,AMPICDRAM还必须保持跟踪DRAM阵列中剩余的自由空间量。在DRAM阵列开始填满时,AMPIC DRAM必须能向系统I/O资源通知在某一时间期间内不发送任何消息,直至DRAM阵列已开始腾空。如图8中所描述的自由地址表即被用于这一目的。
现在依次说明如图9中所示AMPIC DRAM装置内传送数据的优选机制。AMPIC DRAM装置的DRAM阵列被表明作实际划分即分区成数个受独立控制的存储体;所实现的DRAM存储体(DRAM存储体1~m)的实际数量将仅取决于用来实现AMPIC DRAM的技术工艺。为简化讨论,这里将讨论仅由单一AMPIC DRAM装置组成的系统,此讨论能等同地应用于由多个AMPIC DRAM装置组成的系统。在后面的情况中,各AMPIC DRAM装置中的DRAM阵列被作同样分区。
更可取的是,DRAM存储体的数量将大于或等于可被连接到AMPICDRAM的系统I/O资源的数量。图9中表示非常宽的内部数据总线被在每一DRAM存储体间作均匀划分。例如,在一带有64个DRAM存储体和32k比特宽数据总线的AMPIC DRAM实现方案中,用于各DRAM存储体的数据总线将为512比特宽,64个512比特宽的总线组合来构成完整的32k比特宽数据总线。如所述共有未决申请中和图1中所揭示的,各系统I/O资源被连接到AMPIC DRAM内一数据端口,后者再连接到内部的非常宽的数据总线。在图9所述实施例中,这些数据端口的每一个均被划分为多个槽(0~m),各数据端口中的槽数等于DRAM存储体数。在前述示例中,各数据端口将为32k比特宽,并将被划分成为每一个区域512比特的64个区域。每一槽对应于DRAM阵列的一单个存储体。在数据从系统I/O资源抵达时,使此数据成为进入该系统I/O资源数据端口的适当槽的数据流,此适当的槽由数据要被入到的DRAM地址确定,它将进而确定数据被写进哪一DRAM存储体。应当记得在本发明的优选实施例中,这一地址由系统I/O资源与消息数据同时提供。如果进入的消息是例如32k比特宽,则整个消息可被分流进数据端口的全部64个槽,而后在单个AMPIC DRAM写周期中被写进DRAM阵列。如果再假定AMPIC DRAM传送周期的延续时间为举例值50ns,可看到最终内部AMPIC DRAM带宽将为32k比特/50ns或655×109比特/s。
另一方面,再回到先前提到的ATM网络的示例,如果进入消息非常短,例如说424比特,则仅需应用系统I/O资源数据端口的一个槽。在这种情况下,如果数个其他系统I/O资源以类似大小的消息填满它们的数据端口的不同槽,则全部这些消息可同时传送到DRAM,而使得能更有效地利用非常宽的数据总线。另一方面,也可使单个系统I/O资源能聚集多个短消息,在将此消息数据写进DRAM阵列前填充其数据端口的数个槽。应指出的是,如果每一个消息被预定用于一如消息地址所指明的不同的DRAM存储体,则单个系统I/O资源仅能在其数据端口中聚集数个短消息。在任一种情况下,在当前的64 DRAM存储体的示例中,AMPIC DRAM内可同时传送达64个消息,或者来自同一系统I/O资源,或者来自许多不同的系统I/O资源。利用AMPIC DRAM传送周期持续时间为50ns的示例指标,因此计算得的为ATM网络所应用的带宽将为(64*424)比特/50ns或542×109比特/s,即差不多为全部可用带宽的83%。这一总体带宽利用在AMPIC DRAM装置中设置的DRAM存储体数增加时将增大。因此这里所揭示的DRAM和缓存结构通过使来自不同系统I/O资源的数个小型数据传送能同时发生而提供支持小数量的非常宽的数据传送与较大数量的小数据传送之间的平衡。
但这一发明的先前所述实施例在系统I/O资源发送两个均被预定为同一DRAM存储体的连续的消息进AMPIC DRAM时具有局限性。在这一特殊情况中,因为两个消息必须利用数据端口的同一槽,第二个消息在被写进此数据端口前必须等待直到第一消息被写进DRAM阵列。图10中描述本发明的为缓解这一问题的一可替换实施例。在此实施例中,在各系统I/O资源数据端口(1~n)与DRAM阵列(存储体1~m)之间设置一m×n交叉开关。在这一情况中,DRAM阵列由m个存储体组成而缓存器由s个槽组成。此交叉开关使得缓存器的任何区域被驱送到任一DRAM存储体,因而使缓存器独立于所用的DRAM地址,而不是控制数据必须被写进哪一缓存器区域,此DRAM地址将控制开关的功能作用。在此例中,如果系统I/O资源1已将424比特写进预定用于DRAM存储体1的数据端口槽0而系统I/O资源n也已将424比特写进预定用于DRAM存储体m的其数据端口的槽1,则二消息可同时被写进DRAM。AMPIC DRAM中的逻辑将必须恰当地控制各端口开关以便为各次传送将正确的数据端口槽转接到正确的DRAM存储体。重要的是应指出,这一开关还将必须作双向操作,亦即,对于数据要被从AMPIC DRAM发送到系统I/O资源的DRAM读取,开关必须能从正确的DRAM存储体移动数据进合适的数据端口槽。虽然不改变由本发明优选实施例所提供的总体带宽应用,而借助提供缓存器区域应用中的地址独立性,本替换实施例中的交叉开关使得能更灵活地应用完整的数据端口。例如,在前述驱送两个均预定用于同一DRAM存储体的连续消息进AMPIC DRAM的系统I/O资源示例中,第二消息现在被写进数据端口的下一可用的槽而不管其最终目标DRAM存储体如何。当到达写消息进DRAM的时刻时,此m×n交叉开关被用来转送消息到适当的DRAM存储体。
对于本技术领域内的熟悉人员来说还可存在更多的修改,而这些均被认为是落在所列权利要求中所定义的发明精神和范畴之内。
Claims (3)
1、在一多端口内部高速缓存(AMPIC)的DRAM单元阵列中改善运行性能的方法,其中多个系统I/O资源沿内部数据总线接口连接,该内部数据总线连接到阵列的各单元的相应DRAM核,并且其中在数据传送周期内来自CPU的数据也沿总线通过各单元传送,所述方法包括:
在数据传送的同时,使得系统I/O资源能互相发送多比特消息,这是通过下述步骤实现的:从一系统I/O资源发送欲供一系统目标I/O资源用的消息到AMPIC DRAM单元,后者在接收到该消息数据时选择DRAM阵列中一自由地址单元并将消息写到该单元,然后用一消息就绪信号通知系统目标I/O资源,而且当系统目标I/O资源准备好接收消息时,从阵列的各DRAM检索其消息数据部分并转送该数据到目标I/O资源,所有这些都与AMPIC DRAM单元的内部结构无关,而该阵列则起存储和转发交叉连接矩阵的功能作用。
2、权利要求1中所述方法,其特征是各系统I/O资源均被连接到AMPIC DRAM内的数据端口,并执行下述步骤,即,将各端口划分成等于DRAM存储体数的槽,并使从系统I/O资源抵达的数据流入由数据要被写入的DRAM地址确定的系统I/O资源数据端口的适当的槽,并进而确定数据被写入哪一DRAM存储体。
3、权利要求2中所述方法,其特征是短的消息被应用于ATM网络,从一系统I/O资源输入的消息数据被作成数据流进入系统I/O资源数据端口的一个槽,并且其中如果其他的系统I/O资源已以同样短的消息填充它们的相应数据端口的不同槽时,即同时将所有消息传送到DRAM阵列,由此而使得能有效地利用所述数据总线。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/901,502 US6212597B1 (en) | 1997-07-28 | 1997-07-28 | Apparatus for and method of architecturally enhancing the performance of a multi-port internally cached (AMPIC) DRAM array and like |
US901,502 | 1997-07-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1266517A CN1266517A (zh) | 2000-09-13 |
CN1159655C true CN1159655C (zh) | 2004-07-28 |
Family
ID=25414315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB988077248A Expired - Lifetime CN1159655C (zh) | 1997-07-28 | 1998-07-23 | 多端口内部高速缓存的动态随机存取存储器 |
Country Status (10)
Country | Link |
---|---|
US (1) | US6212597B1 (zh) |
EP (1) | EP1015989B1 (zh) |
JP (1) | JP4046943B2 (zh) |
CN (1) | CN1159655C (zh) |
AU (1) | AU748133B2 (zh) |
CA (1) | CA2297836C (zh) |
DE (1) | DE69810132T2 (zh) |
HK (1) | HK1030281A1 (zh) |
IL (1) | IL134222A (zh) |
WO (1) | WO1999005604A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7251249B2 (en) * | 2000-01-26 | 2007-07-31 | Tundra Semiconductor Corporation | Integrated high speed switch router using a multiport architecture |
US7016349B1 (en) * | 2000-09-29 | 2006-03-21 | Cypress Semiconductor Corp. | Logic for generating multicast/unicast address (es) |
US6604176B1 (en) * | 2000-12-21 | 2003-08-05 | Emc Corporation | Data storage system having plural fault domains |
US6643165B2 (en) | 2001-07-25 | 2003-11-04 | Nantero, Inc. | Electromechanical memory having cell selection circuitry constructed with nanotube technology |
US6919592B2 (en) * | 2001-07-25 | 2005-07-19 | Nantero, Inc. | Electromechanical memory array using nanotube ribbons and method for making same |
US6835591B2 (en) * | 2001-07-25 | 2004-12-28 | Nantero, Inc. | Methods of nanotube films and articles |
US6706402B2 (en) * | 2001-07-25 | 2004-03-16 | Nantero, Inc. | Nanotube films and articles |
US7566478B2 (en) * | 2001-07-25 | 2009-07-28 | Nantero, Inc. | Methods of making carbon nanotube films, layers, fabrics, ribbons, elements and articles |
US6574130B2 (en) * | 2001-07-25 | 2003-06-03 | Nantero, Inc. | Hybrid circuit having nanotube electromechanical memory |
US6567329B2 (en) | 2001-08-28 | 2003-05-20 | Intel Corporation | Multiple word-line accessing and accessor |
US7176505B2 (en) * | 2001-12-28 | 2007-02-13 | Nantero, Inc. | Electromechanical three-trace junction devices |
US6784028B2 (en) | 2001-12-28 | 2004-08-31 | Nantero, Inc. | Methods of making electromechanical three-trace junction devices |
US7335395B2 (en) * | 2002-04-23 | 2008-02-26 | Nantero, Inc. | Methods of using pre-formed nanotubes to make carbon nanotube films, layers, fabrics, ribbons, elements and articles |
US7738496B1 (en) | 2002-12-31 | 2010-06-15 | Cypress Semiconductor Corporation | Device that provides the functionality of dual-ported memory using single-ported memory for multiple clock domains |
CN100390755C (zh) * | 2003-10-14 | 2008-05-28 | 中国科学院计算技术研究所 | 含有显式高速缓冲存储器的计算机微体系结构 |
US7934057B1 (en) | 2003-12-24 | 2011-04-26 | Cypress Semiconductor Corporation | Logic for implementing a dual clock domain read access with predictable timing for bi-directional inputs/outputs |
JP2005327062A (ja) * | 2004-05-14 | 2005-11-24 | Oki Electric Ind Co Ltd | 入出力端子装置の制御方法及び入出力端子装置 |
JP4565981B2 (ja) * | 2004-11-29 | 2010-10-20 | ソニー・エリクソン・モバイルコミュニケーションズ株式会社 | 不揮発性メモリのデータ保存方法、コンピュータプログラムおよび携帯端末 |
US8135933B2 (en) * | 2007-01-10 | 2012-03-13 | Mobile Semiconductor Corporation | Adaptive memory system for enhancing the performance of an external computing device |
US8145809B1 (en) | 2007-03-09 | 2012-03-27 | Cypress Semiconductor Corporation | Busy detection logic for asynchronous communication port |
JP5599969B2 (ja) | 2008-03-19 | 2014-10-01 | ピーエスフォー ルクスコ エスエイアールエル | マルチポートメモリ、および該マルチポートメモリを備えるコンピュータシステム |
JP5449686B2 (ja) * | 2008-03-21 | 2014-03-19 | ピーエスフォー ルクスコ エスエイアールエル | マルチポートメモリ及びそのマルチポートメモリを用いたシステム |
US9514069B1 (en) | 2012-05-24 | 2016-12-06 | Schwegman, Lundberg & Woessner, P.A. | Enhanced computer processor and memory management architecture |
WO2013184139A1 (en) | 2012-06-08 | 2013-12-12 | Hewlett-Packard Development Company, L.P. | Accessing memory |
MA41915A (fr) * | 2015-04-07 | 2018-02-13 | Benjamin Gittins | Unités de requête de transfert de mémoire programmable |
CN109857342B (zh) * | 2019-01-16 | 2021-07-13 | 盛科网络(苏州)有限公司 | 一种数据读写方法及装置、交换芯片及存储介质 |
WO2020190841A1 (en) | 2019-03-18 | 2020-09-24 | Rambus Inc. | System application of dram component with cache mode |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6339763U (zh) * | 1986-08-30 | 1988-03-15 | ||
JPH0834481B2 (ja) * | 1989-07-03 | 1996-03-29 | 日本電気株式会社 | パケット交換機 |
JPH0554655A (ja) * | 1991-08-22 | 1993-03-05 | Nec Corp | 半導体メモリ装置 |
JP2947664B2 (ja) * | 1992-03-30 | 1999-09-13 | 株式会社東芝 | 画像専用半導体記憶装置 |
US5581773A (en) * | 1992-05-12 | 1996-12-03 | Glover; Michael A. | Massively parallel SIMD processor which selectively transfers individual contiguously disposed serial memory elements |
JP3104429B2 (ja) * | 1992-10-08 | 2000-10-30 | 株式会社日立製作所 | コピー機能を有する共通バッファ形atmスイッチ及びそのコピー方法 |
US5442747A (en) * | 1993-09-27 | 1995-08-15 | Auravision Corporation | Flexible multiport multiformat burst buffer |
AU3412295A (en) * | 1994-09-01 | 1996-03-22 | Gary L. Mcalpine | A multi-port memory system including read and write buffer interfaces |
JPH08241186A (ja) * | 1995-03-07 | 1996-09-17 | Fujitsu Ltd | バッファメモリ管理ユニット及びバッファメモリ管理方法 |
WO1997011419A2 (en) * | 1995-09-08 | 1997-03-27 | Shablamm Computer, Inc. | Synchronous multi-port random access memory |
US5875470A (en) * | 1995-09-28 | 1999-02-23 | International Business Machines Corporation | Multi-port multiple-simultaneous-access DRAM chip |
US5799209A (en) * | 1995-12-29 | 1998-08-25 | Chatter; Mukesh | Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration |
-
1997
- 1997-07-28 US US08/901,502 patent/US6212597B1/en not_active Expired - Lifetime
-
1998
- 1998-07-23 EP EP98932443A patent/EP1015989B1/en not_active Expired - Lifetime
- 1998-07-23 JP JP2000504513A patent/JP4046943B2/ja not_active Expired - Lifetime
- 1998-07-23 CN CNB988077248A patent/CN1159655C/zh not_active Expired - Lifetime
- 1998-07-23 CA CA002297836A patent/CA2297836C/en not_active Expired - Fee Related
- 1998-07-23 WO PCT/IB1998/001121 patent/WO1999005604A1/en active IP Right Grant
- 1998-07-23 IL IL13422298A patent/IL134222A/en not_active IP Right Cessation
- 1998-07-23 DE DE69810132T patent/DE69810132T2/de not_active Expired - Lifetime
- 1998-07-23 AU AU82367/98A patent/AU748133B2/en not_active Expired
-
2001
- 2001-02-13 HK HK01101019A patent/HK1030281A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE69810132T2 (de) | 2003-11-06 |
EP1015989B1 (en) | 2002-12-11 |
JP2001511559A (ja) | 2001-08-14 |
CN1266517A (zh) | 2000-09-13 |
IL134222A0 (en) | 2001-04-30 |
CA2297836A1 (en) | 1999-02-04 |
AU8236798A (en) | 1999-02-16 |
DE69810132D1 (de) | 2003-01-23 |
IL134222A (en) | 2004-07-25 |
JP4046943B2 (ja) | 2008-02-13 |
CA2297836C (en) | 2006-04-11 |
HK1030281A1 (en) | 2001-04-27 |
EP1015989A1 (en) | 2000-07-05 |
AU748133B2 (en) | 2002-05-30 |
WO1999005604A1 (en) | 1999-02-04 |
US6212597B1 (en) | 2001-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1159655C (zh) | 多端口内部高速缓存的动态随机存取存储器 | |
JP3628706B2 (ja) | メモリインタフェースユニット、共有メモリスイッチシステムおよび関連の方法 | |
CN100595720C (zh) | 用于基于集线器的存储系统中直接存储器访问的设备和方法 | |
US5799207A (en) | Non-blocking peripheral access architecture having a register configure to indicate a path selection for data transfer between a master, memory, and an I/O device | |
CA2151181C (en) | Multicast shared memory | |
US6553449B1 (en) | System and method for providing concurrent row and column commands | |
US7979757B2 (en) | Method and apparatus for testing high capacity/high bandwidth memory devices | |
JP2575557B2 (ja) | スーパーコンピユータシステム | |
CN1809025A (zh) | 结合存储块支持多存储体的方法和设备 | |
CN1142493C (zh) | 具有低能耗方式的高带宽动态随机存取存储器 | |
CN1825466A (zh) | 存储器装置,存储器控制器及其操作方法 | |
US20050210185A1 (en) | System and method for organizing data transfers with memory hub memory modules | |
EP0187289A2 (en) | Hierarchical memory system | |
CN1298593A (zh) | 电信转接器中的ampic dram系统 | |
CN1221919A (zh) | 在处理器单元之间交换数据的系统 | |
EP2524295B1 (en) | Memory management using packet segmenting and forwarding | |
US5668975A (en) | Method of requesting data by interlacing critical and non-critical data words of multiple data requests and apparatus therefor | |
CN101753580B (zh) | 包处理芯片及其数据存储、转发方法 | |
CN1052562A (zh) | 具有单比特置位和复位功能的主存储器插板 | |
US8504657B2 (en) | Media stream distribution system | |
EP0322116B1 (en) | Interconnect system for multiprocessor structure | |
CN100538738C (zh) | 访问多区存储器中的多维数据块的方法、装置及系统 | |
US6065093A (en) | High bandwidth narrow I/O memory device with command stacking | |
CN1191530C (zh) | 多命令部件共用主控器的pci主桥 | |
CN1662894A (zh) | 包括时隙总线和若干缓冲器的交换装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20040728 |