
订阅
0有用+1
Chipkill是IBM公司为美国航空航天局(NASA)探路者探测器研发的ECC内存保护技术,旨在解决传统ECC技术无法纠正多位数据错误的问题 [6] [10]。其原理通过将数据分散存储至多个DIMM芯片,利用内存控制器自动重构错误数据,可同时修复4个错误数据位 [1] [5] [7] [12]。该技术允许单个DRAM芯片完全失效时仅影响一比特数据,显著提升服务器内存容错性 [2] [7]。
Chipkill技术最初基于IBM大型机系统开发,后应用于航天领域并扩展至服务器市场 [8-9]。IBM第三代技术将其集成到x架构芯片组,支持使用标准ECC存储器。该技术被应用于IBM X3650服务器的奇梦达DDR II SDRAM内存,并配备于Power E1080服务器的x4 DDIMM模块 [2-3]。国内宝德、方正等厂商部分中低端服务器亦采用该技术 [4] [8]。该技术也应用于X3系统 [15],适用于需要处理复杂任务的高端服务器,如科学计算、人工智能等场景 [17]。
- 外文名
- Chipkill
- 所属公司
- IBM公司
简介
播报编辑
Chipkill内存最初是仔凳虹由提蒸殃IBM大型机发展而来的 [8],Chipkill是为美国航空航天局(NASA)的“探路者”探测器赴火星探险而研制的。它是IBM公司为了弥补服务器内存中ECC技术的不足而开发的,是一种悼符采新的ECC内存保护技术。作为一种高可靠的存储器纠错技术 [18],它允许单个DRAM芯片完全阿踏估失效时仅影响一比特数据 [2] [7],墓拳可同时修复4个错误数据位 [1] [5] [7],显著提升寒组婶达服市院务器内存容错性 [2] [7]翻嫌。
优点
播报编辑
对比旧ECC内存技术的优点
ECC内存技术虽然可以同时检测和纠正单一比特错误,但如果同时检测出两个以上比特的数据错误,则无能为力。但基于Intel处理器架构的服务器的CPU性能以几何级的倍数提高,而硬盘驱动器的性能同期只提高了5倍,因此为了保证正常运行,服务器需要大量的内存来临时保存从CPU上读取的数据。这样大的数据访问量就导致单一内存芯片在每次访问时通常要提供4(32位)或8(64位)字节以上的数据。一次性读取这么多数据,出现多位数据错误的可能性会大大提高,而ECC又不能纠正双比特以上的错误,这样就很可能造成全部比特数据的丢失,系统就会很快崩溃。IBM的Chipkill技术是利用内存的子结构方法来解决这一难题的。
具体而言,采用Chipkill技术的内存可以同时检查并修复4个错误数据位,进一步提高服务器的实用性 [9]。该技术保证内存子系统的容错性,即使整个内存芯片故障,每个ECC单元最多出现一比特坏数据,可通过ECC逻辑修复,使服务器具备自我恢复能力 [11]。内存控制器能够从失效芯片重新构造数据,确保服务器继续正常工作,从而提高服务器的实用性 [9] [16]。
设计原理
播报编辑
Chipkill内存子系统的设计原理是这样的:在Chipkill技术支持下,单一内存芯片无论数据宽度是多少,只有一个给定的ECC识别码,它的影响最多为一比特。举个例子来说明,如果使用4比特宽的SDRAM,4比特中的每一位的奇偶性将分别组成不同的ECC识别码,每个ECC单元可单独用一个数据位来保存,也就是说这些识别码分别保存在不同的内存空间中。因此,即使整个内存芯片出了故障,每个ECC单元也将最多出现一比特坏数据。出现这种情况完全可以通过ECC进行逻辑修复,从而保证了内存子系统的容错性,保证了服务器在出现故障时,有强大的自我恢复能力。Chipkill内存控制器所提供的存储保护在概念上和具有校验功能的磁盘阵列类似。具体实现中,数据被分散存储到多个DIMM芯片上,每个DIMM存储数据的一部分,从而在单个芯片失效时最小化影响。 [1] [5] [7]在写数据的时候,把数据写到多个DIMM内存芯片上。这样,每个DIMM所起的作用和存储阵列相同。如果其中任何一个芯片失效了,它只影响到一个数据字节的某一比特,因为其他比特存储在另外的芯片上。出现错误后,内存控制器能够从失效的芯片重新构造"失去"的数据,使得服务器可以继续正常工作。采用这种Chipkill内存技术的内存可以同时检查并修复4个错误数据位,进一步提高了服务器的实用性。
发展
播报编辑
Chipkill技术最初由IBM公司开发,其根源可追溯至IBM大型机系统。该技术旨在解决传统ECC技术无法纠正多位数据错误的问题,成为一种内存保护标准。 [9]
Chipkill技术不仅在IBM服务器中应用,还通过授权在多个国内外服务器品牌中使用。例如,它被应用于IBM的x系列服务器以及一些国内厂商的服务器产品。 [9] [13-14]
第三代Chipkill内存技术已集成到IBM的x架构芯片组中。例如,IBM的X3芯片组就集成了Chipkill技术。 [15]该技术最初由IBM公司在主机系统中开发。其功能可以检测并纠正多比特内存错误。该技术允许服务器使用工业标准的ECC存储器。Chipkill技术也受到了学术界的关注,相关研究对其技术原理和应用进行了探讨。 [18]
