CN103201725A - 用于在多个处理器之间共享的存储器的存储器访问设备及其访问方法 - Google Patents

用于在多个处理器之间共享的存储器的存储器访问设备及其访问方法 Download PDF

Info

Publication number
CN103201725A
CN103201725A CN2011800513492A CN201180051349A CN103201725A CN 103201725 A CN103201725 A CN 103201725A CN 2011800513492 A CN2011800513492 A CN 2011800513492A CN 201180051349 A CN201180051349 A CN 201180051349A CN 103201725 A CN103201725 A CN 103201725A
Authority
CN
China
Prior art keywords
cpu
request
access
memory
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
Application number
CN2011800513492A
Other languages
English (en)
Other versions
CN103201725B (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103201725A publication Critical patent/CN103201725A/zh
Application granted granted Critical
Publication of CN103201725B publication Critical patent/CN103201725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

提供了一种用于针对多个CPU的主存储器的共享存储器机制的存储器访问设备。本发明包括使用存储器作为主存储器的多个CPU,使用存储器作为缓冲器的另一功能块,控制从多个CPU对存储器的访问传送的CPU接口,以及用于执行到存储器的访问传送的仲裁的DRAM控制器。其中,CPU接口使得来自多个CPU的访问请求等待,以及接收和存储每个访问的地址、数据传送模式和数据大小,向DRAM控制器将通知访问请求DRAM控制器,并且继而,在接收针对访问请求的许可信号时,根据许可信号向DRAM控制器发送信息,于是DRAM控制器接收许可信号,并且基于访问仲裁,指定传送已经被许可的CPU,以便向CPU接口发送许可信号。

Description

用于在多个处理器之间共享的存储器的存储器访问设备及其访问方法
技术领域
本发明涉及用于信息装置中包括的多个处理器的存储器访问控制。
背景技术
减少功耗和降低成本是存储设备的关键问题。例如,所使用的DRAM存储器的数目减少对功耗、成本和足迹的减少做出巨大贡献。最近,已经开发了配备有多个CPU的SoC LSI。通常,多个CPU中的每一个都分别需要主存储器。与LSI上的其他DRAM存储器来共享多个CPU存储器可以减少用作主存储器的DRAM存储器的数目。
图1示出了ASIC,该ASIC具有在与来自CPU的访问(CPU访问)与数据流传送之间共享的DRAM以及支持存储器的共享的仲裁器。在该共享存储器配置中,用于数据流的数据缓冲器和CPU的主存储器共享相同的DRAM存储器芯片。在共享存储器中,一个DRAM存储器的可用区域在物理上彼此分开。
使用CPU的固件控制硬件(诸如数据流ASIC)向和从记录介质传送数据和从从记录介质传送数据。因为固件的代码的主体被置于主存储器中,所以对主存储器的访问在固件的操作中发生。从发出对主存储器的访问请求到请求完成的时延是CPU的延迟时间。该延迟时间越长,CPU的性能越低。
在该方法中,如果相应的数据传送被阻塞,则会造成主机传送的中断或者介质传送性能的降低。如果预期了数据传送的架构,则在来自同时发生所有块的数据传送请求时需要分别满足所需要的必要带宽。即使在主存储器与数据缓冲器之间共享存储器,也需要满足数据流传送和CPU访问的吞吐量。特别地,当设备配备有多个CPU时,需要保证DRAM存储器的带宽。然而,基于总线带宽和频率决定的DRAM存储器的物理带是受限的。
另外,主存储器访问的回转时间(turn around)影响CPU的性能。如果对主存储器的访问的请求在传送而不是主存储器访问(例如,数据流传送)期间到来,则该请求需要等待直到当前的传送完成。由此,当在主存储器与另一DRAM存储器之间共享存储器时,出现了以下问题。
1、在有限带宽内如何保证对于多个CPU的主存储器访问所需的带宽。保证所需带宽的一种简单方式是增加物理带宽。然而,加宽总线宽度以增加带宽,这会导致所使用的芯片的数目增加,并且这会影响减少存储器部分的数目的预期目的。另一方面,增加操作频率会导致功耗增加,这不是一个完美的解决方案。
减少传送开销对于提高给定物理带宽内的带宽是有效的。在通常使用的DRAM技术(诸如DDR3SDRAM)中,如果突发传送长度增加一次访问,则开销的比率可能降低。在满足所需要的带宽的存储器架构中,对具有高带宽需求的块给予长突发传送长度,对具有低带宽需求的块给予短突发传送长度是有效的。基于这一概念设计了IBM磁带驱动器的数据缓冲器,实现了具有高数据传送效果的相对低的操作频率。
然而,在对于主存储器访问的回转时间是关键问题的情况下,如果当主存储器请求到来时,另一块正在执行存储器访问,则主存储器访问需要等待直到当前传送完成。解决这一问题的一个可能的选项是中断当前传送,并且允许主存储器传送,但是这在具有高性能需求的系统中无法采用,因为这会使另一块的带宽降级。
DRAM技术中的开销包括模式寄存器设置命令(MRS)、用于激活要被访问的行地址的命令(激活)、用于关闭所使用的行的命令(Precharge(预加电))、刷新命令(刷新)等。根据这些命令,不传送数据。应用这些规范,存在一种已有的技术对具有连续地址的访问不发布Precharge命令。这对于专门用作主存储器的DRAM是有效的,并且这实际上会导致开销减少。然而,在用于不同的目的的CPU之间共享存储器的情况下,这一方法无效,因为通过划分存储器的物理区域来使用存储器,从而地址不连续。
从CPU对主存储器的访问是按字节的访问或者通过高速缓存线的访问。在内置系统中的CPU的情况下,高速缓存线是32字节或者64字节。在这种情况下,如果用于DRAM存储器的数据总线是32比特,则传送是在8个突发或者16个突发中。由此,CPU访问在突发传送的情况下是无效的,会增加开销。
2、如何减少主存储器请求的回转时间
如以上问题1中提到的,如果访问主存储器的请求在另一块的传送(例如,数据流)期间到来,则主存储器请求需要等待直到当前传送完成。在被设计为向主存储器访问指派最高优先级的仲裁器的情况下,允许访问来传送数据。任何其他块的传送周期至少是DRAM存储器时钟上的大约20个时钟,并且这是增加主存储器访问的延迟的主要因素之一。中断另一块的传送的方法需要考虑由一个系统来补偿中断损失。为此,由于需要重新传送周期,所以传送开销增加,使得难以保证块的带宽。
专利文献1涉及用于主机侧与CD介质侧指间的数据缓冲器访问的总线访问仲裁系统。当控制CD驱动器中的多个块对数据缓冲器的访问时,该总线访问仲裁系统为来自各个块的访问设置优先级,并且对来自其的访问的数目给予限制。
[现有技术参考]
[专利文献]
[专利文献1]
日本专利申请公开号11-120124。
发明内容
[本发明要解决的问题]
专利文献1的总线仲裁系统不包括CPU访问的延迟以及CPU和存储器系统中的多个缓冲器块的吞吐量,其中在该存储器系统中,存储器由多个CPU的主存储器和数据缓冲器存储器来共享。
本发明提供了一种包括共享存储器机制的存储器访问设备,以及用于配备在信息装置(例如,存储设备)中的多个CPU的方法。
[解决问题的手段]
为了实现以上目标,本发明提供了一种用于多个CPU的主存储器和针对其他功能块的数据缓冲器共享使用的存储器访问设备。该存储器访问设备包括:
使用存储器作为这些主存储器的多个CPU;
使用存储器作为这些数据缓冲器的其他功能块;
连接至用于CPU的总线的CPU接口电路,该CPU接口电路用于控制来自多个CPU的存储器访问请求;以及
连接至CPU接口电路的存储器控制器,用于仲裁来自CPU和功能块的存储器访问请求,其中
CPU接口电路保持来自所述多个CPU的访问请求,同时接收和存储每个访问的地址、数据传送模式和数据大小,并且向存储器控制器通知访问请求,并且,当接收到针对访问请求的允许信号时,CPU接口电路响应于允许信号而向存储器控制器发送信息,以及
存储器控制器接收访问请求信号,根据访问仲裁来指定访问请求被允许的CPU,并且向CPU接口电路发送允许信号。
该存储器访问设备的特征在于存储器是DRAM。
该存储器访问设备的特征在于,当存储器控制器不发送针对访问请求的允许信号时,CPU接口电路使来自多个CPU的访问请求保持等待。
该存储器访问设备的特征在于,存储器控制器在一个总线周期中执行多个CPU访问的传送序列。
该存储器访问设备的特征在于,当从多个CPU接收到访问请求时,如果正在执行另一块的传送,则存储器控制器保持多个CPU访问请求,并且在数据流传送完成之后,在一个传送周期中执行多个CPU访问请求。
该存储器访问设备的特征在于,存储器控制器(a)使用DRAM的内存交错而在一个传送周期中执行来自多个CPU的访问请求。
该存储器访问设备的特征在于,(b)当随后的访问请求与在执行另一块的传送期间存储器控制器保持的访问请求来自相同的CPU时,存储器控制器保持多个CPU访问请求,并且在数据流传送完成之后,在一个传送周期中执行多个CPU访问。
该存储器访问设备的特征在于,(a)的传送和(b)的传送组合地执行。
该存储器访问设备的特征在于,CPU接口电路包括:
向存储器控制器发送每个访问的传送模式(读取/写入)和地址的步骤(空闲);
接收来自多个CPU的传送请求,并且在这些内存地址不同时,向存储器控制器发送指示进入内存交错模式的BI信号的步骤;
对传送字进行计数,执行保持的传送请求,读取或者写入,直到字计数达到各个CPU访问的传送大小,并且在所述内存交错模式下,从保持来自CPU的各个访问开始来执行二者的步骤;以及
当随后的传送请求到来,并且这些请求地址与先前是相同的内存地址时,CPU接口电路向存储器控制器发送继续(Continue)信号的步骤,以及
存储器控制器包括:
检查是否已经接收到BI信号的步骤;
当CPU接口电路指示这样做时停止突发传送的步骤;
确认针对随后的请求判定(assert)了继续信号,并且当针对随后的请求判定了继续信号时,执行CPU接口电路中的保持的请求,返回步骤3以传送数据,直到突发分别停止,或者当没有判定继续信号时,利用以下的关闭步骤结束序列的步骤;以及
向存储器发出Precharge命令以关闭使用的内存的步骤。
该存储器访问设备的特征在于,存储器控制器的步骤包括如下步骤:当BI信号到来时,向存储器发出用于相应的内存的多个激活命令,或者当没有BI信号到来时,发出一个激活命令。
该存储器访问设备的特征在于,包括了DRAM作为存储器。
为了实现以上目的,本发明还提供了一种用于设备的存储器访问方法,该设备包括:使周存储器作为这些主存储器的多个CPU,主存储器与用于其他功能(数据流)块的数据缓冲器共享所述存储器;使用存储器作为数据缓冲器的其他功能(数据流)块;连接至用于CPU的总线的CPU接口电路,用于处理来自多个CPU的存储器访问请求;以及,连接至CPU接口电路的存储器控制器,用于仲裁来自CPU和功能块的存储器访问请求。该方法包括:
对来自多个CPU的访问请求(信号)进行排队的步骤;
接收和存储每个访问的地址、数据传送模式和数据大小,并且向存储器控制器通知访问请求的步骤;
在接收到针对访问请求(信号)的允许信号时,响应于允许信号而向存储器控制器发送信息的步骤;以及
接收访问请求信号,基于访问仲裁来指定访问传送被允许的CPU,并且向CPU接口发送允许信号的步骤。
发明的有益效果
如上所述,根据本发明,在由用于多个CPU的主存储器和其他存储器(诸如数据缓冲器)共享的存储器系统中,当主存储器访问请求到来时,使得存储器传送最小化访问时延并且减少数据传送的开销。
附图说明
图1示出了具有在与来自CPU的访问(CPU访问)与数据流传送之间共享的DRAM存储器的ASIC;
图2是示出具有多个CPU访问和数据流访问的DRAM配置中的本发明的存储器传送的概念图;
图3是示出磁带记录设备的配置的框图;
图4示出了包括在磁带驱动器的控制器16中的DRAM控制器的配置(ASIC)和用于执行数据流控制等的电路块;
图5是示出用于包括多个CPU的访问块的本地总线51、CPU接口和DRAM控制器之间的连接的框图;
图6示出了CPU接口将两个或者更多个本地总线连接至DRAM控制器;以及
图7是示出用于执行本发明的命令序列的流程图。
具体实施方式
在下文中,将在记录设备中的数据流和来自多个CPU的访问的方面,来描述根据本发明的优选实施方式(下文中简称为“实施方式”)的DRAM访问设备。注意,以下实施方式是示意性示例,并且并不旨在限制本发明的内容。
在用于多个CPU的主存储器和另一数据缓冲器存储器的共享使用的存储器系统中,当CPU访问请求到来时,执行以下方法:
(a)当多个主存储器访问请求到来时,如果另一块的传送正在执行,则这些请求保持等待。继而,在完成另一块的传送之后,使用诸如DDR3SDRAM的规范中定义的内存交错(bank interleave,在下文中也缩写为BI)在一个周期中执行这两个传送请求。
(b)当特定主存储器访问请求到来时,如果另一块的传送正在执行,则该请求保持等待。在这一过程期间,从相同的CPU发出下一个访问请求。DRAM存储器控制器(仲裁器)允许对主存储器的访问,并且如果下一个传送请求与已经在排队的CPU传送一起排队,则考虑条件在相同周期中执行下一数据传送。
(c)以上两种方法的组合
通过使用这些方法,减少了用于执行有效DRAM传送的传送开销。
根据(a),在用于多个CPU的主存储器在逻辑上被划分为共享存储器中的区域的架构中,各个区域映射有DDR3SDRAM的内存地址。在这种情况下,即使两个CPU访问在两个访问目的地的区域中是不同的,也使用具有内存地址的内存交错来同时执行两个传送。由此,针对第二和后续的传送请求,解决了问题2。
根据(b),第一请求保持等待,直到正在执行的另一块的传送完成,但是大大减少了到后续传送请求的回转时间。由此,针对第二和后续的传送请求,解决了问题2。
根据(c),由于两种技术(a)和(b)组合使用,所以来自多个CPU的传送请求在一个传送周期内完成。由于来自多个CPU的访问通过一次传送而完成,所以减少了传送开销,并且从而提高了存储器带的使用效率,改进了问题1。由于可以保证额外的带,所以可以将其分配给主存储器带本身或者用于其他块(例如,数据流块)的带。可以根据用于实现具有高使用效率的共享存储器控制器的系统来控制队列的数目。
图2是示出具有多个CPU访问和数据流访问的DRAM配置中的本发明的存储器传送的概念图。参考图2,将描述本发明的技术(a)到(c)。图2B示出了数据总线47和CPU本地总线48向外部DRAM发起请求。信息装置(例如,存储设备)配备有用于功能控制的多个CPU和用于数据的读取/写入的数据总线47。从每个CPU49向DRAM45发起访问传送。与这些访问传送并行地,用于数据的读取/写入的存储器被用作数据缓冲器451。来自多个CPU1、2和3的CPU传送(CPU访问)使用DRAM中的452。此时,通过使用内存交错来寻址,为来自各个CPU的地址指派不同的内存地址。图2A示出了数据总线分别针对数据流REQ1、2、...,进行一次512字节的传送41。在该传送期间,多个CPU的传送保持等待。在数据传送完成之后,通过一次传送来共同地执行来自CPU1、...的传送43。由此,减少了CPU访问开销39。在一个传送周期中传送每个数据流41中的512个数据字节,并且在该周期期间,CPU传送保持等待,以造成CPU访问的时延。当来自多个CPU的访问继续并且从而变得忙碌时,完成数据传送时的时延影响每个访问传送。CPU访问传送是包括读取/写入命令的部分(阴影区域)32B,并且这些部分在尺寸上很小。因此,如果可以将两个或者更多个CPU访问一起放到一个传送中,则可以总体上减少CPU访问开销。另一方面,如果可以将CPU访问聚合,则可以保证不仅用于CPU访问还用于数据流的足够的传送带,提高了数据传送的吞吐量。
图3是示出磁带驱动器10的配置的框图。此处,将描述实施方式将要应用于的磁带驱动器。磁带驱动器10包括接口11、数据缓冲器12、记录通道13、磁带23、头24、卷轴21和22、卡盘20、马达15、控制器16、头位置控制系统17和马达驱动器18。接口11与主机30通信。
接口11接收从主机30到数据缓冲器的指示写入要被传送的数据的命令,以及指示将数据缓冲器12中的数据写入到磁带23上的命令。例如,接口11的通信标准是SCSI或者光纤通道。
数据缓冲器12是用于累积要被写入到磁带23上的数据的存储器。数据缓冲器12被划分为固定长度的分段。一个分段与磁带23上的一个数据集相对应。数据集具有这样的数据结构,其中包括C1奇偶校验和C2奇偶校验的迭代码添加到该数据结构上。数据集(DataSet)在DSIT(数据集信息表)中包含作为属性信息的与包括在其中的多个记录(数据)有关的分隔符信息。包括在控制器16中的CPU生成针对数据缓冲器12中的每个数据集的DSIT。将DSIT包括在每个数据集中。DSIT的生成意味着CPU可以直接访问数据缓冲器,并且执行固件以添加数据管理信息。
数据缓冲器12称为环形缓冲器,因为其接收数据直到最后的分段,并且继而开始再次从第一分段接收数据。数据具有任意长度,并且从主机30传送到驱动器。即使在从主机传送固定长度数据时,如果数据进行了压缩,数据长度也将每个数据之间不同。传送数据的这些片段顺序地累积到数据缓冲器12的分段中。记录通道13是用于将填充有各种大小的数据的分段数据写入到作为数据集的磁带介质上的通信路径。作为用于每个分段的数据集的在数据缓冲器12中累积的数据被写入到磁带介质上。写入定时是分段被填满数据的时间。
磁带23是作为数据记录装置的记录介质。通过记录通道13的数据由头14写入到作为数据集的磁带23上。磁带23缠绕在卷轴21和22之间,以便在旋转的同时从卷轴21到卷轴23纵向移动,反之亦然。卡盘20是容纳缠绕磁带23的卷轴21的容器。可以提供与卡盘20相同类型的卡盘以容纳卷轴14d。马达15驱动卷轴21和22转动。
控制器16控制磁带驱动器10的整体操作。控制器16根据在接口11处从主机30接收的命令,来控制向磁带23进行数据写入/读取。控制器还控制头位置控制系统17和马达驱动器18。头位置控制系统17遵循期望的轨道。当头14需要在轨道之间切换时,头位置控制系统17控制头14来电动地切换。马达驱动器18还可以直接连接至控制器16。
图4示出了包括在磁带驱动器的控制器16中的DRAM控制器的配置(ASIC)和用于执行数据流控制等的电路块。控制器16包括功能块,诸如用于执行各种类型的控制的处理器80、存储固件的闪速ROM90、缓冲器管理器40、磁带传送70、主机传送60和C2ECC计算器(纠错)50。磁带传送块70连接磁带23和读取/写入头14。主机传送块60连接至主机30。控制器(ASIC)16控制磁带介质23与头14之间的、以及主机30与外部缓冲器12之间的关联。特别地,缓冲器管理器40具有仲裁外部缓冲器12、磁带缓冲块70、主机传送块60、C2ECC计算器块50和两个处理器(CPU1和CPU2)80之间的存储器访问的功能。
下文将描述从当从主机30传送数据时到数据被写入到磁带上的数据传送流。通过缓冲器管理器块40,来自从主机接收的主机传送块的数据被一次存储到外部缓冲器12中。缓冲器管理器块40需要高的带宽,以便于对从每个功能块50、60和70到外部缓冲器的数据传送的访问执行高速管道处理。外部缓冲器例如是具有4字节或者8字节总线宽的DDR3SDRAM12。存储在外部缓冲器12中的数据被传送到C2ECC计算器50的SRAM。在C2ECC50中,校正数据的所有片段的错误,并且经校正的数据被写回到DDR3SDRAM12中。作为数据流控制器的功能,缓冲器管理器40以时间共享方式在总线之间切换,以使得每个功能块50、60和70能够有效地访问DDR3SDRAM。由于从DDR3SDRAM12读取的数据被写回到DDR3SDRAM12的架构,C2ECC50对于处理时间具有严格要求。
为了支持对来自每个功能块的数据传送的统一管道处理,必须保证每个块所需的带宽。当CPU控制主机或者介质传送时,数据暂时存储在外部缓冲器中,并且按顺序处理。例如,在从主机向存储设备写入的情况下,来自主机的数据首先被存储在外部缓冲器中。接下来,从外部缓冲器读取数据,以添加纠错码(在下文中,称为ECC)。将通过ECC计算器计算出的ECC奇偶校验再次存储到外部缓冲器中。之后,再次从外部缓冲器向介质侧读取数据。针对一次写入或者读取,缓冲器管理器通过多个功能块多次访问外部缓冲器。另外,这些处理形成管道,并且同时向外部缓冲器发出多个访问请求。
图5是示出用于包括多个CPU的访问块(未示出)的本地总线51、CPU接口和DRAM控制器之间的连接的框图。在图3中,这些DRAM访问电路包括在控制器16中。DRAM控制器共享数据缓冲器12。通常,DRAM控制器管理用于向诸如DDR3SDRAM的DRAM发出命令的序列。由于发出最佳命令的顺序根据访问块而改变,所以通过硬件中的状态机来采用命令序列,即,DRAM控制器包括命令控制电路和CPU接口电路。假设在系统中,共享存储器被用作两个存储器,CPU主存储器空间和数据缓冲器空间。在两侧之间共享到存储器芯片(未示出)的信号线,并且DRAM控制器53以时间共享方式向DRAM存储器传送数据以及从DRAM存储器传送数据,同时仲裁每个访问块。包括来自CPU的主存储器访问的访问块判定传送请求(REQ信号),并且在被允许时,判定允许的信号以开始每个传送。在DRAM控制器53中,当决定了来自其的访问被允许的块(未示出)时,命令控制电路开始按照根据传送块的序列来发出命令。
下文将描述CPU接口(也称为“CPU接口电路”或者“CPU接口块”)。该电路连接至用于多个CPU的本地总线,以执行访问请求和数据传送。与DRAM控制器侧相关,该电路发送DRAM传送请求,在传送被允许时执行数据传送。诸如地址、读取/写入方向和传送数据大小的信号与传送请求信号一起连接至CPU本地总线。
图6示出了CPU接口将两个或者更多个CPU本地总线连接至控制器。CPU1和CPU2作为两个接口块存在。DRAM访问块1、...、n是信息装置的其他功能块。例如,访问块63和64是用于写入/读取数据流中的数据的块。经由CPU接口52向外部DRAM存储器67提供从两个CPU到共享主存储器的各个区域的访问。向用于处理队列的请求队列控制电路54发送传送请求信号(REQ信号)。由控制电路54立即处理第一请求,并且DRAM传送请求被发送至DRAM控制器53。包括在DRAM控制器中的仲裁器65仲裁包括来自其他块的请求的传送请求。当允许CPU传送(CPU访问传送)时,DRAM控制器抬高允许信号。已经接收了允许信号的DRAM控制器接口电路54执行向DRAM控制器53进行的或者从DRAM控制器53进行的存储器访问、以及写入数据或者读取数据的传送。
如果没有响应于来自CPU的DRAM传送请求而判定允许信号,则这将成为在因为另一块63或者64正在执行数据传送而访问不被允许时的情况。DRAM控制器接口54在保持REQ信号被判定时等待被允许。此时,当下一传送请求到来时,请求队列控制电路54接受该请求。根据如果对请求进行排队(即,根据请求队列)来分别使用以上三种技术a、b和c。当两个请求队列是来自两个CPU的访问时,这样使用技术a:在允许信号到来时,判定内存交错信号(BI信号)以支持通过使用内存交错进行传送。然而,在这种情况下,来自两个CPU的请求地址的内存地址需要彼此不同。另一方面,当两个请求队列来自相同的CPU时,这样使用技术b:当允许信号到来时,使用继续信号在一个周期中传送两个请求。备选地,技术c可以用于改进传送效率。换言之,当下一请求来自操作a正在执行其先前访问的CPU时,在该周期的执行期间执行操作b。
是否可以对下一传送请求进行排队取决于CPU的规范。即使写入请求没有实际传送到主存储器,当接收到写入数据时,也可以结束写入周期。在读取传送的情况下,如果CPU能够预取数据,则仅可以对该请求进行这样排队,使得随后将接收读取数据。
下文将描述DRAM控制器53。当尚未接收到以上REQ信号时,即,当没有判定允许信号时,如果访问请求来自多个CPU,将执行使用内存交错模式的传送。另外,当判定允许信号时,CPU接口52在适当的定时,向DRAM控制器的命令序列控制器66或者从DRAM控制器的命令序列控制器66,传送该传送模式信息、地址和数据。在完成数据传送时,在适当的定时发出Precharge命令以结束该周期。在这之前,CPU接口52检查传送请求队列的状态,并且如果下一请求已经就绪,则CPU接口52判定继续信号,并且针对下一传送向DRAM控制器发出请求。已经接收到继续信号的DRAM控制器发出下一传送命令(写入或者读取),并且处理队列中的下一请求。注意,仲裁器65仲裁来自多个块的访问。
图7是示出用于执行本发明的命令序列的流程图。该流程图(左图)示出,作为命令序列控制的流,本发明在用于共享多个CPU的主存储器的系统中的操作。右图示出了每个步骤中CPU接口电路和DRAM控制器的功能。
步骤0
CPU接口:
向DRAM控制器发送传送模式(读取/写入)和地址。
步骤1
CPU接口:
接收来自多个CPU的传送请求。如果请求来自两个CPU,并且其内存地址彼此不同,则内存交错模式可执行。在这种情况下,向DRAM控制器发送指示进入内存交错模式的BI信号。
步骤2
DRAM控制器:
检查是否已经接收到BI信号。
如果判定了BI信号,则BI信号被接收,并且发出针对相应内存的多个激活命令。
如果没有判定BI信号,则发出一个激活命令。
步骤3
CPU接口:
继而,执行排队的主存储器传送、读取或者写入。在内存交错模式中,从来自多个CPU的各个访问被排队开始,将执行所有的访问。在对传送字进行计数时,在突发中传送当前请求的数据,直到字计数到达指定的传送尺寸。
DRAM控制器:
当CPU接口完成突发传送时,控制进行到步骤4。
步骤4
CPU接口:
当下一传送请求已经达到这一时刻,并且这些请求地址是能够进入BI模式的地址时,向DRAM控制器发送继续信号。
DRAM控制器:
检查是否判定继续信号。
如果判定了继续信号,则移至步骤3。
如果没有判定继续信号,进行到步骤5以结束该传送周期。
步骤5
DRAM控制器:
当传送周期结束时,Precharge命令关闭ROW访问。
接下来,考虑CPU接口判定BI信号和继续信号的情况。在DRAM存储器中,可以连续地访问连续地址而不会有附加开销。具体地,这是DRAM存储器的内存和行地址相同的情况。DRAM存储器具有内存、行和列地址。如果内存和行地址相同,则在这种情况下,可以寻址任何列地址。这意味着,重复图7中的步骤3。由此,可以在具有一个周期开销的情况下传送两个或者更多个访问请求。
如果行地址不同,则需要在每种情况下发出激活命令。这意味着,重复图7中的步骤2。由于步骤5中的Precharge命令指定了内存地址,并且在内存上执行,所以即使行地址不同,只要内存地址相同,也可以通过一个Precharge来完成。
如果内存地址不同,则必须发出激活命令。从传送完成之后可以向所有内存发出Precharge命令,所以不会增加开销。由此,使用内存交错来通过一次传送完成来自多个CPU的访问,可以减少Precharge命令的开销。
在来自多个CPU的传送请求的情况下,为本发明带来最佳结果的是,连续地执行内存地址彼此不同但是每个具有相同的内存和行地址的请求。因此,在上述实施方式中,判定继续信号的条件被设置为使得内存和行地址与先前传送的那些相同。此处,内存地址等是DRAM的地址。由于CPU使用的地址是逻辑地址,但是DRAM地址是物理地址,所以需要一种针对CPU接口电路来确定来自CPU逻辑地址的继续条件的方法。因此,从DRAM控制器向CPU接口递送指示每个逻辑地址的比特被映射到内存地址以及哪个比特被映射到行地址的表。使用该表,CPU接口确定请求地址之前和之后的地址是否是相同的物理地址,将其设置为继续条件。这被表示为图6中的CPU接口与DRAM控制器之间的“PADDR表”信号。
如上所述,在实施方式中,在CPU接口和DRAM控制器两者上实现上述特征,以使得能够在一个DRAM访问周期中传送来自多个CPU的多个请求,由此改进带宽的使用效率。作为一个示例,考虑具有32字节的高速缓存大小的CPU访问。如果DRAM的总线宽度是32比特,由于在DDR3SDRAM中一个字是4个字节,所以可以在8个突发中实现传送。由于在DDR存储器中,两个突发在一个时钟周期中发生,所以数据传送时钟周期是4个时钟。然而,根据规定的DDR3SDRAM的AC定时,该周期需要大约22个时钟来读取。时钟的这一数目取决于操作频率和其他参数。仅在该访问的情况下,开销大于80%。当本申请的特征应用于这种情况时,例如,当在一个周期中一起执行来自两个CPU的两个传送时,可以执行总共64字节的传送,同时将开销减少到大约50%。
根据本发明,由于存在除了来自CPU的传送之外的数据流传送,所以在仲裁器系统的框架中有效地传送(具有短的突发长度的)来自多个CPU的访问,该仲裁器系统用于在过渡时期中插入CPU传送。由于突发长度很短,所以DDR存储器的传送开销变得相对较大,降低了传送效率。本发明的范围覆盖在使用这种共享存储器的环境中按照最大效率的尽可能多的CPU访问。
[参考数字的描述]
10...磁带驱动器
11...接口
12...数据缓冲器
13...通道
14...头
15...马达
16...控制器(ASIC)
17...头位置控制系统
18...马达驱动器
20...卡盘
21,22...卷轴
30...主机
40...缓冲器管理器块
50...C2ECC计算器
60...主机传送块
70...磁带传送块
80...处理器
90...固件
权利要求书(按照条约第19条的修改)
1.一种存储器访问设备,所述存储器访问设备用于针对多个CPU的主存储器和针对其他功能块的数据缓冲器的存储器的共享使用,所述设备包括:
使用存储器作为主存储器的多个CPU;
使用所述存储器作为这些数据缓冲器的其他功能块;
连接至用于所述CPU的总线的CPU接口电路,用于控制来自所述多个CPU的存储器访问请求;以及
连接至所述CPU接口电路的存储器控制器,用于仲裁来自所述CPU和所述功能块的存储器访问(CPU访问和功能模块访问)请求,其中
其中所述CPU接口电路:
保持来自所述多个CPU的存储器访问请求,
接收和存储每个所述CPU访问的地址、数据传送模式和数据大小,
向所述存储器控制器通知所述访问请求,
当接收到针对所述访问请求的允许信号时,响应于所述允许信号而向所述存储器控制器发送信息,以及
当没有接收到针对所述访问请求的允许信号时,使来自所述多个CPU的所述访问请求保持等待;
所述存储器控制器:
接收所述访问请求信号,根据访问仲裁来指定访问请求被允许的CPU,并且向所述CPU接口电路发送所述允许信号,以及在一个总线周期中执行所述多个CPU访问请求;以及
当接收到多个CPU访问请求时,如果正在执行所述其他功能块的数据流传送,则保持所述多个CPU访问请求,并且在从所述功能块的所述数据流传送完成之后,在一个传送周期中执行所述多个CPU请求。
2.根据权利要求1所述的设备,其中,所述存储器是DRAM。
3.根据权利要求1所述的设备,其中,所述存储器控制器:(a)使用所述DRAM的内存交错而在一个传送周期中执行来自不同的所述多个CPU的访问请求。
4.根据权利要求3所述的设备,其中,(b)从与在执行其他所述功能块访问的所述请求期间排队的当前CPU访问相同的CPU、接收到下一访问(CPU访问)请求时,所述存储器控制器保持所述多个所述CPU访问请求,并且在由其他所述功能块访问的所述数据流传送完成之后,在一个传送周期中执行所述多个CPU访问。
5.根据权利要求4所述的设备,其中,(a)的传送和(b)的传送组合地执行。
6.根据权利要求4所述的设备,其中,所述CPU接口电路包括:
向所述存储器控制器发送每个访问的传送模式和地址的步骤;
接收来自多个CPU的传送请求,并且在这些内存地址不同时,向所述存储器控制器发送指示进入内存交错模式的BI信号的步骤;
对传送字进行计数,执行保持的传送请求,读取或者写入,直到所述字计数达到各个CPU访问的传送大小,并且在所述内存交错模式下,从各个CPU访问待命开始来执行二者的步骤;以及
当随后的传送请求到来,并且这些请求地址与先前的是相同的内存地址时,所述CPU接口电路向所述存储器控制器发送继续信号的步骤,以及
所述存储器控制器包括:
检查是否已经接收到所述BI信号的步骤;
当通过从所述CPU接口电路进行通知而停止所述突发传送的步骤;
确认针对所述多个CPU判定了所述继续信号,并且执行在所述CPU接口电路上排队的下一请求的步骤;
所述突发停止以及当没有判定继续信号时,利用以下的关闭步骤结束所述序列步骤的步骤;以及
向所述存储器发出Precharge命令以关闭使用的所述内存的步骤。
7.根据权利要求6所述的设备,其中,所述存储器控制器的步骤2包括步骤:当接收到所述BI信号时,向所述存储器发出用于相应的内存的多个激活命令,或者当没有接收到BI信号时,发出一个激活命令。

Claims (12)

1.一种存储器访问设备,所述存储器访问设备用于针对多个CPU的主存储器和针对其他功能块的数据缓冲器的共享使用,所述设备包括:
使用存储器作为这些主存储器的所述多个CPU;
使用所述存储器作为这些数据缓冲器的所述其他功能块;
连接至用于所述CPU的总线的CPU接口电路,用于控制来自所述多个CPU的存储器访问请求;以及
连接至所述CPU接口电路的存储器控制器,用于仲裁来自所述CPU和所述功能块的存储器访问请求,其中
所述CPU接口电路保持来自所述多个CPU的存储器访问请求,同时接收和存储每个访问的地址、数据传送模式和数据大小,并且向所述存储器控制器通知所述访问请求,并且,当接收到针对所述访问请求的允许信号时,所述CPU接口电路响应于所述允许信号而向所述存储器控制器发送信息,以及
所述存储器控制器接收所述访问请求信号,根据访问仲裁来指定访问请求被允许的CPU,并且向所述CPU接口电路发送所述允许信号。
2.根据权利要求1所述的设备,其中,所述存储器是DRAM。
3.根据权利要求2所述的设备,其中,当所述存储器控制器不发送针对所述访问请求的所述允许信号时,所述CPU接口电路使来自所述多个CPU的访问请求保持等待。
4.根据权利要求3所述的设备,其中,所述存储器控制器在一个总线周期中执行多个CPU访问的传送序列。
5.根据权利要求4所述的设备,其中,当从两个或者更多个CPU接收到访问请求时,如果正在执行另一块的传送,则所述存储器控制器保持所述多个CPU访问请求,并且在所述数据流传送完成之后,在一个传送周期中执行所述多个CPU请求。
6.根据权利要求5所述的设备,其中,所述存储器控制器:(a)使用所述DRAM的内存交错而在一个传送周期中执行来自所述多个CPU的访问请求。
7.根据权利要求6所述的设备,其中,(b)当随后的访问请求是与在执行另一块的传送期间所述存储器控制器保持的访问请求来自相同的CPU时,所述存储器控制器保持所述多个CPU访问请求,并且在所述数据流传送完成之后,在一个传送周期中执行所述多个CPU访问。
8.根据权利要求7所述的设备,其中,(a)的传送和(b)的传送组合地执行。
9.根据权利要求7所述的设备,其中,所述CPU接口电路包括:
向所述存储器控制器发送每个访问的传送模式和地址的步骤;
接收来自多个CPU的传送请求,并且在这些内存地址不同时,向所述存储器控制器发送指示进入内存交错模式的BI信号的步骤;
对传送字进行计数,执行保持的传送请求,读取或者写入,直到字计数达到各个CPU访问的传送大小,并且在所述内存交错模式下,由于各个CPU访问待命,执行二者的步骤;以及
当随后的传送请求到来,并且这些请求地址与先前的是相同的内存地址时,所述CPU接口电路向所述存储器控制器发送继续信号的步骤,以及
所述存储器控制器包括:
检查是否已经接收到所述BI信号的步骤;
当所述CPU接口电路指示这样做时停止所述突发传送的步骤;
确认针对所述随后的请求判定了继续信号,并且当针对所述随后的请求判定了继续信号时,执行所述CPU接口电路中的保持的请求,返回步骤3以传送数据直到突发分别停止,或者当没有判定继续信号时,利用以下的关闭步骤结束所述序列的步骤;以及
向所述存储器发出Precharge命令以关闭使用的所述内存的步骤。
10.根据权利要求7所述的设备,其中,所述存储器控制器的步骤2包括步骤:当所述BI信号到来时,向所述存储器发出用于相应的内存的多个激活命令,或者当没有BI信号到来时,发出一个激活命令。
11.根据权利要求1所述的设备,其中,包括DRAM作为所述存储器。
12.一种用于设备的存储器访问方法,所述设备包括:
使用存储器作为这些主存储器的多个CPU,所述主存储器与用于其他功能块的数据缓冲器共享所述存储器;
使用所述存储器作为这些数据缓冲器的所述其他功能块;
连接至用于所述CPU的总线的CPU接口电路,用于处理来自所述多个CPU的访问请求;以及
连接至所述CPU接口电路的存储器控制器,用于仲裁来自所述CPU和所述功能块的存储器访问请求,所述方法包括:
对来自所述多个CPU的访问请求进行排队的步骤;
接收和存储每个访问的地址、数据传送模式和数据大小,并且向所述存储器控制器通知所述访问请求的步骤;
在接收到针对所述访问请求的允许信号时,响应于所述允许信号而向所述存储器控制器发送信息的步骤;以及
接收所述访问请求信号,基于访问仲裁来指定访问传送被允许的CPU,并且向所述CPU接口发送所述允许信号的步骤。
CN201180051349.2A 2010-11-25 2011-10-06 用于在多个处理器之间共享的存储器的存储器访问设备 Active CN103201725B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010262860 2010-11-25
JP2010-262860 2010-11-25
PCT/JP2011/073053 WO2012070319A1 (ja) 2010-11-25 2011-10-06 複数のプロセッサのメモリ共有化のためのメモリアクセス装置、及びそのアクセス方法

Publications (2)

Publication Number Publication Date
CN103201725A true CN103201725A (zh) 2013-07-10
CN103201725B CN103201725B (zh) 2015-12-09

Family

ID=46145677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180051349.2A Active CN103201725B (zh) 2010-11-25 2011-10-06 用于在多个处理器之间共享的存储器的存储器访问设备

Country Status (7)

Country Link
US (2) US9268721B2 (zh)
JP (1) JP5426036B2 (zh)
CN (1) CN103201725B (zh)
DE (1) DE112011103916B4 (zh)
GB (1) GB2500529B (zh)
TW (1) TW201234188A (zh)
WO (1) WO2012070319A1 (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015099606A (ja) * 2015-01-28 2015-05-28 株式会社東芝 ブリッジ装置およびその方法、ストレージ装置、ならびにプログラム
JP2015099605A (ja) * 2015-01-28 2015-05-28 株式会社東芝 ブリッジ装置およびその方法、ストレージ装置、ならびにプログラム
CN107274926A (zh) * 2016-03-01 2017-10-20 马维尔国际贸易有限公司 具有自适应预充电策略的dram控制器
CN108536619A (zh) * 2017-03-03 2018-09-14 北京忆恒创源科技有限公司 快速恢复ftl表的方法与装置
CN108664420A (zh) * 2017-03-28 2018-10-16 慧与发展有限责任合伙企业 共享式永久存储器的基于容量的锁定和访问
CN109215707A (zh) * 2017-06-30 2019-01-15 瑞萨电子株式会社 半导体装置和访问控制方法
CN109219806A (zh) * 2016-05-28 2019-01-15 超威半导体公司 低功率存储器节流
CN109582226A (zh) * 2018-11-14 2019-04-05 北京中电华大电子设计有限责任公司 一种高速存储访问逻辑结构及其控制方法
CN110175140A (zh) * 2018-02-19 2019-08-27 爱思开海力士有限公司 融合式存储器件及其操作方法
CN110688331A (zh) * 2018-07-05 2020-01-14 珠海全志科技股份有限公司 一种SoC芯片及读取数据的方法
CN111382088A (zh) * 2018-12-25 2020-07-07 瑞萨电子株式会社 半导体器件及用于控制数据访问的方法
CN111868677A (zh) * 2018-03-19 2020-10-30 美光科技公司 用于具有高速缓冲存储器及多个独立阵列的存储器的接口
CN112262365A (zh) * 2018-05-09 2021-01-22 美光科技公司 存储器系统或子系统中的等待时间指示
CN113835673A (zh) * 2021-09-24 2021-12-24 苏州睿芯集成电路科技有限公司 一种用于降低多核处理器加载延时的方法、系统及装置
CN114503089A (zh) * 2019-12-05 2022-05-13 奥林巴斯株式会社 数据传送装置和数据传送方法
CN115225592A (zh) * 2022-06-01 2022-10-21 裕太微(上海)电子有限公司 一种直接存储器访问数据传输方法及系统
US11544168B2 (en) 2017-10-30 2023-01-03 SK Hynix Inc. Memory system
CN116521096A (zh) * 2023-07-03 2023-08-01 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备
CN117083601A (zh) * 2021-04-15 2023-11-17 高通股份有限公司 自适应存储器访问管理

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2500529B (en) 2010-11-25 2020-03-25 Ibm Memory access device for memory sharing among multiple processors and access method for the same
US9208002B2 (en) 2012-01-06 2015-12-08 International Business Machines Corporation Equalizing bandwidth for multiple requesters using a shared memory system
CN103544123A (zh) * 2012-07-16 2014-01-29 深圳市中兴微电子技术有限公司 Sdram控制器及对sdram存储空间的访问方法
KR20150018291A (ko) * 2013-08-09 2015-02-23 에스케이하이닉스 주식회사 메모리 시스템
US9286208B2 (en) * 2014-02-07 2016-03-15 Kabushiki Kaisha Toshiba Controller controlling an interleave operation, solid-state drive including the controller, and control method controlling an interleave operation
JP5911548B1 (ja) * 2014-10-23 2016-04-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
JP7018833B2 (ja) * 2018-06-22 2022-02-14 ルネサスエレクトロニクス株式会社 半導体装置
TWI671632B (zh) 2018-10-24 2019-09-11 財團法人工業技術研究院 記憶體裝置及其復新資訊同步方法
US12099724B2 (en) * 2022-09-06 2024-09-24 Luminous Computing, Inc. Computer architecture with disaggregated memory and high-bandwidth communication interconnects
CN115480708B (zh) * 2022-10-11 2023-02-28 成都市芯璨科技有限公司 一种分时复用局部存储器访问的方法
CN115944877B (zh) * 2022-12-21 2024-05-28 厦门海辰储能科技股份有限公司 基于多cpu的消防系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002268942A (ja) * 2001-03-13 2002-09-20 Toshiba Corp マルチバンクアクセス制御装置及びマルチバンクアクセス制御方法
CN1668999A (zh) * 2002-04-04 2005-09-14 印芬龙科技股份有限公司 具有共享存储器的改进结构
JP2007073052A (ja) * 2005-09-08 2007-03-22 Arm Ltd 集積回路から外部メモリへのアクセス
CN101443734A (zh) * 2006-05-17 2009-05-27 Nxp股份有限公司 多处理系统以及执行多个数据处理任务的方法
CN102265348A (zh) * 2008-12-25 2011-11-30 国际商业机器公司 记录介质记录的数据的读出装置及方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3317150B2 (ja) 1996-07-29 2002-08-26 日本電気株式会社 情報処理装置
US6182177B1 (en) * 1997-06-13 2001-01-30 Intel Corporation Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues
JPH11120124A (ja) 1997-10-14 1999-04-30 Toshiba Corp バスアクセス装置、バス調停システム、cd−romデコーダ、dvd−romデコーダ及びcd−romドライブ
JP2006099731A (ja) * 2004-08-30 2006-04-13 Matsushita Electric Ind Co Ltd リソース管理装置
US20080082707A1 (en) * 2006-09-29 2008-04-03 Synfora, Inc. Non-blocking bus controller for a pipelined, variable latency, hierarchical bus with point-to-point first-in first-out ordering
US8285895B2 (en) 2007-08-06 2012-10-09 Winbond Electronics Corporation Handshake free sharing in a computer architecture
US7861041B2 (en) 2007-09-04 2010-12-28 Advanced Micro Devices, Inc. Second chance replacement mechanism for a highly associative cache memory of a processor
GB2500529B (en) 2010-11-25 2020-03-25 Ibm Memory access device for memory sharing among multiple processors and access method for the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002268942A (ja) * 2001-03-13 2002-09-20 Toshiba Corp マルチバンクアクセス制御装置及びマルチバンクアクセス制御方法
CN1668999A (zh) * 2002-04-04 2005-09-14 印芬龙科技股份有限公司 具有共享存储器的改进结构
JP2007073052A (ja) * 2005-09-08 2007-03-22 Arm Ltd 集積回路から外部メモリへのアクセス
CN101443734A (zh) * 2006-05-17 2009-05-27 Nxp股份有限公司 多处理系统以及执行多个数据处理任务的方法
CN102265348A (zh) * 2008-12-25 2011-11-30 国际商业机器公司 记录介质记录的数据的读出装置及方法

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015099606A (ja) * 2015-01-28 2015-05-28 株式会社東芝 ブリッジ装置およびその方法、ストレージ装置、ならびにプログラム
JP2015099605A (ja) * 2015-01-28 2015-05-28 株式会社東芝 ブリッジ装置およびその方法、ストレージ装置、ならびにプログラム
CN107274926A (zh) * 2016-03-01 2017-10-20 马维尔国际贸易有限公司 具有自适应预充电策略的dram控制器
CN107274926B (zh) * 2016-03-01 2022-05-13 马维尔亚洲私人有限公司 具有自适应预充电策略的dram控制器
CN109219806B (zh) * 2016-05-28 2023-04-04 超威半导体公司 低功率存储器节流
CN109219806A (zh) * 2016-05-28 2019-01-15 超威半导体公司 低功率存储器节流
CN108536619B (zh) * 2017-03-03 2021-12-14 北京忆恒创源科技股份有限公司 快速恢复ftl表的方法与装置
CN108536619A (zh) * 2017-03-03 2018-09-14 北京忆恒创源科技有限公司 快速恢复ftl表的方法与装置
CN108664420A (zh) * 2017-03-28 2018-10-16 慧与发展有限责任合伙企业 共享式永久存储器的基于容量的锁定和访问
CN108664420B (zh) * 2017-03-28 2022-07-08 慧与发展有限责任合伙企业 共享式永久存储器的基于容量的锁定和访问
CN109215707A (zh) * 2017-06-30 2019-01-15 瑞萨电子株式会社 半导体装置和访问控制方法
CN109215707B (zh) * 2017-06-30 2023-09-01 瑞萨电子株式会社 半导体装置和访问控制方法
US11544168B2 (en) 2017-10-30 2023-01-03 SK Hynix Inc. Memory system
CN110175140A (zh) * 2018-02-19 2019-08-27 爱思开海力士有限公司 融合式存储器件及其操作方法
CN110175140B (zh) * 2018-02-19 2023-04-18 爱思开海力士有限公司 融合式存储器件及其操作方法
CN111868677A (zh) * 2018-03-19 2020-10-30 美光科技公司 用于具有高速缓冲存储器及多个独立阵列的存储器的接口
CN111868677B (zh) * 2018-03-19 2024-05-31 美光科技公司 用于具有高速缓冲存储器及多个独立阵列的存储器的接口
CN112262365B (zh) * 2018-05-09 2024-05-24 美光科技公司 存储器系统或子系统中的等待时间指示
CN112262365A (zh) * 2018-05-09 2021-01-22 美光科技公司 存储器系统或子系统中的等待时间指示
CN110688331B (zh) * 2018-07-05 2021-08-17 珠海全志科技股份有限公司 一种SoC芯片及读取数据的方法
CN110688331A (zh) * 2018-07-05 2020-01-14 珠海全志科技股份有限公司 一种SoC芯片及读取数据的方法
CN109582226A (zh) * 2018-11-14 2019-04-05 北京中电华大电子设计有限责任公司 一种高速存储访问逻辑结构及其控制方法
CN111382088B (zh) * 2018-12-25 2023-11-21 瑞萨电子株式会社 半导体器件及用于控制数据访问的方法
CN111382088A (zh) * 2018-12-25 2020-07-07 瑞萨电子株式会社 半导体器件及用于控制数据访问的方法
CN114503089A (zh) * 2019-12-05 2022-05-13 奥林巴斯株式会社 数据传送装置和数据传送方法
CN114503089B (zh) * 2019-12-05 2024-05-14 奥林巴斯株式会社 数据传送装置和数据传送方法
CN117083601A (zh) * 2021-04-15 2023-11-17 高通股份有限公司 自适应存储器访问管理
CN113835673A (zh) * 2021-09-24 2021-12-24 苏州睿芯集成电路科技有限公司 一种用于降低多核处理器加载延时的方法、系统及装置
CN113835673B (zh) * 2021-09-24 2023-08-11 苏州睿芯集成电路科技有限公司 一种用于降低多核处理器加载延时的方法、系统及装置
CN115225592A (zh) * 2022-06-01 2022-10-21 裕太微(上海)电子有限公司 一种直接存储器访问数据传输方法及系统
CN115225592B (zh) * 2022-06-01 2024-01-12 裕太微(上海)电子有限公司 一种直接存储器访问数据传输方法及系统
CN116521096B (zh) * 2023-07-03 2023-09-22 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备
CN116521096A (zh) * 2023-07-03 2023-08-01 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备

Also Published As

Publication number Publication date
GB201311026D0 (en) 2013-08-07
US9460763B2 (en) 2016-10-04
JPWO2012070319A1 (ja) 2014-05-19
DE112011103916T5 (de) 2013-10-10
CN103201725B (zh) 2015-12-09
JP5426036B2 (ja) 2014-02-26
DE112011103916B4 (de) 2021-11-25
GB2500529A (en) 2013-09-25
TW201234188A (en) 2012-08-16
WO2012070319A1 (ja) 2012-05-31
US9268721B2 (en) 2016-02-23
GB2500529B (en) 2020-03-25
US20140059286A1 (en) 2014-02-27
US20160211006A1 (en) 2016-07-21

Similar Documents

Publication Publication Date Title
CN103201725B (zh) 用于在多个处理器之间共享的存储器的存储器访问设备
US7707366B2 (en) Memory control device
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US4912632A (en) Memory control subsystem
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5884050A (en) Mechanism for high bandwidth DMA transfers in a PCI environment
JP5305542B2 (ja) 投機的なプリチャージの検出
US20060271739A1 (en) Management of transfer of commands
US11726704B2 (en) Buffer optimization for solid-state drives
US7761669B2 (en) Memory controller granular read queue dynamic optimization of command selection
US6636927B1 (en) Bridge device for transferring data using master-specific prefetch sizes
US20050066114A1 (en) Protocol for communication with dynamic memory
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
US7127573B1 (en) Memory controller providing multiple power modes for accessing memory devices by reordering memory transactions
US9569393B2 (en) Memory module threading with staggered data transfers
US6247101B1 (en) Tagged access synchronous bus architecture
KR20220113818A (ko) 비휘발성 듀얼 인라인 메모리 모듈에 대한 커맨드 리플레이
KR20240000773A (ko) 프로세싱-인-메모리 컴퓨팅 시스템 및 그의 메모리 컨트롤러
US6836831B2 (en) Independent sequencers in a DRAM control structure
US7669028B2 (en) Optimizing data bandwidth across a variable asynchronous clock domain
US20090019238A1 (en) Memory Controller Read Queue Dynamic Optimization of Command Selection
KR100638378B1 (ko) 디스크 제어장치의 메모리 구조에 대한 시스템 및 방법
KR20240022655A (ko) 하이브리드 dram/영구 메모리 채널 중재 기능을 갖는 메모리 제어기
US6847990B2 (en) Data transfer unit with support for multiple coherency granules
JP2005078647A (ja) マルチバンクメモリのスケジューリング方法

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