内存的可靠性、可用性和诊断功能(内存RAS)

内存的可靠性、可用性和诊断功能(内存RAS)

RAS - Reliability, Availability and Serviceability

Reliability: 可靠性。指的是系统必须尽可能的可靠,不会意外的崩溃,重启甚至导致系统物理损坏,这意味着一个具有可靠性的系统必须能够对于某些小的错误能够做到自修复,对于无法自修复的错误也尽可能进行隔离,保障系统其余部分正常运转。

Availability:可用性。指的是系统必须能够确保尽可能长时间工作而不下线,即使系统出现一些小的问题也不会影响整个系统的正常运行,在某些情况下甚至可以进行 Hot Plug 的操作,替换有问题的组件,从而严格的确保系统的 downtime 时间在一定范围内。

Serviceability:指的是系统能够提供便利的诊断功能,如系统日志,动态检测等手段方便管理人员进行系统诊断和维护操作,从而及早的发现错误并且修复错误。

RAS 作为一个整体,其作用在于确保整个系统尽可能长期可靠的运行而不下线,并且具备足够强大的容错机制。这对于像大型的数据中心,网络中心如股票证券交易所,电信机房,银行的数据库中心等应用环境是不可或缺的一部分。

ECC内存技术

ECC (Error Detection Code) - 错误检查和纠正。在数据位上额外的位存储一个用数据加密的代码,称为ECC码。ECC码将信息进行8比特位的编码,采用这种方式可以恢复1比特的错误。每一次数据写入内存的时候,ECC码使用一种特殊的算法对数据进行计算,其结果称为校验位(check bits)。然后将所有校验位加在一起的和是“校验和”(checksum),校验和与数据一起存放。当这些数据从内存中读出时,采用同一算法再次计算校验和,并和前面的计算结果相比较,如果结果相同,说明数据是正确的,反之说明有错误,ECC码则会被解码,以确定数据中的那一位是不正确的。然后这一错误位会被改正过来不影响系统运行。

ChipKill技术

ECC内存技术虽然可以同时检测和纠正单一比特错误,但如果同时检测出两个以上bits数据有错误,则无能为力。IBM的Chipkill 技术是利用内存的子结构方法来解决这一难题,弥补ECC的不足。Chipkill内存控制器所提供的存储保护在概念上和具有校验功能的磁盘阵列类似:在写数据的时候,把数据写到多个DIMM内存芯片上。这样,每个DIMM所起的作用和存储阵列相同。如果其中任何一个芯片失效了,它只影响到一个数据字节的某一比 特,因为其他比特存储在另外的芯片上。出现错误后,内存控制器能够从失效的芯片重新构造“失去”的数据,使得服务器可以继续正常工作。

Memory ProteXion / RBS

Memory ProteXion(内存保护,也称“冗余位迁移(RBS)”)是IBM的一项内存纠错技术,最初是为IBM大型机所开发的。它相对前面介绍的Chipkill内存技术在保护能力上更强些。它的工作方式与Windows NTFS 文件系统中热备用磁盘扇区有些类似,如果操作系统检测到磁盘上有坏扇区,它将把数据写到备用扇区以实现这一目的。

SDDC 和DDDC

英特尔提供了与ChipKill类似的功能,叫做单设备数据校正(Intel x4 / x8 SDDC) 。可修正单个DRAM设备上的多比特位错误,将单个 DRAM 从内存映射中删除,并将 DRAM 数据恢复至新设备,以快速修复整个 DRAM 设备的故障。在出错的DRAM从内存映射中被删除后,还可以继续进行单比特位数据校正。

DDDC是双设备数据校正。允许纠正双位硬件内存错误。确保当一个DIMM上的二个DRAM芯片发生多比特位错误时也能修复产生的错误,将出错的DRAM从内存映射中删除,并将修复好的数据恢复至新设备。 在出错的DRAM从内存映射中被删除后,还可以继续进行单比特位数据校正。

Memory Scrubbing

ECC只有在写入数据时才会产生,并且只有当从内存读取数据的时候,ECC模块才会去读取ECC校验码,并对照相同与否来发现出现的错误。但是,错误可能发生在还没有被访问到的内存位置,如果这种错误累积,就会导致无法修复的多比特位错误,进而导致数据损坏甚至系统崩溃。内存检查(Memory Scrubbing)是Intel的内存检查技术,引入一个嵌入式硬件引擎,不断地监测并修复出现的内存错误,从而可确保不会造成错误积累到不可修复的程度。

Memory Mirroring 内存镜像

内存镜像(Memory Mirroring) 采用两组DIMM互为镜像的方式形成一种备份机制,工作原理与RAID1硬盘类似,内存镜像是将内存数据做两个拷贝,分别放在主内存和镜像内存中。

正常工作情况下,内存数据读取只从活动内存卡中进行。只是当活动内存出现故障,内存保护和Chipkill修复技术都不能完全修复,才会从镜像内存中读取数据。如果一个内存中有足以引起系统报警的故障,系统会报告系统管理员;同时服务器就会自动地切换到使用镜像内存卡,直到这个有故障的内存被更换。镜像内存允许进行热交换(Hot swap)和在线添加(Hot-add)内存。

因为镜像内存采用的的两套内存中实际只有一套在使用,另一套用于备份,所以对于软件系统来说也就只有整个内存的一半容量是可用的。

Memory Sparing 内存备用

内存备用(Memory Sparing) 可以实现以DIMM为单位或是以Rank为单位的内存备用。当一个Rank或是DIMM将要失效(错误超过阈值)时,就会启动备用的Rank或DIMM,同时对出错的和备用的Rank或DIMM写入数据,当所有数据全部转移至备用Rank或DIMM后,将出错的Rank或DIMM关闭,切换至备用的Rank或是DIMM上,以避免系统的停机。内存备用(Memory Sparing)不能与内存镜像(Memory Mirroring)同时使用。

LockStep技术

内存通道的访问可分为独立通道模式(Independent Channel Mode)和精确同步模式(LockStep Channel Mode)。独立通道模式是指每个通道(Channel)独立运行,一个内存通道对应CPU的一个高速缓存行(Cache-line)。而LockStep技术使用相同的、冗余的硬件组件在同一时间内处理相同的指令,从而实现一个CPU高速缓存行(Cache-line)上的数据被分布到几个内存通道上。LockStep技术可以保持多个CPU、内存精确的同步,在正确的相同时钟周期内执行相同的指令。该技术保证能够发现任何错误,即使短暂的错误,系统也能在不间断处理和不损失数据的情况下恢复正常运行。LockStep也称锁步,或高级ECC。

Memory Interleaving 交叉存取技术

Memory Interleaving交叉存取技术是加快内存速度的一种技术 。 在典型的服务器系统中,大量连续的内存访问可能是性能瓶颈,因为内存访问时延会带来等待时间。 交叉存取技术是一种并行操作的内存存取,内存被分为一系列的簇,有多少个簇就叫做几路交叉存取。它的原理类似于RAID0技术。在交叉存取方式中,相邻位置的内存数据是被分在不同的块中,只要读写操作是要在两个块中进行的,它们就可以同时进行,从而有效地提高系统性能 。

Memory Hemisphere Mode

Hemisphere模式是一种高性能的交错模式。CPU内两个内存控制器之间的内存交错存取,处理器的Caching Agent 1不会访问其Home Agent 2,从而达到降低内存延迟(Latency),提高内存呑吐量,提高性能的目的。Hemisphere模式要求两个内存控制器之间的内存配置在DIMM规格和DRAM大小上完全一致。

UMA和NUMA

一致存储器访问(UMA)结构体系有时也被称为SMP(Symmetric Multi-Processor )模式。SMP模式将多个处理器与一个集中的存储器和I/O总线相连。所有处理器只能访问同一个物理存储器。一致性意指无论在什么时候,处理器只能为内存的每个数据保持或共享唯一一个数值。SMP的缺点是可伸缩性有限,因为在存储器和I/O接口达到饱和的时候,增加处理器并不能获得更高的性能。

NUMA(non-uniform memory access)是一种分布式存储器访问方式,处理器可以同时访问不同的存储器地址,大幅度提高并行性。 NUMA模式的基本特征是具有多个CPU模块,每个CPU模块由多个CPU组成,并且具有独立的本地内存、I/O槽口等。由于其节点之间可以通过互联模块(如称为Crossbar Switch)进行连接和信息交互,因此每个CPU可以访问整个系统的内存(这是NUMA系统与MPP系统的重要差别)。访问本地内存的速度将远远高于访问远地内存(系统内其它节点的内存)的速度,这也是非一致存储访问NUMA的由来。

预测故障分析

Predictive Failure Analysis预测故障分析。其关键任务目标是最小化非计划宕机时间。PFA(预测故障分析)会监控系统自身健康情况,并在失效实际发生前产生告警的能力。

Machine Check Architecture

Intel RAS集中解决三个方面的问题:一是数据保护,利用CRC、ECC等硬件机制来对传输的数据进行校验、纠错,如果无法纠正,就将损坏的数据进行隔离,以保证不造成更大的数据,避免系统的重启和宕机。二是高可用性,包括各种主要部件的备、镜像和热切换等,以保证系统的高可用性。三是计划宕机时间最小化,包括系统分区管理技术、CPU和内存的热添加和热移除等,将系统维护时间降低到最小。

除此之外,Intel建立了一个CMCI架构,以保证纯硬件的数据纠错,在硬件层保障信号传输的正确性。

当发生硬件无法完全纠正的错误的时候,Intel 进而提供了一系列需要联合OS/firmware进行的错误隔离以及错误恢复。对无法纠正的数据,使用一个Poison(毒药)标记,OS/firmware可以知道这些数据在硬件层次上无法恢复,从而可以决定进行Retry或者丢弃。

这些特性形成了一个完整的MCA架构(Machine Check Architecture)。MCA功能可以在不关机的情况下检查和纠正处理器、内存或者IO中的错误,在OS配合的情况可以对系统进行热维护,保障系统的不间断运行。微软Windows Server、RedHat、SUSELinux以及VMware等平台都已经支持这一功能。

  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
3.3 安全性、可靠性和性能评价 3.3.1主要知识点 了解计算机数据安全和保密、计算机故障诊断与容错技术、系统性能评价方面的知识,掌握数据加密的有关算法、系统可靠性指标和可靠性模型以及相关的计算方示。 3.3.1.1数据的安全与保密 (1) 数据的安全与保密 数据加密是对明文(未经加密的数据)按照某种加密算法(数据的变换算法)进行处理,而形成难以理解的密文(经加密后的数据)。即使是密文被截获,截获方也无法或难以解码,从而阴谋诡计止泄露信息。数据加密和数据解密是一对可逆的过程。数据加密技术的关键在于密角的管理和加密/解密算法。加密和解密算法的设计通常需要满足3个条件:可逆性、密钥安全和数据安全。 (2) 密钥体制 按照加密密钥K1和解密密钥K2的异同,有两种密钥体制。 ① 秘密密钥加密体制(K1=K2) 加密和解密采用相同的密钥,因而又称为密码体制。因为其加密速度快,通常用来加密大批量的数据。典型的方法有日本的快速数据加密标准(FEAL)、瑞士的国际数据加密算法(IDEA)和美国的数据加密标准(DES)。 ② 公开密钥加密体制(K1≠K2) 又称不对称密码体制,加密和解密使用不同的密钥,其中一个密钥是公开的,另一个密钥是保密的。由于加密速度较慢,所以往往用在少量数据的通信中,典型的公开密钥加密方法有RSA和ESIGN。 一般DES算法的密钥长度为56位,RSA算法的密钥长度为512位。 (3) 数据完整性 数据完整性保护是在数据中加入一定的冗余信息,从而能发现对数据的修改、增加或删除。数字签名利用密码技术进行,其安全性取决于密码体制的安全程度。现在已经出现很多使用RSA和ESIGN算法实现的数字签名系统。数字签名的目的是保证在真实的发送方与真实的接收方之间传送真实的信息。 (4) 密钥管理 数据加密的安全性在很大程度上取决于密钥的安全性。密钥的管理包括密钥体制的选择、密钥的分发、现场密钥保护以及密钥的销毁。 (5) 磁介质上的数据加密 常用的方法有:硬加密的防复制技术、软加密的防解读技术和防跟踪技术。硬加密技术常用的3种方式是:①利用非标准格式的磁介质记录方式;②激光加密技术;③利用专用的硬件。 3.3.1.2计算机系统可靠性 计算机系统的可靠性是指从它开始运行(t=0)到某时刻t这段时间内能正常运行的概率,用R(t)表示。所谓失效率是指单位时间内失效的元件数与元件总数的比例,以表示,当为常数时,可靠性与失效率的关系为: R(t)=e-λt 两次故障之间系统能正常工作的时间的平均值称为平均无故障时间MTBF: MTBF=1/λ 通常用平均修复时间(MTRF)来表示计算机的可维修性,即计算机的维修效率,平均修复时间指从故障发生到机器修复平均所需要的时间。计算机的可用性是指计算机的使用效率,它以系统在执行任务的任意时刻能正常工作的概率A来表示。 A=MTBF/(MTBF+MTRF) 计算机的RAS技术,就是指用可靠性R、可用性A和可维修性S这3个指标衡量一个计算机系统。但实际应用中,引起计算机故障的原因除了元器件以外还与组装工艺、逻计算机可靠性模型有关。 常见的系统可靠性数学模型有以下3种: ① 串联系统。假设一个系统由N个子系统组成,当且仅当所有的子系统都能正常工作时,系统才能正常工作,这种系统称为串联系统。 设各子系统的可靠性为R1、R2、…Rn,则整个串联系统的可靠性为:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值