一种DDR存储器访存地址映射方法及访存地址映射单元技术

技术编号:11898262 阅读:339 留言:0更新日期:2015-08-19 09:38
本发明专利技术公开一种DDR存储器访存地址映射方法以及访存地址映射单元,该访存地址映射方法步骤包括:1)根据不同主机对DDR存储器的访问模式设置对应的地址映射规则;2)DDR存储器接入主机的访问请求后,根据主机所需的访问模式选择出对应的地址映射规则并输出:3)接入待映射访存地址并按步骤2)输出的地址映射规则执行映射;该访存地址映射单元包括映射规则设置模块、映射模式选择模块以及访存地址映射模块。本发明专利技术能够根据不同主机的访存特性进行访存地址映射,使得具有不同访存特征的主机均能够通过合适的地址映射方式实现高效的存储器访问,具有结构简单、访存地址映射灵活且高效的优点。

【技术实现步骤摘要】

本专利技术涉及DDR (Double Data Rate)存储器访存
,尤其涉及一种DDR存 储器访存地址映射方法及访存地址映射单元。
技术介绍
DDR存储器是一种采用时钟双沿工作的高速存储器,DDR的标称速率已经从DDR的 133Mbps发展到今天的DDR3-2133Mbps,更高速率的DDR4也已经开始进入工业应用。DDR存 储器与SRAM (静态随机访问存储器,Static Random Access Memory)存储器所采用的CMOS 工艺不同,DDR存储器采用DRAM动态电路工艺,多采用电容进行储值。因此,读写DDR存储 器之前必须先对数据线进行预充电,然后执行读操作;且由于读是一种破坏性读出,读后必 须写回;同时,漏流的存在使得DDR必须保持定期刷新(读出放大后再写回)。虽然读写过 程相对繁琐,但相对SRAM来讲,DRAM占用面积小,可集成度高,访问速率快,因此作为内存 被广泛使用。 为了便于拔插使用,DDR存储器通常组织成多个体(Bank),每个体是由多个行 (Row)和多个列(Column)组成的矩阵,通过Rank地址、行地址、列地址以及体地址以寻址存 储单元。DDR存储器芯片(DDR Chip)通常是通过特定的板级电路封装成DMM(模组)的形 式使用,每个DIMM上通常包含多个DDR Chip,多个DDR Chip通常又分别组织成一个或者多 个Rank,每个Rank对应一个片选信号CS#,片选信号CS#通常是由Rank地址译码得到。一 个典型4-Rank的DDR3DIMM的存储体组织结构如图1所示,整个存储体是由4个或者8个 体(Bank)组成,每一行又称为一页面(Page),DDR3DIMM就是通过Rank地址(CS#)、行地址 (RA)、列地址(CA)以及体地址(BA)来寻址存储单元,每个单元存储的数据比特数就是当前 DDR3存储体的位宽;DDR3Chip的位宽有4/8/16比特三种,而DIMM的位宽则更宽,一般常见 的有32、64比特等。 对DDR存储器进行访问时,若需要切换访问的Page,则首先必须关闭当前Page,然 后才能打开要访问的Page,而打开Page和关闭Page时,不可对当前Bank进行其他操作且 费时较长,这也正是DDR访问效率低的主要原因。例如,对于DDR3控制器,首先通过CS#、 BA、RA定位到要访问的Page,然后通过列地址CA定位要访问的存储单元,每一个Bank都包 含一个行缓冲(Row Buffer),要访问的Page必须处于行缓冲中,其中在正常读写模式下, DIMM的每一个Bank同时只能有一个Page被访问;执行访问之前,DDR控制器必须首先通过 Activate命令激活(打开)访问位置所在的Bank中对应的Page,即告诉DDR3存储器将该 Page的数据放到行缓冲中,然后通过带列地址CA的读写命令(Read/Write)去访问行缓冲 中的目标位置。由于DDR存储器采用突发访问,任何一次访问时,根据访问列地址可以确定 8个或者4个存储单元,若需要切换到当前Bank的其他P age进行访问,则控制器必须首先 通过Precharge命令控制DIMM将行缓冲中的数据写回到存储器中(即关闭当前Page),然 后才能打开要访问的Page。 为了解决上述问题以提高DDR存储器的访问效率,一种方法是尽量重复使用打开 的Page以减少Page的切换次数,然而,以DDR3存储器为例,一个64比特的DIMM的Page 容量一般为8KB或者16KB,应用程序总是不能连续重复使用高达一个Page的数据量;另一 种是采用命令调度或者虚拟打开页方式,然而命令调度非常复杂,而且由于调度窗口有限, 在多种访存属性并存情况下效率非常低,虚拟打开页也需要较大的缓冲,并且由于访存规 则的变化会引起虚拟打开页的频繁失效,因此从效率、开销以及对多种访存规则的同时支 持角度来看,这类方法都不够理想。 还有一种方法是通过在Bank体之间进行地址映射的方法,由于DDR存储器一个 Bank的Activate命令可以与其他Bank进行访问的时候提前执行,因而当命中另外一个 Bank的新请求到来的时候,所需要访问的Page已经处于打开状态,可以降低DDR存储器切 换Page带来的开销。目前这类方法均只能支持单一的映射方式,例如单一的高位交叉方式 或单一的低位交叉方式,不能满足应用程序的多样化的访问需求,因而在实际情况中还存 在页面失效的问题。特别是在多核DSP中,多个DSP核、不同的外设都是DDR存储器的主机, 通常会同时访问DDR存储器,并且具备不同访问属性需求。比如DSP Core的访问是对某地 址区域A的跳跃式访问,而DSP外设的数据导入导出的访问则是对另外一片地址B的顺序 访问;DSP CoreO执行FFT算法需要列访问,而DSP Corel执行图像算法,需要进行块处理, 且两个DSP Core访问数据的大小和方式均有所不同。在这种情况下,单一固定的地址映射 方式已无法实现"减少Page切换、且切换Page的时候切换Bank",因而无法优化DDR的访 存方式、提高DDR的访问效率。 如图2所示为采用高位交叉的地址映射方式,采用这种方式不可避免的要遭遇到 页面失效的问题;如图3所示为采用低位交叉的地址映射方式,其在切换Page的时候同 时切换Bank,可以隐藏不同Bank体之间页面关闭和激活的开销,但是,这种映射方式仅能 提供单一的地址映射数据的存放方式,当存在多样化应用程序的访问需求时往往会遭遇失 效。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一 种结构简单、访存地址映射灵活且高效的DDR存储器访存地址映射方法及访存地址映射单 元,能够根据不同主机的访存特性进行访存地址映射,使得具有不同访存特征的主机均能 够通过合适的地址映射方式实现高效的存储器访问。 为解决上述技术问题,本专利技术提出的技术方案为: 一种DDR存储器访存地址映射方法,步骤包括: 1)映射规则设置:根据不同主机对DDR存储器的访问模式设置对应的地址映射规 则; 2)映射模式选择:DDR存储器接入一个主机发送的访问请求后,根据当前主机所 需的访问模式从所述步骤1)设置得到的地址映射规则中选择出对应的地址映射规则作为 当前地址映射规则输出: 3)访存地址映射:接入待映射访存地址并按当前地址映射规则执行映射。 作为本专利技术DDR存储器访存地址映射方法的进一步改进,所述步骤3)的具体步骤 为: 3. 1)将当前地址映射规则进行译码,转换得到控制交叉开关矩阵的开关控制信 号; 3. 2)所述交叉开关矩阵接入待映射访存地址,并在所述开关控制信号的控制下将 所述待映射访存地址按当前地址映射规则执行映射。 作为本专利技术DDR存储器访存地址映射方法的进一步改进:所述步骤1)还包括为设 置得到的各地址映射规则分别分配一个用于选择匹配的的模式标识信号的步骤。 作为本专利技术DDR存储器访存地址映射方法的进一步改进,所述步骤2)的具体步骤 为: 2. 1)DDR存储器接入一个主机的访问请求后,获取当前主机发送的用当前第1页1 2 3 4 本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/CN104850501.html" title="一种DDR存储器访存地址映射方法及访存地址映射单元原文来自X技术">DDR存储器访存地址映射方法及访存地址映射单元</a>

【技术保护点】
一种DDR存储器访存地址映射方法,其特征在于,步骤包括:1)映射规则设置:根据不同主机对DDR存储器的访问模式设置对应的地址映射规则;2)映射模式选择:DDR存储器接入一个主机发送的访问请求后,根据当前主机所需的访问模式从所述步骤1)设置得到的各地址映射规则中选择出对应的地址映射规则作为当前地址映射规则输出:3)访存地址映射:接入待映射访存地址并按当前地址映射规则执行映射。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈胜刚曾思付兴飞刘胜陈海燕彭元喜陈虎
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南;43

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

1