[发明专利]内存访问方法和内存控制器在审
申请号: | 201310260809.3 | 申请日: | 2013-06-26 |
公开(公告)号: | CN104252422A | 公开(公告)日: | 2014-12-31 |
发明(设计)人: | 张广飞;侯锐;常轶松;张柳航 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 访问 方法 控制器 | ||
技术领域
本发明涉及数据存储技术,尤其涉及一种内存访问方法和内存控制器。
背景技术
内存系统包括内存控制器和内存芯片。内存芯片包括多个列(Rank),每个列包括多个内存颗粒,内存颗粒由多个页和页对应的行缓冲构成,每个页包括多个存储单元。内存控制器根据应用程序发送的访存请求,对访存请求所指示的指定列所包括的全部的内存颗粒进行访问。
内存控制器对内存颗粒进行访问时,若所需访问的内存颗粒中的页数据已存在于该页对应的行缓冲内,即页命中,则可直接对行缓冲内的数据进行读数据或写数据操作,若该页的数据未存在于行缓冲内,即页冲突,则需要对行缓冲内的数据进行关闭页操作,再对该页的数据进行打开页操作之后,才能够对行缓冲内的数据进行读数据或写数据操作,也就是说相比较于页命中,页冲突时的内存访问效率较低。
现有的内存访问方法中,由于内存控制器在对访存请求所指示的指定列中全部的内存颗粒进行访问时,对各个内存颗粒中具有相同页地址的页进行同步的打开页和关闭页的操作,使得各个内存颗粒中的行缓冲存储了具有相同页地址的页,造成当在一个内存颗粒中出现页冲突时,必然在该列中所有的内存颗粒中均出现页冲突,提高了页冲突出现的可能性,降低了内存访问的效率。
发明内容
本发明提供一种内存访问方法和内存控制器,用于解决现有技术的内存访问过程中页冲突出现的可能性较高,内存访问的效率较低的技术问题。
第一方面是提供一种内存访问方法,包括:
接收应用程序发送的第一访存请求;所述第一访存请求用于指示所述应用程序所需访问的内存颗粒组;所述内存颗粒组包括由所述应用程序对访问带宽的需求确定的至少一个内存颗粒;
根据所述第一访存请求,对所述第一访存请求指示的所述内存颗粒组中的内存颗粒进行访问。
在第一方面的第一种可能的实现方式中,所述根据所述第一访存请求,对所述第一访存请求指示的所述内存颗粒组中的内存颗粒进行访问,包括:
从多个访存队列中,选择与所述第一访存请求指示的所述内存颗粒组的组合形式匹配的目标访存队列,将所述第一访存请求存储到所述目标访存队列中;其中,不同访存队列存储的访存请求指示不同组合形式的内存颗粒组,所述内存颗粒组的组合形式由所述内存颗粒组包含的内存颗粒的地址和所述内存颗粒组包含的内存颗粒的个数确定;
当轮询调度到所述目标访存队列中的所述第一访存请求时,根据所述第一访存请求,对所述第一访存请求指示的所述内存颗粒组中的内存颗粒进行访问。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一访存请求包括:所述至少一个内存颗粒的地址和读写属性;所述读写属性用于指示所述应用程序对所述内存颗粒组的访问属性为读操作或写操作;若所述访问属性为写操作,所述第一访存请求还包括待写的数据。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一访存请求还包括:目标存储单元的地址;所述目标存储单元为所述应用程序所需访问的所述至少一个内存颗粒中的存储单元。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述当轮询调度到所述目标访存队列中的所述第一访存请求时,根据所述第一访存请求,对所述第一访存请求指示的所述内存颗粒组中的内存颗粒进行访问,包括:
当轮询调度到所述目标访存队列中的所述第一访存请求时,根据所述第一访存请求指示的所述内存颗粒组中的内存颗粒,判断每个所述内存颗粒中的所述目标存储单元所在页对应的行缓冲内,是否存有所述目标存储单元所在页的数据;
若所述行缓冲内未存有所述目标存储单元所在页的数据,将所述行缓冲内的数据移除之后,将所述目标存储单元所在页的数据存储到所述行缓冲内,对所述行缓冲内存储的所述目标存储单元的数据进行读操作或写操作;
若所述行缓冲内存有所述目标存储单元所在页的数据,则直接对所述行缓冲内存储的所述目标存储单元的数据进行读操作或写操作。
第二方面是提供一种内存控制器,包括:
接收模块,用于接收应用程序发送的第一访存请求;所述第一访存请求用于指示所述应用程序所需访问的内存颗粒组;所述内存颗粒组包括由所述应用程序对访问带宽的需求确定的至少一个内存颗粒;
访问模块,根据所述第一访存请求,对所述第一访存请求指示的所述内存颗粒组中的内存颗粒进行访问。
在第二方面的第一种可能的实现方式中,所述访问模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310260809.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种大棚照明系统
- 下一篇:带转换开关的路灯单灯模块接线盒