一种内存分配方法和装置制造方法及图纸

技术编号:16379563 阅读:51 留言:0更新日期:2017-10-15 13:20
本发明专利技术公开了一种内存分配方法和装置,其中该方法包括:获取预先基于存储系统中每个系统成员的软件架构为其设置的第一内存数量,其中每个所述系统成员的软件架构相同;采集每个所述系统成员的硬件信息,并基于所述硬件信息计算出每个所述系统成员的第二内存数量;将每个所述系统成员的第一内存数量和该系统成员的第二内存数量相加,得到需要分别分配给每个所述系统成员的内存总数量。本发明专利技术公开的内存分配方法使得存储系统为每个系统成员分配的内存总数量基本等于其实际需要的内存总数量,解决了存储系统如何为每个系统成员分配合理的内存数量的技术问题。

Memory allocation method and device

The invention discloses a method and a device for memory allocation, wherein the method comprises the following steps: obtaining advance each system storage system based on software architecture for the number of members of the first memory set, wherein each of the members of the system software architecture of the same collection; each of the members of the system hardware information, and the hardware information based on the calculated amount of memory for each of the second members of the system; second the amount of memory added quantity the first memory of each of the members of the system and the members of the system, obtained were allocated to each of the total amount of memory system. The invention discloses a method for allocating memory makes the storage system for the total number of each member of the basic system memory allocation is equal to the total amount of memory of their real needs, solve the technical problems of each storage system for members of the system of reasonable amount of memory allocation.

【技术实现步骤摘要】
一种内存分配方法和装置
本专利技术涉及内存分配领域,特别涉及一种内存分配方法和装置。
技术介绍
在存储系统启动过程中,各个系统成员需要初始化,在这个过程中,存储系统会为系统成员分配内存,以便于后期系统对其进行访问操作。如果有多种存储硬件平台,那么存储系统需要为每个硬件平台分配内存,而每个硬件平台所需要的内存可能各不相同,例如不同的存储硬件平台能够插入不同的HBA卡数量,从而导致在HBA卡初始化过程中所需要的内存会因硬件平台的不同而不同。而在存储系统初始化过程之前,需要为每一个系统成员预留一定的内存用于此成员初始化过程,一旦预留成功,那么这个成员的初始化所需内存必须在预留内存范围内,这样可以保证避免某一个成员无限制的预留内存的情况。现有技术中的内存分配方法是,在一套软件架构中,预留一个公共的memreq(memoryrequire)配置值用于配置所有系统成员在初始化的时候需要的内存数量。由于所有的硬件平台都会分享这一公共的memreq的值,那么这个memreq的值必须以系统成员所需要的最大内存的数量作为memreq的值。比如存储系统有三个硬件平台共享这个memreq的值,第一个硬件平台需要memreq的值为10,第二个硬件平台需要的memreq的值为20,第三个硬件平台需要的memreq的值为30,那么这个存储系统的公共的memreq的值需要取三个平台中的最大值30。然而,在用上述方法为系统成员初始化分配内存时,会出现为所需memreq值较小的硬件平台预留了较多内存的情况,相应的,会有较少的内存用于系统cache,这导致系统存储性能差。综上所述,存储系统如何为每个系统成员分配合理的内存数量是本领域技术人员目前需要解决的技术问题。
技术实现思路
本专利技术所要解决的技术问题是提供一种内存分配方法,其能够为每个系统成员分配合理的内存数量。本专利技术还提供了一种内存分配装置。为解决上述技术问题,本专利技术提供一种内存分配方法,包括:获取预先基于存储系统中每个系统成员的软件架构为其设置的第一内存数量,其中每个所述系统成员的软件架构相同;采集每个所述系统成员的硬件信息,并基于所述硬件信息计算出每个所述系统成员的第二内存数量;将每个所述系统成员的第一内存数量和该系统成员的第二内存数量相加,得到需要分别分配给每个所述系统成员的内存总数量。优选的,所述采集每个所述系统成员的硬件信息,包括:采集每个所述系统成员自身的硬件信息和外接设备的硬件信息。优选的,所述基于所述硬件信息计算出每个所述系统成员的第二内存数量,包括:基于每个所述系统成员自身RAM的大小计算自身硬件信息对应的第一内存值;基于每个系统成员外接设备的类型和数量计算外接设备硬件信息对应的第二内存值;将每个所述系统成员的第一内存值和该系统成员的第二内存值相加,得到每个所述系统成员的第二内存数量。优选的,在得到需要分别分配给每个所述系统成员的内存总数量之后还包括:判断每个所述系统成员的所述内存总数量是否大于预先设定的最大内存数量,若大于则报错。优选的,在得到需要分别分配给每个所述系统成员的内存总数量之后还包括:存储每个所述系统成员的所述内存总数量。本专利技术还提供一种内存分配装置,包括:获取模块,用于获取预先基于存储系统中每个系统成员的软件架构为其设置的第一内存数量;采集模块,用于采集每个所述系统成员的硬件信息;计算模块,用于基于所述硬件信息计算出每个所述系统成员的第二内存数量;将每个所述系统成员的第一内存数量和该系统成员的第二内存数量相加,得到需要分别分配给每个所述系统成员的内存总数量。优选的,所述采集模块包括:采集单元,用于采集每个所述系统成员自身的硬件信息和外接设备的硬件信息。优选的,所述计算模块包括:计算单元,用于基于每个所述系统成员自身RAM的大小计算自身硬件信息对应的第一内存值;基于每个所述系统成员外接设备的类型和数量计算外接设备硬件信息对应的第二内存值;将每个所述系统成员的第一内存值和该系统成员的第二内存值相加,得到每个所述系统成员的第二内存数量。优选的,还包括:判断模块,用于在计算模块得到每个所述系统成员的内存总数量之后,判断每个所述系统成员的所述内存总数量是否大于预先设定的最大内存数量,若大于则报错。优选的,还包括:存储模块,用于在计算模块得到每个所述系统成员的内存总数量之后,存储每个所述系统成员的所述内存总数量。本专利技术所提供的内存分配方法将存储系统中每个系统成员需要的内存总数量分为两部分,第一部分是每个系统成员统一的软件架构对应的第一内存数量,第二部分是基于每个系统成员的硬件信息计算出的该系统成员的第二内存数量;将每个系统成员对应的第一内存数量和该系统成员的第二内存数量相加,得到需要分别分配给每个系统成员各自的内存总数量。通过本专利技术提供的内存分配方法,利用每个系统成员统一的软件架构和各自的硬件信息,得到每个系统成员实际所需要的内存总数量,从而使得存储系统为每个系统成员分配的内存总数量基本等于其实际需要的内存总数量,避免出现现有技术中每个系统成员实际需要的内存总数量跟存储系统为其分配的内存总数量相差太大的情况。本专利技术提供的内存分配方法有效解决了存储系统如何为每个系统成员分配合理的内存数量的技术问题。本专利技术所提供的一种内存分配装置也相应的解决了如何为每个系统成员分配合理的内存数量的技术问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术一种具体实施方式所提供内存分配方法的流程图;图2为本专利技术另一具体实施方式所提供内存分配方法的流程图;图3为本专利技术一种具体实施方式所提供内存分配装置的结构示意图;图4为本专利技术另一具体实施方式所提供内存分配装置的结构示意图。具体实施方式本专利技术的核心是提供一种内存分配方法,其解决了如何为每个系统成员分配合理的内存数量的技术问题。本专利技术的另一核心是提供一种内存分配装置。为了使本
的人员更好的理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。请参阅图1,图1为本专利技术一种具体实施方式所提供内存分配方法的流程图。在对应第一种具体实施方式中,本专利技术实施例所提供的内存分配方法可以包括以下步骤:步骤S1:获取预先基于存储系统中每个系统成员的软件架构为其设置的第一内存数量,其中每个系统成员的软件架构相同。由于每个系统成员的软件架构相同,所以每个系统成员软件架构对应第一内存数量均相同。每个系统成员的软件架构及对应第一内存数量可以由工作人员根据实际需要预先进行设定,具体来说,第一内存数量可以由具体的软件模块的工作人员根据设置的软件架构给出:软件模块中具体的部分有PLFC、PLISCSI、PLSA、PLPA等等,由工作人员确定出每部分所需分配的内存值,然后将每部分所需分配的内存值进行加和可得到软件模块所需分配的内存值,并确定该内存值为系统成员软件架构对应的第一内存数量。比如PLISCSI这一部分的预留内存数量为两个内存page,也就是8k,工作人员统计这个软件模块中所有PLISCSI对应部分的数量,将所统计本文档来自技高网
...
一种内存分配方法和装置

【技术保护点】
一种内存分配方法,其特征在于,包括:获取预先基于存储系统中每个系统成员的软件架构为其设置的第一内存数量,其中每个所述系统成员的软件架构相同;采集每个所述系统成员的硬件信息,并基于所述硬件信息计算出每个所述系统成员的第二内存数量;将每个所述系统成员的第一内存数量和该系统成员的第二内存数量相加,得到需要分别分配给每个所述系统成员的内存总数量。

【技术特征摘要】
1.一种内存分配方法,其特征在于,包括:获取预先基于存储系统中每个系统成员的软件架构为其设置的第一内存数量,其中每个所述系统成员的软件架构相同;采集每个所述系统成员的硬件信息,并基于所述硬件信息计算出每个所述系统成员的第二内存数量;将每个所述系统成员的第一内存数量和该系统成员的第二内存数量相加,得到需要分别分配给每个所述系统成员的内存总数量。2.根据权利要求1所述的方法,其特征在于,所述采集每个所述系统成员的硬件信息,包括:采集每个所述系统成员自身的硬件信息和外接设备的硬件信息。3.根据权利要求2所述的方法,其特征在于,所述基于所述硬件信息计算出每个所述系统成员的第二内存数量,包括:基于每个所述系统成员自身RAM的大小计算自身硬件信息对应的第一内存值;基于每个所述系统成员外接设备的类型和数量计算外接设备硬件信息对应的第二内存值;将每个所述系统成员的第一内存值和该系统成员的第二内存值相加,得到每个所述系统成员的第二内存数量。4.根据权利要求1至3任一项所述的方法,其特征在于,所述得到需要分别分配给每个所述系统成员的内存总数量之后还包括:判断每个所述系统成员的所述内存总数量是否大于预先设定的最大内存数量,若大于则报错。5.根据权利要求1至3任一项所述的方法,其特征在于,所述得到需要分别分配给每个所述系统成员的内存总数量之后还包括:存储每个所述系统成员的所述内...

【专利技术属性】
技术研发人员:刘斌
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1