一种报文描述符离散存储方法技术

技术编号:39739913 阅读:6 留言:0更新日期:2023-12-17 23:41
本发明专利技术实施例提供了一种报文描述符离散存储方法

【技术实现步骤摘要】
一种报文描述符离散存储方法、装置、设备及存储介质


[0001]本专利技术涉及数据处理
,特别是涉及一种报文描述符离散存储方法

装置

设备及存储介质


技术介绍

[0002]随着网络技术的不断发展,网络设备的报文转发率需求不断提升

然而当前的技术条件下,
DRAM bank

Dynamic Random Access Memory bank
,动态随机存取存储器逻辑单元)的读写带宽相对较低,这导致了
DRAM bank
读写带宽和报文转发率之间的不匹配

即在
DRAM bank
中读写
DRAM bank
的速度无法满足报文转发的速度需求,导致
DRAM bank
读写过慢影响报文转发

[0003]为了解决这种矛盾,可以使用多个
DRAM bank
来增加带宽

并且,为了进一步提高报文转发速度,需要尽可能将不同报文的报文描述符离散存储至不同的
DRAM bank
中,从而避免大量报文的报文描述符均写入同一
DRAM bank
内,造成在短时间内针对同一
DRAM bank
进行大量读写操作,超出
DRAM bank
的可承受范围,进而影响报文转发


技术实现思路

[0004]本专利技术实施例的目的在于提供一种报文描述符离散存储方法

装置

设备及存储介质,以实现报文描述符的离散存储

具体技术方案如下:第一方面,本专利技术实施例提供了一种报文描述符离散存储方法,所述方法包括:获取报文描述符在地址组
index
中的逻辑地址;其中,按照报文在队列中的顺序,报文对应的报文描述符在所述
index
中连续存储;根据所述逻辑地址

每一
index
中能够存储报文描述符的可容纳数量

动态随机存取存储器逻辑单元
DRAM bank
的逻辑单元
bank
总数,确定所述逻辑地址在索引矩阵中对应的行坐标;其中,所述索引矩阵用于存储
bank
标识,所述索引矩阵的行数为所述
bank
总数,列数为所述可容纳数量,同一列中各
bank
标识不同,同一行中各
bank
标识不同,且每一
bank
标识在同一行中至多存储一次,在所述索引矩阵中每一
bank
标识存储所述可容纳数量个;根据所述逻辑地址与所述可容纳数量,确定所述逻辑地址在所述索引矩阵中对应的列坐标;获取所述索引矩阵中,所述行坐标与所述列坐标对应的位置处存储的目标
bank
标识;根据所述逻辑地址

所述可容纳数量以及所述
bank
总数,确定所述报文描述符在
bank
中的
bank
地址;将所述报文描述符存储于所述目标
bank
标识对应的
bank
内的
bank
地址处

[0005]本专利技术的一个实施例中,所述方法还包括:通过以下方式向所述
index
中存储报文描述符:在报文存储至队列后,确定该队列对应的
index
尾部是否存在空闲空间;
若存在,则将报文描述符存储于所述空闲空间中的起始位置处;若不存在,则从
index
资源池中申请新
index
作为该队列对应的
index
,并将所述报文描述符存储于所述新
index
的起始位置处

[0006]本专利技术的一个实施例中,所述方法还包括:在从队列中读取报文后,确定该报文的报文描述符在
index
中的逻辑地址;从所确定的逻辑地址处读取报文描述符,并判断所确定的逻辑地址是否为所在
index
中的末位地址;若是,则将该
index
回收至
index
资源池

[0007]本专利技术的一个实施例中,通过以下方式向索引矩阵中存储
bank
标识:针对所述索引矩阵中第一列,通过以下方式向该列中的各元素中写入
bank
标识;向目标元素中写入第一
bank
标识,所述第一
bank
标识的初始值小于预设阈值,所述预设阈值基于所述
bank
总数设置,所述目标元素为第一列中的任一元素;在所述第一
bank
标识的基础上增加第一预设步长,得到更新后的第一
bank
标识,若更新后的第一
bank
标识大于预设阈值,则在更新后的第一
bank
标识的基础上减去所述预设阈值;将更新后的第一
bank
标识写入至未写入
bank
标识的元素中,并返回执行所述在所述第一
bank
标识的基础上增加第一预设步长至所述将更新后的第一
bank
标识写入下一元素中的步骤,直至第一列的各个元素中均写入
bank
标识;针对第一列之外的每一元素,向该元素中写入第二
bank
标识,其中,所述第二
bank
标识是基于该元素所在行中第一列元素中存储的
bank
标识

第二预设步长以及所述
bank
总数计算得到的

[0008]本专利技术的一个实施例中,所述第一预设步长和
/
或所述第二预设步长为质数

[0009]第二方面,本专利技术实施例提供了一种报文描述符离散存储装置,所述装置包括:逻辑地址获取模块,用于获取报文描述符在地址组
index
中的逻辑地址;其中,按照报文在队列中的顺序,报文对应的报文描述符在所述
index
中连续存储;行坐标确定模块,用于根据所述逻辑地址

每一
index
中能够存储报文描述符的可容纳数量

动态随机存取存储器逻辑单元
DRAM bank
的逻辑单元
bank
总数,确定所述逻辑地址在索引矩阵中对应的行坐标;其中,所述索引矩阵用于存储
bank
标识,所述索引矩阵的行数为所述
bank
总数,列数为所述可容纳数量,同一列中各
bank
标识不同,同一行中各
bank
标识不同,且每一...

【技术保护点】

【技术特征摘要】
1.
一种报文描述符离散存储方法,其特征在于,所述方法包括:获取报文描述符在地址组
index
中的逻辑地址;其中,按照报文在队列中的顺序,报文对应的报文描述符在所述
index
中连续存储;根据所述逻辑地址

每一
index
中能够存储报文描述符的可容纳数量

动态随机存取存储器逻辑单元
DRAM bank
的逻辑单元
bank
总数,确定所述逻辑地址在索引矩阵中对应的行坐标;其中,所述索引矩阵用于存储
bank
标识,所述索引矩阵的行数为所述
bank
总数,列数为所述可容纳数量,同一列中各
bank
标识不同,同一行中各
bank
标识不同,且每一
bank
标识在同一行中至多存储一次,在所述索引矩阵中每一
bank
标识存储可容纳数量个;根据所述逻辑地址与所述可容纳数量,确定所述逻辑地址在所述索引矩阵中对应的列坐标;获取所述索引矩阵中,所述行坐标与所述列坐标对应的位置处存储的目标
bank
标识;根据所述逻辑地址

所述可容纳数量以及所述
bank
总数,确定所述报文描述符在
bank
中的
bank
地址;将所述报文描述符存储于所述目标
bank
标识对应的
bank
内的
bank
地址处
。2.
根据权利要求1所述的方法,其特征在于,所述方法还包括:通过以下方式向所述
index
中存储报文描述符:在报文存储至队列后,确定该队列对应的
index
尾部是否存在空闲空间;若存在,则将报文描述符存储于所述空闲空间中的起始位置处;若不存在,则从
index
资源池中申请新
index
作为该队列对应的
index
,并将所述报文描述符存储于所述新
index
的起始位置处
。3.
根据权利要求2所述的方法,其特征在于,所述方法还包括:在从队列中读取报文后,确定该报文的报文描述符在
index
中的逻辑地址;从所确定的逻辑地址处读取报文描述符,并判断所确定的逻辑地址是否为所在
index
中的末位地址;若是,则将该
index
回收至
index
资源池
。4.
根据权利要求1‑3中任一项所述的方法,其特征在于,通过以下方式向索引矩阵中存储
bank
标识:针对所述索引矩阵中第一列,通过以下方式向该列中的各元素中写入
bank
标识;向目标元素中写入第一
bank
标识,所述第一
bank
标识的初始值小于预设阈值,所述预设阈值基于所述
bank
总数设置,所述目标元素为第一列中的任一元素;在所述第一
bank
标识的基础上增加第一预设步长,得到更新后的第一
bank
标识,若更新后的第一
bank
标识大于预设阈值,则在更新后的第一
bank
标识的基础上减去所述预设阈值;将更新后的第一
bank
标识写入至未写入
bank
标识的元素中,并返回执行所述在所述第一
bank
标识的基础上增加第一预设步长至所述将更新后的第一
bank
标识写入下一元素中的步骤,直至第一列的各个元素中均写入
bank
标识;针对第一列之外的每一元素,向该元素中写入第二
bank
标识,其中,所述第二
bank
标识是基于该元素所在行中第一列元素中存储的
bank
标识

第二预设步长以及所述
bank
总数计算得到的

5.
根据权利要求4所述的方法,其特征在于,所述第一预设步长和
/
或所述第二预设步长为质数
。6.
一种报文描述符离散存储装置,其特征在于,所述装置包括:逻辑地址获取模块,用于获取报文描述符在地址组
index
中的逻辑地址;其中,按照报文在队列中的顺序,报文对应的报文描述符在所述
index
中连续存储;行坐标确定模块,用于根据所述逻辑地址

每一
index
中能够存储报文描述符的可容纳数量

动态随机存取存储器逻辑...

【专利技术属性】
技术研发人员:牛忠华曾敏王萌
申请(专利权)人:格创通信浙江有限公司
类型:发明
国别省市:

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

1