服务器内存数据保护技术浅析

来源 :硅谷 | 被引量 : 0次 | 上传用户:xuanchen21
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]介绍几种服务器内存数据保护技术,奇偶校验、ECC、Chipkill以及更高级的内存热备份和内存镜像技术,并就各自优劣进行分析和比较,并提供三年内存使用的模拟实验数据,有力的证实了Chipkill技术的可靠性和实用性。
  [关键词]奇偶校验 ECC Chipkill 内存热备份 内存镜像
  中图分类号:TP309.2;TP333.1 文献标识码:A 文章编号:1671-7597(2008)0620040-01
  
  一、引言
  
  随着服务器性能的不断提高,以及内存容量需求的不断增长,内存可靠性和稳定性的要求也不断提高。从最初的奇偶校验,到在此基础上发展出的ECC技术、高级ECC技术,到现今的CHIPKILL技术,以及更高级的内存热备份和内存镜像技术等,各类内存保护技术日趋成熟和完善,为服务器高度稳定的运行提供了可靠的保障。
  
  二、基本内存纠错技术
  
  (一)奇偶校验技术
  90年代初,内存体系采用奇偶校验(Parity Verifying)技术。奇偶校验实现的方式是除传送数据位之外,再传送1位奇/偶校验位,并采用奇校验或偶校验进行验证。这种技术能够检测出传输数据中单比特错误,但不能纠错,发现错误后,只能重发。由于其实现简单,在中低端领域得到了广泛使用。随着应用的发展,在此基础上又产生了ECC(Error Checking and Correcting)。
  (二)ECC技术
  ECC也是通过数据外加位来实现的,在ECC纠错体系中,如果数据为N个字节,则外加的ECC位为(logN+5)。每次写数据时,ECC采用特殊的算法生成校验码,并把所有的校验码累加起来,得到一个校验和(Checksum),该校验和与数据存储在一起。每当从内存中读取数据的时,都要重新计算校验和,并与原校验和比较,以判断数据的正确性。当出现单个存储位错误时,ECC体系可以自动纠错,当出现2个数据位错误时,可以检测出来,但不能纠错,这通常称作“单错纠正/双错检测”(Single Error Correction/Double Error Detection ,简称SEC/DED)。一次存取中有2个以上的数据位出错时,SEC/DED体系就无法检测,ECC内存会产生一个不可屏蔽的中断,通知系统数据出现错误。
  ECC码的长度跟数据的长度是成对数关系,与奇偶校验相比,当数据位多于64位时,ECC码在空间占用上就会凸现优势,而且ECC校验还能纠正单错和检测2位多错。但ECC校验算法比奇偶校验复杂不少,需要专门的芯片支持,且系统需要时间来等待校验结果,所以ECC校验会降低系统速度2%~3%左右,但这小小的代价换来了系统稳定性的大幅提高。
  (三)高级ECC技术
  随着RAM芯片数据位宽的不断增加,以及内存容量需求的激增,ECC内存保护的效率也开始降低。为此HP公司开发了高级ECC内存技术,并得到广泛应用。新的ECC技术的内存中,每一个DRAM芯片提供4bit的数据给数据字。从每个芯片中出来的这4bit数据被平均分配给4个带有ECC技术的设备,每个设备1比特,这样一来,每个芯片上发生的错误可以分解为4个独立的单比特错误。其工作原理如图1所示。改进前,每一个ECC设备仅可纠正单错,而改进后的ECC设备可以纠正一个DRAM芯片中最多4比特错误,因此,高级ECC技术提供了更好的内存数据保护。
  


  (四)Chipkill内存技术
  随着服务器CPU性能的不断提高,内存数据访问带宽要求也越来越高,单一内存芯片每次访问时通常要提供4(32位)或8(64位)字节以上的数据。数据访问量的增大,伴随着多位数据出错率的增大,然而ECC对纠多位错误又无能为力,于是IBM公司为此开发了一种新的ECC内存保护技术Chipkill。
  图2描述了其工作原理。存储系统由4个DIMM模块构成,32个字节(256位)的数据被分成4个ECC字,每个ECC字含有8个字节(64位)的数据位和8个ECC位。
  


  图2 Chipkill内存纠错原理
  


  图3 三年内由于内存故障导致的服务器延迟数
  
  配置32MB奇偶校验内存的服务器,每100台中有7台发生延迟。
  配置1GB ECC校验内存的服务器,每100台中有9台发生延迟。
  配置1GBCHIPKILL校验内存的服务器,每10000台中有6台发生延迟。
  存储器控制器(Memory Controller)把每个ECC字被分成4个长度为18位的段,分别存储于4个DIMM中。同时,每个DIMM中也存储了4个来自不同的ECC字的段。然后,每个段的18个位再被存储在不同的DRAM芯片中。这样每个DRAM芯片中只保存了ECC字的一位。如果DRAM芯片失效,导致某个芯片中的全部18个位都出错,也只是造成ECC字的一位错误。因为每个ECC字具有SEC/DED功能,可以自动纠错,所以可以恢复所有的数据。采用这种Chipkill内存技术的内存可以同时检测并修复4个错误数据位,进一步提高服务器的实用性。
  图3为连续三年不间断模拟实验使用32 MB奇偶校验内存,1G标准ECC内存,1 GB Chipkill内存的服务器的错误发生率的比较。三年中,使用奇偶校验内存的出错率为7%;标准ECC内存的出错率为9%;选用带Chipkill技术的内存其出错率仅为0.06%,相较于前两个纠错技术,其可靠性提升了约两个数量级。
  
  三、高级内存保护技术
  
  (一)内存热备技术
  这是一种基于冗余备份思想的技术,每个内存通道中预留一个DIMM为热备内存,这部分内存容量系统无法看到,正常情况下不被使用。芯片组中设置有内存校验错误次数的阈值, 即每单位时间发生错误的次数。当工作内存的故障次数达到这个“容错阈值”,系统开始进行双重写动作,一个写入主内存,一个写入热备内存,当系统检测到两个内存数据一致后,热备内存就代替主内存工作,故障内存被禁用,这样就有效避免了系统由于内存故障而导致数据丢失或系统宕机。
  (二)内存镜像技术
  内存镜像(Memory Mirroring)技术的工作原理与磁盘系统中的RAID1类似,为了确保当某个DIMM存储芯片失效的时候,系统能自动利用备用比特位找回数据,工作时会将内存数据做两个拷贝,同时写入主内存和镜像内存中,系统正常运行时使用主内存中的原本,而当原本失效时,另外的镜像就随即补替工作。该技术可以纠正发生在每对DIMM内存中多达4个连续比特位的错误,并可有效防止由于内存通道故障导致的数据丢失,极大提升了服务器可靠性。由于内存镜像要求内存中的所有数据均存有副本,实现这一功能就需要双倍的物理内存,因而实际容量的利用率就只有50%。内存镜像跟内存热备的区别是:内存镜像主要是希望通过备份内存上的数据来恢复出错内存的数据,而内存热备则是彻底用备份内存接替出错内存的所有工作。
  
  四、结束语
  
  服务器性能的提升引领内存保护技术的不断前行,已被广泛使用的ECC技术和Chipkill技术已在服务器数据保护领域发挥了重要作用,而不断推出的新的内存保护技术必将使未来服务器的可靠性和实用性步上一个新的台阶。
  基金项目:本文得到“863”国家高技术研究发展计划项目资助(2007AA01Z103)
  
  参考文献:
  [1]Timothy J. Dell.A White Paper on the Benefits of Chipkill-Correct ECC for PC Server Main Memory.IBM Microelectronics Division-Rev, 1997-11-19.
  [2]David Locklear.Chipkill- Correct Memory Architecture.Dell Enterprise Systems Group,2000-8.
  [3]Fujiwara,Eiji and Taku Gohya, “Single Byte Error Correcting-Double Bit Error Detec-ting (SbEC-DED) Codes,”Proc.1991, IEEE Int.Symp.on Inform.Theory,Jun.1991,p.140.
  [4]Chen.“Symbol Error-Correcting Codes for Computer Memory Systems”.IEEE.Transactions on Computers,vol.41.No.2.Feb.1992,pp.252-256.
  [5]王达编著.《网管员必读服务器与数据存储》,北京:电子工业出版社,2005.9.
  作者简介:
  张祯,男,汉族,江南计算技术研究所,研究实习员,硕士,主要研究方向:计算机體系结构;袁爱东,男,汉族,江南计算技术研究所,工程师,硕士,主要研究方向:计算机体系结构;高剑刚,男,汉族,江南计算技术研究所,高级工程师,硕士,主要研究方向:计算机体系结构。
其他文献
[摘要]通过对电气信息类学生课外实践管理体制进行教学改革,提出按教师主导、学生自主、完全开放的模式进行课外创新实践基地的建设,结合大学生课外科技活动,以科技竞赛为契机,培养提高学生的科技创新能力,引导学生全面发展。  [关键词]电气信息类 创新实践 人才培养 竞赛  中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)0620039-01    一、电气信息类专业学生课外实