CN1266517A - 多端口内高速缓存的动态随机存取存储器 - Google Patents
多端口内高速缓存的动态随机存取存储器 Download PDFInfo
- Publication number
- CN1266517A CN1266517A CN98807724.8A CN98807724A CN1266517A CN 1266517 A CN1266517 A CN 1266517A CN 98807724 A CN98807724 A CN 98807724A CN 1266517 A CN1266517 A CN 1266517A
- Authority
- CN
- China
- Prior art keywords
- message
- dram
- resource
- array
- data
- 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.)
- Granted
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)
- Information Transfer Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (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能从阵列提取此消息的技术。虽然消息数据被这样分配到整个AMPICDRAM阵列中、阵列的每一元素仅保持数据的一部分,必须将完整的信令信息发送到AMPIC DRAM阵列的各个别元素。
另外本发明还提供划分技术的进一步改善,以使得能同时进行数个小型传送或单个的非常宽的传送,更有效地利用宽系统内部数据总线来适应小型的和大型的数据传送。
因此本发明的基本目的是提供一种新的改进的设备和方法,用来结构性增强多端口内部高速缓存的DRAM等的运行性能,其中提供一新颖机制和技术以允许系统I/O资源发送消息数据给一个另外的I/O资源,通知这样的消息的存在和消息存储单元,然后使能提取该消息。
另一目的是提供这样一种改进的系统,其中,通过新颖划分技术,宽系统内部数据总线被更有效地用来适应小型和大型内部数据传送两者,还能进行数个同时的小型消息传送或单一的非常宽的传送。
后面将阐述其他的目的并在所附的权利要求中作更细致的叙述。
本发明概述
概括地由其较广的一个方面来说,本发明包含在一多端口内部高速缓存的AMPIC DRAM单元阵列中改善运行性能的方法,该阵列中多个系统I/O资源沿着连接到阵列各单元中的对应DRAM核的公用内部数据总线接口,且其中来自CPU或类似源的数据在数据传送期间也用各单元沿着此总线传送,该方法包括:与数据传送同时地通过在所述数据传送周期内从一系统I/O资源向阵列的所有AMPIC DRAM单元发送消息并同时发送关于DRAM中消息地址单元(address location)的比特信息使系统I/O资源相互发送多比特消息。
后面详细描述优选的最好模式设计、设备、技术和可替换结构。
现结合所列附图说明本发明,其中:
图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,则所示的AMPICDRAM叠置结构#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中描述一其中消息占有3 DRAM区域的示例的结果。为了说明的目的,假定消息的大小为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 (41)
1、在多端口内部高速缓存的AMPIC DRAM单元的阵列中改善运行性能的方法,所述阵列中多个系统I/O资源沿着被连接到阵列各单元中的对应DRAM核的公用内部数据总线接口,并且其中来自CPU或类似源的数据在数据传送周期内也用各单元沿着总线传送,所述方法包括:
在数据传送的同时,通过在所述数据传送周期内从一系统I/O资源向阵列中的所有AMPIC DRAM单元发送消息并同时发送关于DRAM中的消息地址单元的比特信息而使得系统I/O资源能发送比特消息给其他系统I/O资源。
2、权利要求1中所述方法,其特征是,在所述数据传送期间各AMPICDRAM单元接收数据的不同部分,但各AMPIC DRAM单元接收同一DRAM消息地址单元,以使各AMPIC DRAM能将系统I/O资源所发送的消息写进内部DRAM阵列的同一存储单元。
3、权利要求2中所述方法,其特征是在消息目标系统I/O资源处此消息被读出。
4、权利要求1中所述方法,其特征是,在将一系统I/O资源所发送的消息写进AMPIC DRAM阵列后,向该消息所预定用于的目标系统I/O资源通知存在一消息和在AMPIC DRAM阵列内此消息的地址单元。
5、权利要求4中所述方法,其特征是,此消息所预定用于的目标I/O资源在被这样通知后从AMPIC DRAM阵列提取此消息。
6、权利要求5中所述方法,其特征是消息数据被在整个AMPICDRAM阵列中分布,阵列的各元素保持此数据的一部分,而消息的完整信令信息被送到AMPIC DRAM阵列的每一个别元素。
7、权利要求3中所述方法,其特征是消息比特地址单元信息在DRAM阵列中被逻辑划分成多个区域。
8、权利要求7中所述方法,其特征是区域的大小相等。
9、权利要求7中所述方法,其特征是链接地址比特被包括在消息存储单元信息中用于链接大于所述区域的消息的各部分。
10、权利要求1中所述方法,其特征是AMPIC DRAM阵列被划分成大于或等于连接到AMPIC DRAM的系统I/O资源数的数个被独立控制的存储体,各内部数据总线被在每一DRAM存储体之间均分。
11、权利要求10中所述方法,其特征是在各系统I/O资源数据端口与DRAM阵列之间插入有交叉开关,用于为各次传送双向转接正确的数据端口到正确的DRAM存储体。
12、权利要求4中所述方法,其特征是消息的大小也随消息地址单元被转送到目标系统I/O资源。
13、权利要求12中所述方法,其特征是当消息被写入DRAM阵列时消息的大小被存储在其中,并且通过在消息比特计数所指明的长度内认定“数据有效”信号来向目标资源I/O指出消息的大小。
14、权利要求4中所述方法,其特征是目标系统I/O资源在接收到消息的地址单元后将此地址单元驱送进每一AMPIC DRAM。
15、权利要求5中所述方法,其特征是一旦消息的地址单元已被驱送进每一AMPID DRAM,即通过从阵列的各AMPIC DRAM读出其消息数据部分并将此消息转送到目标I/O资源来实现消息的提取。
16、权利要求14中所述方法,其特征是此消息被作为一多址传送消息被发送到数个目标系统I/O资源,并且在判断出已从每一个多址传送消息系统I/O资源接收到同一DRAM地址后执行单一的DRAM读周期。
17、权利要求9中所述方法,其特征是在从AMPIC DRAM阵列的连续区域读取消息时,当一区域中的链接地址不指向另一区域时,整个消息即已被读出。
18、权利要求7中所述方法,其特征是区域大小被编程为一定范围的可变大小值以分别适应相对很小和很大的消息。
19、权利要求3中所述方法,其特征是将消息背靠背地存储在DRAM阵列中而不管消息大小如何,相应地不同大小的消息即被分布在整个阵列中。
20、权利要求3中所述方法,其特征是系统I/O资源间的地址传送在AMPIC DRAM的外部逻辑中执行。
21、在一多端口内部高速缓存的AMPIC DRAM单元阵列中改善运行性能的方法,所述阵列中多个系统I/O资源沿连接到阵列的各单元的对应DRAM核的公用内部数据总线接口,并且其中在数据传送周期内来自CPU或类似源的数据也用各单元沿总线传送,所述方法包括:
在数据传送的同时,使得系统I/O资源能互相发送多比特消息,这是通过下述步骤实现的:从一系统I/O资源发送欲供一系统目标I/O资源用的消息到AMPIC DRAM单元,后者在接收到该消息数据时选择DRAM阵列中一自由地址单元并将消息写到该单元,从而用一消息就绪信号通知系统目标I/O资源,而且当系统目标I/O资源准备好接收消息时,从阵列的各DRAM检索其消息数据部分并转送该数据到目标I/O资源,所有这些都与AMPIC DRAM单元的内部结构无关,而该阵列则起存储和转发交叉连接矩阵的功能作用。
22、权利要求10中所述方法,其特征是各系统I/O资源均被连接到AMPIC DRAM内的数据端口,并执行下述步骤,即,将各端口划分成等于DRAM存储体数的槽,并使从系统I/O资源抵达的数据流入由数据要被写入的DRAM地址确定的系统I/O资源数据端口的适当的槽,并进而确定数据被写入哪一DRAM存储体。
23、权利要求22中所述方法,其特征是相对短的消息被应用于ATM网络,从一系统I/O资源输入的消息数据被作成数据流进入系统I/O资源数据端口的一个槽,并且其中如果其他的系统I/O资源已以同样短的消息填充它们的相应数据端口的不同槽时,即同时将所有消息传送到DRAM阵列,由此而使得能有效地利用所述数据总线。
24、用于增强多端口内部高速缓存(AMPIC)的DRAM单元阵列的运行性能的设备,所述阵列中多个系统I/O资源沿着连接到此阵列各单元中的相应DRAM核的共用内部数据总线接口,其中在数据传送周期内来自CPU或类似源的数据也用各单元沿总线传送,所述设备具有:相组合的逻辑电路,用于通过在所述数据传送周期内从一系统I/O资源向阵列中的所有AMPIC DRAM单元发送消息并同时发送关于在DRAM中的消息地址单元的信息使系统I/O资源能互相发送多比特消息;各个AMPIC DRAM单元在所述传送期间内接收数据的不同部分,各AMPICDRAM单元连接来接收同一DRAM消息地址单元并将由一系统I/O资源所发送的消息写进内部DRAM阵列中的同一存储单元。
25、权利要求24中所述设备,其特征是消息目标系统I/O资源设置有使消息能被读出的装置。
26、权利要求25中所述设备,其特征是设置有可运行来在将系统I/O资源所发送的消息写进AMPIC DRAM阵列后向此消息所预定用于的目标系统I/O资源通知存在一消息和在AMPIC DRAM阵列内的此消息地址单元的装置。
27、权利要求26中所述设备,其特征是设置有使得消息所预定用于的目标系统I/O资源能在被这样通知后从AMPIC DRAM阵列提取此消息的装置。
28、权利要求27中所述设备,其特征是消息数据在整个AMPICDRAM阵列中分布,阵列的各元素保持数据的一部分,消息的完整信令信息被发送到AMPIC DRAM阵列的各个别元素。
29、权利要求26中所述设备,其特征是所述逻辑电路使得消息的大小也随同消息地址单元被转送到目标系统I/O资源。
30、权利要求29中所述设备,其特征是所述逻辑电路使得当消息被写进DRAM阵列时消息的大小也被写在其中,并通过在消息比特计数所指明的长度内认定“数据有效”信号来对目标系统I/O资源指明消息的大小。
31、权利要求26中所述设备,其特征是设置有用于使目标系统I/O资源在接收到消息的地址单元时将此地址单元驱送进每个AMPICDRAM的装置。
32、权利要求27中所述设备,其特征是一旦消息的地址单元被驱送进每一AMPIC DRAM后则借助用于从阵列的各AMPIC DRAM读出其消息数据部分并将此消息转发到目标I/O资源的装置来执行消息提取。
33、权利要求31中所述设备,其特征是此消息被作为多址传送消息发送到数个目标系统I/O资源,在判断出从每个多址传送消息系统I/O资源接收到同一DRAM地址后,执行单个DRAM读周期。
34、权利要求25中所述设备,其特征是消息比特地址单元信息在DRAM阵列中被逻辑划分成为多个相同的区域。
35、权利要求34中所述设备,其特征是链接地址比特被包括在消息地址单元信息中用于链接大于区域的消息的各部分。
36、权利要求35中所述设备,其特征是在从连续的阵列区域读出消息期间,当一区域中的链接地址不指向另一区域时,则已读出整个消息。
37、权利要求34中所述设备,其特征是区域大小被编程为一可变大小值的范围来适应相对小和大的消息。
38、权利要求25中所述设备,其特征是消息被背靠背地存储在DRAM阵列中而不管消息的大小,相应地不同大小的消息被分布在整个阵列中。
39、权利要求25中所述设备,其特征是系统I/O资源间地址的传送由AMPIC DRAM外部的逻辑电路执行。
40、权利要求25中所述设备,其特征是阵列被划分成数个被独立地控制的DRAM存储体,其中各系统I/O资源被连接到AMPIC DRAM内的数据端口,各端口被划分成等于DRAM存储体数的槽,从系统I/O资源到达的数据即流入由数据要被写入的DRAM地址所确定的系统I/O资源数据端口的适当的槽,并进而确定数据被写入哪一个DRAM存储体。
41、权利要求40中所述设备,其特征是相对短的消息如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 true CN1266517A (zh) | 2000-09-13 |
CN1159655C 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107995978A (zh) * | 2015-04-07 | 2018-05-04 | 本杰明·吉金斯 | 可编程的内存传输请求处理单元 |
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 |
US6574130B2 (en) | 2001-07-25 | 2003-06-03 | Nantero, Inc. | Hybrid circuit having nanotube electromechanical memory |
US6919592B2 (en) * | 2001-07-25 | 2005-07-19 | Nantero, Inc. | Electromechanical memory array using nanotube ribbons and method for making same |
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 |
US6835591B2 (en) * | 2001-07-25 | 2004-12-28 | Nantero, Inc. | Methods of nanotube films and articles |
US6643165B2 (en) | 2001-07-25 | 2003-11-04 | Nantero, Inc. | Electromechanical memory having cell selection circuitry constructed with nanotube technology |
US6567329B2 (en) | 2001-08-28 | 2003-05-20 | Intel Corporation | Multiple word-line accessing and accessor |
US6784028B2 (en) | 2001-12-28 | 2004-08-31 | Nantero, Inc. | Methods of making electromechanical three-trace junction devices |
US7176505B2 (en) * | 2001-12-28 | 2007-02-13 | Nantero, Inc. | 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 | ソニー・エリクソン・モバイルコミュニケーションズ株式会社 | 不揮発性メモリのデータ保存方法、コンピュータプログラムおよび携帯端末 |
TWI463321B (zh) | 2007-01-10 | 2014-12-01 | Mobile Semiconductor Corp | 用於改善外部計算裝置效能的調適性記憶體系統 |
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 |
US9773531B2 (en) | 2012-06-08 | 2017-09-26 | Hewlett Packard Enterprise Development Lp | Accessing memory |
US12072807B2 (en) | 2018-06-05 | 2024-08-27 | Rambus Inc. | Storage and access of data and tags in a multi-way set associative cache |
CN109857342B (zh) * | 2019-01-16 | 2021-07-13 | 盛科网络(苏州)有限公司 | 一种数据读写方法及装置、交换芯片及存储介质 |
US11842762B2 (en) | 2019-03-18 | 2023-12-12 | 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 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
- 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 JP JP2000504513A patent/JP4046943B2/ja not_active Expired - Lifetime
- 1998-07-23 EP EP98932443A patent/EP1015989B1/en not_active Expired - Lifetime
- 1998-07-23 CN CNB988077248A patent/CN1159655C/zh not_active Expired - Lifetime
-
2001
- 2001-02-13 HK HK01101019A patent/HK1030281A1/xx not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107995978A (zh) * | 2015-04-07 | 2018-05-04 | 本杰明·吉金斯 | 可编程的内存传输请求处理单元 |
CN107995978B (zh) * | 2015-04-07 | 2021-06-18 | 本杰明·吉金斯 | 一种可编程内存传输请求处理装置 |
Also Published As
Publication number | Publication date |
---|---|
DE69810132D1 (de) | 2003-01-23 |
JP2001511559A (ja) | 2001-08-14 |
IL134222A (en) | 2004-07-25 |
CN1159655C (zh) | 2004-07-28 |
CA2297836C (en) | 2006-04-11 |
JP4046943B2 (ja) | 2008-02-13 |
AU8236798A (en) | 1999-02-16 |
IL134222A0 (en) | 2001-04-30 |
DE69810132T2 (de) | 2003-11-06 |
EP1015989A1 (en) | 2000-07-05 |
EP1015989B1 (en) | 2002-12-11 |
CA2297836A1 (en) | 1999-02-04 |
HK1030281A1 (en) | 2001-04-27 |
US6212597B1 (en) | 2001-04-03 |
WO1999005604A1 (en) | 1999-02-04 |
AU748133B2 (en) | 2002-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1159655C (zh) | 多端口内部高速缓存的动态随机存取存储器 | |
EP2351035B1 (en) | Switched interface stacked-die memory architecture | |
US6553449B1 (en) | System and method for providing concurrent row and column commands | |
US8018790B2 (en) | Serial memory interface | |
CN102232215B (zh) | 多串行接口堆叠裸片存储器架构 | |
US7979757B2 (en) | Method and apparatus for testing high capacity/high bandwidth memory devices | |
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 | |
CN1142493C (zh) | 具有低能耗方式的高带宽动态随机存取存储器 | |
CN1809025A (zh) | 结合存储块支持多存储体的方法和设备 | |
EP1045558B1 (en) | Very wide memory TDM switching system | |
CN86107763A (zh) | 具有相邻地址空间的存贮器系统 | |
CN101930412B (zh) | 存储器微块化请求重排序 | |
CN1825466A (zh) | 存储器装置,存储器控制器及其操作方法 | |
JP2004320786A (ja) | ネットワーク装置 | |
CN101278352A (zh) | 菊花链级联设备 | |
US20090097348A1 (en) | Integrated circuit including a memory module having a plurality of memory banks | |
CN1298593A (zh) | 电信转接器中的ampic dram系统 | |
CN1221919A (zh) | 在处理器单元之间交换数据的系统 | |
EP2524295B1 (en) | Memory management using packet segmenting and forwarding | |
CN101753580B (zh) | 包处理芯片及其数据存储、转发方法 | |
EP0619547A1 (en) | A method of requesting data and apparatus therefor | |
EP0322116B1 (en) | Interconnect system for multiprocessor structure | |
CN100538738C (zh) | 访问多区存储器中的多维数据块的方法、装置及系统 | |
CN1662894A (zh) | 包括时隙总线和若干缓冲器的交换装置 | |
USRE39879E1 (en) | Method of transferring data by transmitting lower order and upper order memory address bits in separate words with respective op codes and start information |
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 |
Granted publication date: 20040728 |
|
CX01 | Expiry of patent term |