CN107250995A - 存储器管理设备 - Google Patents

存储器管理设备 Download PDF

Info

Publication number
CN107250995A
CN107250995A CN201580061652.9A CN201580061652A CN107250995A CN 107250995 A CN107250995 A CN 107250995A CN 201580061652 A CN201580061652 A CN 201580061652A CN 107250995 A CN107250995 A CN 107250995A
Authority
CN
China
Prior art keywords
memory
data
module
equipment
address
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
CN201580061652.9A
Other languages
English (en)
Other versions
CN107250995B (zh
Inventor
R·班纳吉
石家祥
I·福尔克宁
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.)
Leading Investment LP
Intel Germany Holding GmbH
Original Assignee
Leading Investment LP
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 Leading Investment LP filed Critical Leading Investment LP
Publication of CN107250995A publication Critical patent/CN107250995A/zh
Application granted granted Critical
Publication of CN107250995B publication Critical patent/CN107250995B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0835Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

存储器模块和相关联的设备和方法利用可以以硬件来实现的在高速缓存存储器和主存储器之间的存储器复制功能来提供。可以额外地提供地址转换。

Description

存储器管理设备
技术领域
本申请涉及存储器管理设备及其对应方法。
背景技术
存储器一般用于存储数据。存储器存取时间,连同其它参数(如,处理器速度)一起,可以决定***的运行速度。例如,在传统的***中,处理器可能不能在存取存储器的同时执行其它任务,例如,执行指令。因此,已经开发出存储器管理方法来使得能够高效地存取存储器和/或高效地处理存储于存储器中的数据。
US 20130057562 A1示出了用于存取存储于存储器中的图形数据的技术。在一些实现方式中,所述技术可以包括独立于在例如图形处理单元(GPU)(其是处理器的例子)上执行一个或多个程序,而执行数据修改任务。例如,该文档的技术可以允许GPU将涉及存储器管理和数据修改的任务从涉及数据处理的任务分离开,并允许独立执行这些任务。作为一个例子,在本文文档中描述的技术可以允许GPU从存储器取回数据或将数据存储在存储器中,并且与执行这样的指令并行地,执行一个或多个程序的指令。作为另一例子,在该专利中描述的技术可以允许GPU将数据转化为更适当的形式(其指令待被执行),然后独立于执行指令本身而利用之。
然而,仍需要一种改善的存储器设备、存储器管理***和相关联的方法,其例如可以减少处理器关于存储器操作的负担。
发明内容
独立权利要求定义了本申请的各种方面。从属权利要求定义了另外的实施例。除非另有表述,否则来自不同权利要求的特征可以组合。
根据一个实施例,本申请提供了一种用于计算设备的存储器模块,在本文也称作数据存储器模块。
计算设备设置有软件程序,其包括用于发现、组织和/或改变数据的指令。计算设备的一个例子是计算机或服务器。另一例子可以是设置有存储器、处理器和其它部件的集成***。数据存储器模块用于存储例如上述数据,所述数据由计算设备使用。
数据存储器模块可以包括:主存储器(例如,主存储器单元)、至少一个高速缓存存储器(例如,高速缓存存储器单元)以及存储器复制设备(例如,存储器复制单元)。
高速缓存存储器通常是较小且更快的存储器,其存储主存储器的频繁使用的数据的副本。计算机的中央处理单元(CPU)或其它处理器(例如,图形处理单元(GPU))通常使用高速缓存存储器来减少从主存储器存取数据的平均时间。在实践中,通常要求预定的等待时间来在主存储器和高速缓存存储器之间同步数据。
所述同步在涉及大量数据时是尤其重要的,并且可以保持在高速缓存存储器中的数据和主存储器中的数据彼此一致。
存储器复制设备与所述主存储器和高速缓存存储器通信地连接。
存储器复制设备包括至少一个直接存储器存取(DMA)端口、地址转换(addresstranslation)设备和经缓存的存取模块(cached access module)设备。
DMA端口用于存取在主存储器中的数据和在高速缓存存储器中的数据。经由DMA端口,存储器复制设备能够独立于处理器(例如,CPU或GPU)存取数据。
地址转换设备用于在存储器物理地址和存储器虚拟地址之间和/或在高速缓存存储器地址和主存储器地址之间进行转换。
经缓存的存取模块设备用于经由所述DMA端口在所述高速缓存存储器和所述主存储器之间读取和写入数据,用于维持数据完整性和一致性。
DMA端口允许独立于处理器(例如,CPU或GPU)在主存储器和高速缓存存储器之间转移数据。事实上,在实施例中,这使得处理器在该存取数据期间可以自由执行其它任务。从而这允许更高效地使用计算资源,这在主存储器和高速缓存存储器之间转移大量数据时是尤其重要的。
在主存储器和高速缓存存储器之间的该形式的数据转移可以主要基于硬件来执行数据转移。例如,存储器复制设备可以被实现为集成电路例如专用集成电路(ASIC),并可以与高速缓存存储器和主存储器集成在一起。该形式的数据转移可以更快,并对转移大量数据有用。
该方法不同于使用处理器例如CPU在高速缓存存储器和主存储器之间转移数据的许多传统实现方式,所述传统实现方式主要基于在处理器上运行的软件来进行数据转移。
根据另一方面,本申请还提供了一种计算设备。所述计算设备包括:至少一个处理核心模块;以及上述存储器模块。所述处理核心模块在存储器模块中存储数据并从存储器模块读取数据。
根据另一方面,本申请还提供了一种计算机服务器。所述计算机服务器包括网络模块,其包括上述计算设备。
网络模块可以包括从由路由器设备、网关设备和网络附接存储(NAS)设备组成的组中选择的一个或多个设备。
根据另一方面,本申请提供一种操作存储器模块的方法。
所述方法包括:例如通过地址转换设备,在存储器物理地址和存储器虚拟地址之间或者在高速缓存存储器地址和主存储器地址之间转换地址。所述方法还包括(例如,在地址转换之后):经由直接存储器存取(DMA)(例如,对应的DMA端口)在高速缓存存储器和主存储器之间读取和/或写入数据,以便维持在所述高速缓存存储器和所述主存储器之间的数据完整性和一致性。这可以例如通过经缓存的存取模块设备执行。
根据另一方面,本申请提供一种计算机,其具有存储器设备、存储器复制设备和中央处理单元(CPU)。存储器复制设备可以是硬件存储器复制(HWMemCopy)引擎。
在该方面的存储器设备包括主存储器、高速缓存存储器(cache mamory)和缓冲存储器(buffer memory)。所述存储器设备可以利用动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)来实现。
不同于其它的诸如路由器、网关和网络附接存储(NAS)设备等设备的存储器,存储器复制设备不使用处理器(例如CPU)的资源。存储器复制设备可以改善联网吞吐量和/或可以改善或最大化(例如在嵌入式CPU上的)应用性能。存储器复制设备可以高效地使得与存储器数据有关的负荷保持远离处理器(如CPU或GPU)。该负荷可以包括由于存储器地址转换和复制数据引起的负荷,这将在下文描述。
计算机的软件应用通常使用存储器的虚拟地址方案以便更容易地实现。
虚拟地址对应于物理地址。在一个例子中,存储器设备具有起始虚拟地址0x8000000,其对应于物理地址0x0000000。
存储器复制设备可以提供虚拟存储器地址到其对应的物理存储器地址的高效转换。
存储器复制设备还可以将数据从源存储器段(source memory segment)高效地复制到目的地存储器段(destination memory segment),同时维持在主存储器、高速缓存存储器和缓冲存储器之间的一致性。
该一致性可以涉及将在缓冲存储器(在该情况下也称作源缓冲存储器)中的数据复制或写入到主存储器,以及若需要则复制或写入到高速缓存存储器。该数据有时被称作“脏”行(“dirty”lines)。
类似地,该一致性还可以涉及从缓冲存储器(在该情况下也称作目的地缓冲存储器)复制到主存储器,以及若需要则复制到高速缓存存储器。之后,可以执行高速缓存存储器(目的地)的存储器淘汰(memory eviction),并且新数据可以被写入到目的地缓冲存储器。
现在将描述根据实施例的操作存储器复制设备的方法。该方法包括地址转换的步骤和高速缓存存储器一致性的步骤。
提到地址转换,在发起期间或者当在源存储器段和目的地存储器段之间的映射改变时,软件驱动程序或其它实体配置或生成用于存储器复制设备的地址转换规则。
软件驱动程序然后向存储器复制设备提供存储器复制(memcopy)请求命令。存储器复制(memcopy)请求命令表示是否将源地址和/或目的地地址转换以便优化虚拟地址的使用,虚拟地址在软件中可用或被使用在软件中以进行特定操作。
存储器复制设备随后基于生成的地址转换规则执行适当的地址转换。存储器复制设备可以针对未映射地址执行地址转换,或者可以针对已映射地址实现简化的存储器管理单元(MMU)逻辑。
关于高速缓存存储器一致性,软件驱动程序可以用memcopy请求命令向存储器复制设备表示:是将从源地址和/或目的地地址读取数据,还是数据将对高速缓存存储器写入(write to)/直写(write through)。
如果要求对高速缓存存储器的缓冲存储器的存取,则存储器复制设备可以转换各自的地址以便指向与物理地址空间相对应的高速缓存存储器区域地址。
随后,存储器复制设备可以发起从缓冲存储器的直接存储器存取(DMA)读取,或者可以发起对缓冲存储器的DMA写入,以维持高速缓存存储器例如与主存储器和/或缓冲存储器相一致。
DMA读取和/或DMA写入可以以遍历高速缓存存储器子***和一致性管理器的方式来进行。
这可以通过使用驱动器边带信号(driver sideband signal)、或通过执行到高速缓存存储器地址空间的地址变换或转换来进行。这一点可以被实现的一种途径是:将经变换的“存取通过(accessthrough)”高速缓存存储器地址呈现给互连,该互连然后利用I/O高速缓存存储器一致性端口将该地址路由通过CPU高速缓存存储器子***(其可以包括高速缓存存储器),同时向该子***呈现原始地址(在高速缓存存储器地址变换之前)。
简而言之,在一些方面,本申请提供硬件存储器复制模块,用于执行通常作为软件命令而被提供的存储器复制。这可以通过执行在物理地址和虚拟地址之间的地址转换来进行。与对从源存储器到目的地存储器的同构(homogeneous)数据路径的支持相结合,软件旗标(software flag)可以被用来表示:来自源存储器的数据是被发送到物理存储器地址,还是被发送到高速缓存(虚拟)存储器地址。这可以允许源存储器和目的地存储器具有不同的属性。
在一些方面,由***使用的关于物理和虚拟地址的存储器复制的方法可以通过检查由该***使用的开源驱动程序来检测。
由本申请的一些方面提供的存储器复制设备可以不同于使用两个复制进程的***。这样的***具有更大的开销,并且要求更多的***带宽来实现或执行相同的任务。
上文只是对一些实施例的一些特征或要素的简要概述,并不应被解释为限制性的,因为其它实施例可以包括不同的特征或要素。来自不同实施例的特征或要素可以彼此组合。
附图说明
图1示出了存储器复制引擎。
具体实施方式
在后续具体实施方式中,提供描述本申请实施例的细节。然而,本领域技术人员可以理解的是,实施例可以在没有这些细节的情况下实践。换句话说,通过多个特征或要素描述实施例仅为了向技术人员提供更好的理解,而不应被解释为表明所有这些特征或要素都对于实施例的实现是必要的。
所描述的一些实施例可以具有类似的部分。类似的部分可以具有相同的名称或类似的附图标号。在适当时,对这样的一个部分的描述通过引用适用于另一类似部分,由此减少了文本的重复并提供了更简洁的描述。然而,这并不暗示类似的部分必须以相同方式实现。
图1示出了例示实施例的计算模块10。虽然模块10将被描述为包括多个模块或***,但这些模块或***中的两个或更多个还可以被实现在一起作为单个模块或***。
计算模块10包括处理器子***13、双数据速率(DDR)同步动态随机存取存储器(DRAM)模块16、以及硬件存储器复制(HWMemCopy)引擎19。
处理器子***13包括第一计算核心21,其具有第一高速缓存存储器24;第二计算核心26,其具有第二高速缓存存储器28;以及输入输出控制端口(IOCU)模块30。在其它实施例中,可以提供仅一个这样的核心或多于两个核心。核心可以实现于单个处理器(例如,CPU或GPU)中,但也可以设置在不同处理器中。
HWMemCopy引擎19包括地址转换模块32和经缓存的存取模块34,以及存储器输入/输出(I/O)模块37、以及命令寄存器40、以及结果寄存器43。
存储器I/O模块37连接到互连模块46,该互连模块连接到IOCU模块30的端口48以及DDR DRAM模块16的DDR端口51。
命令寄存器40连接到计算核心21和26。
结果寄存器43连接到让步管理器(yield manager)模块52,该让步管理器模块继而连接到计算核心21和26。
下文描述了使用HWMemCopy引擎19的方法。
软件驱动程序写入HWMemCopy引擎19的地址转换模块32的寄存器,用于配置通过HWMemCopy引擎19进行的将虚拟存储器地址到物理存储器地址的转换。替代于软件驱动程序(在例如核心21、26的一个或两个上运行的),在其它实施例中另一实体(例如,硬件模块)也可以执行对应的功能。
软件驱动器还配置在HWMemCopy引擎19中的高速缓存存储器存取变换参数,以使得HWMemCopy引擎19能够执行高速缓存存储器I/O操作。
当存储器复制操作被发起时,软件驱动程序向HWMemCopy引擎19的命令寄存器40提供源缓冲存储器地址、目的地缓冲存储器地址。软件驱动程序还向命令寄存器40提供关于源地址转换的旗标数据(flag data)、关于目的地地址转换的旗标数据、关于高速缓存源I/O缓冲存储器的旗标数据、和/或关于高速缓存目的地I/O缓冲存储器的旗标数据。
HWMemCopy引擎19的地址转换模块32接下来在需要时执行对源主存储器地址和目的地主存储器地址的转换。
地址转换模块32还可以在需要时也执行对源高速缓存存储器地址和目的地高速缓存存储器地址的转换。
HWMemCopy引擎19接下来利用将DMA读取信道耦合到DMA写入信道的存储器I/O模块37从源缓冲存储器读取数据并将对应的数据写入到目的地缓冲存储器。
存储器I/O模块37的DMA-R引擎55随后可以将物理源存储器地址和字节每突发(bytes per burst)数据发送到互连模块46,以读取源缓冲存储器。
互连模块46基于地址的地址范围,例如,基于地址是属于DDR存储器(其可以是主存储器的一个例子)的地址范围还是属于另一存储器(例如,高速缓存存储器)的或一般的处理器子***的地址范围,来决定是向DDR端口51还是向IOCU端口48提出请求。
如果互连模块46将地址引导到IOCU端口48,则地址已被调整为反映其物理存储器地址。
如果接收到的地址不在高速缓存存储器24和/或28内,则高速缓存存储器子***接下来从DDR端口51读取数据。
由DMA-R引擎信道读取的该数据被传递给DMA-W引擎信道,其将源地址和字节每突发转移到互连模块46,以便将数据写入到源缓冲存储器。
互连模块46随后基于目的地存储器地址的地址范围来决定是将该数据呈现给DDR端口51还是IOCU端口48。
如果互连模块46将存储器地址转移到IOCU端口48,则存储器地址被调整为反映目的地存储器的物理存储器地址。
高速缓存存储器子***随后经由DDR端口51将期望的数据写入,以维持高速缓存一致性。在高速缓存存储器24和28中的一些数据可能不一致,并且不需要被写入到DDR端口51以改善性能。另外,在一级(L1)数据高速缓存中的高速缓存数据可以被适当地替换。
一旦一个DMA操作的所有突发段(burst segment)都已完成,则HWMemCopy引擎19就将关于所请求的存储器复制(memcpy)操作的完成的中断信号发布到各个发出请求的CPU核心21或26。
该存储器复制方式具有的优点是没有过分占用(hog)CPU时间。HWMemCopy引擎19尤其改善联网吞吐量并最大化嵌入式CPU的应用性能。
这不同于使用存储器复制(也称作memcpy函数)的多种软件***,其显著地过分占用了CPU时间,因为CPU必须运行各个软件。使用这样的软件方法的***的例子是诸如路由器、网关以及网络附接存储(NAS)设备等的软件***。在实施例中,在这样的***中可以使用上述技术而不是传统软件方法。
虽然上述说明包含了许多特异性,但是这不应该被解释为限制实施例的范围,而只是提供更详细的例示。
上述一些实施例的优点不应该被解释为限制实施例的范围,而仅应被解释为在将所描述的实施例投入实践时的可能的实现方式。其它实施例可能不具有如所述的这种优点。因此,本申请的范围应该由权利要求及其等同物来确定,而不是由所给出的例子来确定。

Claims (13)

1.一种用于计算设备的存储器模块,所述存储器模块包括:
主存储器;
至少一个高速缓存存储器;以及
存储器复制设备,其与所述主存储器和所述高速缓存存储器连接,其中所述存储器复制设备包括至少一个直接存储器存取(DMA)端口,用于存取在所述主存储器中的数据和在所述高速缓存存储器中的数据,所述存储器复制设备被配置为经由所述DMA端口在所述高速缓存存储器和所述主存储器之间读取和写入数据。
2.根据权利要求1所述的存储器模块,其中,所述存储器复制设备还包括:
地址转换设备,用于在存储器物理地址和存储器虚拟地址之间转换。
3.根据权利要求1或2所述的存储器模块,其中,所述存储器复制设备还包括:
经缓存的存取模块设备,用于经由所述DMA端口在所述高速缓存存储器和所述主存储器之间读取和写入数据,并用于维持在所述高速缓存存储器和所述主存储器之间的数据完整性和一致性。
4.根据权利要求1-3中任一项所述的存储器模块,其中,所述存储器复制设备以硬件实现。
5.根据权利要求1-4中任一项所述的存储器模块,其中,所述存储器复制设备配置为执行读取和写入而无需使用在所述存储器复制设备外部的处理器。
6.一种计算设备,包括:
至少一个处理核心模块;以及
根据权利要求1-5中任一项所述的存储器模块,其中所述处理核心模块被配置为在所述存储器模块中存储数据并从所述存储器模块读取数据。
7.根据权利要求6所述的计算设备,其中,所述存储器模块的存储器复制设备被配置为在所述存储器模块的主存储器和高速缓存存储器之间执行存储器复制操作而不使用所述处理核心模块。
8.根据权利要求6或7所述的计算设备,还包括网络模块,用于在网络中操作。
9.根据权利要求8所述的计算机服务器,其中,所述网络模块包括从由路由器设备、网关设备和网络附接存储(NAS)设备构成的组中选择的一个或多个设备。
10.一种操作存储器模块的方法,包括:
在硬件设备中,在存储器物理地址和存储器虚拟地址之间转换;以及
在所述硬件设备中,经由直接存储器存取在高速缓存存储器和主存储器之间进行读取和写入。
11.根据权利要求10所述的方法,其中,所述读取和写入是为了维持所述高速缓存存储器和所述主存储器之间的数据完整性和一致性。
12.根据权利要求10或11所述的方法,其中,所述存储器模块是如在权利要求1-5中任一项中所定义的存储器模块,并且所述硬件设备是所述存储器模块的存储器复制设备。
13.根据权利要求10-12中任一项所述的方法,其中,所述读取和所述写入至少部分地利用所述转换来执行。
CN201580061652.9A 2014-11-25 2015-11-24 存储器管理设备 Active CN107250995B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG10201407795P 2014-11-25
SG10201407795P 2014-11-25
PCT/EP2015/077507 WO2016083377A1 (en) 2014-11-25 2015-11-24 Memory management device

Publications (2)

Publication Number Publication Date
CN107250995A true CN107250995A (zh) 2017-10-13
CN107250995B CN107250995B (zh) 2021-11-16

Family

ID=55024994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580061652.9A Active CN107250995B (zh) 2014-11-25 2015-11-24 存储器管理设备

Country Status (4)

Country Link
US (3) US11354244B2 (zh)
EP (1) EP3224729A1 (zh)
CN (1) CN107250995B (zh)
WO (1) WO2016083377A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11579770B2 (en) * 2018-03-15 2023-02-14 Western Digital Technologies, Inc. Volatility management for memory device
US11157319B2 (en) 2018-06-06 2021-10-26 Western Digital Technologies, Inc. Processor with processor memory pairs for improved process switching and methods thereof
US10932202B2 (en) * 2018-06-15 2021-02-23 Intel Corporation Technologies for dynamic multi-core network packet processing distribution
US11829238B2 (en) * 2021-04-22 2023-11-28 Texas Instruments Incorporated Data integrity verification
US11940909B2 (en) * 2022-04-26 2024-03-26 Texas Instruments Incorporated Dynamic mapping of data to lower latency memory based on data access

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247648A (en) * 1990-04-12 1993-09-21 Sun Microsystems, Inc. Maintaining data coherency between a central cache, an I/O cache and a memory
US5768557A (en) * 1993-09-30 1998-06-16 Intel Corporation Low cost writethrough cache coherency apparatus and method for computer systems without a cache suppporting bus
CN1499389A (zh) * 2002-11-07 2004-05-26 �Ҵ���˾ 经超高速缓冲存储器注入加速输入输出处理的方法及装置
US20070083682A1 (en) * 2005-10-07 2007-04-12 International Business Machines Corporation Memory controller and method for handling DMA operations during a page copy
CN1987826A (zh) * 2005-12-22 2007-06-27 国际商业机器公司 用来保护存储器页面的内容的方法和***
CN1332319C (zh) * 2003-12-22 2007-08-15 松下电器产业株式会社 存储***控制方法
US20090055611A1 (en) * 2006-02-14 2009-02-26 Wms Gaming Inc. Reorganizing a wagering game machine's nvram
CN101446931A (zh) * 2008-12-03 2009-06-03 中国科学院计算技术研究所 一种实现输入输出数据一致性的***及方法
CN102165424A (zh) * 2008-09-24 2011-08-24 松下电器产业株式会社 高速缓冲存储器、存储器***及其控制方法
CN102521190A (zh) * 2011-12-19 2012-06-27 中国科学院自动化研究所 一种应用于实时数据处理的多级总线***
CN102612685A (zh) * 2009-11-16 2012-07-25 微软公司 经由存储器高速缓存操纵的无阻碍数据传送
CN103460198A (zh) * 2011-04-04 2013-12-18 超威半导体公司 用于更新无源可变电阻式存储器中的数据的方法和装置
CN103777923A (zh) * 2012-10-23 2014-05-07 亚德诺半导体技术公司 Dma向量缓冲区

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748463B1 (en) * 1996-03-13 2004-06-08 Hitachi, Ltd. Information processor with snoop suppressing function, memory controller, and direct memory access processing method
US6988167B2 (en) * 2001-02-08 2006-01-17 Analog Devices, Inc. Cache system with DMA capabilities and method for operating same
US20050114559A1 (en) * 2003-11-20 2005-05-26 Miller George B. Method for efficiently processing DMA transactions
US7437517B2 (en) * 2005-01-11 2008-10-14 International Business Machines Corporation Methods and arrangements to manage on-chip memory to reduce memory latency
GB0603552D0 (en) * 2006-02-22 2006-04-05 Advanced Risc Mach Ltd Cache management within a data processing apparatus
US7624248B1 (en) 2006-04-14 2009-11-24 Tilera Corporation Managing memory in a parallel processing environment
US8904064B2 (en) * 2008-10-24 2014-12-02 International Business Machines Corporation Managing an out-of-order asynchronous heterogeneous remote direct memory access (RDMA) message queue
TWI459201B (zh) * 2012-04-27 2014-11-01 Toshiba Kk Information processing device
US9460024B2 (en) * 2013-03-15 2016-10-04 Vmware, Inc. Latency reduction for direct memory access operations involving address translation
JP6136629B2 (ja) * 2013-06-25 2017-05-31 富士通株式会社 ストレージ制御装置,ストレージシステム,および制御プログラム

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247648A (en) * 1990-04-12 1993-09-21 Sun Microsystems, Inc. Maintaining data coherency between a central cache, an I/O cache and a memory
US5768557A (en) * 1993-09-30 1998-06-16 Intel Corporation Low cost writethrough cache coherency apparatus and method for computer systems without a cache suppporting bus
CN1499389A (zh) * 2002-11-07 2004-05-26 �Ҵ���˾ 经超高速缓冲存储器注入加速输入输出处理的方法及装置
CN1332319C (zh) * 2003-12-22 2007-08-15 松下电器产业株式会社 存储***控制方法
US20070083682A1 (en) * 2005-10-07 2007-04-12 International Business Machines Corporation Memory controller and method for handling DMA operations during a page copy
CN1987826A (zh) * 2005-12-22 2007-06-27 国际商业机器公司 用来保护存储器页面的内容的方法和***
US20090055611A1 (en) * 2006-02-14 2009-02-26 Wms Gaming Inc. Reorganizing a wagering game machine's nvram
CN102165424A (zh) * 2008-09-24 2011-08-24 松下电器产业株式会社 高速缓冲存储器、存储器***及其控制方法
CN101446931A (zh) * 2008-12-03 2009-06-03 中国科学院计算技术研究所 一种实现输入输出数据一致性的***及方法
CN102612685A (zh) * 2009-11-16 2012-07-25 微软公司 经由存储器高速缓存操纵的无阻碍数据传送
CN103460198A (zh) * 2011-04-04 2013-12-18 超威半导体公司 用于更新无源可变电阻式存储器中的数据的方法和装置
CN102521190A (zh) * 2011-12-19 2012-06-27 中国科学院自动化研究所 一种应用于实时数据处理的多级总线***
CN103777923A (zh) * 2012-10-23 2014-05-07 亚德诺半导体技术公司 Dma向量缓冲区

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王栋: "基于PCI总线的高速数据传输***的研制", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Also Published As

Publication number Publication date
US20230195633A1 (en) 2023-06-22
EP3224729A1 (en) 2017-10-04
US11354244B2 (en) 2022-06-07
US20220179792A1 (en) 2022-06-09
CN107250995B (zh) 2021-11-16
WO2016083377A1 (en) 2016-06-02
US20180173626A1 (en) 2018-06-21

Similar Documents

Publication Publication Date Title
KR102231792B1 (ko) 하이브리드 메모리 모듈 및 그것의 동작 방법
US11126353B2 (en) Method and apparatus for data copy
KR102372423B1 (ko) 파라미터 공유 장치 및 방법
CN107250995A (zh) 存储器管理设备
CN106446159B (zh) 一种存储文件的方法、第一虚拟机及名称节点
CN104461400B (zh) 处理访存请求冲突的方法和装置
JP7378403B2 (ja) データ処理方法、装置、およびコンピューティングデバイス
CN111124951A (zh) 管理数据访问的方法、设备和计算机程序产品
US20140040563A1 (en) Shared virtual memory management apparatus for providing cache-coherence
WO2015176664A1 (zh) 一种数据操作的方法、设备和***
JP2014203233A (ja) ストレージシステム及びストレージシステムにおいてデータを更新する方法
CN104052824A (zh) 分布式缓存方法及***
US10191846B2 (en) Cache memory for particular data
CN109933278A (zh) 用于实现块设备挂载访问的方法和装置
US11010091B2 (en) Multi-tier storage
TW201732616A (zh) 用於固態裝置之多個位址暫存器之設備及方法
US8898353B1 (en) System and method for supporting virtual host bus adaptor (VHBA) over infiniband (IB) using a single external memory interface
CN107562648A (zh) 无锁ftl访问方法与装置
JPWO2015141219A1 (ja) ストレージシステム、制御装置、データアクセス方法およびプログラム
JP6224684B2 (ja) ストアマージ装置、情報処理装置、およびストア制御方法、並びにコンピュータ・プログラム
JP5342055B1 (ja) 記憶装置およびデータバックアップ方法
US20160140034A1 (en) Devices and methods for linked list array hardware implementation
CN110955386A (zh) 管理向微处理器提供诸如指令的信息的方法和对应的***
KR20150136045A (ko) 리플렉티브 메모리를 이용한 일관성 구현
JP5881568B2 (ja) スキャン伝送ゲートウェイ装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant