一种可动态配置端口带宽的DDR控制方法及装置与流程

文档序号:12595962阅读:314来源:国知局
一种可动态配置端口带宽的DDR控制方法及装置与流程
本发明涉及数据通讯及存储控制
技术领域
,尤其涉及一种可动态配置端口带宽的DDR控制方法及装置。
背景技术
:高速存储技术在数据通讯领域广泛应用,DDR(DoubleDataRate,双倍速率)成本较低,被广泛采用。但是由于DDRSSRAM(SynchronousDynamicRandomAccessMemory,同步动态随机存储器)对操作命令间隔存在时间要求,因此DDR的控制器往往需要专门设计。为提高DDR的读写效率,有一种方式是设计通用的DDR调度控制器,这种DDR控制器事先不知道各端口的读写带宽和读写突发方式,而是根据预先判断读写命令和地址的关联关系,进行读写命令的重新排列,使其符合DDRSSRAMbank间插的操作时序特定,来提高带宽。但是,这种调度控制器存在的两个问题,一是可能改变了原入口的操作顺序,对有操作顺序特殊要求的场合不适用;二是也不能直接通过调度控制器对各个端口的带宽进行分配;另一种设计方式是根据用户的DDR读写特定和要求,专门定制一款DDR控制器,其设计的效率可以满足该应用场合达到最大带宽的要求,但是这种设计存在的弊端是往往不能通用,换一种场合,还得重新定制。技术实现要素:本发明的目的在于提供一种可动态配置端口带宽的DDR控制方法及装置,解决了现有技术中不能达到最大带宽利用率的问题。根据本发明的一个方面,提供了一种可动态配置端口带宽的DDR控制方法,包括以下步骤:根据来自外部的读写操作指令,生成各端口读写操作命令;根据读写端口的组数及各读写端口的带宽需求,生成用于响应所述各端口读 写操作命令的DDRSSRAM读写命令,以便分配给各读写端口访问带宽;响应所述各端口读写操作命令,按照所述DDRSSRAM读写命令,执行各读写端口的DDRSSRAM读写操作;其中,所述DDRSSRAM是双倍速率同步动态随机存储器。优选地,还包括:在响应所述各端口读写操作命令之前,缓存所述各端口读写操作命令,以便有效响应所述各端口读写操作命令。优选地,所述的根据来自外部的读写操作指令生成各端口读写操作命令包括:子端口收到外部读写指令后,端口操作调度器根据调度策略生成端口读写操作命令。优选地,所述的根据来自外部的读写操作指令生成各端口读写操作命令包括:端口操作调度器收到外部读写指令后,根据调度策略为各读写端口生成端口读写操作命令;其中,所述端口操作调度器包括多个端口读写操作响应模块。优选地,所述的分配给各读写端口访问带宽通过动态配置周期性读写的频度和每个读写周期中,单次执行对应端口的读写字节数来实现,所述的单次执行对应端口的读写字节数是通过配置读写周期中对应端口的读写操作周期数N来实现,其中,所述读写操作周期数N大于1。优选地,所述的用于响应所述各端口读写操作命令的DDRSSRAM读写命令用于数据的快速读写,所述的DDRSSRAM读写命令包括:每次读写操作时,根据读写端口的组数及端口带宽需求执行的读写操作周期数N。优选地,所述的端口读写操作周期数N大于或等于对应所述端口读写操作命令中的单次所需突发读写周期数。根据本发明的另一方面,提供了一种可动态配置端口带宽的DDR控制装置,包括:生成各端口读写操作命令模块,用于根据来自外部的读写操作指令,生成各端口读写操作命令;生成DDRSSRAM读写命令模块,用于根据读写端口的组数及各读写端口的带宽需求,生成用于响应所述各端口读写操作命令的DDRSSRAM读写命令,以便分配给各读写端口访问带宽;执行模块,用于响应所述各端口读写操作命令,按照所述DDRSSRAM读写命令,执行各读写端口的DDRSSRAM读写操作。优选地,还包括:缓存单元,用于在响应所述各端口读写操作命令之前,缓存所述各端口读写操作命令,以便有效响应所述各端口读写操作命令。优选地,所述生成各端口读写操作命令模块包括:生成单元,用于子端口收到外部读写指令后,端口操作调度器根据调度策略生成端口读写操作命令。与现有技术相比较,本发明的有益效果在于:本发明通过可动态配置带宽的DDR调度控制器,根据DDRSSRAM的操作时序要求和特定的使用场合,全定制配置DDR的操作命令码,该操作码能确保在当前使用场合DDR带宽使用率达到较优的配置;同时,该操作命令码可根据使用场合的不同动态配置,达到装置重复利用的特点。附图说明图1是本发明实施例提供的一种可动态配置端口带宽的DDR控制方法的流程图;图2是本发明实施例提供的一种可动态配置端口带宽的DDR控制装置的示意图;图3是本发明实施例提供的可动态配置端口带宽的DDR控制器及装置的示意图;图4是本发明第一实施例提供的可动态配置端口带宽的DDR控制器及装置的示意图;图5是本发明第二实施例提供的可动态配置端口带宽的DDR控制器及装置的示意图;图6是本发明第三实施例提供的可动态配置端口带宽的DDR控制器及装置的 示意图。具体实施方式以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。图1显示了本发明实施例提供的一种可动态配置端口带宽的DDR控制方法的流程图,如图1所示,包括以下步骤:步骤S101:根据来自外部的读写操作指令,生成各端口读写操作命令;步骤S102:根据读写端口的组数及各读写端口的带宽需求,生成用于响应所述各端口读写操作命令的DDRSSRAM读写命令,以便分配给各读写端口访问带宽;步骤S103:响应所述各端口读写操作命令,按照所述DDRSSRAM读写命令,执行各读写端口的DDRSSRAM读写操作。本发明还包括:在响应所述各端口读写操作命令之前,缓存所述各端口读写操作命令,以便有效响应所述各端口读写操作命令。其中,所述的根据来自外部的读写操作指令生成各端口读写操作命令包括:子端口收到外部读写指令后,端口操作调度器根据调度策略生成端口读写操作命令。其中,所述的根据来自外部的读写操作指令生成各端口读写操作命令包括:端口操作调度器收到外部读写指令后,根据调度策略为各读写端口生成端口读写操作命令;其中,所述端口操作调度器包括多个端口读写操作响应模块。其中,所述的分配给各读写端口访问带宽通过动态配置周期性读写的频度和每个读写周期中,单次执行对应端口的读写字节数来实现,所述的单次执行对应端口的读写字节数是通过配置读写周期中对应端口的读写操作周期数N来实现,其中,所述读写操作周期数N大于1。其中,所述的用于响应所述各端口读写操作命令的DDRSSRAM读写命令用于数据的快速读写,所述的DDRSSRAM读写命令包括:每次读写操作时,根据读写端口的组数及端口带宽需求执行的读写操作周期数N。其中,所述的端口读写操作周期数N大于或等于对应所述端口读写操作命令中的单次所需突发读写周期 数。图2显示了本发明实施例提供的一种可动态配置端口带宽的DDR控制装置的示意图,如图2所示,包括:生成各端口读写操作命令模块201、生成DDRSSRAM读写命令模块202以及执行模块203。所述生成各端口读写操作命令模块201,用于根据来自外部的读写操作指令,生成各端口读写操作命令;所述生成DDRSSRAM读写命令模块202,用于根据读写端口的组数及各读写端口的带宽需求,生成用于响应所述各端口读写操作命令的DDRSSRAM读写命令,以便分配给各读写端口访问带宽;所述执行模块203,用于响应所述各端口读写操作命令,按照所述DDRSSRAM读写命令,执行各读写端口的DDRSSRAM读写操作。本发明还包括:缓存单元,用于在响应所述各端口读写操作命令之前,缓存所述各端口读写操作命令,以便有效响应所述各端口读写操作命令。其中,所述生成各端口读写操作命令模块包括:生成单元,用于子端口收到外部读写指令后,端口操作调度器根据调度策略生成端口读写操作命令。图3显示了本发明实施例提供的可动态配置端口带宽的DDR控制器及装置的示意图,如图3所示,包括:子端口操作调度器、端口命令缓存模块、DDRPHY(Physics物理层)控制器、DDR操作命令动态配置器、DDRPHY、DDRSSRAM、DDR端口信息统计器以及DDR自检模块。其中,所述子端口操作调度器,用于根据一定的调度规则对子端口的输入进行调度,输出对应端口的操作命令;所述端口命令缓存模块,用于缓存子端口操作调度器输出的尚未被响应的各端口操作命令;所述DDRPHY控制器,用于根据DDR操作命令动态配置器输出的动态配置信息,确定每个时序的操作命令,即根据配置的操作码,响应各端口的操作;所述DDR操作命令动态配置器,可由软件配置每个时序的操作码,操作码信息包括端口信息,激活读写关闭信息等,该操作码的时序安排符合外挂的DDRSSRAM时序操作要求;所述DDRPHY,用于驱动DDRSSRAM,实现控制器命令和DDRSSRAM读写命令和数据流的转换;所述DDRSSRAM,存储的载体,一般用专用的DDRSSRAM;所述DDR端口信息统计器,用于统计各端口的实际操作带宽等信息,增强可维护性;所述DDR自检模块,用于对DDR的读写进行自检,检查DDRPHY控制器到DDRPHY再到DDRSSRAM的物理通路是否正常,增强可靠性;图4显示了本发明第一实施例提供的可动态配置端口带宽的DDR控制器及装 置的示意图,如图4所示,约定子端口1-1、1-2,访问DDRSSRAM的bank1空间,子端口2-1、2-2访问DDRSSRAM的bank2空间,子端口3-1、3-2访问DDRSSRAM的bank3空间,子端口4-1、4-2访问DDRSSRAM的bank4空间,这四个端口组为快速响应端口组;CPU读写访问接口模块可访问全部DDRSSRAM空间,为慢速响应端口组。具体包括以下步骤:步骤401:在正式响应用户的读写操作之前,DDR自检模块先对DDR读写进行读写校验自检,自检的方式有2种可选,一是硬件自检,自检模块会发出特征码流,比如PRBS(PseudoRandomBinarySequence,伪随机二进制序列)码流写入DDR,同时从DDR读取写入的码流信息,在约定的时间内,读取的码流特征均正确,则自检结束;或者采用软件自检的方式,通过CPU读写访问接口模块读写访问DDRSSRAM空间,通过软件方式对读写数据流进行校验。步骤402:首先将第一组、第二组、第三组、第四组的子端口通过子端口优先级调度器调度出该组端口的读写命令和地址。步骤403:为便于响应用户各子端口的读写命令,设置端口命令缓存模块,可缓存一个或者若干个命令在内部模块中。步骤404:DDR操作命令动态配置模块根据应用的场合,分配各组端口的访问带宽,例如分配的操作命令,如下列表1快速操作端口组命令和表2慢速操作端口组命令所示。表1:快速操作端口组命令时序周期数操作命令0端口1,激活行1NOP(空操作,下同)2端口2,激活行3NOP4NOP5NOP6NOP7端口2,激活行8NOP9端口1,写并且关闭行10NOP11端口2,写并且关闭行12NOP13NOP14端口1,激活行15NOP16端口2,激活行17NOP18端口3,激活行19NOP20端口4,激活行21端口1,读22NOP23端口1,读并且关闭行24NOP25端口2,读并且关闭行26NOP27端口3,读28NOP29端口3,读并且关闭行30NOP31端口4,读32NOP33端口4,读34NOP35端口4,读36NOP37端口4,读38NOP39端口4,读40NOP41端口4,读42NOP43端口4,读44NOP45端口4,读并且关闭行46NOP47NOP48NOP表2:慢速操作端口组命令时序周期数操作命令0CPU端口,激活1NOP(空操作,下同)2NOP3NOP4NOP5CPU端口,写,或者写并且关闭行6NOP7CPU端口,写,或者写并且关闭行8NOP9CPU端口,写,或者写并且关闭行10NOP11CPU端口,写,或者写并且关闭行12NOP13CPU端口,写,或者写并且关闭行14NOP15CPU端口,写,或者写并且关闭行16NOP17CPU端口,写,或者写并且关闭行18NOP19CPU端口,写,或者写并且关闭行20NOP21NOP22NOP23NOP24NOP25NOP26CPU端口,激活27NOP28NOP29NOP30NOP31CPU端口,读,或者读并且关闭行32NOP33CPU端口,读,或者读并且关闭行34NOP35CPU端口,读,或者读并且关闭行36NOP37CPU端口,读,或者读并且关闭行38NOP39CPU端口,读,或者读并且关闭行40NOP41CPU端口,读,或者读并且关闭行42NOP43CPU端口,读,或者读并且关闭行44NOP45CPU端口,读,或者读并且关闭行46NOP47NOP48NOP其中,表1是快速操作端口组命令,给第一组、第二组、第三组、第四组端口使用,主要可用于数据的快速读写;表2是慢速操作端口组命令,给CPU端口读写。快速操作组每周期操作多个周期,例如256个周期,慢速操作组执行一个周期。其中,如图4中的端口命令缓存模块输出给DDRPHY控制器的端口信息中,包括了每个单次操作所需的读写突发周期数,要求这个周期数不能大于配置给该端口的读写操作突发周期数;当两者相等时,在配置的行关闭时刻关闭行;当实际操作突发周期数小于配置的操作突发周期数时,可根据实际操作突发周期,提前关闭行,提前关闭行时,剩余该端口的操作自动转为空操作(NOP)。步骤405:DDRPHY控制器输出给DDR端口信息统计器对应的子端口编号,以及实际执行的读写命令次数,DDR端口信息统计器据此进行统计,统计信息可供CPU查询。图5显示了本发明第二实施例提供的可动态配置端口带宽的DDR控制器及装置的示意图,如图5所示,每个端口操作组可能没有子端口,不需要进行子端口调度,而是直接的端口读写操作响应模块。同时端口数也是可裁剪的,本实施例中,快速操作端口数为3个,CPU操作端口数为1个。同样的,约定端口1访问DDRSSRAM的bank1空间,端口2访问DDRSSRAM的bank2空间,端口3访问DDRSSRAM的bank3空间,这三个端口组为快速响应端口组;CPU读写访问接口可访问全部DDRSSRAM空间,为慢速响应端口组。DDR操作命令动态配置器根据当前的端口组数和每个端口需要的操作带宽,重新动态配置每个时间周期的操作命令。图6显示了本发明第三实施例提供的可动态配置端口带宽的DDR控制器及装置的示意图,如图6所示,用户端口只有1个,但是需要访问整个DDRSSRAM的存储空间,为此,需要增加一个用户单接口读写访问bank区分模块,通过用 户访问的bank地址,区分为多个访问接口,分别连接到按bank地址区分的读写访问接口模块,这些读写访问接口为快速响应接口组;CPU读写访问接口模块可访问全部DDRSSRAM空间,为慢速响应端口组。相应地,由于在读写访问时,用bank地址区分了访问接口,这可能造成访问DDRSSRAM的操作顺序与用户输入时有差别,因此在读出数据时,需要还原为原读出命令的读出数据流,这个可通过用户单接口读出数据还原模块完成。综上所述,本发明具有以下技术效果:本发明通过可动态调整分配端口带宽的DDR调度控制器,达到在不同端口组合不同带宽组合,充分发掘DDR操作效率的潜能,能达到该使用场合最大带宽利用率,又能通过配置控制各个端口的操作带宽;同时这种DDR调度控制器具有可移植性高的特点,根据不同应用场合提供不同配置信息即可,无须修改装置和模块。尽管上文对本发明进行了详细说明,但是本发明不限于此,本
技术领域
技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1