CN107204198A - 高速访问双倍速率同步动态随机存储器的控制方法及装置 - Google Patents

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

Info

Publication number
CN107204198A
CN107204198A CN201610162052.8A CN201610162052A CN107204198A CN 107204198 A CN107204198 A CN 107204198A CN 201610162052 A CN201610162052 A CN 201610162052A CN 107204198 A CN107204198 A CN 107204198A
Authority
CN
China
Prior art keywords
read
write
data
ddr
passage
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
CN201610162052.8A
Other languages
English (en)
Other versions
CN107204198B (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.)
Sanechips Technology Co Ltd
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE 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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201610162052.8A priority Critical patent/CN107204198B/zh
Priority to PCT/CN2017/072862 priority patent/WO2017157110A1/zh
Publication of CN107204198A publication Critical patent/CN107204198A/zh
Application granted granted Critical
Publication of CN107204198B publication Critical patent/CN107204198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

高速访问双倍速率同步动态随机存储器的控制方法及装置
技术领域
本发明涉及访问技术,尤其涉及一种高速访问双倍速率同步动态随机存储器(DDR,Double Data Rate SDRAM)的控制方法及装置。
背景技术
随着高速通信系统的迅猛发展,网络系统中的以太网数据流量越来越大,所需服务功能也越来越多,对传输的以太网包,需要一块足够大小的缓存空间,将数据缓存起来,在完成以太网数据的分析、交换、路由以及用户定义的服务功能后,再将数据报文从缓存中取出并发送出去。
由于当前的网络通信设备速率很高,所需的缓存空间也非常大,对缓存空间的访问速率也有不小的要求,在这种情况下,传统的同步动态随机存储器(SDRAM,Synchronous Dynamic Random Access Memory)已经不能满足需求,而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地址连续;
上述方案中,所述调度模块,进一步用于:
为写方向通道配置第一总权重;
为读方向通道配置第二总权重;
连续调度写方向通道的数据到权重为0、或者根据所述第一总权重检测到所有写方向通道的数据写入完成之后,连续调度读方向通道的数据到权重为0、或者直至根据所述第二总权重检测到所有读通道的数据读出完成,结束调度。
上述方案中,所述通道控制模块,进一步用于:
为读方向通道和写方向通道分别配置两个先进先出队列FIFO,两个FIFO中,第一FIFO用于缓存读写命令,第二FIFO用于缓存读写数据;
根据针对多个通道的读/写操作进行调度的调度结果依次将读写命令和通道标记缓存下来,将读写命令次序和通道标记次序作为所述缓存次序并存入所述第一FIFO中,按照所述读写命令次序将读写命令传递给所述DDR。
上述方案中,所述通道控制模块,进一步用于:
如果检测到是针对写方向通道的写入操作,则将各个通道的写数据缓存到第二FIFO里面,通过缓存完成的通道去调度其他的写数据,之后按照所述通道标记次序将写数据写入DDR;
如果检测到是针对读方向通道的读出操作,则将数据读出后,按照所述通道标记将数据写入对应的第二FIFO,对应通道可以将数据从第二FIFO读出。
本发明实施例的高速访问DDR的控制方法包括:将双倍速率同步动态随机存储器(DDR)按照动态配置策略划分为可变的缓存块;基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡。采用本发明实施例,提高了DDR的访问效率和读写速率。
附图说明
图1为本发明实施例一的实现流程示意图;
图2为本发明实施例二的装置组成结构示意图;
图3为应用本发明实施例的缓存控制模块对应的工作流程图;
图4为应用本发明实施例的DDR空间初始化示意图;
图5为应用本发明实施例的BP初始化示意图;
图6为应用本发明实施例的通道控制模块结构图;
图7为应用本发明实施例的调度模块工作流程图;
图8为应用本发明实施例的数据写入DDR流程图;
图9为应用本发明实施例的数据读出DDR流程图。
具体实施方式
下面结合附图对技术方案的实施作进一步的详细描述。
本发明实施例的一种高速访问DDR的控制方法,如图1所示,所述方法包括:
步骤101、将DDR按照动态配置策略划分为可变的缓存块。
步骤102、基于所述可变的缓存块进行读写操作时,根据加权循环调度策略对针对多个通道的读/写操作进行调度,并对读/写带宽进行平衡。
步骤103、获取针对多个通道突发的读/写操作请求后,根据突发缓冲调度策略将对各个通道的读/写操作请求依次缓存下来,并记录缓存次序。
步骤104、根据所述缓存次序,对所述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地址连续;
在本发明实施例一实施方式中,所述调度模块,进一步用于:
为写方向通道配置第一总权重;
为读方向通道配置第二总权重;
连续调度写方向通道的数据到权重为0、或者根据所述第一总权重检测到所有写方向通道的数据写入完成之后,连续调度读方向通道的数据到权重为0、或者直至根据所述第二总权重检测到所有读通道的数据读出完成,结束调度。
在本发明实施例一实施方式中,所述通道控制模块,进一步用于:
为读方向通道和写方向通道分别配置两个先进先出队列FIFO,两个FIFO中,第一FIFO用于缓存读写命令,第二FIFO用于缓存读写数据;
根据针对多个通道的读/写操作进行调度的调度结果依次将读写命令和通道标记缓存下来,将读写命令次序和通道标记次序作为所述缓存次序并存入所述第一FIFO中,按照所述读写命令次序将读写命令传递给所述DDR。
在本发明实施例一实施方式中,所述通道控制模块,进一步用于:
如果检测到是针对写方向通道的写入操作,则将各个通道的写数据缓存到第二FIFO里面,通过缓存完成的通道去调度其他的写数据,之后按照所述通道标记次序将写数据写入DDR;
如果检测到是针对读方向通道的读出操作,则将数据读出后,按照所述通道标记将数据写入对应的第二FIFO,对应通道可以将数据从第二FIFO读出。
以一个现实应用场景为例对本发明实施例阐述如下:
在现有技术中,在当前网络通信设备中对DDR的访问,主要是通过将访问地址转化成行列映射,首先经过选页操作选到相应的页面(page),再通过地址线选到相应的地址段对数据进行读写。如果DDR的读写地址不连续,则访问时会进行频繁的选页操作,大大降低了DDR的访问效率;同时读写的不均衡也会降低DDR的访问效率。传统的解决方法主要是将DDR划分为固定的缓存块(比如64字节),以缓存块为单位对其进行读写,这种方法能够使DDR的读写地址连续,从而提高DDR的访问效率,但是,如举例说明,采用这种固定缓存块的方案仍然存在如下弊端:
比如固定缓存块的划分,如果缓存块过大,可能会浪费DDR的内存空间,如果缓存块过小,则起不到提高速率的作用。
另外,采用传统的控制方法很难实现读写均衡,同时有较多的读写切换,降低了访问效率,在多通道同时访问DDR时,也很难实现均衡调度。
而且,采用传统的访问方式是在一个读写操作完成时,才进行下一个读写操作,由于DDR在读写方向均存在时延,使得传统的访问方式会将部分时间浪费在时延等待上,降低了DDR的访问效率。
对于上述问题,本发明实施例高速访问DDR的控制方法,通过DDR空间动态缓存块划分及管理、多通道读写均衡控制、连续读写操作的机制可以提高DDR访问效率和读/写速率,包括以下内容:
一,动态缓存块划分及管理机制:将DDR地址空间划分为数个区域,每个区域由多个缓存(buffer)组成,每个区域的缓存大小均可配置,通过不同的缓存指针(BP,Buffer Point)对地址空间进行管理。
这里,实现动态缓存块划分及管理机制,包括:1.1)将DDR的地址空间划分为数个区域,每个区域的起始地址和结束地址均可配置;1.2)每个区域由大小可配置的缓存组成,每个缓存均对应一个BP;1.3)对于一个数据包,根据包长选择缓存大小与其接近的区域,将其存入对应BP的缓存里面;1.4)每个区域的BP为一个链表,数据包写入DDR时,申请该区域链表首部的BP,数据包读出DDR时,将BP写入链表的尾部;1.5)根据BP大小选择一次写入或读出DDR数据的大小,对于较大的包长,尽量一次写入或读出比较长的数据,并且保证一次写入或读出的地址是连续,减少DDR的选页操作。
二,多通道读写均衡控制机制:在DDR控制器中,通过加权循环调度算法(WRR,Weighted Round Robin)对多个通道进行调度,同时对读写带宽进行平衡,减少读写切换。
这里,实现多通道读写均衡控制机制,包括:2.1)为每一个读写通道分配一个权重,每发生一次读/写操作,将权重减去包长,权重定时增加;2.2)在2.1基础上,如果多个通道有访问DDR请求,且权重均满足要求,尽量保证选择包长与上次读写相近的通道,保证DDR地址连续,减少选页操作;2.3)读方向和写方向各设一个总权重,在2.1的基础上,连续调度写方向通道数据到权重为0或者所有写通道数据完成,然后连续调度读方向数据到权重为0或者所有读通道数据完成,减少读写切换并实现读写均衡。
三,连续读写操作的机制:支持突发缓冲(Burst Outstanding)调度机制,对于多个通道突发的读写请求,可以将各个通道的请求依次缓存下来,按照缓存次序对DDR进行读写,在数据读写期间各个通道可以进行其他调度,不必等待本次读写返回结果。
这里,实现连续读写操作的机制,包括:3.1)读写方向各有2个先进先出队列(FIFO,First Input First Output),其中一个FIFO缓存读写命令(数据长度),一个FIFO缓存读写数据;3.2)DDR控制器按照调度结果依次将读写命令和通道标记缓存下来,并按照次序将读写命令传递给DDR;3.3)如果是写访问,DDR控制器将各个通道的写数据也缓存到数据FIFO里面,缓存完成之后该通道可以去调度别的数据,之后DDR控制器按照通道标记次序将数据写入DDR;3.4)如果是读访问,DDR控制器将数据读出后,按照通道标记将数据写入对应的FIFO,对应通道可以将数据从FIFO读出。
具体的,如图2所示为应用本发明实施例的一个装置结构组成示意图,该装置应用于独立芯片的DDR控制电路(如图2中的DDR控制器),将上述实施例一及其实施方式中的各个实现过程在该独立芯片中具体实现,由DDR控制器实现对DDR的读/写操作(读入操作或写出操作)。DDR31用于存储数据。其中,所述DDR控制器包括缓存控制模块21、调度模块22和多个通道控制模块23(如图2中的通道控制模块1-4,每个通道控制模块控制一个读/写方向的通道),实际应用中不限于这些通道控制模块。
所述缓存控制模块用于实现动态缓存块划分及管理机制,具体的,将DDR地址空间划分为数个区域,每个区域由多个缓存(buffer)组成,每个区域的缓存大小均可配置,通过不同的缓存指针(BP,Buffer Point)对地址空间进行管理。其中,实现动态缓存块划分及管理机制,包括:1.1)将DDR的地址空间划分为数个区域,每个区域的起始地址和结束地址均可配置;1.2)每个区域由大小可配置的缓存组成,每个缓存均对应一个BP;1.3)对于一个数据包,根据包长选择缓存大小与其接近的区域,将其存入对应BP的缓存里面;1.4)每个区域的BP为一个链表,数据包写入DDR时,申请该区域链表首部的BP,数据包读出DDR时,将BP写入链表的尾部;1.5)根据BP大小选择一次写入或读出DDR数据的大小,对于较大的包长,尽量一次写入或读出比较长的数据,并且保证一次写入或读出的地址是连续,减少DDR的选页操作。
所述调度模块用于实现多通道读写均衡控制机制,具体的,在DDR控制器中,通过加权循环调度算法(WRR,Weighted Round Robin)对多个通道进行调度,同时对读写带宽进行平衡,减少读写切换。其中,实现多通道读写均衡控制机制,包括:2.1)为每一个读写通道分配一个权重,每发生一次读/写操作,将权重减去包长,权重定时增加;2.2)在2.1基础上,如果多个通道有访问DDR请求,且权重均满足要求,尽量保证选择包长与上次读写相近的通道,保证DDR地址连续,减少选页操作;2.3)读方向和写方向各设一个总权重,在2.1的基础上,连续调度写方向通道数据到权重为0或者所有写通道数据完成,然后连续调度读方向数据到权重为0或者所有读通道数据完成,减少读写切换并实现读写均衡。
所述通道控制模块用于实现连续读写操作的机制,具体的,支持突发缓冲(Burst Outstanding)调度机制,对于多个通道突发的读写请求,可以将各个通道的请求依次缓存下来,按照缓存次序对DDR进行读写,在数据读写期间各个通道可以进行其他调度,不必等待本次读写返回结果。其中,实现连续读写操作的机制,包括:3.1)读写方向各有2个先进先出队列(FIFO,First InputFirst Output),其中一个FIFO缓存读写命令(数据长度),一个FIFO缓存读写数据;3.2)DDR控制器按照调度结果依次将读写命令和通道标记缓存下来,并按照次序将读写命令传递给DDR;3.3)如果是写访问,DDR控制器将各个通道的写数据也缓存到数据FIFO里面,缓存完成之后该通道可以去调度别的数据,之后DDR控制器按照通道标记次序将数据写入DDR;3.4)如果是读访问,DDR控制器将数据读出后,按照通道标记将数据写入对应的FIFO,对应通道可以将数据从FIFO读出。
如图3所示为缓存控制模块的工作流程,具体步骤如下:
步骤201、首先进行DDR地址空间的初始化。该初始化将DDR空间划分为N个区域,其中第一个区域的缓存颗粒配置成M字节,第二个区域配成2M字节…最后一个区域的缓存颗粒配置成N*M字节,如图4所示,完成后进入步骤202;
步骤202、每个区域初始化一个BP池,如图5所示,该BP池为1个1-K的指针链表,存储在1块深度为K的ram里,每个地址都有一个指示标识,为1表示该BP已经被使用,为0表示还未被使用,完成后进入步骤203;
步骤203、接受调度模块发过来的请求,如果是写请求,进入步骤204,否则进入步骤205;
步骤204、从对应区域的BP池里取出当前的空闲BP,发送给调度模块,并将当前BP指示置为1,将空闲BP指针指向下一个空闲BP,并将数据写入DDR,完成后进入步骤203;
步骤205、从对应的BP地址读出DDR中的数据,返回给调度模块,并将当前BP指示置为0,完成后进入步骤203。
图6是通道控制模块的结构图,某个通道访问DDR时,该通道对应的控制器将读/写命令和读/写数据缓存下来,读/写命令存入第一FIFO(具体为图6中的命令FIFO),将读/写数据存入第二FIFO(具体为图6中的数据FIFO)。调度模块负责调度各个通道请求,所有通道通过调度模块进行WRR调度,将调度结构传递给缓存控制模块。
调度模块的工作流程如图7所示,具体步骤如下:
步骤301、调度模块给每个通道初始化一个权重,该权重值可以配置,并给读写各配置一个总权重,每隔固定时间刷新各通道权重;
步骤302、进入写调度周期,查询各个写通道的访问请求,如果没有任何请求则进入步骤306,否则进入步骤303;
步骤303、将符合要求的所有通道申请包长与上次写入DDR的BP大小进行比较,如果有一个通道的包长符合上次的BP大小,则选择这个通道,如果有多个满足,则轮询其中一个,保证本次写入的BP与上次写入的相邻,地址空间连续;如果都不满足,则轮询所有输入通道中的一个,进入步骤304;
步骤304、根据轮询结果,向缓存控制模块申请对应区域的BP,将写请求发给缓存控制模块,并从对应通道控制模块取出数据发送给缓存控制模块,进入步骤305;
步骤305、将对应通道的权重和写通道总权重减去调度包长,如果写通道总权重已经为0,则进入步骤306,否则进入步骤302;
步骤306、进入读调度周期,查询各个读通道的访问请求,如果没有任何请求则进入步骤302,否则进入步骤307;
步骤307、将符合要求的所有通道申请BP与上次读取的BP进行比较,优先选择本次BP与上次BP相邻的通道,如果没有,则轮询其中给一个通道,进入步骤308;
步骤308、根据轮询结果,将读请求发给缓存控制装置,并接受DDR的读出内容发送给通道控制装置,进入步骤309;
步骤309、将对应通道的权重和读通道总权重减去调度包长,如果读通道总权重已经为0则进入步骤302,否则进入步骤306。
图8为本发明写数据访问DDR的工作流程,包括:
步骤401、写通道将写请求发送给该通道控制模块,通道控制模块检查内部命令和数据FIFO是否非满,是,则进入步骤402;
步骤402、通道控制模块将命令和数据分别写入命令FIFO和数据FIFO,此时对应写通道可以进行后续数据调度,无须等待写结果,之后返回步骤401;
步骤403、通道控制模块检查命令FIFO是否为空,非空则将写请求发送给调度模块,进入步骤404;
步骤404、调度模块根据之前描述调度算法,轮询到该通道数据,向缓存控制模块申请BP,进入步骤405;
步骤405、缓存控制模块将数据分配BP给调度模块,将空闲BP指向下一个值,并将数据写入DDR,返回给调度模块写成功指示,进入步骤406;
步骤406、缓存控制模块将BP返回给对应通道控制模块,通道控制模块通知写通道写完成,并告知写通道对应BP,结束本次操作,返回步骤403。
图9为本发明读数据访问DDR的工作流程,包括:
步骤501、读通道将读请求和读BP发送给该通道控制模块,通道控制模块检查内部命令和数据FIFO是否非满,是,则进入步骤502;
步骤502、通道控制模块将命令和BP写入命令FIFO,此时对应读通道可以进行后续数据调度,无须等待读结果,之后返回步骤501;
步骤503、通道控制模块检查命令FIFO是否为空,非空,则将读请求和BP发送给调度模块,进入步骤504;
步骤504、调度模块根据之前描述调度算法,轮询到该通道数据,向缓存控制发起读请求,进入步骤505;
步骤505、缓存控制模块将该BP置为空闲BP,并从DDR中读出数据,返回给调度模块读数据,进入步骤506;
步骤506、缓存控制模块将数据返回给对应通道控制模块,通道控制模块将数据写入数据FIFO,并通知读通道读完成,读通道可以从FIFO中读出数据,结束本次操作,返回步骤C。
采用本发明实施例,通过将DDR地址划分为多个区域,每个区域颗粒大小可以配置;同时根据WRR算法平衡各个读写通道的数据包;支持读写方向的突发连续访问,与传统的DDR访问方法相比,可以实现读写地址连续均衡,减少DDR的选页和切换操作,同时支持突发缓冲调度,避免了传统方法在读写时的数据等待,提高了DDR访问效率。
本发明实施例所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
相应的,本发明实施例还提供一种计算机存储介质,其中存储有计算机程序,该计算机程序用于执行本发明实施例的一种高速访问DDR的控制方法。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (18)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610162052.8A CN107204198B (zh) 2016-03-18 2016-03-18 高速访问双倍速率同步动态随机存储器的控制方法及装置
PCT/CN2017/072862 WO2017157110A1 (zh) 2016-03-18 2017-02-03 高速访问双倍速率同步动态随机存储器的控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610162052.8A CN107204198B (zh) 2016-03-18 2016-03-18 高速访问双倍速率同步动态随机存储器的控制方法及装置

Publications (2)

Publication Number Publication Date
CN107204198A true CN107204198A (zh) 2017-09-26
CN107204198B CN107204198B (zh) 2020-06-09

Family

ID=59852011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610162052.8A Active CN107204198B (zh) 2016-03-18 2016-03-18 高速访问双倍速率同步动态随机存储器的控制方法及装置

Country Status (2)

Country Link
CN (1) CN107204198B (zh)
WO (1) WO2017157110A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519858A (zh) * 2018-03-22 2018-09-11 雷科防务(西安)控制技术研究院有限公司 存储芯片硬件命中方法
CN111309639A (zh) * 2020-01-17 2020-06-19 深圳市风云实业有限公司 一种多通道数据弹性存储装置和方法
CN111367832A (zh) * 2020-03-02 2020-07-03 杭州迪普信息技术有限公司 基于存储器的统计方法、装置以及存储设备
CN111681693A (zh) * 2020-05-26 2020-09-18 北京微密科技发展有限公司 融合ddr5 lrdimm芯片组的nvdimm-p控制器及控制方法
CN112148667A (zh) * 2020-09-04 2020-12-29 南京信息工程大学 一种基于fpga软核的缓存系统及方法
CN114237496A (zh) * 2021-12-01 2022-03-25 苏州浪潮智能科技有限公司 优化多通道系统内存读写效能方法、装置和计算机设备
CN117373501A (zh) * 2023-12-08 2024-01-09 深圳星云智联科技有限公司 统计业务执行速率提升方法及相关装置
CN118072807A (zh) * 2024-04-18 2024-05-24 杭州长川科技股份有限公司 一种多通道仲裁方法、系统及介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020118713A1 (zh) * 2018-12-14 2020-06-18 深圳市汇顶科技股份有限公司 位宽匹配电路、数据写入装置、数据读出装置和电子设备
CN110910921A (zh) * 2019-11-29 2020-03-24 深圳市国微电子有限公司 一种命令读写方法、装置及计算机存储介质
CN113360420B (zh) * 2020-03-06 2024-05-17 北京机械设备研究所 一种内存控制方法和装置
CN111581132B (zh) * 2020-04-27 2022-03-25 武汉中科牛津波谱技术有限公司 一种基于fpga的可扩展的多端口ddr3控制器
CN111831606B (zh) * 2020-07-17 2023-03-31 电子科技大学 一种基于fpga的数据包精准延时方法及系统
CN112650448B (zh) * 2020-12-21 2024-04-05 中国航天科工集团八五一一研究所 一种基于fpga的大数据量存储文件管理方法
CN114121066B (zh) * 2021-09-09 2024-04-30 西安电子工程研究所 基于ddr3的动态乒乓堆栈式数据重排实现方法
CN114257263B (zh) * 2021-11-22 2023-06-09 中电科思仪科技股份有限公司 一种基于触发的高机动信道模拟装置及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201194A (zh) * 1997-05-12 1998-12-09 莱克斯马克国际公司 管理打印机分组通信数据的通信缓冲器的方法和装置
US6701387B1 (en) * 2000-08-31 2004-03-02 Hewlett-Packard Development Company, L.P. Adaptive data fetch prediction algorithm
US20060190641A1 (en) * 2003-05-16 2006-08-24 Stephen Routliffe Buffer management in packet switched fabric devices
CN1839369A (zh) * 2003-08-20 2006-09-27 皇家飞利浦电子股份有限公司 动态存储缓冲器
CN102129411A (zh) * 2010-01-18 2011-07-20 厄塞勒拉特公司 存取缓冲器
CN102684976A (zh) * 2011-03-10 2012-09-19 中兴通讯股份有限公司 一种基于ddr sdram进行数据读写的方法、装置及系统
CN103678167A (zh) * 2012-09-12 2014-03-26 想象力科技有限公司 动态可调整大小的循环缓冲区

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260688B1 (en) * 2004-04-15 2007-08-21 Xilinx, Inc. Method and apparatus for controlling access to memory circuitry
CN104572573A (zh) * 2014-12-26 2015-04-29 深圳市国微电子有限公司 数据存储方法、存储模块和可编程逻辑器件
CN106649136B (zh) * 2015-11-03 2022-09-23 西安中兴新软件有限责任公司 一种数据存储方法和存储装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201194A (zh) * 1997-05-12 1998-12-09 莱克斯马克国际公司 管理打印机分组通信数据的通信缓冲器的方法和装置
US6701387B1 (en) * 2000-08-31 2004-03-02 Hewlett-Packard Development Company, L.P. Adaptive data fetch prediction algorithm
US20060190641A1 (en) * 2003-05-16 2006-08-24 Stephen Routliffe Buffer management in packet switched fabric devices
CN1839369A (zh) * 2003-08-20 2006-09-27 皇家飞利浦电子股份有限公司 动态存储缓冲器
CN102129411A (zh) * 2010-01-18 2011-07-20 厄塞勒拉特公司 存取缓冲器
CN102684976A (zh) * 2011-03-10 2012-09-19 中兴通讯股份有限公司 一种基于ddr sdram进行数据读写的方法、装置及系统
CN103678167A (zh) * 2012-09-12 2014-03-26 想象力科技有限公司 动态可调整大小的循环缓冲区

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519858B (zh) * 2018-03-22 2021-06-08 雷科防务(西安)控制技术研究院有限公司 存储芯片硬件命中方法
CN108519858A (zh) * 2018-03-22 2018-09-11 雷科防务(西安)控制技术研究院有限公司 存储芯片硬件命中方法
CN111309639A (zh) * 2020-01-17 2020-06-19 深圳市风云实业有限公司 一种多通道数据弹性存储装置和方法
CN111309639B (zh) * 2020-01-17 2022-03-08 深圳市风云实业有限公司 一种多通道数据弹性存储装置和方法
CN111367832A (zh) * 2020-03-02 2020-07-03 杭州迪普信息技术有限公司 基于存储器的统计方法、装置以及存储设备
CN111681693A (zh) * 2020-05-26 2020-09-18 北京微密科技发展有限公司 融合ddr5 lrdimm芯片组的nvdimm-p控制器及控制方法
CN112148667A (zh) * 2020-09-04 2020-12-29 南京信息工程大学 一种基于fpga软核的缓存系统及方法
CN112148667B (zh) * 2020-09-04 2023-12-19 南京信息工程大学 一种基于fpga软核的缓存系统及方法
CN114237496A (zh) * 2021-12-01 2022-03-25 苏州浪潮智能科技有限公司 优化多通道系统内存读写效能方法、装置和计算机设备
CN114237496B (zh) * 2021-12-01 2022-05-13 苏州浪潮智能科技有限公司 优化多通道系统内存读写效能方法、装置和计算机设备
CN117373501A (zh) * 2023-12-08 2024-01-09 深圳星云智联科技有限公司 统计业务执行速率提升方法及相关装置
CN117373501B (zh) * 2023-12-08 2024-04-09 深圳星云智联科技有限公司 统计业务执行速率提升方法及相关装置
CN118072807A (zh) * 2024-04-18 2024-05-24 杭州长川科技股份有限公司 一种多通道仲裁方法、系统及介质

Also Published As

Publication number Publication date
WO2017157110A1 (zh) 2017-09-21
CN107204198B (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
CN107204198A (zh) 高速访问双倍速率同步动态随机存储器的控制方法及装置
CN103425602B (zh) 一种闪存存储设备数据读写的方法、装置及主机系统
US9712461B2 (en) Data caching system and method for ethernet device
CN105320608B (zh) 用于控制存储器设备处理访问请求的存储器控制器和方法
CN109446125A (zh) Ddr读写仲裁器及方法
CN103543954B (zh) 一种数据存储管理方法和装置
US20170083474A1 (en) Distributed memory controller
CN101499956B (zh) 分级缓冲区管理系统及方法
US7904677B2 (en) Memory control device
CN109388590B (zh) 提升多通道dma访问性能的动态缓存块管理方法和装置
CN107885456A (zh) 减少io命令访问nvm的冲突
EP3166269A1 (en) Queue management method and apparatus
CN104375895B (zh) 用于多种存储器间的数据存储调度方法以及装置
CN102314400B (zh) 一种分散聚合式dma方法及装置
TWI526927B (zh) 資料緩衝器記憶體、資料緩衝器記憶體系統及其資料儲存方法
KR102034626B1 (ko) 메모리 동작을 제어하는 방법 및 장치
JP7074839B2 (ja) パケット処理
CN105335323B (zh) 一种数据突发的缓存装置和方法
CN109558250A (zh) 一种基于fpga的通信方法、设备、主机及异构加速系统
CN106356088A (zh) 一种数据处理方法及其装置
CN107124240A (zh) 一种信道时延模拟装置及方法
US20190065103A1 (en) Transmission device and transmission method
CN102243611A (zh) 数据存储方法和系统
CN107885667A (zh) 降低读命令处理延迟的方法与装置
CN110096456A (zh) 一种高速率大容量缓存方法与装置

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