寄存器内存也称缓冲器内存,是一种在DRAM模块与系统内存控制器之间有寄存器的内存模块。这可以减少内存控制器上的电气负载,使用多个内存模块的单个系统将会更加稳定。为了区分,传统内存通常称之为无缓冲内存(unbuffered memory)或非寄存器内存(unregistered memory)。当制造为双列直插式内存模块(DIMM)时,寄存器内存模块称之为RDIMM, 非寄存器内存称之为UDIMM。
因为销量较少且需要额外电路,寄存器内存的价格通常更贵,所以一般只用在可扩展性和健壮性需求超过价格要求的应用中,因此寄存器内存通常用于服务器。
尽管大多数寄存器内存都配有错误纠正(ECC),但寄存器内存与配备ECC两者间并无关联,两者可单独或者同时存在。例如一些非寄存器ECC内存会被用于工作站或入门级服务器主板。
通常来说,使用寄存器内存会有些性能损失。内存主线与DRAM之间的每次读写都被缓冲一个周期,所以寄存器内存的运行可被认为等同非寄存器内存晚一个时钟周期。在SDRAM中,这只发生在一次突发读写(burst)的首个周期。
不过,这种性能损失并不普遍,内存访问速度还涉及其他因素。举例来说,Intel Westmere 5600系列处理器使用交错方式(英语:Interleaved memory)访问内存,其中内存访问分布在三个通道。如果两个内存DIMM各使用了一个通道,2DPC(DIMMs per channel)则会导致最大内存带宽的减少,与RDIMM相比,UDIMM的配置减少约5%。这是由于当每个内存通道有两条DIMM时,由于地址和控制线上的电气负载过高,内存控制器将对UDIMM使用“2T”或“2N”时序。因此,原本需要一个时钟周期的命令被推迟到两个时钟周期。因而,对于每个通道使用两个或更多DIMM,RDIMM有比UDIMM更低的延迟(英语:Latency vs Bandwidth)和更好的带宽。
通常来说,主板必须与内存类型相匹配。因此而言,寄存器内存无法在非为其设计的主板上使用,反之亦然。部分PC主板接受或需要使用寄存器内存,但寄存器内存与非寄存器内存不能混用。寄存器内存与ECC内存存在诸多混淆之处;人们普遍认为在没有ECC功能支持的情况下,ECC内存(可能有或无寄存器)完全不能在主板上正常运行。不过在不支持的PC主板上尝试使用寄存器内存(也支持ECC而被描述为ECC RAM)时确实会出现兼容性问题。
缓冲区内存(Buffered Memory)是指代寄存器内存的一个早期术语。该缓冲器是放在内存与内存控制器之间。一般来说,寄存器内存不能放在非寄存器内存的插槽中使用,但SDRAM则可以。
全缓冲DIMM (FB-DIMM)模块是用于一些内存容量很大的系统。在普通的寄存器/缓冲器内存中,只有控制线被缓冲,而在全缓冲内存中,数据线也被缓冲,所有传输都以串行方式进行;每个FB-DIMM模块上的附加逻辑将串行输入转换为驱动内存芯片所需的并行信号。
低负载DIMM(Load Reduced DIMM,LRDIMM)模块与寄存器/缓冲区内存类似,LRDIMM模块缓冲控制线和数据线,同时保持所有信号的并行特性。因此,LRDIMM内存能提供整体来说最大的内存容量,同时解决串行与并行信号转换引起的FB-DIMM内存的一些性能和功耗问题。
FB-DIMM和LRDIMM型号的内存主要是为控制指定时间内流入和流出内存芯片的电流量而设计。这与寄存器/缓冲器内存不兼容,其主板通常也不接受其他任何类型的内存。