CN103607480A - 一种内存资源的管理方法、装置及单板 - Google Patents

一种内存资源的管理方法、装置及单板 Download PDF

Info

Publication number
CN103607480A
CN103607480A CN201310567404.4A CN201310567404A CN103607480A CN 103607480 A CN103607480 A CN 103607480A CN 201310567404 A CN201310567404 A CN 201310567404A CN 103607480 A CN103607480 A CN 103607480A
Authority
CN
China
Prior art keywords
address resource
state
resource pool
address
memory
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
CN201310567404.4A
Other languages
English (en)
Other versions
CN103607480B (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.)
Changzhou Hengtang Technology Industry Co ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310567404.4A priority Critical patent/CN103607480B/zh
Publication of CN103607480A publication Critical patent/CN103607480A/zh
Application granted granted Critical
Publication of CN103607480B publication Critical patent/CN103607480B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Storage Device Security (AREA)
  • Memory System (AREA)

Abstract

本发明实施例公开了一种内存资源的管理方法、装置及单板,该方法包括:判断状态转换周期是否到达;当所述状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,其中,所述地址资源包含内存资源的内存地址,所述第一状态地址资源池用于释放和分配地址资源,所述第二状态地址资源池用于释放地址资源。本发明实施例由于对地址资源按照划分的地址资源池进行分块管理,以及对地址资源池进行整体回收,因此每个周期需要维护的数据量变少,提高了内存泄露的恢复速度,减少了通信设备的系统功耗,相应提升了内存管理性能。 

Description

一种内存资源的管理方法、装置及单板
技术领域
本发明涉及通信技术领域,特别涉及一种内存资源的管理方法、装置及单板。
背景技术
内存(Memory)是通信设备中重要的部件之一,通信设备中所有程序均在内存中运行。内存也被称为内存储器,用于暂时存放中央处理器(Central  Processing  Unit,CPU)中的运算数据,以及与硬盘等外部存储器交换的数据。内存管理是指对通信设备内存资源进行分配和使用的技术,其最主要的目的是在适当的时候对内存资源进行分配和释放,内存资源的分配和释放与通信设备内数据的写入和读出的速率成正比。在管理内存的过程中,如果为所运行的某个程序分配的内存资源在使用完毕后未释放,导致该内存资源一直被占据,直到该程序结束之前都无法分配给其它程序使用,则称为发生了内存泄露,内存泄露由于消耗了通信设备大量的系统内存资源,因此可能导致系统性能下降甚至瘫痪。
为了防止内存泄露,现有技术中采用设置时间戳的方式对内存资源进行强制回收。具体来说,由通信设备内的内存管理单元(Memory  Manage  Unit,MMU)维护一张内存管理表,该内存管理表中的每个表项包括一个已分配的地址资源和对应的时间戳,当某个地址资源被分配给某个报文时,设置该地址资源对应的时间戳为当前时间,并标记该地址资源为已分配;MMU定时遍历该内存管理表,对于标注为已分配的地址资源,MMU可以获取对应的时间戳与当前时间进行比较,如果二者的时间差超过预设的生存周期,则MMU强制回收该地址资源。
发明人在对现有技术的研究过程中发现,现有技术虽然可以防止内存泄露,但是随着网络带宽呈爆炸式增长,通信设备内部数据的写入和读出操作也呈海量增长,MMU所维护的内存管理表就会变大,而为了强制回收地址资源所要遍历的数据也相应增加,由此导致通信设备的内存泄露恢复速度变慢,且会增加通信设备的功耗,导致通信设备的内存管理性能下降。
发明内容
本发明实施例中提供了一种内存资源的管理方法、装置及单板,以解决现有防内存泄露方式会导致通信设备内存管理性能下降的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面,提供一种内存资源的管理方法,所述方法包括:
判断状态转换周期是否到达;
当所述状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,其中,所述地址资源包含内存资源的内存地址,所述第一状态地址资源池用于释放和分配地址资源,所述第二状态地址资源池用于释放地址资源。
结合第一方面,在第一方面的第一种实现方式中,所述方法还包括:
在所述判断状态转换周期是否到达之前,将所述地址资源划分为多个地址资源池;
为所述多个地址资源池中的地址资源池分别设置状态属性,所述多个地址资源池中的地址资源池根据设置的状态属性分为第一状态地址资源池和第二状态地址资源池。
结合第一方面,或第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述将至少一个第二状态地址资源池转换为第一状态地址资源池具体包括:
回收至少一个第二状态地址资源池的地址资源,并将地址资源被回收的所述至少一个第二状态地址资源池转换为第一状态地址资源池。
结合第一方面,或第一方面的第一种实现方式,或第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述第二状态地址资源池包括:至少一个第三状态地址资源池,和除所述第三状态地址资源池的第四状态地址资源池;
所述将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,具体包括:将一个第一状态地址资源池转换为第四状态地址资源池,并将一个第三状态地址资源池转换为第一状态地址资源池;
所述方法还包括:将一个第四状态地址资源池转换为第三状态地址资源池。
结合第一方面,或第一方面的第一种实现方式,或第一方面的第二种实现方式,或第一方面的第三种实现方式,在第一方面的第四种实现方式中,所述方法还包括:
当接收到报文时,获取第一状态地址资源池;
从所述第一状态地址资源池的空闲内存地址中为所述报文分配内存地址;
将所述报文写入与所分配的内存地址对应的内存空间中。
结合第一方面,或第一方面的第一种实现方式,或第一方面的第二种实现方式,或第一方面的第三种实现方式,或第一方面的第四种实现方式,在第一方面的第五种实现方式中,所述状态转换周期为使用一个地址资源池对应的内存资源需要的平均时间。
第二方面,提供一种内存资源的管理装置,其特征在于,所述装置包括:
判断单元,用于判断状态转换周期是否到达;
转换单元,用于当所述判断单元的判断结果为状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,其中,所述地址资源包含所述内存资源的内存地址,所述第一状态地址资源池用于释放和分配地址资源,所述第二状态地址资源池用于释放地址资源。
结合第二方面,在第二方面的第一种实现方式中,所述装置还包括:
划分单元,用于将所述地址资源划分为多个地址资源池;
设置单元,用于为所述划分单元划分的多个地址资源池中的地址资源池分别设置状态属性,所述多个地址资源池中的地址资源池根据设置的状态属性分为所述第一状态地址资源池和所述第二状态地址资源池。
结合第二方面,或第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述转换单元包括:
资源回收子单元,用于回收至少一个第二状态地址资源池的地址资源;
状态转换子单元,用于将地址资源被所述资源回收子单元回收的所述至少一个第二状态地址资源池转换为第一状态地址资源池。
结合第二方面,或第二方面的第一种实现方式,或第二方面的第二种实现方式,在第二方面的第三种实现方式中,所述第二状态地址资源池包括:至少一个第三状态地址资源池,和除所述第三状态地址资源池的第四状态地址资源池;
所述转换单元,具体用于将一个第一状态地址资源池转换为第四状态地址资源池,并将一个第三状态地址资源池转换为第一状态地址资源池;
所述转换单元,还用于将一个第四状态地址资源池转换为第三状态地址资源池。
结合第二方面,或第二方面的第一种实现方式,或第二方面的第二种实现方式,或第二方面的第三种实现方式,在第二方面的第四种实现方式中,所述装置还包括:
获取单元,用于当接收到报文时,获取第一状态地址资源池;
分配单元,用于从所述获取单元获取的第一状态地址资源池的空闲内存地址中为所述报文分配内存地址;
写入单元,用于将所述报文写入与所述分配单元分配的内存地址对应的内存空间中。
第三方面,提供一种单板,所述单板包括:存储器和与所述存储器连接的可编程电路器件,其中,
所述存储器,用于提供内存资源,所述内存资源的内存地址组成地址资源;
所述可编程电路器件,用于判断状态转换周期是否到达,当所述状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,其中,所述地址资源包含内存资源的内存地址,所述第一状态地址资源池用于释放和分配地址资源,所述第二状态地址资源池用于释放地址资源。
结合第三方面,在第三方面的第一种实现方式中,所述可编程电路器件,还用于将所述地址资源划分为多个地址资源池,为所述多个地址资源池中的地址资源池分别设置状态属性,所述多个地址资源池中的地址资源池根据设置的状态属性分为第一状态地址资源池和第二状态地址资源池。
结合第三方面,或第三方面的第一种实现方式,在第三方面的第二种实现方式中,所述可编程电路器件,具体用于回收至少一个第二状态地址资源池的地址资源,并将地址资源被回收的所述至少一个第二状态地址资源池转换为第一状态地址资源池。
结合第三方面,或第三方面的第一种实现方式,或第三方面的第二种实现方式,在第三方面的第三种实现方式中,所述第二状态地址资源池包括:至少一个第三状态地址资源池,和除所述第三状态地址资源池的第四状态地址资源池;
所述可编程电路器件,具体用于将一个第一状态地址资源池转换为第四状态地址资源池,并将一个第三状态地址资源池转换为第一状态地址资源池;
所述可编程电路器件,还用于将一个第四状态地址资源池转换为第三状态地址资源池。
结合第三方面,或第三方面的第一种实现方式,或第三方面的第二种实现方式,或第三方面的第三种实现方式,在第三方面的第四种实现方式中,所述单板还包括:分别与所述存储器和可编程电路器件连接的处理器,
所述可编程电路器件,还用于当接收到报文时,获取第一状态地址资源池,从所述第一状态地址资源池的空闲内存地址中为所述报文分配内存地址,并将所述报文写入所述存储器上与所分配的内存地址对应的内存空间中;
所述处理器,用于从所述内存空间中读取所述报文。
本发明实施例中,判断状态转换周期是否到达,当状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,第一状态地址资源池用于释放和分配地址资源,第二状态地址资源池用于释放地址资源。应用本发明实施例,与现有按照周期对每个地址资源进行遍历来决定是否强制回收相比,由于对地址资源按照划分的地址资源池进行分块管理,将地址资源分为至少一个第一状态地址资源池和至少一个第二状态地址资源池,并在状态转换周期达到时,以地址资源池为单位,仅需对至少一个第二状态地质资源池进行整体回收,以将至少一个第二状态地址资源池转换为可用于分配地址资源的第一状态地址资源池,因此每个周期需要维护的地址资源数量变少,由此提高了内存泄露的恢复速度,减少了通信设备的系统功耗,相应提升了内存管理性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明内存资源的管理方法的一个实施例流程图;
图2为本发明内存资源的管理方法的另一个实施例流程图;
图3为本发明内存资源的管理装置的一个实施例框图;
图4为本发明内存资源的管理装置的另一个实施例框图;
图5为本发明内存资源的管理装置的另一个实施例框图;
图6为本发明单板的实施例框图;
图7A为应用本发明实施例的一个单板架构示意图;
图7B为图7A所示单板进行内存资源管理时地址资源池的状态转换示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
参见图1,为本发明内存资源的管理方法的一个实施例流程图:
步骤101:判断状态转换周期是否到达。
内存资源管理是指对内存资源进行分配和使用的技术,其最主要的目的是在适当的时候对内存资源进行分配和释放。内存资源通常由若干内存空间组成,每个内存空间对应一个内存地址,所有内存地址组成地址资源,对内存资源的管理可以等同于对地址资源的管理,通过内存地址可以找到对应的内存空间,从而通过内存空间进行报文读写操作。
本实施例中,可以将地址资源划分为多个地址资源池,并为地址资源池设置状态,包括第一状态地址资源池和第二状态地址资源池。其中,第一状态地址资源池用于释放和分配地址资源,第二状态地址资源池用于释放地址资源,即第一状态地址资源池中的内存地址可以分配和释放,而第二状态地址资源池中的内存地址仅能够释放,但不能分配。
为了对地址资源实现分块管理,本实施例中设置了状态转换周期,状态转换周期为使用一个地址资源池对应的内存资源需要的平均时间,以此保证每个状态转换周期内,至少一个地址资源池对应的内存资源可以提供给整个操作系统使用,从而可以在每个状态转换周期内,通过将该至少一个地址资源池作为第一状态地址资源池,用于释放和分配地址资源即可。
步骤102:当状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池。
本实施例中,根据状态转换周期的判断结果,在每个状态转换周期到达时,可以按照地址资源池的划分顺序,将第一状态地址资源池中排在最前的至少一个第一状态地址资源池,即将处于第一状态时间最长的至少一个第一状态地址资源池转换为第二状态地址资源池,以及将第二状态地址资源池中排在最前的至少一个第二状态地址资源池,即将处于第二状态时间最长的至少一个第二状态地址资源池的地址资源进行回收,并将该至少一个第二状态地址资源池转换为第一状态地址资源池。其中,在每个状态转换周期内,第一状态地址资源池的数量和第二状态地址资源池的数量可以保持不变,以此经过若干状态转换周期,每个地址资源池都可以转换为第一状态地址资源池,从而使其地址资源被强制回收。进一步,第二状态地址资源池的数量与状态转换周期相乘获得的时间不小于系统预设的内存地址的强制回收时间。
由上述实施例可见,该实施例由于对地址资源按照划分的地址资源池进行分块管理,将地址资源分为至少一个第一状态地址资源池和至少一个第二状态地址资源池,并在状态转换周期达到时,以地址资源池为单位,仅需对至少一个第二状态地质资源池进行整体回收,以将至少一个第二状态地址资源池转换为可用于分配地址资源的第一状态地址资源池,因此每个周期需要维护的地址资源数量变少,由此提高了内存泄露的恢复速度,减少了通信设备的系统功耗,相应提升了内存管理性能。
参见图2,为本发明内存资源的管理方法的另一个实施例流程图:
步骤201:将地址资源划分为多个地址资源池。
内存资源管理是指对内存资源进行分配和使用的技术,其最主要的目的是在适当的时候对内存资源进行分配和释放。内存资源通常由若干内存空间组成,每个内存空间对应一个内存地址,所有内存地址组成地址资源,对内存资源的管理可以等同于对地址资源的管理,通过内存地址可以找到对应的内存空间,从而通过内存空间进行报文读写操作。
通常地址资源包含的内存地址是连续的,本实施例中在将地址资源划分为多个地址资源池时,可以按照内存地址的顺序划分地址资源池。例如,假设共有0至N*S-1个内存地址,N和S均为自然数,则可以将每S个内存地址划分为一个地址资源池,相应可以划分出N个地址资源池,即第一个地址资源池中包含的内存地址为内存地址0至内存地址S-1,第二个地址资源池中包含的内存地址为内存地址S至内存地址2S-1,以此类推,第N个地址资源池中包含的内存地址为内存地址(N-1)*S至内存地址N*S-1。
步骤202:为多个地址资源池中的地址资源池分别设置状态属性,然后分别执行步骤203和步骤206。
本步骤中,可以将划分的多个地址资源池中的地址资源池设置为第一状态地址资源池和第二状态地址资源池,其中,第一状态地址资源池用于释放和分配地址资源,第二状态地址资源池用于释放地址资源,即第一状态地址资源池中的内存地址可以分配和释放,而第二状态地址资源池中的内存地址仅能够释放,但不能分配。优选的,第二状态地址资源池可以进一步包括至少一个第三状态地址资源池,和除第三状态地址资源池的第四状态地址资源池。
步骤203:判断状态转换周期是否到达,若是,则执行步骤204;否则,返回步骤203。
为了对地址资源实现分块管理,本实施例中设置了状态转换周期,状态转换周期为使用一个地址资源池对应的内存资源需要的平均时间,以此保证每个状态转换周期内,至少一个地址资源池对应的内存资源可以提供给整个系统使用,从而可以在每个状态转换周期内,通过将该至少一个地址资源池作为第一状态地址资源池,用于释放和分配地址资源即可。
结合步骤202中地址资源池的状态设置,可以将第三状态地址资源池作为每个状态转换周期系统强制回收的地址资源池,该第三状态地址资源池的个数优选为一个。本实施例中,假设初始时,将N个地址资源池中的地址资源池0至地址资源池n-1设置为第四状态地址资源池,将地址资源池n至地址资源池N-2设置为第一状态地址资源池,将地址资源池N-1设置为第三状态地址资源池。
步骤204:将一个第一状态地址资源池转换为第四状态地址资源池,将一个第四状态地址资源池转换为第三状态地址资源池。
步骤205:回收一个第三状态地址资源池,并将该一个第三状态地址资源池转换为第一状态地址资源池,返回步骤203。
当每个状态转换周期到达时,可以按照地址资源池的划分顺序,将排在最前的一个第一状态地址资源池,即处于第一状态时间最长的第一状态地址资源池转换为第四状态地址资源池,将排在最前的一个第四状态地址资源池,即处于第四状态时间最长的第四状态地址资源池转换为第三状态地址资源池,以及排在最前的一个第三状态地址资源池,即处于第三状态时间最长的第三状态地址资源池的地址资源进行回收,并将该第三状态地址资源池转换为第一状态地址资源池。本实施例中,在每个状态转换周期内,第一状态地址资源池的数量、第三状态地址资源池的数量以及第四状态地址资源池的数量可以保持不变,以此经过若干状态转换周期,每个地址资源池都可以转换为第一状态地址资源池,从而使其地址资源被强制回收。
按照步骤203中的地址资源池的初始状态设置,当第一个状态转换周期到达时,可以将地址资源池0从第四状态地址资源池转换为第三状态地址资源池,将地址资源池n从第一状态地址资源池转换为第四状态地址资源池,以及将地址资源池N-1从第三状态地址资源池转换为第一状态地址资源池,并强制回收地址资源池N-1的所有地址资源,以便在下一个状态转换周期,该地址资源池N-1的地址资源可以进行分配。
步骤206:判断是否接收到报文,若是,则执行步骤207;否则,返回步骤206。
步骤207:获取第一状态地址资源池,并从第一状态地址资源池的空闲内存地址中为该报文分配内存地址。
由于地址资源池中仅有第一状态地址资源池可以分配地址资源,因此当接收到报文时,可以获取第一状态地址资源池。本实施例中,可以为第一状态地址资源池的起始地址资源池设置标记,在每个状态转换周期,根据第一状态地址资源池的起始位置的变化,将标记顺序移动即可,当接收到报文时,可以根据该标记定位到第一状态地址资源池的起始位置,从而获得第一状态地址资源池,并从中获得一个空闲的内存地址分配给报文即可。
步骤208:将报文写入与所分配的内存地址对应的内存空间中,返回步骤206。
由于每个内存地址对应内存资源中的一个内存空间,因此当分配了一个空闲的内存地址后,可以按照该内存地址将报文写入对应的内存空间。
由上述实施例可见,该实施例由于对地址资源按照划分的地址资源池进行分块管理,将地址资源分为至少一个第一状态地址资源池和至少一个第二状态地址资源池,并在状态转换周期达到时,以地址资源池为单位,仅需对至少一个第二状态地质资源池进行整体回收,以将至少一个第二状态地址资源池转换为可用于分配地址资源的第一状态地址资源池,因此每个周期需要维护的地址资源数量变少,由此提高了内存泄露的恢复速度,减少了通信设备的系统功耗,相应提升了内存管理性能。
与本发明内存资源的管理方法的实施例相对应,本发明还提供了内存资源的管理装置及单板的实施例。
参见图3,为本发明内存资源的管理装置的一个实施例框图:
该装置包括:判断单元310和转换单元320。
其中,判断单元310,用于判断状态转换周期是否到达;
转换单元320,用于当判断单元310的判断结果为状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,其中,地址资源包含内存资源的内存地址,第一状态地址资源池用于释放和分配地址资源,第二状态地址资源池用于释放地址资源。
其中,转换单元320可以包括(图3中未示出):
资源回收子单元,用于回收至少一个第二状态地址资源池的地址资源;
状态转换子单元,用于将地址资源被资源回收子单元回收的至少一个第二状态地址资源池转换为第一状态地址资源池。
参见图4,为本发明内存资源的管理装置的另一个实施例框图:
该装置包括:划分单元410、设置单元420、判断单元430和转换单元440。
其中,划分单元410,用于将地址资源划分为多个地址资源池;
设置单元420,用于为划分单元410划分的多个地址资源池中的地址资源池分别设置状态属性,该多个地址资源池中的地址资源池根据设置的状态属性分为第一状态地址资源池和第二状态地址资源池,其中,地址资源包含内存资源的内存地址,第二状态地址资源池包括至少一个第三状态地址资源池,和除第三状态地址资源池的第四状态地址资源池,第一状态地址资源池用于释放和分配地址资源,第二状态地址资源池用于释放地址资源;
判断单元430,用于判断状态转换周期是否到达;
转换单元440,用于当判断单元430的判断结果为状态转换周期到达时,将一个第一状态地址资源池转换为第四状态地址资源池,将一个第三状态地址资源池转换为第一状态地址资源池,并将一个第四状态地址资源池转换为第三状态地址资源池。
其中,转换单元440可以包括(图4中未示出):
资源回收子单元,用于回收一个第三状态地址资源池的地址资源;
状态转换子单元,用于将地址资源被资源回收子单元回收的一个第三状态地址资源池转换为第一状态地址资源池。
参见图5,为本发明内存资源的管理装置的另一个实施例框图:
该装置包括:判断单元510、转换单元520、获取单元530、分配单元540和写入单元550。
其中,判断单元510,用于判断状态转换周期是否到达;
转换单元520,用于当判断单元510的判断结果为状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,其中,地址资源包含内存资源的内存地址,第一状态地址资源池用于释放和分配地址资源,第二状态地址资源池用于释放地址资源;
获取单元530,用于当接收到报文时,获取第一状态地址资源池;
分配单元540,用于从获取单元530获取的第一状态地址资源池的空闲内存地址中为报文分配内存地址;
写入单元550,用于将报文写入与分配单元540分配的内存地址对应的内存空间中。
其中,转换单元520可以包括(图5中未示出):
资源回收子单元,用于回收至少一个第二状态地址资源池的地址资源;
状态转换子单元,用于将地址资源被资源回收子单元回收的至少一个第二状态地址资源池转换为第一状态地址资源池。
参见图6,为本发明单板的实施例框图:
该单板包括:存储器610和与存储器610连接的可编程电路器件620。
其中,存储器610,用于提供内存资源,内存资源的内存地址组成地址资源;
可编程电路器件620,用于判断状态转换周期是否到达,当状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,其中,地址资源包含内存资源的内存地址,第一状态地址资源池用于释放和分配地址资源,第二状态地址资源池用于释放地址资源。
在一个可选的实现方式中:
可编程电路器件620,还可以用于将地址资源划分为多个地址资源池,为多个地址资源池中的地址资源池分别设置状态属性,该多个地址资源池中的地址资源池根据设置的状态属性分为第一状态地址资源池和第二状态地址资源池。
在另一个可选的实现方式中:
可编程电路器件620,可以具体用于回收至少一个第二状态地址资源池的地址资源,并将地址资源被回收的该至少一个第二状态地址资源池转换为第一状态地址资源池。
在另一个可选的实现方式中:
第二状态地址资源池可以进一步包括:至少一个第三状态地址资源池,和除第三状态地址资源池的第四状态地址资源池;
可编程电路器件620,可以具体用于将一个第一状态地址资源池转换为第四状态地址资源池,并将一个第三状态地址资源池转换为第一状态地址资源池;可编程电路器件620,还可以用于将一个第四状态地址资源池转换为第三状态地址资源池。
在另一个可选的实现方式中:
该单板还可以包括(图6中未示出):分别与存储器610和可编程电路器件620连接的处理器;
可编程电路器件620,还可以用于当接收到报文时,获取第一状态地址资源池,从第一状态地址资源池的空闲内存地址中为该报文分配内存地址,并将该报文写入存储器610上与所分配的内存地址对应的内存空间中;
处理器,用于从内存空间中读取该报文。
上述实施例中,可编程电路器件620可以具体为现场可编程门阵列(FieldProgrammable  Gate  Array,FPGA)芯片;存储器610可以具体为双倍速率同步动态随机存储器(Double  Data  Rate,DDR)等,对此本发明实施例不进行限制。
参见图7A,为应用本发明实施例的一个单板架构示意图;
图7A示出的单板包括:相互连接的CPU、DDR和FPGA芯片。
其中,DDR中内存资源的内存地址被划分为N个地址资源池,记为地址资源池0至地址资源池N-1,N为大于2的自然数,可以根据系统所需要的平均内存资源确定一个地址资源池对应的内存资源的大小,然后根据系统总的内存资源和每个地址资源池对应的内存资源确定地址资源池的个数N;每个地址资源池由S个内存地址组成,S为自然数,N个地址资源池共有N*S个内存地址,每个内存地址可以对应DDR中的一个内存空间(固定大小的内存块),如图7A中内存空间分别记为内存空间0至内存空间N*S-1。
参见图7B,为图7A所示单板进行内存资源管理时地址资源池的状态转换示意图,初始状态,将N个地址资源池中的地址资源池0至第地址资源池n-1设置为黄状态,将第地址资源池n至地址资源池N-2设置为绿状态,将地址资源池N-1设置为红状态。其中,红状态地址资源池中的地址资源可以释放,但不用于分配;黄状态地址资源池中的地址资源可以释放,但不用于分配;绿状态地址资源池中的地址资源可以释放,也可以分配。
其中,FPGA芯片包括MMU模块、上送模块和安全模块。MMU模块可以按照预设的状态转换周期T0对DDR中各个地址资源池的状态进行管理,其中,T0可以根据系统所需要的最大内存资源Req_max进行设置,即将系统使用每个地址资源池对应的内存资源需要的平均时间设置为T0;在每个T0到达时,可以将第一个黄状态地址资源池切换为红状态地址资源池;将第一个绿状态地址资源池切换为黄状态地址资源池;强制回收红状态地址资源池的所有地址资源,并将红状态地址资源池切换为绿状态地址资源池。结合图7B,当第一个T0周期到达时,基于初始状态的设置,将地址资源池0从黄状态切换为红状态,将地址资源池n从绿状态切换为黄状态,将地址资源池N-1从红状态切换为绿状态。
当FPGA芯片接收到报文后,由安全模块对报文进行安全检测和过滤,将合法的报文发送到上送模块,上送模块向MMU模块申请空闲的内存地址,MMU模块根据地址资源池的状态,从绿状态地址资源池中分配一个空闲的内存地址,将该内存地址从绿状态地址资源池中删除,并将该内存地址发送给上送模块,上送模块将报文写入到DDR上该内存地址对应的内存空间中;CPU可以从该内存空间中读取报文,并且在读取完毕后,由MMU模块对该内存空间的内存地址进行回收。
本发明实施例中,无论地址资源池为何种状态,每个地址资源池中已经分配的内存地址都可以按照现有内存管理方式进行释放,在释放某个内存地址时,将该内存地址重新写入其所属的地址资源池。
以上述具有N个地址资源池,且状态转换周期为T0的系统来说,对于每一个地址资源池,每隔(N-1)个T0周期就能够转变为红状态地址资源池,从而被强制回收一次,因此当系统存在内存泄露时,可以周期性实现系统自愈。
由上述实施例可见,判断状态转换周期是否到达,当状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,第一状态地址资源池用于释放和分配地址资源,第二状态地址资源池用于释放地址资源。应用本发明实施例,与现有按照周期对每个地址资源进行遍历来决定是否强制回收相比,由于对地址资源按照划分的地址资源池进行分块管理,将地址资源分为至少一个第一状态地址资源池和至少一个第二状态地址资源池,并在状态转换周期达到时,以地址资源池为单位,仅需对至少一个第二状态地质资源池进行整体回收,以将至少一个第二状态地址资源池转换为可用于分配地址资源的第一状态地址资源池,因此每个周期需要维护的地址资源数量变少,由此提高了内存泄露的恢复速度,减少了通信设备的系统功耗,相应提升了内存管理性能。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种内存资源的管理方法,其特征在于,所述方法包括:
判断状态转换周期是否到达;
当所述状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,其中,所述地址资源包含内存资源的内存地址,所述第一状态地址资源池用于释放和分配地址资源,所述第二状态地址资源池用于释放地址资源。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述判断状态转换周期是否到达之前,将所述地址资源划分为多个地址资源池;
为所述多个地址资源池中的地址资源池分别设置状态属性,所述多个地址资源池中的地址资源池根据设置的状态属性分为第一状态地址资源池和第二状态地址资源池。
3.根据权利要求1或2所述的方法,其特征在于,所述将至少一个第二状态地址资源池转换为第一状态地址资源池具体包括:
回收至少一个第二状态地址资源池的地址资源,并将地址资源被回收的所述至少一个第二状态地址资源池转换为第一状态地址资源池。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述第二状态地址资源池包括:至少一个第三状态地址资源池,和除所述第三状态地址资源池的第四状态地址资源池;
所述将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,具体包括:将一个第一状态地址资源池转换为第四状态地址资源池,并将一个第三状态地址资源池转换为第一状态地址资源池;
所述方法还包括:将一个第四状态地址资源池转换为第三状态地址资源池。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括:
当接收到报文时,获取第一状态地址资源池;
从所述第一状态地址资源池的空闲内存地址中为所述报文分配内存地址;
将所述报文写入与所分配的内存地址对应的内存空间中。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述状态转换周期为使用一个地址资源池对应的内存资源需要的平均时间。
7.一种内存资源的管理装置,其特征在于,所述装置包括:
判断单元,用于判断状态转换周期是否到达;
转换单元,用于当所述判断单元的判断结果为状态转换周期到达时,将地址资源中的至少一个第一状态地址资源池转换为第二状态地址资源池,并将至少一个第二状态地址资源池转换为第一状态地址资源池,其中,所述地址资源包含所述内存资源的内存地址,所述第一状态地址资源池用于释放和分配地址资源,所述第二状态地址资源池用于释放地址资源。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
划分单元,用于将所述地址资源划分为多个地址资源池;
设置单元,用于为所述划分单元划分的多个地址资源池中的地址资源池分别设置状态属性,所述多个地址资源池中的地址资源池根据设置的状态属性分为所述第一状态地址资源池和所述第二状态地址资源池。
9.根据权利要求7或8所述的装置,其特征在于,所述转换单元包括:
资源回收子单元,用于回收至少一个第二状态地址资源池的地址资源;
状态转换子单元,用于将地址资源被所述资源回收子单元回收的所述至少一个第二状态地址资源池转换为第一状态地址资源池。
10.根据权利要求7至9任意一项所述的装置,其特征在于,所述第二状态地址资源池包括:至少一个第三状态地址资源池,和除所述第三状态地址资源池的第四状态地址资源池;
所述转换单元,具体用于将一个第一状态地址资源池转换为第四状态地址资源池,并将一个第三状态地址资源池转换为第一状态地址资源池;
所述转换单元,还用于将一个第四状态地址资源池转换为第三状态地址资源池。
11.根据权利要求7至10任意一项所述的装置,其特征在于,所述装置还包括:
获取单元,用于当接收到报文时,获取第一状态地址资源池;
分配单元,用于从所述获取单元获取的第一状态地址资源池的空闲内存地址中为所述报文分配内存地址;
写入单元,用于将所述报文写入与所述分配单元分配的内存地址对应的内存空间中。
CN201310567404.4A 2013-11-14 2013-11-14 一种内存资源的管理方法、装置及单板 Active CN103607480B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310567404.4A CN103607480B (zh) 2013-11-14 2013-11-14 一种内存资源的管理方法、装置及单板

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310567404.4A CN103607480B (zh) 2013-11-14 2013-11-14 一种内存资源的管理方法、装置及单板

Publications (2)

Publication Number Publication Date
CN103607480A true CN103607480A (zh) 2014-02-26
CN103607480B CN103607480B (zh) 2017-02-08

Family

ID=50125680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310567404.4A Active CN103607480B (zh) 2013-11-14 2013-11-14 一种内存资源的管理方法、装置及单板

Country Status (1)

Country Link
CN (1) CN103607480B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108390784A (zh) * 2018-02-13 2018-08-10 中国联合网络通信集团有限公司 一种资源回收的方法及装置
CN111984374A (zh) * 2020-08-20 2020-11-24 海光信息技术有限公司 用于管理安全内存的方法及其系统、装置和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996024099A1 (en) * 1995-01-31 1996-08-08 Next Software, Inc. Transparent local and distributed memory management system
CN1845080A (zh) * 2005-04-07 2006-10-11 华为技术有限公司 内存泄漏检测及防止的方法
US20070294501A1 (en) * 2004-04-01 2007-12-20 Azul Systems, Inc. Cooperative memory management
CN103106146A (zh) * 2012-12-07 2013-05-15 大连奥林匹克电子城咨信商行 一种内存管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996024099A1 (en) * 1995-01-31 1996-08-08 Next Software, Inc. Transparent local and distributed memory management system
US20070294501A1 (en) * 2004-04-01 2007-12-20 Azul Systems, Inc. Cooperative memory management
CN1845080A (zh) * 2005-04-07 2006-10-11 华为技术有限公司 内存泄漏检测及防止的方法
CN103106146A (zh) * 2012-12-07 2013-05-15 大连奥林匹克电子城咨信商行 一种内存管理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108390784A (zh) * 2018-02-13 2018-08-10 中国联合网络通信集团有限公司 一种资源回收的方法及装置
CN108390784B (zh) * 2018-02-13 2019-10-08 中国联合网络通信集团有限公司 一种资源回收的方法及装置
CN111984374A (zh) * 2020-08-20 2020-11-24 海光信息技术有限公司 用于管理安全内存的方法及其系统、装置和存储介质

Also Published As

Publication number Publication date
CN103607480B (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN103902465B (zh) 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器
CN102650931B (zh) 一种写入数据的方法及系统
CN102707990B (zh) 基于容器的处理方法和装置
CN102591789B (zh) 存储空间回收方法及装置
CN109783017B (zh) 一种存储设备坏块的处理方法、装置及存储设备
CN103995855B (zh) 存储数据的方法和装置
CN104008061A (zh) 内存回收方法及装置
CN103942159A (zh) 一种基于混合存储设备的数据读写方法与装置
CN103455379A (zh) 资源分配方法及系统
CN101499313B (zh) 一种确保数据安全的方法、设备及存储系统
CN107533435A (zh) 存储空间的分配方法及存储设备
CN102866954A (zh) 内存分配的方法及装置
CN108829523A (zh) 内存资源分配方法、装置、电子设备及可读存储介质
CN103793332B (zh) 基于内存的数据存储方法、装置、处理器和电子设备
CN103778149A (zh) 文件系统及其对文件进行存储管理的方法
CN107817945A (zh) 一种混合内存结构的数据读取方法和系统
CN106055274A (zh) 一种数据存储方法、数据读取方法及电子设备
CN104317734A (zh) 一种适用于slab的内存分配方法及装置
CN103605484A (zh) 一种数据存储的方法和存储服务器
CN103345519A (zh) 无共享分布式数据库的数据分布的方法和装置
CN101610197A (zh) 一种缓冲区管理方法及其系统
CN103607480A (zh) 一种内存资源的管理方法、装置及单板
CN101826055B (zh) 一种用于Linux系统数据缓存分配的管理方法
CN107148612A (zh) 一种扩展用户分区的方法和装置
CN104317735A (zh) 大容量缓存及数据存储和读取、内存分配和回收的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201102

Address after: 625, room 269, Connaught platinum Plaza, No. 518101, Qianjin Road, Xin'an street, Shenzhen, Guangdong, Baoan District

Patentee after: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201126

Address after: 213000 No. 11 Qingyang North Road, Tianning District, Changzhou, Jiangsu

Patentee after: Changzhou Hong quantity Electronic Technology Co.,Ltd.

Address before: 625, room 269, Connaught platinum Plaza, No. 518101, Qianjin Road, Xin'an street, Shenzhen, Guangdong, Baoan District

Patentee before: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220829

Address after: Tianning District Hehai road 213000 Jiangsu city of Changzhou province No. 9

Patentee after: Changzhou Tianning Communication Technology Industrial Park Co.,Ltd.

Address before: 213000 No. 11 Qingyang North Road, Tianning District, Changzhou City, Jiangsu Province

Patentee before: Changzhou Hong quantity Electronic Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230109

Address after: Tianning District Hehai road 213000 Jiangsu city of Changzhou province No. 9

Patentee after: Changzhou Hengtang Technology Industry Co.,Ltd.

Address before: Tianning District Hehai road 213000 Jiangsu city of Changzhou province No. 9

Patentee before: Changzhou Tianning Communication Technology Industrial Park Co.,Ltd.