CN112286844B - 一种可适配业务地址映射的ddr4控制方法及装置 - Google Patents

一种可适配业务地址映射的ddr4控制方法及装置 Download PDF

Info

Publication number
CN112286844B
CN112286844B CN202011191134.8A CN202011191134A CN112286844B CN 112286844 B CN112286844 B CN 112286844B CN 202011191134 A CN202011191134 A CN 202011191134A CN 112286844 B CN112286844 B CN 112286844B
Authority
CN
China
Prior art keywords
address
request
service
scheduling
ddr4
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.)
Active
Application number
CN202011191134.8A
Other languages
English (en)
Other versions
CN112286844A (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.)
Fiberhome Telecommunication Technologies Co Ltd
Wuhan Fisilink Microelectronics Technology Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Wuhan Fisilink Microelectronics 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 Fiberhome Telecommunication Technologies Co Ltd, Wuhan Fisilink Microelectronics Technology Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN202011191134.8A priority Critical patent/CN112286844B/zh
Publication of CN112286844A publication Critical patent/CN112286844A/zh
Application granted granted Critical
Publication of CN112286844B publication Critical patent/CN112286844B/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/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1621Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
    • 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种可适配业务地址映射的DDR4控制方法及装置,涉及数据通信技术领域,本发明提供了客户接口的地址映射的自适应适配策略,可自动适配业务请求的地址变化,实现灵活的地址映射。同时,根据DDR4控制器的增加行缓存命中率以及增加BANK的并行度两个调度策略,优化请求业务的地址映射,便于控制器的对业务的调度,显著的提高了总线传输带宽。

Description

一种可适配业务地址映射的DDR4控制方法及装置
技术领域
本发明涉及数据通信技术领域,具体涉及一种可适配业务地址映射的DDR4控制方法及装置。
背景技术
随着5G等高速通信系统的迅猛发展,通信网络系统中的数据流量越来越大,通信类核心芯片中对于数据高速存储转发带宽的需求越来越迫切。传统芯片设计中,由于DDR4SDRAM技术的成本低廉,容量大,带宽较高等特点,被广泛采用。
DDR4 SDRAM(Double-Data-Rate Fourth Generation Synchronous DynamicRandom Access Memory,第四代双倍数据率同步动态随机存取存储器),是一种高带宽的计算机存储器规格。它属于SDRAM家族的存储器产品,提供了相较于DDR3 SDRAM更高的运行性能与更低的电压,是现时最新的存储器规格。DDR4技术具有高带宽,低延迟,低成本等特点,广泛应用在高速通信及SOC芯片中的存储转发电路设计中。
通信芯片中使用DDR4 SDRAM器件进行数据传输,技术上需要DDR4协议控制器及DDR4 PHY两部分组成。其中由于DDR4协议规定,DDR操作命令间隔需要满足一定的参数保护时间,控制器对业务请求进行合理调度可以极大的增加系统整体的读写效率,提高总线传输带宽。目前通用DDR4协议控制器设计的核心思路是将读、写请求的客户地址映射成DDR4器件的实际物理地址(BANK Group块组/BANK块/ROW行地址/COL列地址),根据请求类型及对应的物理地址间的关联关系,对请求的执行次序进行调度排序,使调度后的请求地址满足读、写连续,BANK间插,增加行命中等特性,从而达到较高的总线传输带宽。
请求业务的客户地址到DDR4物理地址的映射是DDR4协议控制器设计中关键的步骤,合理的地址映射可以利于控制器进行请求的调度,提高整体总线传输带宽。但实际应用中,业务请求的地址变化是由芯片设计中传输管理(TM)模块决定的,且同一个芯片系统中地址变化模式一致。DDR4控制器对于业务请求的地址变化模式是未知的,通常只能采用固定的模式来进行地址映射。而采用固定模式的DDR4控制器的地址映射不够灵活,不能适配不同应用的业务模式,拉低了请求调度效率,造成一定程度的系统传输带宽的浪费,
发明内容
针对现有技术中存在的缺陷,本发明第一方面提供一种可适配业务地址映射的DDR4控制方法,适配业务请求的地址变化,实现灵活的地址映射。
为达到以上目的,本发明采取的技术方案是:
一种可适配业务地址映射的DDR4控制方法,包括以下步骤:
配置业务请求端口发出携带业务测试激励的业务请求,将业务请求的客户地址采用不同的地址映射方案映射到DDR4地址;
根据业务请求的DDR4地址类型及端口优先级进行业务请求的次序调度;
根据DDR协议将调度后的业务请求转换成DDR命令;将DDR命令从数字信号转换为DDR接口物理信号;
实时监控DDR接口物理信号,计算DRAM总线上数据传输的效率值,选择业务测试激励对应的效率最优的地址映射方案进行配置。
一些实施例中,所述业务测试激励包括数据帧个数、数据帧长、数据帧内容、数据帧地址、数据帧间隔。
一些实施例中,将业务请求的客户地址映射到DDR4地址,具体包括以下步骤:
将每次请求的客户地址映射到DRAM的BANK、行、列三维地址结构上;其中:
优先将客户地址变化频繁的比特位映射到DRAM的BANK地址;
将客户地址变化最少的比特位映射到DRAM的行地址;
除去低位补零的客户其他地址映射到DRAM的列地址。
一些实施例中,根据业务请求的DDR4地址类型及端口优先级进行业务请求的次序调度,具体包括以下步骤:
收到来自各个端口的业务请求时,根据业务请求的DDR4地址类型及端口优先级,依次按照端口优先级、BANK并行化执行、请求捆绑三个调度策略进行业务请求的次序调度。
一些实施例中,所述BANK并行化执行调度策略具体包括以下步骤:每个BANK地址对应一个FIFO缓存队列,进入模块的请求在经过端口调度后,按照请求的BANK地址分别进入各个队列,然后对每个队列出口的请求进行轮询调度;
进行轮询调度时,若某个BANK队列被连续选中超过设定次数,则在设置的时间段内屏蔽该BANK队列出口的请求。
一些实施例中,实时监控DDR接口物理信号,计算DRAM总线上数据传输的效率值,具体包括以下步骤:
根据一个固定时间段内,DRAM数据总线DQS信号跳变的脉冲占整个时间段的时钟数比例,计算出在当前业务测试激励下的实时带宽。
一些实施例中,所述方法还包括以下步骤:
实时监控业务流的带宽,出现带宽不够告警时,进入动态地址学习模式,根据学习目前业务的请求类型特定适配最佳的地址映射方式。
本发明第二方面提供一种可适配业务地址映射的DDR4控制装置,适配业务请求的地址变化,实现灵活的地址映射。
为达到以上目的,本发明采取的技术方案是:
一种可适配业务地址映射的DDR4控制装置,包括:
控制模块,其用于:配置业务请求端口发出携带业务测试激励的业务请求;
客户接口模块,其用于:接收业务请求,将业务请求的客户地址采用不同的地址映射方案映射到DDR4地址;
请求调度模块,其用于:根据业务请求的DDR4地址类型及端口优先级进行业务请求的次序调度;
DDR4协议解释模块,其用于:根据DDR协议将调度后的业务请求转换成DDR命令;
PHY适配模块,其用于:将DRAM命令和读、写数据与不同厂家DDR-PHY模块的进行适配;
DDR_PHY模块,其用于:将DDR命令从数字信号转换为DDR接口物理信号;
效率评估模块,其用于:实时监控DRAM总线上数据传输的效率值;
所述控制模块还用于:接收效率评估模块输出的效率值,选择业务测试激励对应的效率最优的地址映射方案进行配置。
一些实施例中,所述业务测试激励包括数据帧个数、数据帧长、数据帧内容、数据帧地址、数据帧间隔。
一些实施例中,所述客户接口模块具体用于:
将每次请求的客户地址映射到DRAM的BANK、行、列三维地址结构上;其中:
优先将客户地址变化频繁的比特位映射到DRAM的BANK地址;
将客户地址变化最少的比特位映射到DRAM的行地址;
除去低位补零的客户其他地址映射到DRAM的列地址。
与现有技术相比,本发明的优点在于:
本发明提供了客户接口的地址映射的自适应适配策略,可自动适配业务请求的地址变化,实现灵活的地址映射。同时,根据DDR4控制器的增加行缓存命中率以及增加BANK的并行度两个调度策略,优化请求业务的地址映射,便于控制器的对业务的调度,显著的提高了总线传输带宽。
附图说明
图1为本发明实施例的可适配业务地址映射的DDR4控制方法的流程示意图;
图2为本发明实施例的连续同BANK同ROW(同页PAGE)写操作时序示意图;
图3为本发明实施例的连续同BANK不同ROW(PAGE冲突)写操作时序示意图;
图4为本发明实施例的连续不同BANK(PAGE间插)写操作时序示意图;
图5为本发明实施例的读、写操作捆绑执行提高总线效率操作时序示意图;
图6为本发明实施例的BANK并行化执行提高总线效率操作时序示意图;
图7为本发明实施例的一种可适配业务地址映射的DDR4控制装置的结构框图;
图8为本发明实施例的地址映射学习步骤流程图。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
参见图1所示,本发明实施例提供一种可适配业务地址映射的DDR4控制方法,包括以下步骤:
S1、配置业务请求端口发出携带业务测试激励的业务请求,将业务请求的客户地址采用不同的地址映射方案映射到DDR4地址;
S2、根据业务请求的DDR4地址类型及端口优先级进行业务请求的次序调度;
S3、根据DDR协议将调度后的业务请求转换成DDR命令;将DDR命令从数字信号转换为DDR接口物理信号;
S4、实时监控DDR接口物理信号,计算DRAM总线上数据传输的效率值,选择业务测试激励对应的效率最优的地址映射方案进行配置。
参见图7所示,本发明实施例还提供一种可适配业务地址映射的DDR4控制装置,该控制装置包括控制模块、客户接口模块、请求调度模块、DDR协议解释模块、PHY适配模块、DDR_PHY模块、效率评估模块。
控制模块用于配置业务请求端口发出携带业务测试激励的业务请求;
客户接口模块用于完成与控制模块和业务接口的请求接收和数据交换,完成业务请求地址到DDR物理地址的地址映射,完成读写请求地址的分配与回收,读写请求的顺序响应、时钟域切换、端口带宽统计等功能。
请求调度模块用于完成调度控制系统中请求的执行次序,在本模块中共有三种调度,第一级为端口调度,第二级为BANK地址调度,第三级为读写请求调度。
1、端口调度:基于不同的请求端口的优先级进行请求的排序,可以支持固定优先级(Static Priority),公平轮询(Round-robin),加权循环调度算法(WRR,Weighted RoundRobin)等优先级算法调度。
2、BANK地址调度:基于请求的BANK地址进行请求调度,为了实现解释连续请求的BANK地址并行化,将进入的请求按照不同BANK地址分别进行不同队列,即将顺序的请求并行展开缓存,然后向下游解释模块发出指示,等待被调度。
3、读写请求调度:基于请求的读写类型进行请求调度,为了实现读写请求的捆绑执行,从BANK地址调度的缓冲队列中根据读、写类型进行捆绑调度,保证同一地址的读、写次序。
DDR4协议规定的读、写操作步骤,对一个BANK内地址的读写操作,首先需要对BANK内某行(ROW)进行激活(ACTIVE)操作,等待tRCD保护时间后,才可以进行读或写操作。如果下一个读或写操作是同BANK同ROW(即同页PAGE),就可以直接执行(见图示2);若下一个读或写操作是同BANK不同ROW(即页面PAGE冲突),则需要进行等待tWR/tRTP保护时间后,对该BANK执行充电(PRECHARGE)操作,等待tRP时间后重新激活ACT新的ROW地址,然后才能写或读(见图示3)。若下一个读或写操作是不同BANK请求,只需进行激活(ACTIVE)操作,等待tRCD保护时间后,就可以进行读或写操作(见图示4)。
通用DDR4控制器调度策略一,读、写请求连续,DDR4器件读写数据传输共用一套数据总线DQ,且读、写请求间需要满足一定的时序保护时间,因此将业务的读、写类请求分别捆绑执行,减少数据总线传输方向的变化,可以极大的提升总线传输带宽(见图示5)。
通用DDR4控制器调度策略二,增加请求间BANK并行化,结合前文对DDR4协议规定的读、写操作步骤的分析,将业务请求顺序进行调度,使相邻请求的BANK地址不相同(BANK执行并行化),批量的执行激活及读写操作,可以较大的提高总线带宽。(见图6)
通用DDR4控制器调度策略三,提升行缓冲命中率,结合前文对DDR4协议规定的读、写操作步骤的分析,连续的同页(同BANK同ROW地址)操作,只需要一次激活操作,即可以连续执行读写操作,减少了多次激活和充电的时间,业务在这种模式下总线传输效率最高。
(见图2)。
DDR协议解释模块用于根据DDR协议,主要完成维持DRAM的刷新、对业务的读写请求进行命令调度及解释功能,支持解释命令lookahead功能(提前执行激活ACT/充电PRE命令),支持请求业务的分割等功能。
PHY适配模块用于完成控制器输出的DRAM命令和读、写数据与不同厂家DDR-PHY的适配功能。
DDR_PHY模块用于将控制器控制及数据等数字信号转换为相应的DDR接口的物理信号,最后传输给DDR颗粒。本模块可以支持各个FPGA或ASIC IP公司提供的DDR_PHY IP,不同厂家IP可以通过调整PHY适配模块接口时序来实现适配。
效率评估模块用于评估DDR总线的实时带宽,根据PHY接口的数据总线的占空比,估算当前整个系统在业务端口激励下能提供的实时带宽,并将具体结果实时反馈给控制模块用于作为地址映射修改的依据。
所述控制模块还用于接收效率评估模块输出的效率值,选择效率最优的地址映射方案进行配置。
本发明实施例还提供一种可适配业务地址映射的DDR4控制方法,包括以下步骤:
配置业务请求端口发出携带业务测试激励的业务请求,将业务请求的客户地址采用不同的地址映射方案映射到DDR4地址;
根据业务请求的DDR4地址类型及端口优先级进行业务请求的次序调度;
根据DDR协议将调度后的业务请求转换成DDR命令;将DDR命令从数字信号转换为DDR接口物理信号;
实时监控DDR接口物理信号,计算DRAM总线上数据传输的效率值,选择业务测试激励对应的效率最优的地址映射方案进行配置。
参见图8所示,本发明实施例的可适配业务地址映射的DDR4控制方法,具体包括以下步骤:
步骤101、整个系统进行初始化配置。
步骤102、控制模块配置控制器进入静态地址学习模式。
步骤103、控制模块配置客户接口的地址映射。
步骤104、控制模块通过端口0发送特定业务图案的激励请求流。
步骤105、客户接口模块完成读、写请求及数据的缓存,并完成客户地址到DRAM地址的映射转换。
步骤106、调度模块根据端口优先级、请求BANK并行化以及请求读、写捆绑执行三种调度策略,对请求执行顺序进行调度。
步骤107、协议解释模块根据DDR协议完成请求到DDR的命令转换,支持提前发出激活(ACTIVE)和充电(PRECHARGE)等DRAM操作。
步骤108、DDR_PHY适配模块完成控制器与DDR_PHY的接口时序适配。
步骤109、DDR_PHY模块将接收到控制器的数字信号转换为物理信号。
步骤110、效率评估模块记录DRAM总线上数据传输的效率值,并向控制模块实时反馈数据。
步骤111、控制模块判断是否完成所有业务测试激励的测试,若完成则进入步骤112,否则回到步骤103,重新调整客户地址映射方案。
步骤112、控制模块评估后选择业务测试激励对应的效率最优的地址映射方案进行配置。
步骤113、退出地址学习模式,恢复正常业务的传输。
下面通过一个具体实现的例子对本发明实施例实现中各个关键技术点进行逐一说明。
1、控制装置及DDR器件初始化
整个控制装置进行复位完成初始化配置,软件根据预先配置,通过控制装置对DDR颗粒进行模式寄存器配置。
2、控制装置进入静态地址学习模式
系统完成初始化后,控制模块配置使系统进入静态地址学习模式,控制模块通过CPU端口发送测试激励进入控制装置。测试激励中数据帧个数、数据帧长、数据帧内容、数据帧地址、数据帧间隔等参数可以由软件灵活配置。测试激励是模拟业务通路的请求,测试时间越长、测试激励越多,实际得到地址映射学习效果就越好。实际应用中考虑到节约配置时间,设置两种激励模式,快速地址学习模式和完全地址学习模式。快速地址学习模式可以只测试固定特殊帧长(64/65/128/129等帧长,具体与应用场景有关)及固定地址变化的激励,达到快速完成地址学习,完成较优的地址映射方案的目的,应用在系统运行中需要重新复位或模块需要短时复位等场景中。完全地址学习模式则是在系统初始化时间较充足的时候应用,一般建议在芯片系统设备中首次上电过程中执行,完成上述所有测试项的随机化测试。
3、客户地址映射的修改
客户地址到DRAM地址映射在客户接口模块实现,具体电路是将每次请求的客户地址映射到DRAM的BANK、行(ROW)、列(COL)三维地址结构上,地址映射具有唯一性,考虑到客户请求的长度单位为字节,而DRAM存储结构最小单位为比特,因此客户地址的低位需要进行补零操作,保证地址映射数据地址对齐。理论上,客户地址可以映射到DRAM结构的任意位置,但考虑到需要保证后续模块的调度,提高总线传输效率,因此软件在调整地址映射的操作过程中需要依照以下规则:
1.优先将客户地址变化频繁的比特位映射到DRAM的BANK地址
2.将客户地址变化最少的比特位映射到DRAM的行(ROW)地址
3.除去低位补零的客户其他地址映射到DRAM的列(COL)地址
按照规则1进行映射后的请求,请求间BANK地址变化较多,符合前文通用DDR4控制器调度策略二中BANK地址并行化,提高调度解释模块的执行效率。按照规则2和3进行调度,请求间ROW地址变化较少,列地址变化较多,符合前文通用DDR4控制器调度策略三增加同页操作几率,增加总线的传输带宽。
4、调度模块对请求执行次序的优化调度
各个端口的请求进入调度模块后,会依次按照端口优先级调度、BANK并行化执行调度、请求捆绑调度三个调度策略进行请求执行顺序的调度,扭序后在不影响同一地址读、写内容的前提下,可以提高数据总线输出效率。
端口优先级调度的实现,来自不同的端口的请求通过软件配置1-8等级的调度优先级(1优先级最高),端口间不同优先级按照等级进行调度,相同优先级请求则进入一个公平轮询(Round-robin)模块中进行调度。另外,也可以支持加权循环调度算法(WRR,Weighted Round Robin)等优先级算法进行调度。
BANK并行化执行调度的实现,由前文通用DDR4控制器调度策略二,使相邻请求的BANK地址不相同(BANK执行并行化),批量的执行激活及读写操作,可以较大的提高总线带宽。具体电路实现方式为,每个BANK地址设置一个FIFO(First In First Out)缓存队列,进入模块的请求在经过端口调度后,按照请求的BANK地址分别进入各个队列,然后通过公平轮询(Round-robin)模块对每个队列出口的请求进行轮询调度,即可保证调度后的请求BANK地址可以并行化展开。另外,为了避免当某个BANK地址队列请求较多的造成该队列连续被选中的情况,需要在轮询模块的入口中设置屏蔽位,当某个BANK队列被连续选中后,在软件设置的时间段内屏蔽该BANK队列出口的请求,避免相同BANK地址请求连续输出。
读写请求捆绑调度的实现,由前文通用DDR4控制器调度策略一,分别连续的执行读或写请求,可以减少数据总线方向切换造成的带宽浪费。具体电路实现方式为,为读、写请求分别设置权重Qwr和Qrd,当前调度写操作时,每次调度出写请求则Qwr值减1,一直调度到Qwr减到零时,改为连续调度读请求,操作方式与写侧一致。其中Qwr和Qrd读写权重,可以根据业务类型进行灵活配置,读写权重比例可以根据业务读写请求比来设置。
5、解释模块将请求转换为DRAM指令
经过调度扭序的请求进入解释模块,根据DDR协议被使用状态机翻译成DDR标准指令,并且使输出命令时序满足DDR协议规定的保护时间。另外,除了请求读写外,满足DRAM正常工作的刷新及初始化等命令也在解释模块执行。
请求分割,对于长度超过一次DDR突发的请求,则需在解释模块中将请求按照突发长度分割成连续的几个请求,分割后的请求BANK、行地址不变,列地址递增,保证了每次分割后的请求都是同页操作,提高总线传输带宽。
解释命令的lookahead功能,请求在解释模块中等待翻译的过程中,由于读、写命令需要等待部分时间保护参数的完成,在这些读写命令间可以间插部分激活和充电的准备操作,在不改变请求执行顺序的前提下,减少了请求的准备时间,提高了总线传输带宽。
6、PHY接口适配及数字信号到物理信号的转换
通用DDR_PHY与DDR控制器接口有通用接口协议,PHY适配模块将控制器信号时序转换为DDR_PHY的接口时序,然后由PHY将数字信号转换为颗粒可以接受的DRAM接口物理信号。
7、数据总线传输效率的评估
效率评估模块连接到系统的PHY模块接口的DDR信号侧,实时监控DRAM数据总线的传输效率,实时反馈给控制模块进行记录并迭代计算。传输带宽估算方法是在一个固定时间段内,计算DRAM数据总线DQS信号跳变的脉冲占整个时间段的时钟数比例。
8、动态地址学习模式的应用
本发明实施例的控制装置为了适配业务的实时变化,除了上电复位的静态地址学习模式,还引入动态地址学习模式,可以根据用户设置的触发条件(取代测试激励),比如因DDR带宽不够造成的缓冲满告警等,进入动态地址学习模式,根据学习目前业务的请求类型特定适配最佳的地址映射方式。
具体设计实现方式,实时监控业务流的带宽,出现带宽不够告警后,通知控制模块请求进入动态地址学习模式,控制模块配置客户接口模块修改地址映射,根据目前业务流地址变化特点,软件迭代计算,获得传输效率最高的地址映射模式。具体的映射过程与静态地址学习模式相同。
本发明实施例可以应用在通用数字芯片中的数据通路中,作为数据传输转发IP的控制系统,提供一套客户接口的地址映射的自适应适配策略及配套设备,使芯片应用或设计工程师不需要深入了解DDR控制器原理即可使数据转发系统达到最优地址配置,减少了DDR控制器IP的应用难度。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种可适配业务地址映射的DDR4控制方法,其特征在于,包括以下步骤:
配置业务请求端口发出携带业务测试激励的业务请求,将业务请求的客户地址采用不同的地址映射方案映射到DDR4地址;
根据业务请求的DDR4地址类型及端口优先级进行业务请求的次序调度;
根据DDR协议将调度后的业务请求转换成DDR命令;将DDR命令从数字信号转换为DDR接口物理信号;
实时监控DDR接口物理信号,计算DRAM总线上数据传输的效率值,选择业务测试激励对应的效率最优的地址映射方案进行配置。
2.如权利要求1所述的方法,其特征在于,所述业务测试激励包括数据帧个数、数据帧长、数据帧内容、数据帧地址、数据帧间隔。
3.如权利要求1所述的方法,其特征在于,将业务请求的客户地址映射到DDR4地址,具体包括以下步骤:
将每次请求的客户地址映射到DRAM的BANK、行、列三维地址结构上;其中:
优先将客户地址变化频繁的比特位映射到DRAM的BANK地址;
将客户地址变化最少的比特位映射到DRAM的行地址;
除去低位补零的其他客户地址映射到DRAM的列地址。
4.如权利要求1所述的方法,其特征在于,根据业务请求的DDR4地址类型及端口优先级进行业务请求的次序调度,具体包括以下步骤:
收到来自各个端口的业务请求时,根据业务请求的DDR4地址类型及端口优先级,依次按照端口优先级、BANK并行化执行、请求捆绑三个调度策略进行业务请求的次序调度;
其中,所述端口优先级调度策略具体包括以下步骤:
端口间不同优先级按照等级进行调度;
相同优先级请求则进入一个公平轮询模块中进行调度;
所述BANK并行化执行调度策略具体包括以下步骤:
每个BANK地址对应一个FIFO缓存队列,进入模块的请求在经过端口调度后,按照请求的BANK地址分别进入各个队列,然后对每个队列出口的请求进行轮询调度;
进行轮询调度时,若某个BANK队列被连续选中超过设定次数,则在设置的时间段内屏蔽该BANK队列出口的请求;
所述请求捆绑调度策略具体包括以下步骤:
为读、写请求分别设置权重Qwr和Qrd;
当前调度写操作时,每次调度出写请求则Qwr值减1,一直调度到Qwr减到零时,改为连续调度读请求,当前调度读操作时,每次调度出读请求则Qrd值减1,一直调度到Qrd减到零。
5.如权利要求1所述的方法,其特征在于,实时监控DDR接口物理信号,计算DRAM总线上数据传输的效率值,具体包括以下步骤:
根据一个固定时间段内,DRAM数据总线DQS信号跳变的脉冲占整个时间段的时钟数比例,计算出在当前业务测试激励下的实时带宽。
6.如权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:
实时监控业务流的带宽,出现带宽不够告警时,进入动态地址学习模式,根据学习目前业务的请求类型,特定适配传输效率最高的地址映射方式。
7.一种可适配业务地址映射的DDR4控制装置,其特征在于,包括:
控制模块,其用于:配置业务请求端口发出携带业务测试激励的业务请求;
客户接口模块,其用于:接收业务请求,将业务请求的客户地址采用不同的地址映射方案映射到DDR4地址;
请求调度模块,其用于:根据业务请求的DDR4地址类型及端口优先级进行业务请求的次序调度;
DDR4协议解释模块,其用于:根据DDR协议将调度后的业务请求转换成DDR命令;
PHY适配模块,其用于:将DRAM命令和读、写数据与不同厂家DDR-PHY模块的进行适配;
DDR_PHY模块,其用于:将DDR命令从数字信号转换为DDR接口物理信号;
效率评估模块,其用于:实时监控DRAM总线上数据传输的效率值;
所述控制模块还用于:接收效率评估模块输出的效率值,选择业务测试激励对应的效率最优的地址映射方案进行配置。
8.如权利要求7所述的装置,其特征在于,所述业务测试激励包括数据帧个数、数据帧长、数据帧内容、数据帧地址、数据帧间隔。
9.如权利要求7所述的装置,其特征在于,所述客户接口模块具体用于:
将每次请求的客户地址映射到DRAM的BANK、行、列三维地址结构上;其中:
优先将客户地址变化频繁的比特位映射到DRAM的BANK地址;
将客户地址变化最少的比特位映射到DRAM的行地址;
除去低位补零的其他客户地址映射到DRAM的列地址。
CN202011191134.8A 2020-10-30 2020-10-30 一种可适配业务地址映射的ddr4控制方法及装置 Active CN112286844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011191134.8A CN112286844B (zh) 2020-10-30 2020-10-30 一种可适配业务地址映射的ddr4控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011191134.8A CN112286844B (zh) 2020-10-30 2020-10-30 一种可适配业务地址映射的ddr4控制方法及装置

Publications (2)

Publication Number Publication Date
CN112286844A CN112286844A (zh) 2021-01-29
CN112286844B true CN112286844B (zh) 2022-09-02

Family

ID=74353319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011191134.8A Active CN112286844B (zh) 2020-10-30 2020-10-30 一种可适配业务地址映射的ddr4控制方法及装置

Country Status (1)

Country Link
CN (1) CN112286844B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113191110B (zh) * 2021-05-07 2023-08-11 瓴盛科技有限公司 一种针对T型拓扑结构的DDR4地址控制线映射和Ball排列方法
CN114036085B (zh) * 2021-09-24 2024-04-12 北京无线电测量研究所 基于ddr4的多任务读写调度方法、计算机设备及存储介质
CN113921074B (zh) * 2021-11-12 2024-11-01 芯河半导体科技(无锡)有限公司 一种自动生成ddr最佳效率配置参数的测试装置及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912616B2 (en) * 2002-11-12 2005-06-28 Hewlett-Packard Development Company, L.P. Mapping addresses to memory banks based on at least one mathematical relationship
CN103198856B (zh) * 2013-03-22 2016-04-13 烽火通信科技股份有限公司 一种ddr控制器及请求调度方法
CN104407985B (zh) * 2014-12-15 2018-04-03 泰斗微电子科技有限公司 存储器地址映射方法及存储器地址映射系统
CN104850501B (zh) * 2015-04-29 2018-04-20 中国人民解放军国防科学技术大学 一种ddr存储器访存地址映射方法及访存地址映射单元
CN106919516B (zh) * 2015-12-24 2020-06-16 辰芯科技有限公司 Ddr地址映射系统和方法
US10403333B2 (en) * 2016-07-15 2019-09-03 Advanced Micro Devices, Inc. Memory controller with flexible address decoding

Also Published As

Publication number Publication date
CN112286844A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
CN112286844B (zh) 一种可适配业务地址映射的ddr4控制方法及装置
US7752411B2 (en) Chips providing single and consolidated commands
US9712461B2 (en) Data caching system and method for ethernet device
EP1820309B1 (en) Streaming memory controller
US8225026B2 (en) Data packet access control apparatus and method thereof
CN102129411B (zh) 存取缓冲器
CN103198856B (zh) 一种ddr控制器及请求调度方法
JP4299536B2 (ja) Dramベースのランダム・アクセス・メモリ・サブシステムでツリー・アクセスに関する性能を改善するためのマルチ・バンク・スケジューリング
US8990498B2 (en) Access scheduler
CN103543954B (zh) 一种数据存储管理方法和装置
US6307789B1 (en) Scratchpad memory
US7913034B2 (en) DRAM access command queuing
CN109446125B (zh) Ddr读写仲裁器及方法
CN112231254B (zh) 存储器仲裁方法及存储器控制器
JP2007531119A (ja) 調停パケットプロトコルを有するメモリ調停システムおよび方法
US20160034406A1 (en) Memory controller and method for controlling a memory device to process access requests issued by at least one master device
US11561862B2 (en) Refresh management for DRAM
CN112948293A (zh) 一种多用户接口的ddr仲裁器及ddr控制器芯片
JP2023521249A (ja) Dramのリフレッシュ管理
Zhu et al. An SDRAM controller optimized for high definition video coding application
CN105487988B (zh) 基于存储空间复用提高sdram总线有效访问速率的方法
CN117472815A (zh) 一种axi协议下的存储模块转换接口及其转换方法
US10031884B2 (en) Storage apparatus and method for processing plurality of pieces of client data
US20240111618A1 (en) Multi-level signal reception
CN116303159A (zh) 一种ddr4访问控制方法、装置及网络设备

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