CN117714417A - 地址管理装置、芯片及地址管理方法 - Google Patents

地址管理装置、芯片及地址管理方法 Download PDF

Info

Publication number
CN117714417A
CN117714417A CN202211085813.6A CN202211085813A CN117714417A CN 117714417 A CN117714417 A CN 117714417A CN 202211085813 A CN202211085813 A CN 202211085813A CN 117714417 A CN117714417 A CN 117714417A
Authority
CN
China
Prior art keywords
node
address
linked list
head
arbitration result
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.)
Pending
Application number
CN202211085813.6A
Other languages
English (en)
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.)
Montage Technology Shanghai Co Ltd
Original Assignee
Montage Technology Shanghai 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 Montage Technology Shanghai Co Ltd filed Critical Montage Technology Shanghai Co Ltd
Priority to CN202211085813.6A priority Critical patent/CN117714417A/zh
Publication of CN117714417A publication Critical patent/CN117714417A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种地址管理装置、芯片及地址管理方法,所述地址管理装置包括块表,所述块表包括:仲裁器,接收包含虚拟地址信息的请求,生成仲裁结果;哈希转换器,根据仲裁结果,生成目标链表头节点的地址;状态机,根据仲裁结果的请求类型执行对应的查询操作、无效操作、全部无效操作或插入操作;多个链表头节点存储器,分别存放具有对应虚拟机标识的链表头节点的地址;链表节点存储器,存放各链表节点,每个链表由一个或多个链表节点串联形成,所述节点用于记录虚拟地址与物理地址的映射关系;多个链表节点地址管理的缓冲单元,分别管理具有对应虚拟机标识的链表节点的地址。本申请提供了一种快速高效的块表管理方式,能够极大地降低访问延时。

Description

地址管理装置、芯片及地址管理方法
技术领域
本申请涉及芯片设计的技术领域,特别是涉及一种地址管理装置、芯片及地址管理方法。
背景技术
目前,主机(Host)和PCI(Peripheral Component Interconnect,互连外设)设备间的虚拟物理地址转换管理通常由虚拟地址内存设备来实现,虚拟地址内存设备包括加速器和块表,块表中存放有用于记录虚拟地址与物理地址的映射关系的多个节点,具体地,块表包括与多个加速器一一对应的多个一级块表和由多个加速器共享的二级块表。在需要进行虚拟地址-物理地址的转换时,虚拟地址内存设备中的加速器向块表请求虚拟地址-物理地址的转换,若在块表中查找不到相应的节点,则会向主机请求虚拟地址-物理地址转换,并接收主机返回的转换后的物理地址。同时,块表也会接收来自主机的节点插入请求、节点无效请求等,以更新本地存放的节点。
然而,由于二级块表是在加速器之间共享,因此二级块表中存放的节点的数量比较大,在执行查询、插入、无效等请求时,会占用较长的时间,造成较多的访问延迟。因此,如何对块表进行高效地管理,成为本领域技术人员亟待解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种地址管理装置、芯片及地址管理方法,用于解决现有技术无法对二级块表进行高效地址管理的问题。
为实现上述目的及其他相关目的,本发明一方面提供一种地址管理装置,所述地址管理装置包括块表,所述块表包括:仲裁器,用于接收包含虚拟地址信息的查询请求、无效请求、全部无效请求或插入请求中的至少一种,生成仲裁结果;哈希转换器,用于根据接收的所述仲裁结果,生成目标链表头节点的地址;状态机,用于根据所述仲裁结果的请求类型执行对应的查询操作、无效操作、全部无效操作或插入操作;多个链表头节点存储器,分别用于存放具有对应虚拟机标识的链表头节点的地址;链表节点存储器,用于存放各链表节点,所述节点用于记录虚拟地址与物理地址的映射关系;多个链表节点地址管理的缓冲单元,分别用于管理具有对应虚拟机标识的链表节点的地址。
于本发明的一实施例中,所述链表节点地址管理的缓冲单元用于为待插入的节点分配地址,以及回收被无效的节点的地址。
于本发明的一实施例中,所述链表节点地址管理的缓冲单元还包括配置寄存器,用于配置具有对应虚拟机标识的链表中节点的数量。
于本发明的一实施例中,所述虚拟地址信息包括虚拟机标识、进程标识以及虚拟地址;所述哈希转换器对所述仲裁结果中的进程标识和虚拟地址进行哈希处理生成目标链表头节点的地址,同时根据所述仲裁结果中的虚拟机标识确定所述目标链表头节点的地址所存放的链表头节点存储器。
于本发明的一实施例中,每个节点包括头节点标识、尾节点标识,所述头节点标识用于指示所述节点是否为头节点,所述尾节点标识用于指示所述节点是否为尾节点。
于本发明的一实施例中,每个节点中还存放有下一节点的地址,其中所述尾节点中存放的下一节点的地址为无效地址。
于本发明的一实施例中,每个链表对应一个链表标识,所述链表标识用于指示所述链表是否存在。
于本发明的一实施例中,所述状态机包括:插入状态机,用于在仲裁结果的请求类型为插入请求时,指示所述地址管理装置为插入节点分配其在链表节点存储器中的地址,以将所述插入节点写入所述分配的地址,设置所述插入节点的头节点标识使其指示所述插入节点为头节点,将所述分配的地址更新至所述链表头节点存储器,并根据所述链表标识确定所述插入节点的尾节点标识、所述插入节点中存放的下一节点的地址以及是否更新所述链表标识;无效状态机,用于在仲裁结果的请求类型为无效请求时,指示所述地址管理装置回收无效节点在链表节点存储器中的地址,并根据所述无效节点在链表中的位置,选择性更新链表头节点存储器中存放的头节点的地址、所述链表标识、所述无效节点的前一节点中存放的下一节点的地址;全部无效状态机,用于在仲裁结果的请求类型为全部无效请求时,指示所述地址管理装置更新所有的链表标识使其指示对应的链表不存在;查询状态机,用于在仲裁结果的请求类型为查询请求时,指示所述地址管理装置根据目标链表头节点的地址及每个节点中存放的下一节点的地址进行查找。
为实现上述目的及其他相关目的,本发明另一方面提供一种芯片,所述芯片包括所述的地址管理装置。
为实现上述目的及其他相关目的,本发明最后一方面提供一种地址管理方法,应用于地址管理装置,所述地址管理装置包括块表,所述块表包括:仲裁器、哈希转换器、状态机、多个链表头节点存储器,用于分别存放具有对应虚拟机标识的链表头节点的地址、链表节点存储器,用于存放各链表节点、以及多个链表节点地址管理的缓冲单元,用于分别管理具有对应虚拟机标识的链表节点的地址,所述方法包括:通过仲裁器接收包含虚拟地址信息的查询请求、无效请求、全部无效请求或插入请求中的至少一种,生成仲裁结果;通过哈希转换器根据接收的所述仲裁结果,生成目标链表头节点的地址;通过状态机根据所述仲裁结果的请求类型执行对应的查询操作、无效操作、全部无效操作或插入操作。
于本发明的一实施例中,所述虚拟地址信息包括虚拟机标识、进程标识以及虚拟地址;通过所述哈希转换器根据接收的所述仲裁结果,生成目标链表头节点的地址包括:所述哈希转换器对所述仲裁结果中的进程标识和虚拟地址进行哈希处理生成目标链表头节点的地址,同时根据所述仲裁结果中的虚拟机标识确定所述目标链表头节点的地址所存放的链表头节点存储器。
于本发明的一实施例中,每个链表对应一个链表标识,所述链表标识用于指示所述链表是否存在。
于本发明的一实施例中,每个节点包括头节点标识、尾节点标识,所述头节点标识用于指示所述节点是否为头节点,所述尾节点标识用于指示所述节点是否为尾节点。
于本发明的一实施例中,每个节点中还存放有下一节点的地址,其中所述尾节点中存放的下一节点的地址为无效地址。
于本发明的一实施例中,通过状态机根据所述仲裁结果的请求类型执行对应的查询操作、无效操作、全部无效操作或插入操作包括:在仲裁结果的请求类型为插入请求时,通过所述状态机指示所述地址管理装置为插入节点分配其在链表节点存储器中的地址,以将所述插入节点写入所述分配的地址,设置所述插入节点的头节点标识使其指示所述插入节点为头节点,将所述分配的地址更新至所述链表头节点存储器,并根据所述链表标识确定所述插入节点的尾节点标识、所述插入节点中存放的下一节点的地址以及是否更新所述链表标识;在所述仲裁结果的请求类型为无效请求时,通过所述状态机指示所述地址管理装置回收无效节点在链表节点存储器中的地址,并根据所述无效节点在链表中的位置,选择性更新链表头节点存储器中存放的头节点的地址、所述链表标识、所述无效节点的前一节点中存放的下一节点的地址;在所述仲裁结果的请求类型为全部无效请求时,通过所述状态机指示所述地址管理装置更新所有的链表标识使其指示对应的链表不存在;在仲裁结果的请求类型为查询请求时,通过所述状态机指示所述地址管理装置根据目标链表头节点的地址及每个节点中存放的下一节点的地址进行查找。
如上所述,本申请实施例所述的地址管理装置、芯片及地址管理方法,具有以下有益效果:
本申请实施例通过对块表的结构进行设计,通过按照虚拟机标识来管理各链表节点,在接收到查询、插入、无效、全部无效等请求时,可根据请求中携带的虚拟机标识快速定位,并执行对应的操作,无需深入查找确定,也不会对具有其他虚拟机标识的链表节点产生影响。这种管理方式高效快捷,极大地降低了访问延时。
附图说明
图1显示为根据本申请一实施例的地址管理装置的结构框图。
图2显示为根据本申请一实施例的地址管理装置的结构示意图。
图3显示为本发明的地址管理方法于一实施例中的流程图。
元件标号说明
1 块表
11 仲裁器
12 哈希转换器
13 状态机
14 链表头节点存储器
15 链表节点存储器
16 链表节点地址管理的缓冲单元
S31~S33 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
图1示出了根据本申请一实施例的地址管理装置的结构框图。如图1所示,所述地址管理装置包括块表1,所述块表1包括:仲裁器11、哈希转换器12、状态机13、多个链表头节点存储器14、链表节点存储器15和多个链表节点地址管理的缓冲单元16。
所述仲裁器11用于接收包含虚拟地址信息的查询请求、无效请求、全部无效请求或插入请求中的至少一种,生成仲裁结果。
所述哈希转换器12用于根据接收的所述仲裁结果,生成目标链表头节点的地址。
所述状态机13用于根据所述仲裁结果的请求类型执行对应的查询操作、无效操作、全部无效操作或插入操作。
多个所述链表头节点存储器14分别用于存放具有对应虚拟机标识的链表头节点的地址。
所述链表节点存储器15用于存放各链表节点,每个链表由一个或多个链表节点串联形成,所述节点用于记录虚拟地址与物理地址的映射关系。
多个所述链表节点地址管理的缓冲单元16,分别用于管理具有对应虚拟机标识的链表节点的地址。
具体而言,图2示出了本申请一实施例的地址管理装置的结构示意图。如图2所示,仲裁器可接收查询请求、插入请求、无效请求、全部无效请求,若在同一时间接收到多个请求,则可以轮询的方式对接收到的多个请求进行仲裁,并将仲裁结果输出至哈希转换器。其中,请求中携带有虚拟地址信息,所述虚拟地址信息包括虚拟机标识、进程标识以及虚拟地址。
哈希转换器在接收到仲裁结果时,可对仲裁结果中的进程标识和虚拟地址进行哈希处理,以生成目标链表头节点的地址,同时根据仲裁结果中的虚拟机标识确定生成的所述头节点的地址所存放的链表头节点存储器。本申请实施例中,每个链表头节点存储器对应一个虚拟机标识,并存放具有对应虚拟机标识的链表头节点的地址。
在一些实施例中,所述链表节点地址管理的缓冲单元用于为待插入的节点分配地址,以及回收被无效的节点的地址。每个链表节点地址管理的缓冲单元包括第一缓冲区与第二缓冲区,需要插入新的节点时,所述链表节点地址管理的缓冲单元从所述第一缓冲区读取数据作为该新的节点的在链表节点存储器中的存储地址;需要无效某个节点时,所述链表节点地址管理的缓冲单元将该无效节点在链表节点存储器中的存储地址写入所述第二缓冲区。
在一些实施例中,所述链表节点地址管理的缓冲单元还包括配置寄存器,用于配置具有对应虚拟机标识的链表中节点的数量。
在一些实施例中,每个节点包括头节点标识、尾节点标识,所述头节点标识用于指示所述节点是否为头节点,所述尾节点标识用于指示所述节点是否为尾节点。例如头节点标识head=1表示该节点是头节点,head=0表示该节点不是头节点;尾节点标识tail=1表示该节点是尾节点,tail=0表示该节点不是尾节点。在一些实施中,所述节点的头节点标、尾节点标识可由图2中的触发器DFF1实现。
每个节点中还存放有下一个节点的地址,这样在哈希转换器确定出头节点地址后,就可以根据各节点中存放的下一个节点的地址,查找出目标节点。对于链表中的尾节点而言,由于不存在下一个节点,因此所述尾节点中存放的下一节点的地址为无效地址。
在一些实施例中,每个链表还对应一个链表标识,所述链表标识用于指示所述链表是否存在。例如链表标识vld-flag=1表示该链表已经存在,链表标识vld-flag=0,则表示该链表不存在。所述链表标识vld-flag可由图2中的触发器DFF2实现。
在一些实施例中,所述状态机包括用于处理查询请求的查询状态机、用于处理插入请求的插入状态机、用于处理无效请求的无效状态机、用于处理全部无效请求的全部无效状态机。根据仲裁结果的请求类型,将由相应类型的状态机处理该仲裁结果。
在一些实施例中,所述插入状态机在仲裁结果的请求类型为插入请求时,指示所述地址管理装置为待插入节点分配其在链表节点存储器中的地址,以将所述待插入节点写入所述分配的地址,设置所述待插入节点的头节点标识使其指示所述待插入节点为头节点,将所述分配的地址更新至所述链表头节点存储器,并根据所述链表标识确定所述待插入节点的尾节点标识、所述待插入节点中存放的下一节点的地址以及是否更新所述链表标识。
具体而言,插入状态机根据哈希转换器的处理结果确定目标链表头节点地址,并获取链表标识。若链表标识vld-flag=1,表示目标链表事先已经存在,此时要将插入请求对应的节点(待插入的节点)插入到该已经存在的链表的头部。具体地,对应的链表节点地址管理的缓冲单元从其第一缓冲区读取数据,作为该待插入的节点在链表节点存储器中的存储地址,并将该节点写入该地址。目标链表的原头节点成为新插入的节点的下一节点,因此需要将原头节点的地址写入该新插入的节点中,同时要将新插入的节点的地址写入对应的链表头节点存储器中。此外,要设置新插入的节点头节点标识head=1、尾节点标识tail=0,以表示该新插入的节点是头节点,但不是尾节点,同时要将该原头节点的头节点标识从head=1修改为head=0,表示该节点不再是头节点。
若链表标识vld-flag=0,表示目标链表不存在,需要新建链表。具体地,在将该新插入的节点写入链表节点地址管理的缓冲单元分配的地址后,将新插入的节点的地址写入对应的链表头节点存储器中,并将链表标识从vld-flag=0修改为vld-flag=1。同时,设置新插入的节点的头节点标识head=1、尾节点tail=1,表示该新插入的节点既是头节点,也是尾节点。由于新插入的节点是链表中唯一的节点,没有下一个节点,此时该新插入的节点中存放的下一节点的地址可以是一个无效地址。
在一些实施例中,所述状态机在所述仲裁结果的请求类型为无效请求时,指示所述地址管理装置回收待无效节点在链表节点存储器中的地址,并根据所述待无效节点在链表中的位置,选择性更新链表头节点存储器中存放的头节点的地址、所述链表标识、所述无效节点的前一节点中存放的下一节点的地址。
具体而言,无效状态机根据哈希转换器的处理结果确定目标链表头节点地址,并获取链表标识。若链表标识vld-flag=0,则通知请求方;若链表标识vld-flag=1,还需要根据目标链表头节点地址及各节点中存放的下一个节点的地址,依次将目标链表中的各节点的地址与无效请求中的虚拟地址进行比较,以确定与该虚拟地址匹配的节点,这一操作可由图2中的地址比较器实现。在查找到匹配的节点(即为待无效的节点)后,需要删除节点。具体地,无效状态机指示相应的链表节点地址管理的缓冲单元将该节点在链表节点存储器中的存储地址回收,并根据该节点在链表中的位置的不同,进行如下处理:
如果被无效的节点的头节点标识head=1、尾节点标识tail=0,指示该节点是头节点,但不是尾节点。在删除该节点后,该节点的下一个节点成为新的头节点。此时,需要将该新的头节点的存储地址写入对应的链表头节点存储器,同时需要将该新的头节点的头节点标识从head=0更新为head=1,以示其为头节点。这种情况下,链表依然存在,因此无需更新链表标识。
如果被无效的节点的头节点标识head=1、尾节点标识tail=1,指示该节点是头节点也是尾节点,即是链表中唯一的节点。在删除该节点后,链表也随之消失,此时直接将链表标识从vld-flag=1更新为vld-flag=0即可。
如是被无效的节点的头节点标识head=0、尾节点标识tail=1,指示该节点不是链表的头节点,是链表的尾节点。在删除该节点后,由于链表的头节点没有变化,因此无需更新链表头节点存储器中存储的头节点地址,也无需更新链表标识,此时将该节点的前一节点成为新的尾节点,因此需要将该新的尾节点的尾节点标识从tail=0更新为tail=1,且该新的尾节点中存储的下一节点的地址变为一无效地址。
如果被无效的节点的头节点标识head=0、尾节点标识tail=0,指示该节点既不是头节点,也不是尾节点,而是中间节点。在删除该节点后,由于链表的头节点没有变化,因此不需要更新链表头节点存储器中的头节点地址,也不需要更新链表标识,此时只需要将该节点的下一节点的地址写入该节点的前一节点中,从而将链表重新接上。
在一些实施例中,所述全部无效状态机在所述仲裁结果的请求类型为全部无效请求时,指示所述地址管理装置更新所有的链表标识使其指示对应的链表不存在。
具体而言,全部无效状态机根据哈希转换器的处理结果确定目标链表头节点地址,并获取所有链表的链表标识。在链表的链表标识vld-flag=1时,全部无效请求状态机指示触发器DDF2将所有的链表标识从vld-flag=1更新为vld-flag=0。
在一些实施例中,所述状态机在所述仲裁结果的请求类型为查询请求时,指示所述地址管理装置根据目标链表头节点的地址及每个节点中存放的下一节点的地址进行查找。
查询状态机根据哈希转换器的处理结果确定目标链表头节点地址,并获取链表标识。若链表标识vld-flag=0,则通知请求方;若链表标识vld-flag=1,还需要根据目标链表头节点地址及各节点中存放的下一个节点的地址,依次将目标链表中的各节点的地址与无效请求中的虚拟地址进行比较,以确定与该虚拟地址匹配的节点,这一操作可由图2中的地址比较器实现。在查找到匹配的节点(即为待无效的节点)后,查询状态机返回该节点给请求方。
本申请实施例所述的芯片包括上述实施例所述的地址管理装置。
请参阅图3,显示为本发明的地址管理方法于一实施例中的流程图。如图3所示,所述地址管理方法应用于地址管理装置,所述地址管理装置包括块表,所述块表包括:仲裁器、哈希转换器、状态机、多个链表头节点存储器,用于分别存放具有对应虚拟机标识的链表头节点的地址、链表节点存储器,用于存放各链表节点、以及多个链表节点地址管理的缓冲单元,用于分别管理具有对应虚拟机标识的链表节点的地址,具体包括以下几个步骤:
S31,通过仲裁器接收包含虚拟地址信息的查询请求、无效请求、全部无效请求或插入请求中的至少一种,生成仲裁结果。
在一些实施例中,所述虚拟地址信息包括虚拟机标识、进程标识以及虚拟地址。
所述哈希转换器对所述仲裁结果中的进程标识和虚拟地址进行哈希处理生成目标链表头节点的地址,同时根据所述仲裁结果中的虚拟机标识确定所述目标链表头节点的地址所存放的链表头节点存储器。
S32,通过哈希转换器根据接收的所述仲裁结果,生成目标链表头节点的地址。
S33,通过状态机根据所述仲裁结果的请求类型执行对应的查询操作、无效操作、全部无效操作或插入。
其中,多个所述链表头节点存储器,分别存放具有对应虚拟机标识的链表头节点的地址。
所述链表节点存储器存放各链表节点,每个链表由一个或多个链表节点串联形成,所述节点用于记录虚拟地址与物理地址的映射关系。
多个所述链表节点地址管理的缓冲单元,分别管理具有对应虚拟机标识的链表节点的地址。
在一些实施例中,每个链表对应一个链表标识,所述链表标识用于指示所述链表是否存在。
在一些实施例中,每个节点包括头节点标识、尾节点标识,所述头节点标识用于指示所述节点是否为头节点,所述尾节点标识用于指示所述节点是否为尾节点。
在一些实施例中,每个节点中还存放有下一节点的地址,其中所述尾节点中存放的下一节点的地址为无效地址。
在一些实施例中,通过状态机根据所述仲裁结果的请求类型执行对应的查询操作、无效操作、全部无效操作或插入操作包括:
在仲裁结果的请求类型为插入请求时,通过所述状态机指示所述地址管理装置为插入节点分配其在链表节点存储器中的地址,以将所述插入节点写入所述分配的地址,设置所述插入节点的头节点标识使其指示所述插入节点为头节点,将所述分配的地址更新至所述链表头节点存储器,并根据所述链表标识确定所述插入节点的尾节点标识、所述插入节点中存放的下一节点的地址以及是否更新所述链表标识;
在所述仲裁结果的请求类型为无效请求时,通过所述状态机指示所述地址管理装置回收无效节点在链表节点存储器中的地址,并根据所述无效节点在链表中的位置,选择性更新链表头节点存储器中存放的头节点的地址、所述链表标识、所述无效节点的前一节点中存放的下一节点的地址;
在所述仲裁结果的请求类型为全部无效请求时,通过所述状态机指示所述地址管理装置更新所有的链表标识使其指示对应的链表不存在;
在仲裁结果的请求类型为查询请求时,通过所述状态机指示所述地址管理装置根据目标链表头节点的地址及每个节点中存放的下一节点的地址进行查找。
本申请实施例所述的地址管理方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
本申请实施例的地址管理方法是与上述地址管理装置对应的方法实施例,上述地址管理装置中的相关细节也可应用于本申请实施例中,这里不再赘述。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (15)

1.一种地址管理装置,其特征在于,所述地址管理装置包括块表,所述块表包括:
仲裁器,用于接收包含虚拟地址信息的查询请求、无效请求、全部无效请求或插入请求中的至少一种,生成仲裁结果;
哈希转换器,用于根据接收的所述仲裁结果,生成目标链表头节点的地址;
状态机,用于根据所述仲裁结果的请求类型执行对应的查询操作、无效操作、全部无效操作或插入操作;
多个链表头节点存储器,分别用于存放具有对应虚拟机标识的链表头节点的地址;
链表节点存储器,用于存放各链表节点,所述节点用于记录虚拟地址与物理地址的映射关系;
多个链表节点地址管理的缓冲单元,分别用于管理具有对应虚拟机标识的链表节点的地址。
2.根据权利要求1所述的地址管理装置,其特征在于,所述链表节点地址管理的缓冲单元用于为待插入的节点分配地址,以及回收被无效的节点的地址。
3.根据权利要求2所述的地址管理装置,其特征在于,所述链表节点地址管理的缓冲单元还包括配置寄存器,用于配置具有对应虚拟机标识的链表中节点的数量。
4.根据权利要求1所述的地址管理装置,其特征在于,所述虚拟地址信息包括虚拟机标识、进程标识以及虚拟地址;
所述哈希转换器对所述仲裁结果中的进程标识和虚拟地址进行哈希处理生成目标链表头节点的地址,同时根据所述仲裁结果中的虚拟机标识确定所述目标链表头节点的地址所存放的链表头节点存储器。
5.根据权利要求1所述的地址管理装置,其特征在于,
每个节点包括头节点标识、尾节点标识,所述头节点标识用于指示所述节点是否为头节点,所述尾节点标识用于指示所述节点是否为尾节点。
6.根据权利要求5所述的地址管理装置,其特征在于,每个节点中还存放有下一节点的地址,其中所述尾节点中存放的下一节点的地址为无效地址。
7.根据权利要求6所述的地址管理装置,其特征在于,每个链表对应一个链表标识,所述链表标识用于指示所述链表是否存在。
8.根据权利要求7所述的地址管理装置,其特征在于,所述状态机包括:
插入状态机,用于在仲裁结果的请求类型为插入请求时,指示所述地址管理装置为插入节点分配其在链表节点存储器中的地址,以将所述插入节点写入所述分配的地址,设置所述插入节点的头节点标识使其指示所述插入节点为头节点,将所述分配的地址更新至所述链表头节点存储器,并根据所述链表标识确定所述插入节点的尾节点标识、所述插入节点中存放的下一节点的地址以及是否更新所述链表标识;
无效状态机,用于在仲裁结果的请求类型为无效请求时,指示所述地址管理装置回收无效节点在链表节点存储器中的地址,并根据所述无效节点在链表中的位置,选择性更新链表头节点存储器中存放的头节点的地址、所述链表标识、所述无效节点的前一节点中存放的下一节点的地址;
全部无效状态机,用于在仲裁结果的请求类型为全部无效请求时,指示所述地址管理装置更新所有的链表标识使其指示对应的链表不存在;
查询状态机,用于在仲裁结果的请求类型为查询请求时,指示所述地址管理装置根据目标链表头节点的地址及每个节点中存放的下一节点的地址进行查找。
9.一种芯片,其特征在于,所述芯片包括权利要求1至8任一项所述的地址管理装置。
10.一种地址管理方法,其特征在于,应用于地址管理装置,所述地址管理装置包括块表,所述块表包括:仲裁器、哈希转换器、状态机、多个链表头节点存储器,用于分别存放具有对应虚拟机标识的链表头节点的地址、链表节点存储器,用于存放各链表节点、以及多个链表节点地址管理的缓冲单元,用于分别管理具有对应虚拟机标识的链表节点的地址,所述方法包括:
通过仲裁器接收包含虚拟地址信息的查询请求、无效请求、全部无效请求或插入请求中的至少一种,生成仲裁结果;
通过哈希转换器根据接收的所述仲裁结果,生成目标链表头节点的地址;
通过状态机根据所述仲裁结果的请求类型执行对应的查询操作、无效操作、全部无效操作或插入操作。
11.根据权利要求10所述的地址管理方法,其特征在于,所述虚拟地址信息包括虚拟机标识、进程标识以及虚拟地址;
通过所述哈希转换器根据接收的所述仲裁结果,生成目标链表头节点的地址包括:
所述哈希转换器对所述仲裁结果中的进程标识和虚拟地址进行哈希处理生成目标链表头节点的地址,同时根据所述仲裁结果中的虚拟机标识确定所述目标链表头节点的地址所存放的链表头节点存储器。
12.根据权利要求10所述的地址管理方法,其特征在于,每个链表对应一个链表标识,所述链表标识用于指示所述链表是否存在。
13.根据权利要求12所述的地址管理方法,其特征在于,每个节点包括头节点标识、尾节点标识,所述头节点标识用于指示所述节点是否为头节点,所述尾节点标识用于指示所述节点是否为尾节点。
14.根据权利要求13所述的地址管理方法,其特征在于,每个节点中还存放有下一节点的地址,其中所述尾节点中存放的下一节点的地址为无效地址。
15.根据权利要求14所述的地址管理方法,其特征在于,通过状态机根据所述仲裁结果的请求类型执行对应的查询操作、无效操作、全部无效操作或插入操作包括:
在仲裁结果的请求类型为插入请求时,通过所述状态机指示所述地址管理装置为插入节点分配其在链表节点存储器中的地址,以将所述插入节点写入所述分配的地址,设置所述插入节点的头节点标识使其指示所述插入节点为头节点,将所述分配的地址更新至所述链表头节点存储器,并根据所述链表标识确定所述插入节点的尾节点标识、所述插入节点中存放的下一节点的地址以及是否更新所述链表标识;
在所述仲裁结果的请求类型为无效请求时,通过所述状态机指示所述地址管理装置回收无效节点在链表节点存储器中的地址,并根据所述无效节点在链表中的位置,选择性更新链表头节点存储器中存放的头节点的地址、所述链表标识、所述无效节点的前一节点中存放的下一节点的地址;
在所述仲裁结果的请求类型为全部无效请求时,通过所述状态机指示所述地址管理装置更新所有的链表标识使其指示对应的链表不存在;
在仲裁结果的请求类型为查询请求时,通过所述状态机指示所述地址管理装置根据目标链表头节点的地址及每个节点中存放的下一节点的地址进行查找。
CN202211085813.6A 2022-09-06 2022-09-06 地址管理装置、芯片及地址管理方法 Pending CN117714417A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211085813.6A CN117714417A (zh) 2022-09-06 2022-09-06 地址管理装置、芯片及地址管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211085813.6A CN117714417A (zh) 2022-09-06 2022-09-06 地址管理装置、芯片及地址管理方法

Publications (1)

Publication Number Publication Date
CN117714417A true CN117714417A (zh) 2024-03-15

Family

ID=90146691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211085813.6A Pending CN117714417A (zh) 2022-09-06 2022-09-06 地址管理装置、芯片及地址管理方法

Country Status (1)

Country Link
CN (1) CN117714417A (zh)

Similar Documents

Publication Publication Date Title
US7249152B2 (en) Dynamic disk space management by multiple database server instances in a cluster configuration
US10795826B2 (en) Translation lookaside buffer management method and multi-core processor
CN111694770B (zh) 一种处理io请求的方法及装置
CN110555001B (zh) 数据处理方法、装置、终端及介质
JP5505516B2 (ja) 情報処理システムおよび情報送信方法
CN110427386B (zh) 数据处理方法、装置及计算机存储介质
CN112241325B (zh) 一种基于内存池的超大规模集成电路数据库和设计方法
CN112955876B (zh) 用于在数据处理网络中传输数据的方法和装置
CN107992270B (zh) 一种多控存储系统全局共享缓存的方法及装置
KR100622114B1 (ko) 임베디드 시스템에서의 효율적인 동적 메모리 관리방법 및그 시스템
CN115080277A (zh) 一种多核系统的核间通信系统
CN116266101A (zh) 一种分布式对象存储系统处理方法及装置、存储介质
US11474938B2 (en) Data storage system with multiple-size object allocator for disk cache
CN111475099A (zh) 一种数据存储方法、装置及其设备
CN109522242A (zh) 一种搜索Cache数据的方法和装置
US9158682B2 (en) Cache memory garbage collector
CN116661690A (zh) 记录内存状态的方法、装置、计算机设备及存储介质
CN117714417A (zh) 地址管理装置、芯片及地址管理方法
JP2006164218A (ja) ストレージシステム及びそのキャッシュ制御方法
US11875152B2 (en) Methods and systems for optimizing file system usage
US7000089B2 (en) Address assignment to transaction for serialization
CN117093160B (zh) Cache的数据处理方法、装置、计算机设备和介质
CN109165172A (zh) 缓存数据处理方法及相关设备
CN113468181B (zh) 基于fpga的并行哈希连接加速方法及系统
WO2024061344A1 (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