内存

服务器内存与PC内存的区别:

性能更高

兼容性更好

可靠性更高

什么是Register?

拥有Registers功能的内存模组,可以通过重新驱动控制信号来改善内存的运作,提高电平信号的准确性,从而有助于保持系统长时间稳定运作。不过,由于Registers的信号重驱动需花费一个时钟周期,延迟时间有所增加,但是传输的速率相对可以提高,对走线的要求也降低了。

与逻辑设计中的流水线是一个原理。

这样控制信号的信号质量更好。

服务器内存上面要比普通内存多几颗芯片:主要是PLL (Phase Locked Loop)和Register IC,它们的具体用处如下 PLL(Phase Locked Loop) 琐相环集成电路芯片,内存条底部较小IC,比Register IC小,一般只有一个,起到调整时钟信号,保证内存条之间的信号同步的作用。Register IC内存条底部较小的集成电路芯片(2-3片),起提高驱动能力的作用。服务器产品需要支持大容量的内存,单靠主板无法驱动如此大容量的内存,而使用带Register的内存条,通过Register IC提高驱动能力,使服务器可支持高达32GB的内存。


图为DDR2 400 ECC REG

1 SPD芯片

2 PLL芯片

3 Register IC芯片

4 内存颗粒

什么是ECC内存?

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

ECC通过数据位多一些位数,对数据进行校验,所以内存颗粒一般会多一颗。

ECC可发现2bit错误,并纠正1bit错误,可靠性更高。

一般情况下服务器内存都具有ECC功能,只有较低端的服务器采用普通台内存时不具有此功能;

服务器内存的其他典型技术:

Chipkill技术

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

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

Memory ProteXion(内存保护)

  Memory ProteXion技术最初应用在IBM公司的z系列和i系列大型主机服务器中,相对Chipkill内存技术在保护能力上更加强。

   类似硬盘的热备份功能,能够自动利用备用的比特位自动找回数据,从而保证服务器的平稳运行。该技术可以纠正发生在每对DIMM内存中多达4个连续比特位的错误。即便永久性的硬件错误,也可利用热备份的比特位使得DIMM内存芯片继续工作,直到被替换为止。

  同时,Memory ProteXion技术比ECC技术纠错更加有效,标准的ECC内存虽然可以检测出2位的数据错误,但它只能纠正一位错误。采用内存保护技术,就可以立即隔离这个失效的内存,重写数据在空余的数据位。而且无需添加另外的硬件、无需增加额外的费用,独立操作系统工作,也不会给系统增加任何额外负担。这种技术可以使减少停机时间,使服务器持续保持高效的计算平台。

Memory Mirroring(内存镜像)

  IBM的另一种更高级内存技术就是内存镜像技术,在内存保护能力上更强,弥补了Chipkill修复技术和内存保护技校术都不能完全修复时,可以在系统中运行直到有故障内存被更换。

  一般说,内存镜像技术和磁盘镜像技术相仿,都是将数据同时写入到两个独立的内存卡中,内存只从活动内存卡中进行数据读取,当一个内存中有足以引起系统报警的软故障,系统会自动提醒管理员这个内存条将要出故障;同时服务器就会自动地切换到使用镜像内存卡,直到这个有故障的内存被更换。

另外,镜像内存允许进行热交换(Hot swap)和在线添加(Hot-add)内存。因为镜像内存采用的的两套内存中实际只有一套在使用,另一套用于备份,所以对于软件系统来说也就只有整个内存的一半容量是可用的。

转自https://mp.weixin.qq.com/s/3be5auy9tWCPZRS3EBuyyA

内存容错技术ECCChipkill保护镜像相关推荐

  1. raid卡直通模式会走缓存吗_磁盘阵列 RAID 技术如何保护数据

    RAID 的名称为磁盘阵列,它的作用,是在多块硬盘组成的系统中,牺牲一块至多块硬盘的容量,来对数据的存储提供一定的容错能力. 基本的 RAID 级别有 RAID0.RAID1.RAID5.RAID6. ...

  2. 【文献心得】内存隔离技术研究现状调研

    文章目录 内存隔离相关技术 学术研究成果 工业嵌入式操作系统方案 参考文献 嵌入式系统的应用广泛,嵌入式操作系统对实时性和可靠性要求严苛,为了满足嵌入式操作系统对可靠性和实时性的要求,迫切需要一种能够 ...

  3. 阿里笔试题第二题之-------容错技术

    阿里笔试题第二题之---容错技术 定义:容错就是当由于种种原因在系统中出现了数据.文件损坏或丢失时,系统能够自动将这些损坏或丢失的文件和数据恢复到发生事故以前的状态,使系统能够连续正常运行一种技术. ...

  4. Linux内存池技术

    看到一篇关于内存池技术的介绍文章,受益匪浅,转贴至此. 原贴地址:http://www.ibm.com/developerworks/cn/linux/l-cn-ppp/index6.html 6.1 ...

  5. java 内存池_内存池技术介绍(图文并茂,非常清楚)

    看到一篇关于内存池技术的介绍文章,受益匪浅,转贴至此. 6.1 自定义内存池性能优化的原理 如前所述,读者已经了解到"堆"和"栈"的区别.而在编程实践中,不可避 ...

  6. Android 图片缓存之内存缓存技术LruCache,软引用

    Android 图片缓存之内存缓存技术LruCache,软引用

  7. 图片缓存之内存缓存技术LruCache,软引用

    图片缓存之内存缓存技术LruCache,软引用 每当碰到一些大图片的时候,我们如果不对图片进行处理就会报OOM异常, 这个 问题曾经让我觉得很烦恼 ,后来终于得到了解决, 那么现在就让我和大家一起分享 ...

  8. java内存池实现_Netty精粹之轻量级内存池技术实现原理与应用

    在Netty中,通常会有多个IO线程独立工作,基于NioEventLoop的实现,每个IO线程负责轮询单独的Selector实例来检索IO事件,当IO事件来临的时候,IO线程开始处理IO事件.最常见的 ...

  9. 深入理解内存(3):内存交换技术,虚拟内存

    深入理解内存(3):内存交换技术,虚拟内存 2013-01-15 21:14 1560人阅读 评论(0) 收藏 举报 分类: 3) C++(59) 1)IT Related(21) 版权声明:本文为博 ...

  10. iOS开发ARC内存管理技术要点

    本文来源于我个人的ARC学习笔记,旨在通过简明扼要的方式总结出iOS开发中ARC(Automatic Reference Counting,自动引用计数)内存管理技术的要点,所以不会涉及全部细节.这篇 ...

最新文章

  1. Gym - 102082G
  2. 不同数据库中查询前几条记录的用法(SQL Server/Oracle/Postgresql)
  3. 中美数据中心产业对比及思考
  4. 两个date 相差得到月份_DATE和TIME函数的正确打开方式
  5. gentoo rt-thread scons --menuconfig libs/lxdialog/util.o: undefined reference to symbol 'nodelay'
  6. 命令行隐藏磁盘驱动器
  7. uni-app—微信公众号授权登录(截取code)
  8. Xvid编码器流程(基于xvid1.1.0)
  9. 神奇的[Caller*]属性
  10. 智能关机软件 c语言,智能关机软件
  11. 匈牙利算法——最大匹配问题详解
  12. Java中Integer类的方法
  13. mysql myisam key_buffer_size_MyISAM中key_buffer_size的设置_MySQL
  14. Mechine Learing一:工程刚需的 “算法” 评估指标
  15. 如何安装TrueNAS
  16. 微信消息记录导出到电脑
  17. Legion 一款网络渗透工具
  18. 安装Pure-ftpd
  19. 【量化选基】中证500指数增强比300增强好吗?
  20. Cannot build artifact ‘SSM模板+登录注册:war exploded‘ because it is included into a circular dependency (a

热门文章

  1. bottleneck网络结构
  2. Floyd's Tortoise and Hare循环检测算法
  3. 八皇后问题----Java实现
  4. 数据库监控 Prometheus + Grafana
  5. C# 开发的 webBrowser打开网页出现脚本错误解决
  6. 淳于髡(约前386年—前310年)
  7. 【随机过程】课后作业 1-条件概率期望密度
  8. 使用JS快速读取TXT文件
  9. 用VSCode写简历表
  10. win10 外接触摸屏触摸校准