动态存储器(DRAM)是计算机系统中最主要的内存类型之一。与静态存储器(SRAM)不同,DRAM 使用电容存储元件,这些电容需要定期刷新以保持其存储的数据值。这是因为电容有内部泄漏,这意味着他们在电容被充电后随着时间的推移,电荷状态会逐渐消失。
如果DRAM 的电容未及时刷新,其存储值将会逐渐变为不确定的状态,从而导致数据丢失。这可能会导致计算机系统崩溃、程序崩溃或数据损坏。
DRAM 的刷新方式是周期性刷新,也称为自刷新。它通过周期性地访问存储器中的所有行,保持电容中的电荷,这样就可以防止数据丢失。在刷新之前,存储器需要先将需要访问的行地址存储在专门的寄存器中。然后,DRAM 控制器会按照事先设定的时间间隔自动执行刷新,以保证DRAM 能够长时间稳定地运行。
此外,DRAM 还存在外部刷新和自刷新两种方式。外部刷新需要在刷新周期内使用外部刷新脉冲信号进行刷新,而自刷新则不需要外部刷新脉冲信号,它是由DRAM 内部逻辑电路控制的。
刷新周期是指完成一次刷新所需的时间。为了避免数据丢失,刷新周期必须小于电容自然泄漏时间。通常,在计算机系统中,DRAM 的刷新周期设置在 15-16 毫秒之间。同时,内存控制器也会根据工作负载情况对刷新周期进行动态调整,以达到最佳的系统性能表现。
刷新对DRAM 的性能有一定的影响。在执行刷新操作时,DRAM 无法响应其他的内存请求。因此,过于频繁的刷新会影响系统的性能。为了平衡系统的稳定性和性能,计算机系统通常会在内存控制器中使用一些技术来优化刷新过程。
例如,在高端系统中,内存控制器可能使用“突发长度”技术来在一次内存事务中传输多个数据,从而减少刷新操作的不利影响。此外,内存控制器还可以根据内存的读取频率进行刷新操作的调度,以减少刷新操作对性能的影响。