存取调度器制造技术

技术编号:6007875 阅读:227 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种用于对一个或多个存储器器件(106)的存取进行调度的存取调度器(300),包括:第一层次级别(级别1),包括:一个或多个排定时器(302),被配置成当与存储器器件(106)的每排关联的FIFO队列被存取时设定该排的屏蔽位,所述FIFO队列存储与存取请求有关的请求信息;以及一个或多个第一级别仲裁器(304),被配置成选择来自多个FIFO队列中的一个FIFO队列的存取请求并且把关于所述一个FIFO队列的合格信息传播到下一层次级别;以及第四层次级别(级别4),包括:第四级别仲裁器(318),被配置成接收传播的合格信息并且基于传播的合格信息来选择请求。

【技术实现步骤摘要】

本专利技术涉及用于对用于分组缓冲的诸如一个或多个动态随机存取存储器(DRAM) 之类的一个或多个存储器器件的存取进行调度的存取调度器。本专利技术也涉及包括这种存取 调度器的存储器控制器并且涉及包括该存储器控制器的数据处理系统。
技术介绍
因为动态随机存取存储器(DRAM)的低成本和低功率,所以往往使用动态随机存取 存储器(DRAM)来实施分组缓冲器,例如排队器件。然而,DRAM由于其长的等待时间以及其 对随机存取的约束而提出挑战。DRAM被成排(bank)地组织并且DRAM的物理性质对排存取 提出限制。例如,存取参数行循环时间tRC给出对DRAM排中的行的存取和对相同DRAM排 中的另一行的连续存取之间的最小时间。另一个存取参数滚动时间帧tFAW限制时间窗口 内的行激活命令的数量,在所述滚动时间帧tFAW中可以同时进行对相同DRAM器件的最大 四行激活。行是排的一部分。在可以执行对行内的地址的读或写之前,必须激活该行。DRAM的存储器控制器接收针对DRAM的不同排的读和写请求。由于就每时间单位 的存取而言DRAM带宽往往是瓶颈,所以DRAM的存储器控制器可以重新布置读和写请求的 顺序,使得最大化存储器接口的利用。一种优化是以固定的顺序循环地存取这些排,因而确保对任一 DRAM排的两个连 续存取之间的时间大于或等于行循环时间tRC。另一种优化是重新布置读请求和写请求,使得多个读请求后面是多个写请求例 如把序列Sl = (Rl, W2, R3, W4)重新布置成S2 = (Rl, R3, W2, W4),其中R代表读,W 代表写并且数字指示其中存储器控制器接收请求的顺序。对于在对DRAM的读和写存取之 间的转向而言经常存在带宽惩罚,因此S2比Sl在更短的时间内完成。Bains的已公开美国申请US 2004/0236921 Al揭示了一种改进高速缓存数据总 线上的带宽使得可以更高效地使用诸如DRAM之类的高速缓存存储器的方法。在一个实施 例中,重新排序读或写存取以高效地利用数据总线上的带宽。Van Hook等人的美国专利US 6,564,304 Bl揭示了一种用于对图形处理系统中的 存储器进行存取的存储器处理系统,其中存储器控制器仲裁来自多个存储器请求器的存储 器存取请求。读被分组在一起并且写被分组在一起以避免模式切换。然而,例如,如果DRAM排中的地址在变成写之前被读,则诸如读和写存取之类的 存取的重新排序可能造成逻辑错误。例如,在上面提及的序列Sl = (Rl, W2, R3, W4)和 S2 = (Rl, R3, W2, W4)中,W2和R3可能存取相同的排地址。如果W2写数据结构(例如链 接表)的元素并且R3存取该数据结构的相同元素,则如果如以S2那样重新排序W2和R3, 将发生逻辑错误,原因在于这将使程序在地址被写完之前读该地址。即,重新排序将使解析 该链接表的程序使用陈旧的指针,造成程序故障。Laskshmanamurthy等人的已公开美国申请US 2007/0156946 Al揭示了一种利用 排分类(sort)和调度的存储器控制器。存储器控制器包括FIFO缓冲器、仲裁器、排FIFO集5和排调度器。来自FIFO缓冲器的输出被馈送到把存储器请求分类到适当的排FIFO中的仲 裁器中。仲裁器可以使用循环仲裁方案来分类和优先化输入请求流。排调度器接收来自排 FIFO集的输出并且循环地处理这些请求。在每个循环中,排调度器可以选择对读/写效率 进行优化的业务,例如排调度器可以对读和/或写进行分组以最小化读写周转。在US 2007/0156946 Al中,如上面所描述的逻辑错误的问题由“无序”机构解决, 该“无序”机构确保从不违反支配对相同地址的读和写的业务排序规则,即地址在其被写完 之前不能被读。US 2007/0156946 Al的存储器控制器的缺点/问题在于其未提供存储器带宽的 加权公平共享。通过把读和写存储器请求存储在相同的排FIFO中,读和写之间的共享由请 求到达过程确定而不由存储器控制器调整。进一步,US 2007/0156946 Al的存储器控制器具有确保例如在写请求之前不发出 读请求(如果这些请求是针对相同地址的话)的仲裁器。因而,尽管存在要在存储器控制器 的内部储存器中读的数据,还发出对DRAM的读请求。这意味着DRAM未被最优地利用并且 读等待时间未被最小化。而且,US 2007/0156946 Al的存储器控制器没有装置来优先化需要低等待时间的 请求,例如与控制信息有关的请求,使得它们在容忍较长等待时间的请求(例如与分组数据 有关的请求)之前被服务。
技术实现思路
本专利技术的目标是克服现有技术的问题和/或缺点。按照本专利技术,提供DRAM带宽的共享和优化。进一步,被配置成设定每一 DRAM排或 每一 DRAM器件(群组)的位屏蔽(mask)的专利技术存取调度器使存取调度器与存储器接口同步 地执行DRAM存取的开环控制,即当存取调度器发出命令序列时,保证它们以与它们由存取 调度器发出相同的速率由存储器接口执行。用于对一个或多个存储器器件的存取进行调度的专利技术存取调度器的实施例包 括一第一层次级别,包括---个或多个排定时器,被配置成当与存储器器件的每排关联的FIFO队列被存取时设定该排的屏蔽位,所述FIFO队列存储与存取请求有关的请求信息;以及---个或多个第一级别仲裁器,被配置成选择来自多个FIFO队列中的一个FIFO队列的存取请求并且把关于所述一个FIFO队列的合格(eligibility)信息传播到下一层次 级别;以及一第四层次级别,包括一一第四级别仲裁器,被配置成接收传播的合格信息并且基于传播的合格信息来选择 请求。在实施例中,第四级别仲裁器进一步被配置成基于由有限状态机生成的刷新请求 来选择请求。在实施例中,有限状态机被配置成控制在切换到第二类型的许多存取请求例如写 请求之前要执行的第一类型的存取请求例如读请求的数量。6实施例进一步包括第五层次级别,包括一第五级别仲裁器,被配置成在对第一存储器器件的存取请求和对第二存储器器件的 存取请求之间选择。实施例进一步包括一第二层次级别,包括一个或多个第二级别仲裁器,被布置成从第一级别仲裁器接收 传播的合格信息并且被配置成在低优先级请求和高优先级请求之间执行仲裁且把与选择 的请求有关的合格信息传播到下一层次级别;以及一第三层次级别,包括一个或多个第三级别仲裁器,被配置成从第二级别仲裁器接 收传播的合格信息;从管理请求单元接收管理请求,以基于传播的合格信息和管理请求来 选择请求;并且把与选择的存取请求有关的合格信息传播到下一层次级别。实施例进一步包括刷新定时器,被配置成基于存储在配置参数单元中的配置参 数来指令所述有限状态机生成刷新请求。在实施例中,刷新请求是对存储器器件的维护请求,诸如刷新存储器器件的内容 的请求。在实施例中,刷新请求被周期性地发送并且优先于其它请求。在实施例中,配置参数涉及在要执行许多写请求之前要执行的读请求的数量或者 在写之前要读的突发(burst)的数量。本专利技术也涉及一种包括专利技术存取调度器的存储器控制器。存储器控制器的实施例 进一步包括一存取缓冲器,连接到所述存取调度器且到一个或多个存储器器件并且被配置成从连 接到存储器控制器本文档来自技高网
...

【技术保护点】
1. 一种用于对一个或多个存储器器件(106)的存取进行调度的存取调度器(300),包括:-第一层次级别(级别1),包括:--一个或多个排定时器(302),被配置成当与存储器器件(106)的每排关联的FIFO队列被存取时设定该排的屏蔽位,所述FIFO队列存储与存取请求有关的请求信息;以及--一个或多个第一级别仲裁器(304),被配置成选择来自多个FIFO队列中的一个FIFO队列的存取请求并且把关于所述一个FIFO队列的合格信息传播到下一层次级别;以及-第四层次级别(级别4),包括:--第四级别仲裁器(318),被配置成接收传播的合格信息并且基于传播的合格信息来选择请求。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:V·苏科尼克S·利夫内B·维尔丁
申请(专利权)人:厄塞勒拉特公司
类型:发明
国别省市:SE

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

1