首页> 中国专利> 基于随机地址的多端口共享内存管理系统及方法

基于随机地址的多端口共享内存管理系统及方法

摘要

本申请所提供了一种基于随机地址的多端口共享内存管理系统及方法,基于随机地址管理所述共享内存的数据读/写,包括共享内存、多级调度器以及读/写通道控制模块,读/写通道控制模块包括N个读/写请求通道,多级调度器包括第一级调度器、第二级调度器、…、以及第M级调度器,能够响应于任一读/写请求通道的读/写信息请求,调度对应的读/写请求通道的读/写信息;共享内存深度为P,宽度为W,包括X块深度为P/X,宽度为W的子物理内存,能够基于读/写信息于对应的所述子物理内存读/写数据;M、N、X均为整数,读信息至少包括:读有效标志位、读物理内存编号以及读地址,写信息至少包括:写有效标志位、写物理内存编号以及写地址。

著录项

  • 公开/公告号CN112463415A

    专利类型发明专利

  • 公开/公告日2021-03-09

    原文格式PDF

  • 申请/专利权人 盛科网络(苏州)有限公司;

    申请/专利号CN202011491078.X

  • 发明设计人 徐子轩;夏杰;

    申请日2020-12-17

  • 分类号G06F9/54(20060101);G06F9/48(20060101);G06F5/06(20060101);G06F5/08(20060101);G06F12/06(20060101);

  • 代理机构32235 苏州威世朋知识产权代理事务所(普通合伙);

  • 代理人沈晓敏

  • 地址 215021 江苏省苏州市工业园区星汉街5号B幢4楼13/16单元

  • 入库时间 2023-06-19 10:08:35

说明书

技术领域

本发明涉及网络技术领域,尤其涉及一种基于随机地址的多端口共享内存管理系统及方法。

背景技术

在高密度网络芯片中,经常需要将多通道的数据写入内存中进行缓存,并通过一定的调度机制将缓存的数据读出。

现有技术中,如图1所示,使用4份深度为P宽度为W的物理存储器组成,分别给写通道0..3使用。该方案每个写通道都分配了独立的物理内存,因而相互之间没有逻辑关系,可以支持随机地址的写操作,但是,由于其必须使用至少4份深度为P宽度为W的物理内存,导致芯片面积较大。

在另一种技术方案中,如图2所示,使用1份物理内存,该物理内存由4个1读1写的小物理内存组成,每个小物理内存深度为P/4,宽度为W。写操作时,根据空闲地址选择逻辑,每个写通道将分配一个写地址,每个写地址属于不同的小物理内存,分别写进四个小物理内存中,从而实现4写的操作。该方案必须使用空间地址选择逻辑,产生四个分别对应不同小物理内存的写地址。可以看出,如果写数据地址不可控,即若四个写通道的地址可能是0到P-1中的任意值,该方案不可行,也即,该方案不能基于随机地址实现。

发明内容

鉴于现有技术中存在的上述技术问题,本发明提供了一种能够基于随机地址并减小芯片面积的一种多端口共享内存管理系统,基于随机地址管理所述共享内存的数据读/写,包括共享内存、多级调度器以及读/写通道控制模块,所述读/写通道控制模块包括N个读/写请求通道,所述多级调度器包括第一级调度器、第二级调度器、…、以及第M级调度器,能够响应于任一读/写请求通道的读/写信息请求,调度对应的所述读/写请求通道的读/写信息;所述共享内存深度为P,宽度为W,包括X块深度为P/X,宽度为W的子物理内存,能够基于所述读/写信息于对应的所述子物理内存读/写数据;其中,M、N、X均为整数,M≥2,X≥N≥2,所述读信息至少包括:读有效标志位、读物理内存编号以及读地址,所述写信息至少包括:写有效标志位、写物理内存编号以及写地址。

可选地,所述子物理内存为1读和/或1写存储器。

可选地,M≥4,N≥16,X≥32。

可选地,所述读/写信息能够自所述第一级调度器逐级向所述第M级调度器位移。

为了实现上述发明目的,本发明提供了一种多端口共享内存管理方法,应用上述基于随机地址的多端口共享内存管理系统,所述方法包括:筛选可以参与读/写子物理内存的读/写请求通道;判断所述读/写请求通道上锁存的读/写有效标志位是否为1;若是,进一步判断与该读/写请求通道对应的所述子物理内存的读/写信息状态是否为零;若是,生成所述多级调度器的读/写内存授权,执行读/写子物理内存操作。

可选地,所述“判断与该读/写请求通道对应的所述子物理内存的读/写信息状态是否为零”由第M级已选择内存标志位是否为0表征,其中,第M级已选择内存标志位包括全部所述子物理内存在所述第M-1级调度器参与调度前的读/写状态信息。

可选地,所述“执行写子物理内存操作”包括将数据的读/写信息在各级调度器上通过进行位移操作实现所述数据于各级别调度器的传输,其中,所述位移操作为将数据的读/写信息由所述第一级调度器逐级向所述第M级调度器位移。

可选地,触发所述位移操作的条件为:经各级调度器处理后,对应的读/写请求通道的读/写信息中的读/写有效标志位仍然为1;以及经各级调度器处理后,所述读/写请求通道中第M级调度器中的读/写有效标志位为0,或者所述读/写请求通道中第M-1级调度器上的读/写信息可以向第M级调度器位移。

可选地,所述方法包括:当读/写请求FIFO不为空且所述第一级调度器的读/写有效标志位为0或可以进行所述位移操作时,读/写信息可以锁存在所述第一级调度器内。

可选地,所述“筛选可以参与读/写子物理内存的读/写请求通道”可以通过轮询或者固定所述读/写请求通道的优先级实现。

可选地,所述“读/写内存授权”包括将读/写物理内存编号对应的子物理内存读/写使能信号置1,将该子物理内存的读/写地址设置为当前所述读/写请求通道的读/写地址,将该子物理内存的读/写数据设置为当前所述读/写请求通道的读/写数据。

综上所述,本发明的技术效果为:使用“1读和/或1写”存储器作为共享内存,设计全新的读写地址冲突解决方案,从而实现N写共享内存的目的,极大的提升了物理内存的使用效率,同时读写地址可以为0至P-1之间的任意值(也即随机地址)。

另外,通过写信息的位移使得同一个写请求通道内各级别调度器理论上均可以缓存写信息,使得子物理内存可以响应多个写通道请求,降低了多端口同时访问相同子物理内存的概率,进而实现了写地址冲突解决。

附图说明

图1是现有技术中一种共享内存管理系统的结构示意图;

图2是现有技术中另一种共享内存管理系统的结构示意图;

图3是本申请所提供的基于随机地址的多端口共享内存管理系统的结构示意图;

图4是本申请所提供的基于随机地址的多端口共享内存管理系统第二级调度器的数据处理流程示意图。

图5是本申请所提供的基于随机地址的多端口共享内存管理方法的流程示意图。

具体实施方式

以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。

实施例

本实施例提供了一种多端口共享内存管理系统,包括共享内存、多级调度器以及读/写通道控制模块,共享内存深度为P,宽度为W,包括X块深度为P/X,宽度为W的子物理内存;所述多级调度器包括第一级调度器、第二级调度器、…、以及第M级调度器;所述读/写通道控制模块包括N个读/写请求通道,其中,M、N、X均为正整数,且X≥N。

其中,子物理内存为“1读和/或1写”存储器,“1读或1写”存储器表示该存储器在一个时钟周期内只可以进行一次读操作或者进行一次写操作,“1读和1写”存储器表示该存储器可以同时进行1次读和写操作。本发明将揭示一种基于上述两种物理内存之一实现多端口共享内存管理系统。

其中,读信息至少包括:读有效标志位、读物理内存编号以及读地址,写信息至少包括:写有效标志位、写物理内存编号以及写地址。

为了便于理解,本实施例以M=3,X=N=4为例进行说明,4个读/写请求通道具体为写请求通道,如图3所示,子物理内存分别为子物理内存1、子物理内存2、子物理内存3以及子物理内存4,多级调度器包括第一级调度器01、第二级调度器02以及第三级调度器03,四个写请求通道分别为写请求通道_0、写请求通道_1、写请求通道_2以及写请求通道_3。

下面结合图3对多端口共享内存管理系统的工作原理进行说明:

本实施例中,各级调度器设计原理如下:以第二级调度器02为例,其能够接收来自于第三级调度器03的输入信号:第三级已选择内存标志位,该标志位由4个(与子物理内存的数量相同)bit组成,4个bit,bit0-bit3分别对应四个子物理内存的写数据状态,例如,bit0如果为1,则表示第一子物理内存1已经被授权写数据,反之则表示没有被授权写数据。“第三级已选择内存标志位”本质上体现了在第二级调度器02处理之前,全部4个子物理内存的写数据状态,也即,哪些子物理内存可以被写入数据,哪些子物理内存无法被写入数据。

相应地,第二级调度器02能够向第一级调度器01输出信号:第二级已选择内存标志位,在进行第二级调度器02筛选之前,第二级已选择内存标志位等于第三级已选择内存标志位。

如图4所示,多级调度器将根据一定的规则从所有写请求通道中筛选可以参与写子物理内存的写请求,其中,上文所述的“一定的规则”可以为轮询或者固定优先级,在此不再赘述。

假设优先响应的写请求通道为写请求通道_0,则各写请求通道的处理方法如图5所示:

筛选可以参与写子物理内存的写请求通道;

判断写请求通道上锁存的写有效标志位是否为1;

若是,进一步判断与该写请求通道对应的子物理内存的写信息状态是否为0;

若是,生成多级调度器的写内存授权,执行写子物理内存操作。

具体地,所述处理方法包括:

步骤a):判断写请求通道_0上锁存的“写有效标志位”是否为1。如果为1有执行步骤b),否则执行步骤c);

步骤b):使用该通道上锁存的“写物理内存编号”读“第三级已选择内存标志位”。如果为1,表示当前通道期望写的子物理内存已经被授权,则当前通道无法被授权,执行步骤c;如果为0,表示当前通道期望写的子物理内存没有被授权,则:

将当前通道“写信息”中的“写有效标志位”置为0;

使用“写物理内存编号”将“第二级已选择内存标志位”对应的bit置1;

产生“第二级写内存授权”。该授权包括:将“写物理内存编号”对应的子物理内存写使能信号置1,将该子物理内存的写地址设置为当前通道的“写地址”,将该子物理内存的写数据设置为当前通道的“写数据”;

完成第二级调度器当前通道的筛选操作,执行步骤c。

步骤c):处理下一个写通道,重复步骤b,直到所有通道全部处理完成。

之后,将“第二级已选择内存标志位”传给第一级调度器。

需要说明的是,当全部四个写通道全部处理完成后,最多可能产生4个“第二级写内存授权”。可以看出,第二级调度器中处理写通道的顺序会对“第二级写内存授权”产生影响,本领域技术人员可根据实际情况决定是随机挑选筛选顺序的方式,还是轮询的方式,亦或固定顺序的方式,本实施例不做具体说明。

下面对共享内存管理系统的控制方法进行说明:

当任意通道存在写数据请求时,将“写信息”push进对应的写请求通道的写请求FIFO中;

根据上文中所述的“调度器设计原理”,处理第三级调度器03,将第三级调度器03产生的“第三级已选择内存标志位”赋值给第二级调度器02。处理第二级调度器02,将第二级调度器02产生的“第二级已选择内存标志位”赋值给第一级调度器01。处理第一级调度器01。完成所有三级调度器的处理之后,最多产生总计3*4=12组写内存授权。

根据写内存授权,执行写子物理内存操作。

其中,“写信息”在各级调度器上通过进行位移操作于各级别调度器传输。具体的,位移操作仅限制在各自的写通道内部的不同级别调度器上进行,即写请求通道_0中的“写信息”不可以位移到写请求通道_1中,也即,不同的写请求通道之间在“写信息”在移位操作时没有任何关联。

另外,“写信息”只可以由低级调度器逐级向高级调度器位移,即第一级调度器01仅可以向第二级调度器02位移,其他级调度器依此类推。最高级调度器的“写信息”不可以位移。

“写信息”位移需要满足以下两个条件。以第二级调度器02为例:

经各级调度器处理后,该通道“写信息”中的“写有效标志位”仍然为1;

经各级调度器处理后,该通道第三级调度器03中的“写有效标志位”为0,或者该通道第二级调度器02上的“写信息”可以向第三级调度器03位移。

需要说明的是,在第三级调度器03上,由于没有更高的优先级,该级“写信息”必然不能位移。另外,可以获知,如果最高级调度器在各级调度器完成处理后,“写信息”中的“写有效标志位”为0,则以下每一级调度器只要满足写请求通道_0上锁存的“写有效标志位”为1就都可以做写信息位移操作。

需要说明的是,X越大,多端口同时访问相同子物理内存的概率(以下简称“冲突概率”)越小。以写操作为例:每个写请求通道具有一个写请求FIFO,用来缓存写信息。写请求FIFO的pop出来的写信息将被锁存在第一级调度器上等待调度,调度器的级数理论上可以任意扩展,主要取决于写请求通道的个数和X的数量关系以及物理工艺的限制。因此,调度器的级数越多,“冲突概率”对系统整体性能的影响越小。

根据数学建模:

当M等于4,N等于16,X等于32时,模拟连续60万次写操作,写地址随机,最高级调度器“冲突概率”为3.75%,“写请求FIFO”不能pop的概率为0.052%。

当M等于5,N等于16,X等于32时,模拟连续60万次写操作,写地址随机,最高级调度器“冲突概率”为2.3%,“写请求FIFO”不能pop的概率为0.0054%。

当M等于4,N等于16,X等于64时,模拟连续60万次写操作,写地址随机,最高级调度器“冲突概率”为0.077%,“写请求FIFO”不能pop的概率为0。

可以看出,在N不变情况下,调度器级数越大,FIFO不能pop的概率越低。X值越大,FIFO不能pop的概率越低。

可选地,M≥4,N≥16,X≥32,以降低FIFO不能pop的概率。

本实施例中,使用“1读和/或1写”存储器作为共享内存,设计全新的读写地址冲突解决方案,从而实现N写共享内存的目的,极大的提升了物理内存的使用效率,同时读写地址可以为0至P-1之间的任意值(也即随机地址)。

本实施例中,通过写信息的位移使得同一个写请求通道内各级别调度器理论上均可以缓存写信息,使得子物理内存可以响应多个写通道请求,降低了多端口同时访问相同子物理内存的概率,进而实现了写地址冲突解决。

可选地,当同时满足下列两个条件时,写请求FIFO可以pop写信息并锁存在第一级调度器上:

该写请求通道的写请求FIFO不为空;

该写请求通道第一级调度器可以进行写信息位移操作,或者第一级调度器中“写有效标志位”为0。

本领域技术人员基于上述方案容易获知将上述方法应用于读信息的实现方式,此处不再赘述。

本发明的技术内容及技术特征已揭示如上,然后熟悉本领域的技术人员仍可基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请的权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号