CN101937398A - 嵌入式系统内存池配置方法及装置 - Google Patents

嵌入式系统内存池配置方法及装置 Download PDF

Info

Publication number
CN101937398A
CN101937398A CN2010102805948A CN201010280594A CN101937398A CN 101937398 A CN101937398 A CN 101937398A CN 2010102805948 A CN2010102805948 A CN 2010102805948A CN 201010280594 A CN201010280594 A CN 201010280594A CN 101937398 A CN101937398 A CN 101937398A
Authority
CN
China
Prior art keywords
memory
memory pool
configuration file
pool
peak value
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
CN2010102805948A
Other languages
English (en)
Other versions
CN101937398B (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.)
Haining hi tech Zone Science and Innovation Center Co., Ltd
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201010280594.8A priority Critical patent/CN101937398B/zh
Priority to PCT/CN2010/079278 priority patent/WO2012034322A1/zh
Publication of CN101937398A publication Critical patent/CN101937398A/zh
Application granted granted Critical
Publication of CN101937398B publication Critical patent/CN101937398B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Abstract

本发明公开了一种嵌入式系统内存池配置方法及装置,所述方法包括:在上电初始化阶段,读取内存池配置文件,将内存池配置数据写入申请的配置缓存中,并建立相应的内存池;在运行阶段,根据内存分配/释放情况实时更新配置缓存中相应内存池的当前使用值,并在内存池的当前使用值大于该内存池的使用峰值时,将配置缓存中该内存池的使用峰值更新为其当前使用值;在关电或复位阶段,将内存池配置文件中小于配置缓存中相应项使用峰值的内存池的内存块数更新为所述使用峰值。所述装置包括配置缓存建立模块、配置缓存更新模块和配置文件更新模块。本发明可以在不升级嵌入式应用程序的情况下,根据程序使用内存的情况自动调整内存配置文件。

Description

嵌入式系统内存池配置方法及装置
技术领域
本发明涉及内存管理技术,更具体地说,涉及一种嵌入式系统内存池配置方法及装置。
背景技术
在现有的嵌入式系统内存管理技术中,为了满足高效分配和回收,以及尽可能减少内存碎片的需要,往往采用内存池集的内存管理方法。此方法的基本思想是将内存划分为若干个连续内存区域,每个内存区域又继续划分为若干个大小相同的内存块,每个内存区域就是一个内存池,所有内存区域就组成一个内存池集。当有内存分配申请时,遍历整个内存池集,找到大小最匹配的内存池,从中分配空闲内存块。
基于上述内存管理方法的嵌入式应用,开发人员需要先根据应用使用内存情况,预先估计各内存池的内存块数量,然后在应用代码中做好配置,并编译到最终的嵌入式应用程序中。在实际中,往往很难一次估计出应用程序使用的内存数量,通常是在反复测试后,才能确定出最终的配置。而且,一旦应用程序使用内存情况有变化,也需要重新调整内存配置。由于嵌入式应用程序往往是烧录到非易失存储器中,频繁调整配置就需要频繁的烧录,这给开发带来极大的不便。而且,常常出现发布版本的配置不合适,测试无法进行下去,需要升级版本,从而影响了测试进度。因此,这种配置方式极不灵活。
现有的嵌入式系统内存管理相关专利技术中,往往专注于内存池分配和回收算法,而很少提及如何解决内存池配置易用性问题。专利CN200610166525给出了一种动态内存池的实现方法,其内存池可以动态的扩充和回收,不需开发人员配置,然而这种内存管理机制实现复杂,在嵌入式系统处理数据量大时,频繁地扩充和回收必然导致内存分配和释放的效率降低,对于实时性要求较高的嵌入式系统不是最优选择。
发明内容
本发明提供一种嵌入式系统内存池配置方法及装置,用以解决根据嵌入式应用程序使用内存的情况自动调整内存池配置的问题。
本发明技术方案如下:
一种嵌入式系统内存池配置方法,包括步骤:
步骤A、在嵌入式应用程序上电初始化阶段,读取内存池配置文件,根据读取到的内存池配置数据申请相应大小的配置缓存,将所述内存池配置数据写入所述配置缓存中,并建立相应的内存池;
步骤B、在嵌入式应用程序运行阶段,根据内存分配/释放情况实时更新配置缓存中相应内存池的当前使用值,并在内存池的当前使用值大于该内存池的使用峰值时,将配置缓存中该内存池的使用峰值更新为其当前使用值;
步骤C、在嵌入式应用程序关电或复位阶段,比较每个内存池在配置缓存中记录的使用峰值是否大于在内存池配置文件中记录的内存块数,如果是,则将内存池配置文件中记录的内存块数更新为所述使用峰值。
进一步地,所述内存池配置文件中记录了配置文件更新标志、每个内存池的内存块大小和内存块数。
进一步地,所述配置缓存按内存池个数等分为若干个配置项,每个配置项对应一个内存池的配置,其中包括内存池的内存块大小,当前使用值及使用峰值。
进一步地,所述配置缓存中内存池的当前使用值的初始值为零,内存池的使用峰值的初始值为内存池配置文件中相应内存池的内存块数。
进一步地,所述根据内存分配情况实时更新配置缓存中相应内存池的当前使用值的具体过程为:
B1、判断嵌入式应用程序申请的内存大小是否小于最大内存池的内存块大小,若是,执行步骤B2,否则,使用其它预设策略进行内存分配;
B2、从所有内存池中查找最匹配的内存池,将其作为当前内存池,判断当前内存池中是否有空闲内存块,若有,直接执行步骤B3,否则,使用其它预设策略分配新的内存区域,将其划分为本内存池的内存块,执行步骤B3;
B3、从当前内存池分配内存块,将当前内存池的当前使用值加1,若加1后的当前使用值大于当前内存池的使用峰值,则将配置缓存中该内存池的使用峰值变换为加1后的当前使用值。
进一步地,所述步骤C具体包括:
C1、判断是否存在内存池配置文件,若是,执行步骤C2,否则,流程结束;
C2、读取内存池配置文件中配置文件更新标志,判断是否需更新配置文件,若是,执行步骤C3,否则,关闭内存池配置文件;
C3、依次读取内存池配置文件中各内存池的内存块数,将内存池配置文件中小于配置缓存中相应项使用峰值的内存池的内存块数更新为所述使用峰值后,关闭内存池配置文件。
一种嵌入式系统内存池配置装置,包括:
配置缓存建立模块,用于在嵌入式应用程序上电初始化阶段,读取内存池配置文件,根据读取到的内存池配置数据申请适当大小的配置缓存,将所述内存池配置数据写入所述配置缓存中,并建立相应的内存池;
配置缓存更新模块,用于在嵌入式应用程序运行阶段,根据内存分配/释放情况实时更新配置缓存中相应内存池的当前使用值,并在内存池的当前使用值大于该内存池的使用峰值时,将配置缓存中该内存池的使用峰值更新为其当前使用值;
配置文件更新模块,用于在嵌入式应用程序关电或复位阶段,比较每个内存池在配置缓存中记录的使用峰值是否大于在内存池配置文件中记录的内存块数,如果是,则将内存池配置文件中记录的内存块数更新为所述使用峰值。
进一步地,所述内存池配置文件中记录了配置文件更新标志、每个内存池的内存块大小和内存块数。
进一步地,所述配置缓存按内存池个数等分为若干个配置项,每个配置项对应一个内存池的配置,其中包括内存池的内存块大小,当前使用值及使用峰值。
进一步地,所述配置缓存中内存池的当前使用值的初始值为零,内存池的使用峰值的初始值为内存池配置文件中相应内存池的内存块数。
本发明有益效果如下:
本发明可以在不升级嵌入式应用程序的情况下,根据程序使用内存的情况自动调整内存配置文件,提高了嵌入式系统内存管理模块的易用性,降低了维护难度,而且实现简单,不影响内存的高效分配和回收,适合于实时性要求较高的嵌入式系统。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中嵌入式系统的结构示意图;
图2为本发明实施例中嵌入式系统内存池配置方法的实现原理流程图;
图3为本发明实施例所述嵌入式系统内存池配置方法中建立配置缓存的流程图;
图4为本发明实施例所述嵌入式系统内存池配置方法中分配内存块时,更新配置缓存的流程图;
图5为本发明实施例所述嵌入式系统内存池配置方法中释放内存块时,更新配置缓存的流程图;
图6为本发明实施例所述嵌入式系统内存池配置方法中更新内存池配置文件的流程图;
图7为本发明实施例所述嵌入式系统内存池配置装置的结构框图。
具体实施方式
为克服了现有技术中存在的嵌入式系统内存池配置不灵活的问题,本发明提供一种嵌入式系统内存池配置方法及装置,本发明可以在不升级嵌入式应用程序的情况下,根据嵌入式应用程序使用内存的情况自动调整内存池配置,从而提高了嵌入式系统内存管理的易用性,降低了嵌入式应用程序的维护难度。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,该图为本发明实施例中嵌入式系统的结构示意图,主要包含以下部分:
内存池配置文件:用于记录内存池配置的数据,其中记录了配置文件更新标志、各内存池的内存块大小和内存块数;
非易失存储器:用于储存内存池配置文件的物理介质;
嵌入式应用程序:运行在嵌入式CPU上的软件程序,包含嵌入式操作系统内核、内存管理模块、文件系统和非易失存储器驱动等功能模块;
其中,所述内存管理模块可以实现内存分配和释放,同时,记录内存池的当前使用值和峰值。所述文件系统和非易失存储器驱动则用于对存储在非易失存储器上的内存池配置文件进行读写操作。
本发明实施例提供了一种嵌入式系统内存池配置方法,请参阅图2,该图为本发明实施例中嵌入式系统内存池配置方法的实现原理流程图,其主要包括如下步骤:
S20,在嵌入式应用程序上电初始化阶段,读取内存池配置文件,获取内存池的个数、每个内存池的内存块大小和内存块数;
S21,根据获取到的内存池配置数据从嵌入式操作系统申请相应大小的配置缓存,并将获取到的内存池配置数据写入配置缓存中;
S22,根据配置缓存中各内存池的内存块大小和内存块数,建立相应的内存池;
S23,在嵌入式应用程序运行阶段,根据内存分配/释放情况实时更新配置缓存中相应内存池的当前使用值,并在内存池的当前使用值大于该内存池的使用峰值时,将配置缓存中该内存池的使用峰值更新为其当前使用值;
S24,在嵌入式应用程序关电或复位阶段,若判定需更新内存池配置文件,则比较每个内存池在配置缓存中记录的使用峰值是否大于在内存池配置文件中记录的内存块数,如果是,则将内存池配置文件中记录的内存块数更新为所述使用峰值。
请参阅图3,该图为本发明实施例所述嵌入式系统内存池配置方法中建立配置缓存的流程图,其主要包括如下步骤:
S101,打开内存池配置文件,如果成功,则进入S102,否则,进入S103;
S102,读取内存池配置文件,获取内存池的个数、每个内存池的内存块大小和内存块数,根据获取到的内存池配置数据计算出配置缓存的大小;
S103,使用嵌入式应用程序中的默认配置作为实际的内存池配置,进入S107;
S104,从嵌入式操作系统中申请配置缓存,配置缓存按内存池个数等分为若干个配置项,每个配置项对应一个内存池的配置,其中包括内存池的内存块大小、当前使用值及使用峰值,配置缓存中内存池的当前使用值的初始值为零,内存池的使用峰值的初始值为内存池配置文件中相应内存池的内存块数;
S105,读取内存池配置文件中各个内存池的内存块大小及内存块数,将其写入配置缓存中对应的配置项;
S106,关闭配置文件,将配置缓存作为实际的内存池配置;
S107,根据实际的内存池配置中,各个内存池的内存块大小和内存块数,在连续的内存区域,建立相应数量的内存池。
请参阅图4,该图为本发明实施例所述嵌入式系统内存池配置方法中分配内存块时,更新配置缓存的流程图,其主要包括如下步骤:
S201,判断嵌入式应用程序申请的内存大小是否小于最大内存池的内存块大小,如果是,则进入S202,否则,进入S203;
S202,遍历所有内存池,从中查找最匹配的内存池,将其作为当前内存池;
S203,使用其它预设策略进行内存分配,例如,使用malloc直接从嵌入式操作系统申请内存;
S204,判断当前内存池中是否有空闲的内存块,如果有,则进入S206,否则,进入S205;
S205,向当前内存池中注水,即从嵌入式操作系统直接申请新内存区域,将其划分为本内存池的内存块;
S206,从当前内存池分配内存块,且将配置缓存中该内存池的当前使用值加1;
S207,判断当前内存池的当前使用值是否大于使用峰值,如果是,则进入S208,否则,结束分配;
S208,将配置缓存中该内存池的使用峰值设置为其当前使用值,结束分配。
请参阅图5,该图为本发明实施例所述嵌入式系统内存池配置方法中释放内存块时,更新配置缓存的流程图,其主要包括如下步骤:
S301,判断被释放的内存块是否属于配置缓存中的内存池,如果是,则进入S302,否则,进入S303;
S302,释放内存块,将配置缓存中相应的内存池的当前使用值减1,流程结束。
S303,使用其它策略释放,此释放流程对应于S203分配的流程,例如,使用free释放,流程结束。
请参阅图6,该图为本发明实施例所述嵌入式系统内存池配置方法中更新内存池配置文件的流程图,其主要包括如下步骤:
S401,判断是否存在内存池配置文件,如果是,则进入S402,否则,此流程结束;
S402,读取内存池配置文件中的配置文件更新标志,判断是否需要更新内存池配置文件,如果是,则进入S403,否则,进入S407;
S403,判断内存池遍历是否结束,如果是,则进入S407,否则,进入S404;
S404,将下一个内存池作为当前内存池,读取内存池配置文件中该内存池的内存块数;
S405,判断内存池配置文件中当前内存池的内存块数是否小于配置缓存相应内存池项的使用峰值,如果是,则进入S406,否则,进入S403;
S406,将内存池配置文件中当前内存池的内存块数更新为配置缓存中该内存池的使用峰值,进入S403;
S407,关闭内存池配置文件。
相应地,本发明实施例还提供了一种嵌入式系统内存池配置装置,请参阅图7,该图为本发明实施例所述嵌入式系统内存池配置装置的结构框图,其主要包括:
配置缓存申请模块,用于在嵌入式应用程序上电初始化阶段,读取内存池配置文件,根据读取到的内存池配置数据申请适当大小的配置缓存,将所述内存池配置数据写入所述配置缓存中,并建立相应的内存池;
配置缓存更新模块,用于在嵌入式应用程序运行阶段,根据内存分配/释放情况实时更新配置缓存中相应内存池的当前使用值,并在内存池的当前使用值大于该内存池的使用峰值时,将配置缓存中该内存池的使用峰值更新为其当前使用值;
配置文件更新模块,用于在嵌入式应用程序关电或复位阶段,判断是否需更新内存池配置文件,若是,则比较每个内存池在配置缓存中记录的使用峰值是否大于在内存池配置文件中记录的内存块数,如果是,则将内存池配置文件中记录的内存块数更新为所述使用峰值。
其中,内存池配置文件中记录了配置文件更新标志、每个内存池的内存块大小和内存块数。
配置缓存按内存池个数等分为若干个配置项,每个配置项对应一个内存池的配置,其中包括内存池的内存块大小,当前使用值及使用峰值;配置缓存中内存池的当前使用值的初始值为零,内存池的使用峰值的初始值为内存池配置文件中相应内存池的内存块数。
采用本发明实施例所述技术方案后,在嵌入式应用程序的测试阶段,开发人员即可根据嵌入式应用程序可能需要的内存池和内存块数,创建内存池配置文件,同时,打开配置文件更新标志,然后运行完所有软件测试用例,便可以获取到嵌入式应用程序实际所需的最佳内存配置。此时,就可以关闭配置文件更新标志,在实际产品版本中使用最佳内存配置。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种嵌入式系统内存池配置方法,其特征在于,包括步骤:
步骤A、在嵌入式应用程序上电初始化阶段,读取内存池配置文件,根据读取到的内存池配置数据申请相应大小的配置缓存,将所述内存池配置数据写入所述配置缓存中,并建立相应的内存池;
步骤B、在嵌入式应用程序运行阶段,根据内存分配/释放情况实时更新配置缓存中相应内存池的当前使用值,并在内存池的当前使用值大于该内存池的使用峰值时,将配置缓存中该内存池的使用峰值更新为其当前使用值;
步骤C、在嵌入式应用程序关电或复位阶段,比较每个内存池在配置缓存中记录的使用峰值是否大于在内存池配置文件中记录的内存块数,如果是,则将内存池配置文件中记录的内存块数更新为所述使用峰值。
2.如权利要求1所述的方法,其特征在于,所述内存池配置文件中记录了配置文件更新标志、每个内存池的内存块大小和内存块数。
3.如权利要求1所述的方法,其特征在于,所述配置缓存按内存池个数等分为若干个配置项,每个配置项对应一个内存池的配置,其中包括内存池的内存块大小,当前使用值及使用峰值。
4.如权利要求3所述的方法,其特征在于,所述配置缓存中内存池的当前使用值的初始值为零,内存池的使用峰值的初始值为内存池配置文件中相应内存池的内存块数。
5.如权利要求1所述的方法,其特征在于,所述根据内存分配情况实时更新配置缓存中相应内存池的当前使用值的具体过程为:
B1、判断嵌入式应用程序申请的内存大小是否小于最大内存池的内存块大小,若是,执行步骤B2,否则,使用其它预设策略进行内存分配;
B2、从所有内存池中查找最匹配的内存池,将其作为当前内存池,判断当前内存池中是否有空闲内存块,若有,直接执行步骤B3,否则,使用其它预设策略分配新的内存区域,将其划分为本内存池的内存块,执行步骤B3;
B3、从当前内存池分配内存块,将当前内存池的当前使用值加1,若加1后的当前使用值大于当前内存池的使用峰值,则将配置缓存中该内存池的使用峰值变换为加1后的当前使用值。
6.如权利要求1所述的方法,其特征在于,所述步骤C具体包括:
C1、判断是否存在内存池配置文件,若是,执行步骤C2,否则,流程结束;
C2、读取内存池配置文件中配置文件更新标志,判断是否需更新配置文件,若是,执行步骤C3,否则,关闭内存池配置文件;
C3、依次读取内存池配置文件中各内存池的内存块数,将内存池配置文件中小于配置缓存中相应项使用峰值的内存池的内存块数更新为所述使用峰值后,关闭内存池配置文件。
7.一种嵌入式系统内存池配置装置,其特征在于,包括:
配置缓存建立模块,用于在嵌入式应用程序上电初始化阶段,读取内存池配置文件,根据读取到的内存池配置数据申请适当大小的配置缓存,将所述内存池配置数据写入所述配置缓存中,并建立相应的内存池;
配置缓存更新模块,用于在嵌入式应用程序运行阶段,根据内存分配/释放情况实时更新配置缓存中相应内存池的当前使用值,并在内存池的当前使用值大于该内存池的使用峰值时,将配置缓存中该内存池的使用峰值更新为其当前使用值;
配置文件更新模块,用于在嵌入式应用程序关电或复位阶段,比较每个内存池在配置缓存中记录的使用峰值是否大于在内存池配置文件中记录的内存块数,如果是,则将内存池配置文件中记录的内存块数更新为所述使用峰值。
8.如权利要求7所述的装置,其特征在于,所述内存池配置文件中记录了配置文件更新标志、每个内存池的内存块大小和内存块数。
9.如权利要求7所述的装置,其特征在于,所述配置缓存按内存池个数等分为若干个配置项,每个配置项对应一个内存池的配置,其中包括内存池的内存块大小,当前使用值及使用峰值。
10.如权利要求9所述的装置,其特征在于,所述配置缓存中内存池的当前使用值的初始值为零,内存池的使用峰值的初始值为内存池配置文件中相应内存池的内存块数。
CN201010280594.8A 2010-09-14 2010-09-14 嵌入式系统内存池配置方法及装置 Active CN101937398B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010280594.8A CN101937398B (zh) 2010-09-14 2010-09-14 嵌入式系统内存池配置方法及装置
PCT/CN2010/079278 WO2012034322A1 (zh) 2010-09-14 2010-11-30 嵌入式系统内存池配置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010280594.8A CN101937398B (zh) 2010-09-14 2010-09-14 嵌入式系统内存池配置方法及装置

Publications (2)

Publication Number Publication Date
CN101937398A true CN101937398A (zh) 2011-01-05
CN101937398B CN101937398B (zh) 2014-03-12

Family

ID=43390737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010280594.8A Active CN101937398B (zh) 2010-09-14 2010-09-14 嵌入式系统内存池配置方法及装置

Country Status (2)

Country Link
CN (1) CN101937398B (zh)
WO (1) WO2012034322A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880550A (zh) * 2011-07-12 2013-01-16 北京东方通科技股份有限公司 基于约束校验的内存格式化方法
CN106371896A (zh) * 2016-09-20 2017-02-01 广东欧珀移动通信有限公司 虚拟机内存配置方法及装置、移动终端
CN107153618A (zh) * 2016-03-02 2017-09-12 阿里巴巴集团控股有限公司 一种内存分配的处理方法及装置
CN109254862A (zh) * 2018-08-21 2019-01-22 奇酷互联网络科技(深圳)有限公司 自动修复ddr翻转的方法、移动终端和存储介质
CN110209434A (zh) * 2019-04-23 2019-09-06 努比亚技术有限公司 一种内存管理方法、装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236065A1 (en) * 2005-04-13 2006-10-19 Woo Hyong Lee Method and system for variable dynamic memory management
CN101221536A (zh) * 2008-01-25 2008-07-16 中兴通讯股份有限公司 嵌入式系统的内存管理方法及装置
CN101329655A (zh) * 2008-07-31 2008-12-24 北京天碁科技有限公司 一种内存管理方法和内存管理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1287290C (zh) * 2003-07-15 2006-11-29 中兴通讯股份有限公司 嵌入式实时操作系统中非缓冲内存动态分配方法
CN1996258A (zh) * 2006-12-28 2007-07-11 武汉虹旭信息技术有限责任公司 一种动态内存池的实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236065A1 (en) * 2005-04-13 2006-10-19 Woo Hyong Lee Method and system for variable dynamic memory management
CN101221536A (zh) * 2008-01-25 2008-07-16 中兴通讯股份有限公司 嵌入式系统的内存管理方法及装置
CN101329655A (zh) * 2008-07-31 2008-12-24 北京天碁科技有限公司 一种内存管理方法和内存管理装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880550A (zh) * 2011-07-12 2013-01-16 北京东方通科技股份有限公司 基于约束校验的内存格式化方法
CN102880550B (zh) * 2011-07-12 2014-12-17 北京东方通科技股份有限公司 基于约束校验的内存格式化方法
CN107153618A (zh) * 2016-03-02 2017-09-12 阿里巴巴集团控股有限公司 一种内存分配的处理方法及装置
CN106371896A (zh) * 2016-09-20 2017-02-01 广东欧珀移动通信有限公司 虚拟机内存配置方法及装置、移动终端
CN106371896B (zh) * 2016-09-20 2019-08-23 Oppo广东移动通信有限公司 虚拟机内存配置方法及装置、移动终端
CN109254862A (zh) * 2018-08-21 2019-01-22 奇酷互联网络科技(深圳)有限公司 自动修复ddr翻转的方法、移动终端和存储介质
CN109254862B (zh) * 2018-08-21 2022-04-12 奇酷互联网络科技(深圳)有限公司 自动修复ddr翻转的方法、移动终端和存储介质
CN110209434A (zh) * 2019-04-23 2019-09-06 努比亚技术有限公司 一种内存管理方法、装置及计算机可读存储介质
CN110209434B (zh) * 2019-04-23 2022-04-22 努比亚技术有限公司 一种内存管理方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN101937398B (zh) 2014-03-12
WO2012034322A1 (zh) 2012-03-22

Similar Documents

Publication Publication Date Title
US10209902B1 (en) Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data
EP1909184B1 (en) Mapping information managing apparatus and method for non-volatile memory supporting different cell types
EP2455865B1 (en) Memory management device
KR101324688B1 (ko) 영구 가비지 컬렉션을 갖는 메모리 시스템
CN102841851B (zh) 闪存管理方法和闪存设备
CN103092766B (zh) 一种用于nand flash的均衡损耗实现方法
CN101937398B (zh) 嵌入式系统内存池配置方法及装置
CN104750625A (zh) 数据储存装置以及快闪存储器控制方法
CN101673245A (zh) 包括存储器管理装置的信息处理装置和存储器管理方法
US20100042774A1 (en) Block management method for flash memory, and storage system and controller using the same
US10402338B2 (en) Method and apparatus for erase block granularity eviction in host based caching
CN101169751A (zh) 具有闪存设备的系统及其数据恢复方法
CN102667739A (zh) 存储装置管理装置及用于管理存储装置的方法
WO2014074449A2 (en) Wear leveling in flash memory devices with trim commands
CN101369252A (zh) 基于nand闪存文件系统中静态数据损耗均衡的方法
CN101923518A (zh) 存储器系统、操作方法和数据加载的方法
CN102169727B (zh) 基于随机游走的固态硬盘磨损均衡方法
CN101901189A (zh) 更新用户数据的方法以及恢复用户数据的方法
US8261013B2 (en) Method for even utilization of a plurality of flash memory chips
CN102819494B (zh) 一种闪存顺序写入时的优化方法
CN105630701B (zh) 数据存储装置及使用不可用页表或不可用块表的读写方法
CN103064755A (zh) Nand闪存写数据处理方法和装置
CN109558075B (zh) 一种利用数据冷热属性存储数据的方法及装置
KR20150121046A (ko) 제한된 기록 내구성을 갖는 메모리들에 대한 인트라-세트 마모-레벨링을 위한 방법들 및 장치들
CN102521144B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191217

Address after: 314400 No.11, Weisan Road, Nongfa District, Chang'an Town, Haining City, Jiaxing City, Zhejiang Province

Patentee after: Haining hi tech Zone Science and Innovation Center Co., Ltd

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Patentee before: ZTE Communications Co., Ltd.