多测试通道优先级自适应仲裁方法和存储器访问控制器技术

技术编号:26762239 阅读:25 留言:0更新日期:2020-12-18 23:09
本申请涉及一种多测试通道优先级自适应仲裁方法和存储器访问控制器。其中,该存储器访问控制器包括:多个一级写缓存单元、多级写仲裁单元、二级写缓存单元、读写仲裁单元和读缓存单元,一级写缓存单元用于缓存测试通道的写操作数据;多级写仲裁单元用于逐级仲裁,并确定赢得本次仲裁的一级写缓存单元;二级写缓存单元用于接收赢得本次仲裁的一级写缓存单元发送的写操作数据,并向读写仲裁单元发起读写操作优先级仲裁;读缓存单元用于向读写仲裁单元发起读写操作优先级仲裁;读写仲裁单元用于对二级写缓存单元和读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器。通过本申请,节省了DDR仲裁器的资源。

【技术实现步骤摘要】
多测试通道优先级自适应仲裁方法和存储器访问控制器
本申请涉及存储控制领域,特别是涉及多测试通道优先级自适应仲裁方法和存储器访问控制器。
技术介绍
双倍速率同步动态随机存储器(DoubleDataRateSynchronousDynamicRandomAccessMemory,简称为DDRSDRAM或DDR)是常用的大缓存解决方案,当前其控制基于用途主要分为单逻辑单物理通道架构、单逻辑多物理通道架构、多逻辑单物理通道架构和多逻辑多物理通道架构。其中,单逻辑多物理通道架构适用于高峰值带宽的场景,多逻辑多物理通道架构适用低延迟场景;考虑到资源和实际需要,单逻辑单物理通道适用于实现基本缓存功能场景,多逻辑单物理通道适用于低延迟覆盖操作场景。为了使得DDR仲裁器能够在上述各个场景下被使用,在相关技术中,通过在DDR仲裁器中设置多个写转换单元,用于将写用户申请的某一长度数据的写操作细分为多个小批次的写申请并提交给命令拆分单元;多个读转换单元,用于将读用户申请的某一长度数据的读操作细分为多个小批次的读申请并提交给命令拆分单元;命令拆分单元,用于将小批次的读、写命令,进一步拆分成DDR控制器可识别的指令,并将读、写命令存入第一先入先出(FirstInputFirstOutput,简称为FIFO)单元,将写数据存入第二FIFO单元;公平仲裁单元,用于对每个读用户和写用户进行编号,并对其优先级进行裁定,并生成路由表存储在第三FIFO单元中;流控保护单元,用于监控第一FIFO单元、第二FIFO单元是否有足够裕量,若否,则暂停命令拆分单元对当前批次的命令拆分;握手逻辑单元,用于将读、写命令和写数据分别从第一FIFO单元和第二FIFO单元中读出,按照DDR控制器的握手要求发送给DDR控制器;路由控制单元,用于从第三FIFO单元获取路由表,在DDR控制器返回数据时,根据路由表进行路由选择的方式,实现多路读写用户并行访问;写用户和读用户接口至仲裁器接口的转换,将用户的申请分段处理;读用户和写用户的数据缓存管理;对多用户实现公平仲裁;将读写用户的申请拆解成DDR控制器可执行的命令流和数据流;DDR流控保护机制;用户读数据路由。然而,在研究过程中发现,上述方案中的DDR仲裁器的控制机制复杂,且造成了DDR仲裁器的资源浪费。目前针对相关技术中存在DDR仲裁器资源浪费的问题,尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种多测试通道优先级自适应仲裁方法和存储器访问控制器,以至少解决相关技术中存在DDR仲裁器资源浪费的问题。第一方面,本申请实施例提供了一种存储器访问控制器,在其中一些实施例中,所述存储器访问控制器包括:多个一级写缓存单元、多级写仲裁单元、二级写缓存单元、读写仲裁单元和读缓存单元;每个所述一级写缓存单元连接一个测试通道,用于缓存所述测试通道的写操作数据;所述多级写仲裁单元中每两个前一级的写仲裁单元连接一个后一级的写仲裁单元;所述多级写仲裁单元中每个首级的写仲裁单元连接两个所述一级写缓存单元,用于根据两个所述一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中后一级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中末级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元;所述读写仲裁单元分别连接所述二级写缓存单元和所述读缓存单元;所述二级写缓存单元分别连接多个所述一级写缓存单元,用于接收赢得本次仲裁的一级写缓存单元发送的写操作数据,并向所述读写仲裁单元发起读写操作优先级仲裁;所述读缓存单元,用于在所述读缓存单元非空的情况下向所述读写仲裁单元发起读写操作优先级仲裁;所述读写仲裁单元,用于对所述二级写缓存单元和所述读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器。在其中一些实施例中,所述读缓存单元包括:读数据缓存子单元,用于缓存所述读写控制器返回的读数据;读操作地址缓存子单元,用于缓存测试通道的读操作地址;读操作标识信息(Identifier,简称为ID)缓存子单元,用于缓存所述读操作地址对应的读测试通道的标识信息。在其中一些实施例中,所述存储器访问控制器还包括:监控单元,分别耦合至每个所述一级写缓存单元,用于监控每个所述一级写缓存单元所对应的裕量值是否达到预设裕量值,若是,则确定裕量值达到所述预设裕量值的一级写缓存单元,并生成该一级写缓存单元的告警信息。在其中一些实施例中,所述存储器访问控制器还包括:裕量调整单元,用于调整与所述告警信息所对应的一级写缓存单元的深度。第二方面,提供了一种多测试通道优先级自适应仲裁方法,应用于如第一方面所述的存储器访问控制器,所述方法包括:多个一级写缓存单元缓存多个测试通道的写操作数据,其中,每一个所述一级写缓存单元缓存一个测试通道的写操作数据;所述多级写仲裁单元中每个首级的写仲裁单元连接根据两个所述一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中后一级的写仲裁单元根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中末级的写仲裁单元根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元;所述二级写缓存单元接收所述赢得本次仲裁的一级写缓存单元发送的写操作数据,并向所述读写仲裁单元发起读写操作优先级仲裁;在所述读缓存单元非空的情况下,所述读缓存单元向所述读写仲裁单元发起读写操作优先级仲裁;所述读写仲裁单元对所述二级写缓存单元和所述读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器。在其中一些实施例中,多个一级写缓存单元缓存多个测试通道的写操作数据包括:检测是否有第一强制触发信号;在检测到有第一强制触发信号的情况下,确定与所述第一强制触发信号对应的测试通道的写操作数据的位数以及确定用于缓存该测试通道的一级写缓存单元的位宽;将用于缓存该测试通道的一级写缓存单元的位宽按照第一预设倍数扩大;计算与所述第一强制触发信号对应的测试通道的写操作数据的位数与扩大所述预设倍数之后的用于缓存该测试通道的一级写缓存单元的位宽的第一差值;将该测试通道的写操作数据按照所述第一差值进行补齐;所述多个一级写缓存单元缓存该测试通道的补齐之后的写操作数据。在其中一些实施例中,所述读写仲裁单元对所述二级写缓存单元和所述读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送本文档来自技高网
...

【技术保护点】
1.一种存储器访问控制器,其特征在于,所述存储器访问控制器包括:多个一级写缓存单元、多级写仲裁单元、二级写缓存单元、读写仲裁单元和读缓存单元;/n每个所述一级写缓存单元连接一个测试通道,用于缓存所述测试通道的写操作数据;/n所述多级写仲裁单元中每两个前一级的写仲裁单元连接一个后一级的写仲裁单元;所述多级写仲裁单元中每个首级的写仲裁单元连接两个所述一级写缓存单元,用于根据两个所述一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中后一级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中末级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元;/n所述读写仲裁单元分别连接所述二级写缓存单元和所述读缓存单元;/n所述二级写缓存单元分别连接多个所述一级写缓存单元,用于接收赢得本次仲裁的一级写缓存单元发送的写操作数据,并向所述读写仲裁单元发起读写操作优先级仲裁;/n所述读缓存单元,用于在所述读缓存单元非空的情况下向所述读写仲裁单元发起读写操作优先级仲裁;/n所述读写仲裁单元,用于对所述二级写缓存单元和所述读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器。/n...

【技术特征摘要】
1.一种存储器访问控制器,其特征在于,所述存储器访问控制器包括:多个一级写缓存单元、多级写仲裁单元、二级写缓存单元、读写仲裁单元和读缓存单元;
每个所述一级写缓存单元连接一个测试通道,用于缓存所述测试通道的写操作数据;
所述多级写仲裁单元中每两个前一级的写仲裁单元连接一个后一级的写仲裁单元;所述多级写仲裁单元中每个首级的写仲裁单元连接两个所述一级写缓存单元,用于根据两个所述一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中后一级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中末级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元;
所述读写仲裁单元分别连接所述二级写缓存单元和所述读缓存单元;
所述二级写缓存单元分别连接多个所述一级写缓存单元,用于接收赢得本次仲裁的一级写缓存单元发送的写操作数据,并向所述读写仲裁单元发起读写操作优先级仲裁;
所述读缓存单元,用于在所述读缓存单元非空的情况下向所述读写仲裁单元发起读写操作优先级仲裁;
所述读写仲裁单元,用于对所述二级写缓存单元和所述读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器。


2.根据权利要求1所述的存储器访问控制器,其特征在于,所述读缓存单元包括:
读数据缓存子单元,用于缓存所述读写控制器返回的读数据;
读操作地址缓存子单元,用于缓存测试通道的读操作地址;
读操作标识信息缓存子单元,用于缓存所述读操作地址对应的读测试通道的标识信息。


3.根据权利要求1所述的存储器访问控制器,其特征在于,所述存储器访问控制器还包括:
监控单元,分别耦合至每个所述一级写缓存单元,用于监控每个所述一级写缓存单元所对应的裕量值是否达到预设裕量值,若是,则确定裕量值达到所述预设裕量值的一级写缓存单元,并生成该一级写缓存单元的告警信息。


4.根据权利要求3所述的存储器访问控制器,其特征在于,所述存储器访问控制器还包括:
裕量调整单元,用于调整与所述告警信息所对应的一级写缓存单元的深度。


5.一种多测试通道优先级自适应仲裁方法,应用于如权利要求1至4中任一项所述的存储器访问控制器,其特征在于,所述方法包括:
多个一级写缓存单元缓存多个测试通道的写操作数据,其中,每一个所述一级写缓存单元缓存一个测试通道的写操作数据;
所述多级写仲裁单元中每个首级的写仲裁单元连接根据两个所述一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;
所述多级写仲裁单元中后一级的写仲裁单元根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单...

【专利技术属性】
技术研发人员:李兵杨梦鑫于洪涛方建正钟锋浩
申请(专利权)人:杭州长川科技股份有限公司
类型:发明
国别省市:浙江;33

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

1