[发明专利]数据读取的方法和存储器控制器有效
| 申请号: | 201180001724.2 | 申请日: | 2011-08-05 |
| 公开(公告)号: | CN102378971A | 公开(公告)日: | 2012-03-14 |
| 发明(设计)人: | 程永波;贺成洪;兰可嘉 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F13/16 | 分类号: | G06F13/16 |
| 代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据 读取 方法 存储器 控制器 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种数据读取的方法和存储器控制器。
背景技术
在计算机系统中,中央处理器(Central Processing Unit,CPU)通过向存储器控制器(DDR Controler)发送数据操作指令,来读出存储器的数据或对存储器进行数据写入。所述存储器控制器会将接收到的数据操作指令放入自身的缓存队列并重新排序。其排序原则是:使访问的存储器地址接近(处于同一存储BANK或同一地址行)的数据操作指令依次排列,从而能依次执行数据读取,避免频繁切换BANK(存储区)和地址行造成的时间延迟。存储器中的数据被读出后装入数据响应报文,由所述存储器控制器发送至中央处理器的CACHE(高速缓冲存储器)中,以供中央处理器取用。
通常,中央处理器中的CACHE以一个CACHE行为单位来缓存由所述存储器控制器返回的数据。CHACHE行的容量可能与所述数据响应报文的容量不同。比如,如果中央处理器的一个CACHE行容量为128字节,而计算机系统中使用的数据响应报文只能返回64字节的数据,则中央处理器需要发送两个数据操作指令,分别要求读取128字节的前64字节和后64字节,以对应CACHE行的容量。
在实现上述技术方案的过程中,发明人发现现有技术至少存在以下问题:对应CACHE行容量的多个数据操作指令要求读取数据的存储器地址通常是连续的,在从存储器中读取数据时并不需频繁切换BANK或地址行。但实际应用中,在到达存储器控制器的缓存队列时,所述对应CACHE行容量的多个数据操作指令中可能插入了其他的数据操作指令,尤其是在由多中央处理器、多存储器级联扩展组成的高性能计算机系统中(如图1所示),不同中央处理器访问不同的存储器用时不同,并且路由方案不同,使得对应同一个CACHE行的多个连续的数据操作指令中插入其他的数据操作指令情况较为明显,这使得对应同一个CACHE行的多个数据操作指令中后到达的数据操作指令不能进入缓存队列,不能时序优化,从而使得中央处理器获取一个完整的CACHE行的数据所消耗的时间增长,降低了系统处理效率。
发明内容
本发明的实施例提供一种数据读取的方法和存储器控制器,减少了中央处理器获取一个完整CACHE行的数据所消耗的时间,提高计算机系统的数据处理效率。
为达到上述目的,本发明的实施例采用如下技术方案:
一种数据读取的方法,包括:
在接收到中央处理器发出的第一读取请求后,从存储器中读取与所述第一读取请求对应的第一数据,并继续读取与所述第一数据地址相邻的相邻数据;所述第一数据与所述相邻数据的数据量之和为中央处理器的CHACHE缓存行的容量;
缓存所述相邻数据;
根据接收到的要求读取所述相邻数据的后续读取请求,将缓存的所述相邻数据发送给所述中央处理器。
一种存储器控制器,包括:
数据读取单元,用于在接收到中央处理器发出的第一读取请求后,从存储器中读取与所述第一读取请求对应的第一数据,并继续读取与所述第一数据地址相邻的相邻数据;所述第一数据与所述相邻数据的数据量之和为中央处理器的缓存行的容量;
相邻数据缓存单元,用于缓存所述相邻数据;
相邻数据发送单元,用于根据接收到的要求读取所述相邻数据的后续读取请求,将缓存的所述相邻数据发送给所述中央处理器。
本发明实施例提供的数据读取的方法及存储器控制器,在从存储器进行数据读取时,会读取出相邻数据并进行缓存,以便在中央处理器要求读取相邻数据时直接从缓存中取出并发送给中央处理器,避免了重复的对存储器进行读操作。尤其是在由多中央处理器、多存储器级联扩展组成的高性能计算机系统中,同一中央处理器的连续多个数据操作指令在到达存储器控制器时,可能因插入了其他中央处理器的数据操作指令,而不能同时进入缓存队列以进行时序优化,在此情况下不同的中央处理器要求读取数据的地址相差很远,导致在对存储器读取时频繁切换BANK以及行和列。通过本发明实施例提供的方法,可以预先取出并缓存相邻数据,避免其他中央处理器的数据操作指令的影响,减少对存储器的频繁读取,使得同一中央处理器获取一个完整的CACHE行的数据所消耗的时间缩短,提升计算机系统数据处理效率。
附图说明
图1为多中央处理器、多存储器级联扩展组成的高性能计算机系统的示意图;
图2为本发明实施例1中一种数据读取的方法的流程图;
图3为本发明实施例2中一种数据读取的方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180001724.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:溶液制膜方法及流延装置
- 下一篇:系统消息的发送及接收方法、装置和设备
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





