CN104951406B - 一种分页式地址空间管理方法以及控制器 - Google Patents
一种分页式地址空间管理方法以及控制器 Download PDFInfo
- Publication number
- CN104951406B CN104951406B CN201510324059.0A CN201510324059A CN104951406B CN 104951406 B CN104951406 B CN 104951406B CN 201510324059 A CN201510324059 A CN 201510324059A CN 104951406 B CN104951406 B CN 104951406B
- Authority
- CN
- China
- Prior art keywords
- address
- paging
- address space
- space
- controller
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Abstract
本发明实施例公开了一种分页式地址空间管理方法以及控制器,所述分页式地址空间管理方法包括:确定地址分页,确定目标外设地址空间,确定满足第一预设条件的所述地址分页为第一目标地址分页,建立各所述第一目标地址分页与所述目标外设地址空间的映射关系。本实施例能够根据外部设备的目标外设地址空间的大小确定满足所述第一预设条件的所述第一目标地址分页,而且所述映射关系建立的是所述第一目标地址分页的地址空间和外部设备能够被存取的有效的目标外设地址空间之间的对应关系,从而避免了将外部设备中不能被所述控制器存取的地址空间映射到所述控制器上所带来的地址资源的浪费。
Description
技术领域
本发明涉及计算机系统,尤其涉及的是一种分页式地址空间管理方法以及控制器。
背景技术
参见图1所示对现有技术所提供的计算机系统的结构进行说明,如图1所示,计算机系统包括但不限于设置有处理器100、控制器101以及存储器102,所述存储器102是计算机系统的基本单元,计算机系统需要从所述存储器102移动资料或将资料写入所述存储器102,外部设备103用于计算机系统与外部进行通信或者补充计算机系统的额外功能,所述控制器101则是用于连接处理器100和所述外部设备103,且所述控制器101还提供了所述存储器102的存储方法,以使所述控制器101能够帮助所述处理器100以及所述外部设备103去存取所述存储器102;
参见图2所示,现有技术中,所述控制器101的地址空间会分成多个独立存储的存储单元,所述控制器101预先确定各所述存储单元与各外部设备103的存储器地址映射关系,即控制器101预先确定了存储器地址映射关系,该存储器地址映射关系包括各存储单元与各外部设备的一一对应的关系,如图2所示为例,即所述地址映射关系包括了存储单元1与外部设备1的映射关系,存储单元2与外部设备2的映射关系等,各个所述存储单元有固定的起始地址和结束地址,所述控制器101可根据各存储单元的地址范围选择合适的外部设备用于建立所述存储器地址映射关系,因控制器101已确定所述存储器地址映射关系,则使得所述控制器101能够直接读写外部设备103的存储器,以使读取过程中不会产生额外的软件开销;
现有技术的弊端在于,各所述存储单元的地址范围大小是固定的,且一旦某个存储单元分配一个外部设备103时,即便该外部设备103不能用完存储单元的地址资源,但是该存储单元的剩余的地址无法被使用,从而造成了控制器101地址资源的浪费;而且若某个外部设备103的地址空间大于与该外部设备103对应的存储单元的地址空间时,则控制器101无法成功挂接该外部设备103。
发明内容
本发明实施例提供了一种分页式地址空间管理方法以及控制器,能够有效的节省控制器的地址资源,避免控制器地址资源的浪费;
本发明实施例第一方面提供了一种分页式地址空间管理方法,包括:
确定地址分页,所述地址分页由控制器的地址空间进行划分以形成;
确定目标外设地址空间,所述目标外设地址空间为外部设备请求当前与所述地址空间建立映射关系的外设地址空间,所述地址空间用于对已映射到所述地址空间上的所述目标外设地址空间进行存取;
确定满足第一预设条件的所述地址分页为第一目标地址分页,所述第一预设条件为所有所述第一目标地址分页的地址空间的和大于或等于所述目标外设地址空间;
建立各所述第一目标地址分页与所述目标外设地址空间的映射关系,所述映射关系用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上。
结合本发明实施例第一方面,本发明实施例第一方面的第一种实现方式中,
所述确定地址分页之前,所述方法还包括:
划分所述地址空间以形成多个所述地址分页,所有所述地址分页的地址空间的和等于所述地址空间,且各所述地址分页的地址空间为2的幂次方。
结合本发明实施例第一方面或本发明实施例第一方面的第一种实现方式,本发明实施例第一方面的第二种实现方式中,
确定空闲地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
所述确定目标外设地址空间之后,所述方法还包括:
若确定所有所述空闲地址分页的地址空间的和大于所述目标外设地址空间,则所述确定满足第一预设条件的所述地址分页为第一目标地址分页包括:
在所有所述空闲地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
结合本发明实施例第一方面或本发明实施例第一方面的第一种实现方式,本发明实施例第一方面的第三种实现方式中,
所述确定地址分页之后,所述方法还包括:
确定空闲地址分页和已占用地址分页,所述已占用地址分页为已与外部设备的外设地址空间建立映射关系的地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
所述确定目标外设地址空间之后,所述方法还包括:
若确定所有所述空闲地址分页的地址空间的和小于所述目标外设地址空间,则所述方法还包括:
在所有所述已占用地址分页中确定满足第二预设条件的第二目标地址分页,所述第二预设条件为所述已占用地址分页中存取频率小于预设值的地址分页;
解除所述第二目标地址分页已建立的与外设地址空间的映射关系;
所述确定满足第一预设条件的所述地址分页为第一目标地址分页包括:
在所有所述空闲地址分页中以及所述第二目标地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
结合本发明实施例第一方面的实现方式,本发明实施例第一方面的第四种实现方式中,
所述建立各所述第一目标地址分页与所述目标外设地址空间的映射关系之后,所述方法还包括:
将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上;
确定各所述第一目标地址分页的虚拟地址;
将各所述第一目标地址分页的虚拟地址进行重排以形成连续的虚拟地址段。
本发明实施例第二方面提供了一种控制器,包括:
第一确定单元,用于确定地址分页,所述地址分页由控制器的地址空间进行划分以形成;
第二确定单元,用于确定目标外设地址空间,所述目标外设地址空间为外部设备请求当前与所述地址空间建立映射关系的外设地址空间,所述地址空间用于对已映射到所述地址空间上的所述目标外设地址空间进行存取;
第三确定单元,用于确定满足第一预设条件的所述地址分页为第一目标地址分页,所述第一预设条件为所有所述第一目标地址分页的地址空间的和大于或等于所述目标外设地址空间;
建立单元,用于建立各所述第一目标地址分页与所述目标外设地址空间的映射关系,所述映射关系用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上。
结合本发明实施例第二方面,本发明实施例第二方面的第一种实现方式中,
划分单元,用于划分所述地址空间以形成多个所述地址分页,所有所述地址分页的地址空间的和等于所述地址空间,且各所述地址分页的地址空间为2的幂次方。
结合本发明实施例第二方面或本发明实施例第二方面的第一种实现方式,本发明实施例第二方面的第二种实现方式中,
第四确定单元,用于确定空闲地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
所述第三确定单元还用于,若确定所有所述空闲地址分页的地址空间的和大于所述目标外设地址空间,则在所有所述空闲地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
结合本发明实施例第二方面或本发明实施例第二方面的第一种实现方式,本发明实施例第二方面的第三种实现方式中,
第五确定单元,用于确定空闲地址分页和已占用地址分页,所述已占用地址分页为已与外部设备的外设地址空间建立映射关系的地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
第六确定单元,用于若确定所有所述空闲地址分页的地址空间的和小于所述目标外设地址空间,则在所有所述已占用地址分页中确定满足第二预设条件的第二目标地址分页,所述第二预设条件为所述已占用地址分页中存取频率小于预设值的地址分页;
第七确定单元,用于解除所述第二目标地址分页已建立的与外设地址空间的映射关系;
所述第三确定单元还用于,在所有所述空闲地址分页中以及所述第二目标地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
结合本发明实施例第二方面的第一种实现方式,本发明实施例第二方面的第三种实现方式中,还包括:
第八确定单元,用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上;
第九确定单元,用于确定各所述第一目标地址分页的虚拟地址;
第十确定单元,用于将各所述第一目标地址分页的虚拟地址进行重排以形成连续的虚拟地址段。
本发明实施例公开了一种分页式地址空间管理方法以及控制器,所述分页式地址空间管理方法包括:确定地址分页,确定目标外设地址空间,确定满足第一预设条件的所述地址分页为第一目标地址分页,所述第一预设条件为所有所述第一目标地址分页的地址空间的和大于或等于所述目标外设地址空间,建立各所述第一目标地址分页与所述目标外设地址空间的映射关系。本实施例能够根据外部设备的目标外设地址空间的大小确定满足所述第一预设条件的所述第一目标地址分页,而且所述映射关系建立的是所述第一目标地址分页的地址空间和外部设备能够被存取的有效的目标外设地址空间之间的对应关系,从而避免了将外部设备中不能被所述控制器存取的地址空间映射到所述控制器上所带来的地址资源的浪费,有效的保障了控制器的地址资源的合理配置,节省了控制器的地址资源。
附图说明
图1为现有技术所示的计算机系统的结构示意图;
图2为现有技术所示的控制器的结构示意图;
图3为本发明实施例所提供的分页式地址空间管理方法的一种较佳实施例步骤流程图;
图4为本发明实施例所提供的片上系统的硬件结构示意图;
图5为本发明实施例所提供的分页式地址空间管理方法的另一种较佳实施例步骤流程图;
图6为外部设备的地址空间示例图;
图7为本发明实施例所提供的各所述第一目标地址分页与所述目标外设地址空间的映射关系一种示意图;
图8为本发明实施例所提供的各所述第一目标地址分页与所述目标外设地址空间的映射关系另一种示意图;
图9为本发明实施例所提供的连续的虚拟地址段的一种示意图;
图10为本发明实施例所提供的分页式地址空间管理方法的另一种较佳实施例步骤流程图;
图11为本发明实施例所提供的控制器的一种实施例结构示意图;
图12为本发明实施例所提供的控制器的另一种实施例结构示意图;
图13为本发明实施例所提供的控制器的另一种实施例结构示意图;
图14为本发明实施例所提供的控制器的另一种实施例结构示意图。
具体实施方式
本发明实施例提供一种分页式地址空间管理方法,以下结合图3所示对本实施例所提供的一种分页式地址空间管理方法进行详细说明:
301、确定地址分页;
计算机系统的控制器确定所述控制器的地址空间,所述地址分页由所述地址空间进行划分以形成,以使所有已确定的地址分页的地址空间的和等于所述地址空间;
本实施例对已确定的所述地址分页的数量不做限定,且对各所述地址分页的地址空间的大小不做限定,只要能够将所述地址空间划分成所述地址分页的即可。
302、确定目标外设地址空间;
所述目标外设地址空间为外部设备请求当前与所述地址空间建立映射关系的外设地址空间;
所述地址空间用于对已映射到所述地址空间上的所述目标外设地址空间进行存取;
具体的,即当某一外部设备接入计算机系统时,控制器即可确定当前接入的外部设备的目标外设地址空间,从而使得所述控制器能够建立所述控制器与所述目标外设地址空间的映射关系,进而根据该映射关系能够对该目标外设地址空间进行对应的存取动作;
更具体的,本实施例所示的所述目标外设地址空间为所述外部设备的有效存储空间,即外部设备的总地址空间中,一部分地址空间是不能被所述控制器存取的,例如外部设备设置的保留区等;另一部分是能够被所述控制器存取的,本实施例中将所述控制器能够进行存取的外部设备的地址空间统一称之为外设地址空间。
303、确定满足第一预设条件的所述地址分页为第一目标地址分页;
所述控制器预先设置有所述第一预设条件;
所述第一预设条件为所有所述第一目标地址分页的地址空间的和大于或等于所述目标外设地址空间;
本实施例对所述控制器具体设置所述第一预设条件的时序不做限定。
304、建立各所述第一目标地址分页与所述目标外设地址空间的映射关系。
所述控制器建立各所述第一目标地址分页与所述目标外设地址空间的映射关系,所述映射关系用于所述控制器将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上。
所述控制器能够将根据所述映射关系映射到所述第一目标地址分页的地址空间上所述目标外设地址空间的物理地址映射成虚拟地址,以使处理器能够进行读取。
本实施例中对所确定的各所述第一目标地址分页的地址空间的大小不做限定,只要所有所述第一目标地址分页的地址空间的和大于或等于所述目标外设地址空间即可,例如,所确定的所有所述第一目标地址分页的地址空间的大小可全部相同,也可全部不同,还可一部分相同等。
本实施例所示的分页式地址空间管理方法能够将控制器的地址空间确定成地址分页,从而使得所述控制器能够根据外部设备的目标外设地址空间的大小确定满足所述第一预设条件的所述第一目标地址分页,而且本实施例中所述映射关系建立的是所述第一目标地址分页的地址空间和外部设备能够被控制器存取的有效的目标外设地址空间之间的对应关系,从而避免了将外部设备中不能被所述控制器存取的地址空间映射到所述控制器上所带来的地址资源的浪费,即本实施例中,映射到控制器地址空间上的所述目标外设地址空间均能够被所述控制器进行存取,有效的保障了控制器的地址资源的合理配置,节省了控制器的地址资源。
以下结合具体应用场景对本发明实施例所提供的分页式地址空间管理方法进行详细说明,以下以所述具体应用场景为片上系统为例进行说明,需明确的是,本发明实施例所提供的分页式地址空间管理方法还可应用至其他计算机系统,以下所示仅仅为举例进行说明,不做限定;
首先结合图4所示对本实施例所应用的片上系统的结构进行说明;
由图4所示,控制器的作用是将来自片上系统内部总线的、对外部设备进行访问的命令转换为外部设备能“理解”的指令。
典型外设总线,如,PCI/PCI-E总线,Rapid IO总线等,外设总线具体说明请详见现有技术所示,具体在本实施例中不做限定。
所述控制器可以拆分为两部分,一是桥接器,二是物理线序控制器。
所述桥接器负责对接片上系统内部总线;
物理线序控制器负责对接具体外部设备的控制线序。
以下结合图4和图5所示对所述分页式地址空间管理方法进行详细说明:
501、划分所述地址空间以形成多个所述地址分页;
具体的,所述控制器的所述桥接器将所述控制器的地址空间进行划分以形成多个所述地址分页;
所有所述地址分页的地址空间的和等于所述地址空间;
较佳的,本实施例中各所述地址分页的地址空间为2的幂次方。
本实施例中,对各所述地址分页的地址空间的大小不做限定,只要各所述地址分页的地址空间为2的幂次方即可。
502、确定地址分页;
本实施例步骤502的具体实现过程请详见图3所示的步骤301,具体在本实施例中不做赘述。
503、确定空闲地址分页;
其中,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
所述空闲地址分页为未被占用的地址分页。
504、确定目标外设地址空间;
如图4所示,本实施例中当前接入所述片上系统的外部设备的总空间为150MB,而能够被控制器所存取的目标外设地址空间为136MB;
则当该外部设备接入所述片上系统时,所述控制器即可确定目标外设地址空间为136MB;
较佳的,在确定所述目标外设地址空间时,本实施例所采用的方式可为:
当所述外部设备接入所述片上系统时,所述片上系统对该外部设备进行自检;
常用的自检算法有简单自检法、九步法和棋盘跨步法,具体自检实现方式请详见现有技术所示,具体在本实施例中不做赘述。
在自检过程中,若所述片上系统确定外部设备的外设地址空间内有保留区,则跳过该保留区,以确定所述外部设备中的所述目标外设地址空间;
本实施例中接入片上系统的外部设备的外设地址空间可见图6所示;外部设备的外设地址空间的范围时从图6所示的起始地址到结束地址;
其中外设地址空间中设置有多个不进行映射的保留区,这些保留区将图6所示的外设地址空间划分成大小不同的5段(段1、段2、段3、段4以及段5);
具体的,段1、段2、段3、段4以及段5为本实施例中所述的目标外设地址空间,即片上系统的控制器能够对段1、段2、段3、段4以及段5进行存取的动作;
更具体的,如图6所示,段1为32MB、段2为16MB、段3为8MB,段4为48MB,段5为32MB;
片上系统即可确定所述目标外设地址空间为136MB。
需明确的是,本实施例以所述目标外设地址空间分段设置为例进行举例说明,不做限定,当然,已确定的所述目标外设地址空间也可不分段而是整段设置的;
本实施例通过片上系统对所述外部设备进行自检以确定所述目标外设地址空间为举例进行说明,不做限定,只要能够使得片上系统的控制器能够确定所述目标外设地址空间即可。
505、确定所有所述空闲地址分页的地址空间的和大于所述目标外设地址空间;
本实施例中以所有所述空闲地址分页的地址空间的和大于所述目标外设地址空间为例进行说明。
506、在所有所述空闲地址分页中确定满足所述第一预设条件的所述第一目标地址分页;
即当所有所述空闲地址分页的地址空间的和大于所述目标外设地址空间时,所述控制器在所述空闲地址分页中选定所述第一目标地址分页即可;
在所述空闲地址分页中选定所述第一目标地址分页的地址空间的和大于或等于所述目标外设地址空间。
507、建立各所述第一目标地址分页与所述目标外设地址空间的映射关系;
本实施例中,所述映射关系可参见图7所示,需明确的是本实施例以图7所示为例对所述映射关系进行举例说明,不做限定;
具体的,如图7所示,对于小于16MB的分段(段3),选取一份或多份4MB的第一目标地址分页来映射,即本实施例中将段3与两份4MB的第一目标地址分页建立映射关系;
对于大于等于16MB的分段(段1、段2、段4以及段5),选取一份或多份16MB的第一目标地址分页来映射,即本实施例中将段1与两份16MB的第一目标地址分页建立映射关系,将段2与一份16MB的第一目标地址分页建立映射关系,将段4与三份16MB的第一目标地址分页建立映射关系,将段5与二份16MB的第一目标地址分页建立映射关系;
需明确的是,本实施例所示的具体的映射关系的建立方式为举例进行说明,不做限定,只要所有所述第一目标地址分页的地址空间的和大于或等于所述目标外设地址空间即可;
且本实施例中与一段目标外设地址空间对应的第一目标地址分页的地址空间大小相同仅仅为举例进行说明,不做限定,在具体应用中,与一段目标外设地址空间对应的各第一目标地址分页的地址空间大小可均不相同或部分相同,具体不做限定。
508、将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上;
所述控制器将所述目标外设地址空间根据所述映射关系可映射到所述第一目标地址分页的地址空间上,即通过该映射关系将外部设备的目标外设地址空间的物理地址映射成可被处理器读取的虚拟地址;
即如图8所示,所述控制器能够将外部设备的目标外设地址空间的物理地址建立与所述各第一目标地址分页的映射关系,从而使得处理器能够通过读取该映射关系读取所述外部设备的目标外设地址空间。
509、确定各所述第一目标地址分页的虚拟地址;
本实施例中控制器能够确定各所述第一目标地址分页的虚拟地址。
510、将各所述第一目标地址分页的虚拟地址进行重排以形成连续的虚拟地址段;
控制器将各所述第一目标地址分页的虚拟地址进行重排以形成图9所示的虚拟地址段,本实施例中,对各所述第一目标地址分页的虚拟地址具体根据何种排序规律以形成所述虚拟地址段的不做限定,可由所述控制器根据所述外部设备业务的不同而选定较佳的排序规律,只要重排后所形成的所述虚拟地址段是连续的地址段,从而使得处理器感知到的虚拟地址段是连续的即可。
需明确的是,本实施例中步骤509至步骤510为可选定的步骤,即在实际应用中,可通过步骤509至步骤510对各第一目标地址分页进行重排,也可不对各第一目标地址分页进行重排,具体可根据实际需要进行确定,例如当与所述目标外设地址空间对应的第一目标地址分页之间本身就是连续的,则无需对各第一目标地址分页进行重排。
本实施例所提供的分页式地址空间管理方法能够避免将外部设备中不能被所述控制器存取的地址空间映射到所述控制器上所带来的地址资源的浪费,且所选定的所述第一目标地址分页的地址空间的大小可与所述目标外设地址空间相匹配,有效的节省了控制器的地址资源。本实施例中,所述控制器还能够对各第一目标地址分页进行重排以形成连续的虚拟地址段,降低对非连续的虚拟地址段进行访问时对系统所造成的负担。
以下结合图10所示对本发明实施例提供的能够降低系统逻辑资源的分页式地址空间管理方法进行详细说明:
1001、划分所述地址空间以形成多个所述地址分页;
1002、确定地址分页;
本实施例中的步骤1001和步骤1002具体请详见图5所示的步骤501至步骤502,具体在本实施例中不做赘述。
1003、确定空闲地址分页和已占用地址分页;
所述已占用地址分页为已与外部设备的外设地址空间建立映射关系的地址分页,即所述已占用地址分页为已被其他外部设备所占用,处理器不能够通过读取该已占用地址分页确定当前接入系统的外部设备的目标外设地址空间的物理地址;
所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
1004、确定目标外设地址空间;
本实施例中的步骤1004具体请详见图5所示的步骤504。
1005、确定所有所述空闲地址分页的地址空间的和小于所述目标外设地址空间;
所述控制器确定其所述空闲地址分页的地址空间的和小于所述目标外设地址空间,则进行步骤1006;
1006、在所有所述已占用地址分页中确定满足第二预设条件的第二目标地址分页;
其中,所述第二预设条件为所述已占用地址分页中存取频率小于预设值的地址分页;
即当所有所述空闲地址分页的地址空间的和小于所述目标外设地址空间时,所述控制器对所有已占用地址分页的地址空间的存取频率进行统计,以确定所述已占用地址分页中存取频率小于预设值的地址分页。
1007、解除所述第二目标地址分页已建立的与外设地址空间的映射关系;
1008、在所有所述空闲地址分页中以及所述第二目标地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
所述控制器将存取频率小于预设值的所述第二目标地址分页用于建立所述映射关系,从而使得所述控制器的逻辑资源能够良好的被利用,避免所述控制器的逻辑资源的闲置。
1009、建立各所述第一目标地址分页与所述目标外设地址空间的映射关系;
1010、将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上;
1011、确定各所述第一目标地址分页的虚拟地址;
1012、将各所述第一目标地址分页的虚拟地址进行重排以形成连续的虚拟地址段。
本实施例中的步骤1009至步骤1012的具体实现过程请详见图5所示的步骤507至步骤510,具体在本实施例中不做赘述。
本实施例所提供的控制器能够避免将外部设备中不能被所述控制器存取的地址空间映射到所述控制器上所带来的地址资源的浪费,且所选定的所述第一目标地址分页的地址空间的大小可与所述目标外设地址空间相匹配,有效的节省了控制器的地址资源。本实施例中,所述控制器还能够对各第一目标地址分页进行重排以形成连续的虚拟地址段,降低对非连续的虚拟地址段进行访问时对系统所造成的负担,而且因所述控制器将存取频率小于预设值的所述第二目标地址分页用于建立所述映射关系,从而使得所述控制器的逻辑资源能够良好的被利用,避免所述控制器的逻辑资源的闲置。
以下结合图11所示对所述控制器的具体结构进行详细说明:
如图11所示,所述控制器包括:
第一确定单元1101,用于确定地址分页,所述地址分页由控制器的地址空间进行划分以形成;
第二确定单元1102,用于确定目标外设地址空间,所述目标外设地址空间为外部设备请求当前与所述地址空间建立映射关系的外设地址空间,所述地址空间用于对已映射到所述地址空间上的所述目标外设地址空间进行存取;
第三确定单元1103,用于确定满足第一预设条件的所述地址分页为第一目标地址分页,所述第一预设条件为所有所述第一目标地址分页的地址空间的和大于或等于所述目标外设地址空间;
建立单元1104,用于建立各所述第一目标地址分页与所述目标外设地址空间的映射关系,所述映射关系用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上。
本实施例所示的控制器能够将控制器的地址空间确定成地址分页,从而使得所述控制器能够根据外部设备的目标外设地址空间的大小确定满足所述第一预设条件的所述第一目标地址分页,而且本实施例中所述映射关系建立的是所述第一目标地址分页的地址空间和外部设备能够被控制器存取的有效的目标外设地址空间之间的对应关系,从而避免了将外部设备中不能被所述控制器存取的地址空间映射到所述控制器上所带来的地址资源的浪费,即本实施例中,映射到控制器地址空间上的所述目标外设地址空间均能够被所述控制器进行存取,有效的保障了控制器的地址资源的合理配置,节省了控制器的地址资源。
以下结合图12所示对能够节省地址资源的控制器的具体结构进行详细说明:
所述控制器包括:
划分单元1201,用于划分所述地址空间以形成多个所述地址分页,所有所述地址分页的地址空间的和等于所述地址空间,且各所述地址分页的地址空间为2的幂次方;
第一确定单元1202,用于确定地址分页,所述地址分页由控制器的地址空间进行划分以形成;
第二确定单元1203,用于确定目标外设地址空间,所述目标外设地址空间为外部设备请求当前与所述地址空间建立映射关系的外设地址空间,所述地址空间用于对已映射到所述地址空间上的所述目标外设地址空间进行存取;
第四确定单元1204,用于确定空闲地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
第三确定单元1205,用于若确定所有所述空闲地址分页的地址空间的和大于所述目标外设地址空间,则在所有所述空闲地址分页中确定满足所述第一预设条件的所述第一目标地址分页;
建立单元1206,用于建立各所述第一目标地址分页与所述目标外设地址空间的映射关系,所述映射关系用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上;
第八确定单元1207,用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上;
第九确定单元1208,用于确定各所述第一目标地址分页的虚拟地址;
第十确定单元1209,用于将各所述第一目标地址分页的虚拟地址进行重排以形成连续的虚拟地址段。
本实施例所提供的控制器能够避免将外部设备中不能被所述控制器存取的地址空间映射到所述控制器上所带来的地址资源的浪费,且所选定的所述第一目标地址分页的地址空间的大小可与所述目标外设地址空间相匹配,有效的节省了控制器的地址资源。本实施例中,所述控制器还能够对各第一目标地址分页进行重排以形成连续的虚拟地址段,降低对非连续的虚拟地址段进行访问时对系统所造成的负担。
以下结合图13所示对避免逻辑资源的闲置的控制器的具体结构进行详细说明:
所述控制器包括:
划分单元1301,用于划分所述地址空间以形成多个所述地址分页,所有所述地址分页的地址空间的和等于所述地址空间,且各所述地址分页的地址空间为2的幂次方;
第一确定单元1302,用于确定地址分页,所述地址分页由控制器的地址空间进行划分以形成;
第二确定单元1303,用于确定目标外设地址空间,所述目标外设地址空间为外部设备请求当前与所述地址空间建立映射关系的外设地址空间,所述地址空间用于对已映射到所述地址空间上的所述目标外设地址空间进行存取;
第五确定单元1304,用于确定空闲地址分页和已占用地址分页,所述已占用地址分页为已与外部设备的外设地址空间建立映射关系的地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
第六确定单元1305,用于若确定所有所述空闲地址分页的地址空间的和小于所述目标外设地址空间,则在所有所述已占用地址分页中确定满足第二预设条件的第二目标地址分页,所述第二预设条件为所述已占用地址分页中存取频率小于预设值的地址分页;
第七确定单元1306,用于解除所述第二目标地址分页已建立的与外设地址空间的映射关系;
第三确定单元1307,用于在所有所述空闲地址分页中以及所述第二目标地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
建立单元1308,用于建立各所述第一目标地址分页与所述目标外设地址空间的映射关系,所述映射关系用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上。
第八确定单元1309,用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上;
第九确定单元1310,用于确定各所述第一目标地址分页的虚拟地址;
第十确定单元1311,用于将各所述第一目标地址分页的虚拟地址进行重排以形成连续的虚拟地址段。
本实施例所提供的控制器能够避免将外部设备中不能被所述控制器存取的地址空间映射到所述控制器上所带来的地址资源的浪费,且所选定的所述第一目标地址分页的地址空间的大小可与所述目标外设地址空间相匹配,有效的节省了控制器的地址资源。本实施例中,所述控制器还能够对各第一目标地址分页进行重排以形成连续的虚拟地址段,降低对非连续的虚拟地址段进行访问时对系统所造成的负担,而且因所述控制器将存取频率小于预设值的所述第二目标地址分页用于建立所述映射关系,从而使得所述控制器的逻辑资源能够良好的被利用,避免所述控制器的逻辑资源的闲置。
以上图11至图13从功能模块的角度对所述控制器的具体结构进行详细说明,以下结合图14所示从实体角度对所述控制器的具体结构进行详细说明:
如图14所示,所述控制器140包括桥接器1401和物理线序控制器1402;
所述桥接器1401负责对接计算机系统的内部总线;
所述物理线序控制器1402用于对接具体外部设备的控制线序;
具体的,所述桥接器1401用于确定地址分页,所述地址分页由控制器的地址空间进行划分以形成;
确定目标外设地址空间,所述目标外设地址空间为外部设备请求当前与所述地址空间建立映射关系的外设地址空间,所述地址空间用于对已映射到所述地址空间上的所述目标外设地址空间进行存取;
确定满足第一预设条件的所述地址分页为第一目标地址分页,所述第一预设条件为所有所述第一目标地址分页的地址空间的和大于或等于所述目标外设地址空间;
建立各所述第一目标地址分页与所述目标外设地址空间的映射关系,所述映射关系用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上。
更具体的,所述桥接器1401还用于:
划分所述地址空间以形成多个所述地址分页,所有所述地址分页的地址空间的和等于所述地址空间,且各所述地址分页的地址空间为2的幂次方。
更具体的,所述桥接器1401还用于:
确定空闲地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
若确定所有所述空闲地址分页的地址空间的和大于所述目标外设地址空间,则在所有所述空闲地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
更具体的,所述桥接器1401还用于:
确定空闲地址分页和已占用地址分页,所述已占用地址分页为已与外部设备的外设地址空间建立映射关系的地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
若确定所有所述空闲地址分页的地址空间的和小于所述目标外设地址空间,则在所有所述已占用地址分页中确定满足第二预设条件的第二目标地址分页,所述第二预设条件为所述已占用地址分页中存取频率小于预设值的地址分页;
解除所述第二目标地址分页已建立的与外设地址空间的映射关系;
在所有所述空闲地址分页中以及所述第二目标地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
更具体的,所述桥接器1401还用于:
将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上;
确定各所述第一目标地址分页的虚拟地址;
将各所述第一目标地址分页的虚拟地址进行重排以形成连续的虚拟地址段。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种分页式地址空间管理方法,其特征在于,包括:
确定地址分页,所述地址分页由控制器的地址空间进行划分以形成;
确定目标外设地址空间,所述目标外设地址空间为外部设备请求当前与所述控制器的地址空间建立映射关系的外设地址空间,所述控制器的地址空间用于对已映射到所述控制器的地址空间上的所述目标外设地址空间进行存取;
确定满足第一预设条件的所述地址分页为第一目标地址分页,所述第一预设条件为所有所述第一目标地址分页的地址空间的和大于或等于所述目标外设地址空间;
建立各所述第一目标地址分页与所述目标外设地址空间的映射关系,所述映射关系用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上。
2.根据权利要求1所述的分页式地址空间管理方法,其特征在于,所述确定地址分页之前,所述方法还包括:
划分所述控制器的地址空间以形成多个所述地址分页,所有所述地址分页的地址空间的和等于所述控制器的地址空间,且各所述地址分页的地址空间为2的幂次方。
3.根据权利要求1或2所述的分页式地址空间管理方法,其特征在于,所述确定地址分页之后,所述方法还包括:
确定空闲地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
所述确定目标外设地址空间之后,所述方法还包括:
若确定所有所述空闲地址分页的地址空间的和大于所述目标外设地址空间,则所述确定满足第一预设条件的所述地址分页为第一目标地址分页包括:
在所有所述空闲地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
4.根据权利要求1或2所述的分页式地址空间管理方法,其特征在于,所述确定地址分页之后,所述方法还包括:
确定空闲地址分页和已占用地址分页,所述已占用地址分页为已与外部设备的外设地址空间建立映射关系的地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
所述确定目标外设地址空间之后,所述方法还包括:
若确定所有所述空闲地址分页的地址空间的和小于所述目标外设地址空间,则所述方法还包括:
在所有所述已占用地址分页中确定满足第二预设条件的第二目标地址分页,所述第二预设条件为所述已占用地址分页中存取频率小于预设值的地址分页;
解除所述第二目标地址分页已建立的与外设地址空间的映射关系;
所述确定满足第一预设条件的所述地址分页为第一目标地址分页包括:
在所有所述空闲地址分页中以及所述第二目标地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
5.根据权利要求1所述的分页式地址空间管理方法,其特征在于,所述建立各所述第一目标地址分页与所述目标外设地址空间的映射关系之后,所述方法还包括:
将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上;
确定各所述第一目标地址分页的虚拟地址;
将各所述第一目标地址分页的虚拟地址进行重排以形成连续的虚拟地址段。
6.一种控制器,其特征在于,包括:
第一确定单元,用于确定地址分页,所述地址分页由控制器的地址空间进行划分以形成;
第二确定单元,用于确定目标外设地址空间,所述目标外设地址空间为外部设备请求当前与所述控制器的地址空间建立映射关系的外设地址空间,所述控制器的地址空间用于对已映射到所述控制器的地址空间上的所述目标外设地址空间进行存取;
第三确定单元,用于确定满足第一预设条件的所述地址分页为第一目标地址分页,所述第一预设条件为所有所述第一目标地址分页的地址空间的和大于或等于所述目标外设地址空间;
建立单元,用于建立各所述第一目标地址分页与所述目标外设地址空间的映射关系,所述映射关系用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上。
7.根据权利要求6所述的控制器,其特征在于,还包括:
划分单元,用于划分所述控制器的地址空间以形成多个所述地址分页,所有所述地址分页的地址空间的和等于所述控制器的地址空间,且各所述地址分页的地址空间为2的幂次方。
8.根据权利要求6或7所述的控制器,其特征在于,还包括:
第四确定单元,用于确定空闲地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
所述第三确定单元还用于,若确定所有所述空闲地址分页的地址空间的和大于所述目标外设地址空间,则在所有所述空闲地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
9.根据权利要求6或7所述的控制器,其特征在于,还包括:
第五确定单元,用于确定空闲地址分页和已占用地址分页,所述已占用地址分页为已与外部设备的外设地址空间建立映射关系的地址分页,所述空闲地址分页为当前未与外部设备的外设地址空间建立映射关系的地址分页;
第六确定单元,用于若确定所有所述空闲地址分页的地址空间的和小于所述目标外设地址空间,则在所有所述已占用地址分页中确定满足第二预设条件的第二目标地址分页,所述第二预设条件为所述已占用地址分页中存取频率小于预设值的地址分页;
第七确定单元,用于解除所述第二目标地址分页已建立的与外设地址空间的映射关系;
所述第三确定单元还用于,在所有所述空闲地址分页中以及所述第二目标地址分页中确定满足所述第一预设条件的所述第一目标地址分页。
10.根据权利要求6所述的控制器,其特征在于,还包括:
第八确定单元,用于将所述目标外设地址空间根据所述映射关系映射到所述第一目标地址分页的地址空间上;
第九确定单元,用于确定各所述第一目标地址分页的虚拟地址;
第十确定单元,用于将各所述第一目标地址分页的虚拟地址进行重排以形成连续的虚拟地址段。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510324059.0A CN104951406B (zh) | 2015-06-12 | 2015-06-12 | 一种分页式地址空间管理方法以及控制器 |
PCT/CN2016/085279 WO2016197947A1 (zh) | 2015-06-12 | 2016-06-08 | 一种分页式地址空间管理方法以及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510324059.0A CN104951406B (zh) | 2015-06-12 | 2015-06-12 | 一种分页式地址空间管理方法以及控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104951406A CN104951406A (zh) | 2015-09-30 |
CN104951406B true CN104951406B (zh) | 2018-05-04 |
Family
ID=54166072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510324059.0A Active CN104951406B (zh) | 2015-06-12 | 2015-06-12 | 一种分页式地址空间管理方法以及控制器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104951406B (zh) |
WO (1) | WO2016197947A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951406B (zh) * | 2015-06-12 | 2018-05-04 | 上海华为技术有限公司 | 一种分页式地址空间管理方法以及控制器 |
CN113360243B (zh) * | 2021-03-17 | 2023-07-14 | 龙芯中科技术股份有限公司 | 设备处理方法、装置、电子设备及可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1990804A1 (en) * | 2006-12-22 | 2008-11-12 | Fujitsu Limited | Memory device, memory controller and memory system |
CN101770345A (zh) * | 2008-12-31 | 2010-07-07 | 成都市华为赛门铁克科技有限公司 | 建立逻辑地址空间的方法、访问存储装置的方法及存储架构 |
CN101923512A (zh) * | 2009-05-29 | 2010-12-22 | 晶天电子(深圳)有限公司 | 两层、三层闪存装置、智能存储开关和两层、三层控制器 |
CN103970680A (zh) * | 2014-04-28 | 2014-08-06 | 上海华为技术有限公司 | 内存管理方法、装置及嵌入式系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075214A (zh) * | 2007-06-28 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种内存管理方法和内存管理系统 |
CN101566969B (zh) * | 2008-04-21 | 2011-05-18 | 群联电子股份有限公司 | 提升非易失性存储器存储装置的管理效能的方法及控制器 |
CN102446136B (zh) * | 2010-10-14 | 2014-09-03 | 无锡江南计算技术研究所 | 自适应的大页分配方法及装置 |
CN104951406B (zh) * | 2015-06-12 | 2018-05-04 | 上海华为技术有限公司 | 一种分页式地址空间管理方法以及控制器 |
-
2015
- 2015-06-12 CN CN201510324059.0A patent/CN104951406B/zh active Active
-
2016
- 2016-06-08 WO PCT/CN2016/085279 patent/WO2016197947A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1990804A1 (en) * | 2006-12-22 | 2008-11-12 | Fujitsu Limited | Memory device, memory controller and memory system |
CN101770345A (zh) * | 2008-12-31 | 2010-07-07 | 成都市华为赛门铁克科技有限公司 | 建立逻辑地址空间的方法、访问存储装置的方法及存储架构 |
CN101923512A (zh) * | 2009-05-29 | 2010-12-22 | 晶天电子(深圳)有限公司 | 两层、三层闪存装置、智能存储开关和两层、三层控制器 |
CN103970680A (zh) * | 2014-04-28 | 2014-08-06 | 上海华为技术有限公司 | 内存管理方法、装置及嵌入式系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104951406A (zh) | 2015-09-30 |
WO2016197947A1 (zh) | 2016-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042297B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
EP3214553B1 (en) | Storage resource access method supporting sr-iov, storage controller and storage device | |
KR102363526B1 (ko) | 복수의 엑세스 모드를 지원하는 불휘발성 메모리를 포함하는 시스템 및 그것의 엑세스 방법 | |
DE102018128601A1 (de) | Hintergrunddatenauffrischung unter Verwendung eines Systemzeitstempels in Speicherungseinrichtungen | |
US20190121540A1 (en) | Controller hardware automation for host-aware performance booster | |
KR102317657B1 (ko) | Nvdimm을 포함하는 장치 및 그것의 엑세스 방법 | |
CN105830059A (zh) | 文件访问方法、装置及存储设备 | |
CN107111452A (zh) | 应用于计算机系统的数据迁移方法和装置、计算机系统 | |
CN105740946A (zh) | 一种应用细胞阵列计算系统实现神经网络计算的方法 | |
CN105608490A (zh) | 细胞阵列计算系统以及其中的通信方法 | |
CN111752480A (zh) | 一种数据写方法、数据读方法及相关设备、系统 | |
CN106326140A (zh) | 数据拷贝方法、直接内存访问控制器及计算机系统 | |
CN105718994A (zh) | 细胞阵列计算系统 | |
CN105718996A (zh) | 细胞阵列计算系统以及其中的通信方法 | |
CN105786725A (zh) | 基于异构混合内存的内存管理方法和系统 | |
CN103986602A (zh) | 一种启动操作系统的方法、相关设备和系统 | |
CN104951406B (zh) | 一种分页式地址空间管理方法以及控制器 | |
CN109086008A (zh) | 固态硬盘的数据处理方法以及固态硬盘 | |
CN105677491A (zh) | 一种数据传输方法及装置 | |
CN106250322B (zh) | 一种写数据的方法和装置 | |
CN109857553A (zh) | 内存管理方法及装置 | |
CN108519860B (zh) | 一种ssd读命中的处理方法和装置 | |
CN107391431A (zh) | 一种多个处理器共享访问存储器的方法、装置及系统 | |
CN115456862B (zh) | 一种用于图像处理器的访存处理方法及设备 | |
CN105718991A (zh) | 细胞阵列计算系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |