高速访问双倍速率同步动态随机存储器的控制方法及装置制造方法及图纸

技术编号:16301958 阅读:53 留言:0更新日期:2017-09-26 20:07
本发明专利技术公开了一种高速访问双倍速率同步动态随机存储器的控制方法及装置,其特征在于,所述方法包括:将双倍速率同步动态随机存储器(DDR)按照动态配置策略划分为可变的缓存块;基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡。

Method and apparatus for controlling double rate synchronous dynamic random access memory at high speed

The invention discloses a control method and a device for high speed access synchronous dynamic random access memory, which is characterized in that the method comprises the following steps: synchronous dynamic random access memory (DDR) according to the dynamic allocation strategy is divided into cache blocks based on cache block variable; the variable to read and write operations, according to the weighted round robin scheduling strategy of scheduling for multiple channels of read / write operations, and to balance the read / write bandwidth.

【技术实现步骤摘要】
高速访问双倍速率同步动态随机存储器的控制方法及装置
本专利技术涉及访问技术,尤其涉及一种高速访问双倍速率同步动态随机存储器(DDR,DoubleDataRateSDRAM)的控制方法及装置。
技术介绍
随着高速通信系统的迅猛发展,网络系统中的以太网数据流量越来越大,所需服务功能也越来越多,对传输的以太网包,需要一块足够大小的缓存空间,将数据缓存起来,在完成以太网数据的分析、交换、路由以及用户定义的服务功能后,再将数据报文从缓存中取出并发送出去。由于当前的网络通信设备速率很高,所需的缓存空间也非常大,对缓存空间的访问速率也有不小的要求,在这种情况下,传统的同步动态随机存储器(SDRAM,SynchronousDynamicRandomAccessMemory)已经不能满足需求,而DDR具有更高的工作频率,更快的速度,更大的缓存空间,已经成为通信网络中最为重要的缓存器件。现有技术中,在当前网络通信设备中对DDR的访问,主要是通过将访问地址转化成行列映射,首先经过选页操作选到相应的页面(page),再通过地址线选到相应的地址段对数据进行读写。如果DDR的读写地址不连续,则访问时会进行频繁的选页操作,大大降低了DDR的访问效率;同时读写的不均衡也会降低DDR的访问效率。传统的解决方法主要是将DDR划分为固定的缓存块,虽然,这种方法可以提高DDR的访问效率,但是也存在一些弊端:比如固定缓存块的划分,如果缓存块过大,可能会浪费DDR的内存空间;如果缓存块过小,则起不到提高速率的作用等等,这些,都会降低DDR的访问效率。
技术实现思路
有鉴于此,本专利技术实施例希望提供一种高速访问DDR的控制方法及装置,至少解决了现有技术存在的问题。本专利技术实施例的技术方案是这样实现的:本专利技术实施例一种高速访问双倍速率同步动态随机存储器的控制方法,所述方法包括:将双倍速率同步动态随机存储器DDR按照动态配置策略划分为可变的缓存块;基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡。上述方案中,所述方法还包括:获取针对多个通道突发的读/写操作请求后,根据突发缓冲调度策略将对各个通道的读/写操作请求依次缓存下来,并记录缓存次序;根据所述缓存次序,对所述DDR中的所述可变的缓存块进行本次读/写操作,在进行本次读/写操作对应的数据读写期间,支持针对所述各个通道其他读/写操作请求的调度。上述方案中,所述将DDR按照动态配置策略划分为可变的缓存块,包括:将DDR的地址空间划分为数个区域,配置每个区域的起始地址和结束地址为均可配置;配置所述每个区域由大小可配置的缓存块组成,每个缓存块均对应一个缓存指针BP;对于写入DDR的数据包,根据所述数据包的包长选择缓存大小与其接近的区域,将其存入对应BP的缓存块里面。上述方案中,所述将DDR按照动态配置策略划分为可变的缓存块,还包括:配置每个区域的BP为一个链表,将所述数据包写入所述DDR时,申请区域链表首部的BP,数据包读出DDR时,将BP写入链表的尾部;根据BP大小选择执行一次写入或读出DDR数据的数据包大小,对于超过第一阈值的数据包包长,配置为一次写入或读出符合第二阈值的较长数据,并且保证一次写入或读出的地址是连续的。上述方案中,所述基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡,包括:为每一个读/写通道分配一个权重,每检测到发生了一次读/写操作,则将所述权重减去读出或写入的数据包的包长;所述权重可调整,并按照定时器的设置定时增加所述权重。上述方案中,所述基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡,还包括:如果检测到针对多个通道的读/写操作,且申请数据长度均不大于通道当前权重,则选择读出或写入的数据包的包长与上次读/写操作相近的通道,以保证DDR地址连续;上述方案中,所述基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡,还包括:为写方向通道配置第一总权重;为读方向通道配置第二总权重;连续调度写方向通道的数据到权重为0、或者根据所述第一总权重检测到所有写方向通道的数据写入完成之后,连续调度读方向通道的数据到权重为0、或者直至根据所述第二总权重检测到所有读通道的数据读出完成,结束调度。上述方案中,根据突发缓冲调度策略将对各个通道的读/写操作请求依次缓存下来,并记录缓存次序,包括:为读方向通道和写方向通道分别配置两个先进先出队列FIFO,两个FIFO中,第一FIFO用于缓存读写命令,第二FIFO用于缓存读写数据;根据针对多个通道的读/写操作进行调度的调度结果依次将读写命令和通道标记缓存下来,将读写命令次序和通道标记次序作为所述缓存次序并存入所述第一FIFO中,按照所述读写命令次序将读写命令传递给所述DDR。上述方案中,所述根据所述缓存次序,对所述DDR中的所述可变的缓存块进行本次读/写操作,包括:如果检测到是针对写方向通道的写入操作,则将各个通道的写数据缓存到第二FIFO里面,通过缓存完成的通道去调度其他的写数据,之后按照所述通道标记次序将写数据写入DDR;如果检测到是针对读方向通道的读出操作,则将数据读出后,按照所述通道标记将数据写入对应的第二FIFO,对应通道可以将数据从第二FIFO读出。本专利技术实施例的一种高速访问双倍速率同步动态随机存储器的控制装置,所述装置包括:缓存控制模块,用于将双倍速率同步动态随机存储器DDR按照动态配置策略划分为可变的缓存块;调度模块,用于基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡。上述方案中,所述装置还包括:通道控制模块,用于:获取针对多个通道突发的读/写操作请求后,根据突发缓冲调度策略将对各个通道的读/写操作请求依次缓存下来,并记录缓存次序;根据所述缓存次序,对所述DDR中的所述可变的缓存块进行本次读/写操作,在进行本次读/写操作对应的数据读写期间,支持针对所述各个通道其他读/写操作请求的调度。上述方案中,所述缓存控制模块,进一步用于:将DDR的地址空间划分为数个区域,配置每个区域的起始地址和结束地址为均可配置;配置所述每个区域由大小可配置的缓存块组成,每个缓存块均对应一个缓存指针BP;对于写入DDR的数据包,根据所述数据包的包长选择缓存大小与其接近的区域,将其存入对应BP的缓存块里面。上述方案中,所述缓存控制模块,进一步用于:配置每个区域的BP为一个链表,将所述数据包写入所述DDR时,申请区域链表首部的BP,数据包读出DDR时,将BP写入链表的尾部;根据BP大小选择执行一次写入或读出DDR数据的数据包大小,对于超过第一阈值的数据包包长,配置为一次写入或读出符合第二阈值的较长数据,并且保证一次写入或读出的地址是连续的。上述方案中,所述调度模块,进一步用于:为每一个读/写通道分配一个权重,每检测到发生了一次读/写操作,则将所述权重减去读出或写入的数据包的包长;所述权重可调整,并按照定时器的设置定时增加所述权重。上述方案中,所述调度本文档来自技高网...
高速访问双倍速率同步动态随机存储器的控制方法及装置

【技术保护点】
一种高速访问双倍速率同步动态随机存储器的控制方法,其特征在于,所述方法包括:将双倍速率同步动态随机存储器DDR按照动态配置策略划分为可变的缓存块;基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡。

【技术特征摘要】
1.一种高速访问双倍速率同步动态随机存储器的控制方法,其特征在于,所述方法包括:将双倍速率同步动态随机存储器DDR按照动态配置策略划分为可变的缓存块;基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取针对多个通道突发的读/写操作请求后,根据突发缓冲调度策略将对各个通道的读/写操作请求依次缓存下来,并记录缓存次序;根据所述缓存次序,对所述DDR中的所述可变的缓存块进行本次读/写操作,在进行本次读/写操作对应的数据读写期间,支持针对所述各个通道其他读/写操作请求的调度。3.根据权利要求2所述的方法,其特征在于,所述将DDR按照动态配置策略划分为可变的缓存块,包括:将DDR的地址空间划分为数个区域,配置每个区域的起始地址和结束地址为均可配置;配置所述每个区域由大小可配置的缓存块组成,每个缓存块均对应一个缓存指针BP;对于写入DDR的数据包,根据所述数据包的包长选择缓存大小与其接近的区域,将其存入对应BP的缓存块里面。4.根据权利要求3所述的方法,其特征在于,所述将DDR按照动态配置策略划分为可变的缓存块,还包括:配置每个区域的BP为一个链表,将所述数据包写入所述DDR时,申请区域链表首部的BP,数据包读出DDR时,将BP写入链表的尾部;根据BP大小选择执行一次写入或读出DDR数据的数据包大小,对于超过第一阈值的数据包包长,配置为一次写入或读出符合第二阈值的较长数据,并且保证一次写入或读出的地址是连续的。5.根据权利要求1所述的方法,其特征在于,所述基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡,包括:为每一个读/写通道分配一个权重,每检测到发生了一次读/写操作,则将所述权重减去读出或写入的数据包的包长;所述权重可调整,并按照定时器的设置定时增加所述权重。6.根据权利要求5所述的方法,其特征在于,所述基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡,还包括:如果检测到针对多个通道的读/写操作,且申请数据长度均不大于通道当前权重,则选择读出或写入的数据包的包长与上次读/写操作相近的通道,以保证DDR地址连续。7.根据权利要求5或6所述的方法,其特征在于,所述基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡,还包括:为写方向通道配置第一总权重;为读方向通道配置第二总权重;连续调度写方向通道的数据到权重为0、或者根据所述第一总权重检测到所有写方向通道的数据写入完成之后,连续调度读方向通道的数据到权重为0、或者直至根据所述第二总权重检测到所有读通道的数据读出完成,结束调度。8.根据权利要求2所述的方法,其特征在于,根据突发缓冲调度策略将对各个通道的读/写操作请求依次缓存下来,并记录缓存次序,包括:为读方向通道和写方向通道分别配置两个先进先出队列FIFO,两个FIFO中,第一FIFO用于缓存读写命令,第二FIFO用于缓存读写数据;根据针对多个通道的读/写操作进行调度的调度结果依次将读写命令和通道标记缓存下来,将读写命令次序和通道标记次序作为所述缓存次序并存入所述第一FIFO中,按照所述读写命令次序将读写命令传递给所述DDR。9.根据权利要求8所述的方法,其特征在于,所述根据所述缓存次序,对所述DDR中的所述可变的缓存块进行本次读/写操作,包括:如果检测到是针对写方向通道的写入操作,则将各个通道的写数据缓存到第二FIFO里面,通过缓存完成的通道去调度其他的写数...

【专利技术属性】
技术研发人员:岳雷霆
申请(专利权)人:深圳市中兴微电子技术有限公司
类型:发明
国别省市:广东,44

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

1