存储地址分配方法和装置制造方法及图纸

技术编号:4945015 阅读:141 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例提供了一种存储地址分配方法和装置。其中方法包括:接收存储地址分配请求;对分级比特图中的第二级比特图进行双向搜索;根据对第二级比特图的双向搜索结果输出一个空闲比特位;根据输出的空闲比特位获取对应的存储地址并进行分配。装置包括:第一接收模块,用于接收存储地址分配请求;分级比特图,分级比特图包括N个第一级比特图和第二级比特图;第一搜索模块,用于对分级比特图中的第二级比特图进行双向搜索以获取一个空闲比特位;分配模块,用于根据输出的第二级比特图的空闲比特位获取对应的存储地址并进行分配。本发明专利技术实施例提供的上述的方法和装置,能够提高存储地址管理速度,同时降低存储地址管理对内存资源的消耗。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种存储地址分配方法和装置
技术介绍
緩存管理是对芯片外挂或内嵌的共享RAM资源进行分配和回收的管理,尤其是在基于存储转发数据结构的网络设备和芯片中,緩存管理的应用都十分广泛,緩存管理既要保证分配回收的正确性又要保证充足的地址分配回收带宽,目前比较成熟的緩存管理实现方案有先入先出(First-In First-out ,以下简称FIFO)式緩存管理或比特图(BITMAP)式緩存管理。对于FIFO式緩存管理,其原理是使用FIFO存储緩存地址,初始化时写入所有的可分配緩存地址,在数据的接收端读取FIFO头存储的地址用于存储接收数据,在数据的发送端将释放的地址写入FIFO进行地址的回收。在緩存地址数目为n时,消耗的内存资源为r=n'log2n,单位为比特。比特图式緩存管理的原理是用一种位映射的思想将緩存地址映射至一定宽度(如512bit或1Kbit)比特图中的某一个比特位上,通过搜索比特图的空闲位来分配空间地址。比特图式緩存管理在缓存单元很多的时候,如何实现快速搜索是个问题。 一种改进的方案是利用BITMAP+FIF0的方式,即在接收到数据时,首先读取FIFO中的BITMAP的索引,并利用该索引找到对应的BITMAP,然后通过译码逻辑电路对BITMAP中未分配地址进行分配。在数据的发送端,首先将释放的物理地址译码为BITMAP信息写入RAM,如果RAM中某一 BITMAP中所有比特全部释;^文完毕,则将该BITMAP对应的索引信息写回FIFO完成地址回收。采用BITMAP+FIFO的緩存管理方式时,若緩存地址总数为n=x'y,则消耗的总的资源为r=n+ylog2y,其中n为总RAM资源数,x为BITMAP的宽度,ylog2y为FIFO资源数,单位为比特。专利技术人在实现本专利技术的过程中发现,现有技术至少存在如下技术问题BITMAP緩存管理方式在进行緩存地址分配时的速度慢,造成的延迟时间大,可能不满足某些应用的要求。
技术实现思路
本专利技术实施例的目的是提供一种存储地址分配方法和装置,以实现在进行存储地址管理时提高存储地址管理速度。本专利技术实施例提供了一种存储地址分配方法,包括接收存储地址分配请求;对分级比特图中的第二级比特图进行双向搜索;所述分级比特图包括N个第一级比特图和所述第二级比特图,每个第一级比特图包括M个比特位,第一级比特图的每个比特位对应一个存储地址并用于表示对应的存储地址的空闲状态;所述第二级比特图包括与N个第一级比特图对应的N个比特位,第二级比特图的每个比特位用于表示对应的第一级比特图是否存在空闲的存储地址;M、 N均为大于l的整数;根据对第二级比特图的双向搜索结杲输出 一个空闲比特位;根据输出的第二级比特图的空闲比特位获取对应的存储地址并进行分配。本专利技术实施例还提供了 一种存储地址分配装置,包括第一接收才莫块,用于接收存储地址分配请求;分级比特图,所述分级比特图包括N个第一级比特图和所述第二级比特图,每个第一级比特图包括M个比特位,第一级比特图的每个比特位对应一个存储地址并用于表示对应的存储地址的空闲状态;所述第二级比特图包括与N个第一级比特图对应的N个比特位,第二级比特图的每个比特位用于表示对应的第一级比特图是否存在空闲的存储地址;M、 N均为大于l的整数;第一搜索模块,用于对分级比特图中的第二级比特图进行双向搜索以获7取一个空闲比特位;分配模块,用于根据输出的第二级比特图的空闲比特位获取对应的存储地址并进4于分配。本专利技术实施例提供的存储地址分配方法和装置,采用分级的比特图,在接收到緩存分配请求时,通过对第二级比特图进行双向搜索获取空闲地址并分配。本实施例提供的基于分级比特图,利用双向搜索方法对比特图进行搜索以获取储存地址的技术方案,能够提高存储地址的管理速度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术存储地址分配方法实施例的流程示意图2为本专利技术实施例中分级比特图緩存管理结构示意图3为本专利技术实施例中轮询的原则进行緩存地址分配的示意图4为图3所述实施例中緩存地址重复分配情况示意图5为本专利技术实施例中的緩存地址回收流程示意图6为本专利技术存储地址分配装置实施例一的结构示意图7为本专利技术存储地址分配装置实施例二的结构示意图8为本专利技术存储地址管理方案一个具体实施例的结构示意图9为各类緩存管理方案资源消耗情况示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例, 而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没 有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的 范围。本专利技术实施例提供了一种基于分级比特图的存储地址管理方案,具体包 括存储地址的分配方法和装置。图1为本专利技术存储地址分配方法实施例的流程示意图,如图l所示,包括如下步骤 步骤1G1、接收存储地址分配请求;步骤102、对分级比特图中的第二级比特图进行双向搜索;所述分级比 特图包括N个第一级比特图和第二级比特图,每个第一级比特图包括M个比 特位,第一级比特图的每个比特位对应一个存储地址并用于表示对应的存储 地址的空闲状态;所述第二级比特图包括与N个第一级比特图对应的N个比 特位,第二级比特图的每个比特位用于表示对应的第一级比特图是否存在空 闲的存储地址;M、 N均为大于l的整数;步骤103、根据对第二级比特图的双向搜索结果输出一个空闲比特位; 步骤104、根据输出的第二级比特图的空闲比特位获取对应的存储地址 并进4于分配。本实施例中的存储地址分配装置在接收到存储地址分配请求消息后,通 过对第二级比特图进行双向搜索以获取存储地址,能够提高存储地址的分配效率。另外本实施例中的存储地址分配方法,能够适用于緩存、内存及硬盘 的存储地址分配。本实施例中是将第一级比特图的每一比特位一一对应于一个存储地址,可 以是将该比特位置1代表该比特位对应的存储地址处于占用状态,置0代表该 比特位对应的存储地址处于空闲状态,即空闲比特位。第二级比特图中为每 个第 一级比特图设置相应的数据标识位,用来存储每个第 一级比特图的空闲 地址信息,该空闲地址信息可以是表示对应的第 一级比特图是否存在空闲比9特位的数据标识,同时也可以设置一个存储单元,该存储单元对应于第二级 比特图的每个比特位,存储空闲比特位对应的存储地址。本专利技术实施例的存储地址,可以是緩存地址,内存地址或硬盘里的存储 地址。如下以緩存地址的分配和管理为例说明本专利技术实施例提供的技术方案,例如緩存系统共有1024个緩存地址,可以设置16个第一级比特图緩存分区, 每个第一级比特图緩存包括64个比特位,第二级比特图设置包括16个比特 位,每一个比特位对应一个第一级比特图。本实施例中通过采用分级的比特图,并对第一级比特图进行双向搜索获 取空闲地址信息,再将上述搜索的结果存入到第二级比特图中,具体的是若 双向搜索结果表示所述第一级比特图存在本文档来自技高网
...

【技术保护点】
一种存储地址分配方法,其特征在于,包括: 接收存储地址分配请求; 对分级比特图中的第二级比特图进行双向搜索;所述分级比特图包括N个第一级比特图和所述第二级比特图,每个第一级比特图包括M个比特位,第一级比特图的每个比特位对应一个存 储地址并用于表示对应的存储地址的空闲状态;所述第二级比特图包括与N个第一级比特图对应的N个比特位,第二级比特图的每个比特位用于表示对应的第一级比特图是否存在空闲的存储地址;M、N均为大于1的整数; 根据对第二级比特图的双向搜索结果输出 一个空闲比特位; 根据输出的第二级比特图的空闲比特位获取对应的存储地址并进行分配。

【技术特征摘要】
1、一种存储地址分配方法,其特征在于,包括接收存储地址分配请求;对分级比特图中的第二级比特图进行双向搜索;所述分级比特图包括N个第一级比特图和所述第二级比特图,每个第一级比特图包括M个比特位,第一级比特图的每个比特位对应一个存储地址并用于表示对应的存储地址的空闲状态;所述第二级比特图包括与N个第一级比特图对应的N个比特位,第二级比特图的每个比特位用于表示对应的第一级比特图是否存在空闲的存储地址;M、N均为大于1的整数;根据对第二级比特图的双向搜索结果输出一个空闲比特位;根据输出的第二级比特图的空闲比特位获取对应的存储地址并进行分配。2、 根据权利要求1所述的存储地址分配方法,其特征在于,还包括 对每个第一级比特图进行双向搜索,根据对第一级比特图的双向搜索结果更新第二级比特图中对应的比特位。3、 根据权利要求2所述的存储地址分配方法,其特征在于,所述根据对 第一级比特图的双向搜索结杲更新第二级比特图中对应的比特位包括若双向搜索结果表示所述第一级比特图存在空闲比特位,则根据双向搜 索结果输出一个空闲比特位,记录该空闲比特位对应的存储地址,并更新第 二级比特图对应的比特位为空闲比特位;或若双向搜索结果表示所述第一级比特图不存在空闲比特位,则更新第二 级比特图对应的比特位为非空闲比特位。4、 根据权利要求1或2或3所述的存储地址分配方法,其特征在于,所 述双向搜索包括为每次对比特图同时进行两个方向的搜索,则确定双向搜索 结果的步骤包括按照轮询的原则从不同方向的搜索结果中选择一个结果作 为本次双向搜索结果。5、 根据权利要求4所述的存储地址分配方法,其特征在于,若从不同方 向的搜索中均找到不同的空闲比特位,则所述按照轮询的原则从不同方向的 搜索结果中选择一个结果作为本次双向搜索结果包括如果上次选择的是从左至右或从上到下搜索到的空闲比特位作为双向搜 索结果,则本次选择从右至左或从下至上搜索到的空闲比特位输出作为双向 搜索结果;或如果上次选择的是从右至左或从下到上搜索到的空闲位作为双向搜索结 果,则本次选择从左至右或从上到下搜索到的空闲比特位输出作为双向搜索 结果。6、 根据权利要求4所述的存储地址分配方法,其特征在于,若不同方向 的搜索均找到相同的 一个空闲比特位,则将该空闲比特位输出作为双向搜索 结果。7、 根据权利要求1或2或3所述的存储地址分配方法,所述双向搜索为 每次对比特图进行单向搜索,且本次搜索的方向与上次搜索的方向不同;则 确定双向搜索结果的步骤包括将本次搜索的结果作为双向搜索结果。8、 根据权利要求1所述的存储地址分配方法,其特征在于,在进行双向 搜索时,将本方向第一个搜索到的空闲比特位作为本次本方向的搜索结果。9、 根据权利要求1所述的存储地址分配方法,其特征在于,若整个存储 空间只剩下一个空闲地址,即所有第 一级比特图中仅剩下一个空闲比特位时, 还包括判断本次分配的存储地址与上一次分配的存储地址是否相同,若相同, 则取消本次分配搡作。10、 根据权利要求l所述的存储地址分配方法,其特征在于,还包括 更新被分配的存储地址对应的第一级比特图中的比特位为非空闲状态。11、 根据权利要求1所述的存储地址分配方法,其特征在于,还包括 接收存储地址释放请求;更新请求释放的存储地址对应的第 一级比特图中的比特位为空闲状态。12、 根据权利...

【专利技术属性】
技术研发人员:韩新伟林云宁乃东
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1