CN103793331A - 一种物理内存管理方法及装置 - Google Patents

一种物理内存管理方法及装置 Download PDF

Info

Publication number
CN103793331A
CN103793331A CN201210429334.1A CN201210429334A CN103793331A CN 103793331 A CN103793331 A CN 103793331A CN 201210429334 A CN201210429334 A CN 201210429334A CN 103793331 A CN103793331 A CN 103793331A
Authority
CN
China
Prior art keywords
page table
page
physical
table entry
virtual 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
CN201210429334.1A
Other languages
English (en)
Other versions
CN103793331B (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.)
Guangzhou Ankai Microelectronics Co.,Ltd.
Original Assignee
Anyka Guangzhou Microelectronics 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 Anyka Guangzhou Microelectronics Technology Co Ltd filed Critical Anyka Guangzhou Microelectronics Technology Co Ltd
Priority to CN201210429334.1A priority Critical patent/CN103793331B/zh
Publication of CN103793331A publication Critical patent/CN103793331A/zh
Application granted granted Critical
Publication of CN103793331B publication Critical patent/CN103793331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

本发明实施例公开了一种物理内存管理方法及装置,用于优化常驻物理内存的存储结构。本发明实施例方法包括:当***启动时,初始化内存管理单元MMU转换页表的页表项,页表项包括标识位和数据位;将物理页索引表中的物理页地址写入MMU转换页表对应页表项的数据位;当未映射的任一虚拟地址分页需要映射到物理内存时,将存储在虚拟地址分页对应页表项中的物理页地址转存到临时列表;当已映射的任一虚拟地址分页不需要映射到物理内存时,将临时列表中对应的物理页地址写入虚拟地址分页的对应页表项的数据位。通过实施本发明方案,能够根据实际将全部或部分物理页索引表保存到MMU转换页表中,节省常驻物理内存的开销,从而节省了整体物理内存的开销。

Description

一种物理内存管理方法及装置
技术领域
本发明涉及物理内存技术领域,尤其涉及一种物理内存管理方法及装置。
背景技术
目前很多终端使用虚拟内存技术实现小物理内存运行大程序。该技术主要利用MMU(Memory Management Unit,内存管理单元)将虚拟地址映射到物理内存地址,虚拟地址对应程序代码空间,程序代码实际存储在物理存储器中。
请参见图1,需要设置MMU转换页表和物理页索引表,MMU转换页表用于记载虚拟地址到物理内存地址的映射关系,物理页索引表用于记载物理存储器地址到虚拟地址的对应关系。MMU转换页表的页表项可以使用两级页表,页表有三种:大页、小页和极小页,其中大页空间为64KB,小页空间为4KB,极小页空间为1KB。页表项又称描述符,描述符储存了物理地址和访问权限标识位。物理地址是一段虚拟地址对应在物理内存中的基地址,它是一个起始地址,小页描述符是4KB长度的物理地址的起始地址。
物理内存分为常驻部分和非常驻部分,MMU转换页表和物理页索引表保存在常驻物理内存中。MMU转换页表和物理页索引表的数组长度均与虚拟内存的地址长度成正比。MMU工作时,根据虚拟内存的地址长度以及实际映射关系,将设置相应对应数组长度的MMU转换页表和物理页索引表,并存储在常驻物理内存中。
但是,同时设置并存储MMU转换页表和物理页索引表占用大量常驻物理内存,增加了整体物理内存的开销。
发明内容
为了解决上述问题,本发明实施例提供了一种物理内存管理方法及装置,用于优化常驻物理内存的存储结构,通过实施本发明方案,能够根据实际将全部或部分物理页索引表保存到MMU转换页表中,节省常驻物理内存的开销,从而节省了整体物理内存的开销。
一种物理内存管理方法,包括:
当***启动时,初始化内存管理单元MMU转换页表的页表项,所述页表项包括标识位和数据位,所述标识位用于指示所述页表项对应的虚拟地址分页是否被映射到物理内存,所述数据位用于存储数据;
将物理页索引表中的物理页地址写入所述MMU转换页表对应页表项的数据位;
当未映射的任一虚拟地址分页需要映射到物理内存时,将存储在所述虚拟地址分页对应页表项中的物理页地址转存到临时列表;
当已映射的任一虚拟地址分页不需要映射到物理内存时,将所述临时列表中对应的物理页地址写入所述虚拟地址分页的对应页表项的数据位。
优选地,所述将存储在所述虚拟地址分页对应页表项中的物理页地址转存到临时列表之后进一步包括:修改所述对应页表项的标识位,使其指示所述对应页表项对应的虚拟地址分页已被映射到物理内存;将所述虚拟地址分页对应的物理内存地址写入所述对应页表项的数据位。
优选地,所述将所述临时列表中对应的物理页地址写入所述虚拟地址分页的对应页表项之前进一步包括:修改所述对应页表项的标识位,使其指示所述对应页表项对应的虚拟地址分页未被映射到物理内存;初始化所述对应页表项的数据位。
优选地,所述MMU转换页表的页表项数量与所述虚拟地址分页的数量相同;所述物理页索引表的物理页地址数量与所述虚拟地址分页的数量相同。
优选地,所述标识位为所述页表项的低位,为12位;所述数据位为所述页表项的高位,为20位;所述物理页索引表中的物理页地址为16位。
优选地,所述MMU转换页表与所述临时列表设置于常驻物理内存中。
一种物理内存管理装置,包括:
初始化单元,用于当***启动时,初始化内存管理单元MMU转换页表的页表项,所述页表项包括标识位和数据位,所述标识位用于指示所述页表项对应的虚拟地址分页是否被映射到物理内存,所述数据位用于存储数据;
第一写入单元,用于将物理页索引表中的物理页地址写入所述MMU转换页表对应页表项的数据位;
转存单元,用于当未映射的任一虚拟地址分页需要映射到物理内存时,将存储在所述虚拟地址分页对应页表项中的物理页地址转存到临时列表;
第二写入单元,用于当已映射的任一虚拟地址分页不需要映射到物理内存时,将所述临时列表中对应的物理页地址写入所述虚拟地址分页的对应页表项的数据位。
优选地,所述物理内存管理装置进一步包括:修改单元,用于修改所述对应页表项的标识位,使其指示所述对应页表项对应的虚拟地址分页已被映射到物理内存;所述修改单元,还用于修改所述对应页表项的标识位,使其指示所述对应页表项对应的虚拟地址分页未被映射到物理内存;第三写入单元,用于将所述虚拟地址分页对应的物理内存地址写入所述对应页表项的数据位;所述初始化单元,还用于初始化所述对应页表项的数据位。
从以上技术方案可以看出,本发明实施例具有以下优点:
当***启动时,初始化内存管理单元MMU转换页表的页表项,将物理页索引表写入MMU转换页表的无效数据位,当发生虚拟地址倒换时,将部分物理页索引表转存到临时列表。由于现有技术中物理页索引表存储在常驻物理内存,通过实施本发明方案,能够节省常驻物理内存的开销,从而节省了整体物理内存的开销。
附图说明
图1为现有技术的虚拟内存技术示意图;
图2为本发明第一实施例的物理内存管理方法流程图;
图3为本发明第一实施例的虚拟内存技术示意图;
图4为本发明第二实施例的物理内存管理方法流程图;
图5为本发明第三实施例的物理内存管理装置结构图;
图6为本发明第四实施例的物理内存管理装置结构图。
具体实施方式
下面将结合本发明中的说明书附图,对发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种物理内存管理方法,用于优化常驻物理内存的存储结构,通过实施本发明方法,能够根据实际将全部或部分物理页索引表保存到MMU转换页表中,节省常驻物理内存的开销,从而节省了整体物理内存的开销。本发明实施例还提供相应的物理内存管理装置,以下将分别对其进行详细说明。
本发明第一实施例将对一种物理内存管理方法进行详细说明,本发明实施例所述物理内存管理方法具体流程请参见图2,包括步骤:
201、当***启动时,初始化MMU转换页表的页表项。
在虚拟内存技术中,虚拟地址被均匀划分为分页,而物理内存地址也被均匀划分为内存页,分页和内存页的大小必须相同。虚拟地址中的程序代码执行时,当前需要使用的分页中的程序代码就被映射到物理内存地址的内存页,然后在物理内存地址中执行该分页中的程序代码。映射后的分页与内存页之间存在映射关系,MMU转换页表就是用于记载虚拟地址到物理内存地址的映射关系的。通常情况下,物理内存地址内存页的数量要比虚拟地址分页的数量少得多。
虚拟地址中的程序代码实际是被存储在物理存储器的物理页中,每一个物理页对应一个物理页地址。虚拟地址与物理存储器地址存在对应关系,具体为物理页地址与虚拟地址分页存在一一对应的关系,而物理页索引表就是用于记载物理存储器地址到虚拟地址的对应关系。虚拟地址中的程序代码执行时,当前需要使用的分页中的程序代码就被映射到物理内存地址的内存页,具体是根据物理页索引表查询该分页对应的物理页地址,然后从该物理页中读取对应的程序代码并写入该内存页。
一个例子,请参见图3,虚拟地址被划分为b01~b13共13个分页,而物理内存地址被划分为c01~c06共6个内存页,物理存储器包含序号为a01~a13共13个物理页。当序号为b02的分页中的程序代码需要执行时,通过查询物理页索引表获知需要的程序代码存储在序号为a02的物理页中,从a02物理页的物理页地址中读取该程序代码,并将该程序代码写入物理内存序号为c04的内存页中。同时,需要在MMU转换页表中载入本次分页与内存页的映射关系。
MMU转换页表包含多个页表项,页表项包括标识位和数据位,标识位用于指示该页表项对应的虚拟地址分页是否被映射到物理内存,数据位用于存储数据。一个MMU转换表中的页表项数量与虚拟地址分页的数量相同。物理页索引表中记载多个物理页地址,其物理页地址数量与虚拟地址分页的数量也相同。
承接上述例子,MMU转换页表包含13个页表项,该13个页表项对应虚拟地址的13个分页。当序号为b02的分页中的程序代码需要执行时,在将序号为a02的物理页中的程序代码写入物理内存序号为c04的内存页后,修改对应页表项的标识位,使得该标识位指示序号为b02的分页已经被映射,同时将序号为c04的内存页的物理内存地址写入该页表项的数据位。
在本步骤中,当***启动时,初始化MMU转换页表的页表项。具体为:当***启动时,芯片自动加载一段代码到物理内存的常驻部分,这段代码的虚拟地址不参与倒换所以不需要考虑物理页索引值。
MMU刚初始化的时候,MMU转换页表根据是否映射情况填写标识位和数据位。
加载代码的虚拟地址所对应的物理内存地址映射已建立,所以MMU页表项要设置标识位的状态为已映射。MMU转换页表中其他虚拟地址对应的页表项则设置标识位的状态为未映射,数据位无效。
初始化的MMU转换页表每一个页表项中的标识位为未映射状态、数据位无效,即所有分页的虚拟地址都没有映射到物理内存地址。
承接上述例子,初始化的MMU转换页表包含13个页表项,该13个页表项的所有标识位为未映射状态,所有数据位都没有写入数据。
202、将物理页索引表中的物理页地址写入MMU转换页表对应页表项的数据位。
物理页索引表记载的物理页地址数量与虚拟地址分页的数量相同。物理页索引表被全部写入MMU转换页表中,从而无需要再设置独立的空间用于存储物理页索引表。
承接上述例子,物理页索引表记载了13个物理页地址,对应指示虚拟地址13个分页对应在物理存储器的13个物理页地址。将物理页索引表中序号为a01~a13物理页的物理页地址依次写入序号为b01~b13分页的MMU转换页表对应页表项的数据位。
203、当未映射的任一虚拟地址分页需要映射到物理内存时,将存储在虚拟地址分页对应页表项中的物理页地址转存到临时列表。
当未映射的任一虚拟地址分页需要映射到物理内存时,将存储在虚拟地址分页对应页表项中的物理页地址转存到临时列表,临时列表存储于常驻物理内存中。同时修改该页表项中的标识位,使其指示页表项对应的虚拟地址分页已经映射到物理内存地址中,并将该物理内存地址写入该页表项的数据位。
承接上述例子,当序号为b02的分页中的程序代码需要执行时,将MMU转换表中与b02分页对应的页表项中的保存的物理页地址转移到临时列表。然后修改该页表项的标识位,使其指示页表项对应的虚拟地址分页已经映射到物理内存地址中,并将序号为c04的内存页的物理内存地址写入该页表项的数据位。
204、当已映射的任一虚拟地址分页不需要映射到物理内存时,将临时列表中对应的物理页地址写入虚拟地址分页的对应页表项的数据位。
当已映射的任一虚拟地址分页不需要映射到物理内存时,将临时列表中对应的物理页地址写入虚拟地址分页的对应页表项的数据位,临时列表存储于常驻物理内存中,其能够容纳的物理页索引表的物理页地址量与物理内存地址的内存页数量相同。同时保留该页表项中的标识位为未映射状态,使其指示页表项对应的虚拟地址分页未映射到物理内存地址中,即恢复为步骤201中该页表项的状态。
承接上述例子,当序号为b02的分页中的程序代码需要执行时,将MMU转换表中与b02分页对应的页表项中的保存的物理页地址转移到临时列表。然后修改该页表项的标识位,使其指示页表项对应的虚拟地址分页已经映射到物理内存地址中,并将序号为c04的内存页的物理内存地址写入该页表项的数据位。
在本实施例中,当***启动时,初始化内存管理单元MMU转换页表的页表项,将物理页索引表写入MMU转换页表的无效数据位,当发生虚拟地址倒换时,将部分物理页索引表转存到临时列表。由于现有技术中物理页索引表存储在常驻物理内存,通过实施本发明方案,能够节省常驻物理内存的开销,从而节省了整体物理内存的开销。
本发明第二实施例将对第一实施例所述的物理内存管理方法进行补充说明,本实施例所述的物理内存管理方法具体流程请参见图4,包括步骤:
401、当***启动时,初始化MMU转换页表的页表项。
MMU转换页表包含多个页表项,页表项包括标识位和数据位,标识位用于指示该页表项对应的虚拟地址分页是否被映射到物理内存,数据位用于存储数据。一个MMU转换表中的页表项数量与虚拟地址分页的数量相同。物理页索引表中记载多个物理页地址,其物理页地址数量与虚拟地址分页的数量也相同。
在本步骤中,当***启动时,初始化MMU转换页表的页表项。初始化的MMU转换页表每一个页表项中的标识位为未映射状态、数据位无效,即所有分页的虚拟地址都没有映射到物理内存地址。
402、将物理页索引表中的物理页地址写入MMU转换页表对应页表项的数据位。
本实施例页表项使用了小页,也可以使用其他两种方式。小页描述符的高20位为数据位,低12位为标识位。
因此,标识位为页表项的低位,为12位,数据位为页表项的高位,为20位,物理页索引表中的物理页地址为16位。针对一般容量的Nand闪存以4KB页为单位的索引值要小于16位,所以用16位保存索引值。因此,20位的数据位足够容纳16位的物理页地址。
由于物理页索引表记载的物理页地址数量与虚拟地址分页的数量相同。因此物理页索引表能够被全部写入MMU转换页表中,从而无需要再设置独立的空间用于存储物理页索引表。
403、当未映射的任一虚拟地址分页需要映射到物理内存时,将存储在虚拟地址分页对应页表项中的物理页地址转存到临时列表。
其中,MMU转换页表与临时列表都设置于常驻物理内存中。
404、修改对应页表项的标识位。
当未映射的任一虚拟地址分页需要映射到物理内存时,修改对应页表项的标识位,使其指示该对应页表项对应的虚拟地址分页已被映射到物理内存。
405、将虚拟地址分页对应的物理内存地址写入对应页表项的数据位。
406、当已映射的任一虚拟地址分页不需要映射到物理内存时,修改对应页表项的标识位。
当已映射的任一虚拟地址分页不需要映射到物理内存时,修改对应页表项的标识位,使其指示对应页表项对应的虚拟地址分页未被映射到物理内存。
407、初始化对应页表项的数据位。
初始化对应页表项的数据位。即使该页表项中的数据位无效,该无效数据位能够用于重新写入对应的物理页地址。
408、将临时列表中对应的物理页地址写入虚拟地址分页的对应页表项的数据位。
当已映射的任一虚拟地址分页不需要映射到物理内存时,将临时列表中对应的物理页地址写入虚拟地址分页的对应页表项的数据位,临时列表存储于常驻物理内存中,其能够容纳的物理页索引表的物理页地址量与物理内存地址的内存页数量相同。同时保留该页表项中的标识位为未映射状态,使其指示页表项对应的虚拟地址分页未映射到物理内存地址中。
例如,在一个嵌入式平台中,虚拟地址长度为12MB,物理内存地址长度为120KB。
MMU转换页表中保存了虚拟地址到物理内存地址的映射关系,一个页表项长度为4B,其中,高20位为数据位,能够保存4KB虚拟地址,具体为一个虚拟地址分页的地址,低12位为标识位,用于指示对应虚拟。
虚拟地址到物理存储器地址的索引信息是保存到物理页索引表mem2store_tbl中的,其具体形式为变量数组,物理页索引表的保存类型为(2B)。
故物理页索引表mem2store_tbl的变量数组长度等于虚拟空间长度(12MB)除以虚拟地址分页长度(4KB)再乘以物理页索引表的保存类型2B,计算式为:
(12×1024×1024)×2÷(4×1024)=6×1024=6KB。
按照本发明方法,将物理页索引表写入MMU转换页表,设置了临时列表ram2store_tbl,其中20KB作为常驻区,故临时列表ram2store_tbl的变量数组长度计算式为:
[(120-20)×1024]×2÷(4×1024)=50B。
通过本发明方法,常驻空间对应保存物理页索引表的开销由6KB压缩到50B。
本实施例各步骤的详细描述请参见第一实施例中的相关记载,这里不再赘述。
在本实施例中,当***启动时,初始化内存管理单元MMU转换页表的页表项,将物理页索引表写入MMU转换页表的无效数据位,当发生虚拟地址倒换时,将部分物理页索引表转存到临时列表。由于现有技术中物理页索引表存储在常驻物理内存,通过实施本发明方案,能够节省常驻物理内存的开销,从而节省了整体物理内存的开销。
本发明第三实施例将对一种物理内存管理装置进行详细说明,本实施例所述的物理内存管理装置中包含一个或多个单元用于实现前述方法的一个或多个步骤。因此,对前述方法中各步骤的描述适用于本物理内存管理装置中相应的单元。本实施例所述物理内存管理装置具体结构请参见图5,包括:
初始化单元501、第一写入单元502、转存单元503和第二写入单元504。
其中,初始化单元501、第一写入单元502、第二写入单元503、第二写入单元504分别与MMU转换页表通信连接。
初始化单元501,用于当***启动时,初始化内存管理单元MMU转换页表的页表项。
MMU转换页表包含多个页表项,页表项包括标识位和数据位,标识位用于指示该页表项对应的虚拟地址分页是否被映射到物理内存,数据位用于存储数据。一个MMU转换表中的页表项数量与虚拟地址分页的数量相同。物理页索引表中记载多个物理页地址,其物理页地址数量与虚拟地址分页的数量也相同。
当***启动时,初始化单元501初始化MMU转换页表的页表项。初始化的MMU转换页表每一个页表项中的标识位保留为未映射状态、数据位无效,即所有分页的虚拟地址都没有映射到物理内存地址。
第一写入单元502,用于将物理页索引表中的物理页地址写入MMU转换页表对应页表项的数据位。
物理页索引表记载的物理页地址数量与虚拟地址分页的数量相同。物理页索引表被全部写入MMU转换页表中,从而无需要再设置独立的空间用于存储物理页索引表。
转存单元503,用于当未映射的任一虚拟地址分页需要映射到物理内存时,将存储在虚拟地址分页对应页表项中的物理页地址转存到临时列表。
当未映射的任一虚拟地址分页需要映射到物理内存时,转存单元503将存储在虚拟地址分页对应页表项中的物理页地址转存到临时列表,临时列表存储于常驻物理内存中。同时修改该页表项中的标识位,使其指示页表项对应的虚拟地址分页已经映射到物理内存地址中,并将该物理内存地址写入该页表项的数据位。
第二写入单元504,用于当已映射的任一虚拟地址分页不需要映射到物理内存时,将临时列表中对应的物理页地址写入虚拟地址分页的对应页表项的数据位。
当已映射的任一虚拟地址分页不需要映射到物理内存时,第二写入单元504将临时列表中对应的物理页地址写入虚拟地址分页的对应页表项的数据位,临时列表存储于常驻物理内存中,其能够容纳的物理页索引表的物理页地址量与物理内存地址的内存页数量相同。同时保留该页表项中的标识位为未映射状态,使其指示页表项对应的虚拟地址分页未映射到物理内存地址中。
在本实施例中,当***启动时,初始化单元501初始化内存管理单元MMU转换页表的页表项,第一写入单元502将物理页索引表写入MMU转换页表的无效数据位,当发生虚拟地址倒换时,转存单元503将部分物理页索引表转存到临时列表。由于现有技术中物理页索引表存储在常驻物理内存,通过实施本发明方案,能够节省常驻物理内存的开销,从而节省了整体物理内存的开销。
本发明第四实施例将对第三实施例所述的物理内存管理装置进行补充说明,本实施例所述的物理内存管理装置中包含一个或多个单元用于实现前述方法的一个或多个步骤。因此,对前述方法中各步骤的描述适用于本物理内存管理装置中相应的单元。本实施例所述物理内存管理装置具体结构请参见图6,包括:
初始化单元601、第一写入单元602、转存单元603、修改单元604和第二写入单元605。
其中,初始化单元601、第一写入单元602、转存单元603、修改单元604、第二写入单元605分别与MMU转换页表通信连接。
初始化单元601,用于当***启动时,初始化内存管理单元MMU转换页表的页表项。
MMU转换页表包含多个页表项,页表项包括标识位和数据位,标识位用于指示该页表项对应的虚拟地址分页是否被映射到物理内存,数据位用于存储数据。一个MMU转换表中的页表项数量与虚拟地址分页的数量相同。物理页索引表中记载多个物理页地址,其物理页地址数量与虚拟地址分页的数量也相同。
当***启动时,初始化单元601初始化MMU转换页表的页表项。初始化的MMU转换页表每一个页表项中的标识位保留为未映射状态、数据位无效,即所有分页的虚拟地址都没有映射到物理内存地址。
第一写入单元602,用于将物理页索引表中的物理页地址写入MMU转换页表对应页表项的数据位。
其中,标识位为页表项的低位,为12位,数据位为页表项的高位,为20位,物理页索引表中的物理页地址为16位。因此,20位的数据位足够容纳16位的物理页地址。
由于物理页索引表记载的物理页地址数量与虚拟地址分页的数量相同。因此物理页索引表能够被全部写入MMU转换页表中,从而无需要再设置独立的空间用于存储物理页索引表。
转存单元603,用于当未映射的任一虚拟地址分页需要映射到物理内存时,将存储在虚拟地址分页对应页表项中的物理页地址转存到临时列表。
其中,MMU转换页表与临时列表都设置于常驻物理内存中。
修改单元604,用于修改对应页表项的标识位,使其指示所述对应页表项对应的虚拟地址分页已被映射到物理内存。
第二写入单元605,用于当已映射的任一虚拟地址分页不需要映射到物理内存时,将临时列表中对应的物理页地址写入虚拟地址分页的对应页表项的数据位。
修改单元604,还用于修改对应页表项的标识位,使其指示所述对应页表项对应的虚拟地址分页未被映射到物理内存。
第三写入单元,用于将所述虚拟地址分页对应的物理内存地址写入所述对应页表项的数据位;
初始化单元601,还用于初始化所述对应页表项的数据位。
初始化对应页表项的数据位。即使该页表项中的数据位无效,该无效数据位能够用于重新写入对应的物理页地址。
在本实施例中,当***启动时,初始化单元601初始化内存管理单元MMU转换页表的页表项,第一写入单元602将物理页索引表写入MMU转换页表的无效数据位,当发生虚拟地址倒换时,转存单元603将部分物理页索引表转存到临时列表。由于现有技术中物理页索引表存储在常驻物理内存,通过实施本发明方案,能够节省常驻物理内存的开销,从而节省了整体物理内存的开销。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种物理内存管理方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种物理内存管理方法,其特征在于,包括:
当***启动时,初始化内存管理单元MMU转换页表的页表项,所述页表项包括标识位和数据位,所述标识位用于指示所述页表项对应的虚拟地址分页是否被映射到物理内存,所述数据位用于存储数据;
将物理页索引表中的物理页地址写入所述MMU转换页表对应页表项的数据位;
当未映射的任一虚拟地址分页需要映射到物理内存时,将存储在所述虚拟地址分页对应页表项中的物理页地址转存到临时列表;
当已映射的任一虚拟地址分页不需要映射到物理内存时,将所述临时列表中对应的物理页地址写入所述虚拟地址分页的对应页表项的数据位。
2.根据权利要求1所述的方法,其特征在于,所述将存储在所述虚拟地址分页对应页表项中的物理页地址转存到临时列表之后进一步包括:
修改所述对应页表项的标识位,使其指示所述对应页表项对应的虚拟地址分页已被映射到物理内存;
将所述虚拟地址分页对应的物理内存地址写入所述对应页表项的数据位。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述临时列表中对应的物理页地址写入所述虚拟地址分页的对应页表项之前进一步包括:
修改所述对应页表项的标识位,使其指示所述对应页表项对应的虚拟地址分页未被映射到物理内存;
初始化所述对应页表项的数据位。
4.根据权利要求1或2所述的方法,其特征在于,
所述MMU转换页表的页表项数量与所述虚拟地址分页的数量相同;
所述物理页索引表的物理页地址数量与所述虚拟地址分页的数量相同。
5.根据权利要求1或2所述的方法,其特征在于,
所述标识位为所述页表项的低位,为12位;
所述数据位为所述页表项的高位,为20位;
所述物理页索引表中的物理页地址为16位。
6.根据权利要求1或2所述的方法,其特征在于,
所述MMU转换页表与所述临时列表设置于常驻物理内存中。
7.一种物理内存管理装置,其特征在于,包括:
初始化单元,用于当***启动时,初始化内存管理单元MMU转换页表的页表项,所述页表项包括标识位和数据位,所述标识位用于指示所述页表项对应的虚拟地址分页是否被映射到物理内存,所述数据位用于存储数据;
第一写入单元,用于将物理页索引表中的物理页地址写入所述MMU转换页表对应页表项的数据位;
转存单元,用于当未映射的任一虚拟地址分页需要映射到物理内存时,将存储在所述虚拟地址分页对应页表项中的物理页地址转存到临时列表;
第二写入单元,用于当已映射的任一虚拟地址分页不需要映射到物理内存时,将所述临时列表中对应的物理页地址写入所述虚拟地址分页的对应页表项的数据位。
8.根据权利要求7所述的装置,其特征在于,所述物理内存管理装置进一步包括:
修改单元,用于修改所述对应页表项的标识位,使其指示所述对应页表项对应的虚拟地址分页已被映射到物理内存;
所述修改单元,还用于修改所述对应页表项的标识位,使其指示所述对应页表项对应的虚拟地址分页未被映射到物理内存;
第三写入单元,用于将所述虚拟地址分页对应的物理内存地址写入所述对应页表项的数据位;
所述初始化单元,还用于初始化所述对应页表项的数据位。
CN201210429334.1A 2012-10-31 2012-10-31 一种物理内存管理方法及装置 Active CN103793331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210429334.1A CN103793331B (zh) 2012-10-31 2012-10-31 一种物理内存管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210429334.1A CN103793331B (zh) 2012-10-31 2012-10-31 一种物理内存管理方法及装置

Publications (2)

Publication Number Publication Date
CN103793331A true CN103793331A (zh) 2014-05-14
CN103793331B CN103793331B (zh) 2016-12-21

Family

ID=50669030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210429334.1A Active CN103793331B (zh) 2012-10-31 2012-10-31 一种物理内存管理方法及装置

Country Status (1)

Country Link
CN (1) CN103793331B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107992569A (zh) * 2017-11-29 2018-05-04 北京小度信息科技有限公司 数据访问方法、装置、电子设备及计算机可读存储介质
CN112199678A (zh) * 2020-09-25 2021-01-08 杭州安恒信息技术股份有限公司 一种在线取证的方法、装置、计算机设备和可读存储介质
CN115640241A (zh) * 2022-10-08 2023-01-24 中科驭数(北京)科技有限公司 基于地址池的内存转换表表项管理方法、查询方法及装置
CN115794667A (zh) * 2023-01-19 2023-03-14 北京象帝先计算技术有限公司 内存管理方法、***、组件及设备
CN116204453A (zh) * 2022-12-23 2023-06-02 科东(广州)软件科技有限公司 多核***的数据访问方法、装置、设备及存储介质
CN116563089A (zh) * 2023-07-11 2023-08-08 南京砺算科技有限公司 一种图形处理器的内存管理方法、装置、设备及存储介质
CN116681578A (zh) * 2023-08-02 2023-09-01 南京砺算科技有限公司 内存管理方法、图形处理单元、存储介质、终端设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184142A (zh) * 2011-04-19 2011-09-14 中兴通讯股份有限公司 一种利用巨页映射降低cpu资源消耗的方法和装置
US20120185667A1 (en) * 2009-09-25 2012-07-19 Gandhi Kamlesh Virtual-memory system with variable-sized pages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120185667A1 (en) * 2009-09-25 2012-07-19 Gandhi Kamlesh Virtual-memory system with variable-sized pages
CN102184142A (zh) * 2011-04-19 2011-09-14 中兴通讯股份有限公司 一种利用巨页映射降低cpu资源消耗的方法和装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107992569A (zh) * 2017-11-29 2018-05-04 北京小度信息科技有限公司 数据访问方法、装置、电子设备及计算机可读存储介质
CN107992569B (zh) * 2017-11-29 2020-10-13 北京小度信息科技有限公司 数据访问方法、装置、电子设备及计算机可读存储介质
CN112199678A (zh) * 2020-09-25 2021-01-08 杭州安恒信息技术股份有限公司 一种在线取证的方法、装置、计算机设备和可读存储介质
CN112199678B (zh) * 2020-09-25 2024-04-09 杭州安恒信息技术股份有限公司 一种在线取证的方法、装置、计算机设备和可读存储介质
CN115640241A (zh) * 2022-10-08 2023-01-24 中科驭数(北京)科技有限公司 基于地址池的内存转换表表项管理方法、查询方法及装置
CN116204453A (zh) * 2022-12-23 2023-06-02 科东(广州)软件科技有限公司 多核***的数据访问方法、装置、设备及存储介质
CN115794667A (zh) * 2023-01-19 2023-03-14 北京象帝先计算技术有限公司 内存管理方法、***、组件及设备
CN116563089A (zh) * 2023-07-11 2023-08-08 南京砺算科技有限公司 一种图形处理器的内存管理方法、装置、设备及存储介质
CN116563089B (zh) * 2023-07-11 2023-10-13 南京砺算科技有限公司 一种图形处理器的内存管理方法、装置、设备及存储介质
CN116681578A (zh) * 2023-08-02 2023-09-01 南京砺算科技有限公司 内存管理方法、图形处理单元、存储介质、终端设备
CN116681578B (zh) * 2023-08-02 2023-12-19 南京砺算科技有限公司 内存管理方法、图形处理单元、存储介质、终端设备

Also Published As

Publication number Publication date
CN103793331B (zh) 2016-12-21

Similar Documents

Publication Publication Date Title
CN103793331A (zh) 一种物理内存管理方法及装置
US9842030B2 (en) Data storage device and flash memory control method
US11232041B2 (en) Memory addressing
US8407397B2 (en) Block management method for flash memory and controller and storage system using the same
US8321652B2 (en) Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks
US9304904B2 (en) Hierarchical flash translation layer
CN104731717B (zh) 存储器装置及存储器管理方法
KR101497860B1 (ko) 메모리 어드레스 변환
US8291155B2 (en) Data access method, memory controller and memory storage system
US7594067B2 (en) Enhanced data access in a storage device
US8312554B2 (en) Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus
CN102841851B (zh) 闪存管理方法和闪存设备
CN104699413B (zh) 数据管理方法、存储器存储装置及存储器控制电路单元
US20060218359A1 (en) Method and system for managing multi-plane memory devices
US8438325B2 (en) Method and apparatus for improving small write performance in a non-volatile memory
CN102214143A (zh) 一种多层单元闪存的管理方法、装置及存储设备
CN102792284A (zh) 存储器设备耗损均衡技术
CN102722455A (zh) 一种闪存设备中数据存储的方法及装置
CN105607862A (zh) 一种dram与mram结合具有备份电源的固态硬盘
CN101192195B (zh) 电子硬盘的存储空间的分组管理方法
WO2013025083A2 (ko) 피램에 데이터를 저장하는 전자기기 및 그의 메모리 제어방법
US20150220432A1 (en) Method and apparatus for managing at least one non-volatile memory
CN113076265A (zh) 多阶层映射资讯管理的数据储存装置以及非挥发式存储器控制方法
CN109446109B (zh) 一种混合型记录实体映像表的方法
CN111610929A (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
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and device for managing physical memories

Effective date of registration: 20171102

Granted publication date: 20161221

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: Anyka (Guangzhou) Microelectronics Technology Co., Ltd.

Registration number: 2017990001008

PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20181227

Granted publication date: 20161221

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: Anyka (Guangzhou) Microelectronics Technology Co., Ltd.

Registration number: 2017990001008

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and device for managing physical memories

Effective date of registration: 20190130

Granted publication date: 20161221

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: Anyka (Guangzhou) Microelectronics Technology Co., Ltd.

Registration number: 2019440000051

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20200320

Granted publication date: 20161221

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: ANYKA (GUANGZHOU) MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Registration number: 2019440000051

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 510663 3rd floor, area C1, innovation building, 182 science Avenue, Guangzhou Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: 510663 3rd floor, area C1, innovation building, 182 science Avenue, Guangzhou Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee before: ANYKA (GUANGZHOU) MICROELECTRONICS TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 510555 No. 107 Bowen Road, Huangpu District, Guangzhou, Guangdong

Patentee after: Guangzhou Ankai Microelectronics Co., Ltd

Address before: 510663 floor 3, zone C1, innovation building, No. 182, science Avenue, Guangzhou Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee before: Guangzhou Ankai Microelectronics Co., Ltd