Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11604703
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-06-08 07:24:28

有效数据传输率内存技术的发展使内存系统的性能得到提高,尽管峰值速率依然是内存技术最重要的参数之一,但其它结构参数也大幅影响内存系统的性能。本文将介绍内存架构对系统性能的影响。 内存技术大多数根据其执行速度来命名。如PC100 SDRAM组件是指数据速率为100MHz的存储技术,PC133则表示数据速率为133MHz,等等。尽管这种命名的习惯随着时间发展而变化,但通常还是能为潜在买家提供关于内存执行速度的信息。事实上,今天的主流存储技术都是依照其峰值数据速率来命名的,这将继续成为评估存储系统性能的要素之一。不过,在实际系统中,没有内存能完全工作在其峰值速率下。 从写入命令转换到读取命令,在某个时间存取某个地址,以及刷新数据等作业都要求数据总线在一定时间内保持休止状态,这样就不能充分利用内存信道。此外,宽并行总线和DRAM核心预取都经常导致不必要的大数据量存取。在指定的时间段内,内存控制器能存取的有用数据称为有效数据速率,这很大程度上取决于系统的特定应用。有效数据速率随着时间而变化,常低于峰值数据速率。在某些系统中,有效数据速率可下降到峰值速率的10%以下。 浅谈内存架构对系统性能的影响(图一) 每100个周期发生两个总线转换时的有效数据速率和峰值数据速率通常,这些系统受益于那些能产生更高有效数据速率的内存技术的变化。在CPU方面存在类似的现象,最近几年诸如AMD和Transmeta等公司已经指出,在测量基于CPU的系统的性能时,频率频率不是唯一的要素。内存技术已经很成熟,峰值速率和有效数据速率或许并不比以前匹配的更好。尽管峰值速率依然是内存技术最重要的参数之一,但其它结构参数也可以大幅影响内存系统的性能。 Read.com 推出数据恢复指南教程 数据恢复指南教程 数据恢复故障解析 常用数据恢复方案 硬盘数据恢复教程 数据保护方法 数据恢复软件 专业数据恢复服务指南 影响有效数据速率的参数 有几类影响有效数据速率的参数,其一是导致数据总线进入若干周期的停止状态。在这类参数中,总线转换、行周期时间、CAS延迟以及RAS到CAS的延迟(tRCD)引发系统结构中的大部份延迟问题。 总线转换本身会在数据信道上产生非常长的停止时间。以GDDR3系统为例,该系统对内存的开放页不断写入数据。在这期间,内存系统的有效数据速率与其峰值速率相当。不过,假设100个频率周期中,内存控制器从读取转换到写入。由于这个转换需要6个频率周期,有效的数据速率下降到峰值速率的94%。在这100个频率周期中,假如内存控制器将总线从写入转换到读取的话,将会丢失更多的频率周期。这种内存技术在从写入转换到读取时需要15个空闲周期,这会将有效数据速率进一步降低到峰值速率的79%。表1显示出针几种高性能内存技术类似的运算结果。 显然,所有的内存技术并不相同。需要很多总线转换的系统设计师可以选用诸如XDR、RDRAM或者DDR2这些更高效的技术来提升性能。另一方面,假如系统能将处理事务分组成非常长的读写序列,那么总线转换对有效频宽的影响最小。不过,其它的增加延迟现象,例如库(bank)冲突会降低有效频宽,对性能产生负面影响。 DRAM技术要求库的页或行在存取之前开放。一旦开放,在一个最小周期时间,即行周期时间(tRC)结束之前,同一个库中的不同页不能开放。对内存开放库的不同页存取被称为分页遗漏,这会导致与任何tRC间隔未满足部份相关的延迟。对于还没有开放足够周期以满足tRC间隙的库而言,分页遗漏被称为库冲突。而tRC决定了库冲突延迟时间的长短,在特定的DRAM上可用的库数量直接影响库冲突产生的频率。 大多数内存技术有4个或者8个库,在数十个频率周期具有tRC值。在随机负载情况下,那些具有8个库的核心比具有4个库的核心所发生的库冲突更少。尽管tRC与库数量之间的相互影响很复杂,但是其累计影响可用多种方法量化。 内存读取事务处理 考虑三种简单的内存读取事务处理情况。第一种情况,内存控制器发出每个事务处理,该事务处理与前一个事务处理产生一个库冲突。控制器必须在打开一个页和打开后续页之间等待一个tRC时间,这样增加了与页循环相关的最大延迟时间。在这种情况下的有效数据速率很大程度上决定于I/O,并主要受限于DRAM核心电路。最大的库冲突频率将有效频宽削减到目前最高阶内存技术峰值的20%到30%。 浅谈内存架构对系统性能的影响(图二)
不同存储技术的总峰值频宽以及具有必需控制器接脚数的总线频宽在第二种情况下,每个事务处理都以随机产生的地址为目标。此时,产生库冲突的机会取决于很多因素,包括tRC和内存核心中库数量之间的相互作用。tRC值越小,开放页循环地越快,导致库冲突的损失越小。此外,内存技术具有的库越多,随机地址存取库冲突的机率就越小。 第三种情况,每个事务处理就是一次页命中,在开放页中寻址不同的列地址。控制器不必存取关闭页,答应完全利用总线,这样就得到一种理想的情况,即有效数据速率等于峰值速率。 第一种和第三种情况都涉及到简单的运算,随机情况受其它的特性影响,这些特性没有包括在DRAM或者内存接口中。内存控制器仲裁和排队会大幅改善库冲突频率,因为更有可能出现不产生冲突的事务处理,而不是那些导致库冲突的事务处理。 然而,增加内存队列深度未必增加不同内存技术之间的相对有效数据速率。例如,即使增加内存控制队列深度,XDR的有效数据速率也比GDDR3高20%。这种增量主因是XDR具有更高的库数量以及更低的tRC值。一般而言,更短的tRC间隔、更多的库数量以及更大的控制器队列能产生更高的有效频宽。 实际上,很多效率限制现象是与行存取粒度相关的问题。tRC约束本质上要求内存控制器从新开放的行中存取一定量的数据,以确保数据管线保持布满。事实上,为保持数据总线无中断地执行,在开放一个行之后,只须读取很少量的数据,即使不需要额外的数据。 另外一种减少内存系统有效频宽的主要特性被归类到列存取粒度范畴,它规定了每次读写作业必须传输的数据量。与之相反,行存取粒度规定每个行启动(一般指每个RAS的CAS作业)需要多少单独的读写作业。列存取粒度对有效数据速率具有不易于量化的巨大影响。因为它规定一个读取或写入作业中需要传输的最小数据量,列存取粒度为那些一次只需要很少数据量的系统带来了问题。如一个需要来自两列各8字节的16字节存取粒度系统,必须读取总共32字节以存取两个位置。因为只需要32个字节中的16个字节,系统的有效数据速率降低到峰值速率的50%。总线频宽和脉冲时间长度这两个结构参数规定了内存系统的存取粒度。 总线频宽是指连接内存控制器和内存之间的数据线数量。它设定最小的存取粒度,因为对于一个指定的内存事务处理,每条数据线必须至少传递一个数据位。而脉冲时间长度则规定对于指定的事务处理,每条数据线必须传递的位数量。每个事务处理中的每条数据线只传一个数据位的存储技术,其脉冲时间长度为1。总列存取粒度很简单:列存取粒度=总线宽度×脉冲时间长度。 很多系统架构仅仅透过增加DRAM组件和存储总线频宽就能增加存储系统的可用频宽。究竟,假如4个400MHz数据速率的连接可实现1.6GHz的总峰值频宽,那么8个连接将得到3.2GHz。增加一个DRAM组件,电路板上的联机以及ASIC的接脚就会增多,总峰值频宽相对倍增。 首要的是,架构师希望完全利用峰值频宽,这已经达到他们透过实体设计内存总线所能达到的最大值。具有256位甚或512位存储总线的图形控制器已并不鲜见,这种控制器需要1,000个,甚至更多的接脚。封装设计师、ASIC底层规划工程师以及电路板设计工程师不能找到采用便宜的、商业上可行的方法来对这么多讯号进行布线的硅芯片区域。仅仅增加总线宽度来获得更高的峰值数据速率,会导致因为列存取粒度限制而降低有效频宽。 假设某个特定存储技术的脉冲时间长度等于1,对于一个内存处理,512位宽系统的存取粒度为512位(或者64字节)。假如控制器只需要一小段数据,那么剩下的数据就被浪费掉,这就降低了系统的有效数据速率。如只需要存储系统32字节数据的控制器将浪费剩余的32字节,进而导致有效的数据速率等于50%的峰值速率。这些运算都假定脉冲时间长度为1。随着内存接口数据速率增加的趋势,大多数新技术的最低脉冲时间长度都大于1。 浅谈内存架构对系统性能的影响(图三) 目前主流存储技术的存取粒度和总线频宽值 QQRead.com 推出数据恢复指南教程 数据恢复指南教程 数据恢复故障解析 常用数据恢复方案 硬盘数据恢复教程 数据保护方法 数据恢复软件 专业数据恢复服务指南
  核心预取 一种称为核心预取的功能主要负责增加最小的脉冲时间长度。DRAM核心电路不能跟上I/O电路速度的速增。由于数据不能再连续地从核心中取出以确保控制器需求,核心通常为I/O提供比DRAM总线宽度更大的数据集。 本质上,核心传输足够的数据到接口电路,或者从接口电路传输足够的数据,以使接口电路保持足够长时间的繁忙状态,以便让核心预备下一个作业。如假设DRAM核心每个奈秒才能对作业响应一次。不过,接口可以支持每奈秒两位的数据速率。 DRAM核心每次作业取两个数据位,而不是一个数据位,因而不必浪费接口一半的容量。在接口传输数据之后,核心已经预备好响应下一个请求,而不需增加延迟。增加的核心预取导致最小脉冲时间长度增加为2,这将直接影响列存取粒度。 对于每个增加到总线宽度的额外讯号,内存接口将传输两个额外的数据位。因此具有最小脉冲时间长度为2的512位宽的存储系统,其存取粒度为1,024位(128字节)。很多系统对最小存取粒度的问题并不敏感,因为它们存储大量的数据。不过,某些系统依靠内存系统提供小的数据单元,并获益于更窄、更有效的内存技术。
本文小结 随着存储技术向峰值数据速率发展,有效的数据速率变的越来越重要。在选择内存时,设计师必须深入了解已公布的内存规格,并明白某个特定的技术特性将对应用设计产生怎样的影响。内存系统设计师必须超越峰值数据速率规格,就像CPU设计师不再用GHz作为唯一的性能衡量标准一样。尽管对于内存接口而言,峰值数据速率依然是最终要的性能规格,但有效的数据速率已开始为系统设计师和架构师提供更大的空间。未来产品的性能将大幅取决于其内存系统的有效利用程度。

阅读(727) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~