实现存储器访问的方法和装置的制作方法

文档序号:6612805阅读:163来源:国知局
专利名称:实现存储器访问的方法和装置的制作方法
技术领域
本发明 一般涉及数据处理领域,并且特别涉及一种用于实现使用具有 数据预取的打开页面模式的对存储器的存储器访问的方法和装置。
背景技术
中央处理器单元(CPU)访问主存储器花费的时间对于计算机系统的 总体性能有重大影响。因为希望减少CPU从主存储器读或写字花费的时间或减少存储器等待时间,几种机制已被用于加速该数据访问过程。两种所述方法是数据预取和打开页面(open page)模式策略。数据预取试图通过在CPU实际使用存储器字之前启动对存储器字的 数据读取来緩解存储器访问的长等待时间。到目前为止,数据预取的最通 常和有效的使用发生在长数据流被CPU处理时。所述数据流的处理典型 产生可预测和长期运行的存储器寻址模式。在多数情况下,所述寻址模式 或者是相继被寻址的存储器字的长序列,或者是地址被固定距离隔开的存 储器字的序列,其中,所述固定距离也称为固定步幅。必须专用于支持预 取的资源随存储器等待时间而增加。由于任意实际系统在所述资源的数量 上有限,所以除非可以实现低存储器等待时间,否则数据预取的功效可能 减小。打开页面模式存储器也试图利用典型存储器访问模式。通过使用打开 页面策略,新近访问的存储页面被存储器控制器保持打开,这是期望将来 的存储器访问将也在同一页面被满足。因为打开的页面可以比关闭的页面 更快地,皮访问,以及存储器引用倾向于按其寻址模式进行聚类,所以所述 打开页面模式策略可以减小平均存储器等待时间
发明内容
本发明的主要方面是提供一种用于实现使用具有数据预取的打开页面 模式的对存储器的存储器访问的方法和装置。本发明的其它重要方面是, 在基本不具有任何负面效应的情况下,提供所述用于实现使用打开页面模 式的数据预取的方法和装置,其克服了当前技术安排的许多缺点。简言之, 一种用于实现使用具有数据预取的打开页面模式的对存储器 的存储器访问的方法和装置被提供。中央处理器单元发出存储器命令。接 收该存储器命令的存储器控制器识别数据预取命令。该存储器控制器检查 下一顺序行是否在当前正被访问的页面中,以及响应于识别所述下一顺序 行在当前页面中,当前命令被处理,以及对应所述识别的预取命令的当前 页面被/f呆持打开。根据本发明的特征,当对应预取命令的下一顺序行不在当前页面中时, 则对应该下一顺序^f亍的页面^皮打开,所述预取命令,皮处理,以及所迷页面 被关闭。当所接收的存储器命令不是预取命令时,当前命令被处理,以及 然后当前页面被关闭。


从下面在附图中示出的对本发明的优选实施例的详细描述中,本发明和上面以及其它目的和优点可以被最好地理解,在附图中图1是示出了用于实现根据优选实施例的使用打开页面模式的数据预取的示例性计算机系统的框图表示;图2是示出了用于实现才艮据优选实施例的使用打开页面模式的数据预取的图l的计算机系统的示例性存储器系统的框图表示;以及图3是示出了用于实现根据优选实施例的使用打开页面模式的数据预取的示例性操作的流程图。
具体实施例方式
根据本发明的特征,由于预取和打开页面模式存储器都可以利用类似 的存储器寻址模式,因此一种用于建立其两者之间的共存关系的方法被提供。 一种用于实现存储器访问的方法被提供,用于组合从CPU的数据预取和存储器中的打开页面模式,现在参考附图,在图1中示出了由参考字符100—般指定的、用于实现根据优选实施例的使用打开页面模式的数据预取的方法的示例性服务器或计算机系统。计算机系统100包括经由系统总线106耦合到优选实施 例的存储器控制器108的主处理器102或中央处理器单元(CPU) 102, 以及例如动态随扭存取存储器(DRAM) 110的系统存储器110,非易失 性随机存取存储器(NVRAM) 112和闪速存储器114。耦合到系统总线 106和MMU 108的海量存储接口 116将直接存取存储设备(DASD) 118 和CD-ROM驱动器120连接到主处理器102。计算才几系统100包括耦合到 系统总线106并连接到显示器124的显示接口 122。计算机系统100以足以理解本发明的简化形式被示出。所示出的计算 机系统100不打算暗示体系结构或功能限制。本发明可以用于各种硬件实 现和系统以及例如多个主处理器的各种其它内部硬件设备。各种商用计算机可以用作计算机系统IOO,例如IBM个人计算机,或 例如IBM System 顶服务器计算机的IBM服务器计算机。数据预取典型关联于对来自存储器的长数据流的处理,因为具有所述 存储器访问模式的程序从预取中获益最多。常规计算机系统通常包含用于 检测所述访问模式并相应地从CPU或其高速緩存的一个中启动数据预取 的硬件和软件机制。 一旦预取被启动,则所述存储器系统典型看到对连续 存储器地址或由小步幅分隔的存储器地址的预取命令的长序列。所述预取 指示存储器系统将所请求的存储器字递送到更靠近CPU的位置,从而对 同一地址的相应读或写(随需读取(demand fetch))将可以快速访问该 字。到达存储器的预取命令一般可以被支持预取的存储器控制器区别于普 通存储器加载。因为预取典型预言了可预测的顺序存储器访问模式,所以
其可以用作一种暗示,即,对随后的存储器地址的几个更多的存储器访问 可能在不久的将来发生。根据本发明的特征,存储器控制器108支持打开页面模式,并且使用 该暗示来保持^f皮预取访问的页面打开,用于地址落在同一页面中的随后的 预取。在此情况下,所述随后访问可以更迅速地递送所请求的字。这具有 两个有益效果。第一,所述字可以被更迅速地预取到靠近CPU102的其目 的地,并且因此更可能在CPU发出相应的随需读取之前到达。第二,发 出预取操作典型地一直消耗CPU资源直到该操作完成为止。当该操作被 更快速地完成时,所述资源被释放以进行其它工作,由此改进所述系统的 性能。同样参考图2,示出了由参考字符200 —般指定的、用于实现根据优 选实施例的使用打开页面模式的数据预取的计算机系统100的示例性存储 器系统。存储器系统200包括用于响应于典型由存储器控制器108生成的高级 命令信号控制存储器系统200的操作的控制逻辑202 ,其中,所述操作包 括对例如同步DRAM或(SDRAM)、双倍数据速率SDRAM (DDR SDRAM)等的系统存储器100的存储器访问。系统存储器100包括多个 存储体l-N,例如图2中所示的4个存储体。如所示,耦合到控制逻辑202 的信号包括时钟信号CLK、写使能信号WE条、行地址选通信号RAS条, 列地址选通信号CAS条,以及输出使能信号OE条,其中,所述条指示信 号是低电平有效。所述命令信号及其各自的功能是常规的。控制逻辑202耦合到第一时钟发生器204和第二时钟发生器206,其 中,行地址选通信号RAS条应用于第一时钟发生器204。控制逻辑202耦 合到数据入緩冲器208,该緩沖器耦合到数据出緩冲器210以接收数据选 择信号DQ1、 DQ2、 DQ3、 DQ4,其中,所述两个緩冲器208、 210都耦 合到读出放大器I/O选通块212,以便向或从SDRAM存储器阵列100传存储器系统200包括分别接收例如地址输入的行地址和列地址的行地 址緩冲器214和列地址缓冲器216,其中,所述地址输入如所示的地址输 入A0-A9。所述列地址緩沖器216连接到列解码器218,其中,该列解码 器解码列地址,并且经由读出放大器I/O选通逻辑块212对存储器阵列100 的存储体或阵列中的一个应用相应的信号。所述行地址緩沖器214连接到 行解码器220,其接收来自第一时钟发生器204的时钟信号。行解码器220 解码行地址,并且经由补充选择222和行选择224对存储器阵列100的存 储体或阵列中的一个应用相应的信号。由控制逻辑202控制的刷新控制器 226耦合到第一时钟发生器204。行地址由于刷新目的而由耦合到行地址緩 沖器214的刷新计数器228生成。根据本发明的特征,存储器控制器108被提供,以便基于所进行的存 储器访问的类型决定是否保持页面打开。如果所述访问是普通的随需读取, 则页面应当在该访问完成之后被关闭。如果所述访问是预取,则页面典型 应当^皮1呆持打开。在关闭模式页面策略中,存储器110经由以下的一系列步骤被访问。 当存储器控制器108从CPU接收到用于读、写或预取的地址时,存储器 控制器108识别哪个存储体包含将要访问的存储器字,并且向系统存储器 100包括的存储器110的该存储体发送激活信号。存储器控制器108然后 将所述地址拆分为两个分段。第一个分段用于构造称为行访问选通或RAS 的信号集合。第二个信号集合称为列访问选通或CAS。因为存储器110的 物理排列是存储器单元的矩形阵列,以及所述CAS和RAS可以更像数学 中的笛卡尔坐标那样^f皮用于访问所述阵列中的特定单元,所以所述两个分 段被如此命名。首先,所述RAS 4皮呈现给所述数据阵列。这打开了大小典型在16K 到64K字节的范围内的数据行或页。在几个时钟报时信号之后,CAS信 号被用于访问所述页面中感兴趣的一个或多个特定存储器字。在此时,数 据开始从所索引的存储器阵列110流入存储器緩沖器210,或者数据开始 从存储器緩沖器208流入所索引的存储器阵列110。如果所述存储器操作 是写,则所述页面可以在数据已被写入存储器之后被立即关闭。在读或预
取的情况下,所述页面可以在緩沖器已被填满之后被立即关闭。为加速一些存储器访问,系统200利用打开页面模式。该模式允许存 储器控制器108在当前请求的地址落在与前一请求相同的页面中时跳过上 述步骤中的一些步骤。即,如果在当前操作完成时页面未被关闭,则对同 一页面的随后访问不需要激活所述存储体或断言RAS信号。相反,存储器 控制器108可以立即断言CAS信号,以允许新数据流入或流出各自的存储 器緩冲器208、 210。对所有存储器访问使用打开页面模式的一个缺点是,如果被最后一个 操作保持打开的页面与当前操作的页面不同但在同一个逻辑分区或存储体 中,则在读或写命令可以开始之前必须采取两个步骤。所述存储体必须被 预充电以便关闭该存储体中的所有页面,并且正确的页面必须被激活。使 用打开页面策略的另一缺点是,其采用存储器控制器108的资源来跟踪系 统200中打开的页面。取决于特定存储体的状态、以及该特定存储体中打 开的页面(如果有的话),存储器控制器108必须发送合适的存储器命令。 如果对于存储器请求特定存储体中没有任何页面打开,则激活命令被发送 以打开所需的页面。如果所需的页面在所述存储体中已经打开,则读或写 命令被发送到该页面。以及,在对于存储器请求所述存储体中不同的页面 已打开的情况下,在通过发送激活而打开合适的页面之前所述该存储体必 须首先被预充电,以及最后读或写命令被发送。这些步骤各自花费几个存 储周期。因此,尽管打开页面模式可以对性能是有益的,但其增加了逻辑 复杂性,所述逻辑复杂性增加了面积和功率消耗。在优选实施例的存储器控制器108中,所述打开页面策略被支持,同 时限制打开页面的数量以便仅保持非常可能被再次使用的那些页面打开。根据本发明的特征,提供一种方法来预先预测页面在不久的将来是否 可能被再次访问。本发明所述的方法试图通过不同于其它存储器访问地对 待预取命令来产生所述预测。在实施对所述预取所请求的存储器字的推测 性读取之外,存储器控制器108使用该预取的地址作为包含下一个顺序被 寻址的存储器字的页面也被打开的提示。现在出现两个场景
第一,如果该字落在与前一字相同的页面内,则当前页面被保持打开, 以及对该页面的随后加载和存储均不关闭该页面。在优选实施例中,对页 面中的最后一个字的预取被用作该页面可以被关闭的信号。当存储器控制器108对地址进行散列使得相继被寻址的字落在同一页面中时,所述场景 更可能发生,如当正常打开页面模式策略就绪时的情况。第二,如果下一个顺序被寻址的字位于不同的存储页面中,则该页面 被存储器控制器108打开。在该场景中,所述页面在对该页面的随后访问 之后被关闭。当存储器控制器108对地址进行散列使得相继被寻址的存储器字落在不同页面中时,所述场景更可能发生。该类散列一般是对于祐:设计为支持关闭模式页面策略的存储器控制器的典型。同样参考图3,示出了用于实现根据优选实施例的使用打开页面模式 的数据预取的、在方框300开始的示例性操作。如方框302中所示,首先, 等待下一存储器命令被实施。如判断框304中所示,当命令被接收时,检 查该命令是否是预取命令被实施。如方框306中所示,当预取命令被识别 时,则下一顺序行的地址被计算。如判断框308中所示,然后检查所述下一行是否落在同一页面中被实 施。当该下一行落在同一页面中时,则如在方框310中所示的那样,当前 命令被处理,以及如在方框312中所示的那样,该页面被保持打开。当在判断框308确定下一行不落在同一页面中时,则如方框314中所 示,包含下一顺序行的页面被打开。然后如方框316中所示的那样,当前 命令被处理,以及如在方框318中所示的那样,对应当前命令的页面被关 闭。当在判断框304确定所述命令不是预取命令时,则在方框316当前命 令被处理,以及在方框318对应当前命令的页面被关闭。尽管已参考附图中所示的本发明的实施例的细节描述了本发明,但所 述细节并不打算限制如权利要求中所要求保护的本发明的范围。
权利要求
1.一种用于实现对存储器的存储器访问的方法,包括识别数据预取命令;检查下一顺序行是否在正被访问的当前页面中;以及响应于识别所述下一顺序行在所述当前页面中,处理当前命令,以及保持所述当前页面打开。
2. 根据权利要求l所述的用于实现存储器访问的方法,进一步包括等 待下一存储器命令。
3. 根据权利要求2所述的用于实现存储器访问的方法,进一步包括识 别随需读取命令、处理该随需读取命令和关闭当前页面。
4. 根据权利要求l所述的用于实现存储器访问的方法,进一步包括识 别所述下一顺序行不在当前页面中、打开包含所述下一顺序行的页面。
5. 根据权利要求4所述的用于实现存储器访问的方法,进一步包括处 理所述当前预取命令和关闭所述当前页面。
6. 根据权利要求l所迷的用于实现存储器访问的方法,进一步包括接 收存储器命令,以及识别写命令、处理所述写命令和关闭当前页面。
7. 根据权利要求l所述的用于实现存储器访问的方法,进一步包括接 收存储器命令,以及识别随需读取读命令、处理所述读取命令和关闭当前 页面。
8. 用于实现对存储器的存储器访问的装置,包括 发出存储器命令的中央处理器单元;接收所述存储器命令和识别数据预取命令的存储器控制器; 检查下一顺序行是否在正被访问的当前页面中的所述存储器控制器; 以及响应于识别所述下一顺序行在所述当前页面中而处理所述当前命令和 保持所述当前页面打开的所述存储器控制器。
9. 根据权利要求8所述的用于实现存储器访问的装置,进一步包括接 收下一存储器命令和检查所述接收的下一存储器命令是否是数据预取命令 的所述存储器控制器。
10. 根据权利要求9所述的用于实现存储器访问的装置,进一步包括 识别随需读取命令、处理所述随需读取命令和关闭所述当前页面的所述存 储器控制器。
11. 根据权利要求8所述的用于实现存储器访问的装置,进一步包括 识别对应当前预取命令的所述下一顺序行不在所述当前页面中和打开包含 所述下一顺序行的页面的所述存储器控制器。
12. 根据权利要求ll所述的用于实现存储器访问的装置,进一步包括 处理所述当前预取命令和关闭所述当前页面的所述存储器控制器。
全文摘要
一种方法和装置实现了使用具有数据预取的打开页面模式的对存储器的存储器访问。中央处理器单元发出存储器命令。接收所述存储器命令的存储器控制器识别数据预取命令。所述存储器控制器检查对应所识别的预取命令的下一顺序行是否在当前正被访问的页面中,以及响应于识别所述下一顺序行在所述当前页面中,所述当前命令被处理以及所述当前页面被保持打开。
文档编号G06F12/08GK101165662SQ20071016263
公开日2008年4月23日 申请日期2007年10月15日 优先权日2006年10月18日
发明者M·R·特朗布利, M·V·V·A·克里希纳, S·P·范德维尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1