首页> 中国专利> 存储器地址映射方法及存储器地址映射系统

存储器地址映射方法及存储器地址映射系统

摘要

一种存储器地址映射方法,包括步骤:按照预设地址配置模式对存储器控制模块进行配置,将内存地址进行分区并配置映射算法;所述预设地址配置模式是为不同类型主机配置不同的地址子分区;存储器获取主机的存取请求;获取所述主机的类型并根据所述主机类型获取对应的映射算法;获取上一次发出存取请求主机的类型;若与本次发出存取请求主机的类型不同,则根据所述映射算法控制存储器切换存取方式。该方法通过在存储器中增加一存储器地址映射控制,将整个存储区划分为若干子区间,利用不同主机固定访问的地址区间不同的特点,针对不同存储子区间进行个性化地址映射配置,可以提高不同主机访问效率。同时,本发明还提供一种存储器地址映射系统。

著录项

  • 公开/公告号CN104407985A

    专利类型发明专利

  • 公开/公告日2015-03-11

    原文格式PDF

  • 申请/专利权人 泰斗微电子科技有限公司;

    申请/专利号CN201410766215.4

  • 发明设计人 王名为;潘邦淦;

    申请日2014-12-15

  • 分类号G06F12/02(20060101);

  • 代理机构

  • 代理人

  • 地址 523808 广东省东莞市松山湖高新技术产业开发区总部二路17号A410-A411室

  • 入库时间 2023-12-17 04:27:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-19

    专利权质押合同登记的生效 IPC(主分类):G06F12/02 专利号:ZL2014107662154 登记号:Y2022980009607 登记生效日:20220630 出质人:泰斗微电子科技有限公司 质权人:兴业银行股份有限公司广州分行 发明名称:存储器地址映射方法及存储器地址映射系统 申请日:20141215 授权公告日:20180403

    专利权质押合同登记的生效、变更及注销

  • 2022-03-25

    专利权质押合同登记的注销 IPC(主分类):G06F12/02 授权公告日:20180403 申请日:20141215 专利号:ZL2014107662154 登记号:Y2021440000004 出质人:泰斗微电子科技有限公司 质权人:中国建设银行股份有限公司广州天河支行 解除日:20220310

    专利权质押合同登记的生效、变更及注销

  • 2019-08-27

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F12/02 变更前: 变更后: 申请日:20141215

    专利权人的姓名或者名称、地址的变更

  • 2018-05-18

    著录事项变更 IPC(主分类):G06F12/02 变更前: 变更后: 申请日:20141215

    著录事项变更

  • 2018-04-03

    授权

    授权

  • 2017-10-10

    著录事项变更 IPC(主分类):G06F12/02 变更前: 变更后: 申请日:20141215

    著录事项变更

  • 2015-04-08

    实质审查的生效 IPC(主分类):G06F12/02 申请日:20141215

    实质审查的生效

  • 2015-03-11

    公开

    公开

查看全部

说明书

技术领域

本发明涉及存储器数据处理领域,特别涉及一种存储器地址映射方法及存储器地址映射及系统。

背景技术

计算机系统通常包括一个或一个以上动态随机存取存储器(DRAM)装置,常见类型包括但不仅限于同步动态随机存储(SDRAM)和双倍速率同步动态随机存储器(DDR SDRAM)两种。在现有DRAM架构下,该装置通常由多个存储库(bank)构成,每个存储库(bank)通常又由多个存储颗粒构成。在存储库内部,采用行地址(row)和列地址(column)对存储颗粒阵列中的数据进行检索。

所有存储库(bank)共享多条存取控制信号线和多条数据信号线,不可以对多个存储库(bank)同时进行存/取操作。类似地,行地址(row)和列地址(column)共享多条地址信号线,因此存/取同一个存储库(bank)的不同行(row)数据也不可以连续操作,而是要在两次换行(row)存/取之间插入一组切换动作。这组切换动作包括,对之前操作的行(row)完成预充(precharge),对即将操作的行完成激活(active)。这组动作的操作顺序和时间间隔针对不同DRAM芯片都有相应的规定,其插入破坏了存取数据的时间连续性,降低了存取效率。值得注意的是,这种存取效率降低效应只有在发生存储库(bank)竞争时才会真正生效,下面假设两种情形,简单说明一下原理:

情形1:

存取存储库A的第10行。

存取存储库A的第18行。

情形2:

存取存储库A的第10行。

存取存储库B的第20行。

存取存储库A的第18行。

在这两种情形中,存储库A内部同样都发生了第10行到第18行的切换。情形1中,由于两次存取连续发生,对存储库A第18行的存取操作必须等待存储库A完成切换动作后才能继续,导致存取效率显著下降。而在情形2中,由于在两次存取存储库A不同行的操作之间插入了对存储库B的操作,那么存储库A中的换行切换动作可以重叠于存取存储库B第20行的同时完成,切换动作对存取效率的影响就不存在了。情形1的情况,就叫做存储库竞争。因此,存储库竞争发生的次数越多,则存取效率越低;存储库竞争发生的次数越少,则存取效率越高。

计算机系统中,对DRAM装置操作完成数据存取的装置叫主机(master)。在一个完整的计算机(或嵌入式)系统中,通常会有一个或一个以上主机(master)装置。常见的主机(master)装置包括但不仅限于中央处理单元(CPU),图形处理单元(GPU),音频处理器(APU)及直接内存存取器(DMA)。为了提高存取效率,通常将相互关联的数据依序存放在一段地址连续的存储区间里,以便上述主机采用效率最高的连续突发方式反复进行数据存取。通常,为了防止出现数据存/取竞争,在计算机系统中,不但会划分出若干地址区间供各主机独占使用,也会划分出若干地址区间用于主机之间交换数据。

发明内容

基于计算机系统中不同主机(如CPU,GPU,DMA等)访问内存的模式(方式或规律)各不相同,而现有的存储器控制模块设计中没有办法针对这种不同加以区分,使得计算机存取带宽(效率)没有得到优化分配情况,本发明提供了一种存储器地址映射方法,通过在存储器中增加一存储器地址映射控制,将整个存储区划分为若干子区间,利用不同主机固定访问的地址区间不同的特点,针对不同存储子区间进行个性化地址映射配置,可以提高不同主机访问效率。

一种存储器地址映射方法,包括步骤:按照预设地址配置模式对存储器控制模块进行配置,将内存地址进行分区并配置映射算法;所述预设地址配置模式是为不同类型主机配置不同的地址子分区;存储器获取主机的存取请求;获取所述主机的类型并根据所述主机类型获取对应的映射算法;获取上一次发出存取请求主机的类型;若与本次发出存取请求主机的类型不同,则根据所述映射算法控制存储器切换存取方式。

进一步地,若与本次发出存取请求主机的类型相同,则保持本次的存取方式。

本发明还提供一种存储器地址映射系统,包括:存储器配置模块,用于按照预设地址配置模式对存储器进行配置,将内存地址进行分区并配置映射算法;存储器信息获取模块,用于获取主机的存取请求;在通过存储器配置模块的配置映射算法信息获取所述主机类型的对应映射算法;存储器控制模块,用于获取上一次发出存取请求主机的类型;若与本次发出存取请求主机的类型不同;则根据所述对应映射算法控制存储器切换存取方式;所述预设地址配置模式是为不同类型主机配置不同的地址子分区。

进一步地,若与本次发出存取请求主机的类型相同,则保持本次的存取方式。

相较于现有技术,本发明改进了传统的存储器存取时采用单一方式的不足。根据不同的主机类型设置不同的存取方式,并根据不同主机类型访问存储器的情况,自动切换控制与该主机类型相符的存取方式,从而有效地提高不同主机访问效率。

附图说明

图1是本发明的一种存储器地址映射方法实施例的流程示意图;

图2是本发明的一种存储器地址映射系统的结构示意图。

具体实施方式

由于不同主机具有不同功能,需要访问的连续地址长度不同,访问方式也不相同。如中央处理单元(CPU)的主要功能为执行程序指令,由于循环程序大量存在,CPU对存储器装置的访问方式通常是循环地对小段连续地址区间进行存/取操作,数据量小而反复,以下将这种方式称为方式A。相对的,图形处理单元(GPU)和直接内存存取器(DMA)等装置,对存储器装置主要的访问方式是对大段连续地址区间一次性存/取,数据量大而具有一次性,以下将这种方式称为方式B。

对于中央处理单元(CPU)这一类需要循环地对小段连续地址区间进行存/取操作(方式A)的主机, 将连续地址映射到同一个存储库中, 可有效减少与其它主机的存储库竞争,继而提高存取效率。

与此相对地,对于图形处理单元(GPU)和直接内存存取器(DMA)这类需要一次性高速率地对大段连续地址区间进行存/取操作(方式B)的主机,将连续地址映射到多个不同存储库中,因为存储库(bank)竞争的减少获得存/取效率的提高。

以下结合其中的较佳实施方式对本发明方案进行详细阐述。图1中示出了本发明一种存储器地址映射方法实施例的流程示意图。

如图1所示,本实施例中的方法包括步骤:

S101:按照预设地址配置模式对存储器控制模块进行配置,将内存地址进行分区并配置映射算法;所述预设地址配置模式是为不同类型主机配置不同的地址子分区。

系统初始化:计算机系统启动后,按照启动程序(BOOT)中预设的模式对存储器控制模块进行配置,配置项目中包括为每一个内存地址子分区配置映射算法(映射关系)。具体配置方法为:利用计算机系统中不同内存地址段与不同主机之间存在的对应关系,将每个主机固定访问的地址子分区配置为最有利于该类型主机访问的映射算法。例如,根据上述说明可知,访问模式为方式A的主机访问甲映射区域效率更高,而访问模式为方式B的主机访问乙映射区域效率更高。因此,CPU(方式A的代表性主机)固定访问的子分区应该配置为甲映射,相对地,DMA(方式B的代表性主机)固定访问的子分区应该配置为乙映射。

为了更好的说明地址的配置方式,以下通过表格对子分区的结构进行说明。

表1为存储单元结构         

                                 表1

如表1中所示,大写英文字母A-H代表8个不同的行地址(row),小写英文字母a-j代表10个不同的列地址(column)。在所有列地址中,左侧10列a-j位于存储库Alpha(bank Alpha),右侧10列a-j位于另一存储库Beta(bank Beta)。每一个存储库名-大写字母-小写字母组合可用于代表存储数据的唯一物理存储颗粒,如Alpha-Aa代表位于存储颗粒阵列左上角顶格的第一个存储颗粒。存储颗粒中填满的数字0-159,代表计算机系统中的内存地址与存储颗粒的映射关系。因此,在表1方案中,如果计算机将数据存入系统内存地址134,则物理上,数据会被保存在Beta-Ge,即位于存储库Beta(bank Beta)中,由行地址G(row),列地址e(column)正交检索到的存储颗粒中。

地址存储库(bank)映射关系管理器的主要功能,就是以子区间为最小单位,对系统内存地址(以下简称地址)与物理存储颗粒的一一对应关系进行配置和管理。在表1方案中,连续地址0-159被划分成了2个子区间,包括子区间0-79(以下简称甲区间)和子区间80-159(以下简称乙区间)。注意虽然甲区间和乙区间都映射了80个地址,但映射关系是不同的,以下将甲区间的映射方式称为甲映射,乙区间的映射方式称为乙映射。

S102:存储器获取主机的存取请求;获取所述主机的类型并根据所述主机类型获取对应的映射算法;

主机通过总线向存储器发出存取请求,存储器接收请求。

存储器根据初始化阶段计算机系统配置的信息,获取请求主机类型所对应的存取地址所在子分区的映射算法(映射关系)。

S103:获取上一次发出存取请求主机的类型;若与本次发出存取请求主机的类型不同;

则根据所述映射算法控制存储器切换存取方式。

在本实施例中,定义好的主机类型所对应的存取方式是不同的,每种类型的主机在定义好的存取方式中,其存取效率有比较明显的差异;因而,在每次存取前,可以与上一次的存取进行对比,如果是不同的话,进行切换;如果相同,则继续保持当前的存取方式。

在本实施例中,第一次发出存取请求主机的类型会被系统记录并保存,以供之后的主机类型比较使用。

在实际的计算机系统中,有个多主机交替访问存储器。假设两个主机同时访问存储器。为简化说明,限定主机每次访问的起始地址均为对应子区间的最低地址(即甲区间地址0,乙区间地址80),以连续突发方式完成访问(即从起始地址开始,连续访问,每次访问地址增加1的方式)。并且,限定主机A和B(A、B分别为主机对应的不同类型)访问不重叠的存储子区间。主机A和B交替访问,每当任意主机完成长度为10的连续突发访问,必须把下一次访问权移交给另一主机,主机B最先发起访问。进行以下两项测试,比较不同地址映射方式组合的性能:

1主机A连续突发访问需求总长度M(M为10的整数倍),循环次数为X,且M*X=N;主机B连续突发访问需求总长度为N(N为10的整数倍),不做循环。统计访问成本如表2和表3所示。

2少量数据反复访问,主机A和主机B均有访问量N=M=40,访问循环100次。统计访问成本如表4所示。

表 2为访问成本统计,存储器小容量(存储库数=4,行数=8,列数=10)

表2

表3访问成本统计,存储器大容量(存储库数=4,行数=1000,列数=10)

                                表3

表4访问成本统计,少量数据反复访问(存储库数=4,行数=8,列数=10)

表4

根据上述存储器的工作状况可知,换行次数,尤其是存储库竞争次数越多,访问效率越低。又结合以上表格,可以得出两点结论:

1.使用不同方式(方式A或方式B)访问甲区间(甲映射关系的区间)或乙区间(乙映射关系的区间)时,效率有差异。

2.无论存储器容量大小或访问数据量大小,“用方式A访问甲映射区域”和“用方式B访问乙映射区域”时的存储库竞争次数最小,即效率最高。

因此,本发明通过在存储器中增加存储器地址映射控制,将整个存储区划分为若干子区间,利用不同主机固定访问的地址区间不同的特点,针对不同存储子区间进行个性化地址映射配置,可以有效提高不同主机访问效率,进而提高所有存储器的整体性能。

图2中示出了本发明的一种存储器地址映射系统的结构示意图。

一种存储器地址映射系统,包括:存储器地址配置模块,用于按照预设地址配置模式对存储器进行配置,将内存地址进行分区并配置映射算法;存储器信息获取模块,用于获取主机的存取请求;在通过存储器配置模块的配置映射算法信息获取所述主机类型的对应映射算法;存储器控制模块,用于获取上一次发出存取请求主机的类型;若与本次发出存取请求主机的类型不同;则根据所述对应映射算法控制存储器切换存取方式;所述预设地址配置模式是为不同类型主机配置不同的地址子分区。

在本实施例中,第一次发出存取请求主机的类型会被系统记录并保存,以供之后的主机类型比较使用。

若与本次发出存取请求主机的类型相同,则保持存取方式。

本系统应用了本发明实施例的方法,带来的好处与方法实施例中的内容相同,此处不再展开描述。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号