CN112100097A - 多测试通道优先级自适应仲裁方法和存储器访问控制器 - Google Patents

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

Info

Publication number
CN112100097A
CN112100097A CN202011283945.0A CN202011283945A CN112100097A CN 112100097 A CN112100097 A CN 112100097A CN 202011283945 A CN202011283945 A CN 202011283945A CN 112100097 A CN112100097 A CN 112100097A
Authority
CN
China
Prior art keywords
write
arbitration
read
unit
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011283945.0A
Other languages
English (en)
Other versions
CN112100097B (zh
Inventor
李兵
杨梦鑫
于洪涛
方建正
钟锋浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Changchuan Technology Co Ltd
Original Assignee
Hangzhou Changchuan Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Changchuan Technology Co Ltd filed Critical Hangzhou Changchuan Technology Co Ltd
Priority to CN202011283945.0A priority Critical patent/CN112100097B/zh
Publication of CN112100097A publication Critical patent/CN112100097A/zh
Application granted granted Critical
Publication of CN112100097B publication Critical patent/CN112100097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

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

Description

多测试通道优先级自适应仲裁方法和存储器访问控制器
技术领域
本申请涉及存储控制领域,特别是涉及多测试通道优先级自适应仲裁方法和存储器访问控制器。
背景技术
双倍速率同步动态随机存储器(Double Data Rate Synchronous DynamicRandom Access Memory,简称为DDR SDRAM或DDR)是常用的大缓存解决方案,当前其控制基于用途主要分为单逻辑单物理通道架构、单逻辑多物理通道架构、多逻辑单物理通道架构和多逻辑多物理通道架构。其中,单逻辑多物理通道架构适用于高峰值带宽的场景,多逻辑多物理通道架构适用低延迟场景;考虑到资源和实际需要,单逻辑单物理通道适用于实现基本缓存功能场景,多逻辑单物理通道适用于低延迟覆盖操作场景。
为了使得DDR仲裁器能够在上述各个场景下被使用,在相关技术中,通过在DDR仲裁器中设置多个写转换单元,用于将写用户申请的某一长度数据的写操作细分为多个小批次的写申请并提交给命令拆分单元;多个读转换单元,用于将读用户申请的某一长度数据的读操作细分为多个小批次的读申请并提交给命令拆分单元;命令拆分单元,用于将小批次的读、写命令,进一步拆分成DDR控制器可识别的指令,并将读、写命令存入第一先入先出(First Input First Output,简称为FIFO)单元,将写数据存入第二FIFO单元;公平仲裁单元,用于对每个读用户和写用户进行编号,并对其优先级进行裁定,并生成路由表存储在第三FIFO单元中;流控保护单元,用于监控第一FIFO单元、第二FIFO单元是否有足够裕量,若否,则暂停命令拆分单元对当前批次的命令拆分;握手逻辑单元,用于将读、写命令和写数据分别从第一FIFO单元和第二FIFO单元中读出,按照DDR控制器的握手要求发送给DDR控制器;路由控制单元,用于从第三FIFO单元获取路由表,在DDR控制器返回数据时,根据路由表进行路由选择的方式,实现多路读写用户并行访问;写用户和读用户接口至仲裁器接口的转换,将用户的申请分段处理;读用户和写用户的数据缓存管理;对多用户实现公平仲裁;将读写用户的申请拆解成DDR控制器可执行的命令流和数据流;DDR流控保护机制;用户读数据路由。然而,在研究过程中发现,上述方案中的DDR仲裁器的控制机制复杂,且造成了DDR仲裁器的资源浪费。
目前针对相关技术中存在DDR仲裁器资源浪费的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种多测试通道优先级自适应仲裁方法和存储器访问控制器,以至少解决相关技术中存在DDR仲裁器资源浪费的问题。
第一方面,本申请实施例提供了一种存储器访问控制器,在其中一些实施例中,所述存储器访问控制器包括:多个一级写缓存单元、多级写仲裁单元、二级写缓存单元、读写仲裁单元和读缓存单元;
每个所述一级写缓存单元连接一个测试通道,用于缓存所述测试通道的写操作数据;
所述多级写仲裁单元中每两个前一级的写仲裁单元连接一个后一级的写仲裁单元;所述多级写仲裁单元中每个首级的写仲裁单元连接两个所述一级写缓存单元,用于根据两个所述一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中后一级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中末级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元;
所述读写仲裁单元分别连接所述二级写缓存单元和所述读缓存单元;
所述二级写缓存单元分别连接多个所述一级写缓存单元,用于接收赢得本次仲裁的一级写缓存单元发送的写操作数据,并向所述读写仲裁单元发起读写操作优先级仲裁;
所述读缓存单元,用于在所述读缓存单元非空的情况下向所述读写仲裁单元发起读写操作优先级仲裁;
所述读写仲裁单元,用于对所述二级写缓存单元和所述读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器。
在其中一些实施例中,所述读缓存单元包括:
读数据缓存子单元,用于缓存所述读写控制器返回的读数据;
读操作地址缓存子单元,用于缓存测试通道的读操作地址;
读操作标识信息(Identifier,简称为ID)缓存子单元,用于缓存所述读操作地址对应的读测试通道的标识信息。
在其中一些实施例中,所述存储器访问控制器还包括:
监控单元,分别耦合至每个所述一级写缓存单元,用于监控每个所述一级写缓存单元所对应的裕量值是否达到预设裕量值,若是,则确定裕量值达到所述预设裕量值的一级写缓存单元,并生成该一级写缓存单元的告警信息。
在其中一些实施例中,所述存储器访问控制器还包括:
裕量调整单元,用于调整与所述告警信息所对应的一级写缓存单元的深度。
第二方面,提供了一种多测试通道优先级自适应仲裁方法,应用于如第一方面所述的存储器访问控制器,所述方法包括:
多个一级写缓存单元缓存多个测试通道的写操作数据,其中,每一个所述一级写缓存单元缓存一个测试通道的写操作数据;
所述多级写仲裁单元中每个首级的写仲裁单元连接根据两个所述一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;
所述多级写仲裁单元中后一级的写仲裁单元根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;
所述多级写仲裁单元中末级的写仲裁单元根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元;
所述二级写缓存单元接收所述赢得本次仲裁的一级写缓存单元发送的写操作数据,并向所述读写仲裁单元发起读写操作优先级仲裁;
在所述读缓存单元非空的情况下,所述读缓存单元向所述读写仲裁单元发起读写操作优先级仲裁;
所述读写仲裁单元对所述二级写缓存单元和所述读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器。
在其中一些实施例中,多个一级写缓存单元缓存多个测试通道的写操作数据包括:
检测是否有第一强制触发信号;
在检测到有第一强制触发信号的情况下,确定与所述第一强制触发信号对应的测试通道的写操作数据的位数以及确定用于缓存该测试通道的一级写缓存单元的位宽;
将用于缓存该测试通道的一级写缓存单元的位宽按照第一预设倍数扩大;
计算与所述第一强制触发信号对应的测试通道的写操作数据的位数与扩大所述预设倍数之后的用于缓存该测试通道的一级写缓存单元的位宽的第一差值;
将该测试通道的写操作数据按照所述第一差值进行补齐;
所述多个一级写缓存单元缓存该测试通道的补齐之后的写操作数据。
在其中一些实施例中,所述读写仲裁单元对所述二级写缓存单元和所述读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器之后,所述方法包括:
获取读写控制器返回的读操作数据;
检测是否有第二强制触发信号;
在检测到有第二强制触发信号的情况下,确定与所述读操作数据的位数以及确定用于缓存所述读操作数据的读缓存单元的位宽;
将用于缓存所述读操作数据的读缓存单元的位宽按照第二预设倍数扩大;
计算与所述读操作数据的位数与扩大所述预设倍数之后的用于缓存所述读操作数据的读缓存单元的位宽的第二差值;
将所述读操作数据按照所述第二差值进行补齐;
所述读缓存单元将补齐之后的所述读操作数据进行缓存。
在其中一些实施例中,在所述读缓存单元非空的情况下,所述读缓存单元向所述读写仲裁单元发起读写操作优先级仲裁之前,所述方法还包括:
获取读测试通道发送的读操作地址,并确定所述读测试通道的标识信息;
将测试通道的读操作地址缓存至读操作地址缓存子单元,以及将所述读操作地址对应的读测试通道的标识信息缓存至读操作标识信息缓存子单元。
第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第二方面所述的多测试通道优先级自适应仲裁方法。
第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第二方面的多测试通道优先级自适应仲裁方法。
相比于相关技术,本申请实施例提供的多测试通道优先级自适应仲裁方法和存储器访问控制器,通过在存储器访问控制器中设置多个一级写缓存单元、多级写仲裁单元、二级写缓存单元、读写仲裁单元和读缓存单元;每个一级写缓存单元连接一个测试通道,用于缓存测试通道的写操作数据;多级写仲裁单元中每两个前一级的写仲裁单元连接一个后一级的写仲裁单元;多级写仲裁单元中每个首级的写仲裁单元连接两个一级写缓存单元,用于根据两个一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;多级写仲裁单元中后一级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;多级写仲裁单元中末级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元;读写仲裁单元分别连接二级写缓存单元和读缓存单元;二级写缓存单元分别连接多个一级写缓存单元,用于接收赢得本次仲裁的一级写缓存单元发送的写操作数据,并向读写仲裁单元发起读写操作优先级仲裁;读缓存单元,用于在读缓存单元非空的情况下向读写仲裁单元发起读写操作优先级仲裁;读写仲裁单元,用于对二级写缓存单元和读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器的方式,解决了相关技术中存在DDR仲裁器资源浪费的问题,节省了DDR仲裁器的资源。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的存储器访问控制器的结构示意图;
图2是根据本申请优选实施例的存储器访问控制器的结构示意图;
图3是根据本申请实施例的多测试通道优先级自适应仲裁方法的流程图;
图4是根据本申请优选实施例的多测试通道优先级自适应仲裁方法的流程图;
图5为读写控制器的写操作时序图;
图6为读写控制器的读操作时序图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供了一种存储器访问控制器,图1是根据本申请实施例的存储器访问控制器的结构框图,如图1所示,该存储器访问控制器包括:多个一级写缓存单元10、多级写仲裁单元20、二级写缓存单元30、读写仲裁单元50和读缓存单元40;每个一级写缓存单元10连接一个测试通道,用于缓存测试通道的写操作数据;多级写仲裁单元20中每两个前一级的写仲裁单元20连接一个后一级的写仲裁单元20;多级写仲裁单元20中每个首级的写仲裁单元20连接两个一级写缓存单元10,用于根据两个一级写缓存单元10提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元10提交的仲裁数据向后一级的写仲裁单元20发起写操作优先级仲裁;多级写仲裁单元20中后一级的写仲裁单元20用于根据两个前一级的写仲裁单元20提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元20提交的仲裁数据向后一级的写仲裁单元20发起写操作优先级仲裁;多级写仲裁单元20中末级的写仲裁单元20用于根据两个前一级的写仲裁单元20提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元10;读写仲裁单元50分别连接二级写缓存单元30和读缓存单元40;二级写缓存单元30分别连接多个一级写缓存单元10,用于接收赢得本次仲裁的一级写缓存单元10发送的写操作数据,并向读写仲裁单元50发起读写操作优先级仲裁;读缓存单元40,用于在读缓存单元40非空的情况下向读写仲裁单元50发起读写操作优先级仲裁;读写仲裁单元50,用于对二级写缓存单元30和读缓存单元40进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器60。
在本实施例中,先通过多个一级写缓存单元10来缓存多个测试通道的写操作数据,再由多级仲裁单元从多个一级写缓存单元10中来确定赢得本次仲裁的一级写缓存单元10,然后再通过二级写缓存单元30来接收赢得本次仲裁的一级写缓存单元10发送的写操作数据,并向读写仲裁单元50发起读写操作优先级仲裁,以及在读缓存单元40非空的情况下,通过读缓存单元40向读写仲裁单元50发起读写操作优先级仲裁;最后再通过读写仲裁单元50对二级写缓存单元30和读缓存单元40进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器60的方式,实现了对多测试通道的读写仲裁,同时无需要相关技术中的多个写转换单元来将写用户申请的某一长度数据的写操作细分为多个小批次的写申请并提交给命令拆分单元,以及无需多个读转换单元来将读用户申请的某一长度数据的读操作细分为多个小批次的读申请并提交给命令拆分单元多个读转换单元,解决了相关技术中存在DDR仲裁器资源浪费的问题,节省了DDR仲裁器的资源。
在本实施例中,读写控制器60可以是但不限于DDR存储器接口发生器(MemoryInterface Generator,简称为MIG)控制器,通过调用DDR MIG控制器可以确保双倍速率同步动态随机存储器DDR控制的稳定高效。需要说明的是DDR MIG控制器是赛灵思(XILINX)提供的DDR控制器IP核(Intellectual Property core,简称为IP核),可以快速实现对DDR的驱动,且其接口时序简单。
在本实施例中,一级写缓存单元10、二级写缓存单元30以及读缓存单元40均可以是但不限于FIFO存储器。
需要说明的是,FIFO存储器的深度可以根据具体场景或者用户实际需要进行配置。该FIFO存储器的左右侧的位宽扩大倍数通常为DDR突发长度(例如4bit或8bit)。
在一些实施例中,还可以通过强制触发信号来解决FIFO无法读取最后一个数据问题,在本申请实施例中可以通过检测到强制触发信号后,用减法器计算左右侧的位宽扩大倍数和当前FIFO存储器里写入的数据个数(基于左侧位宽)的差值,并将差值个0值写入FIFO存储器。同时考虑到FIFO存储器的类型分为块RAM和低层逻辑,当选取块RAM时应考虑其占用的资源是否存在闲置进而调整其深度,当选取低层逻辑时可以根据计算设定最小值,且在本实施例中地址和数据通常可以将地址设置为高位。
多级写仲裁单元20可以通过以下方式来确定赢得本次仲裁的一级写缓存单元10:两个测试通道所对应的一级写缓存单元10一组组成一个前一级写仲裁单元20,再通过对两个一级写缓存单元10的当前裕量值进行升序仲裁(数值小的赢得仲裁),来决定该前一级的写仲裁单元20输出的当前裕量值(当前裕量值为FIFO配置深度减去当前测试通道写入数据的个数),然后再通过后一级的写仲裁单元20以及末级的写仲裁单元20继续按照上述升序仲裁的方式,来确定赢得本次仲裁的一级写缓存单元10。
一级写缓存单元10向写仲裁单元20提交的仲裁数据可以是该一级写缓存单元10中缓存的写入数据的个数。例如,通过一级写缓存单元10的个数指示信号获知当前写入数据的个数,然后再通过减法器求得一级写缓存单元10的配置深度和当前写入个数的差值,得到当前裕量值。写仲裁单元20还可以输出两个授权指示信号分别作为与该写仲裁单元20连接的两个一级写缓存单元10的读使能信号。且写仲裁单元20输出裕量值时可以寄存当前的通道号,可以便于在获得后级的写仲裁单元20的仲裁授权后,根据寄存的通道号输出对应的授权指示信号。
在上述实施例中,通过基于当前裕量值的逐级仲裁的方式,能够自适应提高写操作数据较多的测试通道的写操作优先级,避免测试通道数据拥塞或溢出。
需要说明的是,写仲裁单元20输出的两个授权指示信号可以分别作为两个前级仲裁子单元的授权信号。非最后一级写仲裁单元20输出裕量值时寄存当前的前级仲裁子单元号,当获得后级的写仲裁单元20的仲裁授权后,根据寄存的前级的写仲裁单元20的单元号输出对应的授权指示信号。最后一级写仲裁单元20还可以对裕量值进行升序仲裁并输出对应的授权指示信号。
上述的配置深度可以为默认值,例如:所有的一级写缓存单元10对应的配置深度可以为统一的数值,或者不同的一级写缓存单元10对应的配置深度可以根据测试通道的最大速率或者用户的设置分别配置。
在本实施例中,二级写缓存单元30的写使能信号可以通过时序逻辑驱动,时序逻辑对所有的一级写缓存单元10的读使能信号进行相应的操作。二级写缓存单元30的写数据信号通过选择器时序电路驱动,根据拉高的读使能信号对应的测试通道号选择对应的一级写缓存单元10输出的写操作数据。所有一级写缓存单元10均被配置成show ahead模式。
需要说明的是,show-ahead模式是指在读FIFO存储器的过程中,数据输出端输出第一个数据之后;再次接收到高电平到来时,数据输出端输出第二个数据。
在其中一些实施例中,所述读缓存单元可以包括:读数据缓存子单元,用于缓存所述读写控制器返回的读数据;读操作地址缓存子单元,用于缓存读操作所对应的读操作地址;读操作标识信息缓存子单元,用于缓存读操作所对应的用户标识信息。通过该方式,可以实现对读数据的缓存,以及便于后续读写控制器60返回的读数据根据读操作地址和读测试通道的标识信息返回到对应的测试通道。
在本实施例中,还可以设置有读数据发送单元,用于将读写控制器60返回的读数据根据读操作地址和读测试通道的标识信息返回到对应的测试通道中,以实现读数据的精确返回。
需要说明的是,在执行读操作时可以根据读操作地址确定读操作地址所对应的字地址和位域,并对读出的数据字进行截取,进而实现读测试通道侧和逻辑通道侧的数据位宽的匹配。同时可以对读数据缓存单元和读操作标识信息缓存单元进行非空即读操作。非空可以是指读数据缓存单元和读操作标识信息缓存单元的缓存队列为非空的状态。
在其中一些实施例中,存储器访问控制器还可以包括:监控单元,分别耦合至每个一级写缓存单元10,用于监控每个一级写缓存单元10所对应的裕量值是否达到预设裕量值,若是,则确定裕量值达到预设裕量值的一级写缓存单元,并生成该一级写缓存单元的告警信息。在本实施例中,可以通过设置监控单元,以便于实现对每个一级写缓存单元10的裕量值监控。
在其中一些实施例中,存储器访问控制器还可以包括:告警单元,用于根据告警信息进行告警。通过该方式,可以实现对裕量值达到预设裕量值的一级写缓存单元10的告警,以便于提醒用户进行相应的应急操作。
在其中一些实施例中,存储器访问控制器还可以包括:裕量调整单元,用于调整与告警信息所对应的一级写缓存单元10的深度。在本实施例中,通过设置裕量调整单元,可以自动调整裕量值达到预设裕量值的一级写缓存单元10的深度,进而减少了人工参与的过程。
需要说明的是,本实施例中调整与告警信息所对应的一级写缓存单元10的深度方式,可以是根据用户预设的深度调控值进行调控,也可以是根据一级写缓存单元10的最大深度来进行调控,本申请不做限定。
通过上述实施例,本申请实施例的存储器访问控制器可以在至少两个时钟域进行工作,例如,测试通道随路时钟和DDR逻辑通道工作时钟。通过读缓存单元40和读数据缓存单元实现了读操作数据的跨时钟域处理,通过二级写缓存单元30实现了写操作数据的跨时钟域处理。且在本实施例中通过设置多个一级写缓存单元10,还解决了各个测试通道同时进行写操作时任务丢失问题,同时兼顾DDR的突发操作特性。
下面以优选的实施例来对本申请实施例进行描述和说明。
图2是根据本申请优选实施例的存储器访问控制器的结构示意图,如图2所示,该存储器访问控制器包括:多个第一级写缓存FIFO(即上述实施例中的多个第一级写缓存单元10)、仲裁器阵列(即多个写仲裁单元20)、第二级写缓存FIFO(即上述实施例中的第二级写缓存单元30)、读缓存FIFO(即上述实施例中的读缓存单元40)、读写仲裁单元50、DDR MIG(即上述实施例中的读写控制器60)。需要说明的是,读缓存FIFO可以包括:读操作标识信息缓存FIFO 401(即上述实施例中的读操作标识信息缓存子单元)、读操作地址缓存FIFO 402(即上述实施例中的读操作地址缓存子单元)和读数据缓存FIFO 403(即上述实施例中的读数据缓存子单元)。
如图2所示,在本实施例中,仲裁器阵列可以包括第一级仲裁子单元201、中间仲裁子单元202以及最后一级仲裁子单元203。
其中,第一级写缓存FIFO的箭头可以表示第一级写缓存FIFO的告警裕量值信号。
本实施例还提供了一种多测试通道优先级自适应仲裁方法,可以应用于上述实施例中的存储器访问控制器中。图3是根据本申请实施例的多测试通道优先级自适应仲裁方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,多个一级写缓存单元缓存多个测试通道的写操作数据,其中,每一个一级写缓存单元缓存一个测试通道的写操作数据;
步骤S302,多级写仲裁单元中每个首级的写仲裁单元连接根据两个一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;
步骤S303,多级写仲裁单元中后一级的写仲裁单元根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;
步骤S304,多级写仲裁单元中末级的写仲裁单元根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元;
步骤S305,二级写缓存单元接收赢得本次仲裁的一级写缓存单元发送的写操作数据,并向读写仲裁单元发起读写操作优先级仲裁;
步骤S306,在读缓存单元非空的情况下,读缓存单元向读写仲裁单元发起读写操作优先级仲裁;
步骤S307,读写仲裁单元对二级写缓存单元和读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器。
通过上述步骤S301至步骤S307,先通过多个一级写缓存单元来缓存多个测试通道的写操作数据,再由多级仲裁单元从多个一级写缓存单元中来确定赢得本次仲裁的一级写缓存单元,然后再通过二级写缓存单元来接收赢得本次仲裁的一级写缓存单元发送的写操作数据,并向读写仲裁单元发起读写操作优先级仲裁,以及在读缓存单元非空的情况下,通过读缓存单元向读写仲裁单元发起读写操作优先级仲裁;最后再通过读写仲裁单元对二级写缓存单元和读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器的方式,实现了对多测试通道的仲裁,同时无需要相关技术中的多个写转换单元来将写用户申请的某一长度数据的写操作细分为多个小批次的写申请并提交给命令拆分单元,以及无需多个读转换单元来将读用户申请的某一长度数据的读操作细分为多个小批次的读申请并提交给命令拆分单元多个读转换单元,解决了相关技术中存在DDR仲裁器资源浪费的问题,节省了DDR仲裁器的资源。
在其中一些实施例中,多个一级写缓存单元缓存多个测试通道的写操作数据包括:检测是否有第一强制触发信号;在检测到有第一强制触发信号的情况下,确定与第一强制触发信号对应的测试通道的写操作数据的位数以及确定用于缓存该测试通道的一级写缓存单元的位宽;将用于缓存该测试通道的一级写缓存单元的位宽按照第一预设倍数扩大;计算与第一强制触发信号对应的测试通道的写操作数据的位数与扩大预设倍数之后的用于缓存该测试通道的一级写缓存单元的位宽的第一差值;将该测试通道的写操作数据按照第一差值进行补齐;多个一级写缓存单元缓存该测试通道的补齐之后的写操作数据。通过该方式,实现了写操作数据的对齐,以避免因数据的位宽未达到预设标准而无法读取该数据问题。
在其中一些实施例中,读写仲裁单元对二级写缓存单元和读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器之后,还可以获取读写控制器返回的读操作数据;检测是否有第二强制触发信号;在检测到有第二强制触发信号的情况下,确定与读数据的位数以及确定用于缓存读操作数据的读缓存单元的位宽;将用于缓存读操作数据的读缓存单元的位宽按照第二预设倍数扩大;计算读操作数据的位数与扩大预设倍数之后的用于缓存读操作数据的读缓存单元的位宽的第二差值;将读操作数据按照第二差值进行补齐;读缓存单元将补齐之后的读数据进行缓存。通过该方式,实现了对读操作数据的补齐,同时还实现了读操作数据与写操作数据的对齐,以避免因数据的位宽未达到预设标准而无法读取该数据的问题。
在其中一些实施例中,在读缓存单元非空的情况下,读缓存单元向读写仲裁单元发起读写操作优先级仲裁之前,还可以获取读测试通道发送的读操作地址,并确定读测试通道的标识信息;将测试通道的读操作地址缓存至读操作地址缓存子单元,以及将读操作地址对应的读测试通道的标识信息缓存至读操作标识信息缓存子单元。通过该方式,以实现读操作地址和读操作地址对应的读测试通道的标识信息的缓存,以便于后续将读写控制器根据该读操作地址返回的读操作数据,根据读操作地址对应的测试通道的标识信息返回给对应的测试通道。
下面通过优选实施例对本申请实施例进行描述和说明。
图4是根据本申请优选实施例的多测试通道优先级自适应仲裁方法的流程图。如图4所示,该流程包括如下步骤:
步骤S401,将每个测试通道输出写操作数据写入相应的一级写缓存单元。
本步骤中,写操作数据可以包括但不限于数据的有效指示信号、地址和数据拼接信号。
需要说明的是,FIFO存储器的深度根据具体场景或者用户实际需要进行配置。该FIFO存储器的左右侧的位宽扩大倍数通常为DDR突发长度(4bit或8bit)。
在一些实施例中,还可以通过强制触发信号来解决FIFO无法读取最后一个数据问题,在本申请实施例中可以通过检测到强制触发信号后,用减法器计算左右侧的位宽扩大倍数和当前FIFO存储器里写入的数据个数(基于左侧位宽)的差值,并将差值个0值写入FIFO存储器。同时考虑到FIFO存储器的类型分为块RAM和低层逻辑,当选取块RAM时应考虑其占用的资源是否存在闲置进而调整其深度,当选取低层逻辑时可以根据计算设定最小值。且地址和数据通常采用地址在高位的方式。
步骤S402,将两个测试通道所对应的一级缓存单元通过一个一级写仲裁单元进行优先级仲裁。
在本实施例中,通过对两个一级缓存单元的当前裕量值进行升序仲裁(数值小的赢得仲裁)决定该仲裁子单元输出的裕量值(当前裕量值为FIFO配置深度减去当前测试通道写入数据的个数)。
步骤S403,通过第二级写仲裁单元到最后一级写仲裁单元继续进行步骤S402中的升序仲裁,并最终确定赢得本次仲裁的一级写缓存单元。
步骤S404,通过二级写缓存单元接收赢得本次仲裁的一级写缓存单元发送的写操作数据,并向读写仲裁单元发起读写操作优先级仲裁,并执行步骤S406。
步骤S402至步骤S404,多级写仲裁单元可以通过以下方式来确定赢得本次仲裁的一级写缓存单元:两个测试通道所对应的一级写缓存单元一组组成一个前一级写仲裁单元,再通过对两个一级写缓存单元的当前裕量值进行升序仲裁(数值小的赢得仲裁),来决定该前一级的写仲裁单元输出的裕量值(当前裕量为FIFO配置深度减去当前写入数据的个数),然后再通过后一级的写仲裁单元以及末级的写仲裁单元继续按照上述升序仲裁的方式,来确定赢得本次仲裁的一级写缓存单元。
在本实施例中,通过一级写缓存单元的个数指示信号获知当前写入数据的个数,然后再通过减法器求得一级写缓存单元的配置深度和当前写入个数的差值,得到当前裕量值。写仲裁单元还可以输出两个授权指示信号分别作为与该写仲裁单元连接的两个一级写缓存单元的读使能信号。且写仲裁单元输出裕量值时可以寄存当前的通道号,可以便于在获得后级的写仲裁单元的仲裁授权后,根据寄存的通道号输出对应的授权指示信号。
且写仲裁单元输出的两个授权指示信号可以分别作为两个前级仲裁子单元的授权信号。非最后一级写仲裁单元输出裕量值时寄存当前的前级仲裁子单元号,当获得后级的写仲裁单元的仲裁授权后,根据寄存的前级的写仲裁单元的单元号输出对应的授权指示信号。最后一级写仲裁单元还可以对裕量值进行升序仲裁并输出对应的授权指示信号。
在本实施例中,二级写缓存单元的写使能信号可以通过时序逻辑驱动,时序逻辑对所有的一级写缓存单元的读使能信号进行相应的操作。二级写缓存单元的写数据信号通过选择器时序电路驱动,根据拉高的读使能信号对应的测试通道号选择对应的一级写缓存单元输出的写操作数据。所有一级写缓存单元均被配置成show ahead模式。
需要说明的是,show-ahead模式是指在读FIFO存储器的过程中,数据输出端输出第一个数据之后;再次接收到高电平到来时,数据输出端输出第二个数据。
步骤S405,将各个读操作地址和读操作地址对应通道号标识信息同步写入读操作地址缓存子单元和读操作标识信息缓存子单元,并执行步骤S406。
本步骤中,是各个读通道实行串行的读操作机制。
串行读操作机制是可以针对当前普遍的应用场景设计的,即各通道读操作发起频率很低且时效性通常是微秒(μs)级。读操作涉及的3个FIFO且均是异步FIFO,用来实现跨时钟域处理;读操作标识信息缓存子单元用来寄存地址对应的通道号,以便读数据返回后发送到正确的测试通道。
步骤S406,通过读写仲裁单元采用不打断当前操作机制进行仲裁,并输出仲裁结果。
本步骤中,不打断当前操作机制可以是指:空闲状态下读写进行降序仲裁;而第二级写缓存单元和读地址缓存单元均采用非空状态下即发起读写操作优先级仲裁。
步骤S407,通过逻辑通道根据仲裁结果和读写控制器进行交互,并拉高忙指示信号直到完成本次交互操作后转换为空闲状态。
本步骤中,逻辑通道在执行读操作时根据读地址确定字地址和位域,对读出的数据字进行截取,进而实现用户侧和逻辑通道侧数据位宽匹配。
步骤S408,将读写控制器输出的读操作数据缓存至读数据缓存单元,并通过对读数据缓存子单元和读操作标识信息缓存子单元进行同步读操作,获取读操作数据对应的测试通道标识信息并将读操作数据发送到该测试通道。
需要说明是,步骤S405和步骤S401在一些实施例中可以同时进行,不分先后。
图5为读写控制器(DDR MIG)的写操作时序图,如图5所示,读写控制器(DDR MIG)可以包括写命令通道和写数据通道,且本实施例中两个通道均可以采用握手机制,其中:
写命令通道检测到app_rdy信号和app_wdf_rdy信号均为高后可以拉高命令指示信号app_en准备写操作,当app_en和app_rdy信号均为高时代表发送一次有效命令。app_cmd命令复合信号为0表示写操作,app_addr表示操作地址,均需和app_en保持同步。
写数据通道在检测到发起有效写命令后将app_wdf_wren写数据指示信号、app_wdf_end写数据操作结束指示信号同步拉高一拍,app_wdf_data写数据信号和写数据指示信号保持同步。
图6为读写控制器(DDR MIG)的读操作时序图,如图6所示,读写控制器(DDR MIG)可以包括读命令通道和读数据通道,且本实施例中读命令通道可以采用握手机制,其中,
读命令通道检测到app_rdy信号为高后可以拉高命令指示信号app_en准备发起读操作,当app_en和app_rdy信号均为高时代表发送一次有效命令。app_cmd命令复合信号为1表示读操作,app_addr表示操作地址,均需和app_en保持同步。
读数据通道将app_rd_data_vld数据有效指示信号拉高表示app_rd_data数据信号有效。
通过上述实施例,本申请实施例可以实现对DDR控制器的资源节约。例如,通过检测所有写缓存单元是否出现写满来发出警告信息,无需设置相关技术中流控单元,实现了相关资源的节省;以及通过写缓存单元将写数据位宽转换为DDR MIG接口的位宽,并通过强制补齐功能触发写缓存单元里最后的未填满数据,以及用户侧不支持突发写操作的方式,无需相关技术中的写通道转换单元的分批功能,进而实现了资源的节省;最后再通过读缓存单元和读数据缓存单元缓存所有通道读操作命令,再通过映射计算出目标数据地址对应的字地址和位域,对读出的数据字进行截取,用户侧不支持突发读操作,无需相关技术中的读通道转换单元的分批功能,也进而节省了相关资源。
在一些实施例中,本申请实施例还具有结构简单的有益效果,例如,通过多级写仲裁单元来实现逐级仲裁防止仲裁结构成为最长路径并导致时序不收敛;以及通过按写缓存单元的裕量值逐级进行升序仲裁实现所有测试通道缓存裕量值最小的写缓存单元优先进行写操作,实现测试通道写操作优先级自适应,兼顾各个通道的写操作;再通过不打断当前操作下进行读写降序仲裁,实现读优先级高于写且不丢失写操作。
在一些实施例中,本申请实施例还具有可扩展性强的有益效果。通过将两个通道一组进行前级仲裁和逐级仲裁的架构使得用户接口非常方便地接入且不会成为最长路径;各用户接口的写缓存单元可根据情况进行深度调整,进而在资源有限的情况下合理使用资源。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
步骤S301,多个一级写缓存单元缓存多个测试通道的写操作数据,其中,每一个一级写缓存单元缓存一个测试通道的写操作数据;
步骤S302,多级写仲裁单元中每个首级的写仲裁单元连接根据两个一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;
步骤S303,多级写仲裁单元中后一级的写仲裁单元根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;
步骤S304,多级写仲裁单元中末级的写仲裁单元根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元;
步骤S305,二级写缓存单元接收赢得本次仲裁的一级写缓存单元发送的写操作数据,并向读写仲裁单元发起读写操作优先级仲裁;
步骤S306,在读缓存单元非空的情况下,读缓存单元向读写仲裁单元发起读写操作优先级仲裁;
步骤S307,读写仲裁单元对二级写缓存单元和读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的多测试通道优先级自适应仲裁方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种多测试通道优先级自适应仲裁方法。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种存储器访问控制器,其特征在于,所述存储器访问控制器包括:多个一级写缓存单元、多级写仲裁单元、二级写缓存单元、读写仲裁单元和读缓存单元;
每个所述一级写缓存单元连接一个测试通道,用于缓存所述测试通道的写操作数据;
所述多级写仲裁单元中每两个前一级的写仲裁单元连接一个后一级的写仲裁单元;所述多级写仲裁单元中每个首级的写仲裁单元连接两个所述一级写缓存单元,用于根据两个所述一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中后一级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;所述多级写仲裁单元中末级的写仲裁单元用于根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元;
所述读写仲裁单元分别连接所述二级写缓存单元和所述读缓存单元;
所述二级写缓存单元分别连接多个所述一级写缓存单元,用于接收赢得本次仲裁的一级写缓存单元发送的写操作数据,并向所述读写仲裁单元发起读写操作优先级仲裁;
所述读缓存单元,用于在所述读缓存单元非空的情况下向所述读写仲裁单元发起读写操作优先级仲裁;
所述读写仲裁单元,用于对所述二级写缓存单元和所述读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器。
2.根据权利要求1所述的存储器访问控制器,其特征在于,所述读缓存单元包括:
读数据缓存子单元,用于缓存所述读写控制器返回的读数据;
读操作地址缓存子单元,用于缓存测试通道的读操作地址;
读操作标识信息缓存子单元,用于缓存所述读操作地址对应的读测试通道的标识信息。
3.根据权利要求1所述的存储器访问控制器,其特征在于,所述存储器访问控制器还包括:
监控单元,分别耦合至每个所述一级写缓存单元,用于监控每个所述一级写缓存单元所对应的裕量值是否达到预设裕量值,若是,则确定裕量值达到所述预设裕量值的一级写缓存单元,并生成该一级写缓存单元的告警信息。
4.根据权利要求3所述的存储器访问控制器,其特征在于,所述存储器访问控制器还包括:
裕量调整单元,用于调整与所述告警信息所对应的一级写缓存单元的深度。
5.一种多测试通道优先级自适应仲裁方法,应用于如权利要求1至4中任一项所述的存储器访问控制器,其特征在于,所述方法包括:
多个一级写缓存单元缓存多个测试通道的写操作数据,其中,每一个所述一级写缓存单元缓存一个测试通道的写操作数据;
所述多级写仲裁单元中每个首级的写仲裁单元连接根据两个所述一级写缓存单元提交的仲裁数据进行仲裁,并根据赢得仲裁的一级写缓存单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;
所述多级写仲裁单元中后一级的写仲裁单元根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,并根据赢得仲裁的前一级的写仲裁单元提交的仲裁数据向后一级的写仲裁单元发起写操作优先级仲裁;
所述多级写仲裁单元中末级的写仲裁单元根据两个前一级的写仲裁单元提交的仲裁数据进行仲裁,确定赢得本次仲裁的一级写缓存单元;
所述二级写缓存单元接收所述赢得本次仲裁的一级写缓存单元发送的写操作数据,并向所述读写仲裁单元发起读写操作优先级仲裁;
在所述读缓存单元非空的情况下,所述读缓存单元向所述读写仲裁单元发起读写操作优先级仲裁;
所述读写仲裁单元对所述二级写缓存单元和所述读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器。
6.根据权利要求5所述的多测试通道优先级自适应仲裁方法,其特征在于,多个一级写缓存单元缓存多个测试通道的写操作数据包括:
检测是否有第一强制触发信号;
在检测到有第一强制触发信号的情况下,确定与所述第一强制触发信号对应的测试通道的写操作数据的位数以及确定用于缓存该测试通道的一级写缓存单元的位宽;
将用于缓存该测试通道的一级写缓存单元的位宽按照第一预设倍数扩大;
计算与所述第一强制触发信号对应的测试通道的写操作数据的位数与扩大所述预设倍数之后的用于缓存该测试通道的一级写缓存单元的位宽的第一差值;
将该测试通道的写操作数据按照所述第一差值进行补齐;
所述多个一级写缓存单元缓存该测试通道的补齐之后的写操作数据。
7.根据权利要求6所述的多测试通道优先级自适应仲裁方法,其特征在于,所述读写仲裁单元对所述二级写缓存单元和所述读缓存单元进行读写操作优先级仲裁,并将仲裁结果发送给存储器的读写控制器之后,所述方法包括:
获取读写控制器返回的读操作数据;
检测是否有第二强制触发信号;
在检测到有第二强制触发信号的情况下,确定与所述读操作数据的位数以及确定用于缓存所述读操作数据的读缓存单元的位宽;
将用于缓存所述读操作数据的读缓存单元的位宽按照第二预设倍数扩大;
计算与所述读操作数据的位数与扩大所述预设倍数之后的用于缓存所述读操作数据的读缓存单元的位宽的第二差值;
将所述读操作数据按照所述第二差值进行补齐;
所述读缓存单元将补齐之后的所述读操作数据进行缓存。
8.根据权利要求5所述的多测试通道优先级自适应仲裁方法,其特征在于,在所述读缓存单元非空的情况下,所述读缓存单元向所述读写仲裁单元发起读写操作优先级仲裁之前,所述方法还包括:
获取读测试通道发送的读操作地址,并确定所述读测试通道的标识信息;
将测试通道的读操作地址缓存至读操作地址缓存子单元,以及将所述读操作地址对应的读测试通道的标识信息缓存至读操作标识信息缓存子单元。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求5至8中任一项所述的多测试通道优先级自适应仲裁方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求5至8中任一项所述的多测试通道优先级自适应仲裁方法。
CN202011283945.0A 2020-11-17 2020-11-17 多测试通道优先级自适应仲裁方法和存储器访问控制器 Active CN112100097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011283945.0A CN112100097B (zh) 2020-11-17 2020-11-17 多测试通道优先级自适应仲裁方法和存储器访问控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011283945.0A CN112100097B (zh) 2020-11-17 2020-11-17 多测试通道优先级自适应仲裁方法和存储器访问控制器

Publications (2)

Publication Number Publication Date
CN112100097A true CN112100097A (zh) 2020-12-18
CN112100097B CN112100097B (zh) 2021-01-26

Family

ID=73784603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011283945.0A Active CN112100097B (zh) 2020-11-17 2020-11-17 多测试通道优先级自适应仲裁方法和存储器访问控制器

Country Status (1)

Country Link
CN (1) CN112100097B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597079A (zh) * 2020-12-22 2021-04-02 上海安路信息科技有限公司 卷积神经网络加速器的数据回写系统
CN112948322A (zh) * 2021-02-26 2021-06-11 西安微电子技术研究所 一种基于弹性缓存的虚通道及实现方法
CN114036085A (zh) * 2021-09-24 2022-02-11 北京无线电测量研究所 基于ddr4的多任务读写调度方法、计算机设备及存储介质
CN114090479A (zh) * 2021-11-30 2022-02-25 上海阵量智能科技有限公司 访问报告系统、方法、装置、芯片及电子设备
CN116974963A (zh) * 2023-09-25 2023-10-31 上海云豹创芯智能科技有限公司 一种访问存储器的装置及其方法、芯片、存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177188A1 (en) * 2003-01-08 2004-09-09 Seong-Ho Yoon Method and apparatus for controlling an external RF device with a dual processor system
CN102129412A (zh) * 2010-01-18 2011-07-20 厄塞勒拉特公司 存取调度器
CN102129411A (zh) * 2010-01-18 2011-07-20 厄塞勒拉特公司 存取缓冲器
JP2013149097A (ja) * 2012-01-19 2013-08-01 Nippon Telegr & Teleph Corp <Ntt> B+木のディスク記録方法及びプログラム
CN104298628A (zh) * 2014-09-30 2015-01-21 中国电子科技集团公司第三十八研究所 一种用于并发访问的数据存储器仲裁电路及仲裁方法
US20160179707A1 (en) * 2014-12-19 2016-06-23 Lattice Semiconductor Corporation Sharing a Common Resource Via Multiple Interfaces
CN107145337A (zh) * 2016-03-01 2017-09-08 中兴通讯股份有限公司 一种数据流处理芯片的表项访问方法及装置
US10437757B2 (en) * 2017-10-20 2019-10-08 Hewlett Packard Enterprise Development Lp Determine priority of requests using request signals and priority signals at an arbitration node
CN111143257A (zh) * 2019-12-02 2020-05-12 深圳市奥拓电子股份有限公司 Ddr仲裁控制器、视频缓存装置及视频处理系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177188A1 (en) * 2003-01-08 2004-09-09 Seong-Ho Yoon Method and apparatus for controlling an external RF device with a dual processor system
CN102129412A (zh) * 2010-01-18 2011-07-20 厄塞勒拉特公司 存取调度器
CN102129411A (zh) * 2010-01-18 2011-07-20 厄塞勒拉特公司 存取缓冲器
JP2013149097A (ja) * 2012-01-19 2013-08-01 Nippon Telegr & Teleph Corp <Ntt> B+木のディスク記録方法及びプログラム
CN104298628A (zh) * 2014-09-30 2015-01-21 中国电子科技集团公司第三十八研究所 一种用于并发访问的数据存储器仲裁电路及仲裁方法
US20160179707A1 (en) * 2014-12-19 2016-06-23 Lattice Semiconductor Corporation Sharing a Common Resource Via Multiple Interfaces
CN107145337A (zh) * 2016-03-01 2017-09-08 中兴通讯股份有限公司 一种数据流处理芯片的表项访问方法及装置
US10437757B2 (en) * 2017-10-20 2019-10-08 Hewlett Packard Enterprise Development Lp Determine priority of requests using request signals and priority signals at an arbitration node
CN111143257A (zh) * 2019-12-02 2020-05-12 深圳市奥拓电子股份有限公司 Ddr仲裁控制器、视频缓存装置及视频处理系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597079A (zh) * 2020-12-22 2021-04-02 上海安路信息科技有限公司 卷积神经网络加速器的数据回写系统
CN112597079B (zh) * 2020-12-22 2023-10-17 上海安路信息科技股份有限公司 卷积神经网络加速器的数据回写系统
CN112948322A (zh) * 2021-02-26 2021-06-11 西安微电子技术研究所 一种基于弹性缓存的虚通道及实现方法
CN112948322B (zh) * 2021-02-26 2023-05-16 西安微电子技术研究所 一种基于弹性缓存的虚通道及实现方法
CN114036085A (zh) * 2021-09-24 2022-02-11 北京无线电测量研究所 基于ddr4的多任务读写调度方法、计算机设备及存储介质
CN114036085B (zh) * 2021-09-24 2024-04-12 北京无线电测量研究所 基于ddr4的多任务读写调度方法、计算机设备及存储介质
CN114090479A (zh) * 2021-11-30 2022-02-25 上海阵量智能科技有限公司 访问报告系统、方法、装置、芯片及电子设备
CN114090479B (zh) * 2021-11-30 2023-12-15 上海阵量智能科技有限公司 访问报告系统、方法、装置、芯片及电子设备
CN116974963A (zh) * 2023-09-25 2023-10-31 上海云豹创芯智能科技有限公司 一种访问存储器的装置及其方法、芯片、存储介质
CN116974963B (zh) * 2023-09-25 2023-12-15 上海云豹创芯智能科技有限公司 一种访问存储器的装置及其方法、芯片、存储介质

Also Published As

Publication number Publication date
CN112100097B (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
CN112100097B (zh) 多测试通道优先级自适应仲裁方法和存储器访问控制器
US8078781B2 (en) Device having priority upgrade mechanism capabilities and a method for updating priorities
US7290075B2 (en) Performing arbitration in a data processing apparatus
US10545898B2 (en) Shared resource access arbitration method, and shared resource access arbitration device and shared resource access arbitration system for performing same
JP2008544424A (ja) Dramの並列処理を向上するシステム及び方法
US8667199B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
US20170024146A1 (en) Memory controller, information processing device, and control method
US20100169525A1 (en) Pipelined device and a method for executing transactions in a pipelined device
US5913231A (en) Method and system for high speed memory address forwarding mechanism
US7865645B2 (en) Bus arbiter, bus device and system for granting successive requests by a master without rearbitration
US10031884B2 (en) Storage apparatus and method for processing plurality of pieces of client data
KR101022472B1 (ko) 효율적으로 버스를 사용하는 방법
JPWO2007105376A1 (ja) 集積回路、及び集積回路システム
US11960895B2 (en) Method and control device for returning of command response information, and electronic device
JP2001175530A (ja) メモリアクセス調停装置およびメモリアクセス調停方法
US10002099B2 (en) Arbitrated access to resources among multiple devices
US6715021B1 (en) Out-of-band look-ahead arbitration method and/or architecture
JP2011034214A (ja) メモリ制御装置
JP2002055940A (ja) バスシステム及びそのコマンドの伝達方法
JP2003228512A (ja) データ転送装置
JPH0512185A (ja) バーストサイクルデータ読み出しのためのアドレス予測および検証回路
JP2007213304A (ja) キャッシュメモリシステム及びマルチプロセッサシステム
US6622202B2 (en) Method and device for operating a RAM memory
CN117724770A (zh) 一种参数读取方法、装置、设备及存储介质
JPS5899857A (ja) パイプライン処理方式のアクセス処理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant