电脑功能持续提升,除了系统汇流排频率大幅增加外,对内存资料存取速度的需求也同步扩大,如同硬盘接口由并行转为串行,运用串行技术的FB-DIMM(Fully
Buffered-DIMM)内存架构也将成熟,为硬件技术开创进一步发展的空 间。
由Intel在2004年提出的FB-DIMM,是一种可提升内存存取效率的串行式内存模组架构,JEDEC已在今年5月4日正式通过1.0版FB-DIMM标准,Intel也将在今年把它正式导入伺服器平台架构中;虽然AMD要到2008年才支持FB-DIMM,但这个技术无疑已成为产业趋势方向。尽管距离成为主流还有待时间考验,但随着处理器效能不断提升,内存技术确实也到了需要调整的时候。 Infineon FB-DIMM模组 现有内存模组架构的瓶颈 传统上,我们使用的内存是并行式汇流排形式,这种接法具有直观上的优点,在物理可接受的范围内,若不考虑导线上的阻抗、电容和电感效应,并行式汇流排由于同时将所需信号一起传递,拥有单位时间内较大传输率。 并行式内存系统架构能支持的容量有限 不过,现实世界中信号的传递有各种阻抗和干扰问题存在,传输速度愈快或单位面积上传输的资料线愈密时,导线的阻抗也愈大、电磁及耦合干扰等问题也愈严重。另外,在高速传输时因阻抗造成的信号迟滞与同步问题,使得内存模组在传输时必须加入额外延迟,以确保每个资料周期的信号都能完整。也就是说,若每次存取都是64bit,先完成传输的位元就要稍等一下,等其他资料都到达后才进行下一笔资料传输。 为了让每个位元传输的时间尽可能接近,所以每条导线长度都要相同,这是我们看到主板上线路布局弯弯曲曲的原因所在。物理问题也同样限制了传统并行内存模组与芯片组间的导线长度,和系统最多可容纳的内存模组数目。若进一步考虑增加通道数以扩充资料频宽,则线路数量倍数增加,不仅相关问题愈趋严重,庞大的线路数也带来电路板成本和体积过大的缺点。 简单地说,在同样制程的印刷电路板上,若并行式内存速度愈快,则导线在主板上的线路就必须缩短,可支持内存模组数目会变少,例如,DDR2内存每个通道能支持的模组仅为2组。种种物理限制都让并行内存传输难以继续发展。
FB-DIMM的特色 顾名思义,FB-DIMM是一种透过缓冲存取的内存模组架构,它使用现有DDR2内存芯片,模组规格也和传统DIMM相似,产业可在冲击最小的情况下导入新技术规格。使用FB-DIMM的最大利益,在于它可提供更大内存容量、更快存取速度和更高的内存使用效率;当然,在达到同样利益提升的前题下,FB-DIMM也是目前成本最低的解决方案。 FB-DIMM内存系统架构示意 FB-DIMM与内存控制器间采取串行式传输,理论上每个内存控制器可支持6个内存通道、每个内存通道8支FB-DIMM模组、每个模组都能支持双内存列(双面)设计。如果使用1Gb*4的DDR2内存芯片,FB-DIMM架构能支持高达192GB内存容量。 因为采用串行设计、干扰问题较少,所以FB-DIMM与内存控制芯片(Intel称为「主内存接口」Host
Memory Interface,HMI)间导线的传输速度得以拉高。在架构设计上,FB-DIMM
1.0分别采用10对「处理器写入内存」和14对「处理器读取内存」差动式串行传输导线对,可以提供3.2GHz、4GHz和4.8GHz等三种导线传输频率,等于写入资料频率分别为4GB/s、5GB/s、6GB/s,以及读取资料频率为5.6GB/s、7GB/s、8.4GB/s。换句话说,每一单通道FB-DIMM的总资料频宽可达9.6GB/s、12GB/s或14.4GB/s;如果同时使用6个内存通道,则前述数据还要再乘上6倍。 从主板和内存模组系统成本来看,FB-DIMM架构包含电源线路在内,只需要单层PCB板就能完成,而每单通道接脚数大幅由DDR2的240pin减少为69pin,在线路布局和PCB成本上,都能发挥良好效益。 RDIMM和FB-DIMM的线路布局比较 在资料可靠性方面,FB-DIMM强化了CRC验证功能,同时也提供模组热插入(Hot-Add)能力,所以在扩充内存时并不需要关机。这在必须持续运作的伺服器应用上十分方便,简化了MIS人员扩充系统内存时的工作。当然,因为内存中含有系统运作的资料,所以想要热拔取是不太实际的想法。 因为在内存控制器和FB-DIMM之间加入了CRC验证能力,当系统发现某一内存区块上的资料有问题时,会关闭此区块以避免系统运作发生问题。这表示,若内存系统中某一模组或内存通道发生故障,也不会影响系统运作。当然,因为调整了可存取的区域,有可能导致内存存取的组态改变,使存取效率降低。 FB-DIMM硬件架构 AMB功能方块图
既然FB-DIMM使用现有并行式内存芯片,如何转换成串行输出入?关键就在模组上的AMB(Advanced
Memory
Buffer)先进内存缓冲器芯片。这个芯片负责两样主要工作,第一是把DIMM上的并行内存资料转换为串行,第二是承接同一通道串连的其他FB-DIMM资料,并将资料传道到下一FB-DIMM的AMB或主板上的内存控制器。 FB-DIMM解决方案的运作架构 AMB芯片是FB-DIMM架构的关键,通过AMB,FB-DIMM上的内存芯片完全可使用现有产品,也不必更改它的并行资料接口;理论上,只要AMB芯片能提供支持,FB-DIMM不论使用何种内存芯片,都与电脑系统的运作无关。也因为这种设计,使FB-DIMM模组上的内存速度与系统内存汇流排脱?,之前提过的传输率是内存与AMB之间的传输况状,并不等于AMB读写模组上内存芯片的速度。 传统RDIMM采分支状的并行架构 FB-DIMM透过AMB点对点连接 前面曾经提到,FB-DIMM不仅将读写线路分开,接线数目也不同。读写线路分开,使内存的读、写工作可以同时进行,而接线数目差异则是统计后的结果,依据分析,系统由内存读取资料的需求超过写入内存;因此,使用不平衡设计可以兼顾到系统效率和成本。 FB-DIMM接脚定义 差动讯号对 接脚数 到DIMM资料路径 10 20 DIMM送出资料路径 14 28 高速讯号脚数小计 48 电源脚数 6 接地脚数 12 共用接脚(频率、校正、PLL电源、测试) 3 全部接脚数 69 虽然串行架构降低了导线间互相干扰机率,这麽高速的信号仍然需要一些设计来维持信号品质。前面曾经提过,FB-DIMM在输出入资料线上都使用差动式导线对,而电源、接地、命令、时序等线路则使用一般的单线设计。 在FB-DIMM架构下,负责每个内存通道的读取线路称为北向(Northbound),负责定址、命令和写入资料的线路称为南向(Southbound);通道上所有内存模组透过各自的AMB成为点对点连接。
除了直接在主板上制作内存模组插槽外,FB-DIMM也支持使用扩充板的连接模式;这种架构让FB-DIMM使用在伺服器上时,可以有较大的系统组态弹性。 FB-DIMM在主板上的互连架构 使用扩充卡的FB-DIMM应用架构 FB-DIMM内存存取模式 为了提升内存使用效率,FB-DIMM发展出平面式的存取架构。以往不管是一般UDIMM(Unbuffered
DIMM)、RDIMM(Registered
DIMM)或SoDIMM模组等,都是以通道上的模组为单位做线形存取。FB-DIMM在使用内存时,除了以内存通道为单位位,还有跨通道的分支(Branch)和内存列(Rank)等应用模式。 FB-DIMM的Branch和Rank架构 在FB-DIMM分支架构下,每两个通道可以组成一个分支;这两个通道必须以锁步(Lock-Step)方式运作,在相同时序下把两个通道虚拟为一个。当然,要达到这个目的,两通道中的FB-DIMM就必须有些硬件相容的考量。在分支架构下,每一次读写资料,都是以每通道32bit、共64bit方式进行。 所谓的内存列架构,是指在每一分支中,两通道上同一顺序模组可组成一个Rank。当FB-DIMM以Branch架构运作时,每个通道上的模组(或Rank)数目和容量必须相同,这样才能进行同步存取。在使用分支架构后,内存系统的效能得到重大提升。 单一内存通道读取方式 FB-DIMM内存通道读取流程 当系统只有单一内存通道时,FB-DIMM的存取模式是由最接近内存控制器的AMB把读取指令和位址依序传给下个AMB,并由最后一个AMB建立所谓「回覆讯框(Return
Frame)」,再反向依序传递,此时回覆讯框中尚未包含真正需要的资料;这个动作等于把欲读取的位址「事先」通知给每个模组,使资料所在模组有充分时间进行读取。当回覆讯框回传到目标位址所在模组时,这个模组的AMB会把所需资料加入覆讯框中,经由第一个AMB交付给内存控制器,完成读取指令。 单一内存通道写入方式 FB-DIMM内存通道写入流程 与单一内存通道读取类似,在执行写入工作时,内存控制器会先将欲写入的资料送出,经由第一个AMB依序传递给次一AMB,而目标位址所在的AMB会先将此资料收入缓冲区里。送出欲写入资料后,内存控制器接着送出写入命令,此命令传递到目标模组后,对应的AMB便将资料以并行方式写入模组上的内存里。
为了确定资料已写入完成,内存控制器会再送出要求确认的状态讯号,这个状态讯号依序通过每个AMB后,最后一个AMB会建立状态讯框(Status
Frame)反向传递,经过目标模组时,该AMB完成状态设定并继续把状态讯框传回给内存控制器。 多内存通道时的存取策略 平衡式的内存分支架构 如前所述,FB-DIMM可以在多通道时以Branch和Rank架构来提升内存运作效率。若系统中有2个以上分支,即4个以上内存通道,而这2个分支的Rank数量和内存容量也相等的话,这种架构叫做平衡式内存分支,可以使用交错式(Interleaving)定址存取,效率提升的幅度最高比非平衡架构增加80%以上。 平衡式内存分支可使内存效率大幅增加 同样使用交错式定址存取,FB-DIMM架构上可能出现数种不同组合。以总共配置8GB内存的系统为例,依据使用的内存模组型式、模组配置方式,成为无交错(1Way)定址、二路(2Way)交错定址及四路(4Way)交错定址等组合。 无交错定址 如图,这是一个双内存分支(2
Branches),共使用4个内存通道的组合。在此组合中,每个内存通道上只使用一组1GB单内存列(Single
Rank)模组,因此并没有办法使用交错式定址。 二路交错定址 单面FB-DIMM二路交错定址 双面FB-DIMM二路交错定址 同样使用单内存列内存模组,这个组合中每内存通道使用2组1GB模组,分别插在各通道的前两个Slot中,形成平衡式内存分支架构。这种对应关系,让内存可以使用二路交错式定址存取。
四路交错定址 单面FB-DIMM四路交错定址 倘若我们在每个内存通道中使用4组512MB单内存列模组,也能建立起4个锁步的内存列对,成为四路交错定址模式。 每个内存通道改用2组512MB的双内存列模组,可构成4个内存列对,使用四路交错定址模式。 同样是8GB的内存系统,因为配置方式不同而有了相异的交错定址形态,那麽在效能上有什麽差别呢?根据Intel的测试,四路交错定址效能最好,比不使用交错定址时高出60%。由此可知,即使FB-DIMM在内存模组的选用上非常具有弹性,却可能出现极大的效率差异,初始采购规画时必须仔细在需求与未来扩充上加以考量。
FB-DIMM可能存在的问题 从技术上来看,FB-DIMM架构的确能解决电脑系统在内存容量、存取效率和成本的问题,但是这种架构也有一些值得考虑的问题。 首先是内存在传输过程中,需要经过至少各一次串行/并行及并行/串行转换,这是FB-DIMM比并行架构多支出的第一个工作时间。其次,因为资料都是先通过AMB判断处理,再实际传递到DRAM芯片上,所以在理论上会比从前的内存架构多一些延迟。根据Intel的实验,当FB-DIMM架构使用在较低速率场合时,这些延迟的影响便相对明显,单一FB-DIMM模组产生的延迟约为3~9ns,每增加一个模组就增加2~6ns。 传统并行式内存架构和单内存列FB-DIMM模组架构的效能比较曲线 传统并行式内存架构和双内存列FB-DIMM模组架构的效能比较曲线 不过,以上劣势在高速内存存取时,就会逐渐消失。原因非常简单,并行传输在速度愈高的时候,线路干扰和延迟情况便愈严重,但FB-DIMM只要提高AMB频率便能将延迟缩短。同样的高速传输条件,在此消彼长之下,FB-DIMM就成为效率较佳的解决方案。根据Intel测试,使用4通道、每通道一组单内存列模组的FB-DIMM解决方案,在资料流量超过4GB/s前后,就开始呈现效率优势;如果使用双内存列模组,效能的领先更为明显。 FB-DIMM的另一个挑战,是AMB技术难度颇高,目前供应商也少,芯片价格相对偏高,因此单一模组的成本比旧规格模组还高。就像任何新技术产品一样,这个问题会随着市场规模成长、相关技术成熟而逐渐消失。就整个系统对内存的需求而言,使用传统架构想达到FB-DIMM能做到的程度,总成本恐怕远甚于FB-DIMM模组增加的部分。 DRAM I/O[Mb/s] 533 667 800 1066 1333 1600 AMB I/O[Gb/s] 3.2 4.0 4.8 6.4 8.0 9.6 散热和能量消耗,也是FB-DIMM要面临的重大难题。因为FB-DIMM架构支持6个内存通道,所以每个AMB
I/O的速度相当于内存芯片6倍时,恰好能使内存系统效能发挥到最大。 目前FB-DIMM 1.0规格使用的是DDR2-533/667/800,AMB
I/O速度已达4.8Gb/s,如果持续导入更快的DDR2内存芯片,AMB的资料处理能力将十分惊人。 由上表可以看出来,FB-DIMM上AMB芯片的运作频率绝对不低,且需负担相当繁重的资料传送、串/并行转换等工作。这使得任一模组的能量消耗比并行式内存模组高出不少,发热的问题相对提升。此困难要获得解决,比前几个问题稍难些,也许未来能透过半导体制程的改进而得到抒解。
FB-DIMM的市场和技术趋势 目前已由JEDEC公布的FB-DIMM是1.0版,使用DDR2内存,未来使用DDR3的2.0版整体效率更高。 Intel和AMD对内存技术选择的计画 尽管FB-DIMM具有良好的容量和效能优势,由厂商公布的计画,可以发现自DDR2开始,Intel导入新内存技术的时间平均领先AMD两年左右;2006年起FB-DIMM将使用在伺服器上,至2008年开始导入FB-DIMM2,而DDR3也将从2007年起进入低阶伺服器或高阶桌上电脑平台。AMD除了已在2006年中开始使用DDR2以外,直到2008年才计画导入FB-DIMM。 当然,这与各公司的市场策略有关,通常Intel比较勇于使用崭新规格,AMD则采跟随者态度,要等市场成熟才进入。 从竞争策略的角度来看,Intel市场占有率较高,以创造技术「断层」摆脱对手追赶;而AMD选择最不冒险的稳扎稳打作法,?牲新技术可带来的优势,确保市场价格吸引力。 前面曾经提到,短期内,FB-DIMM的价格比RDIMM高,市调机构iSuppli认为这种现象在2007年第二季时就会改变,FB-DIMM的价格到时将与RDIMM相当。到2007年底前,FB-DIMM将占有近8成新装置伺服器的内存市场。 关于Rank--内存列 撰写此篇文章时,笔者发现一般媒体或网站流传的资料,并未将「Rank」这个概念做正确清楚的定义,通常只说Single
Rank是「单面」,Double Rank是「双面」,这是错误的解释。 Rank是JEDEC创造的名词,系指在内存模组上的内存区块。倘若系统资料位元宽度是64bit,则每一个Rank就必须是64bit,当内存模组上有第二组64bit内存区块时,就称此模组为Double
Rank,在实务上此模组的运作与两条Single Rank模组相当。 所以,随使用的内存芯片不同,单面内存模组有可能是Double
Rank;而双面内存模组也有可能仅为Single
Rank,只是把同一64位元宽度的部分内存芯片焊接在模组两面而已。基于以上定义,本文将Rank定名为「内存列」,请读者了解。
网友评论