CN113297105A - 一种转换地址的缓存处理方法及装置 - Google Patents

一种转换地址的缓存处理方法及装置 Download PDF

Info

Publication number
CN113297105A
CN113297105A CN202110498646.7A CN202110498646A CN113297105A CN 113297105 A CN113297105 A CN 113297105A CN 202110498646 A CN202110498646 A CN 202110498646A CN 113297105 A CN113297105 A CN 113297105A
Authority
CN
China
Prior art keywords
address
address translation
translation entry
virtual
label
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
CN202110498646.7A
Other languages
English (en)
Other versions
CN113297105B (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.)
Alibaba Innovation Co
Original Assignee
Alibaba Singapore Holdings Pte 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 Alibaba Singapore Holdings Pte Ltd filed Critical Alibaba Singapore Holdings Pte Ltd
Priority to CN202110498646.7A priority Critical patent/CN113297105B/zh
Publication of CN113297105A publication Critical patent/CN113297105A/zh
Application granted granted Critical
Publication of CN113297105B publication Critical patent/CN113297105B/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/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
    • 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
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/1021Hit rate improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • 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

本发明公开了一种转换地址的缓存处理方法及装置,涉及数据缓存技术领域,本发明的主要目的在于提高PCIe设备的地址访问效率。本发明主要的技术方案为:在地址转换缓存模块的地址翻译条目中设置标记位,地址翻译条目用于存储具有映射关系的虚拟地址与物理地址,标记位用于存储标识地址翻译条目重要程度的标签信息;根据写入第一寄存器的虚拟地址,将虚拟地址以及对应的物理地址存入一个地址翻译条目中,并在对应的标记位中标记第一标签;根据直接存储器访问的虚拟地址,在地址转换缓存模块中匹配对应的地址翻译条目;在未匹配成功时,将利用地址转换服务获取的虚拟地址以及对应的物理地址存入地址翻译条目中,并在对应的标记位中标记第二标签。

Description

一种转换地址的缓存处理方法及装置
技术领域
本发明涉及数据缓存技术领域,尤其涉及一种转换地址的缓存处理方法及装置。
背景技术
PCI-Express(peripheral component interconnect express,PCIe)是一种高速串行计算机扩展总线标准。PCIe属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QOS)等功能。它的主要优势就是数据传输速率高,而且还有相当大的发展潜力。
PCIe的协议中定义有地址转换服务(address translation service,ATS),该ATS定义了设备侧获取并缓存DMA地址翻译结果的方法以及设备与IOMMU之间的报文格式,其中,DMA为Direct Memory Access(直接存储器访问),是设备不经过CPU直接访问内存的方法;IOMMU(input/output memory management unit),用于翻译设备驱动配置的地址空间和内存所占用的系统物理空间的映射关系。在ATS的协议中还定义有存在于设备上的地址转换缓存模块(address translation cache,ATC),该ATC用于存放设备通过发送地址转换请求从IOMMU获取的地址翻译结果。然而,由于ATC的空间有限,其所能够存储的地址翻译结果的数量有限,且在现有的ATS的协议中并未规定针对ATC的管理机制,导致ATC无法适应设备需求而保留有用的地址翻译结果以提高设备的访问效率。
发明内容
鉴于上述问题,本发明提出了一种转换地址的缓存处理方法及装置,主要目的在于对ATS中的地址转换缓存模块所存储的地址翻译条目进行重要性标记,以提高地址转换缓存模块的利用效率。
为达到上述目的,本发明主要提供如下技术方案:
一方面,本发明提供一种转换地址的缓存处理方法,所述方法包括:
在地址转换缓存模块的地址翻译条目中设置标记位,所述地址翻译条目用于存储具有映射关系的虚拟地址与物理地址,所述标记位用于存储标识地址翻译条目重要程度的标签信息;
根据写入第一寄存器的虚拟地址,将所述虚拟地址以及对应的物理地址存入一个地址翻译条目中,并在对应的标记位中标记第一标签;
根据直接存储器访问的虚拟地址,在地址转换缓存模块中匹配对应的地址翻译条目;
在未匹配成功时,将利用地址转换服务获取的虚拟地址以及对应的物理地址存入地址翻译条目中,并在对应的标记位中标记第二标签。
另一方面,本发明提供一种转换地址的缓存处理装置,所述装置包括:
设置单元,用于在地址转换缓存模块的地址翻译条目中设置标记位,所述地址翻译条目用于存储具有映射关系的虚拟地址与物理地址,所述标记位用于存储标识地址翻译条目重要程度的标签信息;
配置单元,用于根据写入第一寄存器的虚拟地址,将所述虚拟地址以及对应的物理地址存入一个地址翻译条目中,并在对应的标记位中标记第一标签;
匹配单元,用于根据直接存储器访问的虚拟地址,在地址转换缓存模块中匹配对应的地址翻译条目;
处理单元,用于在所述匹配单元未匹配成功时,将利用地址转换服务获取的虚拟地址以及对应的物理地址存入地址翻译条目中,并在对应的标记位中标记第二标签。
另一方面,本发明还提供一种电子设备,所述电子设备支持地址转换服务功能,包括存储介质与处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述的转换地址的缓存处理方法。
借由上述技术方案,本发明提供的一种转换地址的缓存处理方法及装置,是在ATS的协议基础上,针对ATC中有限数量的地址翻译条目进行管理的方案。本发明实施例是对地址翻译条目的格式进行调整,增加标记位,通过在该标记位上标识不同的标签信息来定义地址翻译条目的重要程度,在配置阶段,可以通过第一寄存器向ATC中写入具有第一标签的地址翻译条目,即重要的地址翻译条目,而在应用过程中,可以通过直接存储器访问DMA的方式向ATC中写入具有第二标签的地址翻译条目,即不重要的地址翻译条目。如此,当ATC中地址翻译条目均被占用后,再向ATC中写入地址翻译条目时就可以根据标记位中的标签信息有选择地替换其中不重要的地址翻译条目,确保重要的地址翻译条目能够保留在ATC中,提高PCIe设备在地址访问时在ATC中命中率,从而提高设备对缓存资源的利用效率以及对IO操作的响应速率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提出的一种转换地址的缓存处理方法的流程图;
图2示出了本发明实施例提出的另一种转换地址的缓存处理方法的流程图;
图3示出了本发明实施例中PCIe设备的结构框架示意图;
图4示出了本发明实施例中由第一寄存器向地址转换缓存模块写入重要地址翻译条目的流程图;
图5示出了本发明实施例提出的一种转换地址的缓存处理装置的组成框图;
图6示出了本发明实施例提出的另一种转换地址的缓存处理装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
根据上述背景技术中对PCIe的介绍可知,现有PCIe协议中对于地址转换服务ATS仅定义了其用于获取并存储设备通过直接寄存器访问DMA得到的地址翻译结果,即虚拟地址以及对应的物理地址所构成的地址对。而没有对ATS中用于存储地址翻译结果的地址转换缓存模块ATC的管理机制进行定义,使得在ATC的缓存资源有限的情况下,无法确保在ATC中保存重要的地址翻译结果,导致设备的访问延迟增大,降低了整个系统的数据吞吐量。
为此,本发明实施例是在该问题的基础上提出的针对ATC的一种管理机制。在本发明中,定义ATC中所保存的一对地址翻译结果为一条地址翻译条目,而地址翻译条目的数量则取决于PCIe设备对ATC的设计容量。一般地,该ATC的容量远小于物理内存的容量,因此,本发明实施例所提出的管理机制主要是针对ATC中地址翻译条目的更新淘汰管理机制,其核心思想是对地址翻译条目中的数据内容格式进行重新设计,增加一个标记位,用于对本条地址翻译结果的重要性进行标记,如此,在需要更新与淘汰时,可以根据标记位中的标签信息有选择地淘汰已存储的地址翻译条目,确保重要的地址翻译条目不被新增的地址翻译条目挤出ATC。而基于该管理机制,系统中的应用软件也可以实现在ATC中设置重要的地址翻译条目,以提高PCIe设备针对具体应用或系统用户的高速响应。
基于上述对本发明实施例核心思想的介绍与说明,以下将通过实施例的具体步骤详细说明本发明实施例提供的一种转换地址的缓存处理方法的具体实现,本方法的具体步骤如图1所示,包括:
步骤101、在地址转换缓存模块的地址翻译条目中设置标记位。
其中,地址转换缓存模块为基于地址转换服务ATS而设置在PCIe设备侧的硬件缓存模块,即上述的ATC,用于存储PCIe设备通过向IOMMU发送地址翻译请求得到的地址翻译结果。该翻译结果包括虚拟地址以及对应的物理地址。本步骤中,地址转换缓存模块中可以缓存的地址翻译条目的数量是基于对不同厂商对ATC的设计而确定的,每条地址翻译条目可以用于存储一对具有映射关系的虚拟地址与物理地址。
在本实施例中,对地址翻译条目的格式进行调整,主要是在该地址翻译条目中增设了一个标记位,该标记位用于存储标识本条地址翻译条目重要程度的标签信息。在本实施例中,该标签信息至少包括第一标签与第二标签,其中,第一标签表示重要,第二标签表示不重要。当然,也可以采用分级的方式设置更多等级的标签信息,其作用以及后续的处理思想与采用二分类的标签信息是相同的,因此,本实施例仅以第一标签和第二标签作为标签信息为例进行示例性说明。具体的,所增加的标记位不限定是新增加一个比特(bit)位,或者是利用物理地址中的一个bit位来作为该标记位;而当标签信息用于标记多个不同等级时,也可以是新增加与多个等级数量相对应的多个bit位,或者是利用物理地址中的多个bit位来标记。
可见,本步骤是本发明实现的前提条件,即只有在具有标记位的地址翻译条目的基础上,才能够执行后续的管理机制。
步骤102、根据写入第一寄存器的虚拟地址,将该虚拟地址以及对应的物理地址存入一个地址翻译条目中,并在对应的标记位中标记第一标签。
本步骤中的第一寄存器是针对ATC而特别设置的一个寄存器,用于接收系统侧需要写入ATC的重要虚拟地址。即应用PCIe设备的应用程序或系统用户可以通过向该第一寄存器写入虚拟地址,由第一寄存器触发PCIe设备获取该虚拟地址对应的物理地址,并将该虚拟地址与物理地址成对地存入ATC中的一条地址翻译条目中,同时,将该地址翻译条目中的标记位标记为第一标签。当然,在标记位有多个等级时,写入第一寄存器的除了虚拟地址外,还需要有对应的标签信息。
可见,本步骤中的第一寄存器是用于向ATC写入标签信息的专用寄存器。也就是说,ATC中地址翻译条目的等级要通过第一寄存器进行设置。
步骤103、根据直接存储器访问的虚拟地址,在地址转换缓存模块中匹配对应的地址翻译条目。
其中,直接存储器访问(Direct Memory Access,DMA)即为PCIe设备不经过中央处理器CPU而直接访问内存的数据传输方式。在虚拟化情况下,PCIe设备通过DMA访问内存时,是访问的虚拟地址,此时,若不具有ATC,则需要利用地址转换请求从IOMMU查询该虚拟地址对应的地址翻译结果,从而得到内存的物理地址进行访问;而在具有ATC时,则可以通过该ATC中的地址翻译条目获取对应的物理地址,而无需通过地址转换请求进行查询,从而提高地址访问的响应速率。
本步骤中,通过DMA访问的虚拟地址,需要先在ATC中进行匹配,若匹配成功,则可直接从所匹配的地址翻译条目中获取对应的物理地址;而若未匹配成功,即当前ATC中未保存有对应的地址翻译条目,则需要通过地址转换请求查询该虚拟地址所对应的物理地址,并同时执行步骤104。
步骤104、在未匹配成功时,将利用地址转换服务获取的虚拟地址以及对应的物理地址存入地址翻译条目中,并在对应的标记位中标记第二标签。
本步骤是为了让PCIe设备以后再次对相同的虚拟地址进行DMA访问时,能够快速得到对应物理地址,而执行的对ATC中的地址翻译条目进行更新的操作。
具体的,PCIe设备利用地址转换服务ATS获取虚拟地址以及对应的物理地址,即通过地址转换请求从IOMMU查询该虚拟地址对应的地址翻译结果,应用其中的物理地址响应DMA访问,同时,将该地址翻译结果(虚拟地址以及对应的物理地址)存入ATC的一个地址翻译条目中,并在该地址翻译条目的标记位中标记第二标签。需要说明的是,由于ATC中地址翻译条目数量有限,将地址翻译结果存入ATC的条件是有空闲的地址翻译条目,或者是有标记位中标记有第二标签的地址翻译条目,而当ATC中所有的地址翻译条目的标记位中均标记有第一标签时,则本次的地址翻译结果将不能存入ATC中。
通过上述实施例的说明,本发明实施例所提供的一种转换地址的缓存处理方法,是针对ATC中有限数量的地址翻译条目进行管理的方案。该方案的前提是对地址翻译条目的格式进行调整,增加标记位,通过在该标记位上标识不同的标签信息来定义地址翻译条目的重要程度,进而实现利用第一寄存器向ATC中写入具有第一标签的地址翻译条目,即重要的地址翻译条目。而通过DMA的方式只能向ATC中写入具有第二标签的地址翻译条目,即不重要的地址翻译条目。如此,当ATC中的地址翻译条目均被占用后,若再向ATC中写入地址翻译条目时就可以根据标记位中的标签信息有选择地替换其中不重要的地址翻译条目,确保重要的地址翻译条目能够保留在ATC中,提高PCIe设备在地址访问时在ATC中命中率,从而提高设备对缓存资源的利用效率以及对IO操作的响应速率。
进一步的,针对图1所示的转换地址的缓存处理方法,在以下实施例中,将具体说明在地址翻译条目对应的标记位中标记具体标签信息的方式,上述缓存处理方法的具体流程如图2所示,包括:
步骤201、在地址转换缓存模块的地址翻译条目中设置标记位。
该步骤的具体内容与图1所示的步骤101内容相同。本实施例中,示例性地设置标记位中所标记的第一标签为1,第二标签为0。
步骤202、配置第一寄存器与第二寄存器。
本步骤是在PCIe设备中为ATC所配置的两个寄存器,其中,第一寄存器可以为只写寄存器SSAR(set static atc register),用于系统的应用程序或用户主动设置具有第一标签的地址翻译条目。第二寄存器可以为可读可写寄存器GSAR(get static atcregister),用于查询目标虚拟地址所对应的地址翻译条目的标签信息,也可以检测通过第一寄存器所配置的虚拟地址是否配置为具有第一标签的地址翻译条目。该PCIe设备的结构框架具体如图3所示,其中,地址写入设备为用户设置地址翻译条目的客户端设备,其不限定是终端设备的处理器、操作系统以及驱动程序等,也可以对应于用户登录的应用程序等,用户通过该地址写入设备向SSAR写入具有第一标签的地址翻译条目,向GSAR查询目标虚拟地址所对应的地址翻译条目的标签信息,或者是检测通过第一寄存器所配置的虚拟地址是否配置为具有第一标签的地址翻译条目。SSAR将地址翻译条目以及对应的第一标签写入ATC,而GSAR则是根据目标虚拟地址在ATC中查找对应的地址翻译条目的标签信息。
步骤203、根据写入第一寄存器的虚拟地址,将该虚拟地址以及对应的物理地址存入一个地址翻译条目中,并在对应的标记位中标记第一标签。
本步骤可以具体理解为应用第一寄存器配置ATC的具体操作。即设置哪些重要的虚拟地址需要被存入ATC中。
由于ATC中地址翻译条目的数量有限,因而,在向ATC中存入虚拟地址的翻译结果可能存在因无空闲地址翻译条目而需要淘汰或更新的情况,因此,在执行本步骤时,写入地址翻译条目的具体逻辑步骤如图4所示,包括:
2031、判断地址转换缓存模块中是否存在含有虚拟地址的地址翻译条目。
该步骤是PCIe设备根据写入第一寄存器的虚拟地址,先在地址转换缓存模块ATC中进行查询,判断ATC中已有的地址翻译条目是否记载有该虚拟地址,若存在对应的地址翻译条目则执行步骤2032,反之,若不存在对应的地址翻译条目,则执行步骤2033。
2032、在地址翻译条目的标记位中标记第一标签。
若虚拟地址在ATC中已存在对应的地址翻译条目,则无需再利用地址转换服务获取其对应的物理地址,此时,只需要将该地址翻译条目的标记位中标记第一标签即可,即将该地址翻译条目标记为重要条目。
2033、利用地址转换服务获取虚拟地址对应的物理地址。
若虚拟地址在ATC中不存在对应的地址翻译条目,则PCIe设备需要再利用地址转换服务获取其对应的物理地址。具体为,根据虚拟地址触发地址转换请求,通过IOMMU获取地址翻译结果,即该虚拟地址所对应的物理地址。
该步骤的执行结果存在两种情况,当获取到物理地址时,继续执行后续步骤,反之,当未获取到物理地址时,则终止对该虚拟地址的写入,并反馈相关信息或报错信息。
需要说明的是,在本步骤执行的过程中,需要锁住ATC的进一步操作,即在执行地址转换请求的过程中,不再向ATC执行其他操作,以防止在该过程写入新的地址翻译条目。而对ATC的锁定需要等到确定当前的虚拟地址以及对应的物理地址写入ATC时再解除,或者是当前的虚拟地址不存在对应的物理地址时解除锁定。
2034、判断地址转换缓存模块中是否存在空闲的地址翻译条目。
本步骤与步骤2033可以同步执行,两者之间的执行不存在逻辑上的先后顺序。
本步骤是虚拟地址在ATC中不存在对应的地址翻译条目时,进一步查找ATC中空闲的地址翻译条目,即判断ATC中是否还有足够的存储容量写入一条新的地址翻译条目,若存在,则执行步骤2035,反之,当无法存入新的地址翻译条目时,则执行步骤2036。
2035、将虚拟地址、物理地址以及第一标签存储至一个空闲的地址翻译条目中。
2036、根据地址翻译条目的标记位,将虚拟地址、物理地址以及第一标签替换存储至具有第二标签的地址翻译条目中。
该步骤是在ATC缓存空间不足时,启动的对已存的地址翻译条目更新淘汰操作。该操作需要根据地址翻译条目中的标记位来选择可替换的地址翻译条目,具体操作包括:检测ATC中是否存在标记位为第二标签的地址翻译条目,若存在,则可以将该虚拟地址、物理地址以及第一标签替换存储至一个具有第二标签的地址翻译条目中。若不存在,说明当前ATC中所存的地址翻译条目均是重要的,即都具有第一标签,此时,可以将ATC所存储的任一一条地址翻译条目淘汰,以替换当前需要存入的虚拟地址、物理地址以及第一标签,也可以根据地址翻译条目存入ATC的先后顺序,将该虚拟地址、物理地址以及第一标签替换存储至最先存入地址转换缓存模块的地址翻译条目中。
以上图3所示的个步骤为通过第一寄存器向ATC写入重要的地址翻译条目的操作逻辑流程。由此可以看出,本发明实施例中ATC所存储的地址翻译条目的第一标签信息是需要主动设置的,并且需要通过第一寄存器进行设置。
步骤204、利用第二寄存器查询目标虚拟地址的标记位。
该步骤与步骤203不存在逻辑上的先后关系。第二寄存器的作用主要用于查询ATC,判断ATC中是否存在与所要查询的目标虚拟地址相对应的地址翻译条目,若存在,返回该地址翻译条目的标记位的标签信息,即查询目标虚拟地址对应的地址翻译条目是否被设置为重要条目。
当然,该步骤也可以理解为是对步骤203所配置的重要地址翻译条目的校验操作。当写入第二寄存器一个目标虚拟地址后,PCIe设备将触发以下操作:根据写入第二寄存器的虚拟地址,判断ATC中是否存在含有该虚拟地址的地址翻译条目;若存在,则将该地址翻译条目的标记位对应的标签信息赋值给第二寄存器;若不存在,则将第二标签赋值给第二寄存器。
可见,只有在目标虚拟地址对应的地址翻译条目为重要条目(标记位中记录的是第一标签)时,第二寄存器才会返回第一标签(1),否则,都将该第二寄存器返回第二标签(0)。
需要说明的是,当第二寄存器中的值被读取时,还需要将该第二寄存器中的值清空。
步骤205、根据直接存储器访问的虚拟地址,在地址转换缓存模块中匹配对应的地址翻译条目。
本步骤以及后续步骤是PCIe设备在应用过程中发起DMA访问时对ATC所执行的相关操作。
当匹配成功时,直接从ATC中读取虚拟地址对应的物理地址,反之,当匹配不成功时,执行步骤206。
步骤206、将利用地址转换服务获取的虚拟地址以及对应的物理地址存入地址翻译条目中,并在对应的标记位中标记第二标签。
本步骤在具体执行是也可以分为如下步骤:
首先,利用地址转换服务获取虚拟地址以及对应的物理地址。即发起地址转换请求,通过IOMMU获取地址翻译结果,若能够获取地址翻译结果则继续执行后续步骤,反之未得到地址翻译结果则停止并反馈报错信息。
之后,判断ATC中是否存在空闲的地址翻译条目。
若存在,则将得到的虚拟地址以及对应的物理地址存入空闲的一个地址翻译条目中,并在对应的标记位中标记第二标签。
若不存在,则根据地址翻译条目对应的标记位的标签信息确定是否将该虚拟地址以及对应的物理地址存入ATC中。
具体的,当ATC中不存在空闲的地址翻译条目时,是否存入ATC还需要进一步判断ATC中是否存在具有第二标签的地址翻译条目,若存在,则将该虚拟地址以及对应的物理地址替换存入其中一个地址翻译条目中,并在对应的标记位中标记第二标签;若不存在,则禁止将所述虚拟地址以及对应的物理地址存入地址转换缓存模块中。
可见,在DMA访问过程中,若ATC的缓存空间允许则直接写入对应的地址翻译结果并标记第二标签,而当ATC的缓存空间不足时,就需要查询已存地址翻译条目的标记位,选择具有第二标签的地址翻译条目来存储新的地址翻译结果。
步骤207、清除地址转换缓存模块中的地址翻译条目。
本步骤是将ATC中的地址翻译条目进行无效处理的操作。本实施例中,该步骤的执行主要是基于系统侧发出的指令实现的,具体可以通过第一寄存器来清除,也可以通过基于地址交换服务ATS中的无效请求实现。
其中,通过第一寄存器执行清除操作的方式具体可以为:系统应用或用户向第一寄存器写入具有第二标签的虚拟地址,PCIe设备根据该虚拟地址确定ATC中具有对应的地址翻译条目时,将该地址翻译条目的标记位中标记第二标签,如此,再由新的地址翻译结果需要写入ATC时,就可以将该地址翻译条目清除,以替换新的地址翻译结果。此外,除了调整标记位的方式外,还可以是在写入第一寄存器的虚拟地址中具有第二标签时,直接清除ATC中含有该虚拟地址的地址翻译条目。
而通过基于地址交换服务中的无效请求执行清除操作的方式与现有的无效ATC中地址翻译条目的方式相同,即该无效请求并不考虑地址翻译条目中的标记位。其具体实现为:检测是否接收到地址翻译条目的无效请求,该无效请求是基于地址转换服务ATS发起的含有虚拟地址的请求;若接收到,则根据该虚拟地址清除对应地址翻译条目中的虚拟地址、物理地址以及标签信息。
进一步的,作为对上述图1、2所示转换地址的缓存处理方法的实现,本发明实施例提供了一种转换地址的缓存处理装置,该装置的主要目的在于对ATC中所存储的地址翻译条目进行管理,对不同重要性的地址翻译条目进行有选择地更新与淘汰。为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置如图5所示,具体包括:
设置单元31,用于在地址转换缓存模块的地址翻译条目中设置标记位,所述地址翻译条目用于存储具有映射关系的虚拟地址与物理地址,所述标记位用于存储标识地址翻译条目重要程度的标签信息;
配置单元32,用于根据写入第一寄存器的虚拟地址,将所述虚拟地址以及对应的物理地址存入一个地址翻译条目中,并在对应的标记位中标记第一标签;
匹配单元33,用于根据直接存储器访问的虚拟地址,在地址转换缓存模块中匹配对应的地址翻译条目;
处理单元34,用于在所述匹配单元33未匹配成功时,将利用地址转换服务获取的虚拟地址以及对应的物理地址存入地址翻译条目中,并在对应的标记位中标记第二标签。
进一步的,如图6所示,所述配置单元32包括:
第一判断模块321,用于根据写入第一寄存器的虚拟地址,判断所述地址转换缓存模块中是否存在含有所述虚拟地址的地址翻译条目;
标记模块322,用于若所述判断模块321确定存在,则在所述地址翻译条目的标记位中标记第一标签;
获取模块323,用于若所述判断模块321确定不存在,则利用地址转换服务获取所述虚拟地址对应的物理地址;
存储模块324,用于将所述获取模块323得到的所述虚拟地址、物理地址以及第一标签存储至一个地址翻译条目中。
进一步的,如图6所示,所述配置单元32还包括:
第二判断模块325,用于在存储模块324将所述虚拟地址、物理地址以及第一标签存储至一个地址翻译条目中之前,判断所述地址转换缓存模块中是否存在空闲的地址翻译条目;
所述存储模块324还用于,若所述第二判断模块325确定存在,则将所述虚拟地址、物理地址以及第一标签存储至一个空闲的地址翻译条目中;
更新模块326,用于若所述第二判断模块325确定不存在,则根据地址翻译条目的标记位,将所述虚拟地址、物理地址以及第一标签替换存储至具有第二标签的地址翻译条目中。
进一步的,所述更新模块326具体用于:
检测所述地址转换缓存模块中是否存在标记位为第二标签的地址翻译条目;
若存在,则将所述虚拟地址、物理地址以及第一标签替换存储至所述地址翻译条目中;
若不存在,则根据存入地址转换缓存模块的先后顺序,将所述虚拟地址、物理地址以及第一标签替换存储至最先存入地址转换缓存模块的地址翻译条目中。
进一步的,如图6所示,所述装置还包括:
查询单元35,用于利用第二寄存器查询目标虚拟地址的标记位,所述第二寄存器与第一寄存器为预先设置在具有地址转换缓存模块的设备中,用于配置地址翻译条目中的标记位。
进一步的,如图6所示,所述查询单元35包括:
判断模块351,用于根据写入所述第二寄存器的虚拟地址,判断所述地址转换缓存模块中是否存在含有所述虚拟地址的地址翻译条目;
赋值模块352,用于若所述判断模块351确定存在,则将所述地址翻译条目的标记位对应标签信息赋值给所述第二寄存器;若不存在,则将所述第二标签赋值给所述第二寄存器。
进一步的,如图6所示,所述处理单元34包括:
获取模块341,用于利用地址转换服务获取虚拟地址以及对应的物理地址;
判断模块342,用于判断所述地址转换缓存模块中是否存在空闲的地址翻译条目;
存储模块343,用于若所述判断模块342确定存在,则将所述获取模块341得到的虚拟地址以及对应的物理地址存入所述地址翻译条目中,并在对应的标记位中标记第二标签;
确定模块344,若所述判断模块342确定不存在,则根据所述地址翻译条目对应的标记位的标签信息确定将所述获取模块341得到的虚拟地址以及对应的物理地址存入地址转换缓存模块中。
进一步的,所述确定模块344具体用于:
判断所述地址转换缓存模块中是否存在具有第二标签的地址翻译条目;
若存在,则将所述虚拟地址以及对应的物理地址存入所述地址翻译条目,并在对应的标记位中标记第二标签;
若不存在,则禁止将所述虚拟地址以及对应的物理地址存入地址转换缓存模块中。
进一步的,所述配置单元32还用于:
在写入第一寄存器的虚拟地址中还具有第二标签时,将所述第二标签标记在地址转换缓存模块中含有所述虚拟地址的地址翻译条目中;
或者,在写入第一寄存器的虚拟地址中还具有第二标签时,清除地址转换缓存模块中含有所述虚拟地址的地址翻译条目。
进一步的,如图6所示,所述装置还包括:
检测单元36,用于检测是否接收到地址翻译条目的无效请求,所述无效请求是基于地址转换服务发起的含有虚拟地址的请求;
删除单元37,用于若所述检测单元36接收到无效请求,则根据所述虚拟地址删除对应地址翻译条目中的虚拟地址、物理地址以及标签信息。
进一步的,本发明实施例还提供一种电子设备,该硬件设备支持地址转换服务ATS功能,其中设置有ATC,并且,该硬件设备还包括有存储介质与处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述图1-3所示的转换地址的缓存处理方法。在实际应用中,该电子设备包括但不限于高性能网卡、存储设备,高性能负载加速卡等支持有PCIe协议的电子设备。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的优选实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据割接设备的处理器以产生一个机器,使得通过计算机或其他可编程数据割接设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据割接设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据割接设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种转换地址的缓存处理方法,所述方法包括:
在地址转换缓存模块的地址翻译条目中设置标记位,所述地址翻译条目用于存储具有映射关系的虚拟地址与物理地址,所述标记位用于存储标识地址翻译条目重要程度的标签信息;
根据写入第一寄存器的虚拟地址,将所述虚拟地址以及对应的物理地址存入一个地址翻译条目中,并在对应的标记位中标记第一标签;
根据直接存储器访问的虚拟地址,在地址转换缓存模块中匹配对应的地址翻译条目;
在未匹配成功时,将利用地址转换服务获取的虚拟地址以及对应的物理地址存入地址翻译条目中,并在对应的标记位中标记第二标签。
2.根据权利要求1所述的方法,其特征在于,根据写入第一寄存器的虚拟地址,将所述虚拟地址以及对应的物理地址存入一个地址翻译条目中,并在对应的标记位中标记第一标签,包括:
根据写入第一寄存器的虚拟地址,判断所述地址转换缓存模块中是否存在含有所述虚拟地址的地址翻译条目;
若存在,则在所述地址翻译条目的标记位中标记第一标签;
若不存在,则利用地址转换服务获取所述虚拟地址对应的物理地址,并将所述虚拟地址、物理地址以及第一标签存储至一个地址翻译条目中。
3.根据权利要求2所述的方法,其特征在于,在将所述虚拟地址、物理地址以及第一标签存储至一个地址翻译条目中之前,所述方法还包括:
判断所述地址转换缓存模块中是否存在空闲的地址翻译条目;
若存在,则将所述虚拟地址、物理地址以及第一标签存储至一个空闲的地址翻译条目中;
若不存在,则根据地址翻译条目的标记位,将所述虚拟地址、物理地址以及第一标签替换存储至具有第二标签的地址翻译条目中。
4.根据权利要求3所述的方法,其特征在于,将所述虚拟地址、物理地址以及第一标签替换存储至具有第二标签的地址翻译条目中,具体包括:
检测所述地址转换缓存模块中是否存在标记位为第二标签的地址翻译条目;
若存在,则将所述虚拟地址、物理地址以及第一标签替换存储至所述地址翻译条目中;
若不存在,则根据存入地址转换缓存模块的先后顺序,将所述虚拟地址、物理地址以及第一标签替换存储至最先存入地址转换缓存模块的地址翻译条目中。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
利用第二寄存器查询目标虚拟地址的标记位,所述第二寄存器与第一寄存器为预先设置在具有地址转换缓存模块的设备中,用于配置地址翻译条目中的标记位。
6.根据权利要求5所述的方法,其特征在于,利用第二寄存器查询目标虚拟地址的标记位,包括:
根据写入所述第二寄存器的虚拟地址,判断所述地址转换缓存模块中是否存在含有所述虚拟地址的地址翻译条目;
若存在,则将所述地址翻译条目的标记位对应标签信息赋值给所述第二寄存器;
若不存在,则将所述第二标签赋值给所述第二寄存器。
7.根据权利要求1所述的方法,其特征在于,将利用地址转换服务获取的虚拟地址以及对应的物理地址存入地址翻译条目中,并在对应的标记位中标记第二标签,包括:
利用地址转换服务获取虚拟地址以及对应的物理地址;
判断所述地址转换缓存模块中是否存在空闲的地址翻译条目;
若存在,则将所述虚拟地址以及对应的物理地址存入所述地址翻译条目中,并在对应的标记位中标记第二标签;
若不存在,则判断所述地址转换缓存模块中是否存在具有第二标签的地址翻译条目;若存在具有第二标签的地址翻译条目,则将所述虚拟地址以及对应的物理地址存入所述地址翻译条目,并在对应的标记位中标记第二标签;若不存在具有第二标签的地址翻译条目,则禁止将所述虚拟地址以及对应的物理地址存入地址转换缓存模块中。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:
在写入第一寄存器的虚拟地址中还具有第二标签时,将所述第二标签标记在地址缓存模块地址转换缓存模块中含有所述虚拟地址的地址翻译条目中;或者,在写入第一寄存器的虚拟地址中还具有第二标签时,清除地址缓存模块地址转换缓存模块中含有所述虚拟地址的地址翻译条目;
检测是否接收到地址翻译条目的无效请求,所述无效请求是基于地址转换服务发起的含有虚拟地址的请求;若接收到,则根据所述虚拟地址删除对应地址翻译条目中的虚拟地址、物理地址以及标签信息。
9.一种转换地址的缓存处理装置,所述装置包括:
设置单元,用于在地址转换缓存模块的地址翻译条目中设置标记位,所述地址翻译条目用于存储具有映射关系的虚拟地址与物理地址,所述标记位用于存储标识地址翻译条目重要程度的标签信息;
配置单元,用于根据写入第一寄存器的虚拟地址,将所述虚拟地址以及对应的物理地址存入一个地址翻译条目中,并在对应的标记位中标记第一标签;
匹配单元,用于根据直接存储器访问的虚拟地址,在地址转换缓存模块中匹配对应的地址翻译条目;
处理单元,用于在所述匹配单元未匹配成功时,将利用地址转换服务获取的虚拟地址以及对应的物理地址存入地址翻译条目中,并在对应的标记位中标记第二标签。
10.一种电子设备,所述电子设备支持地址转换服务功能,包括存储介质与处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行权利要求1-8中任一项所述的转换地址的缓存处理方法。
CN202110498646.7A 2021-05-08 2021-05-08 一种转换地址的缓存处理方法及装置 Active CN113297105B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110498646.7A CN113297105B (zh) 2021-05-08 2021-05-08 一种转换地址的缓存处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110498646.7A CN113297105B (zh) 2021-05-08 2021-05-08 一种转换地址的缓存处理方法及装置

Publications (2)

Publication Number Publication Date
CN113297105A true CN113297105A (zh) 2021-08-24
CN113297105B CN113297105B (zh) 2024-01-09

Family

ID=77321092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110498646.7A Active CN113297105B (zh) 2021-05-08 2021-05-08 一种转换地址的缓存处理方法及装置

Country Status (1)

Country Link
CN (1) CN113297105B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023029756A1 (en) * 2021-08-30 2023-03-09 International Business Machines Corporation Sleep / wake-up performance enhancing for simultaneous address translation table walks
CN116107935A (zh) * 2022-12-30 2023-05-12 芯动微电子科技(武汉)有限公司 一种基于PCIe地址转换服务机制的ATC实现方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140052931A1 (en) * 2012-08-17 2014-02-20 Ravindraraj Ramaraju Data Type Dependent Memory Scrubbing
US20150149743A1 (en) * 2013-11-27 2015-05-28 Realtek Semiconductor Corp. Management method of virtual-to-physical address translation system using part of bits of virtual address as index
CN107122130A (zh) * 2017-04-13 2017-09-01 杭州宏杉科技股份有限公司 一种数据重删方法及装置
US20170371816A1 (en) * 2016-06-27 2017-12-28 International Business Machines Corporation Input/output computer system including hardware assisted autopurge of cache entries associated with pci address translations
US20180107604A1 (en) * 2016-10-14 2018-04-19 Arm Limited Apparatus and method for maintaining address translation data within an address translation cache
CN110704334A (zh) * 2019-09-25 2020-01-17 苏州浪潮智能科技有限公司 一种重要产品数据管理的方法、系统及设备
CN111373382A (zh) * 2018-01-04 2020-07-03 高通股份有限公司 高速外围组件互连(PCI)(PCIe)地址转译服务(ATS)中的快速失效
US20200218665A1 (en) * 2017-07-31 2020-07-09 Arm Limited Address translation cache
CN112000592A (zh) * 2020-07-27 2020-11-27 瑞芯微电子股份有限公司 一种模块间数据交互的方法和装置
US20210089451A1 (en) * 2019-09-24 2021-03-25 Alibaba Group Holding Limited Storage management apparatus, storage management method, processor, and computer system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140052931A1 (en) * 2012-08-17 2014-02-20 Ravindraraj Ramaraju Data Type Dependent Memory Scrubbing
US20150149743A1 (en) * 2013-11-27 2015-05-28 Realtek Semiconductor Corp. Management method of virtual-to-physical address translation system using part of bits of virtual address as index
US20170371816A1 (en) * 2016-06-27 2017-12-28 International Business Machines Corporation Input/output computer system including hardware assisted autopurge of cache entries associated with pci address translations
US20180107604A1 (en) * 2016-10-14 2018-04-19 Arm Limited Apparatus and method for maintaining address translation data within an address translation cache
CN107122130A (zh) * 2017-04-13 2017-09-01 杭州宏杉科技股份有限公司 一种数据重删方法及装置
US20200218665A1 (en) * 2017-07-31 2020-07-09 Arm Limited Address translation cache
CN111373382A (zh) * 2018-01-04 2020-07-03 高通股份有限公司 高速外围组件互连(PCI)(PCIe)地址转译服务(ATS)中的快速失效
US20210089451A1 (en) * 2019-09-24 2021-03-25 Alibaba Group Holding Limited Storage management apparatus, storage management method, processor, and computer system
CN110704334A (zh) * 2019-09-25 2020-01-17 苏州浪潮智能科技有限公司 一种重要产品数据管理的方法、系统及设备
CN112000592A (zh) * 2020-07-27 2020-11-27 瑞芯微电子股份有限公司 一种模块间数据交互的方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023029756A1 (en) * 2021-08-30 2023-03-09 International Business Machines Corporation Sleep / wake-up performance enhancing for simultaneous address translation table walks
US11636043B2 (en) 2021-08-30 2023-04-25 International Business Machines Corporation Sleeping and waking-up address translation that conflicts with translation level of active page table walks
CN116107935A (zh) * 2022-12-30 2023-05-12 芯动微电子科技(武汉)有限公司 一种基于PCIe地址转换服务机制的ATC实现方法
CN116107935B (zh) * 2022-12-30 2023-08-22 芯动微电子科技(武汉)有限公司 一种基于PCIe地址转换服务机制的ATC实现方法

Also Published As

Publication number Publication date
CN113297105B (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
US20230315342A1 (en) Memory system and control method
CN108804350B (zh) 一种内存访问方法及计算机系统
WO2023098032A1 (zh) 一种内存空间扩展方法、装置及电子设备和存储介质
KR20220045216A (ko) 유형화된 메모리 액세스에 대한 유형화되지 않은 메모리 액세스의 맵핑
CN108139966B (zh) 管理转址旁路缓存的方法和多核处理器
CN113297105B (zh) 一种转换地址的缓存处理方法及装置
CN107665095B (zh) 存储器空间管理的设备、方法及可读存储介质
US20160124639A1 (en) Dynamic storage channel
KR20220049026A (ko) 메모리 네임스페이스에 대한 데이터 바인딩을 위한 메모리 시스템
US11656779B2 (en) Computing system and method for sharing device memories of different computing devices
CN115357540B (zh) 存储系统及其计算存储处理器、固体硬盘和数据读写方法
CN110554911A (zh) 内存访问与分配方法、存储控制器及系统
US11126573B1 (en) Systems and methods for managing variable size load units
CN116431530A (zh) 一种cxl内存模组、内存的处理方法及计算机系统
CN103595720A (zh) 卸载数据传输方法、装置和客户端
US20230333779A1 (en) Memory system with controller to write data to memory based on lifetime information in write command
CN113296886A (zh) 虚拟机内存管理方法、装置及系统、物理机
CN115586943B (zh) 一种智能网卡虚拟机脏页的硬件标记实现方法
CN117632781A (zh) 用于共享存储器快照的系统、非暂时性计算机可读存储媒体和方法
CN111737016A (zh) 一种面向云边融合系统的业务数据处理方法及装置
US11972110B2 (en) Storage device and storage system
CN113343045B (zh) 一种数据缓存方法及网络设备
CN112115521A (zh) 数据访问方法及装置
CN105765542A (zh) 访问文件的方法、分布式存储系统和存储节点
CN109960667B (zh) 大容量固态存储设备的地址转换方法与装置

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40059140

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240306

Address after: # 03-06, Lai Zan Da Building 1, 51 Belarusian Road, Singapore

Patentee after: Alibaba Innovation Co.

Country or region after: Singapore

Address before: Room 01, 45th Floor, AXA Building, 8 Shanton Road, Singapore

Patentee before: Alibaba Singapore Holdings Ltd.

Country or region before: Singapore