CN103455443A - 一种缓存管理方法和装置 - Google Patents
一种缓存管理方法和装置 Download PDFInfo
- Publication number
- CN103455443A CN103455443A CN2013103986766A CN201310398676A CN103455443A CN 103455443 A CN103455443 A CN 103455443A CN 2013103986766 A CN2013103986766 A CN 2013103986766A CN 201310398676 A CN201310398676 A CN 201310398676A CN 103455443 A CN103455443 A CN 103455443A
- Authority
- CN
- China
- Prior art keywords
- memory
- region
- buffer
- physical address
- color
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供一种缓存管理方法和装置,涉及计算机领域,能够提高缓存的使用效率,提高系统性能。其方法为:通过统计模块获取物理地址的内存区域的统计信息,通过管理模块根据统计信息和物理地址的区域标识对内存区域进行分类,并为分类后的每一类内存区域进行着色,使得不同类的内存区域的颜色不同,根据着色后的内存区域更新区域颜色映射表中的映射关系,映射关系为物理地址的区域标识与内存区域着色后的颜色之间的映射,根据映射关系,将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与当前访问的物理地址的内存区域的颜色对应的缓存区中。本发明实施例用于数据的缓存时进行颜色重映射。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种缓存管理方法和装置。
背景技术
随着技术的进步,新的多核、众核计算机系统不断出现,包含了多个物理CPU(Central Processing Unit,中央处理机),并且每个物理CPU上含有大容量的硬件缓存。在现代CPU的硬件缓存结构中,CPU中硬件缓存管理的最小单位为cache bin(缓存行),多个Cacheline组成一个set(集合)。其中,OS(Operating System,操作系统)中内存管理的最小单位为page(页),一个物理页映射到CPU硬件缓存上所需要的连续set数目为一个cache bin(缓存本),一个cachebin表示一种颜色。
当task0和task1中有页面映射到同一个cache bin中,且task0运行在core0上,task1运行在core1上,将导致两个CPU访问同一个cache bin,从而会导致冲突,不断产生cache失效。这样,由于同一个物理页只能映射到同一个cache bin中,且由于物理内存远远大于硬件cache容量,故存在多个物理页与同一个Cache bin对应的情况。由于管理单位的不一致和多CPU的存在,就有可能导致大量cache失效,产生频繁的cache刷新,最终导致系统性能降低。
现有技术中,可以通过页着色来提高系统性能,其基本原理是控制每个用户态进程,使之只能访问特定颜色的页面,即通过进程创建时引入着色策略、通过缺页异常分配页面时引入着色策略等,从而避免在进程切换时产生cache失效,但是该方案只适用于用户态,不适用于内核态,且其中的page和cache的映射关系是固定的,把cache划分给每个进程,使得整个cache的使用率降低。
发明内容
本发明的实施例提供一种缓存管理方法和装置,能够提高缓存的使用效率,提高系统性能。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种缓存管理方法,包括:
通过统计模块获取物理地址的内存区域的统计信息,所述统计信息包括所述内存区域在访问时的缓存命中率、或缓存失效率、或访问频率;
通过管理模块根据所述统计信息和所述物理地址的区域标识对所述内存区域进行分类,并为分类后的每一类内存区域进行着色;
根据着色后的内存区域更新区域颜色映射表中的映射关系,所述映射关系为所述物理地址的区域标识与所述内存区域着色后的颜色之间的映射;
根据所述映射关系,将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与所述当前访问的物理地址的内存区域的颜色对应的缓存区中。
结合第一方面,在第一种可能实现的方式中,所述方法还包括:
在对所述内存区域进行分类并着色后,将所述缓存器中的数据清空至内存中,以使得所述颜色寄存器根据更新后的映射关系,将待访问的物理地址对应的数据缓存至所述缓存器中;
若所述缓存器中不存在空闲的缓存区,则根据最近最少使用算法将所述缓存器中最近最少使用的物理内存页的数据清空至内存中,以使得同一类颜色的内存区域具有相近的访问频率。
结合第一方面的第一种可能实现的方式,在第二种可能实现的方式中,所述通过管理模块根据所述统计信息对所述物理内存页进行分类包括:
通过所述统计模块将所述统计信息和所述物理地址的区域标识上报至所述管理模块;
通过所述管理模块将所述内存区域的缓存命中率与第一阈值进行比较,将所述缓存命中率大于或等于所述第一阈值的区域标识对应的内存区域归为第一类,将所述缓存命中率小于所述第一阈值的区域标识对应的内存区域归为第二类;
或,通过所述管理模块将所述内存区域的缓存失效率与第二阈值进行比较,将所述缓存失效率大于或等于所述第二阈值的区域标识对应的内存区域归为第一类,将所述缓存失效率小于所述第二阈值的区域标识对应的内存区域归为第二类;
或,通过所述管理模块将所述内存区域的访问频率与第三阈值进行比较,将所述访问频率大于或等于所述第三阈值的区域标识对应的内存区域归为第一类,将所述访问频率小于所述第三阈值的区域标识对应的内存区域归为第二类。
结合第一方面的第二种可能实现的方式,在第三种可能实现的方式中,所述缓存命中率为在预设次数内访问所述物理地址时,将所述物理地址对应的数据缓存在所述缓存器中的次数,与所述预设次数的比值;
所述缓存失效率为在所述预设次数内访问所述物理地址时,没有将所述物理地址对应的数据缓存在所述缓存器中的次数,与所述预设次数的比值;
所述访问频率为在预设时间段内,在访问所述内存的次数中访问到所述物理内存页的物理地址的次数。
结合第一方面的第三种可能实现的方式,在第四种可能实现的方式中,所述根据所述映射关系,将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与所述当前访问的物理地址的内存区域的颜色对应的缓存区中包括:
根据所述映射关系确定出所述当前访问的物理地址的内存区域的颜色,并将所述当前访问的物理地址的内存区域的颜色缓存在转换后援缓冲器中的颜色寄存器中;
根据所述颜色寄存器中缓存的颜色,将所述物理地址对应的数据缓存在所述缓存器中的与所述颜色寄存器中的颜色相同的缓存区中。
第二方面,提供一种装置,包括缓存器,还包括统计模块、管理模块、区域颜色映射表、颜色寄存器,其中:
所述统计模块,用于获取物理地址的内存区域的统计信息,所述统计信息包括所述内存区域在访问时的缓存命中率、或缓存失效率、或访问频率;
所述管理模块,用于根据所述统计模块得到的所述统计信息和所述物理地址的区域标识对所述内存区域进行分类,并为分类后的每一类内存区域进行着色;
所述区域颜色映射表,用于通过操作系统根据所述管理模块着色后的内存区域更新所述区域颜色映射表中的映射关系,所述映射关系为所述物理地址的区域标识与所述内存区域着色后的颜色之间的映射;
所述颜色寄存器,用于根据所述映射关系,将当前访问的物理地址对应的数据,通过所述颜色寄存器缓存在缓存器内与所述当前访问的物理地址的内存区域的颜色对应的缓存区中。
结合第二方面,在第一种可能实现的方式中,所述缓存器,还用于在所述管理模块对所述内存区域进行分类并着色后,所述操作系统将所述缓存器中的数据清空至内存中,以使得所述颜色寄存器根据更新后的映射关系,将待访问的物理地址对应的数据缓存至所述缓存器中;
所述缓存器,还用于若所述缓存器中不存在空闲的缓存区,则所述操作系统根据最近最少使用算法将所述缓存器中最近最少使用的物理内存页的数据清空至内存中,以使得同一类颜色的内存区域具有相近的访问频率。
结合第二方面的第一种可能实现的方式,在第二种可能实现的方式中,所述管理模块具体用于:
接收所述统计模块上报的所述统计信息和所述物理地址的区域标识;
将所述内存区域的缓存命中率与第一阈值进行比较,将所述缓存命中率大于或等于所述第一阈值的区域标识对应的内存区域归为第一类,将所述缓存命中率小于所述第一阈值的区域标识对应的内存区域为第二类;
或,将所述内存区域的缓存失效率与第二阈值进行比较,将所述缓存失效率大于或等于所述第二阈值的区域标识对应的内存区域归为第一类,将所述缓存失效率小于所述第二阈值的区域标识对应的内存区域归为第二类;
或,将所述内存区域的访问频率与第三阈值进行比较,将所述访问频率大于或等于所述第三阈值的区域标识对应的内存区域归为第一类,将所述访问频率小于所述第三阈值的区域标识对应的内存区域归为第二类。
结合第二方面的第二种可能实现的方式,在第三种可能实现的方式中,所述缓存命中率为在预设次数内访问所述物理地址时,将所述物理地址对应的数据缓存在所述缓存器中的次数,与所述预设次数的比值;
所述缓存失效率为在所述预设次数内访问所述物理地址时,没有将所述物理地址对应的数据缓存在所述缓存器中的次数,与所述预设次数的比值;
所述访问频率为在预设时间段内,在访问所述内存的次数中访问到所述物理内存页的物理地址的次数。
结合第二方面的第二种可能实现的方式,在第三种可能实现的方式中,所述装置根据所述映射关系确定出所述当前访问的物理地址的内存区域的颜色,并将所述当前访问的物理地址的内存区域的颜色缓存在转换后援缓冲器中的颜色寄存器中;
所述装置将所述物理内存页的物理地址对应的数据缓存在所述缓存器中的与所述颜色寄存器中的颜色相同的缓存区中。
本发明实施例提供一种缓存管理方法和服务器,通过统计模块获取物理地址的内存区域的统计信息,统计信息包括内存区域在访问时的缓存命中率、或缓存失效率、或访问频率,通过管理模块根据统计信息和物理地址的区域标识对内存区域进行分类,并为分类后的每一类内存区域进行着色,使得不同类的内存区域的颜色不同,根据着色后的内存区域更新区域颜色映射表中的映射关系,映射关系为物理地址的区域标识与内存区域着色后的颜色之间的映射,根据映射关系,将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与当前访问的物理地址的内存区域的颜色对应的缓存区中,能够提高缓存的使用效率,提高系统性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种缓存管理方法流程示意图;
图2为本发明实施例提供的一种缓存管理方法流程示意图;
图3为本发明实施例提供的一种处理器和操作系统的工作示意图;
图4为本发明实施例提供的一种服务器结构示意图;
图5为本发明实施例提供的一种服务器结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种缓存管理方法,如图1所示,包括:
101、服务器通过统计模块获取物理地址的内存区域的统计信息,统计信息包括物理内存页的缓存命中率、或缓存失效率、或访问频率。
其中,该服务器可以为计算机中多核或众核处理器的服务器。即包含了多个物理CPU(Central Processing Unit,中央处理器),并且每个物理CPU上含有大容量的硬件缓存。
统计模块(Profiling Unit)为处理器中新增加的硬件单元,用于统计一定数量个不同的物理地址的内存区域(memory region)的统计信息。该统计信息可以是内存区域的缓存命中率(cache hit)、或缓存失效率(cache miss),或访问频率。
这里内存区域的数量可以是根据硬件来选择,即根据物理地址(Physical address)的长度的不同来确定。例如8位(bit)内存区域长度的物理地址,就对应着28即256种物理地址。同理,对于10bit的memory region长度的物理地址,为210即1024种物理地址。
102、服务器通过管理模块根据统计信息和物理地址的区域标识对内存区域进行分类,并为分类后的每一类内存区域进行着色,使得不同类的内存区域的颜色不同。
示例性的,统计模块在统计到一定数量个内存区域的统计信息后,将每个内存区域的统计信息和区域标识(region id)上报至OS(Operating System,操作系统)的管理模块(Cache ManagementPolicies),管理模块就可以根据统计信息与阈值进行比较,对这些个数量的memory region进行分类,并为每一类的memory region进行着色,不同类的memory region的颜色不同。例如分为两类,一类memory region为红色,另一类memory region为绿色。
103、服务器根据着色后的内存区域更新区域颜色映射表中的映射关系,映射关系为物理地址的区域标识与内存区域着色后的颜色之间的映射。
104、服务器根据映射关系,将当前访问的物理内存页的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与当前访问的物理地址的内存区域的颜色对应的缓存区中。
具体的,可以根据映射关系确定出当前访问的物理地址的内存区域的颜色,并将当前访问的物理地址的内存区域的颜色缓存在转换后援缓冲器(TLB,Translation Look aside Buffer,转换后援缓冲器)中的颜色寄存器(Cache color)中,根据颜色寄存器中缓存的颜色,将物理内存页的物理地址对应的数据缓存在缓存器(Cache)中的与颜色寄存器中的颜色相同的缓存区中。
本发明实施例提供一种缓存管理方法,通过统计模块获取物理地址的内存区域的统计信息,统计信息包括内存区域在访问时的缓存命中率、或缓存失效率、或访问频率,通过管理模块根据统计信息和物理地址的区域标识对内存区域进行分类,并为分类后的每一类内存区域进行着色,使得不同类的内存区域的颜色不同,根据着色后的内存区域更新区域颜色映射表中的映射关系,映射关系为物理地址的区域标识与内存区域着色后的颜色之间的映射,根据映射关系,将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与当前访问的物理地址的内存区域的颜色对应的缓存区中,能够提高缓存的使用效率,提高系统性能。
本发明实施例提供一种缓存管理方法,如图2所示,包括:
201、服务器通过统计模块获取物理地址的内存区域的统计信息。
其中,该服务器可以为计算机中多核或众核处理器的服务器。即包含了多个物理CPU,并且每个物理CPU上含有大容量的硬件缓存。
示例性的,在获取物理地址的内存区域的统计信息时,可以在处理器中预设一个定时器,该定时器的预设时间可以为10ms等,也可以为其它值,这里不做限定。这样,在定时器可以定时触发统计模块获取物理地址的内存区域的统计信息。
除此之外,也可以是系统自适应触发统计模块获取统计信息,自适应触发为系统自动判断,例如根据统计到的最近过去一段时间内缓存失效率cache miss的变化来决定什么时候触发统计模块,若变化趋于平稳,说明任务变化不大,可以延长时间即大于10ms来触发统计模块;若变化比较大,说明此时任务有较大变化,可以缩短时间即小于10ms来触发统计模块。
这里的统计模块(Profiling Unit)为本发明的处理器(Processor)中新增加的硬件单元。统计模块统到的统计信息可以包括物理地址的内存区域的缓存命中率(cache hit),或缓存失效率(cache miss),或访问频率。
其中,这里统计的物理地址的内存区域的数量可以根据硬件来选择,即根据物理地址(Physical address)的长度的不同来确定。例如在36位系统中,一个物理地址的长度为36bit,其中的内存区域(memory region)的长度为8bit,这样,该36位系统就存在28即256种memory region,对应着256种区域标识(region id)和256种物理地址。所以统计模块在统计时可以统计256个memory region的统计信息。这里的36bit物理地址的可以表示为:
Page num in region<15> | memory region<8bit> | Offset<13bit> |
其中,Page num in region表示与同一个memory region的物理地址对应的物理内存页,此处共有215个物理内存页属于同一个memoryregion,memory region表示物理地址的内存区域,即为物理地址的区域标识region id,Page num in region和memory region共同构成了物理地址的Pfn(Page frame number,物理页框号),Offset表示页内的物理地址的偏移量。该28个memory region对应着223个物理内存页。
这里在获得memory region的统计信息时,可以不限定为256个memory region,只要统计的memory region的数量比系统拥有的color数量大即可。
当统计信息为cache hit率时,cache hit率为访问page的物理地址时,将物理地址对应的数据缓存在缓存器中的次数,与访问该page的物理地址的总次数的比值。举例来说,CPU在对A物理地址访问的N次中,有x次将该物理地址对应的数据缓存在了CPU的缓存器中,那么该A物理地址的cache hit率为x/N;
当统计信息为cache miss率时,cache miss率为访问page的物理地址时,没有将物理地址对应的数据缓存在缓存器中的次数,与访问该page的物理地址的总次数的比值。举例来说,按照上述举例说明,A物理地址的cache miss率为(1-x)/N;
当统计信息为访问频率时,访问频率为在预设时间段内,在CPU访问内存的次数中访问到A物理地址的次数。举例来说,这里的预设时间段为1s,在这1s内,CPU访问了内存N次,其中有x次访问到了A物理地址,那么该A物理地址的访问频率就为x。
其中,这里的cache miss产生的原因可以是,举例来说,对于现有技术中的36位系统,共有32种颜色(color),系统中的page与color的对应关系为region1对应color1,region2对应的color2,…region32对应color32,然后从region33开始再对应color1、region34对应color2…,如果当任务1的访问page对应region1,任务2的访问page也对应region1时,这两个page就会争用color1,导致该page对应的数据造成缓存失效。这里的任务1和任务2可以为两个进程。
202、服务器通过统计模块将统计信息和物理地址的区域标识上报至管理模块。
示例性的,假设统计模块在获得了256个物理地址对应的内存区域memory region的统计信息后,将这256个memory region的统计信息和region id即这里的memory region的标识上报至OS操作系统中的管理模块(Cache Management Policies)。这里的管理模块为本发明在OS系统中新增加的软件模块。
203、服务器通过管理模块将内存区域的缓存命中率与第一阈值进行比较。
示例性的,管理模块在接收到物理地址的统计信息和region id后,根据该统计信息对这些memory region进行分类。
204、服务器通过管理模块将缓存命中率大于或等于第一阈值的区域标识对应的内存区域归为第一类,并为第一类的内存区域进行着色。
示例性的,假设管理模块接收到的统计信息包括256个不同memory region的cache hit缓存命中率,则管理模块将这256个memory region的cache hit率与预设的第一阈值进行比较,将大于第一阈值的memory region划分为第一类,例如将第一类内存区域归为红色类,说明大于第一阈值的memory region对应的物理内存页经常被访问。
可选的,假设管理模块接收到的统计信息包括256个不同memory region的cache miss缓存失效率,则管理模块将这256个不同memory region的cache miss率与预设的第二阈值进行比较,将大于第二阈值的memory region划分为第一类,或者,管理模块将这256个不同memory region的访问频率与预设的第三阈值进行比较,将大于第三阈值的memory region划分为第一类。
205、服务器通过管理模块将缓存命中率小于第一阈值的区域标识对应的内存区域归为第二类,并为第二类的内存区域进行着色。
示例性的,管理模块将cache hit率小于第一阈值的memoryregion划分为第二类,说明小于第一阈值的memory region对应的物理内存页不被经常访问。
可选的,管理模块将cache miss率小于第二阈值的memory region划分为第二类,说明小于第二阈值的memory region对应的物理内存页不被经常访问,或者,管理模块将访问频率小于第三阈值的memoryregion划分为第二类。
需要说明的是,这里的类别的划分不限定于两类,也可以为三类或者其它数量的类别。即可以是大于或等于两类,只要每一种类别的物理内存页的访问频率有所差别即可。例如,划分为三类时,可以预设两个阈值,将memory region分为红、黄和绿三类。用红色表示该memory region对应的物理内存页经常被访问,黄色表示一般访问,绿色表示很少被访问。
206、服务器根据着色后的内存区域更新区域颜色映射表中的映射关系,映射关系为物理地址的区域标识与内存区域着色后的颜色之间的映射。
示例性的,在36bit的物理地址来说,OS系统中的管理模块CacheManagement Policies对这256个memory region进行分类后,将这256个memory region的region id(区域标识)与分类后的着色进行映射。例如,将缓存命中率大于第一阈值的memory region的region id与红色color对应,将缓存命中率小于第一阈值的memory region的regionid与绿色color对应。
需要说明的是,在对memory region进行分类时,同时将36bit系统中的32种color进行分类。譬如将memory region分为三大类并着色为红色类、黄色类和绿色类,用红色表示经常被访问的memoryregion,那么对于红色color应该分配更多的color数量,用绿色表示很少被访问的memory region,那么对于绿色color应该分配较少的color数量,用黄色表示一般被访问的memory region,那么对于黄色color应该分配平均的color数量。
这样,假设定时器可以以10ms定时触发统计模块获取物理内存页的统计信息,即可以根据最近10ms内的256个memory region的缓存命中率或缓存失效率或访问频率来推算下一个10ms的memoryregion与color的映射关系。
由此,在将这256个memory region进行分类并着色,并将32种color进行分类并确定每一类color的数量后,可以通过计算颜色平均密度来反映每一类memory region与color的映射情况。这里的颜色平均密度color_density=num_region/num_color,即为256/32=8。一般来讲,例如黄色大类的密度可以在4-16之间,是通过着色为黄色的memory region的数量与黄色color的数量的比值得到的,绿色大类的平均密度可以大于16,是通过着色为绿色的memory region的数量与绿色color的数量的比值得到的,红色大类的平均密度一般为小于4,是通过着色为红色的memory region的数量与红色color的数量的比值得到的。
举例来说,比如分为红色类的memory region有64个,32种颜色中分为红色的颜色为17种,那么红色类颜色平均密度为64/17=3.76;分为黄色类的memory region有128个,分为黄色类的颜色为12种,那么黄色类颜色平均密度为128/12=10.67;分为绿色类的memory region有64个,分为绿色类的颜色有3种,那么绿色类颜色平均密度为63/3=21.33。
这里颜色平均密度的数值是在设定阈值之后对256个region进行划分结果的一个反映,设定不同的阈值就有不同的密度,其中的<4,4-16,>16是通过实验得到的大概范围。
207、服务器根据映射关系确定出当前访问的物理地址的内存区域的颜色,并将当前访问的物理地址的内存区域的颜色缓存在转换后援缓冲器中的颜色寄存器中。
示例性的,在最近10ms内确定了下一个10ms的区域颜色映射表中的memory region与color的映射关系后,若在下一个10ms内有访问到一个物理地址要将该物理地址对应的数据存储在缓存器中,可以先根据映射关系确定当前的物理地址中的memory region内存区域对应的color,将该memory region对应的color缓存在颜色寄存器即cache color中,该颜色寄存器在转换后援缓冲器(TranslationLookaside Buffer,TLB),使得添加颜色寄存器后的TLB可以为:
Virtual page num<51> | Cache color<5> | Physical page num<23> |
其中,Virtual page num表示访问的物理地址的虚拟地址,用于缓存虚拟地址到物理地址的转换关系,Cache color表示颜色寄存器,用于缓存被访问的物理地址的memory region的颜色,Physical pagenum表示物理内存页号。
208、服务器根据颜色寄存器中缓存的颜色,将物理地址对应的数据缓存在缓存器中的与颜色寄存器中的颜色相同的缓存区中。
示例性的,在将当前访问的物理地址的memory region对应的颜色缓存在TLB的Cache color中后,在对当前的物理地址的数据进行缓存时,根据当前的Cache color中的颜色,将该物理地址对应的数据缓存在缓存器中的缓存区域中,该缓存区域的颜色与当前Cachecolor中的颜色相同。
这里的缓存器可以为处理器中的L2或L3Cache,即为CPU中的硬件二级缓存或三级缓存,本领域的技术人员可以理解的是,该硬件缓存中的最小单位为Cache line,一般为32Bytes、64Bytes等。多个Cache line可以组成一个set,比如4way set表示一个set包含4个cache line。缓存器中的颜色数目是以cache bin来表示的,一个cache bin表示一种颜色,一个cache bin为一个物理页映射到CPU硬件缓存上所需要的连接set数目,即硬件缓存器包含多少个cache bin就有多少种颜色。譬如在36bit系统中,L2cache为4M,16way,cacheline=64Bytes,可以得到共包含4M/64Bytes/16=4096个set,共有32种颜色的cache bin,一个cache bin表示一个缓存区,因此,可以将当前访问的物理地址对应的数据缓存在L2cache中的对应颜色的缓冲区中。
举例来说,假设任务1的page1对应region1,任务2的page2也对应region1,而当前访问的region1属于红色一类,若该红色一类对应的color有剩余,其中的color1和color2有剩余,未被使用,则可以将page1对应color1,page2对应color2,从而可以避免缓存失效。通过上述说明,将本发明实施例中服务器的处理器和操作系统中的内部结构和工作流程可以表示为如图3所示。
在本发明实施例中,在OS根据上报的统计信息对memoryregions进行分类后,可以通过管理模块对缓存器进行刷新,即将缓存器中的数据清空至内存中,以使得颜色寄存器根据更新后的映射关系,将待访问的物理地址对应的数据缓存至缓存器中。
若缓存器中不存在空闲的缓存区,例如在36bit系统中,L2cache已经存满,由于有可能出现同一个memory region对应多个page,这多个page拥有不同的访问频率,可以根据缓存器的LRU(LeastRecently Used,最近最少使用算法)的刷新原则,当L2cache的16way缓存存满之后,较少访问的page会被刷新至内存中,以使得同一类颜色的内存区域具有相近的访问频率。
可以理解的是,由于缓存命中率或缓存失效率或访问频率是在硬件层进行统计的,而硬件本身不感知内核态还是用户态,因此,本发明实施例不仅能应用于内核态,还可以适用于用户态。
本发明实施例提供一种缓存管理方法,通过统计模块获取物理地址的内存区域的统计信息,统计信息包括内存区域在访问时的缓存命中率、或缓存失效率、或访问频率,通过管理模块根据统计信息和物理地址的区域标识对内存区域进行分类,并为分类后的每一类内存区域进行着色,使得不同类的内存区域的颜色不同,根据着色后的内存区域更新区域颜色映射表中的映射关系,映射关系为物理地址的区域标识与内存区域着色后的颜色之间的映射,根据映射关系,将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与当前访问的物理地址的内存区域的颜色对应的缓存区中,能够提高缓存的使用效率,提高系统性能。
本发明实施例提供一种服务器01,如图4所示,包括缓存器011,还包括统计模块012、管理模块013、区域颜色映射表014、颜色寄存器015,其中:
统计模块012,用于获取物理地址的内存区域的统计信息,统计信息包括内存区域在访问时的缓存命中率、或缓存失效率、或访问频率;
管理模块013,用于根据统计模块012得到的统计信息和物理地址的区域标识对内存区域进行分类,并为分类后的每一类内存区域进行着色,使得不同类的内存区域的颜色不同;
区域颜色映射表014,用于通过操作系统根据管理模块013着色后的内存区域更新区域颜色映射表014中的映射关系,映射关系为物理地址的区域标识与内存区域着色后的颜色之间的映射;
颜色寄存器015,用于将当前访问的物理地址对应的数据,通过颜色寄存器015缓存在缓存器011内与当前访问的物理地址的内存区域的颜色对应的缓存区中。
可选的,缓存器011,还可以用于在管理模块013对内存区域进行分类并着色后,所述操作系统将所述缓存器中的数据清空至内存中,以使得所述颜色寄存器根据更新后的映射关系,将待访问的物理地址对应的数据缓存至所述缓存器中;
所述缓存器011,还可以用于若所述缓存器中不存在空闲的缓存区,则所述操作系统根据最近最少使用算法将缓存器011中最近最少使用的物理内存页的数据清空至内存中,以使得同一类颜色的内存区域具有相近的访问频率。
可选的,管理模块013可以具体用于:
接收统计模块012上报的统计信息和物理地址的区域标识;
将内存区域的缓存命中率与第一阈值进行比较,将缓存命中率大于或等于第一阈值的区域标识对应的内存区域归为第一类,将缓存命中率小于第一阈值的区域标识对应的内存区域归为第二类;
或,将内存区域的缓存失效率与第二阈值进行比较,将缓存失效率大于或等于第二阈值的区域标识对应的内存区域归为第一类,将缓存失效率小于第二阈值的区域标识对应的内存区域归为第二类;
或,将内存区域的访问频率与第三阈值进行比较,将访问频率大于或等于第三阈值的区域标识对应的内存区域归为第一类,将访问频率小于第三阈值的区域标识对应的内存区域归为第二类。
其中,缓存命中率为在预设次数内访问物理地址时,将物理地址对应的数据缓存在缓存器中的次数,与预设次数的比值;
缓存失效率为在预设次数内访问物理地址时,没有将物理地址对应的数据缓存在缓存器中的次数,与预设次数的比值;
访问频率为在预设时间段内,在访问内存的次数中访问到物理地址的次数。
可选的,服务器01根据映射关系确定出当前访问的物理地址的内存区域的颜色,并将当前访问的物理地址的内存区域的颜色缓存在转换后援缓冲器中的颜色寄存器015中;
服务器根据颜色寄存器015中缓存的颜色,将物理地址对应的数据缓存在缓存器011中的与颜色寄存器中的颜色相同的缓存区中。
本发明实施例提供一种服务器,通过统计模块获取物理地址的内存区域的统计信息,统计信息包括内存区域在访问时的缓存命中率、或缓存失效率、或访问频率,通过管理模块根据统计信息和物理地址的区域标识对内存区域进行分类,并为分类后的每一类内存区域进行着色,使得不同类的内存区域的颜色不同,根据着色后的内存区域更新区域颜色映射表中的映射关系,映射关系为物理地址的区域标识与内存区域着色后的颜色之间的映射,根据映射关系,将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与当前访问的物理地址的内存区域的颜色对应的缓存区中,能够提高缓存的使用效率,提高系统性能。
本发明实施例提供一种服务器02,如图5所示,包括:
处理器(Processor)021、通信接口(Communications Interface)022,存储器(Memory)023,通信总线024。
处理器021,通信接口022,存储器023通过通信总线024完成相互间的通信。
通信接口022,用于与网元通信,比如客户端等。
处理器021,用于执行程序025,具体可以执行上述图2至图4所示的方法实施例中的相关步骤。
具体地,程序025可以包括程序代码,所述程序代码包括计算机操作指令,在本发明实施例中,所述程序代码包括了缓存的管理模块(Cache Management Policies),该管理模块为用于获得颜色分配策略的。
处理器021可能是一个中央处理器CPU(Central ProcessingUnit),或者是特定集成电路ASIC(Application Specific IntegratedCircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
在本发明实施例中,在该处理器021中,增加了区域颜色映射表(Region mapping table)、颜色寄存器(Cache color)以及统计模块(Profiling Unit)。
存储器023用于存放程序025,存储器023可能包含高速RAM(Random Access Memory)存储器,也可能还包括非易失性存储器(Non-volatile Memory),例如至少一个磁盘存储器。
其中,程序025中管理模块,用于根据统计模块得到的统计信息和物理地址的区域标识对内存区域进行分类,并为分类后的每一类内存区域进行着色,使得不同类的内存区域的颜色不同;
具体的,管理模块接收统计模块上报的统计信息和物理地址的区域标识;
将内存区域的缓存命中率与第一阈值进行比较,将缓存命中率大于或等于第一阈值的区域标识对应的内存区域归为第一类,将缓存命中率小于第一阈值的区域标识对应的内存区域归为第二类;
或,将内存区域的缓存失效率与第二阈值进行比较,将缓存失效率大于或等于第二阈值的区域标识对应的内存区域归为第一类,将缓存失效率小于第二阈值的区域标识对应的内存区域归为第二类;
或,将内存区域的访问频率与第三阈值进行比较,将访问频率大于或等于第三阈值的区域标识对应的内存区域归为第一类,将访问频率小于第三阈值的区域标识对应的内存区域归为第二类。
在处理器021中,统计模块,用于获取物理地址的内存区域的统计信息,统计信息包括内存区域在访问时的缓存命中率、或缓存失效率、或访问频率;
将内存区域的统计信息和物理地址的区域标识(region id)上报至管理模块。
区域颜色映射表014,用于通过操作系统根据管理模块013着色后的内存区域更新区域颜色映射表014中的映射关系,映射关系为物理地址的区域标识与内存区域着色后的颜色之间的映射。
颜色寄存器,用于将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与当前访问的物理地址的内存区域的颜色对应的缓存区中。
具体的,根据映射关系确定出当前访问的物理地址的内存区域的颜色,并将当前访问的物理地址的内存区域的颜色缓存在转换后援缓冲器中的颜色寄存器中;
根据颜色寄存器中缓存的颜色,将物理内存页的物理地址对应的数据缓存在缓存器中的与颜色寄存器中的颜色相同的缓存区中。
可选的,该处理器021中,还包括了缓存器,用于在管理模块对内存区域进行分类并着色后,操作系统将所述缓存器中的数据清空至内存中,以使得所述颜色寄存器根据更新后的映射关系,将待访问的物理地址对应的数据缓存至所述缓存器中;
缓存器,还用于若缓存器中不存在空闲的缓存区,则操作系统根据最近最少使用算法将缓存器中最近最少使用的物理内存页的数据清空至内存中,以使得同一类颜色的内存区域具有相近的访问频率。
处理器021和程序025中各模块的具体实现可以参见图2至图3所示的实施例中的相应模块,在此不赘述。
本发明实施例提供一种服务器,通过统计模块获取物理地址的内存区域的统计信息,统计信息包括内存区域在访问时的缓存命中率、或缓存失效率、或访问频率,通过管理模块根据统计信息和物理地址的区域标识对内存区域进行分类,并为分类后的每一类内存区域进行着色,使得不同类的内存区域的颜色不同,根据着色后的内存区域更新区域颜色映射表中的映射关系,映射关系为物理地址的区域标识与内存区域着色后的颜色之间的映射,根据映射关系,将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与当前访问的物理地址的内存区域的颜色对应的缓存区中,能够提高缓存的使用效率,提高系统性能。
在本申请所提供的几个实施例中,应该理解到,所揭露的服务器和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的设备和系统中,各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。且上述的各单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种缓存管理方法,其特征在于,包括:
通过统计模块获取物理地址的内存区域的统计信息,所述统计信息包括所述内存区域在访问时的缓存命中率、或缓存失效率、或访问频率;
通过管理模块根据所述统计信息和所述物理地址的区域标识对所述内存区域进行分类,并为分类后的每一类内存区域进行着色,使得不同类的内存区域的颜色不同;
根据着色后的内存区域更新区域颜色映射表中的映射关系,所述映射关系为所述物理地址的区域标识与所述内存区域着色后的颜色之间的映射;
根据所述映射关系,将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与所述当前访问的物理地址的内存区域的颜色对应的缓存区中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对所述内存区域进行分类并着色后,将所述缓存器中的数据清空至内存中,以使得所述颜色寄存器根据更新后的映射关系,将待访问的物理地址对应的数据缓存至所述缓存器中;
若所述缓存器中不存在空闲的缓存区,则根据最近最少使用算法将所述缓存器中最近最少使用的物理内存页的数据清空至内存中,以使得同一类颜色的内存区域具有相近的访问频率。
3.根据权利要求2所述的方法,其特征在于,所述通过管理模块根据所述统计信息对所述物理内存页进行分类包括:
通过所述统计模块将所述统计信息和所述物理地址的区域标识上报至所述管理模块;
通过所述管理模块将所述内存区域的缓存命中率与第一阈值进行比较,将所述缓存命中率大于或等于所述第一阈值的区域标识对应的内存区域归为第一类,将所述缓存命中率小于所述第一阈值的区域标识对应的内存区域归为第二类;
或,通过所述管理模块将所述内存区域的缓存失效率与第二阈值进行比较,将所述缓存失效率大于或等于所述第二阈值的区域标识对应的内存区域归为第一类,将所述缓存失效率小于所述第二阈值的区域标识对应的内存区域归为第二类;
或,通过所述管理模块将所述内存区域的访问频率与第三阈值进行比较,将所述访问频率大于或等于所述第三阈值的区域标识对应的内存区域归为第一类,将所述访问频率小于所述第三阈值的区域标识对应的内存区域归为第二类。
4.根据权利要求3所述的方法,其特征在于,所述缓存命中率为在预设次数内访问所述物理地址时,将所述物理地址对应的数据缓存在所述缓存器中的次数,与所述预设次数的比值;
所述缓存失效率为在所述预设次数内访问所述物理地址时,没有将所述物理地址对应的数据缓存在所述缓存器中的次数,与所述预设次数的比值;
所述访问频率为在预设时间段内,在访问所述内存的次数中访问到所述物理地址的次数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述映射关系,将当前访问的物理地址对应的数据,通过颜色寄存器缓存在缓存器内与所述当前访问的物理地址的内存区域的颜色对应的缓存区中包括:
根据所述映射关系确定出所述当前访问的物理地址的内存区域的颜色,并将所述当前访问的物理地址的内存区域的颜色缓存在转换后援缓冲器中的颜色寄存器中;
根据所述颜色寄存器中缓存的颜色,将所述物理地址对应的数据缓存在所述缓存器中的与所述颜色寄存器中的颜色相同的缓存区中。
6.一种装置,包括缓存器,其特征在于,还包括统计模块、管理模块、区域颜色映射表、颜色寄存器,其中:
所述统计模块,用于获取物理地址的内存区域的统计信息,所述统计信息包括所述内存区域在访问时的缓存命中率、或缓存失效率、或访问频率;
所述管理模块,用于根据所述统计模块得到的所述统计信息和所述物理地址的区域标识对所述内存区域进行分类,并为分类后的每一类内存区域进行着色;
所述区域颜色映射表,用于通过操作系统根据所述管理模块着色后的内存区域更新所述区域颜色映射表中的映射关系,所述映射关系为所述物理地址的区域标识与所述内存区域着色后的颜色之间的映射;
所述颜色寄存器,用于根据所述映射关系,将当前访问的物理地址对应的数据,通过所述颜色寄存器缓存在缓存器内与所述当前访问的物理地址的内存区域的颜色对应的缓存区中。
7.根据权利要求6所述的装置,其特征在于,
所述缓存器,还用于在所述管理模块对所述内存区域进行分类并着色后,所述操作系统将所述缓存器中的数据清空至内存中,以使得所述颜色寄存器根据更新后的映射关系,将待访问的物理地址对应的数据缓存至所述缓存器中;
所述缓存器,还用于若所述缓存器中不存在空闲的缓存区,则所述操作系统根据最近最少使用算法将所述缓存器中最近最少使用的物理内存页的数据清空至内存中,以使得同一类颜色的内存区域具有相近的访问频率。
8.根据权利要求7所述的装置,其特征在于,所述管理模块具体用于:
接收所述统计模块上报的所述统计信息和所述物理地址的区域标识;
将所述内存区域的缓存命中率与第一阈值进行比较,将所述缓存命中率大于或等于所述第一阈值的区域标识对应的内存区域归为第一类,将所述缓存命中率小于所述第一阈值的区域标识对应的内存区域为第二类;
或,将所述内存区域的缓存失效率与第二阈值进行比较,将所述缓存失效率大于或等于所述第二阈值的区域标识对应的内存区域归为第一类,将所述缓存失效率小于所述第二阈值的区域标识对应的内存区域归为第二类;
或,将所述内存区域的访问频率与第三阈值进行比较,将所述访问频率大于或等于所述第三阈值的区域标识对应的内存区域归为第一类,将所述访问频率小于所述第三阈值的区域标识对应的内存区域归为第二类。
9.根据权利要求8所述的装置,其特征在于,所述缓存命中率为在预设次数内访问所述物理地址时,将所述物理地址对应的数据缓存在所述缓存器中的次数,与所述预设次数的比值;
所述缓存失效率为在所述预设次数内访问所述物理地址时,没有将所述物理地址对应的数据缓存在所述缓存器中的次数,与所述预设次数的比值;
所述访问频率为在预设时间段内,在访问所述内存的次数中访问到所述物理内存页的物理地址的次数。
10.根据权利要求9所述的装置,其特征在于,所述装置根据所述映射关系确定出所述当前访问的物理地址的内存区域的颜色,并将所述当前访问的物理地址的内存区域的颜色缓存在转换后援缓冲器中的颜色寄存器中;
所述装置将所述物理内存页的物理地址对应的数据缓存在所述缓存器中的与所述颜色寄存器中的颜色相同的缓存区中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310398676.6A CN103455443B (zh) | 2013-09-04 | 2013-09-04 | 一种缓存管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310398676.6A CN103455443B (zh) | 2013-09-04 | 2013-09-04 | 一种缓存管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103455443A true CN103455443A (zh) | 2013-12-18 |
CN103455443B CN103455443B (zh) | 2017-01-18 |
Family
ID=49737835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310398676.6A Expired - Fee Related CN103455443B (zh) | 2013-09-04 | 2013-09-04 | 一种缓存管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103455443B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331172A (zh) * | 2016-10-20 | 2017-01-11 | 杭州迪普科技有限公司 | 一种应用于内容分发网络的资源检测方法及装置 |
CN107278298A (zh) * | 2015-03-03 | 2017-10-20 | Arm 有限公司 | 缓存器维护指令 |
CN107689969A (zh) * | 2016-08-03 | 2018-02-13 | 华为技术有限公司 | 一种缓存策略的确定方法及装置 |
WO2018036364A1 (zh) * | 2016-08-26 | 2018-03-01 | 上海寒武纪信息科技有限公司 | 支持多数据流的tlb装置和tlb模块的更新方法 |
US9984003B2 (en) | 2014-03-06 | 2018-05-29 | Huawei Technologies Co., Ltd. | Mapping processing method for a cache address in a processor to provide a color bit in a huge page technology |
CN108615077A (zh) * | 2016-12-09 | 2018-10-02 | 杭州海康威视数字技术股份有限公司 | 一种应用于深度学习网络的缓存优化方法及装置 |
CN109308273A (zh) * | 2017-07-26 | 2019-02-05 | 北京兆易创新科技股份有限公司 | 闪存控制器、闪存控制器功能的调节方法及设备 |
CN110008140A (zh) * | 2019-03-11 | 2019-07-12 | 深圳市广和通无线股份有限公司 | 内存管理方法、装置、计算机设备和存储介质 |
CN110019366A (zh) * | 2017-12-21 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种缓存数据的方法和装置 |
CN112799977A (zh) * | 2021-02-26 | 2021-05-14 | 中国人民解放军国防科技大学 | 计算机的缓存分区和缓存访问实时性保护方法及装置 |
CN112799809A (zh) * | 2021-01-26 | 2021-05-14 | 南京大学 | 基于高速缓存着色的资源共享和隔离的混合关键实时系统 |
CN116909937A (zh) * | 2023-05-11 | 2023-10-20 | 深圳三地一芯电子股份有限公司 | 闪存容量优化方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030033480A1 (en) * | 2001-07-13 | 2003-02-13 | Jeremiassen Tor E. | Visual program memory hierarchy optimization |
CN1902586A (zh) * | 2003-12-29 | 2007-01-24 | 英特尔公司 | 用于减少硬件资源冲突的数据布局机制 |
CN101719105A (zh) * | 2009-12-31 | 2010-06-02 | 中国科学院计算技术研究所 | 一种多核系统中对内存访问的优化方法和系统 |
CN103136120A (zh) * | 2012-12-31 | 2013-06-05 | 北京北大众志微系统科技有限责任公司 | 行缓冲管理策略确定方法和装置、bank划分方法和装置 |
-
2013
- 2013-09-04 CN CN201310398676.6A patent/CN103455443B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030033480A1 (en) * | 2001-07-13 | 2003-02-13 | Jeremiassen Tor E. | Visual program memory hierarchy optimization |
CN1902586A (zh) * | 2003-12-29 | 2007-01-24 | 英特尔公司 | 用于减少硬件资源冲突的数据布局机制 |
CN101719105A (zh) * | 2009-12-31 | 2010-06-02 | 中国科学院计算技术研究所 | 一种多核系统中对内存访问的优化方法和系统 |
CN103136120A (zh) * | 2012-12-31 | 2013-06-05 | 北京北大众志微系统科技有限责任公司 | 行缓冲管理策略确定方法和装置、bank划分方法和装置 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9984003B2 (en) | 2014-03-06 | 2018-05-29 | Huawei Technologies Co., Ltd. | Mapping processing method for a cache address in a processor to provide a color bit in a huge page technology |
CN107278298A (zh) * | 2015-03-03 | 2017-10-20 | Arm 有限公司 | 缓存器维护指令 |
CN107278298B (zh) * | 2015-03-03 | 2021-10-22 | Arm 有限公司 | 缓存器维护指令 |
US11144458B2 (en) | 2015-03-03 | 2021-10-12 | Arm Limited | Apparatus and method for performing cache maintenance over a virtual page |
CN107689969B (zh) * | 2016-08-03 | 2020-01-17 | 华为技术有限公司 | 一种缓存策略的确定方法及装置 |
CN107689969A (zh) * | 2016-08-03 | 2018-02-13 | 华为技术有限公司 | 一种缓存策略的确定方法及装置 |
WO2018036364A1 (zh) * | 2016-08-26 | 2018-03-01 | 上海寒武纪信息科技有限公司 | 支持多数据流的tlb装置和tlb模块的更新方法 |
CN106331172A (zh) * | 2016-10-20 | 2017-01-11 | 杭州迪普科技有限公司 | 一种应用于内容分发网络的资源检测方法及装置 |
CN108615077A (zh) * | 2016-12-09 | 2018-10-02 | 杭州海康威视数字技术股份有限公司 | 一种应用于深度学习网络的缓存优化方法及装置 |
CN108615077B (zh) * | 2016-12-09 | 2021-08-24 | 杭州海康威视数字技术股份有限公司 | 一种应用于深度学习网络的缓存优化方法及装置 |
CN109308273B (zh) * | 2017-07-26 | 2020-11-20 | 北京兆易创新科技股份有限公司 | 闪存控制器、闪存控制器功能的调节方法及设备 |
CN109308273A (zh) * | 2017-07-26 | 2019-02-05 | 北京兆易创新科技股份有限公司 | 闪存控制器、闪存控制器功能的调节方法及设备 |
CN110019366A (zh) * | 2017-12-21 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种缓存数据的方法和装置 |
CN110008140B (zh) * | 2019-03-11 | 2021-08-17 | 深圳市广和通无线股份有限公司 | 内存管理方法、装置、计算机设备和存储介质 |
CN110008140A (zh) * | 2019-03-11 | 2019-07-12 | 深圳市广和通无线股份有限公司 | 内存管理方法、装置、计算机设备和存储介质 |
CN112799809A (zh) * | 2021-01-26 | 2021-05-14 | 南京大学 | 基于高速缓存着色的资源共享和隔离的混合关键实时系统 |
CN112799809B (zh) * | 2021-01-26 | 2023-12-26 | 南京大学 | 基于高速缓存着色的资源共享和隔离的混合关键实时系统 |
CN112799977A (zh) * | 2021-02-26 | 2021-05-14 | 中国人民解放军国防科技大学 | 计算机的缓存分区和缓存访问实时性保护方法及装置 |
CN112799977B (zh) * | 2021-02-26 | 2022-07-19 | 中国人民解放军国防科技大学 | 计算机的缓存分区和缓存访问实时性保护方法及装置 |
CN116909937A (zh) * | 2023-05-11 | 2023-10-20 | 深圳三地一芯电子股份有限公司 | 闪存容量优化方法、装置、设备及存储介质 |
CN116909937B (zh) * | 2023-05-11 | 2024-02-23 | 深圳三地一芯电子股份有限公司 | 闪存容量优化方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103455443B (zh) | 2017-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103455443A (zh) | 一种缓存管理方法和装置 | |
CN105095116B (zh) | 缓存替换的方法、缓存控制器和处理器 | |
US20180121351A1 (en) | Storage system, storage management apparatus, storage device, hybrid storage apparatus, and storage management method | |
CN101105772B (zh) | 控制计算机可读存储器的方法和管理数据单元的装置 | |
CN109669640B (zh) | 一种数据存储方法、装置、电子设备及介质 | |
RU2438165C2 (ru) | Устройство и способы для уменьшения вытеснений в многоуровневой иерархии кэша | |
US20170242625A1 (en) | Apparatus for ssd performance and endurance improvement | |
US11194737B2 (en) | Storage device, controller and method for operating the controller for pattern determination | |
US8914570B2 (en) | Selective write-once-memory encoding in a flash based disk cache memory | |
CN106326134A (zh) | Ftl地址映射的方法及装置 | |
CN101419573A (zh) | 一种存储管理的方法、系统和存储设备 | |
CN102985910A (zh) | 对无用存储单元收集的gpu支持 | |
CN104731717A (zh) | 存储器装置及存储器管理方法 | |
CN104866428A (zh) | 数据存取方法和数据存取装置 | |
CN105917319A (zh) | 存储器单元和方法 | |
CN102163175A (zh) | 一种基于局部性分析的混合地址映射方法 | |
CN104809076A (zh) | Cache的管理方法及装置 | |
CN110347338B (zh) | 混合内存数据交换处理方法、系统及可读存储介质 | |
CN101719099A (zh) | 减小固态硬盘写入放大的方法及装置 | |
CN101488919B (zh) | 存储地址分配方法和装置 | |
CN104346284A (zh) | 一种内存管理方法及内存管理设备 | |
Yang et al. | Optimizing NoSQL DB on flash: a case study of RocksDB | |
CN103488523A (zh) | 一种页的访问方法和页的访问装置、服务器 | |
CN103365784A (zh) | 内存回收与分配的方法及装置 | |
KR20210039163A (ko) | 메모리 시스템 및 그것의 동작방법 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170118 Termination date: 20180904 |
|
CF01 | Termination of patent right due to non-payment of annual fee |