System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种存储单元匹配方法、装置及存储单元匹配模块制造方法及图纸_技高网

一种存储单元匹配方法、装置及存储单元匹配模块制造方法及图纸

技术编号:41596780 阅读:19 留言:0更新日期:2024-06-07 00:07
本申请提供了一种存储单元匹配方法、装置及存储单元匹配模块,涉及片上系统软硬件共享缓存区的管理技术领域,目的是为了解决现有软硬件共享缓存技术由于存储单元匹配算法固定,导致无法为用户提供多种场景下的选择、缓存利用率低的问题。上述方法包括:读取匹配策略;判断是否为动态策略;若否,则读取静态策略对应的匹配算法进行存储单元匹配;若是,则读取动态策略对应的匹配原则并选取匹配算法,进行存储单元匹配。上述模块包括:算法寄存器;策略寄存器;动态开关单元,适于根据算法寄存器和策略寄存器的配置动态切换匹配算法;以及匹配单元,适于根据算法寄存器的配置、或在动态开关单元的控制下选择相应的匹配算法进行存储单元匹配。

【技术实现步骤摘要】

本专利技术涉及片上系统软硬件共享缓存区的管理,具体涉及一种存储单元匹配方法、装置及存储单元匹配模块


技术介绍

1、软硬件共享缓存区是片上系统(system on chip,soc)(例如wifi soc)中不可回避的一个
数据从上层软件通过接口层发送到soc中,一般需要事先缓存,而后通过固件或者硬件将缓存数据取走发送,本次发送动作完成后,后续到来的数据需要再次使用这片内存,从而使得通信可以持续进行。常用的软硬件共享缓存技术有连续循环buf方式、链表管理方式以及单块内存软硬件交替使用等共享方式。

2、连续循环缓冲(buffer,buf)架构由读、写指针寄存器和一块连续的buf组成。在软件数据帧交给硬件前,先比较读写指针寄存器。如果存在空闲的buf,则将数据帧存入该buf,然后更新写寄存器;如果不存在空闲的buf,则返回满状态,并等待下一次处理。硬件有数据帧发送时,先比较读写寄存器,如果读写指针寄存器显示有数据要发,则发送该数据,发送完由硬件更新读寄存器。此架构决定了数据帧的存放必须是依次存放、且帧与帧间是连续存放的,如存放顺序为frame0、frame1、frame2、frame3...,那么发送也必须依照frame0、frame1、frame2、frame3....的顺序依次发送、依次释放。如果由于某种原因,比如发送失败后需要重新入队,使得需要先发送frame2再发其他帧,那么frame2发送后这片内存的释放和重新利用则很难操作,比如需要把后面所有的帧均向前挪动frame2个位置才能填补这一空缺,从而腾出空间供后续帧使用,这一操作不仅处理过程复杂,而且缓冲内移动数据块的算力开销大,浪费系统资源。如果按frame0、frame1、frame2、frame3...的顺序存储在共享缓冲区的帧的发送顺序经过底层软件处理后,要求为以frame2、frame1、frame0、frame3、...、frame_n的顺序进行发送,则共享区释放和获取(这里的释放指代硬件发送完腾出空间给上层软件以装载下一帧数据,获取指代硬件从中读取需要发送的帧以进行后续处理)的管理复杂度会指数级增长,并且将无法进行。

3、而链表管理方式数据存取过程复杂,单块内存软硬件交替使用方式虽然数据存取过程比较简单,但是数据存取效率低。

4、综上,以上软硬件共享缓存技术由于缓存的存储单元匹配算法固定,导致无法为用户提供多种场景下的选择、以及缓存利用率低。


技术实现思路

1、为了解决上述技术缺陷,本申请实施例提供了一种存储单元匹配方法、装置及存储单元匹配模块。

2、本申请第一方面实施例提供一种存储单元匹配方法,包括:读取匹配策略;判断所述匹配策略是否为动态策略;若否,则读取静态策略对应的匹配算法,以根据所述匹配算法为上层软件发来的数据匹配存储单元;以及若是,则读取所述动态策略对应的匹配原则,并根据所述匹配原则动态选取匹配算法,以根据所述匹配算法为所述上层软件发来的数据匹配存储单元。

3、在其中一种可能的实现方式中,所述匹配原则为根据吞吐量匹配、根据总包数匹配或根据满次数匹配。

4、在其中一种可能的实现方式中,所述根据所述匹配原则动态选取匹配算法,包括:根据所述匹配原则,按照权重由高到低的顺序在各个匹配算法之间进行切换。

5、在其中一种可能的实现方式中,所述匹配算法包括:随机尺寸匹配算法,随机选取某个尺寸的存储单元;最大尺寸优先匹配算法,优先选取尺寸最大的存储单元;以及最小尺寸优先匹配算法,优先选取尺寸最小的存储单元。

6、在其中一种可能的实现方式中,所述匹配算法包括:经济算法,选取能够容纳所述数据、且浪费存储空间最小的存储单元或存储单元的组合。

7、在其中一种可能的实现方式中,所述匹配算法包括:本次最大尺寸预留优先匹配算法,当最大尺寸的存储单元的数量降低至预设数量时,本次不再为所述数据匹配所述最大尺寸的存储单元;以及本次最小尺寸预留优先匹配算法,当最小尺寸的存储单元的数量降低至预设数量时,本次不再为所述数据匹配所述最小尺寸的存储单元。

8、在其中一种可能的实现方式中,所述匹配算法包括:固定尺寸优先匹配算法,优先选取固定尺寸的存储单元。

9、在其中一种可能的实现方式中,所述匹配算法包括:轮盘匹配算法,按预设的顺序轮询选取各种尺寸的存储单元。

10、本申请第二方面实施例还提供了一种存储单元匹配装置,包括:读取单元,适于读取匹配策略;判断单元,适于判断所述匹配策略是否为动态策略;静态匹配单元,适于在判断结果为否时,读取静态策略对应的匹配算法,以根据所述匹配算法为上层软件发来的数据匹配存储单元;以及动态匹配单元,适于在判断结果为是时,读取所述动态策略对应的匹配原则,并根据所述匹配原则动态选取匹配算法,以根据所述匹配算法为所述上层软件发来的数据匹配存储单元。

11、本申请第三方面实施例还提供了一种存储单元匹配模块,包括:算法寄存器,包括算法选择位、算法权重位、存储单元尺寸位以及动态算法切换控制位;策略寄存器,包括用于限定每种算法持续发送总字节数的总字节数位、用于限定每种算法持续发送工作包数量的工作包数位、用于限定每种算法发生满事件的最大次数的满事件次数位、以及用于限定匹配策略的策略选择开关位;动态开关单元,适于根据所述算法寄存器和所述策略寄存器的配置,动态切换匹配算法;以及匹配单元,适于根据所述算法寄存器的配置、或在所述动态开关单元的控制下,选择相应的匹配算法进行存储单元匹配。

12、本申请实施例中提供的存储单元匹配方法、装置及模块,提供了多种cell匹配算法、多种匹配原则、以及动态和静态两种匹配策略,应用场景丰富,能够在各种场景下提升共享缓存的使用效率,使得系统关键路径的效率在使用中得到最好的优化。

本文档来自技高网...

【技术保护点】

1.一种存储单元匹配方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述匹配原则为根据吞吐量匹配、根据总包数匹配或根据满次数匹配。

3.如权利要求1所述的方法,其特征在于,所述根据所述匹配原则动态选取匹配算法,包括:

4.如权利要求1所述的方法,其特征在于,所述匹配算法包括:

5.如权利要求1所述的方法,其特征在于,所述匹配算法包括:

6.如权利要求1所述的方法,其特征在于,所述匹配算法包括:

7.如权利要求1所述的方法,其特征在于,所述匹配算法包括:

8.如权利要求1所述的方法,其特征在于,所述匹配算法包括:

9.一种存储单元匹配装置,其特征在于,包括:

10.一种存储单元匹配模块,其特征在于,包括:

【技术特征摘要】

1.一种存储单元匹配方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述匹配原则为根据吞吐量匹配、根据总包数匹配或根据满次数匹配。

3.如权利要求1所述的方法,其特征在于,所述根据所述匹配原则动态选取匹配算法,包括:

4.如权利要求1所述的方法,其特征在于,所述匹配算法包括:

5.如权利要求1所述的方...

【专利技术属性】
技术研发人员:胡振波彭剑英曾庆华
申请(专利权)人:芯来智融半导体科技上海有限公司
类型:发明
国别省市:

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

1