Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ACCESS CONTROL METHOD AND DEVICE FOR REDUCED LATENCY DYNAMIC RANDOM ACCESS MEMORY WITH SEPARATE INPUT/OUTPUT (RLDRAM SIO)
Document Type and Number:
WIPO Patent Application WO/2012/019475
Kind Code:
A1
Abstract:
An access control method and device for a reduced latency dynamic random access memory with separate input/output (RLDRAM SIO) are provided. The method includes: performing address resolution for input read/write commands and storing these commands separately; ordering the separately stored read/write commands together to obtain an operation command queue, and resolving input data packets into sub-pieces of data simultaneously; and outputting the sub-pieces of data and the read/write commands in the operation command queue to the RLDRAM SIO. The device includes an input operation control module, a buffering module and an output operation control module. The solution optimizes the access addresses of read/write operations on the basis of the current IP core and rationally arranges the transmission order of the read/write commands, so as to make the read/write operations achieve an efficient use of the bandwidth and drastically improve the bandwidth utilization ratio of the RLDRAM SIO.

Inventors:
ZHANG LANJUN (CN)
Application Number:
PCT/CN2011/074373
Publication Date:
February 16, 2012
Filing Date:
May 20, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZTE CORP (CN)
ZHANG LANJUN (CN)
International Classes:
G06F12/02
Foreign References:
CN101916227A2010-12-15
CN1961302A2007-05-09
CN101498994A2009-08-05
Attorney, Agent or Firm:
CHINA PAT INTELLECTUAL PROPERTY OFFICE (CN)
北京派特恩知识产权代理事务所(普通合伙) (CN)
Download PDF:
Claims:
权利要求书

1、 一种独立输入 /输出低延时动态随机访问存储器 RLDRAM SIO访问 控制方法, 其特征在于, 包括:

对输入的读写命令进行地址解析和分开保存, 并对分开保存的读写命 令进行统一排序得到操作命令队列, 同时将输入的数据包解析成子数据片; 输出所述子数据片以及操作命令队列中的读写命令到 RLDRAM SIO。

2、 根据权利要求 1所述访问控制方法, 其特征在于, 所述对输入的读 写命令进行地址解析和分开保存的具体过程包括:

将包含数据单元写入地址和子数据片写入内部体地址的二维地址信息 依次分别与写命令和读命令建立对应访问关系;

将写命令及其访问的所述二维地址信息緩存入写命令队列, 将读命令 及其访问的所述二维地址信息緩存入读命令队列。

3、 根据权利要求 2所述访问控制方法, 其特征在于, 所述将包含数据 单元写入地址和子数据片写入内部体地址的二维地址信息依次分别与写命 令和读命令建立对应访问关系, 包括:

对于写命令, 将数据单元写入地址与写命令建立对应访问关系, 在每 个数据单元写入地址中, 再将子数据片写入内部体地址按照编号从小到大 依次与写命令建立对应访问关系, 使每一个写命令具有包含数据单元写入 地址和子数据片写入内部体地址的二维地址信息;

对于读命令, 将数据单元写入地址与读命令建立对应访问关系, 在每 个数据单元写入地址中, 再将子数据片写入内部体地址按照编号从小到大 依次与读命令建立对应访问关系, 使每一个读命令具有包含数据单元写入 地址和子数据片写入内部体地址的二维地址信息。

4、 根据权利要求 1所述访问控制方法, 其特征在于, 所述对分开保存 的读写命令进行统一排序得到的操作命令队列的具体过程, 包括:

基于相同子数据片写入内部体最小访问间隔的要求, 对写命令队列和 读命令队列进行重新排序得到操作命令队列。

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、 根据权利要求 9或 10所述访问控制装置, 其特征在于, 所述緩存 模块具体包括:

操作命令緩存子模块, 用于保存由输入操作控制模块统一重新排序后 的操作命令队列;

写数据緩存子模块, 用于保存由输入操作控制模块划分成的所述子数 据片。

12、 根据权利要求 11所述访问控制装置, 其特征在于,

所述緩存模块还包括读出数据緩存子模块, 用于存储从 RLDRAM SIO 中读出的子数据片;

该装置进一步包括输出数据模块, 用于将读出数据緩存子模块中的子 数据片重新组合成数据单元送出。

13、 一种具有权 9所述访问控制装置的 RLDRAM SIO系统, 其特征在 于, RLDRAM SIO与所述访问控制装置中的输出操作控制模块相连, 所述 访问控制装置包括:

输入操作控制模块, 用于对输入的读写命令和数据包进行解析和分开 保存, 并对保存的读写命令进行统一排序得到操作命令队列, 将操作命令 队列发送到緩存模块;

緩存模块, 用于分别存储操作命令队列和由数据包解析得到的子数据 片;

输出操作控制模块, 用于输出操作命令队列中的读写命令到 RLDRAM

SIO。

Description:
一种 RLDRAM SIO访问控制方法和装置 技术领域 本发明涉及 RLDRAM ( Reduced Latency Dynamic Random Access Memory, 低延时动态随机访问存储器 )技术, 尤其涉及一种 RLDRAM SIO (独立 I/O )访问控制方法和装置。 背景技术 当今的高速网络应用需要高带宽和高密度存储 器解决方案, 不仅要求 较高的工作速度、 而且对存储器同时进行读写操作的应用也涌现 出来。 这 对网络数据包动态緩存存储器的容量和存取速 率也提出了更高的要求。 相 比一般的 DRAM ( Dynamic Random Access Memory, 动态随机存 4诸器), 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所示, 也是在 RLDRAM SIO配置为 BL=tRC=4cycle , 子数据片写入内部体 bank个数 =8时,在每个命令周期中同时具有写命令和 读命令的情况下, 按照输入命令的原有顺序执行, 写数据线 Wdata的有效 利用率和读数据线 Rdata的有效利用率均很低。

因此,如何进一步提高 RLDRAM SIO读写效率是本领域技术人员亟待 解决的问题。 发明内容 有鉴于此, 本发明要解决的技术问题是, 提供一种 RLDRAM SIO访问 控制方法和装置, 提高 RLDRAM SIO读写操作的效率。

为解决上述技术问题, 本发明的技术方案是这样实现的:

一种 RLDRAM SIO访问控制方法, 包括: 对输入的读写命令进行地址 解析和分开保存, 并对分开保存的读写命令进行统一排序得到操 作命令队 列, 同时将输入的数据包解析成子数据片; 输出所述子数据片以及操作命 令队列中的读写命令到 RLDRAM SIO。

所述对输入的读写命令进行地址解析和分开保 存的具体过程包括: 将 包含数据单元写入地址和子数据片写入内部体 地址的二维地址信息依次分 别与写命令和读命令建立对应访问关系; 将写命令及其访问的所述二维地 址信息緩存入写命令队列, 将读命令及其访问的所述二维地址信息緩存入 读命令队列。

所述将包含数据单元写入地址和子数据片写入 内部体地址的二维地址 信息依次分别与写命令和读命令建立对应访问 关系, 包括:

对于写命令, 将数据单元写入地址与写命令建立对应访问关 系, 在每 个数据单元写入地址中, 再将子数据片写入内部体地址按照编号从小到 大 依次与写命令建立对应访问关系, 使每一个写命令具有包含数据单元写入 地址和子数据片写入内部体地址的二维地址信 息;

对于读命令, 将数据单元写入地址与读命令建立对应访问关 系, 在每 个数据单元写入地址中, 再将子数据片写入内部体地址按照编号从小到 大 依次与读命令建立对应访问关系, 使每一个读命令具有包含数据单元写入 地址和子数据片写入内部体地址的二维地址信 息。

所述对分开保存的读写命令进行统一排序得到 的操作命令队列的具体 过程, 包括: 基于相同子数据片写入内部体最小访问间隔的 要求, 对写命 令队列和读命令队列进行重新排序得到操作命 令队列。

所述基于相同子数据片写入内部体最小访问间 隔的要求, 对分开保存 的写命令和读命令进行重新排序得到的操作命 令队列, 包括:

在写命令队列和读命令队列中分别按照子数据 片写入内部体编号从小 到大处理读命令和写命令, 对取出的第一个命令直接存入操作命令队列, 从第二个命令开始执行下面的步骤:

步骤一、 判断前一个命令是读命令还是写命令, 若前一个命令是写命 令, 则跳转步骤二, 若前一个命令是读命令, 则跳转步骤三;

步骤二、 判断读命令队列中是否为空, 若为空, 则跳转步骤五, 若不 为空, 则跳转步骤四;

步骤三、 判断写命令队列中是否为空, 若为空, 则跳转步骤四, 若不 为空, 则, 跳转步骤五;

步骤四、 从读命令队列中取出当前读命令访问的子数据 片写入内部体 编号, 判断当前读命令访问的子数据片写入内部体编 号是否大于前一个写 命令访问的子数据片写入内部体编号, 或者, 前一个写命令访问的子数据 片写入内部体编号与当前读命令访问的子数据 片写入内部体编号之差是否 大于等于 2(tRC-T)/BL, BL为 RLDRAM SIO的突发长度, tRC为相同子数 据片写入内部体地址最小访问间隔, T为一个命令周期内写命令和读命令之 间的间隔, 若是, 则将当前读命令存入操作命令队列, 否则将后一个写命 令存入操作命令队列, 当前读命令仍然待处理, 跳转步骤一;

步骤五、 从写命令队列中取出当前写命令访问的子数据 片写入内部体 编号, 判断当前写命令访问的子数据片写入内部体编 号是否大于前一个读 命令访问的子数据片写入内部体编号, 或者, 前一个读命令访问的子数据 片写入内部体编号与当前写命令访问的子数据 片写入内部体编号之差是否 大于等于 2(tRC-T)/BL, 若是, 则将当前写命令存入操作命令队列, 否则将 后一个读命令存入操作命令队列, 当前写命令仍然待处理, 跳转步骤一。

所述将输入的数据包解析成子数据片的过程包 括: 将输入的数据包划 分为数据单元,将每个数据单元划分为与 RLDRAM SIO内部体数量相等的 子数据片。

对于某个时间段输入的只有读命令或者只有写 命令的情况, 虽然利用 上述 RLDRAM SIO访问控制方法已经可以达到提高 RLDRAM SIO读写操 作效率的发明目的, 但是, 本发明还提供一种专门针对只有读命令或者只 有写命令的简化的技术方案, 即,

一种 RLDRAM SIO访问控制方法, 包括: 对输入的读命令或者写命令 进行地址解析和緩存得到操作命令队列, 并且, 当输入的是写命令时, 将 输入的数据包解析成子数据片; 输出所述子数据片以及操作命令队列中的 读命令或者写命令到 RLDRAM SIO。

所述对输入的读命令或者写命令进行地址解析 和緩存得到的操作命令 队列, 包括: 将包含数据单元写入地址和子数据片写入内部 体地址的二维 地址信息依次与写命令或读命令建立对应访问 关系; 将写命令及其访问的 所述二维地址信息緩存入操作命令队列, 或者, 将读命令及其访问的所述 二维地址信息緩存入操作命令队列。

一种 RLDRAM SIO访问控制装置 , 包括:

输入操作控制模块, 用于对输入的读写命令和数据包进行解析和分 开 保存, 并对保存的读写命令进行统一排序得到操作命 令队列, 将操作命令 队列发送到緩存模块;

緩存模块, 用于分别存储操作命令队列和由数据包解析得 到的子数据 片;

输出操作控制模块, 用于输出操作命令队列中的读写命令到 RLDRAM

SIO。

所述输入操作控制模块具体包括:

写数据包解析子模块, 用于将写命令对应的输入数据包划分为数据单 元, 将每个数据单元划分为与 RLDRAM SIO内部体数量相等的子数据片; 写地址解析緩存子模块, 用于将包含数据单元写入地址和子数据片写 入内部体地址的二维地址信息依次分配给对子 数据片的写命令, 存入写命 令队列;

读地址解析緩存子模块, 用于将所述二维地址信息依次分配给对子数 据片的读命令, 存入读命令队列;

读写命令排序子模块, 用于基于相同子数据片写入内部体最小访问间 隔的要求, 对读命令队列和写命令队列统一重新排序得到 操作命令队列后 输出到緩存模块。

所述緩存模块具体包括:

操作命令緩存子模块, 用于保存由输入操作控制模块统一重新排序后 的操作命令队列;

写数据緩存子模块, 用于保存由输入操作控制模块划分成的所述子 数 据片。

所述緩存模块还包括读出数据緩存子模块, 用于存储从 RLDRAM SIO 中读出的子数据片; 该装置进一步包括输出数据模块, 用于将读出数据緩 存子模块中的子数据片重新组合成数据单元送 出。

一种具有上述访问控制装置的 RLDRAM SIO系统 , RLDRAM SIO与 所述访问控制装置中的输出操作控制模块相连 , 所述访问控制装置包括: 输入操作控制模块, 用于对输入的读写命令和数据包进行解析和分 开 保存, 并对保存的读写命令进行统一排序得到操作命 令队列, 将操作命令 队列发送到緩存模块;

緩存模块, 用于分别存储操作命令队列和由数据包解析得 到的子数据 片;

输出操作控制模块, 用于输出操作命令队列中的读写命令到 RLDRAM

SIO。

釆用上述技术方案, 本发明至少具有下列优点:

本发明所述 RLDRAM SIO访问控制方法和装置,对输入的读写命令进 行地址解析和分开保存, 并对分开保存的读写命令进行统一排序得到操 作 命令队列, 同时将输入的数据包解析成子数据片; 分别存储操作命令队列 和由数据包解析得到的子数据片; 输出子数据片以及操作命令队列中的读 写命令到 RLDRAM SIO。本发明在现有 IP核基础上对读写操作的访问地址 进行了优化, 并且合理安排读、 写命令发送顺序, 使读写操作达到带宽的 高效利用, 大幅度提高 RLDRAM SIO带宽利用率。 附图说明 图 1 为现有技术中某个时间段只有写命令的情况下 访问 RLDRAM SIO 的写数据线带宽利用率示意图;

图 2 为现有技术中某个时间段的每个命令周期中同 时有写命令和读命 令的情况下访问 RLDRAM SIO的写数据线带宽利用率示意图; 图 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个时钟周期。 BL的取值与存储器的器件性能有关, 通常不能小于 4, 且为 2

存储器内部体 bank:是 RLDRAM SIO的内部存储空间, 目前 MICRON 公司的大部分 RLDRAM SIO产品的 bank个数是 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所示, 包括如下具体步骤:

步骤 101 , 将包含数据单元写入地址 Addr和子数据片写入内部体地址 BAddr的二维地址信息依次分别与写命令和读命 建立对应访问关系。

具体的, 对于写命令, 将数据单元写入地址 Addr与写命令建立对应访 问关系,在每个数据单元写入地址中,再将子 数据片写入内部体地址 BAddr 按照 bank的编号从小到大依次与写命令建立对应访 关系, 即, 每输入一 个子数据片写命令,就为其分配一个 bank,按照 bankO~bank(n-l)循环分配, 使每一个写命令具有包含 Addr和 Bddr的二维地址信息;

同时, 将写命令对应的输入数据包划分为数据单元, 将每个数据单元 划分为与 RLDRAM SIO的 bank数量相等的子数据片, 再将该数据单元的 子数据片依次存入所有的 bank中。

对于读命令, 将数据单元写入地址 Addr与读命令建立对应访问关系, 在每个数据单元写入地址中,再将子数据片写 入内部体地址 Bddr按照 bank 的编号从小到大依次与读命令建立对应访问关 系, 即, 每输入一个子数据 片读命令, 就为其分配一个 bank, 按照 bankO~bank(n-l)循环分配, 使每一 个读命令具有包含 Addr和 BAddr的二维地址信息。 步骤 10 2 , 将写命令及其访问的二维地址信息 {Addr, BAddr}緩存入写 命令队列, 将读命令及其访问的二维地址信息 {Addr, BAddr}緩存入读命令 队列。

步骤 103 ,基于相同体最小访问时间间隔 tRC的要求,对写命令队列和 读命令队列进行重新排序得到操作命令队列。

具体的, 扫描写命令队列和读命令队列, 分别按照队列先进先出的原 则, 即按照 bank的编号从小到大处理读命令和写命令, 如图 4所示:

步骤 1 ,对取出的第一个命令直接存入操作命令队列 从第二个命令开 始执行步骤 2-步骤 6:

步骤 2、判断前一个命令是读命令还是写命令,若 一个命令是写命令, 则跳转步骤 3 , 若前一个命令是读命令, 则跳转步骤 4;

步骤 3 , 判断读命令队列中是否为空, 若为空, 则跳转步骤 6, 若不为 空, 则跳转步骤 5;

步骤 4, 判断写命令队列中是否为空, 若为空, 则跳转步骤 5 , 若不为 空, 则跳转步骤 6;

步骤 5 , 从读命令队列中取出当前读命令访问的 bank编号, 判断当前 读命令访问的 bank编号是否大于前一个写命令访问的 bank编号,或者,前 一个写命令访问的 bank编号与当前读命令访问的 bank编号之差是否大于等 于 2(tRC-T)/BL, T为一个命令周期内写命令和读命令之间的间 , 其取值 可以大于或等于 0, 若是, 则将当前读命令存入操作命令队列, 否则将后一 个写命令存入操作命令队列, 当前读命令仍然待处理。 跳转步骤 2;

步骤 6, 从写命令队列中取出当前写命令访问的 bank编号, 判断当前 写命令访问的 bank编号是否大于前一个读命令访问的 bank编号,或者,前 一个读命令访问的 bank编号与当前写命令访问的 bank编号之差是否大于等 于 2(tRC-T)/BL, 若是, 则将当前写命令存入操作命令队列, 否则将后一个 读命令存入操作命令队列, 当前写命令仍然待处理。 跳转步骤 2。

步骤 104, 按照 RLDRAM SIO访问配置要求输出子数据片以及操作命 令队列中的读写命令到 RLDRAM SIO。

这一步骤是现有技术中存储器访问控制技术已 经可以完成的, 本发明 并没有对此输出过程做改进, 因此, 只介绍一下, 本步骤判断处理的原则: 对于在一个命令周期中只输入一种操作的情况 : 距前一个命令 (BL/2-1) 个时钟周期后输出当前命令;

对于在一个命令周期输入两种操作的情况, 且两种操作命令在一个命 令周期中的间隔为 T时: 若前一个命令为写命令, 当前命令为读命令, 则 距前一个命令间隔 T后输出当前命令; 若前一个命令为读命令, 当前命令 为写命令, 则距前一个命令间隔 (BL/2-T-2)后输出当前命令。

步骤 105 , RLDRAM SIO执行写命令时, 将每个数据单元的子数据片 依次存入所有的 bank中; 在执行读命令时, 从所有 bank中取出子数据片。 最后将子数据片组合成数据单元输出。

对于某个时间段的命令周期中输入的只有读命 令或者只有写命令的情 况, 虽然利用上述第一实施例中的所述 RLDRAM SIO访问控制方法已经可 以达到提高 RLDRAM SIO读写操作效率的发明目的, 但是, 本发明还提供 一种专门针对只有读命令或者只有写命令的简 化的技术方案, 即下面记载 的第二实施例和第三实施例。

本发明第二实施例, 针对某个时间段的命令周期中输入的只有写命 令 的情况, 如图 5所示, 一种 RLDRAM SIO访问控制方法, 包括:

步骤 201 , 将包含数据单元写入地址 Addr和子数据片写入内部体地址 BAddr的二维地址信息依次与写命令建立对应访 关系。

具体的, 将数据单元写入地址 Addr与写命令建立对应访问关系, 在每 个数据单元写入地址中,再将子数据片写入内 部体地址 BAddr按照 bank的 编号从小到大依次与写命令建立对应访问关系 , 即, 每输入一个子数据片 写命令, 就为其分配一个 bank, 按照 bankO~bank(n-l)循环分配, 使每一个 写命令具有包含 Addr和 BAddr的二维地址信息;

同时, 将写命令对应的输入数据包划分为数据单元, 将每个数据单元 划分为与 RLDRAM SIO的 bank数量相等的子数据片, 再将该数据单元的 子数据片依次存入所有的 bank中。

步骤 202, 将写命令及其访问的二维地址信息 {Addr, BAddr}緩存入操 作命令队列。

步骤 203 , 按照 RLDRAM SIO访问配置要求输出子数据片以及操作命 令队列中的写命令到 RLDRAM SI0。 这一步骤是现有技术中存储器访问控制技术已 经可以完成的, 本发明 并没有对此输出过程做改进, 因此, 只介绍一下, 本步骤判断处理的原则: 距前一个写命令 (BL/2-1)个时钟周期后输出当前写命令。

步骤 204, RLDRAM SIO执行写命令时, 将每个数据单元的子数据片 依次存入所有的 bank中。

本发明第三实施例, 针对某个时间段的命令周期中输入的只有读命 令 的情况, 如图 6所示, 一种 RLDRAM SIO访问控制方法, 包括:

步骤 301 , 将包含数据单元写入地址 Addr和子数据片写入内部体地址 BAddr的二维地址信息依次与读命令建立对应访 关系。

具体的, 将数据单元写入地址 Addr与读命令建立对应访问关系, 在每 个数据单元写入地址中,再将子数据片写入内 部体地址 BAddr按照 bank的 编号从小到大依次与读命令建立对应访问关系 , 即, 每输入一个子数据片 读命令, 就为其分配一个 bank, 按照 bankO~bank(n-l)循环分配, 使每一个 读命令具有包含 Addr和 BAddr的二维地址信息。

步骤 302, 将读命令及其访问的二维地址信息 {Addr, BAddr}緩存入操 作命令队列。

步骤 303 , 按照 RLDRAM SIO访问配置要求输出子数据片以及操作命 令队列中的读命令到 RLDRAM SIO。

这一步骤是现有技术中存储器访问控制技术已 经可以完成的, 本发明 并没有对此输出过程做改进, 因此, 只介绍一下, 本步骤判断处理的原则: 距前一个读命令 (BL/2-1)个时钟周期后输出当前读命令。

步骤 304, RLDRAM SIO执行读命令时,从所有 bank中取出子数据片, 最后将子数据片组合成数据单元输出。

本发明第四实施例, 一种执行上述第一实施例中所述方法的 RLDRAM SIO访问控制装置, 如图 7所示, 包括如下组成部分:

1 )输入操作控制模块, 用于对输入的读写命令和数据包进行解析和分 开保存, 并对分开保存的读写命令进行统一排序得到操 作命令队列, 将操 作命令队列发送到緩存模块。 如图 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所示。

2 )緩存模块, 用于分别存储操作命令队列和由数据包解析得 到的子数 据片。 所述緩存模块具体包括如下子模块:

操作命令緩存子模块, 用于保存由输入操作控制模块、 具体为读写命 令排序子模块统一重新排序后的操作命令队列 ;

写数据緩存子模块, 用于保存由输入操作控制模块、 具体为写数据包 解析子模块划分成的所述子数据片;

读出数据緩存子模块, 用于存储从 RLDRAM SIO中读出的子数据片。

3 )输出操作控制模块, 用于按照 RLDRAM SIO访问配置要求输出操 作命令队列中的读写命令到 RLDRAM SIO。 输出操作控制模块完成的功能 是现有技术中存储器访问控制技术已经可以实 现的, 本发明并没有对此输 出功能做改进, 因此, 只介绍一下, 该模块判断处理的原则:

对于在一个命令周期中只输入一种操作的情况 : 距前一个命令 (BL/2-1) 个时钟周期后输出当前命令;

对于在一个命令周期输入两种操作的情况, 且两种操作命令在一个命 令周期中的间隔为 T时: 若前一个命令为写命令, 当前命令为读命令, 则 距前一个命令间隔 T后输出当前命令; 若前一个命令为读命令, 当前命令 为写命令, 则距前一个命令间隔 (BL/2-T-2)后输出当前命令。

4 )输出数据模块, 用于将读出数据緩存子模块中的子数据片重新 组合 成数据单元送出。

本发明第五实施例, 一种具有第四实施例所述访问控制装置的 RLDRAM SIO系统, 如图 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% 的效果。

通过具体实施方式的说明, 应当可对本发明为达成预定目的所釆取的 技术手段及功效得以更加深入且具体的了解, 然而所附图示仅是提供参考 与说明之用, 并非用来对本发明加以限制。