服务器跟普通PC一样需要内存,但由于受到电磁干扰,电压突变等因素的影响,内存的数据可能会发生错误,导致系统的崩溃。虽然说现在的内存出错的几率已经很低,可还是不能满足服务器稳定性的要求,所以服务器的内存一般还会引入各种的内存的纠错技术,以降低宕机的几率。
内存的纠错技术有很多种,主要有奇偶校验技术、ECC技术和IBM的Chipkill-correct ECC技术,下面我们就来简单介绍一下这几种技术。
奇偶校验技术
奇偶校验的原理很简单,我们知道在内存中数据是用二进制来保存的,也就是说当中的数据不是0就是1,我们可以增加一位来存储数据中内容为0(或1)的位数是奇数(或偶数)的真假。具体做法是这样的,假设现在要储存一个n位的数据(X0 X1 X2……Xn),我们先将各位进行异或运算得出校验码C=X0 xor X1 xor X2……xor Xn,再将 取补并存到第n+1个位中;读取数据的时候,先将读取出来的数据的各位和校验码进行异或运算(not C xor X0 xor X1 xor X2……xor Xn),如果得出来的结果为1,则说明数据没有错误,否则说明数据出现了错误,需要更正。因为一个字节有8位,所以一般每8位就取一个奇偶校验位。奇偶校验的缺点也是明显的,如果数据中错误位数之和为偶数时就不能被发现了,而且奇偶校验只能够发现错误,不能够查并改正错误,因此,ECC内存校验技术也应运而生。
ECC技术
ECC(Error Correcting Code/Error Checking and Correcting)也称为SEC(Single Error Correct )ECC,它跟奇偶校验一样,需要额外的空间来储存校正码,但其占用的位数跟数据的长度并非成线性关系,具体来说,一个8位的数据产生的ECC码要占用5位的空间,而一个16位数据ECC码只需增加一位,就是6位,而32位的数据则要7位的ECC码,如此类推。显然ECC码的长度跟数据的长度成的是对数关系,当数据长度在64位以上的时候,ECC码在空间占用上就会凸现优势。此外,ECC校验最大的优点是如果数据中有一位错误,它不但能发现而且可以对其更正,ECC校验还可以发现2~4位错误(不能更正),当然这样的情况出现的几率是非常低的。ECC码的校验算法比奇偶校验复杂不少,需要专门的芯片来支持,所以普通的电脑主板不一定会支持ECC内存校验,而且因为系统需要时间来等待校验的结果,ECC校验会降低系统速度2%-3%左右,但这小小的代价换来系统稳定性的大大提高可以说事非常值得的。
Chipkill-correct ECC技术
随着服务器运算速度的提高,内存容量的增大,内存出错的几率也在上升,据统计,带1GB SEC ECC内存的系统在三年内发生错误的几率是7%,这对于现在企业级服务器的稳定性要求是远远不够的,所以在97年,IBM率先提出了Chipkill-correct ECC技术,其可以将1GB内存系统三年内发生错误的几率降到0.06%!其原理跟硬盘的RAID技术相似,所以也叫做RAID-M(Redundant Array of Inexpensive DRAMs - for Memory)技术。具体做法是将若干字节的数据很其ECC校验码合成一个“ECC WORD”,再将其分开存储到几根不同的内存上。所以其容错能力大大加强,存储方式有点像RAID5技术。此外,Chipkill还加大了ECC码的长度,使其有更强的纠错能力,如一个128位的数据加16位的ECC码可以容许4位的错误。但是这种系统的内存必须成对出现,而且对其算法芯片的设计比较困难,所以一般只用在大型的服务器上。
分享到:
相关推荐
本节课我们将深入认识服务器及其工作原理。 首先,我们需要理解服务器的基本概念。服务器是一种高性能计算机,通常拥有强大的处理器、大量内存和高速硬盘,以便能够高效地处理多个并发连接和大数据量的传输。它们...
这些内存模组与普通台式机内存模组外观上相似,但服务器内存必须支持ECC功能,用于发现并纠正数据中的错误,保持系统的稳定运行。 服务器其他组件包括储存卡、网卡、光纤卡、硬盘、NVMe、NVDIMM/AEPDIMM、GPGPU等。...
服务器交接单是指在服务器设备的转移过程中,为了确保双方对服务器的状态有共同的认识而制定的一份文档。这份文档详细记录了服务器的基本信息以及各个组成部分的具体情况,是进行服务器交接的重要依据。 #### 2. ...
服务器产品整体结构的认识是IT行业中一项基础且重要的知识,它涉及到服务器的组装、测试和分类。本培训PPT主要介绍了服务器的几个关键级别和不同类型的服务器结构。 首先,服务器的组装过程分为多个级别,从最基本...
服务器产品整体结构的认识是IT行业中一项基础且重要的学习内容,主要涵盖了服务器的分类、组装测试流程以及特定类型的服务器——存储服务器的功能特点。本教程通过PPT形式提供了详细的学习材料。 首先,服务器产品...
从服务器的发展历史、基础架构、处理器的分类、CPU、内存、硬盘的关键指标、小型机的定义让你重新认识服务器。此文档可直接用于培训
6. **内存管理**:在处理请求和响应的过程中,要合理使用malloc()和free()进行动态内存分配和释放,防止内存泄漏。 7. **性能优化**:对于高并发场景,可以考虑使用非阻塞I/O、线程池或者异步事件驱动模型(如...
嵌入式Web服务器移植是一项关键的技术任务,尤其在当今物联网(IoT)设备日益普及的背景下,让设备具备Web服务功能变得越来越重要。本资料集合提供了丰富的资源,帮助开发者将Web服务器技术应用到嵌入式环境中,特别是...
通过这样的三维模型,我们可以对服务器的硬件配置有直观且深入的认识,包括但不限于主板、处理器、内存插槽、存储设备、电源模块等关键部件的位置关系。这些模型通常以STL、SLDPRT等专业三维建模格式存在,便于在...
GB级的服务器处理器、大量的内存和高速硬盘可以用 很便宜的价格买到。基于Linux的路由器在执行某些常见的任务时的性能可以超过特制的路由器。实际上,一年两次的美国LinuxWorld大会经常展示 Linux的路由设备。专业...
通过上述分析可以看出,《服务器CPU天梯图》为我们提供了丰富的信息,不仅帮助我们了解当前市场上的主流处理器型号,还让我们对它们的技术特点和适用场景有了更深入的认识。这对于选择适合自己业务需求的服务器硬件...
Power5服务器的RAS技术是IBM eServer p5服务器的可靠性、可用性、服务性技术的介绍,认识。RAS技术是衡量服务器“含金量”的重要因素之一,也是用户进行服务器选择、确保在其上运行的关键应用能连续稳定可靠的标准...
本文将从多个角度详细解析这款服务器的源码,帮助读者构建对Web服务器工作原理的全面认识。 首先,我们要明白Web服务器的基本职责。Web服务器主要负责接收HTTP请求,解析请求头,处理请求内容,然后返回HTTP响应给...
第5章“刀片服务器内存的配置”指导用户如何根据业务需求选择合适的内存模块,以及如何正确安装和配置内存,以达到最佳性能。 第6章“刀片服务器硬盘的安装”讲解了硬盘的选择、安装和RAID配置,这对于数据存储和...
- **刀片服务器规格**:包括处理器型号、内存容量、硬盘类型等具体配置信息。 #### 4. 存储性能测试方案 - **测试环境**:描述了进行存储性能测试的具体环境设置。 - **测试用例**:列出了用于评估存储性能的一...
但必须认识到,这种方法仅是临时解决方案,可能存在性能瓶颈,而且并不能保证所有应用程序都能充分利用到这些额外的内存资源。 总的来说,开启4GB以上大内存的支持功能是针对32位Windows系统的一个挑战,可以通过...
本教案对服务器配置与选型进行了详细的讲解,包括处理器性能、磁盘驱动器的性能指标、服务器系统可用性、服务器硬件的冗余、数据吞吐能力和可管理性等,旨在让学生对服务器的性能和配置有一个简单的认识,并初步掌握...