DRAM(Dynamic Random Access Memory,动态随机存储器)是一种常用的半导体存储器类型,具有高密度、低成本和快速访问等特点。它用于计算机内存中,以存储数据和指令。了解DRAM的工作原理可以帮助我们理解它如何处理读写数据。
DRAM基本结构
DRAM是基于电容器和晶体管结构的。每个DRAM存储单元包含一个电容器和一个晶体管:
- 电容器用于存储电荷,以表示二进制的“1”或“0”。
- 晶体管作为开关控制电容器的充放电。
这些存储单元以行和列的方式组织,形成了一个矩阵结构,通常称为“阵列”。DRAM的读写操作基于访问特定的行和列来寻址所需的单元。
DRAM工作流程
-
行选地址解码(Row Address Strobe,RAS):
- 先从行地址开始选中特定行。
- 通过RAS信号,控制逻辑会解码行地址并激活所选行的全部存储单元。
- 每个存储单元的电容器将其电荷释放到对应的位线,并形成微小的电压差。
-
数据放大:
- 由于电容器中的电荷量非常小,位线上的电压差也很微弱,因此需要通过感应放大器(Sense Amplifier)来放大信号,以确保能正确读取数据。
- 放大器不仅会放大电荷,还会重新充电,使电容保持原有的数据状态,这个过程称为预充电。
-
列选地址解码(Column Address Strobe,CAS):
- 通过CAS信号解码列地址,从放大的信号中选择特定的列,即某一行中指定的列,这样一个特定的存储单元就被锁定。
- 列地址可以直接用于选择某一特定位,准备进行数据读出或写入。
DRAM的读写操作
-
读操作:
- 通过RAS和CAS信号,DRAM定位并选定特定单元的行和列。
- 感应放大器放大数据并送到数据总线,由此数据被传送到外部。
- 由于电容放电,数据被破坏,但在感应放大器中数据会被刷新并写回电容。
-
写操作:
- 通过RAS和CAS信号选择所需行和列。
- 外部输入的数据通过写驱动器写入感应放大器,并由感应放大器将数据写入电容器。
- 电容器获得新电荷,存储单元更新为新的“1”或“0”状态。
DRAM的内部状态变化
- 行解码:根据行地址解码,电容的电荷被释放,形成位线电压差。
- 放大器放大:电荷微弱信号被放大并输出,同时在读操作中进行数据恢复。
- 列解码:通过列地址解码定位到特定的列,完成数据访问。
- 数据写入/重置:在写操作中,电容电荷被重置,更新数据。
刷新机制
由于电容器中的电荷会泄漏,DRAM需要定期刷新。刷新操作通过周期性访问每一行来完成,保证数据不丢失。
DRAM内部结构简化电路图概述
-
单个存储单元:
- 电容器:存储数据的关键元件,用于保持电荷来表示二进制数据(充满电表示1,没电表示0)。
- 接入晶体管:控制电容器是否与位线连接。通过行选信号(Word Line)来控制该晶体管的开关状态。
-
行和列的布线:
- 行线(Word Line):控制每行上的所有存储单元,连接到存储单元的控制晶体管门极。每次RAS信号选定一行,将该行的晶体管激活,从而打开这一行上的所有存储单元。
- 列线(Bit Line):连接每列上的所有存储单元。位线将电容器的电荷与感应放大器连接,进行数据放大和读写操作。
-
感应放大器(Sense Amplifier):
- 通过检测位线上的微小电压差来读取或写入数据。感应放大器放大信号后,将数据送到数据总线上,或将写入数据送入存储单元的电容器。
-
列选择(Column Decoder):
- 通过列地址选择特定的位线,实现特定单元的读写操作。
写操作电压变化步骤
-
行地址解码并激活行线:
- 行解码器根据行地址信号(RAS)选择所需的行,并在选中的行线上施加一个较高电压(通常接近供电电压,如1.2V或1.8V),以激活该行上的所有晶体管。
- 行线的高电压打开与该行相关的晶体管,使电容器与位线连接。
-
位线上的电压预充电:
- 在写入数据之前,位线通常先进行预充电,使其处于基准电压(V_ref,一般为一半的供电电压,如0.6V或0.9V)。这个步骤确保位线在初始时处于一个稳定的参考电压,以减少噪声和误差。
- 预充电完成后,位线与电容器暂时处于相同的电压水平。
-
写入数据:
- 外部输入的数据通过数据线(Data Line)传输到位线,并根据要写入的值将位线的电压拉高或拉低:
- 如果写入“1”,位线上的电压会升高(接近供电电压,如1.2V或1.8V),使电容器充电。
- 如果写入“0”,位线上的电压会降低,通常接近地电位(0V),使电容器放电。
- 由于电容与位线相连,电容器的电压将逐渐跟随位线的电压变化,从而存储目标数据(电荷状态)。
- 外部输入的数据通过数据线(Data Line)传输到位线,并根据要写入的值将位线的电压拉高或拉低:
-
行线关闭:
- 一旦电容器的电压达到目标值,行线电压会降低到0V,从而关闭晶体管,切断电容器与位线的连接。
- 关闭后,电容器保存住当前的电荷状态,代表写入的数据。
总结各部分电压变化
- 行线:从0V跳到高电压(开启晶体管),写入完成后返回0V。
- 位线:初始状态为参考电压(V_ref),根据数据需要拉高或拉低。
- 电容器:随着位线变化充电或放电,达到目标电压后保持该电压,直到下一次刷新或写入操作。
通过这种电压控制,DRAM实现了数据写入,并在操作后将数据保持在电容器中,直到下一次读写或刷新为止。
读操作电压变化步骤
-
行地址解码并激活行线:
- 行解码器根据行地址信号(RAS)选择所需的行,将行线拉到一个高电压(如接近供电电压的1.2V或1.8V),从而打开该行上的所有晶体管。
- 行线的高电压使得连接的晶体管导通,将电容器与对应的位线连接起来。
-
电容器与位线的电压共享:
- 电容器中存储的数据以电压形式存在(例如,1可能对应高电压,0对应低电压)。
- 当晶体管导通后,电容器开始与位线进行电压共享,导致位线电压发生微小变化:
- 如果电容器中存储的是“1”,它会给位线传递一定电荷,使位线电压稍微升高。
- 如果电容器中存储的是“0”,电容器的低电压会使位线电压稍微降低。
- 由于电容器容量很小,所以电压差非常微小,通常仅为几十毫伏。
-
感应放大器放大信号:
- 位线与感应放大器连接后,感应放大器会检测位线上的微小电压差并放大:
- 当位线电压微微升高时,感应放大器将位线电压拉高至“1”状态(接近供电电压)。
- 当位线电压微微降低时,感应放大器将位线电压拉低至“0”状态(接近地电位)。
- 通过感应放大器的放大操作,数据被可靠地放大,便于后续的读取。
- 位线与感应放大器连接后,感应放大器会检测位线上的微小电压差并放大:
-
数据刷新(恢复电荷):
- 由于电容器在与位线共享电压时发生了一定程度的放电,导致电荷减少,因此需要重新写回原有的数据。感应放大器会将读出的数据重新写回电容器,以恢复其电荷状态。
- 恢复电荷后,电容器重新保持其原来的数据,确保数据在读操作后没有丢失。
-
行线关闭:
- 读出数据并刷新后,行线电压被降低到0V,关闭晶体管,断开电容器与位线的连接。
读操作中各部分电压变化总结
- 行线:从0V拉到高电压(激活晶体管),读取完成后降回到0V。
- 电容器:最初处于存储的电压状态,在与位线共享电压后可能略微降低,通过刷新后恢复到原始电压。
- 位线:初始为参考电压(V_ref),与电容器共享电压后发生微小电压变化,随后被感应放大器放大到逻辑“1”或“0”。
- 感应放大器:检测并放大位线上的微小电压差,将其拉高到“1”或拉低到“0”,同时负责刷新电容器中的电荷。
通过上述电压变化,DRAM成功完成数据的读取操作,并保持数据完整性,以确保后续访问。
DRAM刷新过程中的电压变化步骤
-
行地址解码并激活行线:
- 刷新操作会逐行执行,因此控制电路会通过行地址解码器选择一行,并将该行线拉到高电压(接近供电电压,如1.2V或1.8V),从而激活该行上的所有存储单元。
- 行线高电压使该行上的所有晶体管导通,将电容器与位线连接。
-
电容器与位线的电压共享:
- 与读操作相同,当电容器与位线连接后,电容器中的电荷会导致位线电压发生微小变化:
- 如果电容器中原本存储的是“1”,位线电压会稍微升高。
- 如果电容器中存储的是“0”,位线电压会稍微降低。
- 这种微小的电压差是电容器与位线间的电压共享的结果。
- 与读操作相同,当电容器与位线连接后,电容器中的电荷会导致位线电压发生微小变化:
-
感应放大器放大信号:
- 感应放大器会检测位线上的微小电压差,并将其放大到逻辑电平,即拉高到接近供电电压(表示“1”)或降低到接近地电位(表示“0”)。
- 通过放大器的放大操作,将放大的信号重新写回位线,以确保电容器中电荷得到恢复。
-
电荷恢复:
- 由于电容器在位线电压共享过程中可能出现少量放电,感应放大器通过写回操作重新给电容器充电,确保电容器的电压恢复到初始状态。
- 通过恢复电荷,存储在电容器中的“1”或“0”得以保持。
-
行线关闭:
- 电荷恢复完成后,行线电压被降低到0V,关闭晶体管,断开电容器与位线的连接。
- 该行的刷新操作完成,接下来会继续刷新其他行,直到整个存储阵列都被刷新。
刷新过程中各部分电压变化总结
- 行线:从0V拉到高电压(激活晶体管),刷新完成后降回0V。
- 位线:初始为参考电压(V_ref),与电容器共享电压后发生微小电压变化,随后被感应放大器放大到“1”或“0”。
- 电容器:与位线共享电压后可能略微降低,通过感应放大器重新充电,恢复到原始电压状态。
- 感应放大器:检测位线的微小电压变化,将其放大为逻辑“1”或“0”,并刷新电容器的电荷。
刷新类型
DRAM通常采用以下几种刷新方式:
- 全行刷新(All Row Refresh):逐行刷新每一行,确保所有存储单元的电荷都得到恢复。
- 自刷新(Self-Refresh):DRAM在低功耗模式下自动刷新,由内部时钟控制刷新频率。
- 行间隔刷新(RAS Only Refresh):通过RAS信号逐行刷新,适合标准使用环境。
通过定期刷新操作,DRAM能够保持数据的完整性,防止因电荷泄漏导致的数据丢失。
标签:刷新,详解,电压,电容器,DRAM,原理,位线,放大器 From: https://blog.csdn.net/kuixiang_yin/article/details/143335884