多端口存储器、多端口存储器的读写方法及装置与流程

文档序号:36729575发布日期:2024-01-16 12:39阅读:56来源:国知局
多端口存储器、多端口存储器的读写方法及装置与流程

本发明实施例涉及网络通讯领域,具体而言,涉及一种多端口存储器、多端口存储器的读写方法及装置。


背景技术:

1、存储器是用来存储程序和数据的部件,在计算机领域、通讯领域、人工智能领域等均有极为广泛的应用。几乎所有具备高科技含量的芯片或设备都配备专用的内部或外部存储器,存储器的性能往往是决定整个芯片或设备性能的关键因素之一。在各种存储器中,sram是目前大规模集成电路领域最常见的片内存储器。相比较于锁存器阵列和寄存器等存储器形式,sram的存储代价是最小的,因此现有缓存主要以sram为主。原始的sram ip基本由单个读或写端口形式构成,而计算机、通讯、人工智能领域相关芯片往往需要更多端口的存储器,以保证高并行度处理性能和高带宽接口性能。

2、现有的多端口缓存主要有以下几种设计方案:第一种是通过仲裁机制分时读取,但这种类型的缓存速度往往受限于存储器的接口速率,无法提供并行访问;第二种是将存储区进行多粒度划分,但这种方案并没有提供访问冲突的解决办法,在访问冲突时只能等待,访问速率无法得到保障;第三种是采用复制存储资源和复制存储内容的方式,实现并行读写端口扩展,但是这种方案所需的存储器开销会随着端口数量的增加以指数形式增长,面积和功耗的开销过大。


技术实现思路

1、本发明实施例提供了一种多端口存储器、多端口存储器的读写方法及装置,以至少解决相关技术中多端口并行读写缓存开销过大的问题。

2、根据本发明的一个实施例,提供了一种多端口存储器,包括:n个写端口、一个写控制器、k个写缓冲器和一个存储块组,其中,上述存储块组,包括k个存储块,其中,k大于n;上述写端口,用于接收外部输入的写命令和写数据,并输出至上述写控制器;上述写控制器,用于将上述写命令和写数据调度至对应的写缓冲器;上述写缓冲器,用于缓存待写入存储块的写数据,其中,一个写缓冲器对应一个存储块。

3、在一个示例性实施例中,还包括n个读端口、一个读控制器、k个读命令缓冲器和n个读数据缓冲器,其中,上述读端口,用于接收外部输入的读命令,并输出至上述读控制器;上述读控制器,用于将上述读命令调度至对应的读命令缓冲器;读命令缓冲器,用于缓存读对应的存储块的读命令,其中,一个读命令缓冲器对应一个存储块;上述读数据缓冲器,用于缓存从存储块读出的待输出至对应读端口的数据,其中,一个读数据缓冲器对应一个读端口。

4、根据本发明的一个实施例,提供了一种多端口存储器的读写方法,包括:在通过多个写端口接收到写命令的情况下,确定各个写命令各自对应的存储块;在上述存储块的写缓冲器中存在空闲缓存空间的情况下,将上述写命令调度至对应的上述写缓冲器中,以通过上述写缓冲器将上述写命令指示的写数据写入上述存储块。

5、在一个示例性实施例中,在确定各个写命令各自对应的存储块之后,还包括:在上述存储块的写缓冲器中缓存空间均被占用的情况下,阻塞接收上述写命令的写端口,并在下一周期再次发起上述写命令。

6、在一个示例性实施例中,在通过多个读端口接收到读命令的情况下,确定各个读命令各自对应的存储块;在上述存储块的读命令缓冲器中存在空闲缓存空间的情况下,将上述读命令调度至对应的上述读命令缓冲器中,并为上述读命令标记缓冲等级,以使读数据缓冲器按照上述缓冲等级,将上述读命令指示的读出数据反馈给对应的读端口,其中,上述缓冲等级指示上述读出数据在上述读数据缓冲器中的延时拍数。

7、在一个示例性实施例中,在确定各个读命令各自对应的存储块之后,还包括:在上述存储块的读命令缓冲器中缓存空间均被占用的情况下,阻塞接收上述读命令的读端口,并在下一周期再次发起上述读命令。

8、在一个示例性实施例中,将上述读命令调度至对应的上述读命令缓冲器中,并为上述读命令标记缓冲等级,包括:在至少两个上述读命令对应同一存储块的情况下,按照优先级依次将至少两个上述读命令缓存至上述存储块对应的读命令缓冲器中,并按照缓存顺序依次为每个读命令标记缓冲等级,其中,每个读命令的缓冲等级均不相同。

9、在一个示例性实施例中,按照缓存顺序依次为每个读命令标记缓冲等级,包括:按照上述读命令缓存上述读命令缓冲器中的缓存顺序,确定上述读命令在上述读命令缓冲器中的缓存位置;为上述读命令标记与上述读命令缓冲器中的缓存位置对应的缓冲等级,其中,上述缓冲等级的总级数与上述读命令缓冲器中的缓存位置的数量一致,上述缓冲等级的级数与上述缓存位置的排序呈正相关。

10、根据本发明的另一个实施例,提供了一种多端口存储器的读写装置,包括:写控制器,用于在通过多个写端口接收到写命令的情况下,确定各个写命令各自对应的存储块,并在上述存储块的写缓冲器中存在空闲缓存空间的情况下,将上述写命令调度至对应的上述写缓冲器中,以通过上述写缓冲器将上述写命令指示的写数据写入上述存储块。

11、在一个示例性实施例中,还包括:读控制器,用于在通过多个读端口接收到读命令的情况下,确定各个读命令各自对应的存储块,在上述存储块的读命令缓冲器中存在空闲缓存空间的情况下,将上述读命令调度至对应的上述读命令缓冲器中,并为上述读命令标记缓冲等级,以使读数据缓冲器在接收到上述读出数据的情况下,将读出数据反馈给对应的上述读端口其中,其中,每个上述存储块均配备有对应的读命令缓冲器,上述缓冲等级指示上述读命令指示的上述读出数据在上述读数据缓冲器中的延时拍数。

12、根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

13、根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

14、通过本发明,由于将多端口存储器划分为k个存储器,并为每个存储快配置单独的写缓冲器,实现了保序的多端口缓存设计,解决了随着访问端口增加而带来的存储开销指数级增大的问题,达到减少了多端口存储器缓存所需存储资源的开销效果。



技术特征:

1.一种多端口存储器,其特征在于,包括:n个写端口、一个写控制器、k个写缓冲器和一个存储块组,其中,

2.根据权利要求1所述的多端口存储器,其特征在于,还包括n个读端口、一个读控制器、k个读命令缓冲器和n个读数据缓冲器,其中,

3.一种多端口存储器的读写方法,其特征在于,应用于权利要求1-2任一项所述的多端口存储器,所述方法包括:

4.根据权利要求3所述的方法,其特征在于,在确定各个写命令各自对应的存储块之后,还包括:

5.根据权利要求3所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,在确定各个读命令各自对应的存储块之后,还包括:

7.根据权利要求5所述的方法,其特征在于,将所述读命令调度至对应的所述读命令缓冲器中,并为所述读命令标记缓冲等级,包括:

8.根据权利要求7所述的方法,其特征在于,按照缓存顺序依次为每个读命令标记缓冲等级,包括:

9.一种多端口存储器的读写装置,其特征在于,包括:

10.根据权利要求9所述的装置,其特征在于,还包括:

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求3至8任一项中所述的方法的步骤。

12.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求3至8任一项中所述的方法的步骤。


技术总结
本发明实施例提供了一种多端口存储器、多端口存储器的读写方法及装置。多端口存储器包括:N个写端口、一个写控制器、K个写缓冲器和一个存储块组,其中,存储块组,包括K个存储块,其中,K大于N;写端口,用于接收外部输入的写命令和写数据,并输出至写控制器;写控制器,用于将写命令和写数据调度至对应的写缓冲器;写缓冲器,用于缓存待写入存储块的写数据,其中,一个写缓冲器对应一个存储块。通过本发明,解决了随着访问端口增加而带来的存储开销指数级增大的问题,达到减少了多端口存储器缓存所需存储资源的开销效果。

技术研发人员:王思宇,刘峰松,朱智华,刘衡祁
受保护的技术使用者:深圳市中兴微电子技术有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1