当前位置: 首页 > 专利查询>英特尔公司专利>正文

具有命令前瞻的存储器控制器制造技术

技术编号:2842758 阅读:171 留言:0更新日期:2012-04-11 18:40
一般地,在一个方面,本公开描述了从多个存储器访问命令队列中的一个访问多个存储器访问命令,所述多个存储器访问命令队列与随机访问存储器(RAM)的分别的区块相关联,以及至少部分地基于由所述命令标识的存储器访问操作和之前被选择的存储器访问命令的存储器访问操作,选择所述命令中的一个。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的引用本文与在2004年3月10日递交、标题为“Command Scheduling forDual Data Rate Two(DDR2)Memory Devices(用于双倍数据速率2(DDR2)存储器设备的命令调度)”的同时待审定美国专利申请No.10/798,600有关。背景许多电子设备使用被称为随机访问存储器(RAM)的存储器来储存数据。各种RAM体系结构已经被开发出来。一般地,这些体系结构以标识正被访问的存储器地址的地址总线和传送正被写到存储器或正从存储器被读取的数据的数据总线为特征。一些RAM体系结构以这样的双向数据总线为特征,所述双向数据总线可以基于数据是正被读还是正被写来改变方向。切换该总线的方向可能花费少量但却具有实际意义的时间。为了避免与切换总线方向相关联的时间损失(penalty),其他RAM体系结构以多总线为特征。例如,存储器可以以读数据总线和分离的写总线为特征,所述读总线传送从存储器获取的数据,所述写总线传送正被写的数据。附图简要说明附图说明图1A-1C图示存储器控制器的操作。图2是图示存储器控制器操作的表。图3是存储器控制器操作的流程图。图4是存储器控制器图。图5是多引擎处理器图。图6是网络转发设备图。详细说明图1A示出接收用于随机访问存储器(RAM)112的存储器访问命令的存储器控制器100。这些命令包括指定要读取的存储器112地址的读命令和指定要被写的地址和数据两者的写命令。潜在地,在给定时间段内,控制器100可以接收比RAM 112可以响应的命令要多的命令。因此,控制器100以队列104a-104n的集合为特征,所述队列104a-104n缓冲接收到的命令,直到所述命令可以被RAM 112服务。如图所示,RAM 112在不同的内部存储区块(bank)114a-114n之间划分储存空间。对于RAM 112的每一个区块114a-114n,控制器100维护分别的队列104a-104n。一旦接收到命令,控制器100电路102(例如基于该命令的地址)将该命令添加到适当的队列104a-104n的末尾。如图所示,控制器100包括电路110,所述电路110“消耗(drain)”命令队列114a-114n,并且发起RAM 112中的对应的操作。例如,如图1B中示出的,电路110从队列104a“弹出”读命令106a(被标记为“R”),并且发起对应的RAM 112的读操作。响应于此,RAM 112可以将读数据(未示出)返回到存储器控制器100,所述存储器控制器100又可以将所述读数据返回到曾发射该读命令的任何实体。RAM 112对给定操作的响应时间依赖于RAM 112的体系结构和被进行的操作序列两者。例如,由于切换数据总线的方向所花费的时间,以双向总线为特征的RAM 112(例如双倍数据速率II(DDRII)同步动态随机访问存储器(SDRAM)存储器芯片或缩短延时动态随机访问存储器(RLDRAM)公共I/O(CIO)存储器芯片)可以惩罚(penalize)紧跟写的读操作。类似地,通过利用读和写总线两者的交替的读和写操作,以双总线为特征的RAM 112(例如缩短延时动态随机访问存储器(RLDRAM)分离输入/输出(SIO)存储器芯片)可以被更高效地使用。如图1C中示出的,控制器100电路110可以访问队列104b的顶部的两个命令106b-106c,并且选择可以更好地利用RAM 112能力的命令,而不是严格地基于队列中命令的顺序来处理所述命令。例如,如图所示,如果之前的RAM 112操作是读(在图1B中的106a),并且RAM 112体系结构惩罚读之后的写,那么即使写命令106b排在读命令106c之前,控制器110仍可以选择读命令106c,并且发起对应的存储器112操作。通过“查看”多个命令,控制器100增加了找到可以提高存储器112吞吐量的命令的机会。对于一些RAM 112,控制器100用来选择命令的短暂的时间量可以被隐藏在另外被花费来等待RAM 112的时段(例如对同一区块的连续激活操作之间的最短时间)中。通常,存储器控制器100保证读操作反映之前的写操作。例如,在图1C中,如果写命令106b要用值“y”覆写(overwrite)在给定地址的值“x”,并且读命令106c要读同一地址,那么在排在前面的命令106b之前选择命令106c将错误地导致命令106c读值“x”。为了避免这种情形,控制器100可以比较正被考虑以进行选择的命令的地址。例如,如果命令106b和106c两者指定了同一地址,控制器100可以基于队列顺序来选择命令106b以保持数据完整性。潜在地,命令可能指定不同的、但会导致对存储器112的重叠部分访问的地址。例如,命令106b可以从地址“1”开始写8字节数据,而命令106c从地址“5”开始读8字节数据。因此,两个命令都访问字节“5”到“8”。为了避免这样的命令106b-106c的乱序(out-of-order)执行,由控制器100进行的地址比较可以基于地址位的子集(例如最高的N位),而不是基于针对以完全一致的方式来匹配地址的测试。图1A-1C中示出的控制器100仅仅是实施例,并且各种变化是可能的。例如,控制器100可以从队列的前N个命令中选择,而不是从给定队列104a-104n的前两个命令中选择。此外,示范性的控制器100是基于命令所请求的访问类型来选择命令的。然而,控制器100还可以基于其他考虑、依赖于RAM 112体系结构来进行选择。此外,尽管图1A-1C图示了队列104a-104n和区块114a之间严格的一一对应,但在其他实现中,给定队列可以缓冲针对多于一个区块的命令,并且给定区块可以由多于一个队列来馈入。图2示出了图示示范性控制器100的逻辑的表。所述表标识由存储器的控制器做出的不同的命令选择,所述存储器以读后写和写后读损失为特征。如图所示,如果队列以单个命令为特征(120),那么所述单个命令被选择。如果不同命令影响重叠的地址(122),那么控制器可以选择更早被排队的命令。如在表中示出的,对于读紧跟读(124)或写紧跟写(128),控制器100可以选择更早被排队的命令。在控制器100具有不同类型的命令要从中选择的情况(126-130)下,控制器100可以选择这样的命令,所述命令请求与之前被选择的命令(例如,最近被发射到存储器或被添加到存储器命令调度计划(schedule)以进行发射的一个命令)相同的访问类型。再次重申,示出的表仅仅是实施例,并且其他控制器可以实现不同逻辑。例如,对于惩罚写后写或读后读序列的存储器112,控制器112可以改为选择这样的命令,所述命令请求与之前被选择的存储器112操作不同的访问类型。此外,控制器100可以改为在必要时(例如读紧跟写时)进行地址比较,而不是总是进行该比较。此外,在一些情况下,命令的选择可以是任意的。例如,在图2中的所述表反映出,当评估一对读命令时(122),选择了更早接收的读命令。存储器112进行这些读操作的顺序不影响所储存的数据。因此,可以选择第二命令而不是第一命令,而不会有不利影响。图3示出控制器100的操作的示范性流程图。如图所示,控制器100选择(150)要服务的队列。例如,控制器100可以进行依次本文档来自技高网...

【技术保护点】
一种方法,包括:从多个存储器访问命令队列中的一个访问多个存储器访问命令,所述多个存储器访问命令队列与随机访问存储器(RAM)的分别的区块相关联;至少部分地基于由所述多个存储器访问命令标识的存储器访问操作和之前被选择的存储器访问命令的存储器访问操作,选择所述多个存储器访问命令中的一个。

【技术特征摘要】
【国外来华专利技术】US 2004-4-28 10/834,5971.一种方法,包括从多个存储器访问命令队列中的一个访问多个存储器访问命令,所述多个存储器访问命令队列与随机访问存储器(RAM)的分别的区块相关联;至少部分地基于由所述多个存储器访问命令标识的存储器访问操作和之前被选择的存储器访问命令的存储器访问操作,选择所述多个存储器访问命令中的一个。2.如权利要求1所述的方法,其中,选择所述多个存储器访问命令中的所述一个的操作包括如果所述之前被选择的存储器访问命令是读操作时选择请求读操作的存储器访问命令。3.如权利要求2所述的方法,其中所述随机访问存储器包括选自由以下组成的组中的一种双倍数据速率动态随机访问存储器(DDRDRAM)和缩短延时动态随机访问存储器(RLDRAM)公共I/O(CIO)。4.如权利要求1所述的方法,其中,选择所述多个存储器访问命令中的所述一个的操作包括如果所述之前被发射的存储器访问命令是读操作时选择请求写操作的存储器访问命令。5.如权利要求4所述的方法,其中所述随机访问存储器包括缩短延时动态随机访问存储器(RLDRAM)分离I/O(SIO)。6.如权利要求1所述的方法,还包括基于所述被选择的命令来发起存储器访问操作。7.如权利要求1所述的方法,还包括,比较所述多个存储器访问命令的地址的至少一部分。8.如权利要求1所述的方法,其中所述多个存储器访问命令包括两个命令。9.如权利要求1所述的方法,还包括对所述队列的轮转服务。10.一种设备,包括总线接口;随机访问存储器接口;以及电路,所述电路用于从多个存储器访问命令队列中的一个访问多个存储器访问命令,所述多个存储器访问命令队列与随机访问存储器(RAM)的分别的区块相关联;至少部分地基于由所述多个存储器访问命令标识的存储器访问操作和之前被选择的存储器访问命令的存储器访问操作,选择所述多个存储器访问命令中的一个。11.如权利要求10所述的设备,其中,选择所述多个存储器访问命令中的所述一个的所述电路包括如果所述之前被选择的存储器访问命令是读操作时选择请求读操作的存储器访问命令的电路。12.如权利要求11所述的设备,其中所述随机访问存储器包括选自由以下组成的组中的一种双倍数据速率动态随机访问存储器(DDRDRAM)和缩短延时动态随机访问存储器(RLDRAM)公共I/O(CIO)。13.如权利要求10所述的设备,其中,选择所述多个存储器访问命令中的所述一个的所述电路包括如果所述之前被选择的存储器访问命令是读操作时选择请求写操作的存储器访问命令的电路。14.如权利要求13所述的设备,其中所述随机访问存储器包括缩短延时动态随机访问存储器(RLDRAM)分离I/O(SIO)。15.如权利要求10所述的设备,还包括基于所述被选择的命令来发起存储器访问操作。16.如权利要求10所述的设备,其中所述电路还包括进行以下操作的电路比较所述存储器访问命令的地址的至少一部分。17.如权利要求10所述的设备,其中所述多个存储器访问命令包括两个命令。18.如权利要求10所述的设备,其中所述总线接口包括到被集成在单个集成管芯上的多个可编程多线程引擎共享的总线的接口。19.一种被设置在计算机可读介质上的计算机程序产品,所述程序包括指令,所述指令导致处理器从多个存储器访问命令队列中的一个访问多个存储器访问命令,所述多个存储器访问命令队列与随机访问存储器(RAM)的分别的区块相关联;至少部分地基于由所述多个存储器访问命令标识的存储器访问操作和之前被发射的存储器访问命令的存储器访问操作...

【专利技术属性】
技术研发人员:罗伊特纳塔拉詹黛布拉伯恩斯坦吉尔伯特沃尔里奇CM林
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1