[发明专利]用于控制存储器分配的方法和设备有效
申请号: | 201310044928.5 | 申请日: | 2013-02-04 |
公开(公告)号: | CN103294603B | 公开(公告)日: | 2017-11-28 |
发明(设计)人: | 维莱·哈利沃里;茱哈马蒂·库西萨里 | 申请(专利权)人: | 特拉博斯股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 中原信达知识产权代理有限责任公司11219 | 代理人: | 周亚荣,安翔 |
地址: | 芬兰*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 控制 存储器 分配 方法 设备 | ||
技术领域
本发明涉及用于控制存储器的存储器块的分配的方法和设备,该存储器被组织成包含多个存储器块组,该多个存储器块组中的每一个包含多个存储器块。此外,本发明涉及用于控制存储器的存储器块的分配的计算机程序。
背景技术
在包括存储器和处理器的许多电子设备中,存在以下需要:出于一些使用目的,分配存储器的部分,并且随后当对于这些使用目的,不再需要它们时,释放所分配的部分。诸如路由器、交换机和网桥的网络元件是上述类型的电子设备的示例。网络元件接收数据帧,存储并处理所接收的数据帧,以及最后将数据帧转送到将该网络元件连接到其他网络元件的数据传送链路。许多网络元件包括一个或多个这样的存储器,其被组织成包含多个存储器块组,该多个存储器块组中的每一个包含多个存储器块。可以分配单个存储器块,例如用于存储数据帧或数据帧的部分,其正排队等候被处理或转送。控制存储器块的分配的进程从使用存储器的另一个进程接收对分配一个或多个存储器块的请求,并且响应于该请求,返回识别所分配的一个或多个存储器块的一个或多个地址。当不再需要所分配的存储器块时,使用存储器的进程返回识别可以被释放来等待进一步使用的存储器块的一个或多个地址。用于控制存储器块的分配的进程频繁处于使用中,因此,该进程应当使得有效利用高速缓冲存储器。在用于控制存储器分配的典型方法中,然而,情况并非如此,因为指示空闲和所分配的存储器块的位置的指针与存储器块协同被安放,因此,这些指针以分布式方式位于存储器的地址空间中。因此,在连续分配或释放操作中使用的数据项在地址空间中可能相互位于相对很远的地方。因此,典型的是,高速缓冲存储器包含仅被使用一两次的数据,以及在对该数据的下一使用之前,许多其他数据被使用并且被加载到高速缓冲存储器,因此,首先提及的数据可能在其下一使用之前从高速缓冲存储器被退出。作为必然的结果,没有有效利用高速缓冲存储器。
发明内容
下面提供了简化的发明内容,以提供对各个发明实施例的一些方面的基本理解。该发明内容不是本发明的全面概述。其并不意在识别本发明的关键性或决定性元素,也不意在详述本发明的范围。下面的发明内容仅以简化方式提供了本发明的一些构思,作为本发明的示例性实施例的更详细描述的前奏。
依据本发明的第一方面,提供了用于控制存储器的新设备,该存储器被组织成包含多个存储器块组,该多个存储器块组中的每一个包含多个存储器块。根据本发明的该设备包括处理器,其被配置成:
-维护包含第一数据项的第一数据实体,使得对于存储器块组中的每一个都存在第一数据项,每一个第一数据项指示在与该第一数据项有关的存储器块组中存在多少空闲存储器块,以及
-维护第二数据实体,使得对于存储器块组中的每一个都存在第二数据实体,以及每一个第二数据实体包含第二数据项,使得在每一个第二数据实体中的第二数据项的数量是至少在与该第二数据实体有关的存储器块组中的存储器块的数量,以及当与该第二数据实体有关的存储器块组的存储器块中的一个或多个空闲时,该第二数据实体的第二数据项中的一个或多个包含从与该第二数据实体有关的存储器块组的所有存储器块中识别空闲存储器块的指示符。
该处理器被进一步配置成响应于接收对分配空闲存储器块的请求,执行下面的动作:
-从第一数据实体搜索这样的第一数据项,其指示在与该第一数据项有关的存储器块组中存在一个或多个空闲存储器块,
-从第二数据实体中选择这样的第二数据实体,其与和所搜索的第一数据项有关的存储器块组有关,
-从所选择的第二数据实体选择这样的第二数据项,其携载空闲存储器块的指示符,
-至少部分基于(i)指示具有至少一个空闲存储器块的存储器块组的所搜索的第一数据项以及(ii)空闲存储器块的指示符,来形成识别待被分配的空闲存储器块的地址,以及
-更新所搜索的第一数据项以与在与所搜索的第一数据项有关的存储器块组中的空闲存储器块的数量已减少一的情况相对应。
在根据本发明的有利和示例性实施例的设备中,处理器被进一步配置成响应于接收识别待从分配释放的存储器块的地址,执行下面的动作:
-确定包含待被释放的存储器块的存储器块组,
-通过将一加到所确定的存储器块组的空闲存储器块的数量,来更新与所确定的存储器块组有关的第一数据项,
-确定从所确定的存储器块组的所有存储器块中识别待被释放的存储器块的指示符,
-从与所确定的存储器块组有关的第二数据实体确定这样的第二数据项,其不包含是空闲的任何其他存储器块的指示符,以及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于特拉博斯股份有限公司,未经特拉博斯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310044928.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种机油滤清器
- 下一篇:一种设备实现同步的方法和装置