一种应用于无线通讯的存储方法及读写存储装置制造方法

文档序号:6500964阅读:184来源:国知局
一种应用于无线通讯的存储方法及读写存储装置制造方法
【专利摘要】本发明公开了一种应用于无线通讯的存储方法及读写存储装置,该方法包括:根据数据的业务类型选择对应指针的迁移来调整存储结构,自适应分配存储空间,在写操作情况下读取对应指针,根据状态指示判断存储空间的状态是否为非空间向上合并状态,如果是,则根据读取的指针找到对应的存储空间并执行数据写操作,如果否,则进行指针奇偶判断。采用本发明,提高了存储空间的综合性能和存储空间的利用率。
【专利说明】-种应用于无线通讯的存储方法及读写存储装置

【技术领域】
[0001] 本发明涉及存储技术,尤其涉及一种应用于无线通讯的存储方法及读写存储装 置。

【背景技术】
[0002] 在通信领域,常常有多个数据端口要发送、接收处理数据包,涉及多个操作源与存 储装置的交互。常见的处理方式是把这些操作源的读写操作,细分成多个读写队列与存储 装置进行交互。
[0003] 存储中数据空间如何分配涉及到整个存储装置的性能,成本等多方面因素。常见 的现有的存储分配方案有如下几种:
[0004] -:固定分配法。对每个队列固定分配一片存储空间。每个队列独享所分配的存 储空间,不与其它队列的存储空间交互,系统控制简单,但是存储空间利用率低。由于通讯 的不确定性,有可能某个队列只有少量数据,存储空间大量空闲,另外一个队列有大量的数 据,存储空间不够适用,但是由于采用固定的分配方式,队列之间的存储空间不能交互,因 此存储空间承载不均,导致存储空间利用率较低。
[0005] 二:直接共享存储法。所有队列共享一片、大的存储空间,所有的队列对这片空间 都有读写权限。由于各个队列,队列的到达时间是不一样的,每个队列的读取时间也是不确 定的,因此过一段时间后,整个存储空间空闲空间不连续,不容易找到一段连续足够长的存 储空间给新的队列分配任务,导致存储空间利用率也不高。
[0006] 三:链表共享存储方法。针对以上第二种方式,不容易找到一片连续足够长的空 间,采用链表方式。采用链表方式,可以把不连续的空闲空间链接起来提供给大数据包进行 使用。使用链表方式,经过一段时间的数据处理后,空闲存储空间碎片将变得足够小,但是 链表的长度将变得足够长,这将导致存储装置性能急剧下降,存储空间利用率也会大幅下 降。
[0007] 四:固定基本单兀共孚法。在共孚空间内,按最大包的长度开辟基本存储单兀,每 个数据包占用一个基本存储单元。此种方法性能高,但是空间利用率也低。
[0008] 综上所述,采用现有的存储技术,针对多源共享技术,虽然每个方案都各有局部优 势,但是,综合起来都有明显的限制,不能兼顾各方面的优势,例如有的存储空间利用率极 其低下,有的在存储性能上很难接受。并且都只适应指定的固定业务类型,从而一旦业务类 型发送变化,综合性能存储空间利用率就可能发生不可控的指数下降。


【发明内容】

[0009] 有鉴于此,本发明的主要目的在于提供一种应用于无线通讯的存储方法及读写存 储装置,提高了存储空间的综合性能和存储空间的利用率。
[0010] 为达到上述目的,本发明的技术方案是这样实现的:
[0011] 一种应用于无线通讯的存储方法,该方法包括:
[0012] 根据数据的业务类型选择对应指针的迁移来调整存储结构,自适应分配存储空 间,在写操作情况下读取对应指针,根据状态指示判断存储空间的状态是否为非空间向上 合并状态,如果是,则根据读取的指针找到对应的存储空间并执行数据写操作,如果否,则 进行指针奇偶判断。
[0013] 其中,所述进行指针奇偶判断具体包括:如果读取的指针是奇数指针,则根据读取 的奇数指针找到对应的存储空间并执行数据写操作;如果读取的指针是偶数指针,则将读 取的偶数指针送往奇偶状态空间对其进行更新,并将偶数指针对应的状态标识设置为高。
[0014] 其中,所述奇偶状态空间中仅存储偶数指针,所述偶数指针对应的状态标识设置 为1?时,指不所述偶数指针对应的空间为空闲;
[0015] 每个偶数指针和与其对应的奇数指针构成一个奇偶对。
[0016] 一种应用于无线通讯的存储方法,该方法包括:根据数据的业务类型选择对应指 针的迁移来调整存储结构,自适应分配存储空间,在读操作情况下读取对应指针找到对应 的存储空间并执行数据读操作,读取完毕后对读取的指针对应空间进行释放,如果根据状 态指示判断存储空间的状态为空间向上合并状态,则进行指针奇偶判断。
[0017] 其中,所述进行指针奇偶判断具体包括:如果读取的指针是偶数指针,则对其不做 处理;如果读取的指针是奇数指针,则在奇偶状态空间查询是否存在与所述奇数指针匹配 的偶数指针,如果存在匹配的偶数指针且偶数指针对应的状态标识设置为高,则进行奇偶 指针合并。
[0018] 其中,所述奇偶状态空间中仅存储偶数指针,所述偶数指针对应的状态标识设置 为1?时,指不所述偶数指针对应的空间为空闲;
[0019] 每个偶数指针和与其对应的奇数指针构成一个奇偶对。
[0020] 其中,该方法还包括:如果释放的是所述奇偶对中奇数指针对应的奇空间,则所述 奇偶对中偶数指针对应的偶空间与所述奇空间一起共同释放,将两个存储空间同时向上合 并为一个地址连续的存储空间。
[0021] 其中,进行奇偶指针合并后,奇偶指针合并后的新指针对应奇偶空间的大小为:奇 偶对中奇数指针对应的原奇空间与偶数指针对应的原偶空间之和。
[0022] 其中,该方法还包括:如果根据状态指示判断存储空间的状态为空间向下分解状 态,则将读取的一个指针分解为奇数指针和与其对应的偶数指针,实现空间向下分解;
[0023] 相应的,读取的指针对应的原空间的大小分为两部分,奇数指针对应的奇空间与 偶数指针对应的偶空间各占原空间大小的一半。
[0024] -种读写存储装置,该装置包括:总控单元、多路选择单元、奇偶判决单元;其中,
[0025] 总控单元,用于控制多路选择单元根据数据的业务类型选择对应指针的迁移来调 整存储空间的存储结构,自适应分配存储空间;
[0026] 多路选择单元,用于业务类型为与已有存储结构相适应的数据包时,对应选择原 始空闲指针队列;业务类型为超出已有存储结构的大数据包时,对应选择合并空闲指针队 列;业务类型为低于已有存储结构的小数据包时,指针分解后对应选择分解空闲指针队 列;
[0027] 奇偶判决单元,用于在所述总控单元控制的存储空间的工作状态为空间向上合并 状态时,进行指针奇偶判断。
[0028] 其中,所述存储空间的工作状态具体包括:正常状态、空间向下分解状态或空间向 上合并状态。
[0029] 其中,该装置还包括:地址译码单元,用于所述工作状态为空间向上合并状态时, 判断读取的指针所指示的地址是否属于空间合并的区域,属于空间合并的区域时,将读取 的指针发往所述奇偶判决单元。
[0030] 其中,所述奇偶判决单元,进一步用于在写操作情况下,对从所述地址译码单元获 取的指针进行奇偶判断时,读取的指针是奇数指针,根据读取的奇数指针找到对应的存储 空间并执行数据写操作;如果读取的指针是偶数指针,将读取的偶数指针送往奇偶状态空 间对其进行更新,并将偶数指针对应的状态标识设置为高。
[0031] 其中,所述奇偶判决单元,进一步用于在读操作情况下,读取的指针是偶数指针, 对其不做处理;读取的指针是奇数指针,则在奇偶状态空间查询是否存在与所述奇数指针 匹配的偶数指针,如果存在匹配的偶数指针且偶数指针对应的状态标识设置为高,则通知 合并指针单元进行奇偶指针合并。
[0032] 其中,所述奇偶状态空间中仅存储偶数指针,所述偶数指针对应的状态标识设置 为高时,指示所述偶数指针对应的空间为空闲;每个偶数指针和与其对应的奇数指针构成 一个奇偶对。
[0033] 其中,该装置还包括:指针分解单元,用于所述工作状态为空间向下分解状态时, 将读取的一个指针分解为奇数指针和与其对应的偶数指针,实现空间向下分解。
[0034] 本发明根据数据的业务类型选择对应指针的迁移来调整存储结构,自适应分配 存储空间,在写操作情况下读取对应指针,根据状态指示判断存储空间的状态是否为非空 间向上合并状态,如果是,则根据读取的指针找到对应的存储空间并执行数据写操作,如果 否,则进行指针奇偶判断。
[0035] 现有技术是根据固定的数据业务类型预先设置存储结构,无法后续动态调整,而 采用本发明,由于能自适应分配存储空间,因此,对比现有技术,提高了存储空间的综合性 能和存储空间的利用率。

【专利附图】

【附图说明】
[0036] 图1为本发明方法实施例在写操作情况下的实现流程图;
[0037] 图2为本发明方法实施例在读操作情况下的实现流程图;
[0038] 图3为本发明装置实施例的组成结构示意图。

【具体实施方式】
[0039] 本发明的基本思想是:根据数据的业务类型选择对应指针的迁移来调整存储结 构,自适应分配存储空间,在写操作情况下读取对应指针,根据状态指示判断存储空间的状 态是否为非空间向上合并状态,如果是,则根据读取的指针找到对应的存储空间并执行数 据写操作,如果否,则进行指针奇偶判断。
[0040] 本发明是应用于无线通讯多数据源读写操作的存储方案,主要涉及指针分类管 理,总共指针分为三类,合并指针,原始指针,分解指针。每个空间在读取完毕后,需要把对 应的空间释放,把空间对应的指针递交到指针管理中心。通过三类指针的迁移,实现存储空 间的动态调整,当大量的指针往合并指针区域迁移时,需要进行指针合并操作,存储空间基 本单元变大,大单元变多,适应于大数据包存储;当大量指针往分解指针区域迁移,需要进 行指针分解操作,存储空间基本单元变小,小单元变多,适应小数据包存储;当指针大量往 原始指针迁移,不需要额外对指针进行处理,当前存储结构适应当前数据包结构,数据存储 不需要变化。
[0041] 下面结合附图对技术方案的实施作进一步的详细描述。
[0042] 本发明方法的技术方案如下,主要分读、写两个方面:
[0043] 一、写操作情况下,本发明存储方法的方法实施例如图1所示,包括以下内容: [0044] 第一步:从写队列里获取写请求,发起对存储空间的写请求申请。
[0045] 第二步:根据申请的包长,选择一种最适应的存储单元给当前数据包。
[0046] 这里,本步骤进行存储单元的选择采用的是比较法,选择跟包长最接近的的两类 存储单元,并向下取整。比如有四类存储单元,大小分别,64,128, 256, 512。当前包长为384, 则最接近的存储单元为256和512,然后向下取整,最后选择256的存储单元,进行第一次存 储操作。
[0047] 第三步:如果分配的存储单元没有空闲空间,则返回第二步,重新分配存储单元。 [0048] 第四步:访问存储单元对应的空闲指针队列,读取对应指针。这里,所述空闲指针 队列包括:分解空闲地址指针队列、合并空闲地址指针队列及原始空闲地址指针队列。 [0049] 第五步:根据状态指示,判断当前的状态是否为空间向上合并状态(当前最大的 基本存储单元扩大)。
[0050] 这里,本步骤的向上合并状态根据包长的分布来判断,如果大部分(可配置)最大 包比最大存储单元大,则进行最大存储单元向上合并操作;或者,大部分最小包比最小存储 单元大,则进行最小存储单元向上合并。
[0051] 第六步:如果为非空间向上合并状态,则根据指针找到对应的存储空间。
[0052] 第七步:如果为空间向上合并状态,则判断指针奇偶,如果指针是奇数,则根据指 针,找到对应的存储空间。如果指针是偶数,则更新奇偶状态空间,抛弃此指针。
[0053] 这里,本步骤的奇偶状态空间,表示的是向上合并的存储单元类别为所有偶指针 对应空间的空满状态。如果读取此类存储单元的时候,所获取的指针为偶数,则在奇偶空间 中,把这个指针对应的空间标注为空闲状态。当在执行读操作的时候,如果释放的是这个奇 偶对中的奇空间时候,可以跟偶空间一起共同释放,同时将共同释放的空间一起向上合并。
[0054] 第八步:在对应存储空间内进行数据存储,更新包长。
[0055] 第九步:对更新的包长进行判断,如果是零,则结束写操作,否则跳转到第二步,进 行剩余数据包的存储。
[0056] 二、读操作情况下,本发明存储方法的方法实施例如图2所示,包括以下内容:
[0057] 第一步:从读队列,获取读指针,发起对存储空间的读请求。
[0058] 第二步:根据读指针,寻找到对应的存储空间和链表,进行数据读取。读取数据完 毕后,进行读指针对应空间的释放管理。
[0059] 第三步:根据状态指示,判断当前的状态是否为空间向上合并状态,如果是,并且 当前指针是奇指针,并且奇偶状态空间中对应的偶指针对应空间是空闲,则进行奇偶指针 合并。新指针对应奇偶空间,大小为原来的两倍,实现了空间向上合并。
[0060] 第四步:根据指针对应的地址和总控状态,选择对应的空闲指针队列。这里,所述 空闲指针队列包括:分解空闲地址指针队列、合并空闲地址指针队列及原始空闲地址指针 队列。
[0061] 第五步:如果选择的当前指针队列是处理空间分解区域,则执行指针分解,把一个 指针分解成奇偶指针,每个指针对应的空间为原来空间的一半,完成空间向下分解。
[0062] 第六部:进行指针存储,并根据第二步获取的链表信息,判断是否是链表结束,如 果为是,则结束,如果为否,还没结束,则跳转到第二步执行。
[0063] 这里,上述第五步各个指针队列有各自自己的地址空间映射。
[0064] 例如设置整体空间是1-1000。刚开始时候只有一个指针队列,设置每个指针对应 10个地址空间,所有指针都存储到这个指针队列。
[0065] 如果500-1000执行空间向上合并,那么整体将变成2个指针队列。第一个队列对 应指针1-500的指针,每个指针对应空间10。第二个指针队列对应501-1000的指针,每个 指针对一个空间20。
[0066] 接着1-255执行空间向下分解,那么整体将变成3个指针队列。第一个指针队列 对应1-255的,没个指针对应空间为5。第二指针队列为256-500,每个指针对应空间为10。 第三个指针队列位501-1000,每个指针对应空间为20。
[0067] 对应于上述读/写操作,本发明读写存储装置实施例的组成结构示意图如图3所 示,包括:
[0068] 存储空间101 :为存储数据的主空间,可以使用双数据速率DDR存储器,也可以使 用片内SRAM等各种存储器件,其中,所述SRAM为具有静止存取功能的内存。
[0069] 总控单元102 :为进行存储控制的总控单元,用来进行存储空间的整体调度控制。 如用来控制存储空间的工作状态--正常状态,空间向上合并状态(同时记录合并前后基 本存储单元的空间尺寸),空间向下分解状态(同时记录空间分解前后基本存储单元的空 间尺寸),根据状态指示,用于在指针释放时候,指针合并和分解的控制;多路选通控制;存 储空间分配选择;记录各个指针队列的地址空间范围,把释放的空间指针存储到对应的队 列里去。这里,存储空间的每片存储区域都有一个对应的指针队列,但是这片区域的地址范 围随着空间向上合并向下分解的进行也是不断变化的,因此需要总控单元记录当前各个指 针队列的地址范围,以方便空间释放时候,指针的入队操作。
[0070] 读写队列103 :存储外部操作源对存储空间的读写请求队列。
[0071] 写控制单元104 :为存储空间的写控制单元,用于向存储空间101写入数据。
[0072] 分解空闲地址指针队列105,合并空闲地址指针队列107,原始空闲地址指针队列 108,分别为各类空闲存储空间对应的指针队列,其中队列的个数是动态调整的,可以增加 也可以减少。这里需要指出的是:采用分解空闲地址指针队列105时,对应存储空间的工作 状态为空间向下分解,执行指针分解操作,此操作适用的业务类型为小数据包存储;采用合 并空闲地址指针队列107时,对应存储空间的工作状态为空间向上合并,执行指针合并操 作,此操作适用的业务类型为大数据包存储;采用原始空闲地址指针队列108时,对应存储 空间的工作状态为正常,执行原始指针操作,此操作适用的业务类型为无需动态调整、与当 前存储结构适应的当前数据包。
[0073] 指针分解单元106 :为需执行指针分解操作,即当执行空间向下分解的时候,将原 存储空间对应的指针分解成奇、偶两个指针,分别对应原存储空间的前半部的存储空间和 后半部的存储空间。
[0074] 地址译码单元109 :为需执行指针合并操作,即当执行空间向上合并的时候,原指 针队列包含处于合并地址区域的指针和非合并地址区域的指针。如果当前读取的指针属于 合并地址区域,则将读取的当前指针送往奇偶判决单元110进行后续空间向上合并处理, 否则直接送往写控制单元104用于写操作时候的地址计算。其中,采用奇偶判决单元的好 处是:将存储空间中越来越多的、由于存储导致存储空间中变得越来越小的基本存储单元 在进行读操作时先释放,再通过奇偶判断将释放后地址连续符合条件的指针地址合并,即 确保存储空间中指针指向的相邻的空间基本单元地址连续才允许合并。
[0075] 奇偶判决单元110 :送到奇偶判决单元的指针都是要参与空间向上合并的。由于 系统经过一段时间运行后,由于原存储空间中的空闲空间地址分别不连续的随意性,因此 在写操作时要完成空间向上合并写是很困难的,因此进一步考虑在空间读释放的时候实现 向上合并。如果是奇指针,则将指针送往写控制单元104进行正常写操作,如果是偶指针, 则将指针送往奇偶状态空间111,控制状态空间进行更新。
[0076] 奇偶状态空间111 :用来记录对应队列的偶指针的空闲状态。如果奇偶判决单元 110输送过来一个偶指针,则此指针对应的状态标识将设置为高,表示此指针对应的空间为 空闲。其中状态空间初始化的时候全为低。其中只有对大存储单元指针队列,及其最小存 储单元指针队列空间有对应的奇数状态空间。因此,不管存储空间经过分解合并后,产生 多少指针队列,最终最多有两个奇偶状态空间,并且每个指针状态只有一比特,总的开销不 大,可以用寄存器搭建。
[0077] 多路选择单元112 :根据总控单元的控制,把释放的指针送往对应的队列中去。
[0078] 合并指针单元113 :如果当前释放的空间对应的指针处于空间向上合并对应的地 址范围,并且当前指针是奇指针,则执行指针合并操作,读取奇偶状态空间111对应的偶指 针状态,如果偶指针状态为高,则指针合并成功,合并后的指针送往合并空闲地址指针队列 107 ;如果偶指针状态为低,则指针合并失败,当前指针输送到原始空闲地址指针队列108。
[0079] 读控制单元114 :为存储空间的写控制单元,用于向存储空间101读出数据。
[0080] 这里需要指出的是:上述存储空间101,读写队列103,写控制单元104,读控制单 元114,为现有技术中常采用的设备,其它设备为实现本发明而增设的设备。
[0081] 采用本发明,克服了现有技术中固定划分空间利用率低,链表连接碎片多,性能低 的特点,是一种自适应的存储空间分配方案,能根据实际业务类型的情况,自动调整存储结 构,极大地提高了空间利用率和存储性能。并且分层进行调整,确保不因调整而导致复杂 度发散。这里,所述调整指:1):只针对最大和最小存储单元为存储粒度向上合并和向下分 解,不考虑最大和最小存储单元中间的存储粒度调整,也就是说,不需要所有存储粒度都自 由进行变化,从而相对于所有存储粒度都自由进行变化而言,减少了复杂度,并且最终达到 的效果与所有存储粒度都自由进行变化一样;2):合并分解的时候,采用以2(奇,偶)存储 粒度进行合并和分解,但不限于这种方式,也可以考虑以3,4, 5等其他值的存储粒度进行 合并和分解的情况。本发明选择以2(奇,偶)存储粒度进行合并和分解,是一种最佳实现 方式,相对于以3,4,5等其他值的存储粒度进行合并和分解的情况而言,虽然在表面上调 整的速度迅速很多,但实际上复杂度指数上升,并且系统经过一定时间的运行后,空闲存储 单元随机分布后,其他粒度进行合并分解的效率急剧降低,最终合并分解的效率及存储效 果都不如本发明选用的以2(奇,偶)粒度进行合并和分解的方式。
[0082] 本发明方法在执行写操作情况下的应用实例,包括以下步骤:
[0083] 步骤201 :发出写申请,并在读写队列中登记进行写申请。
[0084] 步骤202 :写控制单元读取读写队列的申请,获取数据包的包头信息,同时通过总 控单元读取空间划分信息,空闲指针队列的种类和个数,及其每类指针队列中基本存储单 元的大小,根据包长计算选择存储空间中的基本存储单元。
[0085] 步骤203 :选择与包长比较相近的指针队列,并判断存储空间是否空闲,如果空 闲,则申请使用此指针队列的指针,如果此指针队列不空闲,则更新采用其它指针队列,再 判断是否空闲,如果所有指针队列都不空闲,则写操作暂停。
[0086] 步骤204:从原始空闲地址指针队列中获取空闲最久的指针,如果当前是正常状 态,或空间向下分解状态,则此指针送往写控制单元,在写控制单元根据指针计算存储地 址,执行数据写操作。然后把包头长度减去当前指针指示的存储空间的大小,如果结果为正 数,那么更新包头长度,跳转到第203步骤,直至更新的包头长度为非正数。
[0087] 步骤205 :如果当前为空间向上合并状态时,从原始空闲地址指针队列获取的指 针先经过地址译码单元进行地址译码,判断当前指针所指示的地址是否属于空间合并的区 域,如果不属于,则执行步骤204的正常操作,否则输送到奇偶判决单元进行奇偶判断,指 针是奇,则送往写控制单元进行正常写操作,是偶数,则送往奇偶状态空间,更新当前指针 对应空间的状态,状态标识为空闲。
[0088] 步骤206,当一个数据包存储完毕后,会在读写队列103登记此数据包首地址指 针,以供后续进行读索引。
[0089] 步骤207,数据包存储完毕后,经过一段时间后,外部发向读写队列发出读申请,读 写队列把之间存储的数据包首地址输入到读控制单元进行后续处理。
[0090] 本发明方法在执行读操作情况下的应用实例,包括以下步骤:
[0091] 步骤301 :读控制单元直接通过指针,计算数据包存储的数据空间,读取对应的包 头数据及其链表信息。
[0092] 步骤302 :在步骤301读取操作完毕后,需要把原存储包数据对应的存储空间进行 释放,在空闲指针队列里进行登记,以后后续其它数据包使用。
[0093] 步骤303 :经过一段时间后,数据包有读需求。外部操作源,向读写队列登记读数 据报请求。读写队列把步骤302存储的指针吐出,送往读控制单元协助进行读操作。
[0094] 步骤304 :读控制单元根据获取的指针,计算数据存储的地址,并进行读取数据和 链表头的操作。在所有数据都读取完毕后,把当前用的指针送往合并指针单元进行后续操 作。
[0095] 步骤305 :解析步骤304获取的链表头信息,判断数据包是否读取完毕,如未读取 完毕则根据链表头,提起新的指针信息,重复步骤304。
[0096] 步骤306:合并指针单元接收读控制单元送过来的待释放空间的指针,并判断当 前指针是否属于空间向上合并范围,不属于则指针不处理直接输出。属于合并范围,根据当 前指针对应存储空间的大小,判断当前指针是合并前指针,还是合并后指针,合并后指针则 直接输出。合并前的指针则判断指针是奇指针还是偶指针,偶指针不处理直接输出,奇指针 则读取奇偶状态空间,查看匹配的偶指针状态,如果匹配的偶指针为空闲则合并指针成功, 否则不成功。
[0097] 步骤307 :接收合并指针单元输送过来的空闲指针,根据总控单元,把指针送到对 应的指针队列。其中每个指针队列都有各自对应的地址范围,除合并失败的指针,所有的指 针按地址范围存储到各自的指针队列。合并失败的指针存储到原始指针队列,合并成功的 指针存储到合并指针队列。
[0098] 步骤308 :输送往分解指针队列的指针,根据当前指针对应存储空间的大小,判断 当前指针是分解前指针,还是分解后指针。分解后的指针直接存入指针队列,分解前的指 针,则经过指针分解单元分解成奇偶两个指针,再存储到指针队列里去。
[0099] 本发明属于数字存储领域,适应于各种电子存储装置,尤其适用于在通信领域中 的数据存储处理。
[0100] 综上所述,采用本发明,具有以下有益效果:
[0101] 1、具有自适应功能,能根据数据的业务类型,调整存储空间的使用。分为针对业务 类型为大数据包、小数据包和与分配存储结构一致的当前数据包三种情况下的动态调整。
[0102] 2、存储空间的利用率商,由于能动态调整,因此相对现有的固定基本单兀的存储 空间共享方案而言,如果数据流中最大包最小包相差数个量级,那么采用本发明,空间利用 率相对现有方案就有数个量级的提升,同时性能基本保持不变。
[0103] 3、存储空间的综合存储性能高,相对于现有链表共享方法,随着处理时间的加长, 性能提升比例越高,最终性能可以提升几十倍,同时保持空间利用率也比现有方案稍高。
[0104] 4、功耗低:采用本发明,在进行存储结构调整的时候,不涉及数据搬移,不涉及指 针搬移,没有额外操作,不影响正常的数据存储,基本不额外增加功耗开销。
[0105] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【权利要求】
1. 一种应用于无线通讯的存储方法,其特征在于,该方法包括: 根据数据的业务类型选择对应指针的迁移来调整存储结构,自适应分配存储空间,在 写操作情况下读取对应指针,根据状态指示判断存储空间的状态是否为非空间向上合并状 态,如果是,则根据读取的指针找到对应的存储空间并执行数据写操作,如果否,则进行指 针奇偶判断。
2. 根据权利要求1所述的方法,其特征在于,所述进行指针奇偶判断具体包括:如果读 取的指针是奇数指针,则根据读取的奇数指针找到对应的存储空间并执行数据写操作;如 果读取的指针是偶数指针,则将读取的偶数指针送往奇偶状态空间对其进行更新,并将偶 数指针对应的状态标识设置为高。
3. 根据权利要求2所述的方法,其特征在于,所述奇偶状态空间中仅存储偶数指针,所 述偶数指针对应的状态标识设置为高时,指示所述偶数指针对应的空间为空闲; 每个偶数指针和与其对应的奇数指针构成一个奇偶对。
4. 一种应用于无线通讯的存储方法,其特征在于,该方法包括:根据数据的业务类型 选择对应指针的迁移来调整存储结构,自适应分配存储空间,在读操作情况下读取对应指 针找到对应的存储空间并执行数据读操作,读取完毕后对读取的指针对应空间进行释放, 如果根据状态指示判断存储空间的状态为空间向上合并状态,则进行指针奇偶判断。
5. 根据权利要求4所述的方法,其特征在于,所述进行指针奇偶判断具体包括:如果读 取的指针是偶数指针,则对其不做处理;如果读取的指针是奇数指针,则在奇偶状态空间查 询是否存在与所述奇数指针匹配的偶数指针,如果存在匹配的偶数指针且偶数指针对应的 状态标识设置为高,则进行奇偶指针合并。
6. 根据权利要求5所述的方法,其特征在于,所述奇偶状态空间中仅存储偶数指针,所 述偶数指针对应的状态标识设置为高时,指示所述偶数指针对应的空间为空闲; 每个偶数指针和与其对应的奇数指针构成一个奇偶对。
7. 根据权利要求6所述的方法,其特征在于,该方法还包括:如果释放的是所述奇偶对 中奇数指针对应的奇空间,则所述奇偶对中偶数指针对应的偶空间与所述奇空间一起共同 释放,将两个存储空间同时向上合并为一个地址连续的存储空间。
8. 根据权利要求6所述的方法,其特征在于,进行奇偶指针合并后,奇偶指针合并后的 新指针对应奇偶空间的大小为:奇偶对中奇数指针对应的原奇空间与偶数指针对应的原偶 空间之和。
9. 根据权利要求4所述的方法,其特征在于,该方法还包括:如果根据状态指示判断存 储空间的状态为空间向下分解状态,则将读取的一个指针分解为奇数指针和与其对应的偶 数指针,实现空间向下分解; 相应的,读取的指针对应的原空间的大小分为两部分,奇数指针对应的奇空间与偶数 指针对应的偶空间各占原空间大小的一半。
10. -种读写存储装置,其特征在于,该装置包括:总控单元、多路选择单元、奇偶判决 单元;其中, 总控单元,用于控制多路选择单元根据数据的业务类型选择对应指针的迁移来调整存 储空间的存储结构,自适应分配存储空间; 多路选择单元,用于业务类型为与已有存储结构相适应的数据包时,对应选择原始空 闲指针队列;业务类型为超出已有存储结构的大数据包时,对应选择合并空闲指针队列; 业务类型为低于已有存储结构的小数据包时,指针分解后对应选择分解空闲指针队列; 奇偶判决单元,用于在所述总控单元控制的存储空间的工作状态为空间向上合并状态 时,进行指针奇偶判断。
11. 根据权利要求10所述的装置,其特征在于,所述存储空间的工作状态具体包括:正 常状态、空间向下分解状态或空间向上合并状态。
12. 根据权利要求10所述的装置,其特征在于,该装置还包括:地址译码单元,用于所 述工作状态为空间向上合并状态时,判断读取的指针所指示的地址是否属于空间合并的区 域,属于空间合并的区域时,将读取的指针发往所述奇偶判决单元。
13. 根据权利要求12所述的装置,其特征在于,所述奇偶判决单元,进一步用于在写操 作情况下,对从所述地址译码单元获取的指针进行奇偶判断时,读取的指针是奇数指针,根 据读取的奇数指针找到对应的存储空间并执行数据写操作;如果读取的指针是偶数指针, 将读取的偶数指针送往奇偶状态空间对其进行更新,并将偶数指针对应的状态标识设置为 商。
14. 根据权利要求12所述的装置,其特征在于,所述奇偶判决单元,进一步用于在读操 作情况下,读取的指针是偶数指针,对其不做处理;读取的指针是奇数指针,则在奇偶状态 空间查询是否存在与所述奇数指针匹配的偶数指针,如果存在匹配的偶数指针且偶数指针 对应的状态标识设置为高,则通知合并指针单元进行奇偶指针合并。
15. 根据权利要求13或14所述的装置,其特征在于,所述奇偶状态空间中仅存储偶数 指针,所述偶数指针对应的状态标识设置为高时,指示所述偶数指针对应的空间为空闲;每 个偶数指针和与其对应的奇数指针构成一个奇偶对。
16. 根据权利要求13或14所述的装置,其特征在于,该装置还包括:指针分解单元,用 于所述工作状态为空间向下分解状态时,将读取的一个指针分解为奇数指针和与其对应的 偶数指针,实现空间向下分解。
【文档编号】G06F12/02GK104063327SQ201310092388
【公开日】2014年9月24日 申请日期:2013年3月21日 优先权日:2013年3月21日
【发明者】洪思华, 冯立国, 徐心明, 邹飞 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1