存储器的读操作的调度方法和存储器技术

技术编号:23148641 阅读:16 留言:0更新日期:2020-01-18 13:18
本发明专利技术揭示了一种存储器的读操作的调度方法和存储器,所述存储器包括两个读端口,所述存储器由两个1RW存储器构成,所述方法包括:在同一个时间周期,所述存储器的两个读端口分别存在读操作0和读操作1两个读操作的请求;若所述两个读操作的请求分别需要访问不同的1RW存储器,采用Mutual调度模式,两个读操作的请求在同一个时间周期内同时被响应。与现有技术相比,本发明专利技术在联合工作模式下通过将2ROr1W存储器的两个读端口中加入调度机制,在不同的情况下灵活选择不同的调度模式,从而使得2ROr1W存储器的读性能得到优化,特别是在Mutual调度模式下,实现了容量翻倍但读性能不变的效果。

The scheduling method and memory of memory read operation

【技术实现步骤摘要】
存储器的读操作的调度方法和存储器
本专利技术涉及网络通信
,尤其涉及一种存储器的读操作的调度方法和存储器。
技术介绍
2ROr1W存储器在以太网芯片的动态表项设计中被广泛应用,该存储器可同时提供两个读端口或者1个写端口。内部实现时,通常使用两个相同容量的1RW存储器(RAMBlock0和RAMBlock1)搭建而成,如图1所示。在非联合工作模式下,RAMBlock0和RAMBlock1存储的是完全相同的内容,互为备份,所以当写操作时会同时改写RAMBlock0和RAMBlock1中相同地址的数据,因此在同一个时间周期内可以完成两次读操作,且读地址可以不相同。在联合工作模式下,RAMBlock0和RAMBlock1将存储完全不同的内容,成为两个独立的存储结构,互相没有关系,所以写操作会根据写地址判断当前的写数据应该被写入RAMBlock0或者RAMBlock1。但是RAMBlock0/RAMBlock1都是1RW的存储器结构,一个时间周期内只能完成一次写或者读操作,所述当两个读操作(读操作0和读操作1)同时需要访问同一个RAMBlock时,此RAMBlock无法在同一周期内回应着两个读操作,因此只能从设计上限定两个读操作不能在同一个时间周期内被响应。综上所述,在联合工作模式下2ROr1W存储器的容量翻倍,但读性能减半,即从原来的一个时间周期读两次缩减为一个时间周期只能读一次。
技术实现思路
本专利技术的目的在于提供一种存储器的读操作的调度方法和存储器。为实现上述专利技术目的之一,本专利技术一实施方式提供一种存储器的读操作的调度方法,所述存储器包括两个读端口,所述存储器由两个1RW存储器构成,所述方法包括:在同一个时间周期,所述存储器的两个读端口分别存在读操作0和读操作1两个读操作的请求;若所述两个读操作的请求分别需要访问不同的1RW存储器,采用Mutual调度模式,两个读操作的请求在同一个时间周期内同时被响应。作为本专利技术一实施方式的进一步改进,所述Mutual调度模式具体包括:将所述两个读操作的请求分别发送给对应的1RW存储器的内部读端口;每个所述1RW存储器响应内部读端口接收到的读操作的请求。作为本专利技术一实施方式的进一步改进,判断两个读操作的请求是否分别需要访问不同的1RW存储器具体包括:获取两个读操作的请求的地址;判断所述两个地址是否指向不同的1RW存储器。作为本专利技术一实施方式的进一步改进,所述方法还包括:若所述两个读操作的请求需要访问同一个1RW存储器,获取两个读端口在固定周期内的访问频率,根据所述访问频率选择不同的调度模式。作为本专利技术一实施方式的进一步改进,所述“根据所述访问频率选择不同的调度模式”具体包括:若所述两个读端口的访问频率不固定,采用RR调度模式。作为本专利技术一实施方式的进一步改进,所述存储器的两个读端口为读端口0和读端口1,所述RR调度模式具体包括:S61:设置读端口0为巡查点;S62:在一个时间周期内,若读端口0存在读操作0的请求,响应读操作0的请求,进入步骤S63;否则,若读端口1存在读操作1的请求,响应读操作1的请求,进入步骤S61;否则在下一个时间周期设置读端口1为巡查点,进入步骤S64;S63:设置读端口1为巡查点;S64:在一个时间周期内,若读端口1存在读操作1的请求,响应读操作1的请求,进入步骤S61;否则,若读端口0存在读操作0的请求,进入步骤S63;否则在下一个时间周期设置读端口0为巡查点,进入步骤S62。作为本专利技术一实施方式的进一步改进,所述“根据所述访问频率选择不同的调度模式”具体包括:若所述两个端口的访问频率不固定且具有权重,采用WRR调度模式。作为本专利技术一实施方式的进一步改进,所述存储器的两个读端口为读端口0和读端口1,所述WRR调度模式具体包括:S81:根据访问频率,设置读端口0的权重n=N,读端口1的权重为m=M,其中m、n为变量,M和N为正整数的常量。S82:设置读端口0为巡查点;S83:在一个时间周期内,若读端口0存在读操作0的请求且n>0,响应读操作0的请求,并且设置n=n-1,进入步骤S84;否则,若读端口1存在读操作1的请求且m>0,响应读操作1的请求,并设置m=m-1,进入步骤S82;若n=0且m=0,进入步骤S81;否则,在下一个时间周期设置读端口1为巡查点,进入步骤S85;S84:设置读端口1为巡查点;S85:在一个时间周期内,若读端口1存在读操作1的请求且m>0,响应读操作1的请求,并且设置m=m-1,进入步骤S82;否则,若读端口0存在读操作0的请求且n>0,响应读操作0的请求,并且设置n=n-1,进入步骤S84;若n=0且m=0,进入步骤S81;否则,在下一个时间周期设置读端口0为巡查点,进入步骤S83。为实现上述专利技术目的之一,本专利技术一实施方式提供一种存储器的读操作的调度方法,所示存储器由多个2ROr1W存储器并联构成,所述存储器包括两个外部读端口,每个所述2ROr1W存储器都包括有两个读端口读端口0和读端口1,所述存储器的两个外部读端口分别存在读操作0和读操作1的请求,所述读操作0和读操作1的请求需要同时得到每个2ROr1W存储器的响应,所述方法包括:使用slot信号将时间划分成规律翻转的slot0和slot1的时间片;当slot信号为slot0时,每个2ROr1W存储器的读端口0都响应读操作0的请求;当slot信号为slot1时,每个2ROr1W存储器的读端口1都响应读操作1的请求。为实现上述专利技术目的之一,本专利技术一实施方式提供一种存储器,所述存储器执行上述任意一项所述存储器的读操作的调度方法中的步骤。与现有技术相比,本专利技术在联合工作模式下通过将2ROr1W存储器的两个读端口中加入调度机制,在不同的情况下灵活选择不同的调度模式,从而使得2ROr1W存储器的读性能得到优化,特别是在Mutual调度模式下,实现了容量翻倍但读性能不变的效果。附图说明图1是本专利技术的2ROr1W存储器的内部结构的示意图。图2是本专利技术一实施方式的存储器的读操作的调度方法的流程示意图。图3是本专利技术的RR调度的流程示意图。图4是本专利技术的WRR调度的流程示意图。图5是本专利技术另一实施方式的存储器的读操作的调度方法的示意图。具体实施方式以下将结合附图所示的具体实施方式对本专利技术进行详细描述。但这些实施方式并不限制本专利技术,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本专利技术的保护范围内。本专利技术提供的存储器为2ROr1W存储器(两读或一写存储器),该存储器可同时提供两个读端口(读端口0和读端口1)或者1个写端口,所述存储器由两个相同容量的1RW存储器(RAMBlock0和RAMBlock1简称R本文档来自技高网...

【技术保护点】
1.一种存储器的读操作的调度方法,所述存储器包括两个读端口,所述存储器由两个1RW存储器构成,其特征在于,所述方法包括:/n在同一个时间周期,所述存储器的两个读端口分别存在读操作0和读操作1两个读操作的请求;/n若所述两个读操作的请求分别需要访问不同的1RW存储器,采用Mutual调度模式,两个读操作的请求在同一个时间周期内同时被响应。/n

【技术特征摘要】
1.一种存储器的读操作的调度方法,所述存储器包括两个读端口,所述存储器由两个1RW存储器构成,其特征在于,所述方法包括:
在同一个时间周期,所述存储器的两个读端口分别存在读操作0和读操作1两个读操作的请求;
若所述两个读操作的请求分别需要访问不同的1RW存储器,采用Mutual调度模式,两个读操作的请求在同一个时间周期内同时被响应。


2.根据权利要求1所述存储器的读操作的调度方法,其特征在于,所述Mutual调度模式具体包括:
将所述两个读操作的请求分别发送给对应的1RW存储器的内部读端口;
每个所述1RW存储器响应内部读端口接收到的读操作的请求。


3.根据权利要求1所述存储器的读操作的调度方法,其特征在于,判断两个读操作的请求是否分别需要访问不同的1RW存储器具体包括:
获取两个读操作的请求的地址;
判断所述两个地址是否指向不同的1RW存储器。


4.根据权利要求1所述存储器的读操作的调度方法,其特征在于,所述方法还包括:
若所述两个读操作的请求需要访问同一个1RW存储器,获取两个读端口在固定周期内的访问频率,根据所述访问频率选择不同的调度模式。


5.根据权利要求4所述存储器的读操作的调度方式,其特征在于,所述“根据所述访问频率选择不同的调度模式”具体包括:
若所述两个读端口的访问频率不固定,采用RR调度模式。


6.根据权利要求5所述存储器的读操作的调度模式,其特征在于,所述存储器的两个读端口为读端口0和读端口1,所述RR调度模式具体包括:
S61:设置读端口0为巡查点;
S62:在一个时间周期内,若读端口0存在读操作0的请求,响应读操作0的请求,进入步骤S63;否则,若读端口1存在读操作1的请求,响应读操作1的请求,进入步骤S61;否则在下一个时间周期设置读端口1为巡查点,进入步骤S64;
S63:设置读端口1为巡查点;
S64:在一个时间周期内,若读端口1存在读操作1的请求,响应读操作1的请求,进入步骤S61;否则,若读端口0存在读操作0的请求,进入步骤S63;否则在下一个时间周期设置读端口0为巡查点,进入步骤S62。

【专利技术属性】
技术研发人员:唐飞夏杰周峰
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏;32

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

1