一种rldramsio存储器访问控制方法和装置的制作方法

文档序号:6607660阅读:163来源:国知局
专利名称:一种rldram sio存储器访问控制方法和装置的制作方法
技术领域
本发明涉及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所示,elk为时钟周期线,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存储器。
进一步的,所述对输入的读写命令进行地址解析和分开保存的具体过程包括将包含数据单元写入地址和子数据片写入内部体地址的二维地址信息依次分别 与写命令和读命令建立对应访问关系;将写命令及其访问的所述二维地址信息缓存入写命令队列,将读命令及其访问的 所述二维地址信息缓存入读命令队列。进一步的,所述将包含数据单元写入地址和子数据片写入内部体地址的二维地址 信息依次分别与写命令和读命令建立对应访问关系,包括对于写命令,将数据单元写入地址与写命令建立对应访问关系,在每个数据单元 写入地址中,再将子数据片写入内部体地址按照编号从小到大依次与写命令建立对应访问 关系,使每一个写命令具有包含数据单元写入地址和子数据片写入内部体地址的二维地址 fn息;对于读命令,将数据单元写入地址与读命令建立对应访问关系,在每个数据单元 写入地址中,再将子数据片写入内部体地址按照编号从小到大依次与读命令建立对应访问 关系,使每一个读命令具有包含数据单元写入地址和子数据片写入内部体地址的二维地址 fn息ο进一步的,所述对分开保存的读写命令进行统一排序得到的操作命令队列的具体 过程,包括基于相同子数据片写入内部体最小访问间隔的要求,对写命令队列和读命令队 列进行重新排序得到操作命令队列。进一步的,所述基于相同子数据片写入内部体最小访问间隔的要求,对分开保存 的写命令和读命令进行重新排序得到的操作命令队列,包括在写命令队列和读命令队列中分别按照子数据片写入内部体编号从小到大处理 读命令和写命令,对取出的第一个命令直接存入操作命令队列,从第二个命令开始执行下 面的步骤步骤一、判断前一个命令是读命令还是写命令,若前一个命令是写命令,则跳转步 骤二,若前一个命令是读命令,则跳转步骤三;步骤二、判断读命令队列中是否为空,若为空,则跳转步骤五,若不为空,则跳转步 骤四;步骤三、判断写命令队列中是否为空,若为空,则跳转步骤四,若不为空,则,跳转 步骤五;步骤四、从读命令队列中取出当前读命令访问的子数据片写入内部体编号,判断 当前读命令访问的子数据片写入内部体编号是否大于前一个写命令访问的子数据片写入 内部体编号,或者,前一个写命令访问的子数据片写入内部体编号与当前读命令访问的子 数据片写入内部体编号之差是否大于等于2(tRC-T)/BL,T为一个命令周期内写命令和读 命令之间的间隔,若是,则将当前读命令存入操作命令队列,否则将后一个写命令存入操作 命令队列,当前读命令仍然待处理,跳转步骤一;步骤五、从写命令队列中取出当前写命令访问的子数据片写入内部体编号,判断 当前写命令访问的子数据片写入内部体编号是否大于前一个读命令访问的子数据片写入 内部体编号,或者,前一个读命令访问的子数据片写入内部体编号与当前写命令访问的子 数据片写入内部体编号之差是否大于等于2 (tRC-T)/BL,若是,则将当前写命令存入操作命
6令队列,否则将后一个读命令存入操作命令队列,当前写命令仍然待处理,跳转步骤一。进一步的,所述将输入的数据包解析成子数据片的过程包括将输入的数据包划分为数据单元,将每个数据单元划分为与RLDRAM SIO存储器内 部体数量相等的子数据片。对于某个时间段输入的只有读命令或者只有写命令的情况,虽然利用上述RLDRAM SIO存储器访问控制方法已经可以达到提高RLDRAM SIO存储器读写操作效率的发明目的, 但是,本发明还提供一种专门针对只有读命令或者只有写命令的简化的技术方案,即,一种RLDRAM SIO存储器访问控制方法,包括对输入的读命令或者写命令进行地址解析和缓存得到操作命令队列,并且,当输 入的是写命令时,将输入的数据包解析成子数据片;输出所述子数据片以及操作命令队列中的读命令或者写命令到RLDRAMSI0存储
ο所述对输入的读命令或者写命令进行地址解析和缓存得到的操作命令队列,包 括将包含数据单元写入地址和子数据片写入内部体地址的二维地址信息依次与写 命令或读命令建立对应访问关系;将写命令及其访问的所述二维地址信息缓存入操作命令队列,或者,将读命令及 其访问的所述二维地址信息缓存入操作命令队列。本发明还提供一种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中。本发明 进一步提出将数据单元写入时将其划分为η个子数据片分别存入地址相同的各个子数据 片写入内部体bank中,η为存储器中bank的总个数。如果数据单元写入地址为ADDR,那么 划分它所得到的η个子数据片对应的二维地址为{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,按照 bankO bank (n-1)循环分配,使每一个写命令具有包含ADDR和BADDR的二维地址信息;同时,将写命令对应的输入数据包划分为数据单元,将每个数据单元划分为与 RLDRAM SIO存储器的bank数量相等的子数据片,再将该数据单元的子数据片依次存入所 有的bank中。对于读命令,将数据单元写入地址ADDR与读命令建立对应访问关系,在每个数 据单元写入地址中,再将子数据片写入内部体地址BADDR按照bank的编号从小到大依次 与读命令建立对应访问关系,即,每输入一个子数据片读命令,就为其分配一个bank,按照 bankO bank (n-1)循环分配,使每一个读命令具有包含ADDR和BADDR的二维地址信息。步骤S102,将写命令及其访问的二维地址信息{ADDR,BADDR}缓存入写命令队列, 将读命令及其访问的二维地址信息{ADDR,BADDR}缓存入读命令队列。步骤S103,基于相同体最小访问时间间隔tRC的要求,对写命令队列和读命令队 列进行重新排序得到操作命令队列,具体的,
9
扫描写命令队列和读命令队列,分别按照队列先进先出的原则,即按照bank的编 号从小到大处理读命令和写命令,如图4所示步骤Si,对取出的第一个命令直接存入操作命令队列,从第二个命令开始执行步 骤 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,按照bankO bank(n-l)循环分配,使每一个写命令具有包含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,按照bankO bank(n-l)循环分配,使每一个读命令具有包含Addr和BAddr的二维地址信息。步骤S302,将读命令及其访问的二维地址信息{Addr,BAddr}缓存入操作命令队 列。步骤S303,按照RLDRAM SIO存储器访问配置要求输出子数据片以及操作命令队 列中的读命令到RLDRAM SIO存储器,这一步骤是现有技术中存储器访问控制技术已经可以 完成的,本发明并没有对此输出过程做改进,因此,只介绍一下,本步骤判断处理的原则距 前一个命令(BL/2-1)个时钟周期后输出当前命令。步骤S304,RLDRAM SIO存储器执行读命令时,从所有bank中取出子数据片,最后 将子数据片组合成数据单元输出。本发明第四实施例,一种执行上述第一实施例中所述方法的RLDRAM SIO存储器访 问控制装置,如图7所示,包括如下组成部分1)输入操作控制模块,用于对输入的读写命令和数据包进行解析和分开保存,并 对分开保存的读写命令进行统一排序得到操作命令队列,将操作命令队列发送到缓存模
11块。如图8所示,所述输入操作控制模块具体包括如下子模块写数据包解析子模块,用于将写命令对应的输入数据包划分为数据单元,将每个 数据单元划分为与RLDRAM SIO存储器内部体数量相等的子数据片,用于依次存入存储器的 所有内部体bank中;写地址解析缓存子模块,用于将包含数据单元写入地址Addr和子数据片写入内 部体地址BAddr的二维地址信息依次分配给对子数据片的写命令,存入写命令队列。具体 过程是将数据单元写入地址Addr与写命令建立对应访问关系,在每个数据单元写入地址 中,再将子数据片写入内部体地址BAddr按照bank的编号从小到大依次与写命令建立对应 访问关系,即,每输入一个子数据片写命令,就为其分配一个bank,按照bankO bank(n-l) 循环分配,使每一个写命令具有包含Addr和BAddr的二维地址信息,将写命令及其访问的 二维地址信息{Addr,BAddr}缓存入写命令队列。读地址解析缓存子模块,用于将所述二维地址信息依次分配给对子数据片的读命 令,存入读命令队列。具体过程是将数据单元写入地址Addr与读命令建立对应访问关 系,在每个数据单元写入地址中,再将子数据片写入内部体地址BAddr按照bank的编号从 小到大依次与读命令建立对应访问关系,即,每输入一个子数据片读命令,就为其分配一个 bank,按照bankO bank(n-l)循环分配,使每一个读命令具有包含Addr和BAddr的二维 地址信息。将读命令及其访问的二维地址信息{Addr,BAddr}缓存入读命令队列。读写命令排序子模块,用于基于相同体最小访问时间间隔tRC的要求,对读命令 队列和写命令队列统一重新排序得到操作命令队列后输出到缓存模块。具体过程如图4所
7J\ ο2)缓存模块,用于分别存储操作命令队列和由数据包解析得到的子数据片。所述 缓存模块具体包括如下子模块操作命令缓存子模块,用于保存由读写命令排序子模块统一重新排序后的操作命 令队列;写数据缓存子模块,用于保存由写数据包解析子模块划分成的所述子数据片;读出数据缓存子模块,用于存储从RLDRAM SIO存储器中读出的子数据片。3)输出操作控制模块,用于按照RLDRAM SIO存储器访问配置要求输出操作命令 队列中的读写命令到RLDRAM SIO存储器。输出操作控制模块完成的功能是现有技术中存储 器访问控制技术已经可以实现的,本发明并没有对此输出功能做改进,因此,只介绍一下, 该模块判断处理的原则对于在一个命令周期中只输入一种操作的情况距前一个命令(BL/2-1)个时钟周期后输出当前命令;对于在一个命令周期输入两种操作的情况,且两种操作命令在一个命令周期中的 间隔为T时若前一个命令为写命令,当前命令为读命令,则距前一个命令间隔T后输出当前 命令;若前一个命令为读命令,当前命令为写命令,则距前一个命令间隔(BL/2-T-2)后 输出当前命令。4)输出数据模块,用于将读出数据缓存子模块中的子数据片重新组合成数据单元送出。本发明第五实施例,一种具有第四实施例所述访问控制装置的RLDRAMSI0存储器 系统,如图9所示,RLDRAM SIO存储器与所述访问控制装置中的输出操作控制模块相连,所 述访问控制装置包括输入操作控制模块,用于对输入的读写命令和数据包进行解析和分开保存,并对 分开保存的读写命令进行统一排序得到操作命令队列,将操作命令队列发送到缓存模块;缓存模块,用于分别存储操作命令队列和由数据包解析得到的子数据片;输出操作控制模块,用于按照RLDRAM SIO存储器访问配置要求输出操作命令队列 中的读写命令到RLDRAM SIO存储器。需要说明的是,本发明具体实施例对读写操作存取地址优化的过程中,均是将子 数据片写入内部体地址BAddr按照bank的编号从小到大依次与读命令或者写命令建立对 应访问关系,但是本领域技术人员完全可以根据上述记载显而易见的推出按照bank的编 号从大到小或者基于其他的bank编号规则分配bank地址的方法,以及后续配合该存取地 址优化方法实施原理与本发明技术方案相同的操作命令优化排序过程,这些基于本发明原 理思想的技术方案均在本发明的保护范围之内。下面通过

采用本发明所述方法和装置对RLDRAM SIO存储器访问控制后, 读数据线和写数据线有效带宽利用率的情况图10为命令周期中只有写命令的情况下写数据线有效带宽利用情况,工作条件 为bank个数=8,BL = 4,tRC为4个时钟周期,图中elk表示时钟周期,cmd表示输出操 作模块输出的操作命令,Wdata表示写数据线的利用情况。由于本发明对写命令按照bank 编号从小到大分配了子数据片写入内部体地址BAddr,在现有输出操作控制下完全可以达 到写数据线有效带宽利用100%的效果。图11为一个命令周期中写命令和读命令的情况下读写数据线有效带宽利用情 况,工作条件为bank个数=8,BL = 4,tRC为4个时钟周期。由于本发明对写命令和读命 令的子数据片写入内部体地址BAddr进行了优化,并且对写命令队列和读命令队列中的操 作统一进行了重新优化排序,在现有输出操作控制下完全可以达到写数据线和读数据线有 效带宽利用100%的效果。通过具体实施方式
的说明,应当可对本发明为达成预定目的所采取的技术手段及 功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本 发明加以限制。
权利要求
一种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存储器。
全文摘要
本发明公开了一种RLDRAM SIO存储器访问控制方法和装置,对输入的读写命令进行地址解析和分开保存,并对分开保存的读写命令进行统一排序得到操作命令队列,同时将输入的数据包解析成子数据片;输出子数据片以及操作命令队列中的读写命令到RLDRAM SIO存储器。该装置包括输入操作控制模块、缓存模块和输出操作控制模块。本发明在现有IP核基础上对读写操作的访问地址进行了优化,并且合理安排存储器的读、写命令发送顺序,使读写操作达到带宽的高效利用,大幅度提高RLDRAM SIO存储器带宽利用率。
文档编号G06F12/02GK101916227SQ201010252679
公开日2010年12月15日 申请日期2010年8月13日 优先权日2010年8月13日
发明者张兰君 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1