注册 登录
落伍者 返回首页

bzfly的个人空间 https://www.im286.net/?255539 [收藏] [复制] [RSS]

日志

服务器内存的选择

已有 1331 次阅读2008-5-28 16:20

何谓服务器内存?它与台式机的内存存在着什么本质的差别?而所谓的服务器内存技术又到底是什么?这也是此篇文章最原始的动机,当你看完下面的篇章,相信你对内存的认识又提高一个档次……
  服务器内存的应用开发领域已经是越来越重要。面临着企业信息系统的扩展所需,内存的密度和容量也迫不及待得到相应的发展,但对于内存的可靠性从企业到开发商都是非常敏感。服务器运行着企业关键业务,一次内存错误导致的宕机将使数据永久丢失。本身内存作为一种电子器件,很容易出现各种错误,面临着企业事实的压力和本身的不足,各个厂商都早已积极推出自己独特的服务器内存技术,像HP的在线备份内存和热插拔镜像内存;IBM的ChipKill内存技术和热更换和热增加内存技术。这两家的内存技术一直保持着领先的地位,在各自的工业标准服务器的应用中都有突出的作用。
  总结起来,如今业界常用的内存技术可以分为三种:内存查纠错技术、内存保护技术以及内存冗余技术。利用这些技术,服务器内存具有强大的检错和纠错保护功能,这也是体现出与台式机内存的主要不同之处了。另一方面则表现在更高的存取速度和更大的容量,但这也只是相对而言,高端的台式机内存在这方面终可与服务器的匹敌,然而强大的检错和纠错能力,是台式机无法比拟的。
  随着时间的推移,内存技术发展基本停滞。不过相对于台式机内存,服务器内存通常会对内存提出特殊的要求,这主要表现在服务器内存摸组技术上。有限的内存插槽和有限的内存颗粒密度都制约着内存向高速度高容量发展。一些内存厂商在解决该问题上做出了一定的贡献,并发展出了新的内存模组技术。经过一定的研究后,ElpidaKingston通过三维的方式解决了个头的问题:将两个内存相对做在一个标准的DIMM上。类似此等等,服务器内存时刻都体现着显著的优势,即使是制作工艺,服务器模块都是选用高质量的内存颗粒,从这层意义上来讲,一条内存的好坏更多决定于它的等级档次问题。
  如今常用的服务器内存主要有SDRAMDDR二类,还有另一种RAMBUS内存,是一种高性能、芯片对芯片接口技术的新一代存储产品。 现在刚兴起的DDR2,也逐渐延伸到服务器内存。现代Hynix在六月份已经开始量产供服务器和工作站使用的DDR2内存。
  对于服务器内存的销售渠道而言,存在着兼容品牌内存与服务器厂商提供的原厂内存之分。兼容品牌主要有VIKINGkingstonKingmaxkinghorse、现代、三星、IBMNEC等。很多用户对于兼容品牌内存在稳定性和兼容性上都存在着怀疑,这到底又是为什么呢?让我们带着上面的种种疑问开始探讨服务器内存……
一、厂商篇
  由于服务器内存在技术难度和加工工艺上与普通台式机上的内存有较大差异,所以对服务器内存的品牌选择就越发显得重要。对于服务器内存来说,长期稳定高效的运行是十分必要的,这也就给服务其内存的制造者提高了要求,随着当今网络的流行,网络终端也越发增多起来,随之而来的将是进一步加重了服务器的负担,您也将花费大量的时间和金钱等待指令的执行,而目前看来高效而稳定地提升服务器效率的方法无疑是使用高性能、大容量的服务器专用内存。
  这其中金士顿的服务器专用内存更是您最值得信赖的产品。金士顿kingston作为目前全球最大、最专业的内存制造厂商,凭借长期积累下的经验,使得在高端服务器内存制造中同样出色,有着其它内存制造厂商所无法比拟的生产技术优势。当今许多的财富500强企业都绝对信服他们服务器中的Kingston内存,因为在这些著名企业服务器中所使用的Kingston内存从来没有让大家失望过,并且依旧长期稳定地工作在自己重要的岗位上。
  Kingston服务器内存以极高的品质和严密的测试为您的服务器提供高效而稳定的产品,为保证每块服务器内存的产品质量,Kingston公司对所有的内存产品实行全面的品质控制流程,对每一块服务器内存产品上的每个芯片的每个存储单元都进行了严格的测试,从而使得Kingston服务器内存的可靠性接近于100%。另外,Kingston服务器内存在您服务器需要升级时,仅需花费最基本的费用。每个模组最多可为您节约50%的费用,同时还保证绝对不会对服务器的完整及稳定性造成任何威胁。
  除了Kingston外,主流品牌还有Kingmax、三星、现代,但像三星和现代受假货冲击,其原厂内存在市场上是很少见的。还有其他非主流产品,并不代表它们质量不好,只是它们在中国名气比不上前面所介绍的品牌,其中不凡有品质优良的品牌,很典型的牌子有,英飞凌(Infinoen)、南亚(Elixir)、TranscendVIKINGIBM等,值得一提的是 我国也有几家厂家是很不错的,像骏一kinghorse、创见。
推荐KINGSTON品牌的原因
1
提供品牌和系统所用的专用内存,如:IBMHPCPQ等:
2
经过100%测试并有终身保换的服务:
3
通过了原机系统测试:
4
性价比高:
5
提供为特殊系统而设计的内存:
6
为客户的品牌系统性能提供得以最优运行的内存:
7
提供每个内存模组及其原件皆经过严格测试的内存:

 

二、内存技术篇
  如今大容量高速度的内存技术已经相当成熟了,但对于服务器而言,稳定性胜过一切,然而服务器内存之所以能承担服务器稳定性的重任,其中之一的关键技术就是内存查纠错技术。服务器中的内存我们都知道一般采用带有ECC技术的(ECC的英文全称是“ Error Checking and Correcting”,中文名为错误检查和纠正),从这个名称就可以看出它的主要功能就是发现并纠正错误ECC比以前的奇偶校正技术更先进的方面体现在它不仅能发现错误,而且能纠正这些错误。但ECC技术只能纠正单比特的内存错误, 当有多比特错误发生的时候,ECC内存会生成一个不可隐藏(non-maskable interrupt)的中断 (NMI),系统会中止运行。IBM还有一种更先进的特殊内存纠错技术,那就是ChipKill内存技术。而这些技术是如何使服务器内存进行错误检查并纠正呢?在下面这篇文章中将详细为您介绍……
 [技术]服务器内存技术知识充电
  看完了上面的文章后,我相信我们对服务器内存已经有了个大概的认识,或许你认为内存已经为服务器提供了很大的保险了,但面临着一些意外的内存错误,有另外一种技术比内存错误纠正技术有效得多。IBM的内存保护技术就是保护由于意外的内存错误而带来的损失,它使用的是标准的ECC 168内存。它的工作方式有点像在Windows NTNTFS文件系统下的在线备份磁盘扇区一样,当操作系统在磁盘上检测到坏的磁盘扇区时,它将在另外的扇区中写下这些数据放一边留作备用,我们可以认为内存保护就是提供在线备份数据位。这内存错误的纠正是通过内存控制器来完成的,所以不会增加操作系统的工作量,也不需要操作系统来提供支持,完全与操作系统无关。因为这是在标准的ECC 168线内存起作用的,无需为这种保护增加另外的开支。
  内存保护(在其它系统中也有称多余的数据位)技术最初的发展是在IBM大型机上,而且在Z系列和I系列服务器上使用了许多年。在一个2路交叉存取的内存系统中,每2168线ECC内存包含144位,但是只有140位是用于数据存取和校验的。余下的4位是没有用上的,标准的ECC内存可以检测出2位的数据错误,但它只能纠正一位错误。如果在同时内存上有多位出错,那么这整个内存读取就失败了,此时唯有使系统临时挂起来,以尽量减少内存容量的需求,直到这个节点被更换。如果具有内存保护,那么就可以立即隔离这个失效的内存,重写数据在空余的数据位。通过这种方法可以在每4对(1个内存控制器,有的服务器不止包括一个内存控制器)168线内存中修复44位连续的内存错误。当服务器下次重启就会重新检查内存的状态,如果是内存软错误(临时的),系统重启后内存的这些用于在线数据备份的数据位就重新释放了,恢复空的状态。如果是属于硬故障,这些在线备份数据位还会继续用来备份,直到更换为止。这种先进技术可以使减少停机机时间,使服务器持续保持高效的计算平台。这对于大型的数据库系统中尤其重要。
  前面提到的在线内存备份是另一种更高级别的内存保护。需要注意的是由于系统使用了双路交叉(2-way Interleaving)访问技术,所以必须成对安装双列直插式内存模块(Dual In-line Memory ModuleDIMM)的内存条。每个DIMM必须是同一型号的,而且容量相同,否则内存系统的性能会受到影响。如果一共有三组内存条组,把C组作为在线备份内存,其内存容量总合要是A、B两组的容量总合之和。这种技术特别适用于没有足够的计算机系统维护后人员或者手头没有多余的内存可以方便替换的场所,像HP ProLiant服务器的ML 370DL 380系列产品均采用在线备份模式。
  另一种防止服务器因内存错误的发生而导致整个服务器不稳定性事件发生的措施就是内存镜像和内存热备份(Memory ProteXion)。在线备份内存模式只能对发生单比特错误的数据提供保护,像镜像内存方式还可以用来保护发生多比特错误的数据。正因为如此,内存镜像和内存热备份很适合于商业应用,因为它除了正常维护之外,不需要在内存检修上花费额外的时间。这种技术的出现,是由于随着服务器系统总线提高,内存传输的数据陪增,会出现不知什么原因遇到了许多内存保护和Chipkill修复技术都不能完全修复的情况。内存镜像和内存热备都属于内存冗余技术,是内存热插拔不可缺少的技术成分,诸如其他还有热更换热添加、热插拔RAID内存,这些就相当好理解 ,不过需要注意的一点是,许多企业实际上实现的只是有限的内存热插拔,只能拔掉特定的内存条,而不能随意拔掉其他内存条。关于内存镜像和内存热备份详细请看下面的文章……
内存相关名字解释
1、BufferUnbuffer
Buffer
即缓存器,也可理解成高速缓存,在服务器及图形工作站内存有较多应用,容量多为64K,但随着内存容量的不断增大,其容量也不断增加,具有Buffer的内存将对内存的读写速度有较大提高,象早期168EDO ECC服务器内存大多都带BufferUnbuffer表示不具有高速缓存。有Buffer的内存几乎都带ECC功能,Unbuffer内存只有少数带ECC功能。其在内存编号上也有较明显特征,以维京内存PC133 128M为例,其编号为ME16641U4SS3-CL3,其中的字母U就代表Unbuffer
2、Register
Register
即寄存器或目录寄存器,在内存上的作用我们可以把它理解成书的目录,有了它,当内存接到读写指令时,会先检索此目录,然后再进行读写操作,这将大大提高服务器内存工作效率。带有Register的内存一定带Buffer,并且目前能见到的Register内存也都具有ECC功能,其主要应用在中高端服务器及图形工作站上,如IBM Netfinity 5000
3、SDRAM
即同步动态随机存储器(Synchronous Dynamic RAM)内存。该内存历史较长,它的特点是让所有的输入输出信号保持与系统时钟同步,内存就是工作在系统的外部频率下。工作电压3.3V
4、DDR SDRAM
双倍数据速率(Double Data RateDDRSDRAM是一种以SDRAM为基础发展而来的内存技术。因此,DDR内存加倍了内存的频宽,提高了数据的传输量。DDR内存工作电压为2.5V 由于DDR内存比SDRAM能增加更多的效能,并且能降低成本,而且DDR内存晶片能用现有的SDRAM设备制造及测试,不必再投资大量资金用于设备及生产上。此外DDR内存增加了内存频宽及效率,因此广泛使用在许多商业、多媒体及娱乐相关产品上,将逐渐取代SDRAM
5、DIMMDual-In line Memory Module)-双边接触内存模组
形象的说:内存条正反两面金手指是不导通的,如常见的有100线、168线、200线内存(long Dimm)和72线、144线(SO-Dimm)。DIMM一般有64位带宽,并且正反面相同位置的引脚不同;而SIMM一般只有32位带宽,需要两条两条同时使用,一般通过72线金手指与主板相连。

 

[技术]服务器内存技术知识充电
  说起服务器内存,很多人可能会觉得不明所以,其实服务器内存与普通内存还是有着很多共同点的,不过它加入了一些针对高端应用而设计的功能和特性,下面我就以一问一答的方式为各位介绍一下服务器内存。

  问:什么是服务器内存?它与普通PC机上的内存又有什么区别?

  答:服务器内存也是内存,它与我们平常在电脑城所见的普通PC机内存在外观和结构上没有什么明显实质性的区别,它主要是在内存上引入了一些新的技术,仅从外观上是不得出什么结论的。这样或许你就担心了,如果别人拿普通PC机的内存条当服务器内存条卖给怎么知道?这一般来说可以放心,这种可能性几乎为零。因为普通PC机上的内存在服务器上一般是不可用的,服务器认不到的,这就是说服务器内存不能随便为了贪便宜用普通PC机的内存来替代的原因了。至于其根本原因是什么那请请看后面了。

  有些人把具有某种技术的内存就称之为服务器内存,其实是不全面的,服务器的这些内存技术之所以在目前看来是服务器在专用,但不能保证永远只能是服务器专用。这些新技术之所以先在服务器上得以应用是因为服务器价格较贵,有条件得以应用,这些新技术由于价格的原因暂时在普通PC机上无法实现应用,这些新技术会随着配件价格的下降会逐步走向普通PC机,就象原来的奇偶校正内存一样原来也是最先应用在服务器上,现在不是很普遍了吗?所以服务器内存并不是一种特指,它是内存新技术在不同时间段上的应用。
问:什么奇偶校正(Parity),它是服务器内存上专用的吗?

  答:直到目前还有人误认为带有奇偶校正的内存就是服务器内存,其实时到今日这种说法就完全不正确了,奇偶校正技术在目前来说已是昨日黄花了,早就有另外一种ECC技术取代它了,更别说是服务器内存的标准了。

  对于内存中的奇偶校验(Parity)”要从比特概念说起,学过数字电路的人都知道在数字电路中最小的数据单位就是叫比特(bit)”,也叫,而电脑是一种数字产品,内存中存储的是数字信号,所以比特也是内存中的最小单位,它是通过“1”“0”来表示数据高、低电平信号的。在数字电路中我们是将8个连续的比特叫做一个字节(byte),在内存中不带奇偶校验的内存中的每个字节只有8位,若它的某一位存储出了错误,就会使其中存储的相应数据发生改变而导致应用程序发生错误。而带有奇偶校验的内存在每一字节(8)外又额外增加了一位作为错误检测之用。比如一个字节中存储了某一数值(10101011),把这每一位相加起来(1+0+1+0+1+0+1+1=5)。若其结果是奇数,校验位就定义为1,反之则为0。当CPU返回读取储存的数据时,它会再次相加前8位中存储的数据,检查结果是否与校验位相一致。当发现二者不同时就会试图纠正这些错误,但这只是Parity一厢情愿的,当内存检查到某个数据位有错误时,运用Parity技术却并不一定能确定错误在哪一个位,也就不一定能修正错误,所以带有奇偶校正的内存的主要功能仅是发现错误,并能纠正部分简单的错误。这种技术应用于服务器领域,那还是在72线内存时代(现在普遍是168线的内存),随着这种技术应用领域的深入和价格的下降,现在带有奇偶校正技术的内存普遍都是,广泛应用于普通PC机上,虽然这种技术功能不是很强大,但应用在普通PC机上还是很有效的,所以目前奇偶校正内存并不是服务器专用,而且目前服务器上所用的内存一般都是ECC内存,它比Parity内存更先进。要注意的一点就是现在的主板都可以使用带奇偶校验位或不带奇偶校验位两种内存条,但两种内存不能混用。
问:什么是ECC内存?它比Parity(奇偶校正)内存有什么优点?

  答: 目前一谈到服务器内存,大家都一致强调要买ECC内存,认为ECC内存速度快,其实是一种错误地认识,ECC内存成功之处并不是因为它速度快(速度方面根本不关它事只与内存类型有关),而是因为它有特殊的纠错能力,使服务器保持稳定。ECC本身并不是一种内存型号,也不是一种内存专用技术,它是一种广泛应用于各种领域的计算机指令中,是一种指令纠错技术。ECC的英文全称是“ Error Checking and Correcting”,对应的中文名称就叫做错误检查和纠正,从这个名称我们就可以看出它的主要功能就是发现并纠正错误,它比奇偶校正技术更先进的方面主要在于它不仅能发现错误,而且能纠正这些错误,这些错误纠正之后计算机才能正确执行下面的任务,确保服务器的正常运行。之所以说它并不是一种内存型号,那是因为并不是一种影响内存结构和存储速度的技术,它可以应用到不同的内存类型之中,就象我们在前讲到的奇偶校正内存,它也不是一种内存,最开始应用这种技术的是EDO内存,现在的SD也有应用,而ECC内存主要是从SD内存开始得到广泛应用,而新的DDRRDRAM也有相应的应用,目前主流的ECC内存其实是一种SD内存。

 如果要具体讲一下ECCParity的区别在哪能里,那还得它们所实现对应功能的机理来说起。上面我们知道Parity内存是通过在原来数据位的基础增加一个数据位来检查前8位数据的正确性,但随着数据位的增加Parity用来检验的数据位则成倍增加,也就是说当据位为16位时它需要增加2位用于检查,当数据位为32位时则需增加4位,依此类推。而ECC内存,它也是在原来的数据位上外加检验位来实现的。不同的是两都增加的方法不一样,这也就导致了两者的主要功能不太一样。它与Parity不同的是如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC只增加一位检验位,也就是说当数据位为16位时ECC位为632位是为7ECC位,数据位为64位时为8依此类推,数据位每增加一倍,ECC位只增加一位。关于两种内存技术所需增加的数据位现列表如下,从表中可以看出它们各自的优势在什么地方。

  数据位数 Parity需增加的数据`位数 ECC需增加的数据位数

数据位数 Parity需增加的数据位数 ECC需增加的数据位数
8 1 5
16 2 6
32 4 7
64 8 8
128 16 9
256 32 10
512 64 11
… … …


  从上表可以看出,当数据的位数增加一倍,Parity也增加一倍,而ECC只需增加一位,当数据为64位时所用的ECCParity位数相同(都为8),仅从增加的位数来说,当数据为64位以上,ECC具有极大的优势,但在64位以下,ECC在位数上处于劣势,但ECC的优势不仅体现在这方面,它主要体现在它的纠错能力上,这是Parity内存所无法比拟的!在内存中ECC能够容许错误,并可以将错误更正,使系统得以持续正常操作,不致因错误而中断。但在这里需要说明的一点就是ECC内存也不是对所有错误都有能检测并纠正过来,一般来说它也只能同时发现并纠正一个比特的数据错误。
问: 目前主要些什么品牌的服务器内存?

  答:由于服务器内存在技术难度和加工工艺上比普通PC机上的内存有较大提高,所以在服务器内存品牌选择上没有象普通PC机内存一样那么杂,但目前服务器内存品牌也有逐步杂化的趋势,目前主要的服务器内存品牌主要有Kingmaxkinghorse、现代、三星、kingstoneIBMVIKINGNEC等,但主要以前面几种在市面上较为常见,而且质量也能得到较好的保障。

  问: 服务器内存技术的发展如何?

  答: 服务器内存也与任何其它产品一样,新技术是在不断开发,不断得到应用,然后逐步取代原有的技术,实现它的普及应用。ECC技术在目前来说是服务器内存的主流技术,但新的内存技术已在不断涌现,目前主要有IBMChipkill技术在被各内存生产厂商采用。在内存类型上目前主要已有DDRRAMBUS公司的RDRAM来取代目前的SD内存,这种DDR目前也带有ECC技术。但上述主流内存技术也都是在围绕ECC技术这同一方向,同属于ECC技术范畴。
 问:什么是Chipkill技术?

  答: Chipkill技术是IBM公司为了解决目前服务器内存中ECC技术的不足而开发的,是一种新的ECC内存保护标准。我们知道ECC内存只能同时检测和纠正单一比特错误,但如果同时检测出两个以上比特的数据有错误,则一般无能为力。目前ECC技术之所以在服务器内存中广泛采用,一则是因为在这以前其它新的内存技术还不成熟,再则在目前的服务器中系统速度还是很高,在这种频率上一般来说同时出现多比特错误的现象很少发生,正因为这样才使得ECC技术得到了充分地认可和应用,使得ECC内存技术成为几乎所有服务器上的内存标准。

  但随着基于Intel处理器架构的服务器的CPU性能在以几何级的倍数提高,而硬盘驱动器的性能同期只提高了少数的倍数,因此为了获得足够的性能,服务器需要大量的内存来临时保存CPU上需要读取的数据,这样大的数据访问量就导致单一内存芯片上每次访问时通常要提供432位)或864位)比特以上的数据,一次性读取这么多数据,出现多位数据错误的可能性会大大地提高,而ECC又不能纠正双比特以上的错误,这样就很可能造成全部比特数据的丢失,系统就很快崩溃了。IBMChipkill技术是利用内存的子结构方法来解决这一难题。内存子系统的设计原理是这样的,单一芯片,无论数据宽度是多少,只对于一个给定的ECC识别码,它的影响最多为一比特。举个例子来说明的就是,如果使用4比特宽的DRAM4比特中的每一位的奇偶性将分别组成不同的ECC识别码,这个ECC识别码是用单独一个数据位来保存的,也就是说保存在不同的内存空间地址。因此,即使整个内存芯片出了故障,每个ECC识别码也将最多出现一比特坏数据,而这种情况完全可以通过ECC逻辑修复,从而保证内存子系统的容错性,保证了服务器在出现故障时,有强大的自我恢复能力。采用这种内存技术的内存可以同时检查并修复4个错误数据位,服务器的可靠性和稳定得到了更加充分的保障。

 

评论 (0 个评论)

论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2025-5-1 12:11 , Processed in 0.033605 second(s), 21 queries , Gzip On.

返回顶部