转自:解析IBM内存三技术:Chipkill、MPX、MM

内存作为服务器中的又一个重要的组成部分,对于企业的应用起着十分重要的作用。如今,企业用户对于服务器的要求逐渐提升,使得在提高内存密度、增大内存容量的同时,保证系统内存的可靠性受到广泛的关注。特别是有自己内存技术的厂商推出自己的服务器内存技术来满足用户对于实效性的应用的需求。

厂商IBM依靠其品牌和技术优势给予服务器行业带来了各项技术,尽管内存技术作为服务器产品中的重要应用部分,但是并不是每个厂商都拥有自己的独特技术。为此服务器内存在普通内存的基础上,进行了一系列的革新,IBM的内存技术对整个服务器稳定性的保障起着至关重要的作用。

IBM的服务器三大内存技术包括:Chipkill内存、Memory ProteXion(内存保护)和Memory Mirroring(内存镜像)。

    Chipkill内存技术

对于服务器的内存技术而言,ECC可以说是最为熟知的技术,各大厂商的服务器都支持ECC技术,ECC的英文全称是“ Error Checking and Correcting”(错误检查和纠正),它的主要功能就是“发现并纠正错误”。尽管这种技术可以检测和纠正错误,但是对于同时产生多个错误,该技术无能为力,IBM Chipkill内存技术就是为了ECC内存技术的不足而开发的,是一种新的ECC内存保护技术。

  Chipkill内存技术支持下,每个ECC单元可单独用一个数据位来保存的,通过识别码分别保存在不同的内存空间中。即使整个内存芯片出了故障,每个ECC单元也将最多出现一比特坏数据,从而保证内存子系统的容错性,保证了服务器在出现故障时,有强大的自我恢复能力。

  另外,Chipkill内存控制器具有类似存储阵列保护模式。即使出现错误,内存控制器能够从失效的芯片重新构造“失去”的数据,使得服务器可以继续正常工作。而这种Chipkill内存技术可以同时检查并修复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)内存。因为镜像内存采用的的两套内存中实际只有一套在使用,另一套用于备份,所以对于软件系统来说也就只有整个内存的一半容量是可用的。

IBM内存三技术:Chipkill、MPX、MM的更多相关文章

  1. [转帖]新一代IBM Z14主机技术介绍

    新一代IBM Z14主机技术介绍 https://cloud.tencent.com/developer/news/268909 IBM最新的已经有IBM Z15 主机了.. 文章来源:企鹅号 - 云 ...

  2. C语言中的内存压缩技术

    C语言中的内存压缩技术 前言 在整个研究生阶段我都在参与一个LTE协议栈实现的项目,在这个项目中,我们利用一个自己编写的有限状态机框架将协议栈中每一层实现为一个内核模块.我们知道,在编写内核代码时需要 ...

  3. 【转】图片缓存之内存缓存技术LruCache、软引用 比较

    每当碰到一些大图片的时候,我们如果不对图片进行处理就会报OOM异常,这个问题曾经让我觉得很烦恼,后来终于得到了解决,那么现在就让我和大家一起分享一下吧.这篇博文要讲的图片缓存机制,我接触到的有两钟,一 ...

  4. Netty精粹之轻量级内存池技术实现原理与应用

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

  5. iOS开发ARC机制下的内存管理技术要点

    转载一篇: iOS开发ARC内存管理技术要点.ARC内存管理原则总结.iOS ARC内存管理总结 ARC内存管理机制 (一)ARC的判断准则: 只要没有任何一个强指针指向该对象,该对象就会被释放. ( ...

  6. 【转】IBM PowerVM虚拟化技术笔记

    1. 从CPU虚拟化的角度, 分区(partition)可以分成两大类:Micro-partition和Dedicated-procesor.前者可以将物理处理器以0.01的 粒度分配给微分区,分区创 ...

  7. 带你走进memcache,老牌内存缓存技术

    一.核心优化概述 什么是优化:以更小的资源支持更大负载网站的运行,以小博大. 思路:尽量减少用户等待时间,节省系统资源开销,节省带宽使用. 优化什么地方?有三方面:Memcache内存缓存技术.静态化 ...

  8. 【原创】Java内存攻击技术漫谈

    前言 Java技术栈漏洞目前业已是web安全领域的主流战场,随着IPS.RASP等防御系统的更新迭代,Java攻防交战阵地已经从磁盘升级到了内存里面. 在今年7月份上海银针安全沙龙上,我分享了< ...

  9. Oracle内存管理技术

    1.Oracle内存管理技术 2.配置自动内存管理(AMM) 3.监视自动内存管理(AMM) 4.配置自动共享内存管理(ASMM) 5.配置自动PGA内存管理 Reference 1.Oracle内存 ...

随机推荐

  1. EJB配置jboss数据源

    1.数据源的模板在\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\docs\examples\jca\下2.编辑数据源文件,比如mysql-ds.xml,命名规则是名称-ds. ...

  2. SWTError: No more handles [gtk_init_check() failed] running platform tests (on Linux)

    http://www.lemmster.de/2013-12-19-swterror-no-more-handles-gtk_init_check-failed-running-platform-te ...

  3. ubuntu 14.04安装 nginx直播服务平台

    在官网上下载nginx,可以选中直接从ubuntu的源红直接安装:sudo apt-get install nginx.还有就是源码编译安装,我选择的是源码编译安装.具体的步骤如下: ll /usr/ ...

  4. java 核心技术卷一笔记 6 .2.3 接口 lambda 表达式 内部类

    6.2.3   对象克隆 Cloneable 接口,这个接口指示一个类提供了一个安全的clone方法.(稍作了解) 为一个对象引用的变量建立副本时,原变量和副本都是同一个对象的引用,任何一个变量改变都 ...

  5. OpenGL 渲染上下文-context

    context理解 OpenGL在渲染的时候需要一个Context,这个Context记录了OpenGL渲染需要的所有信息,可以把它理解成一个大的结构体,它里面记录了当前绘制使用的颜色.是否有光照计算 ...

  6. spring框架的总结

    http://www.cnblogs.com/wangzn/p/6138062.html 大家好,相信Java高级工程师对spring框架都很了解吧!那么我以个人的观点总结一下spring,希望大家有 ...

  7. python自动化基础问题解析

      (1)自动化代码中用到的设计模式: po模式(page object): 1.PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰. 2.页面对象与用例分离,使得我们更好的复 ...

  8. js正则函数match、exec、test、search、replace、split使用集合

    match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...

  9. Bootstrap 原始按钮

    Bootstrap 原始按钮 <!DOCTYPE html><html><head><meta http-equiv="Content-Type&q ...

  10. linux的less命令

    less 在查看之前不会加载整个文件.可以尝试使用 less 和 vi 打开一个很大的文件,你就会看到它们之间在速度上的区别. 在 less 中导航命令类似于 vi.本文中将介绍一些导航命令以及使用 ...