CN100397374C - 存储器带宽控制装置 - Google Patents

存储器带宽控制装置 Download PDF

Info

Publication number
CN100397374C
CN100397374C CNB2004100921756A CN200410092175A CN100397374C CN 100397374 C CN100397374 C CN 100397374C CN B2004100921756 A CNB2004100921756 A CN B2004100921756A CN 200410092175 A CN200410092175 A CN 200410092175A CN 100397374 C CN100397374 C CN 100397374C
Authority
CN
China
Prior art keywords
memory
port
bandwidth
data
impact damper
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 - Fee Related
Application number
CNB2004100921756A
Other languages
English (en)
Other versions
CN1601501A (zh
Inventor
奥野健一
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN1601501A publication Critical patent/CN1601501A/zh
Application granted granted Critical
Publication of CN100397374C publication Critical patent/CN100397374C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Communication Control (AREA)

Abstract

一种可以显著提高在外部装置和存储器之间的数据传输效率的存储器带宽控制装置。只写和只读缓冲器中的每个包含缓冲器部分和I/O缓冲器控制部分,其中所述缓冲器部分包含多个存储区,所述I/O缓冲器控制部分具有无源带宽分配电路,并且将在控制器和存储器之间的存储器带宽动态地分配给发送所述请求的输入/输出端口,其中所述无源带宽分配电路响应于接收每个所述请求以向发送所述请求的端口分配缓冲器部分中的存储区,而且所述I/O缓冲器控制部分进行操作以创建端口表和存储区表,所述端口表指示在进行请求的端口和请求从这些端口到达的顺序之间的对应关系,由于没有存储器带宽的浪费,传输到存储器80的数据传输效率可以得到显著的提高。

Description

存储器带宽控制装置
技术领域
本发明涉及一种存储器带宽控制装置,且特别适用于将由外部输入至视频编辑设备的,诸如视频和音频之类的材料数据(material data)暂时地存储至一存储器,然后通过存储器处理该数据,或者对传输至硬盘驱动器的突发传输,执行存储器带宽控制。
背景技术
为了通过输入/输出端口,将从外部装置中接收的材料数据存储到硬盘驱动器,视频编辑设备暂时将规定数量或更多的材料数据存储在存储器中,然后执行数据的突发传输,将数据传输至硬盘驱动器,以便在短时间内以改善了的传输效率来传输数据。
此外,为了编辑材料数据,视频编辑设备将硬盘驱动器里存储的材料数据,通过存储器,提供给诸如操纵装置之类的外部装置,从而编辑该数据,然后通过存储器,执行所编辑的材料数据的突发传输,从而将其再次存入硬盘驱动器,或者将其向外部输出。
如上所述,视频编辑设备和硬盘驱动器之间,通过存储器来传输材料数据。因此,存储器的带宽,是由存储器和通过输入/输出端口连接到视频编辑设备的多个外部装置来控制的。
在存储器带宽(位宽×时钟数)为100Mbps,并且有10个外部装置的情况下,视频编辑设备简单地根据外部装置的数目,平分存储器的带宽,从而导致利用时间划分,使每个装置分配到0.1秒(10Mbps)。
附带说明,借助于时间划分,上述视频编辑设备将存储器的带宽,固定分给每个通过输入/输出端口连接到其上的外部装置。因此,根据存储器的带宽,限制了将连接的外部装置的数目。另外,对于没有接收或输出材料数据的外部装置来说,其所分配到的存储器的带宽并没有使用,从而导致了数据传输效率的降低。
发明内容
鉴于以上所述,本发明的目的是提供一种可以显著地提高在外部装置和存储器间传输数据的效率的存储带宽控制装置。
本发明的存储带宽控制装置已经达到上述本发明的发明目的和其他发明目的,存储器带宽控制装置,包括:存储器,用于暂时存储和输出数据,以便与经由输入/输出端口连接的外部设备进行通信;以及控制器,用于当收到从外部设备到存储器的数据的数据传输请求时,将存储器带宽动态分配给发送数据传输请求的外部设备的输入/输出端口。所述控制器包含选择器,用于当接收来自外部设备的写入请求时,暂时将来自外部设备的数据存入只写缓冲器,或者当接收来自所述外部设备的读出请求时,暂时将从存储器读出的数据存入只读缓冲器,并将使用许可动态分配给接收写入请求的只写缓冲器,或者接收读出请求的只读缓冲器,其特征在于所述只写和只读缓冲器中的每个包含缓冲器部分和I/O缓冲器控制部分,其中所述缓冲器部分包含多个存储区,所述I/O缓冲器控制部分具有无源带宽分配电路,并且将在控制器和存储器之间的存储器带宽动态地分配给发送所述请求的输入/输出端口,其中所述无源带宽分配电路响应于接收每个所述请求以向发送所述请求的端口分配缓冲器部分中的存储区,而且所述I/O缓冲器控制部分进行操作以创建端口表和存储区表,所述端口表指示在进行请求的端口和请求从这些端口到达的顺序之间的对应关系,而所述存储区表指示在进行请求的端口和分配的存储区之间的对应关系。因此,与固定分配存储器带宽的情况相比,存储器带宽可以被有效利用。其结果是可以不浪费存储器带宽,从而显著提高数据向存储器的传输效率,这样可以实现能够显著提高外部设备与存储器间数据传输效率的存储器带宽控制装置。
此外,本发明提供一种存储器带宽分配方法,此方法包括:用于暂时在存储器中存储和输出数据、以便与经由输入/输出端口连接的外部设备进行通信的步骤;以及用于当收到从外部设备到存储器的数据的数据传输请求时,将存储器带宽动态分配给发送数据传输请求的外部设备的输入/输出端口的步骤,所述将存储器带宽动态分配外部设备的输入/输出端口的步骤由控制器所实施,所述控制器包含选择器,用于当接收来自外部设备的写入请求时,暂时将来自外部设备的数据存入只写缓冲器,或者当接收来自所述外部设备的读出请求时,暂时将从存储器读出的数据存入只读缓冲器,并将使用许可动态分配给接收写入请求的只写缓冲器,或者接收读出请求的只读缓冲器;其特征在于所述只写和只读缓冲器中的每个包含缓冲器部分和I/O缓冲器控制部分,其中所述缓冲器部分包含多个存储区,所述I/O缓冲器控制部分具有无源带宽分配电路,并且将在控制器和存储器之间的存储器带宽动态地分配给发送所述请求的输入/输出端口,其中所述无源带宽分配电路响应于接收每个所述请求以向发送所述请求的端口分配缓冲器部分中的存储区,而且所述I/O缓冲器控制部分进行操作以创建端口表和存储区表,所述端口表指示在进行请求的端口和请求从这些端口到达的顺序之间的对应关系,而所述存储区表指示在进行请求的端口和分配的存储区之间的对应关系。其结果是可以不浪费存储器带宽,从而显著提高存储器的数据传输效率,与固定分配存储器带宽的情况相比,得到可以实现显著提高外部设备与存储器间数据传输效率的存储器带宽分配方法。
更进一步,本发明提供了一种由编辑设备执行的存储器带宽分配程序,该程序包括:接收向存储器传输数据的数据传输请求的数据传输请求接收步骤,该数据与通过输入/输出端口连接的外部设备进行通信,该存储器用来暂时存储和输出数据;以及将存储器带宽动态分配给发送数据传输请求的外部装置的输入/输出端口的控制步骤。其结果是可以不浪费存储器带宽,从而显著提高存储器的数据传输效率,与固定分配存储器带宽的情况相比,得到可以实现显著提高外部设备与存储器间数据传输效率的存储器带宽分配程序。
在结合附图阅读时,本发明的本质,原理和作用将从以下详细说明中变得更加明显,附图中相似的数字或字符表示相似的部分。
附图说明
在附图中:
图1为根据本发明,存储器带宽控制装置的电路结构的原理模块图;
图2为说明对于一个输入/输出端口的带宽分配过程的原理模块图;
图3为说明I/O缓冲器W的操作的原理示意图;以及
图4为说明I/O缓冲器R的操作的原理示意图。
具体实施方式
参照附图,将说明本发明的优选实施例:(1)存储器带宽控制装置的电路结构
参照图1,附图标记1标识安装在编辑设备中的本发明的存储器带宽控制装置,其通过存储器80与硬盘驱动器(HDD)60传输材料数据,存储器80包括诸如双倍数据传输率-同步动态随机存取存储器(DDR-SDRAM)。
存储器带宽控制装置1以现场可编程门阵列(FPGA)构造,并设计该装置,使其通过各种输入/输出端口,如第一串行数据接口(SDI)-IN端口3、第二SDI-IN端口4、第一SDI-OUT端口5、第二SDI-OUT端口6,ENC/DEC端口7和CPU端口12,与连接至I/O缓冲器2的第一至第四装置50到53,编码器/解码器(ENC/DEC)54和CPU62,进行材料数据的传输,并且通过存储器80,从经过外设部件互连(PCI)端口11连接的硬盘驱动器(HDD)60读出或向其写入材料数据。
应当注意,组成材料数据的视频数据、音频数据和元数据,可以在I/O缓冲器2与第一、第二SDI-IN端口3、4和第一、第二SDI-OUT端口5、6之间,通过三个读端口或者三个写端口,传输三种类型的数据。
此外,在I/O缓冲器2与ENC/DEC端口7、PCI端口11和CPU端口12之间,通过一个写端口和一个读端口来传输数据。
另外,还存在一个没有与外部连接的视频处理(VPROC)端口10,并且数据可以根据需要,通过单个或多个读端口和写端口,在VPROC端口10和I/O缓冲器2之间进行通信。
I/O缓冲器2是一个通过存储控制器70,在存储器80和输入/输出端口之间传输数据的模块,且其内部包括一个只写I/O缓冲器W81和一个只读I/O缓冲器R82。I/O缓冲器W81和I/O缓冲器R82,可以根据写入操作或读取操作,通过选择器83来进行切换。
I/O缓冲器W81和I/O缓冲器R82,可以吸收输入/输出端口与存储器80之间数据传输速率的差值,以便提高向存储器80持续突发传输的效率。
该存储器带宽控制装置1,将存储器带宽动态分配给在第一SDI-IN端口3、第二SDI-IN端口4、第一SDI-OUT端口5、第二SDI-OUT端口6、ENC/DEC端口7、VPROC端口10、PCI端口11和CPU端口12中的请求数据传输的各个输入/输出端口,并为了存储器带宽的分配,与各个输入/输出端口进行信号交换。
基本上,一个输入/输出端口在每次向存储器80写入或从其中读出数据的同时,向I/O缓冲器2输出一个数据传输请求(请求),且I/O缓冲器2将所请求带宽分配给请求数据传输的该输入/输出端口,并向该输入/输出端口输出响应信号(应答),以便将存储器带宽的预留通知输入/输出端口。
应当注意的是,每个输入/输出端口都包含一个或多个读/写端口,并且在一个读端口/写端口的基础上,实现输入/输出端口与I/O缓冲器2之间的通信。
(2)带宽分配过程概要
顺序地,结合图2,说明I/O缓冲器2以存储器带宽分配程序来执行读/写端口的带宽分配的过程。
例如,当I/O缓冲器2中的I/O缓冲器W81接收到来自一个或多个写端口13、14、...、28的数据传输请求(请求)时,具有一个无源带宽分配电路81A(在下文中,简称为PBA电路)的I/O缓冲器控制器81B,将在I/O缓冲器2与存储器80之间的存储器总线带宽动态分配给发送数据传输请求的写端口13、14、...、28。
I/O缓冲控制器81B转换将被写入的材料数据,该材料数据以32位宽度数据总线顺序地从由PBA电路81A分配了存储器带宽的写端口13、14、...、28接收,从而将这些数据以256位宽度数据总线发送到缓冲器81C中。当规定大小的数据存储到缓冲器81C时,I/O缓冲控制器81B将一个数据传输请求(请求)输出给选择器83中的PBA电路83A。
选择器83中的PBA电路83A,根据数据传输请求(请求)是来自I/O缓冲器W81或I/O缓冲器R82,在与存储器80进行数据通信的I/O缓冲器W81和I/O缓冲器R82之间进行交替切换。
当选择器83选择I/O缓冲器W81时,存储控制器70将从第一SDI-IN端口3、第二SDI-IN端口4、ENC/DEC端口7、VPROC端口10、PCI端口11和CPU端口12中任一端口接收的,要被写入的材料数据,由I/O缓冲器W81传输给存储器80。且当选择I/O缓冲器R82时,存储控制器70将从存储器80读出的材料数据,通过I/O缓冲器R82,输出给第一SDI-OUT端口5、第二SDI-OUT端口6、ENC/DEC端口7、VPROC端口10、PCI端口11和CPU端口12中的任意一个。
应当注意的是,I/O缓冲器R82执行与I/O缓冲器W81同样的过程,其不同仅仅是写操作和读操作,且这里省略了对其工作过程的说明。(2-1)I/O缓冲器W的操作
现在,将参考图3,说明当I/O缓冲器W81通过一个输入/输出端口中的写端口13、14、...、28顺序将所要写入的材料数据突发写入存储器80时的操作。
每个写端口13、14、...、28其内部都具有一个缓冲器,且当有25个字节的将被写入的材料数据存储到缓冲器中时,其就向I/O缓冲器W81输出一个数据传输请求。
当I/O缓冲器W81中的PBA电路81A(图2)接收来自写端口14的一个数据传输请求时,其在缓冲器81C中,给写端口14分配一个最小编号或者第一存储区,以便给写端口14分配存储器带宽。
在这种情况下,I/O缓冲控制器81B创建一个端口表91,该表指示在发送数据传输请求的写端口14(#2)和数据传输请求到达的顺序(No.1)之间的关系,并且创建一个存储区表92,该表指示在写端口14(#2)和所分配的第一存储区(1B)之间的关系。
然后,I/O缓冲控制器81B,通过具有32位宽度数据总线的端口槽84,从写端口14接收所要写入的材料数据,以内部寄存器87转换该数据,从而通过具有256位宽度数据总线将其输出,并随后以256比特每时钟脉冲的传输率,通过一存储区槽85,将数据顺序地存储到缓冲器81C的第一存储区中,从而在8个时钟脉冲里,将256字节的材料数据存储在第一存储区中。
对于缓冲器81C的第一存储区到第十六存储区,可以设置256字节作为传输到存储器80中的一个数据传输单元。使用这个数据大小,可以将所写入的材料数据以较小的开销持续传输。
在I/O缓冲器W81中,由于将256字节设置为向存储器80突发传输的大小,那么I/O缓冲器W81中的一个数据传输单元基本上是256字节。
当256字节的材料数据已存储到第一存储区时,缓冲器81C向存储控制器70发出一个要将材料数据写入存储器80的写入请求。当缓冲器81C接收到写入允许时,其通过选择器83将256字节的材料数据,以每次256比特的速率全部传输给存储控制器70。
由于存储器80是双倍数据传输率存储器,所以存储控制器70以128位宽度总线,将所接收的数据传输给存储器80。
现在,考虑到这种情况,I/O缓冲控制器81B以某一顺序接收来自每个写端口13、14、...、28的数据传输请求(请求),该顺序为写端口13、14、...、28中存储256字节的材料数据的顺序。由于I/O缓冲器81B花费8个时钟周期存储来自每个写端口13、14、...、28的256位的材料数据,从而以缓冲器86、87、88将32位的数据转换为256位的数据,并且8个时钟脉冲根据时间划分进行分割,以用于将数据向缓冲器81C进行传输,并且其可以同时从8个写端口接收数据。
因此,分配给每个写端口13、14、...、28的存储器带宽,最多是存储器带宽的八分之一。在存储器带宽是1Gbps的情况下,分配给每个写端口的最大存储器带宽就是125Mbps。
在不需要存储器带宽的情况下,将不会分配存储器带宽,除非有传输请求送入I/O缓存器W81。
如上所述,I/O缓冲器W81根据传输请求(请求)来分配存储器带宽,所以,将较大的存储器带宽分配给具有大量数据的写端口,从而实现高效的数据传输。
这时,同样地,I/O缓冲控制器81B创建一个端口表91,该表指示在写端口13、14、...、28和数据传输请求(请求)到达的顺序之间的关系。另外,I/O缓冲控制器81B根据数据传输请求到达的顺序,将每个写端口13、14、...、28分配给缓冲器81C中的最小编号的空闲存储区,并创建一个存储区表92,该表指示其相互之间的关系。
端口表91显示写端口14(#2)、13(#1)和28(#16)发送以No.1、No.2、No3指示的第一到第三的数据传输请求(请求)。
另外,存储区表92指示了与缓冲器81C的第一到第十六存储区范围中的第二到第四存储区相关联,根据数据传输请求(请求)到达的顺序所分配的写端口14、13和28的编号(#2、#1、#16)。
关于这一点,对于第一存储区,来自第二SDI-IN端口4的材料数据已经如上所述进行了存储,所以,已经给写端口分配了最小编号的空闲存储区,或者,第二或随后的空闲存储区。
如上所述,I/O缓冲控制器81B根据到达PBA电路81A的数据传输请求(请求)的顺序,将写端口13、14、...、28动态分配给缓冲器81C中的各存储区。
这样,将存储器带宽分配给三个写端口13、14、28,所以,根据数据传输请求到达的顺序,在第一个时钟,将来自写端口14的256位的材料数据存储到第二存储区,在下一个时钟,将来自写端口13的256位的材料数据存储到第三存储区,并且在下一个时钟,将来自写端口28的256位的材料数据存储到第四存储区。
接着,在八个时钟脉冲后,将256位的材料数据重复存储在每个写端口13、14、28,从而将所要写入的256字节的材料数据存储在第二到第四存储区。
缓冲器81C包含一个双端口RAM,且当将256字节的材料数据存储到第二个存储区时,根据存储控制器70发出的一个写入允许,通过存储控制器70,将第二存储区存储的256字节的材料数据以每次256比特的速度写入存储器80。同样地,缓冲器81C通过存储控制器70,将材料数据依次从第三存储区和第四存储区传输至存储器80。
如上所述,缓冲器81C包含一个双端口RAM,所以I/O缓冲控制器81B向/从缓冲器81C中的第一到第十六存储区异步地存储和读出材料数据。
因此,缓冲器81C可以在I/O缓冲控制器81B向第二到第四存储区存储材料数据的同时,从第一存储区中将数据传输给存储器80,从而提高数据传输的效率。
顺便提一下,I/O缓冲器W81只是用来将材料数据写入存储器80中。和交替地多次发出写入命令和读出命令的情况相比,不需要在写入操作和读出操作之间转换的时间,从而显著地提高数据传输的效率。
(2-2)I/O缓冲器R的操作
现在,结合图4来说明当每次通过I/O缓冲器R82,从存储器80将材料数据传输到读端口29、30、...、44时的操作。
在图4中,相同的附图标记适用于与图3中相一致的部分,除了用I/O缓冲器R82替代了图3中I/O缓冲器W81之外,其他部分均相同。
当I/O缓冲器R82中的PBA电路(未示出)只从写端口30接收存储器80中存储的所要读取的材料数据的数据传输请求时,其将存储器带宽分配给读端口30,并将最小编号的空闲存储区,或缓冲器82C中的第一存储区分配给读端口30。
在这种情况下,I/O缓冲控制器82B创建一个端口表101,该表指示在发送数据传输请求的读端口30(#2)和其数据传输请求到达的顺序(No.1)之间的关系,并且创建一个存储区表102,该表指示在读端口30(#2)和所分配的缓冲器82C中的具有最小编号的第一存储区(1B)之间的关系。
然后,I/O缓冲控制器82B将所要读取材料数据的数据传输请求通过选择器83,发送至存储控制器70,以每个时钟256位的速率顺序地将来自存储器80的材料数据存储在缓冲器82C的第一存储区中,因此经八个时钟就可以在第一存储区中存储256字节的材料数据。
然后,I/O缓冲控制器82B通过存储区槽105,接收来自缓冲器82C的第一存储区的256位的材料数据,在寄存器107中将其进行转换,以32位宽度数据总线将其输出,并通过端口槽104将数据传输到读端口30,当已将256字节的材料数据写入读端口30的时候,结束数据传输过程。
当I/O缓冲控制器82B接收来自读端口29、30、...、44的,从存储区80中读取材料数据的数据传输请求的时候,其将存储器带宽分配给发送传输请求的读端口29、30、...、44。
I/O缓冲控制器82B创建一个端口表101,该表指示在读端口29、30、...、44和数据传输请求到达的顺序之间的关系。另外,I/O缓冲控制器82B根据数据传输请求到达的顺序,将各读端口分配给最小编号的空闲存储区,并创建一个存储区表102,该表指示其之间的对应关系。
该例中的端口表101表示读端口30(#2)、29(#1)和44(#16)分别发送用No.1到No3指示的第一到第三的数据传输请求。
根据数据传输请求到达的顺序,存储区表102示出了分配给缓冲器82C的第一到第十六存储区范围中的第二到第四存储区的读端口29、30、...、44的编号(#2、#1、#16)。
关于这一点,对于第一存储区,如上所述,响应从读端口30发出的数据传输请求,存储要被读取的材料数据,将各读端口分配给最小编号,或者第二或随后的空闲存储区。
如上所述,I/O缓冲控制器82B,根据到达PBA电路(未示出)的数据传输请求(请求)的顺序,将读端口29、30、...、44动态分配给缓冲器82C中的存储区。
实际上,和I/O缓冲控制器81B一样,I/O缓冲控制器82B根据传输请求的顺序,以每次256位的速率,从存储器80将256字节的数据突发传输到缓冲器82C中的存储区中。
这种情况下,由于按顺序将存储器带宽分配给三个读端口30、29、44,所以,将来自存储器80的256字节的材料数据按顺序存入第二存储区、第三存储区和第四存储区。
缓冲器82C包含一个双端口RAM,且当将256字节的材料数据存储到第二到第四存储区中的每一个时,将来自第二至第四存储区中的材料数据,以每次256位的速率,依次传输至按时间划分的I/O缓冲控制器82B。
I/O缓冲控制器82B通过寄存器106到108将256位的材料数据转换成为32位宽度,并将转换结果通过端口槽104传输给读端口29、30、...、44。
因为缓冲器82C也包含一个双端口RAM,所以,I/O缓冲控制器82B可以异步地将材料数据存储到缓冲器82C的第一到第十六存储区,并输出从缓冲器82C的第一到第十六存储区中读取的材料数据。
因此,当I/O缓冲控制器82B将材料数据存入第二到第四存储区时,缓冲器82C可以通过I/O缓冲控制器82B,从第一存储区将材料数据传输到读端口30中,从而提高数据传输效率。
顺便提一下,I/O缓冲器R82只是用来从存储器80中读取材料数据。和交替地多次输出命令和读出命令的情况相比,不需要在写入操作和读出操作之间转换的时间,从而显著地提高数据传输的效率。
(3)操作和效果
在上述结构中,存储器带宽控制装置1的I/O缓冲器2,将存储器带宽动态分配给请求数据传输的输入/输出端口。因此,可以根据需要分配所请求的存储器带宽。和传统的固定存储器带宽分配的情况相比,可以避免存储带宽的无用分配,从而显著提高传输至存储器80的数据传输效率。
存储器带宽控制装置1中的I/O缓冲器2,将存储器带宽动态分配给请求数据传输的输入/输出端口。连接到I/O缓冲器2的输入/输出端口的数目,在理论上可以不受限制,假定可以在该范围内分配存储器带宽,则可以根据存储器带宽,在不受外部设备的数目限制的情况下,显著提高其可用性。
I/O缓冲器W81中的I/O缓冲器81B,按照存储区编号递增的顺序将排列的缓冲器81C中的第二到第四存储区分配给写端口13、14、28,该写端口13、14、28以数据传输请求到达的顺序,依次动态地被分配存储器带宽,并且以每次256位的速率,通过分时逐个时钟,将所要写入的材料数据存储至被分配的第二到第四存储区,从而结束向第二到第四存储区几乎同时传输所要写入的256字节数据。
当将数据以非分时方式传输至第二到第四存储区时,来自写端口13、14、...、28的将要写入的材料数据,应该一次存入寄存器86、87和88,以便由寄存器86、87和88,中断材料数据的数据传输,该材料数据为I/O缓冲控制器81B和缓冲器81C之间所传输的材料数据。
然而,I/O缓冲控制器81B,通过分时逐个时钟,将256位的材料数据存储至分配给写端口13、14、...、28的第二到第四存储区,从而以几乎相同的时间结束第二到第四存储区中256字节的材料数据的传输,并且也通过避免传输的数据在寄存器86、87和88产生中断而显著提高数据的传输效率。
I/O缓冲器R82中的I/O缓冲控制器82B可以产生同样的效果。
由于I/O缓冲器2使用只写I/O缓冲器W81和只读I/O缓冲器R81,所以,不需要在写入操作和读出操作之间转换的时间,从而显著地提高数据传输的效率。
实际上,存储器带宽控制装置1的I/O缓冲器2使用只写I/O缓冲器W81和只读I/O缓冲器R82,且选择器83的PBA电路83A在缓冲器81和82之间进行动态切换,以提供写入允许和读出允许。因此,当以每次256位的速率,连续8次执行突发读写传输时,在74MHZ和100MHZ的时钟频率下,可以分别达到95.16%和95.84%的最高使用效率。
根据上述构造,存储器带宽控制装置1的I/O缓冲器2,将存储器带宽动态分配给请求数据传输的各输入/输出端口。与传统固定存储器带宽分配的情况相比,由于没有存储器带宽的浪费,传输到存储器80的数据的传输效率可以得到显著的提高。
(4)其他实施例
应当注意的是,在上述实施例中已经描述了以每次256位的速率,在8个时钟执行突发传输时,256字节的材料数据被存储在缓冲器81C和82C的第一到第十六存储区中。但是,本发明不局限于本实施例,或者通过使用四个或十六个时钟脉冲的突发传输,存储来128字节或512字节的材料数据。
此外,上述实施例已经描述了I/O缓冲器2根据存储器带宽分配程序,执行的上述存储器带宽分配过程。但是,本发明不局限于此,且I/O缓冲器2能够通过在一编辑设备中插入存储该存储器带宽分配程序的程序存储介质,执行存储器带宽分配的过程。
在编辑装置中,安装该存储器带宽分配程序,以执行上述存储区带宽分配过程的程序存储介质不但可以是诸如软盘、高密度只读存储光盘(CD-ROM)、数字多用途光盘(DVD)之类的程序包介质,而且可以是半导体存储器和磁盘等可以暂时或永久存储存储器带宽分配程序的存储介质。另外,作为用于将存储器带宽分配程序存储到程序存储媒介的装置,可以使用诸如局域网、Internet网或者数字卫星广播之类的有线或无线通信介质。程序可以通过诸如路由器和调制解调器之类的各种通信接口来进行存储。
更进一步,上述实施例已经描述了将存储器带宽动态分配给请求数据传输的各输入/输出端口。然而,本发明不局限于此,且存储器带宽可以在将接收数据传输请求的优先级顺序送给每一个输入/输出带宽之后,动态分配存储器带宽。这样做,虽然可连接的输入/输出端口的数目可以不受理论限制,但可以提前避免具有较高优先权的设备无法分配到存储器带宽的风险。
更进一步,上述实施例已经描述了安装在编辑装置中的本发明的存储器带宽控制装置。本发明并不局限于此,且本发明的存储器带宽控制装置还可以安装在诸如个人电脑和个人数字助理(PDA)之类的各种信息处理设备中。
更进一步,上述实施例已经描述了作为一个控制装置,动态分配存储区带宽的I/O缓冲器W81中的PBA电路81A和I/O缓冲器R82中的PBA电路。但是,本发明并不局限于此,且存储器带宽可以由其他电路结构进行分配。
本发明可以用于各种通过例如,存储器传输数据的信息处理设备。
虽然结合本发明优选实施例进行了叙述,但显而易见,本领域技术人员可以在本发明精神和范围之内,以各种变化和修改为目的,在附带权利要求中覆盖各种变化和修改。

Claims (6)

1.一种存储器带宽控制装置,包括:
存储器(80),用于暂时存储和输出数据,以便与经由输入/输出端口(3-7,10-12)连接的外部设备(50-54、60、62)进行通信;以及
控制器(1),用于当收到从外部设备到存储器的数据的数据传输请求时,将存储器带宽动态分配给发送数据传输请求的外部设备的输入/输出端口。
所述控制器(1)包含选择器(83),用于当接收来自外部设备的写入请求时,暂时将来自外部设备的数据存入只写缓冲器(81),或者当接收来自所述外部设备的读出请求时,暂时将从存储器读出的数据存入只读缓冲器(82),并将使用许可动态分配给接收写入请求的只写缓冲器,或者接收读出请求的只读缓冲器,其特征在于所述只写和只读缓冲器(81,82)中的每个包含缓冲器部分(81C,82C)和I/O缓冲器控制部分(81B,82B),其中所述缓冲器部分(81C,82C)包含多个存储区,所述I/O缓冲器控制部分(81B,82B)具有无源带宽分配电路(81A,82A),并且将在控制器(1)和存储器(80)之间的存储器带宽动态地分配给发送所述请求的输入/输出端口,其中所述无源带宽分配电路(81A,82A)响应于接收每个所述请求以向发送所述请求的端口分配缓冲器部分(81C,82C)中的存储区,而且所述I/O缓冲器控制部分(81B,82B)进行操作以创建端口表(91,101)和存储区表(92,102),所述端口表(91,101)指示在进行请求的端口和请求从这些端口到达的顺序之间的对应关系,而所述存储区表(92,102)指示在进行请求的端口和分配的存储区之间的对应关系。
2.如权利要求1所述的存储器带宽控制装置,其中:
所述控制器(1)进行操作以便在存储器带宽范围内,设置对存储器有效的输入/输出端口的数目。
3.如权利要求1或者权利要求2所述的存储器带宽控制装置,其中:
所述选择器(83)进行操作以便以每次规定的数据量,将存储在只写缓冲器(81)或只读缓冲器(82)中的数据突发传输到存储器(80)中。
4.一种存储器带宽控制方法,包括:
用于暂时在存储器(80)中存储和输出数据、以便与经由输入/输出端口(3-7,10-12)连接的外部设备(50-54、60、62)进行通信的步骤;以及
用于当收到从外部设备到存储器的数据的数据传输请求时,将存储器带宽动态分配给发送数据传输请求的外部设备的输入/输出端口的步骤,所述将存储器带宽动态分配外部设备的输入/输出端口的步骤由控制器(1)所实施,所述控制器(1)包含选择器(83),用于当接收来自外部设备的写入请求时,暂时将来自外部设备的数据存入只写缓冲器(81),或者当接收来自所述外部设备的读出请求时,暂时将从存储器读出的数据存入只读缓冲器(82),并将使用许可动态分配给接收写入请求的只写缓冲器,或者接收读出请求的只读缓冲器;
其特征在于所述只写和只读缓冲器(81,82)中的每个包含缓冲器部分(81C,82C)和I/O缓冲器控制部分(81B,82B),其中所述缓冲器部分(81C,82C)包含多个存储区,所述I/O缓冲器控制部分(81B,82B)具有无源带宽分配电路(81A,82A),并且将在控制器(1)和存储器(80)之间的存储器带宽动态地分配给发送所述请求的输入/输出端口,其中所述无源带宽分配电路(81A,82A)响应于接收每个所述请求以向发送所述请求的端口分配缓冲器部分(81C,82C)中的存储区,而且所述I/O缓冲器控制部分(81B,82B)进行操作以创建端口表(91,101)和存储区表(92,102),所述端口表(91,101)指示在进行请求的端口和请求从这些端口到达的顺序之间的对应关系,而所述存储区表(92,102)指示在进行请求的端口和分配的存储区之间的对应关系。
5.如权利要求1所述的存储器带宽控制方法,其中:
所述控制器(1)在存储器带宽范围内设置对存储器有效的输入/输出端口的数目。
6.如权利要求4或者权利要求5所述的存储器带宽控制方法,其中:
所述选择器(83)以每次规定的数据量,将存储在只写缓冲器(81)或只读缓冲器(82)中的数据突发传输到存储器(80)中。
CNB2004100921756A 2003-09-08 2004-09-08 存储器带宽控制装置 Expired - Fee Related CN100397374C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003315731A JP2005084907A (ja) 2003-09-08 2003-09-08 メモリ帯域制御装置
JP315731/03 2003-09-08
JP315731/2003 2003-09-08

Publications (2)

Publication Number Publication Date
CN1601501A CN1601501A (zh) 2005-03-30
CN100397374C true CN100397374C (zh) 2008-06-25

Family

ID=34131940

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100921756A Expired - Fee Related CN100397374C (zh) 2003-09-08 2004-09-08 存储器带宽控制装置

Country Status (5)

Country Link
US (1) US7657711B2 (zh)
EP (1) EP1513071B1 (zh)
JP (1) JP2005084907A (zh)
CN (1) CN100397374C (zh)
DE (1) DE602004008712T2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4135747B2 (ja) * 2006-04-06 2008-08-20 ソニー株式会社 データ処理装置及びフラッシュメモリへのアクセス方法
WO2008032711A1 (fr) * 2006-09-13 2008-03-20 Panasonic Corporation Contrôleur mémoire, dispositif de stockage non volatil, dispositif d'accès et système de stockage non volatil
JP4679494B2 (ja) * 2006-11-22 2011-04-27 Necシステムテクノロジー株式会社 ディスクアレイ装置システム、ディスクアレイ装置制御方法、および、プログラム
JP5045229B2 (ja) * 2007-05-14 2012-10-10 富士ゼロックス株式会社 ストレージシステム及びストレージ装置
US8250312B2 (en) * 2009-04-29 2012-08-21 Micron Technology, Inc. Configurable multi-port memory devices and methods
US20120066444A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Resolution Enhancement of Video Stream Based on Spatial and Temporal Correlation
US20120066471A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Allocation of memory buffers based on preferred memory performance
JP5754273B2 (ja) 2011-07-11 2015-07-29 株式会社リコー メモリ制御装置、情報処理装置およびメモリ制御方法
WO2016038710A1 (ja) * 2014-09-11 2016-03-17 株式会社日立製作所 ストレージシステム
US10095422B2 (en) * 2016-10-28 2018-10-09 Veritas Technologies, LLC Systems and methods for allocating input/output bandwidth in storage systems
US11258877B2 (en) 2018-07-26 2022-02-22 Netapp, Inc. Methods for managing workloads in a storage system and devices thereof
US11983164B1 (en) 2022-11-17 2024-05-14 Bank Of America Corporation System and method for data community detection via data network telemetry

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1195437A (zh) * 1995-08-16 1998-10-07 斯塔盖德数字网络有限公司 用于音频信号和视频信号传输的带宽动态配置
US6098123A (en) * 1997-05-08 2000-08-01 International Business Machines Corporation Method and apparatus for dynamic allocation of bandwidth to/from network adapter memory amongst active input/output ports
US6501734B1 (en) * 1999-05-24 2002-12-31 Advanced Micro Devices, Inc. Apparatus and method in a network switch for dynamically assigning memory interface slots between gigabit port and expansion port
CN1430440A (zh) * 2001-12-26 2003-07-16 Lg电子株式会社 基站调制解调器的存储器控制装置和方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63132369A (ja) 1986-11-21 1988-06-04 Oki Electric Ind Co Ltd メモリ情報転送方式
JPH03273353A (ja) 1990-03-22 1991-12-04 Hitachi Ltd 通信制御装置
JP3273191B2 (ja) 1991-11-29 2002-04-08 日本電気エンジニアリング株式会社 データ転送装置
JP3364751B2 (ja) 1992-02-20 2003-01-08 日本電気エンジニアリング株式会社 データ転送システム
JPH09507104A (ja) * 1993-11-30 1997-07-15 ヴィエルエスアイ テクノロジー インコーポレイテッド 共用メモリシステムの同時動作を可能にし最大にする方法及び装置
WO1995015528A1 (en) * 1993-11-30 1995-06-08 Vlsi Technology, Inc. A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade
US5634004A (en) * 1994-05-16 1997-05-27 Network Programs, Inc. Directly programmable distribution element
JPH10340243A (ja) 1997-06-06 1998-12-22 Hitachi Ltd 入出力データ転送システム
US6903733B1 (en) * 1997-11-24 2005-06-07 Pixelworks, Inc. Ultra-high bandwidth multi-port memory system for image scaling applications
US6339434B1 (en) * 1997-11-24 2002-01-15 Pixelworks Image scaling circuit for fixed pixed resolution display
JP2000330923A (ja) 1999-05-19 2000-11-30 Nec Corp データ転送システム及び転送方法並びに記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1195437A (zh) * 1995-08-16 1998-10-07 斯塔盖德数字网络有限公司 用于音频信号和视频信号传输的带宽动态配置
US6098123A (en) * 1997-05-08 2000-08-01 International Business Machines Corporation Method and apparatus for dynamic allocation of bandwidth to/from network adapter memory amongst active input/output ports
US6501734B1 (en) * 1999-05-24 2002-12-31 Advanced Micro Devices, Inc. Apparatus and method in a network switch for dynamically assigning memory interface slots between gigabit port and expansion port
CN1430440A (zh) * 2001-12-26 2003-07-16 Lg电子株式会社 基站调制解调器的存储器控制装置和方法

Also Published As

Publication number Publication date
EP1513071A2 (en) 2005-03-09
JP2005084907A (ja) 2005-03-31
US7657711B2 (en) 2010-02-02
CN1601501A (zh) 2005-03-30
EP1513071A3 (en) 2005-12-14
US20050086425A1 (en) 2005-04-21
DE602004008712T2 (de) 2008-06-12
EP1513071B1 (en) 2007-09-05
DE602004008712D1 (de) 2007-10-18

Similar Documents

Publication Publication Date Title
CN100397374C (zh) 存储器带宽控制装置
US6532525B1 (en) Method and apparatus for accessing memory
US6041397A (en) Efficient transmission buffer management system
CN102377682B (zh) 基于定长单元存储变长分组的队列管理方法及设备
US6925512B2 (en) Communication between two embedded processors
JP5566899B2 (ja) メモリにアクセスするシステム及び方法
US7984246B1 (en) Multicore memory management system
EP3480702B1 (en) Memory access technology and computer system
CN100466601C (zh) 一种数据读写装置及其读写方法
CN1070751A (zh) 多媒体信号处理器计算机系统
KR100311076B1 (ko) 폭선택및버스트가능선입선출데이타저장장치
US20020184453A1 (en) Data bus system including posted reads and writes
US6920510B2 (en) Time sharing a single port memory among a plurality of ports
CN101788956B (zh) 多通道数据存储方法、装置和多通道数据接收系统
CN101004674B (zh) 数据处理系统和包括数据处理系统的高清晰度电视机
US7865632B2 (en) Memory allocation and access method and device using the same
US6502173B1 (en) System for accessing memory and method therefore
CN103106164A (zh) 一种高效dma控制器
CN103218301B (zh) 用于数字信号处理的存储器访问
CN100378696C (zh) 音频处理器及其控制方法
KR100676982B1 (ko) 데이터 처리 장치 및 방법과 컴퓨터 판독 가능 저장 매체
US7523250B2 (en) Semiconductor memory system and semiconductor memory chip
WO2004068362A1 (en) Processor array
CN101488119B (zh) 地址译码方法、装置及单板
KR20010091900A (ko) 비동기 및 동기 프로토콜을 갖는 멀티-포트로된 메모리

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080625

Termination date: 20150908

EXPY Termination of patent right or utility model