CN111966608B - 一种外存储器的直接内存储器访问方法和装置 - Google Patents

一种外存储器的直接内存储器访问方法和装置 Download PDF

Info

Publication number
CN111966608B
CN111966608B CN202010819404.9A CN202010819404A CN111966608B CN 111966608 B CN111966608 B CN 111966608B CN 202010819404 A CN202010819404 A CN 202010819404A CN 111966608 B CN111966608 B CN 111966608B
Authority
CN
China
Prior art keywords
data
input buffer
memory
output buffer
physical 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.)
Active
Application number
CN202010819404.9A
Other languages
English (en)
Other versions
CN111966608A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010819404.9A priority Critical patent/CN111966608B/zh
Publication of CN111966608A publication Critical patent/CN111966608A/zh
Application granted granted Critical
Publication of CN111966608B publication Critical patent/CN111966608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

本发明公开了一种外存储器的直接内存储器访问方法和装置,方法包括:在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成输入缓冲区和输出缓冲区的物理地址;响应于感知到外存储器尝试写入数据,而由相应进程基于物理地址将数据写入输入缓冲区,并执行内存屏障指令以将数据从输入缓冲区更新到内存储器;响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将数据从输出缓冲区移除。本发明能够维护CPU访问缓存获取数据时的数据一致性和性能,提高缓存利用率。

Description

一种外存储器的直接内存储器访问方法和装置
技术领域
本发明涉及内存领域,更具体地,特别是指一种外存储器的直接内存储器访问方法和装置。
背景技术
在驱动中通常需要将提供给IO(输入输出)卡DMA(直接内存储器访问)使用的空间配置为non cache(非缓存的),原因是由于IO卡与CPU交互时同时把数据和控制消息分开传输。在控制消息到达时,IO卡会通过CPU的片上网络把数据直接写入内存(不经过缓存),但armv8的CPU并不监听总线变化,因此不会因为内存数据的变化而刷新缓存内容。传统驱动架构中,申请内存空间给DMA访问时,通常需要配置虚拟地址的页属性为non cache,但该属性会改变MMU(内存管理单元)的寻址策略。CPU在访问这部分地址时,会跳过cache直接从内存中获取。在特殊场景下,该策略会保证CPU获取数据的准确性,但同时会降低其他场景下CPU访问这部分空间的性能。
针对现有技术中跳过缓存导致数据一致性受损和CPU利用缓存受限的问题,目前尚无有效的解决方案。
发明内容
有鉴于此,本发明实施例的目的在于提出一种外存储器的直接内存储器访问方法和装置,能够维护CPU访问缓存获取数据时的数据一致性和性能,提高缓存利用率。
基于上述目的,本发明实施例的第一方面提供了一种外存储器的直接内存储器访问方法,包括执行以下步骤:
在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成输入缓冲区和输出缓冲区的物理地址;
响应于感知到外存储器尝试写入数据,而由相应进程基于物理地址将数据写入输入缓冲区,并执行内存屏障指令以将数据从输入缓冲区更新到内存储器;
响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将数据从输出缓冲区移除。
在一些实施方式中,输入缓冲区和输出缓冲区各自具有连续的物理地址,并且输入缓冲区和输出缓冲区的大小和起始地址均以与直接内存储器访问相适应的方式基于缓存线而对齐。
在一些实施方式中,由相应进程基于物理地址将数据写入输入缓冲区包括:使用文件内存映射方法将物理地址映射到进程的地址空间以建立链接,并基于链接将数据写入输入缓冲区。
在一些实施方式中,输入缓冲区和输出缓冲区以不经过缓存的方式映射到进程的地址空间。
在一些实施方式中,将物理地址映射到进程的地址空间包括:分别将输入缓冲区的每个页的起始物理地址和结束物理地址映射到进程的地址空间。
在一些实施方式中,方法还包括:在执行失效缓存指令将数据从输出缓冲区移除后,还访问内存储器以从内存储器获取更新过的数据。
在一些实施方式中,方法还包括:在获取更新过的数据后,还由进程基于物理地址从输出缓冲区获取数据。
本发明实施例的第二方面提供了一种外存储器的直接内存储器访问装置,包括:
处理器;和
存储器,存储有处理器可运行的程序代码,程序代码在被运行时依次执行以下步骤:
在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成输入缓冲区和输出缓冲区的物理地址;
响应于感知到外存储器尝试写入数据,而由相应进程基于物理地址将数据写入输入缓冲区,并执行内存屏障指令以将数据从输入缓冲区更新到内存储器;
响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将数据从输出缓冲区移除。
在一些实施方式中,由相应进程基于物理地址将数据写入输入缓冲区包括:使用文件内存映射方法将物理地址映射到进程的地址空间以建立链接,并基于链接将数据写入输入缓冲区;输入缓冲区和输出缓冲区以不经过缓存的方式映射到进程的地址空间;
将物理地址映射到进程的地址空间包括:分别将输入缓冲区的每个页的起始物理地址和结束物理地址映射到进程的地址空间。
在一些实施方式中,步骤还包括:在执行失效缓存指令将数据从输出缓冲区移除后,还访问内存储器以从内存储器获取更新过的数据,并由进程基于物理地址从输出缓冲区获取数据。
本发明具有以下有益技术效果:本发明实施例提供的外存储器的直接内存储器访问方法和装置,通过在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成输入缓冲区和输出缓冲区的物理地址;响应于感知到外存储器尝试写入数据,而由相应进程基于物理地址将数据写入输入缓冲区,并执行内存屏障指令以将数据从输入缓冲区更新到内存储器;响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将数据从输出缓冲区移除的技术方案,能够维护CPU访问缓存获取数据时的数据一致性和性能,提高缓存利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的外存储器的直接内存储器访问方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种能够维护CPU访问缓存获取数据时的数据一致性和性能,提高缓存利用率的外存储器的直接内存储器访问方法的一个实施例。图1示出的是本发明提供的外存储器的直接内存储器访问方法的流程示意图。
所述的外存储器的直接内存储器访问方法,如图1所示,存储过程包括执行以下步骤:
步骤S101:在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成输入缓冲区和输出缓冲区的物理地址;
步骤S103:响应于感知到外存储器尝试写入数据,而由相应进程基于物理地址将数据写入输入缓冲区,并执行内存屏障指令以将数据从输入缓冲区更新到内存储器;
步骤S105:响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将数据从输出缓冲区移除。
本发明提出了在内核态驱动申请普通内存,并将该内存使用cacheable(可缓存的)方法来mmap(文件内存映射)用户空间,在用户空间使用内存屏障及缓存失效指令来保证缓存数据和内存数据的一致性的方法,在提供数据可靠性基础上最大限度地发挥cache的作用。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
在一些实施方式中,输入缓冲区和输出缓冲区各自具有连续的物理地址,并且输入缓冲区和输出缓冲区的大小和起始地址均以与直接内存储器访问相适应的方式基于缓存线而对齐。
在一些实施方式中,由相应进程基于物理地址将数据写入输入缓冲区包括:使用文件内存映射方法将物理地址映射到进程的地址空间以建立链接,并基于链接将数据写入输入缓冲区。
在一些实施方式中,输入缓冲区和输出缓冲区以不经过缓存的方式映射到进程的地址空间。
在一些实施方式中,将物理地址映射到进程的地址空间包括:分别将输入缓冲区的每个页的起始物理地址和结束物理地址映射到进程的地址空间。
在一些实施方式中,方法还包括:在执行失效缓存指令将数据从输出缓冲区移除后,还访问内存储器以从内存储器获取更新过的数据。
在一些实施方式中,方法还包括:在获取更新过的数据后,还由进程基于物理地址从输出缓冲区获取数据。
下面根据具体实施例来进一步阐述本发明的具体实施方式。
存储系统中通过在驱动内核部分申请物理地址连续的内存(大小、起始地址要求cache line对齐,用来提供给卡进行DMA访问),其中IO卡需要的空间可分成两个部分,DMA输入buffer(缓冲区),输出buffer。这两个buffer映射到进程地址空间时是non cache的。获取到申请Buffer的每个页的物理地址,通过mmap方法与进程地址空间建立链接。在进程空间通过虚拟地址针对输入buffer和输出buffer进行访问。当设备驱动程序使用输入buffer时,在填完buffer信息时,通过内存屏障指令确保缓存数据刷新到内存,保证内存数据与缓存数据的一致性。当驱动程序首次获取输出buffer内容时,首先通过失效缓存指令失效buffer对应的缓存。用来确保本次从buffer中获取到的数据是内存中的。
在写数据过程中:首先通过存储系统的内存管理模块申请输入、输出BufferA、BufferB,获取到申请Buffer的每个页的物理地址,并通过mmap方法与进程A地址空间建立链接,然后进程A通过进程地址空间将数据写入BufferA中,并执行内存屏障指令保证数据通过CPU cache已更新到内存中。
在读数据过程中,首先进程A通过寄存器感知数据到来时,失效对应BufferB虚拟地址的cache line获取到数据内容,后续经过cache访问BufferB内容,最大限度提高CPU访问性能。
从上述实施例可以看出,本发明实施例提供的外存储器的直接内存储器访问方法,通过在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成输入缓冲区和输出缓冲区的物理地址;响应于感知到外存储器尝试写入数据,而由相应进程基于物理地址将数据写入输入缓冲区,并执行内存屏障指令以将数据从输入缓冲区更新到内存储器;响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将数据从输出缓冲区移除的技术方案,能够维护CPU访问缓存获取数据时的数据一致性和性能,提高缓存利用率。
需要特别指出的是,上述外存储器的直接内存储器访问方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于外存储器的直接内存储器访问方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种能够维护CPU访问缓存获取数据时的数据一致性和性能,提高缓存利用率的外存储器的直接内存储器访问装置的一个实施例。外存储器的直接内存储器访问装置包括:
处理器;和
存储器,存储有处理器可运行的程序代码,程序代码在被运行时依次执行以下步骤:
在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成输入缓冲区和输出缓冲区的物理地址;
响应于感知到外存储器尝试写入数据,而由相应进程基于物理地址将数据写入输入缓冲区,并执行内存屏障指令以将数据从输入缓冲区更新到内存储器;
响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将数据从输出缓冲区移除。
在一些实施方式中,由相应进程基于物理地址将数据写入输入缓冲区包括:使用文件内存映射方法将物理地址映射到进程的地址空间以建立链接,并基于链接将数据写入输入缓冲区;输入缓冲区和输出缓冲区以不经过缓存的方式映射到进程的地址空间;
将物理地址映射到进程的地址空间包括:分别将输入缓冲区的每个页的起始物理地址和结束物理地址映射到进程的地址空间。
在一些实施方式中,步骤还包括:在执行失效缓存指令将数据从输出缓冲区移除后,还访问内存储器以从内存储器获取更新过的数据,并由进程基于物理地址从输出缓冲区获取数据。
从上述实施例可以看出,本发明实施例提供的外存储器的直接内存储器访问装置,通过在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成输入缓冲区和输出缓冲区的物理地址;响应于感知到外存储器尝试写入数据,而由相应进程基于物理地址将数据写入输入缓冲区,并执行内存屏障指令以将数据从输入缓冲区更新到内存储器;响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将数据从输出缓冲区移除的技术方案,能够维护CPU访问缓存获取数据时的数据一致性和性能,提高缓存利用率。
需要特别指出的是,上述外存储器的直接内存储器访问装置的实施例采用了所述外存储器的直接内存储器访问方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述外存储器的直接内存储器访问方法的其他实施例中。当然,由于所述外存储器的直接内存储器访问方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述外存储器的直接内存储器访问装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (7)

1.一种外存储器的直接内存储器访问方法,其特征在于,包括执行以下步骤:
在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成所述输入缓冲区和所述输出缓冲区的物理地址;
响应于感知到外存储器尝试写入数据,而由相应进程基于所述物理地址将所述数据写入所述输入缓冲区,并执行内存屏障指令以将所述数据从所述输入缓冲区更新到内存储器;
响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将所述数据从所述输出缓冲区移除;
在执行失效缓存指令将所述数据从所述输出缓冲区移除后,还访问内存储器以从内存储器获取更新过的所述数据;
在获取更新过的所述数据后,还由进程基于所述物理地址从所述输出缓冲区获取所述数据。
2.根据权利要求1所述的方法,其特征在于,所述输入缓冲区和所述输出缓冲区各自具有连续的所述物理地址,并且所述输入缓冲区和所述输出缓冲区的大小和起始地址均以与直接内存储器访问相适应的方式基于缓存线而对齐。
3.根据权利要求1所述的方法,其特征在于,由相应进程基于所述物理地址将所述数据写入所述输入缓冲区包括:使用文件内存映射方法将所述物理地址映射到所述进程的地址空间以建立链接,并基于所述链接将所述数据写入所述输入缓冲区。
4.根据权利要求3所述的方法,其特征在于,所述输入缓冲区和所述输出缓冲区以不经过缓存的方式映射到所述进程的地址空间。
5.根据权利要求3所述的方法,其特征在于,将所述物理地址映射到所述进程的地址空间包括:分别将所述输入缓冲区的每个页的起始物理地址和结束物理地址映射到所述进程的地址空间。
6. 一种外存储器的直接内存储器访问装置,其特征在于,包括:
处理器;和
存储器,存储有处理器可运行的程序代码,所述程序代码在被运行时依次执行以下步骤:
在内存储器管理模块中划分输入缓冲区和输出缓冲区,并生成所述输入缓冲区和所述输出缓冲区的物理地址;
响应于感知到外存储器尝试写入数据,而由相应进程基于所述物理地址将所述数据写入所述输入缓冲区,并执行内存屏障指令以将所述数据从所述输入缓冲区更新到内存储器;
响应于感知到外存储器首次尝试读取数据,而执行失效缓存指令以将所述数据从所述输出缓冲区移除;
在执行失效缓存指令将所述数据从所述输出缓冲区移除后,还访问内存储器以从内存储器获取更新过的所述数据;
在获取更新过的所述数据后,还由进程基于所述物理地址从所述输出缓冲区获取所述数据。
7.根据权利要求6所述的装置,其特征在于,由相应进程基于所述物理地址将所述数据写入所述输入缓冲区包括:使用文件内存映射方法将所述物理地址映射到所述进程的地址空间以建立链接,并基于所述链接将所述数据写入所述输入缓冲区;所述输入缓冲区和所述输出缓冲区以不经过缓存的方式映射到所述进程的地址空间;
将所述物理地址映射到所述进程的地址空间包括:分别将所述输入缓冲区的每个页的起始物理地址和结束物理地址映射到所述进程的地址空间。
CN202010819404.9A 2020-08-14 2020-08-14 一种外存储器的直接内存储器访问方法和装置 Active CN111966608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010819404.9A CN111966608B (zh) 2020-08-14 2020-08-14 一种外存储器的直接内存储器访问方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010819404.9A CN111966608B (zh) 2020-08-14 2020-08-14 一种外存储器的直接内存储器访问方法和装置

Publications (2)

Publication Number Publication Date
CN111966608A CN111966608A (zh) 2020-11-20
CN111966608B true CN111966608B (zh) 2023-06-06

Family

ID=73366105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010819404.9A Active CN111966608B (zh) 2020-08-14 2020-08-14 一种外存储器的直接内存储器访问方法和装置

Country Status (1)

Country Link
CN (1) CN111966608B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115757196B (zh) * 2022-11-09 2023-09-01 超聚变数字技术有限公司 内存、访问内存方法及计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710309A (zh) * 2009-12-15 2010-05-19 北京时代民芯科技有限公司 一种基于海量数据传输的dma控制器
WO2016082191A1 (zh) * 2014-11-28 2016-06-02 华为技术有限公司 访问文件的方法和装置
CN110221984A (zh) * 2019-05-07 2019-09-10 中国科学院微电子研究所 存储系统的建立方法、装置、存储系统和访问方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101710309A (zh) * 2009-12-15 2010-05-19 北京时代民芯科技有限公司 一种基于海量数据传输的dma控制器
WO2016082191A1 (zh) * 2014-11-28 2016-06-02 华为技术有限公司 访问文件的方法和装置
CN110221984A (zh) * 2019-05-07 2019-09-10 中国科学院微电子研究所 存储系统的建立方法、装置、存储系统和访问方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Windows内核线程与用户线程共享缓冲区的实现;王兰英等;《内江师范学院学报》;20080215(第02期);全文 *

Also Published As

Publication number Publication date
CN111966608A (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
US11237728B2 (en) Method for accessing extended memory, device, and system
US7623134B1 (en) System and method for hardware-based GPU paging to system memory
KR101313710B1 (ko) 스누프 요청 캐시를 사용하는 스누프 필터링
US6651115B2 (en) DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
KR100372293B1 (ko) 가상및물리인덱스캐시에서가상번지용캐시가능속성
US20170060434A1 (en) Transaction-based hybrid memory module
US11210020B2 (en) Methods and systems for accessing a memory
CN110362504A (zh) 对一致性链路和多级存储器的管理
US7925836B2 (en) Selective coherency control
US10997078B2 (en) Method, apparatus, and non-transitory readable medium for accessing non-volatile memory
US10467138B2 (en) Caching policies for processing units on multiple sockets
US20220179792A1 (en) Memory management device
CN111966608B (zh) 一种外存储器的直接内存储器访问方法和装置
EP0470739A1 (en) Method for managing a cache memory system
CN110716887B (zh) 一种支持写暗示的硬件高速缓存数据装入方法
JPH0797352B2 (ja) コンピュータ・システム及び入出力コントローラ
US9153211B1 (en) Method and system for tracking accesses to virtual addresses in graphics contexts
CN112148639A (zh) 一种高效小容量高速缓冲存储器替换方法及系统
CN114063934A (zh) 数据更新装置、方法及电子设备
US11669455B2 (en) Systems and methods for profiling host-managed device memory
CN111639038A (zh) Dma控制器的内存控制方法、装置、存储介质及设备
EP0470737A1 (en) Cache memory operating method and structure
JPH04328655A (ja) キャッシュメモリ
JPS63282545A (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