CN101916227A - 一种rldram sio存储器访问控制方法和装置 - Google Patents
一种rldram sio存储器访问控制方法和装置 Download PDFInfo
- Publication number
- CN101916227A CN101916227A CN2010102526795A CN201010252679A CN101916227A CN 101916227 A CN101916227 A CN 101916227A CN 2010102526795 A CN2010102526795 A CN 2010102526795A CN 201010252679 A CN201010252679 A CN 201010252679A CN 101916227 A CN101916227 A CN 101916227A
- Authority
- CN
- China
- Prior art keywords
- write
- subdata
- sheet
- command
- order
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种RLDRAM SIO存储器访问控制方法和装置,对输入的读写命令进行地址解析和分开保存,并对分开保存的读写命令进行统一排序得到操作命令队列,同时将输入的数据包解析成子数据片;输出子数据片以及操作命令队列中的读写命令到RLDRAM SIO存储器。该装置包括:输入操作控制模块、缓存模块和输出操作控制模块。本发明在现有IP核基础上对读写操作的访问地址进行了优化,并且合理安排存储器的读、写命令发送顺序,使读写操作达到带宽的高效利用,大幅度提高RLDRAM SIO存储器带宽利用率。
Description
技术领域
本发明涉及RLDRAM(Reduced Latency Dynamic Random Access Memory,低延时动态随机访问存储器)技术领域,尤其涉及一种RLDRAM SIO(独立I/O)存储器访问控制方法和装置。
背景技术
当今的高速网络应用需要高带宽和高密度存储器解决方案,不仅要求较高的工作速度、而且对存储器同时进行读写操作的应用也涌现出来。这对网络数据包动态缓存存储器的容量和存取速率也提出了更高的要求。相比一般的DRAM(Random Access Memory,随机存储器),RLDRAM存储器采用了内部预充电和内置启动,使得寻址过程可以在单周期内完成,所以它比一般的DRAM具有低延迟的特点,使其成为网络数据包缓存的一个较佳的选择。RLDRAM存储器分为RLDRAM CIO(共用I/O)和RLDRAM SIO两种,其中RLDRAM SIO存储器由于其写数据线和读数据线独立,可以同时进行读写操作,极大提高了带宽利用率。所以RLDRAM SIO存储器是非常适合于网络应用的。
目前,虽然RLDRAM SIO存储器具有良好的架构和性能,但是现有的对输入的读写命令的地址解析和缓存方式没有充分考虑到RLDRAM SIO存储器的访问配置要求,以及子数据片写入内部体bank最小访问间隔tRC(active to active/auto refresh command time)的限制对输出操作命令过程造成的影响,导致在使用的过程中,RLDRAM SIO存储器很难实现较高的带宽利用率。例如,如图1所示,clk为时钟周期线,cmd为输出操作命令线,在存储器配置为BL(burst length,突发长度)=tRC=4cycle,cycle为时钟周期,子数据片写入内部体bank 个数=8时,在某个时间段只有写命令的情况下,对相同的内部体的访问间隔必须大于等于4个时钟周期,而每个输入的写命令均依次访问同一个内部体地址,这样写数据线Wdata的有效利用率只有约50%。
又例如,如图2所示,也是在存储器配置为BL=tRC=4cycle,子数据片写入内部体bank个数=8时,在每个命令周期中同时具有写命令和读命令的情况下,按照输入命令的原有顺序执行,写数据线Wdata的有效利用率和读数据线Rdata的有效利用率均很低。
因此,如何进一步提高RLDRAM SIO存储器读写效率是本领域技术人员亟待解决的问题。
发明内容
本发明要解决的技术问题是,提供一种RLDRAM SIO存储器访问控制方法和装置,提高RLDRAM SIO存储器读写操作的效率。
本发明采用的技术方案是,所述RLDRAM SIO存储器访问控制方法,包括:
对输入的读写命令进行地址解析和分开保存,并对分开保存的读写命令进行统一排序得到操作命令队列,同时将输入的数据包解析成子数据片;
输出所述子数据片以及操作命令队列中的读写命令到RLDRAM SIO存储器。
进一步的,所述对输入的读写命令进行地址解析和分开保存的具体过程包括:
将包含数据单元写入地址和子数据片写入内部体地址的二维地址信息依次分别与写命令和读命令建立对应访问关系;
将写命令及其访问的所述二维地址信息缓存入写命令队列,将读命令及其访问的所述二维地址信息缓存入读命令队列。
进一步的,所述将包含数据单元写入地址和子数据片写入内部体地址的二维地址信息依次分别与写命令和读命令建立对应访问关系,包括:
对于写命令,将数据单元写入地址与写命令建立对应访问关系,在每个数据单元写入地址中,再将子数据片写入内部体地址按照编号从小到大依次与写命令建立对应访问关系,使每一个写命令具有包含数据单元写入地址和子数据片写入内部体地址的二维地址信息;
对于读命令,将数据单元写入地址与读命令建立对应访问关系,在每个数据单元写入地址中,再将子数据片写入内部体地址按照编号从小到大依次与读命令建立对应访问关系,使每一个读命令具有包含数据单元写入地址和子数据片写入内部体地址的二维地址信息。
进一步的,所述对分开保存的读写命令进行统一排序得到的操作命令队列的具体过程,包括:基于相同子数据片写入内部体最小访问间隔的要求,对写命令队列和读命令队列进行重新排序得到操作命令队列。
进一步的,所述基于相同子数据片写入内部体最小访问间隔的要求,对分开保存的写命令和读命令进行重新排序得到的操作命令队列,包括:
在写命令队列和读命令队列中分别按照子数据片写入内部体编号从小到大处理读命令和写命令,对取出的第一个命令直接存入操作命令队列,从第二个命令开始执行下面的步骤:
步骤一、判断前一个命令是读命令还是写命令,若前一个命令是写命令,则跳转步骤二,若前一个命令是读命令,则跳转步骤三;
步骤二、判断读命令队列中是否为空,若为空,则跳转步骤五,若不为空,则跳转步骤四;
步骤三、判断写命令队列中是否为空,若为空,则跳转步骤四,若不为空,则,跳转步骤五;
步骤四、从读命令队列中取出当前读命令访问的子数据片写入内部体编号,判断当前读命令访问的子数据片写入内部体编号是否大于前一个写命令访问的子数据片写入内部体编号,或者,前一个写命令访问的子数据片写入内部体编号与当前读命令访问的子数据片写入内部体编号之差是否大于等于2(tRC-T)/BL,T为一个命令周期内写命令和读命令之间的间隔,若是,则将当前读命令存入操作命令队列,否则将后一个写命令存入操作命令队列,当前读命令仍然待处理,跳转步骤一;
步骤五、从写命令队列中取出当前写命令访问的子数据片写入内部体编号,判断当前写命令访问的子数据片写入内部体编号是否大于前一个读命令访问的子数据片写入内部体编号,或者,前一个读命令访问的子数据片写入内部体编号与当前写命令访问的子数据片写入内部体编号之差是否大于等于2(tRC-T)/BL,若是,则将当前写命令存入操作命令队列,否则将后一个读命令存入操作命令队列,当前写命令仍然待处理,跳转步骤一。
进一步的,所述将输入的数据包解析成子数据片的过程包括:
将输入的数据包划分为数据单元,将每个数据单元划分为与RLDRAM SIO存储器内部体数量相等的子数据片。
对于某个时间段输入的只有读命令或者只有写命令的情况,虽然利用上述RLDRAM SIO存储器访问控制方法已经可以达到提高RLDRAM SIO存储器读写操作效率的发明目的,但是,本发明还提供一种专门针对只有读命令或者只有写命令的简化的技术方案,即,
一种RLDRAM SIO存储器访问控制方法,包括:
对输入的读命令或者写命令进行地址解析和缓存得到操作命令队列,并且,当输入的是写命令时,将输入的数据包解析成子数据片;
输出所述子数据片以及操作命令队列中的读命令或者写命令到RLDRAMSIO存储器。
所述对输入的读命令或者写命令进行地址解析和缓存得到的操作命令队列,包括:
将包含数据单元写入地址和子数据片写入内部体地址的二维地址信息依次与写命令或读命令建立对应访问关系;
将写命令及其访问的所述二维地址信息缓存入操作命令队列,或者,将读命令及其访问的所述二维地址信息缓存入操作命令队列。
本发明还提供一种RLDRAM SIO存储器访问控制装置,包括:
输入操作控制模块,用于对输入的读写命令和数据包进行解析和分开保存,并对分开保存的读写命令进行统一排序得到操作命令队列,将操作命令队列发送到缓存模块;
缓存模块,用于分别存储操作命令队列和由数据包解析得到的子数据片;
输出操作控制模块,用于输出操作命令队列中的读写命令到RLDRAM SIO存储器。
进一步的,所述输入操作控制模块具体包括:
写数据包解析子模块,用于将写命令对应的输入数据包划分为数据单元,将每个数据单元划分为与RLDRAM SIO存储器内部体数量相等的子数据片;
写地址解析缓存子模块,用于将包含数据单元写入地址和子数据片写入内部体地址的二维地址信息依次分配给对子数据片的写命令,存入写命令队列;
读地址解析缓存子模块,用于将所述二维地址信息依次分配给对子数据片的读命令,存入读命令队列;
读写命令排序子模块,用于基于相同子数据片写入内部体最小访问间隔的要求,对读命令队列和写命令队列统一重新排序得到操作命令队列后输出到缓存模块。
进一步的,所述缓存模块具体包括:
操作命令缓存子模块,用于保存由读写命令排序子模块统一重新排序后的操作命令队列;
写数据缓存子模块,用于保存由写数据包解析子模块划分成的所述子数据片。
进一步的,所述缓存模块还包括读出数据缓存子模块,用于存储从RLDRAM SIO存储器中读出的子数据片;
该装置进一步包括输出数据模块,用于将读出数据缓存子模块中的子数据片重新组合成数据单元送出。
本发明还提供一种具有所述RLDRAM SIO存储器访问控制装置的RLDRAM SIO存储器系统,RLDRAM SIO存储器与所述访问控制装置中的输出操作控制模块相连,所述访问控制装置包括:
输入操作控制模块,用于对输入的读写命令和数据包进行解析和分开保存,并对分开保存的读写命令进行统一排序得到操作命令队列,将操作命令队列发送到缓存模块;
缓存模块,用于分别存储操作命令队列和由数据包解析得到的子数据片;
输出操作控制模块,用于输出操作命令队列中的读写命令到RLDRAM SIO存储器。
采用上述技术方案,本发明至少具有下列优点:
本发明所述RLDRAM SIO存储器访问控制方法和装置,对输入的读写命令进行地址解析和分开保存,并对分开保存的读写命令进行统一排序得到操作命令队列,同时将输入的数据包解析成子数据片;分别存储操作命令队列和由数据包解析得到的子数据片;输出子数据片以及操作命令队列中的读写命令到RLDRAM SIO存储器。本发明在现有IP核基础上对读写操作的访问地址进行了优化,并且合理安排存储器的读、写命令发送顺序,使读写操作达到带宽的高效利用,大幅度提高RLDRAM SIO存储器带宽利用率。
附图说明
图1为现有技术中某个时间段只有写命令的情况下访问存储器的写数据线带宽利用率示意图;
图2为现有技术中某个时间段的每个命令周期中同时有写命令和读命令的情况下访问存储器的写数据线带宽利用率示意图;
图3为本发明第一实施例中所述RLDRAM SIO存储器访问控制方法流程图;
图4为本发明第一实施例中对写命令队列和读命令队列进行重新排序得到操作命令队列的流程图;
图5为本发明第二实施例中所述RLDRAM SIO存储器访问控制方法流程图;
图6为本发明第三实施例中所述RLDRAM SIO存储器访问控制方法流程图;
图7为本发明第四实施例中所述RLDRAM SIO存储器访问控制装置组成示意图;
图8为本发明第四实施例中所述输入操作控制模块组成示意图;
图9为本发明第五实施例中具有第四实施例所述访问控制装置的RLDRAM SIO存储器系统组成示意图;
图10为采用本发明技术方案后,在命令周期中只有写命令的情况下写数据线有效带宽利用情况示意图;
图11为采用本发明技术方案后,在一个命令周期中有写命令和读命令的情况下读写数据线有效带宽利用情况示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
首先介绍一下RLDRAM SIO存储器相关参数和访问限制:
突发长度BL:决定了RLDRAM SIO存储器的命令周期,一个命令周期等于BL/2个时钟周期。
存储器内部体bank:是RLDRAM SIO存储器的内部存储空间,目前MICRON公司的大部分RLDRAM SIO存储器产品的体个数是8或者16。
相同体最小访问时间间隔tRC:连续两次访问相同bank之间的最小间隔。
另外,RLDRAM SIO存储器还要求发送连续两个读操作或两个写操作之间必须经过一个命令周期,即不能在同一个命令周期中出现两个相同性质的操作。
本发明技术方案的主要思路是:
在网络数据包缓存的应用中,通常将数据包切片成固定长度的数据单元进行存储,在数据单元写入时将其划分为多个子数据片存入子数据片写入内部体bank中。本发明进一步提出将数据单元写入时将其划分为n个子数据片分别存入地址相同的各个子数据片写入内部体bank中,n为存储器中bank的总个数。如果数据单元写入地址为ADDR,那么划分它所得到的n个子数据片对应的二维地址为{ADDR,BADDR},BADDR表示bank的地址,其值从0到n-1轮询,0到n-1可以看成是bank的编号。这样,对于一个数据单元,在对它进行写入和读出操作时均需要对各个bank进行一次轮询操作,而二维地址中的ADDR可以相同也可以不同。
由于上面对命令操作的存取地址进行了优化设计,使得对命令操作的输出时序优化变得有规可循。依据上面对写命令和读命令操作设定的二维地址,对其进行输出操作排序,排序时主要考虑到:连续两次访问相同bank之间的最小间隔不得小于相同体最小访问时间间隔tRC。
本发明第一实施例,一种RLDRAM SIO存储器访问控制方法,如图3所示,包括如下具体步骤:
步骤S101,将包含数据单元写入地址ADDR和子数据片写入内部体地址BADDR的二维地址信息依次分别与写命令和读命令建立对应访问关系,具体的,
对于写命令,将数据单元写入地址ADDR与写命令建立对应访问关系,在每个数据单元写入地址中,再将子数据片写入内部体地址BADDR按照bank的编号从小到大依次与写命令建立对应访问关系,即,每输入一个子数据片写命令,就为其分配一个bank,按照bank0~bank(n-1)循环分配,使每一个写命令具有包含ADDR和BADDR的二维地址信息;
同时,将写命令对应的输入数据包划分为数据单元,将每个数据单元划分为与RLDRAM SIO存储器的bank数量相等的子数据片,再将该数据单元的子数据片依次存入所有的bank中。
对于读命令,将数据单元写入地址ADDR与读命令建立对应访问关系,在每个数据单元写入地址中,再将子数据片写入内部体地址BADDR按照bank的编号从小到大依次与读命令建立对应访问关系,即,每输入一个子数据片读命令,就为其分配一个bank,按照bank0~bank(n-1)循环分配,使每一个读命令具有包含ADDR和BADDR的二维地址信息。
步骤S102,将写命令及其访问的二维地址信息{ADDR,BADDR}缓存入写命令队列,将读命令及其访问的二维地址信息{ADDR,BADDR}缓存入读命令队列。
步骤S103,基于相同体最小访问时间间隔tRC的要求,对写命令队列和读命令队列进行重新排序得到操作命令队列,具体的,
扫描写命令队列和读命令队列,分别按照队列先进先出的原则,即按照bank的编号从小到大处理读命令和写命令,如图4所示:
步骤S1,对取出的第一个命令直接存入操作命令队列,从第二个命令开始执行步骤S2-S6:
步骤S2、判断前一个命令是读命令还是写命令,若前一个命令是写命令,则跳转步骤S3,若前一个命令是读命令,则跳转步骤S4;
步骤S3,判断读命令队列中是否为空,若为空,则跳转步骤S6,若不为空,则跳转步骤S5;
步骤S4,判断写命令队列中是否为空,若为空,则跳转步骤S5,若不为空,则跳转步骤S6;
步骤S5,从读命令队列中取出当前读命令访问的bank编号,判断当前读命令访问的bank编号是否大于前一个写命令访问的bank编号,或者,前一个写命令访问的bank编号与当前读命令访问的bank编号之差是否大于等于2(tRC-T)/BL,T为一个命令周期内写命令和读命令之间的间隔,若是,则将当前读命令存入操作命令队列,否则将后一个写命令存入操作命令队列,当前读命令仍然待处理。跳转步骤S2;
步骤S6,从写命令队列中取出当前写命令访问的bank编号,判断当前写命令访问的bank编号是否大于前一个读命令访问的bank编号,或者,前一个读命令访问的bank编号与当前写命令访问的bank编号之差是否大于等于2(tRC-T)/BL,若是,则将当前写命令存入操作命令队列,否则将后一个读命令存入操作命令队列,当前写命令仍然待处理。跳转步骤S2。
步骤S104,按照RLDRAM SIO存储器访问配置要求输出子数据片以及操作命令队列中的读写命令到RLDRAM SIO存储器,这一步骤是现有技术中存储器访问控制技术已经可以完成的,本发明并没有对此输出过程做改进,因此,只介绍一下,本步骤判断处理的原则:
对于在一个命令周期中只输入一种操作的情况:
距前一个命令(BL/2-1)个时钟周期后输出当前命令;
对于在一个命令周期输入两种操作的情况,且两种操作命令在一个命令周期中的间隔为T时:
若前一个命令为写命令,当前命令为读命令,则距前一个命令间隔T后输出当前命令;
若前一个命令为读命令,当前命令为写命令,则距前一个命令间隔(BL/2-T-2)后输出当前命令。
步骤S105,RLDRAM SIO存储器执行写命令时,将每个数据单元的子数据片依次存入所有的bank中;在执行读命令时,从所有bank中取出子数据片。最后将子数据片组合成数据单元输出。
对于某个时间段的命令周期中输入的只有读命令或者只有写命令的情况,虽然利用上述第一实施例中的所述RLDRAM SIO存储器访问控制方法已经可以达到提高RLDRAM SIO存储器读写操作效率的发明目的,但是,本发明还提供一种专门针对只有读命令或者只有写命令的简化的技术方案,即下面记载的第二实施例和第三实施例。
本发明第二实施例,针对某个时间段的命令周期中输入的只有写命令的情况,如图5所示,一种RLDRAM SIO存储器访问控制方法,包括:
步骤S201,将包含数据单元写入地址ADDR和子数据片写入内部体地址BADDR的二维地址信息依次与写命令建立对应访问关系,具体的,
将数据单元写入地址ADDR与写命令建立对应访问关系,在每个数据单元写入地址中,再将子数据片写入内部体地址BADDR按照bank的编号从小到大依次与写命令建立对应访问关系,即,每输入一个子数据片写命令,就为其分配一个bank,按照bank0~bank(n-1)循环分配,使每一个写命令具有包含ADDR和BADDR的二维地址信息;
同时,将写命令对应的输入数据包划分为数据单元,将每个数据单元划分为与RLDRAM SIO存储器的bank数量相等的子数据片,再将该数据单元的子数据片依次存入所有的bank中。
步骤S202,将写命令及其访问的二维地址信息{Addr,BAddr}缓存入操作命令队列。
步骤S203,按照RLDRAM SIO存储器访问配置要求输出子数据片以及操作命令队列中的写命令到RLDRAM SIO存储器,这一步骤是现有技术中存储器访问控制技术已经可以完成的,本发明并没有对此输出过程做改进,因此,只介绍一下,本步骤判断处理的原则:距前一个命令(BL/2-1)个时钟周期后输出当前命令;
步骤S204,RLDRAM SIO存储器执行写命令时,将每个数据单元的子数据片依次存入所有的bank中。
本发明第三实施例,针对某个时间段的命令周期中输入的只有读命令的情况,如图6所示,一种RLDRAM SIO存储器访问控制方法,包括:
步骤S301,将包含数据单元写入地址Addr和子数据片写入内部体地址BAddr的二维地址信息依次与读命令建立对应访问关系,具体的,
将数据单元写入地址Addr与读命令建立对应访问关系,在每个数据单元写入地址中,再将子数据片写入内部体地址BAddr按照bank的编号从小到大依次与读命令建立对应访问关系,即,每输入一个子数据片读命令,就为其分配一个bank,按照bank0~bank(n-1)循环分配,使每一个读命令具有包含Addr和BAddr的二维地址信息。
步骤S302,将读命令及其访问的二维地址信息{Addr,BAddr}缓存入操作命令队列。
步骤S303,按照RLDRAM SIO存储器访问配置要求输出子数据片以及操作命令队列中的读命令到RLDRAM SIO存储器,这一步骤是现有技术中存储器访问控制技术已经可以完成的,本发明并没有对此输出过程做改进,因此,只介绍一下,本步骤判断处理的原则:距前一个命令(BL/2-1)个时钟周期后输出当前命令。
步骤S304,RLDRAM SIO存储器执行读命令时,从所有bank中取出子数据片,最后将子数据片组合成数据单元输出。
本发明第四实施例,一种执行上述第一实施例中所述方法的RLDRAM SIO存储器访问控制装置,如图7所示,包括如下组成部分:
1)输入操作控制模块,用于对输入的读写命令和数据包进行解析和分开保存,并对分开保存的读写命令进行统一排序得到操作命令队列,将操作命令队列发送到缓存模块。如图8所示,所述输入操作控制模块具体包括如下子模块:
写数据包解析子模块,用于将写命令对应的输入数据包划分为数据单元,将每个数据单元划分为与RLDRAM SIO存储器内部体数量相等的子数据片,用于依次存入存储器的所有内部体bank中;
写地址解析缓存子模块,用于将包含数据单元写入地址Addr和子数据片写入内部体地址BAddr的二维地址信息依次分配给对子数据片的写命令,存入写命令队列。具体过程是:将数据单元写入地址Addr与写命令建立对应访问关系,在每个数据单元写入地址中,再将子数据片写入内部体地址BAddr按照bank的编号从小到大依次与写命令建立对应访问关系,即,每输入一个子数据片写命令,就为其分配一个bank,按照bank0~bank(n-1)循环分配,使每一个写命令具有包含Addr和BAddr的二维地址信息,将写命令及其访问的二维地址信息{Addr,BAddr}缓存入写命令队列。
读地址解析缓存子模块,用于将所述二维地址信息依次分配给对子数据片的读命令,存入读命令队列。具体过程是:将数据单元写入地址Addr与读命令建立对应访问关系,在每个数据单元写入地址中,再将子数据片写入内部体地址BAddr按照bank的编号从小到大依次与读命令建立对应访问关系,即,每输入一个子数据片读命令,就为其分配一个bank,按照bank0~bank(n-1)循环分配,使每一个读命令具有包含Addr和BAddr的二维地址信息。将读命令及其访问的二维地址信息{Addr,BAddr}缓存入读命令队列。
读写命令排序子模块,用于基于相同体最小访问时间间隔tRC的要求,对读命令队列和写命令队列统一重新排序得到操作命令队列后输出到缓存模块。具体过程如图4所示。
2)缓存模块,用于分别存储操作命令队列和由数据包解析得到的子数据片。所述缓存模块具体包括如下子模块:
操作命令缓存子模块,用于保存由读写命令排序子模块统一重新排序后的操作命令队列;
写数据缓存子模块,用于保存由写数据包解析子模块划分成的所述子数据片;
读出数据缓存子模块,用于存储从RLDRAM SIO存储器中读出的子数据片。
3)输出操作控制模块,用于按照RLDRAM SIO存储器访问配置要求输出操作命令队列中的读写命令到RLDRAM SIO存储器。输出操作控制模块完成的功能是现有技术中存储器访问控制技术已经可以实现的,本发明并没有对此输出功能做改进,因此,只介绍一下,该模块判断处理的原则:
对于在一个命令周期中只输入一种操作的情况:
距前一个命令(BL/2-1)个时钟周期后输出当前命令;
对于在一个命令周期输入两种操作的情况,且两种操作命令在一个命令周期中的间隔为T时:
若前一个命令为写命令,当前命令为读命令,则距前一个命令间隔T后输出当前命令;
若前一个命令为读命令,当前命令为写命令,则距前一个命令间隔(BL/2-T-2)后输出当前命令。
4)输出数据模块,用于将读出数据缓存子模块中的子数据片重新组合成数据单元送出。
本发明第五实施例,一种具有第四实施例所述访问控制装置的RLDRAMSIO存储器系统,如图9所示,RLDRAM SIO存储器与所述访问控制装置中的输出操作控制模块相连,所述访问控制装置包括:
输入操作控制模块,用于对输入的读写命令和数据包进行解析和分开保存,并对分开保存的读写命令进行统一排序得到操作命令队列,将操作命令队列发送到缓存模块;
缓存模块,用于分别存储操作命令队列和由数据包解析得到的子数据片;
输出操作控制模块,用于按照RLDRAM SIO存储器访问配置要求输出操作命令队列中的读写命令到RLDRAM SIO存储器。
需要说明的是,本发明具体实施例对读写操作存取地址优化的过程中,均是将子数据片写入内部体地址BAddr按照bank的编号从小到大依次与读命令或者写命令建立对应访问关系,但是本领域技术人员完全可以根据上述记载显而易见的推出按照bank的编号从大到小或者基于其他的bank编号规则分配bank地址的方法,以及后续配合该存取地址优化方法实施原理与本发明技术方案相同的操作命令优化排序过程,这些基于本发明原理思想的技术方案均在本发明的保护范围之内。
下面通过附图说明采用本发明所述方法和装置对RLDRAM SIO存储器访问控制后,读数据线和写数据线有效带宽利用率的情况:
图10为命令周期中只有写命令的情况下写数据线有效带宽利用情况,工作条件为:bank个数=8,BL=4,tRC为4个时钟周期,图中clk表示时钟周期,cmd表示输出操作模块输出的操作命令,Wdata表示写数据线的利用情况。由于本发明对写命令按照bank编号从小到大分配了子数据片写入内部体地址BAddr,在现有输出操作控制下完全可以达到写数据线有效带宽利用100%的效果。
图11为一个命令周期中写命令和读命令的情况下读写数据线有效带宽利用情况,工作条件为:bank个数=8,BL=4,tRC为4个时钟周期。由于本发明对写命令和读命令的子数据片写入内部体地址BAddr进行了优化,并且对写命令队列和读命令队列中的操作统一进行了重新优化排序,在现有输出操作控制下完全可以达到写数据线和读数据线有效带宽利用100%的效果。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
Claims (13)
1.一种RLDRAM SIO存储器访问控制方法,其特征在于,对输入的读写命令进行地址解析和分开保存,并对分开保存的读写命令进行统一排序得到操作命令队列,同时将输入的数据包解析成子数据片;
输出所述子数据片以及操作命令队列中的读写命令到RLDRAM SIO存储器。
2.根据权利要求1所述访问控制方法,其特征在于,所述对输入的读写命令进行地址解析和分开保存的具体过程包括:
将包含数据单元写入地址和子数据片写入内部体地址的二维地址信息依次分别与写命令和读命令建立对应访问关系;
将写命令及其访问的所述二维地址信息缓存入写命令队列,将读命令及其访问的所述二维地址信息缓存入读命令队列。
3.根据权利要求2所述访问控制方法,其特征在于,所述将包含数据单元写入地址和子数据片写入内部体地址的二维地址信息依次分别与写命令和读命令建立对应访问关系,包括:
对于写命令,将数据单元写入地址与写命令建立对应访问关系,在每个数据单元写入地址中,再将子数据片写入内部体地址按照编号从小到大依次与写命令建立对应访问关系,使每一个写命令具有包含数据单元写入地址和子数据片写入内部体地址的二维地址信息;
对于读命令,将数据单元写入地址与读命令建立对应访问关系,在每个数据单元写入地址中,再将子数据片写入内部体地址按照编号从小到大依次与读命令建立对应访问关系,使每一个读命令具有包含数据单元写入地址和子数据片写入内部体地址的二维地址信息。
4.根据权利要求2或3所述访问控制方法,其特征在于,所述对分开保存的读写命令进行统一排序得到的操作命令队列的具体过程,包括:基于相同子数据片写入内部体最小访问间隔的要求,对写命令队列和读命令队列进行重新排序得到操作命令队列。
5.根据权利要求4所述访问控制方法,其特征在于,所述基于相同子数据片写入内部体最小访问间隔的要求,对分开保存的写命令和读命令进行重新排序得到的操作命令队列,包括:
在写命令队列和读命令队列中分别按照子数据片写入内部体编号从小到大处理读命令和写命令,对取出的第一个命令直接存入操作命令队列,从第二个命令开始执行下面的步骤:
步骤一、判断前一个命令是读命令还是写命令,若前一个命令是写命令,则跳转步骤二,若前一个命令是读命令,则跳转步骤三;
步骤二、判断读命令队列中是否为空,若为空,则跳转步骤五,若不为空,则跳转步骤四;
步骤三、判断写命令队列中是否为空,若为空,则跳转步骤四,若不为空,则,跳转步骤五;
步骤四、从读命令队列中取出当前读命令访问的子数据片写入内部体编号,判断当前读命令访问的子数据片写入内部体编号是否大于前一个写命令访问的子数据片写入内部体编号,或者,前一个写命令访问的子数据片写入内部体编号与当前读命令访问的子数据片写入内部体编号之差是否大于等于2(tRC-T)/BL,BL为RLDRAM SIO存储器的突发长度,tRC为相同子数据片写入内部体地址最小访问间隔,T为一个命令周期内写命令和读命令之间的间隔,若是,则将当前读命令存入操作命令队列,否则将后一个写命令存入操作命令队列,当前读命令仍然待处理,跳转步骤一;
步骤五、从写命令队列中取出当前写命令访问的子数据片写入内部体编号,判断当前写命令访问的子数据片写入内部体编号是否大于前一个读命令访问的子数据片写入内部体编号,或者,前一个读命令访问的子数据片写入内部体编号与当前写命令访问的子数据片写入内部体编号之差是否大于等于2(tRC-T)/BL,若是,则将当前写命令存入操作命令队列,否则将后一个读命令存入操作命令队列,当前写命令仍然待处理,跳转步骤一。
6.根据权利要求1所述访问控制方法,其特征在于,所述将输入的数据包解析成子数据片的过程包括:
将输入的数据包划分为数据单元,将每个数据单元划分为与RLDRAM SIO存储器内部体数量相等的子数据片。
7.一种RLDRAM SIO存储器访问控制方法,其特征在于,包括:对输入的读命令或者写命令进行地址解析和缓存得到操作命令队列,并且,当输入的是写命令时,将输入的数据包解析成子数据片;
输出所述子数据片以及操作命令队列中的读命令或者写命令到RLDRAM SIO存储器。
8.根据权利要求7所述访问控制方法,其特征在于,所述对输入的读命令或者写命令进行地址解析和缓存得到的操作命令队列,包括:
将包含数据单元写入地址和子数据片写入内部体地址的二维地址信息依次与写命令或读命令建立对应访问关系;
将写命令及其访问的所述二维地址信息缓存入操作命令队列,或者,将读命令及其访问的所述二维地址信息缓存入操作命令队列。
9.一种RLDRAM SIO存储器访问控制装置,其特征在于,包括:
输入操作控制模块,用于对输入的读写命令和数据包进行解析和分开保存,并对保存的读写命令进行统一排序得到操作命令队列,将操作命令队列发送到缓存模块;
缓存模块,用于分别存储操作命令队列和由数据包解析得到的子数据片;
输出操作控制模块,用于输出操作命令队列中的读写命令到RLDRAM SIO存储器。
10.根据权利要求9所述访问控制装置,其特征在于,所述输入操作控制模块具体包括:
写数据包解析子模块,用于将写命令对应的输入数据包划分为数据单元,将每个数据单元划分为与RLDRAM SIO存储器内部体数量相等的子数据片;
写地址解析缓存子模块,用于将包含数据单元写入地址和子数据片写入内部体地址的二维地址信息依次分配给对子数据片的写命令,存入写命令队列;
读地址解析缓存子模块,用于将所述二维地址信息依次分配给对子数据片的读命令,存入读命令队列;
读写命令排序子模块,用于基于相同子数据片写入内部体最小访问间隔的要求,对读命令队列和写命令队列统一重新排序得到操作命令队列后输出到缓存模块。
11.根据权利要求10所述访问控制装置,其特征在于,所述缓存模块具体包括:
操作命令缓存子模块,用于保存由读写命令排序子模块统一重新排序后的操作命令队列;
写数据缓存子模块,用于保存由写数据包解析子模块划分成的所述子数据片。
12.根据权利要求9或10或11所述访问控制装置,其特征在于,所述缓存模块还包括读出数据缓存子模块,用于存储从RLDRAM SIO存储器中读出的子数据片;
该装置进一步包括输出数据模块,用于将读出数据缓存子模块中的子数据片重新组合成数据单元送出。
13.一种具有权9所述访问控制装置的RLDRAM SIO存储器系统,其特征在于,RLDRAM SIO存储器与所述访问控制装置中的输出操作控制模块相连,所述访问控制装置包括:
输入操作控制模块,用于对输入的读写命令和数据包进行解析和分开保存,并对保存的读写命令进行统一排序得到操作命令队列,将操作命令队列发送到缓存模块;
缓存模块,用于分别存储操作命令队列和由数据包解析得到的子数据片;
输出操作控制模块,用于输出操作命令队列中的读写命令到RLDRAM SIO存储器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010252679.5A CN101916227B (zh) | 2010-08-13 | 2010-08-13 | 一种rldram sio存储器访问控制方法和装置 |
PCT/CN2011/074373 WO2012019475A1 (zh) | 2010-08-13 | 2011-05-20 | 一种rldramsio访问控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010252679.5A CN101916227B (zh) | 2010-08-13 | 2010-08-13 | 一种rldram sio存储器访问控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101916227A true CN101916227A (zh) | 2010-12-15 |
CN101916227B CN101916227B (zh) | 2015-04-01 |
Family
ID=43323744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010252679.5A Active CN101916227B (zh) | 2010-08-13 | 2010-08-13 | 一种rldram sio存储器访问控制方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101916227B (zh) |
WO (1) | WO2012019475A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012019475A1 (zh) * | 2010-08-13 | 2012-02-16 | 中兴通讯股份有限公司 | 一种rldramsio访问控制方法和装置 |
CN105320494A (zh) * | 2014-07-09 | 2016-02-10 | 英特尔公司 | 带有一致的和非一致的子系统的存储器排序 |
CN105653494A (zh) * | 2014-11-12 | 2016-06-08 | 杭州华为数字技术有限公司 | 一体机 |
CN106951374A (zh) * | 2016-01-06 | 2017-07-14 | 北京忆芯科技有限公司 | 用于检查块页地址的方法及其装置 |
CN110399219A (zh) * | 2019-07-18 | 2019-11-01 | 深圳云天励飞技术有限公司 | 内存访问方法、dmc及存储介质 |
WO2020151193A1 (zh) * | 2019-01-25 | 2020-07-30 | 山东华芯半导体有限公司 | 一种基于指令的dram控制器带宽效率检测方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2517195A (en) * | 2013-08-15 | 2015-02-18 | Ibm | Computer system productivity monitoring |
CN109101185B (zh) * | 2017-06-20 | 2023-08-11 | 北京忆恒创源科技股份有限公司 | 固态存储设备及其写命令和读命令处理方法 |
CN110321260B (zh) * | 2019-06-28 | 2023-03-24 | 西安紫光国芯半导体有限公司 | 一种基于uvm的axi总线接口读写数据比较方法和uvm验证平台 |
EP3985494B1 (en) | 2020-04-01 | 2024-01-17 | Changxin Memory Technologies, Inc. | Read-write method and memory device |
CN113495671B (zh) | 2020-04-01 | 2023-10-17 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
EP3936996A4 (en) | 2020-04-01 | 2022-07-06 | Changxin Memory Technologies, Inc. | READ-WRITE METHOD AND STORAGE DEVICE |
CN113495674B (zh) | 2020-04-01 | 2023-10-10 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
EP3964940A4 (en) | 2020-04-01 | 2022-08-17 | Changxin Memory Technologies, Inc. | READ/WRITE METHOD AND STORAGE DEVICE |
CN113495672B (zh) | 2020-04-01 | 2023-08-11 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050144371A1 (en) * | 2003-12-30 | 2005-06-30 | Robert Walker | Burst mode implementation in a memory device |
CN1652251A (zh) * | 2004-02-04 | 2005-08-10 | 华为技术有限公司 | 在动态存储器中实现查表控制器的方法 |
CN1961302A (zh) * | 2004-04-28 | 2007-05-09 | 英特尔公司 | 具有命令前瞻的存储器控制器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101498994B (zh) * | 2009-02-16 | 2011-04-20 | 华中科技大学 | 一种固态硬盘控制器 |
CN101916227B (zh) * | 2010-08-13 | 2015-04-01 | 中兴通讯股份有限公司 | 一种rldram sio存储器访问控制方法和装置 |
-
2010
- 2010-08-13 CN CN201010252679.5A patent/CN101916227B/zh active Active
-
2011
- 2011-05-20 WO PCT/CN2011/074373 patent/WO2012019475A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050144371A1 (en) * | 2003-12-30 | 2005-06-30 | Robert Walker | Burst mode implementation in a memory device |
CN1652251A (zh) * | 2004-02-04 | 2005-08-10 | 华为技术有限公司 | 在动态存储器中实现查表控制器的方法 |
CN1961302A (zh) * | 2004-04-28 | 2007-05-09 | 英特尔公司 | 具有命令前瞻的存储器控制器 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012019475A1 (zh) * | 2010-08-13 | 2012-02-16 | 中兴通讯股份有限公司 | 一种rldramsio访问控制方法和装置 |
CN105320494A (zh) * | 2014-07-09 | 2016-02-10 | 英特尔公司 | 带有一致的和非一致的子系统的存储器排序 |
CN105320494B (zh) * | 2014-07-09 | 2018-10-26 | 英特尔公司 | 用于操作处理的方法、系统和设备 |
CN105653494A (zh) * | 2014-11-12 | 2016-06-08 | 杭州华为数字技术有限公司 | 一体机 |
CN105653494B (zh) * | 2014-11-12 | 2018-06-26 | 杭州华为数字技术有限公司 | 一体机 |
CN106951374A (zh) * | 2016-01-06 | 2017-07-14 | 北京忆芯科技有限公司 | 用于检查块页地址的方法及其装置 |
WO2020151193A1 (zh) * | 2019-01-25 | 2020-07-30 | 山东华芯半导体有限公司 | 一种基于指令的dram控制器带宽效率检测方法 |
CN110399219A (zh) * | 2019-07-18 | 2019-11-01 | 深圳云天励飞技术有限公司 | 内存访问方法、dmc及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101916227B (zh) | 2015-04-01 |
WO2012019475A1 (zh) | 2012-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101916227A (zh) | 一种rldram sio存储器访问控制方法和装置 | |
EP3149595B1 (en) | Systems and methods for segmenting data structures in a memory system | |
CN100578469C (zh) | 存储、查询方法及存储控制器和查询系统 | |
CN100426793C (zh) | 一种存储器的控制器及控制方法 | |
CN101246460A (zh) | 缓存数据写入系统及方法和缓存数据读取系统及方法 | |
CN101848135B (zh) | 芯片的统计数据的管理方法和装置 | |
US20110035559A1 (en) | Memory controller, memory system, semiconductor integrated circuit, and memory control method | |
CN103019974B (zh) | 存储器访问处理方法及控制器 | |
CN105912270B (zh) | 一种面向pm的访存请求解析装置与方法 | |
CN102681946A (zh) | 内存访问方法和装置 | |
CN101594299A (zh) | 基于链表的交换网络中队列缓冲管理方法 | |
US12105975B2 (en) | Adjustable access energy and access latency memory system and devices | |
CN102567241A (zh) | 存储器控制器及存储器访问控制方法 | |
US20210280226A1 (en) | Memory component with adjustable core-to-interface data rate ratio | |
CN102541782A (zh) | Dram访问控制装置与控制方法 | |
CN102541769B (zh) | 一种存储器接口访问控制方法及装置 | |
CN102543159A (zh) | 一种ddr控制器及其实现方法和芯片 | |
CN105487988B (zh) | 基于存储空间复用提高sdram总线有效访问速率的方法 | |
CN103823773B (zh) | 存储系统及其操作方法 | |
US20040130961A1 (en) | Network packet buffer allocation optimization in memory bank systems | |
CN109213745A (zh) | 一种分布式文件存储方法、装置、处理器及存储介质 | |
CN102780620B (zh) | 一种网络处理器和报文处理方法 | |
CN103425437A (zh) | 初始写入地址选择方法和装置 | |
CN100370436C (zh) | 一种提高存储器访问效率的方法及存储器控制器 | |
US9183908B2 (en) | Method and apparatus for memory access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191217 Address after: 314400 No.11, Weisan Road, Nongfa District, Chang'an Town, Haining City, Jiaxing City, Zhejiang Province Patentee after: Haining hi tech Zone Science and Innovation Center Co., Ltd Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice Patentee before: ZTE Communications Co., Ltd. |
|
TR01 | Transfer of patent right |