4.5.1 内存概述
概念
内存是CPU能直接寻址的存储空间,用于暂时存储程序及数据。几种常见内存如图4-9所示。
类型
内存按接口类型,可分为如下几类:
l EDO DRAM
外扩充数据模式存储器EDO DRAM(Extended Date Out RAM),取消了扩展数据 输出内存与传输内存两个存储周期之间的时间间隔,在把数据发送给CPU的同时去 访问下一个页面,速度比普通动态随机存储器DRAM(Dynamic Random Access Memory)快15%~30%。
EDO DRAM主要应用在486及早期的Pentium电脑上。
l SDRAM
同步动态随机存取存储SDRAM(Synchronous Dynamic Random Access Memory), 它的输入输出信号保持与系统外频同步,速度明显超越EDO DRAM。
l RDRAM
RDRAM(RAMBUS DRAM)是RAMBUS开发的一种高性能、芯片对芯片接口技 术的存储产品。它基于一种类RISC理论,可以减少数据的复杂性,提高整个系统性 能。
l DDR
DDR全称为DDR SDRAM(Double Data Rate SDRAM),表示双倍速率SDRAM。 DDR在时钟信号上升沿与下降沿各传输一次数据,比SDRAM多采用了下降沿信 号,所以DDR的数据传输速度是SDRAM的两倍。
l DDR2
DDR2在时钟信号的上升沿与下降沿进行数据传输。DDR2的预读取能力是4bit,是 DDR的两倍。
l DDR3
DDR3比DDR2有更低的工作电压,从DDR2的1.8V降到1.5V,性能更好更省电。而 且,DDR3的预读取能力是8bit,是DDR2的两倍。
l FBD
全缓冲内存模组FBD(Fully Buffered DIMM),是Intel开发的一种新型内存模组与
互联架构。目前,FBD成为Intel平台主流。FBD借助高级内存缓冲芯片AMB (Advanced Memory Buffer)将并行数据转换为串行数据流,经由类似PCIExpress的点对点高速串行总线将数据传输给CPU。每个双列直插内存模块DIMM(Dual-Inline Memory Module)上的缓冲区互相串联,之间是点对点连接,数据在经过第一个缓冲区后传向下一个缓冲区。这样,每一个缓冲区与内存控制器之间的连接阻抗保持稳定,有助于提升容量与频率。FBD的工作原理如图4-10所示。
FBD采用串行传输技术,引入多通道设计,提升了内存容量和传输带宽。FBD支持 高达192GB的容量,与DDR2相比提供高出3倍以上的内存吞吐率。同时,FBD提高 了可靠性,它为命令和地址提供循环冗余校验保护,支持内存热备和镜像。
相关技术
内存主要相关技术包括:
[b]l 奇偶校验技术/b]
奇偶校验技术(Parity)是在每一字节(8位)外增加1位校验位进行错误检测。奇偶校验技术会把一个字节的每一位相加,结果为奇数校验位为1,结果为偶数校验 位为0。当CPU返回读取的存储数据时,内存会再次相加前8位中存储的数据,检测 计算结果是否与校验位一致。当发现两者不同时,内存会试图纠正错误。
奇偶校验技术有一个缺点,当内存查到某个字节有错误时,不一定能确定错误出在 哪一位,不一定能修正错误。所以,奇偶校验技术主要功能是发现错误,并纠正部 分简单的错误。
[b]l ECC技术/b]
错误检查和纠正ECC(Error Checking and Correcting)技术,也需要额外空间存储校正码。ECC技术以8位数据、5位ECC码为基准,数据位每增加一倍,ECC码增加 1位。例如,一个8位数据需要5位ECC码,一个16位数据需要6位ECC码,一个32位 数据需要7位ECC码,依次类推。
每当数据写入内存时,ECC技术使用一种特殊的算法对数据进行计算,其结果称为校验位。将所有校验位加在一起的和是校验和,校验和与数据一起存放。当这些数 据从内存中读出时,采用同一算法再次计算校验和,并和前面的计算结果相比较。 如果结果相同,说明数据正确,反之说明有错误。
ECC技术可以同时检测和纠正单一比特错误。它还可以检测发现2~4比特错误,但 不能纠正。
[b]l Chipkill技术/b]
Chipkill技术是IBM公司开发的一种新的ECC内存保护标准。每当数据写入内存时,Chipkill技术把数据写到多个DIMM上。当其中任何一个DIMM失效,只影响到一个 数据字节的某一比特,可以通过ECC逻辑修复。
Chipkill技术可以同时检测和纠正4比特错误。
[b]l 内存镜像技术/b]
内存镜像技术把内存划分为工作内存与镜像内存。每当数据写入内存时,同时写入两个内存区域,避免内存故障导致数据丢失。而且,工作内存与镜像内存不处于同一通道,避免内存通道错误而引起数据丢失。平时的内存数据读取只在工作内存中进行。当工作内存发生故障,则服务器自动切换到镜像内存读取数据。
由于镜像内存的存在,服务器只有整个内存的一半容量可用。
[b]l 内存热备技术/b]
每个内存通道中有一个DIMM不使用,预留为热备内存。热备内存在正常情况下不使用。当工作内存的故障次数达到预设的容错阈值,系统自动将故障内存中的数据 传输到热备内存,热备内存代替故障内存工作。
[b]l Register/b]
Register即寄存器或目录寄存器,在内存上的作用相当于书的目录。内存接到读写指令时,先检索此目录,再进行读写操作。若所须数据在目录中,内存直接取用不 再进行读写操作,提高工作效率。