首页 > 其他分享 >DRAM的工作原理详解

DRAM的工作原理详解

时间:2024-10-29 17:17:22浏览次数:7  
标签:刷新 详解 电压 电容器 DRAM 原理 位线 放大器

DRAM(Dynamic Random Access Memory,动态随机存储器)是一种常用的半导体存储器类型,具有高密度、低成本和快速访问等特点。它用于计算机内存中,以存储数据和指令。了解DRAM的工作原理可以帮助我们理解它如何处理读写数据。

DRAM基本结构

DRAM是基于电容器晶体管结构的。每个DRAM存储单元包含一个电容器和一个晶体管

  • 电容器用于存储电荷,以表示二进制的“1”或“0”。
  • 晶体管作为开关控制电容器的充放电。

这些存储单元以行和列的方式组织,形成了一个矩阵结构,通常称为“阵列”。DRAM的读写操作基于访问特定的行和列来寻址所需的单元。

DRAM工作流程

  1. 行选地址解码(Row Address Strobe,RAS)

    • 先从行地址开始选中特定行。
    • 通过RAS信号,控制逻辑会解码行地址并激活所选行的全部存储单元。
    • 每个存储单元的电容器将其电荷释放到对应的位线,并形成微小的电压差。
  2. 数据放大

    • 由于电容器中的电荷量非常小,位线上的电压差也很微弱,因此需要通过感应放大器(Sense Amplifier)来放大信号,以确保能正确读取数据。
    • 放大器不仅会放大电荷,还会重新充电,使电容保持原有的数据状态,这个过程称为预充电
  3. 列选地址解码(Column Address Strobe,CAS)

    • 通过CAS信号解码列地址,从放大的信号中选择特定的列,即某一行中指定的列,这样一个特定的存储单元就被锁定。
    • 列地址可以直接用于选择某一特定位,准备进行数据读出或写入。

DRAM的读写操作

  1. 读操作

    • 通过RAS和CAS信号,DRAM定位并选定特定单元的行和列。
    • 感应放大器放大数据并送到数据总线,由此数据被传送到外部。
    • 由于电容放电,数据被破坏,但在感应放大器中数据会被刷新并写回电容。
  2. 写操作

    • 通过RAS和CAS信号选择所需行和列。
    • 外部输入的数据通过写驱动器写入感应放大器,并由感应放大器将数据写入电容器。
    • 电容器获得新电荷,存储单元更新为新的“1”或“0”状态。

DRAM的内部状态变化

  1. 行解码:根据行地址解码,电容的电荷被释放,形成位线电压差。
  2. 放大器放大:电荷微弱信号被放大并输出,同时在读操作中进行数据恢复。
  3. 列解码:通过列地址解码定位到特定的列,完成数据访问。
  4. 数据写入/重置:在写操作中,电容电荷被重置,更新数据。

刷新机制

由于电容器中的电荷会泄漏,DRAM需要定期刷新。刷新操作通过周期性访问每一行来完成,保证数据不丢失。

DRAM内部结构简化电路图概述

  1. 单个存储单元

    • 电容器:存储数据的关键元件,用于保持电荷来表示二进制数据(充满电表示1,没电表示0)。
    • 接入晶体管:控制电容器是否与位线连接。通过行选信号(Word Line)来控制该晶体管的开关状态。
  2. 行和列的布线

    • 行线(Word Line):控制每行上的所有存储单元,连接到存储单元的控制晶体管门极。每次RAS信号选定一行,将该行的晶体管激活,从而打开这一行上的所有存储单元。
    • 列线(Bit Line):连接每列上的所有存储单元。位线将电容器的电荷与感应放大器连接,进行数据放大和读写操作。
  3. 感应放大器(Sense Amplifier)

    • 通过检测位线上的微小电压差来读取或写入数据。感应放大器放大信号后,将数据送到数据总线上,或将写入数据送入存储单元的电容器。
  4. 列选择(Column Decoder)

    • 通过列地址选择特定的位线,实现特定单元的读写操作。

写操作电压变化步骤

  1. 行地址解码并激活行线

    • 行解码器根据行地址信号(RAS)选择所需的行,并在选中的行线上施加一个较高电压(通常接近供电电压,如1.2V或1.8V),以激活该行上的所有晶体管。
    • 行线的高电压打开与该行相关的晶体管,使电容器与位线连接。
  2. 位线上的电压预充电

    • 在写入数据之前,位线通常先进行预充电,使其处于基准电压(V_ref,一般为一半的供电电压,如0.6V或0.9V)。这个步骤确保位线在初始时处于一个稳定的参考电压,以减少噪声和误差。
    • 预充电完成后,位线与电容器暂时处于相同的电压水平。
  3. 写入数据

    • 外部输入的数据通过数据线(Data Line)传输到位线,并根据要写入的值将位线的电压拉高或拉低:
      • 如果写入“1”,位线上的电压会升高(接近供电电压,如1.2V或1.8V),使电容器充电。
      • 如果写入“0”,位线上的电压会降低,通常接近地电位(0V),使电容器放电。
    • 由于电容与位线相连,电容器的电压将逐渐跟随位线的电压变化,从而存储目标数据(电荷状态)。
  4. 行线关闭

    • 一旦电容器的电压达到目标值,行线电压会降低到0V,从而关闭晶体管,切断电容器与位线的连接。
    • 关闭后,电容器保存住当前的电荷状态,代表写入的数据。

总结各部分电压变化

  • 行线:从0V跳到高电压(开启晶体管),写入完成后返回0V。
  • 位线:初始状态为参考电压(V_ref),根据数据需要拉高或拉低。
  • 电容器:随着位线变化充电或放电,达到目标电压后保持该电压,直到下一次刷新或写入操作。

通过这种电压控制,DRAM实现了数据写入,并在操作后将数据保持在电容器中,直到下一次读写或刷新为止。

 

读操作电压变化步骤

  1. 行地址解码并激活行线

    • 行解码器根据行地址信号(RAS)选择所需的行,将行线拉到一个高电压(如接近供电电压的1.2V或1.8V),从而打开该行上的所有晶体管。
    • 行线的高电压使得连接的晶体管导通,将电容器与对应的位线连接起来。
  2. 电容器与位线的电压共享

    • 电容器中存储的数据以电压形式存在(例如,1可能对应高电压,0对应低电压)。
    • 当晶体管导通后,电容器开始与位线进行电压共享,导致位线电压发生微小变化:
      • 如果电容器中存储的是“1”,它会给位线传递一定电荷,使位线电压稍微升高。
      • 如果电容器中存储的是“0”,电容器的低电压会使位线电压稍微降低。
    • 由于电容器容量很小,所以电压差非常微小,通常仅为几十毫伏。
  3. 感应放大器放大信号

    • 位线与感应放大器连接后,感应放大器会检测位线上的微小电压差并放大:
      • 当位线电压微微升高时,感应放大器将位线电压拉高至“1”状态(接近供电电压)。
      • 当位线电压微微降低时,感应放大器将位线电压拉低至“0”状态(接近地电位)。
    • 通过感应放大器的放大操作,数据被可靠地放大,便于后续的读取。
  4. 数据刷新(恢复电荷)

    • 由于电容器在与位线共享电压时发生了一定程度的放电,导致电荷减少,因此需要重新写回原有的数据。感应放大器会将读出的数据重新写回电容器,以恢复其电荷状态。
    • 恢复电荷后,电容器重新保持其原来的数据,确保数据在读操作后没有丢失。
  5. 行线关闭

    • 读出数据并刷新后,行线电压被降低到0V,关闭晶体管,断开电容器与位线的连接。

读操作中各部分电压变化总结

  • 行线:从0V拉到高电压(激活晶体管),读取完成后降回到0V。
  • 电容器:最初处于存储的电压状态,在与位线共享电压后可能略微降低,通过刷新后恢复到原始电压。
  • 位线:初始为参考电压(V_ref),与电容器共享电压后发生微小电压变化,随后被感应放大器放大到逻辑“1”或“0”。
  • 感应放大器:检测并放大位线上的微小电压差,将其拉高到“1”或拉低到“0”,同时负责刷新电容器中的电荷。

通过上述电压变化,DRAM成功完成数据的读取操作,并保持数据完整性,以确保后续访问。

DRAM刷新过程中的电压变化步骤

  1. 行地址解码并激活行线

    • 刷新操作会逐行执行,因此控制电路会通过行地址解码器选择一行,并将该行线拉到高电压(接近供电电压,如1.2V或1.8V),从而激活该行上的所有存储单元。
    • 行线高电压使该行上的所有晶体管导通,将电容器与位线连接。
  2. 电容器与位线的电压共享

    • 与读操作相同,当电容器与位线连接后,电容器中的电荷会导致位线电压发生微小变化:
      • 如果电容器中原本存储的是“1”,位线电压会稍微升高。
      • 如果电容器中存储的是“0”,位线电压会稍微降低。
    • 这种微小的电压差是电容器与位线间的电压共享的结果。
  3. 感应放大器放大信号

    • 感应放大器会检测位线上的微小电压差,并将其放大到逻辑电平,即拉高到接近供电电压(表示“1”)或降低到接近地电位(表示“0”)。
    • 通过放大器的放大操作,将放大的信号重新写回位线,以确保电容器中电荷得到恢复。
  4. 电荷恢复

    • 由于电容器在位线电压共享过程中可能出现少量放电,感应放大器通过写回操作重新给电容器充电,确保电容器的电压恢复到初始状态。
    • 通过恢复电荷,存储在电容器中的“1”或“0”得以保持。
  5. 行线关闭

    • 电荷恢复完成后,行线电压被降低到0V,关闭晶体管,断开电容器与位线的连接。
    • 该行的刷新操作完成,接下来会继续刷新其他行,直到整个存储阵列都被刷新。

刷新过程中各部分电压变化总结

  • 行线:从0V拉到高电压(激活晶体管),刷新完成后降回0V。
  • 位线:初始为参考电压(V_ref),与电容器共享电压后发生微小电压变化,随后被感应放大器放大到“1”或“0”。
  • 电容器:与位线共享电压后可能略微降低,通过感应放大器重新充电,恢复到原始电压状态。
  • 感应放大器:检测位线的微小电压变化,将其放大为逻辑“1”或“0”,并刷新电容器的电荷。

刷新类型

DRAM通常采用以下几种刷新方式:

  1. 全行刷新(All Row Refresh):逐行刷新每一行,确保所有存储单元的电荷都得到恢复。
  2. 自刷新(Self-Refresh):DRAM在低功耗模式下自动刷新,由内部时钟控制刷新频率。
  3. 行间隔刷新(RAS Only Refresh):通过RAS信号逐行刷新,适合标准使用环境。

通过定期刷新操作,DRAM能够保持数据的完整性,防止因电荷泄漏导致的数据丢失。

 

标签:刷新,详解,电压,电容器,DRAM,原理,位线,放大器
From: https://blog.csdn.net/kuixiang_yin/article/details/143335884

相关文章

  • 模二除法详解
    模二除法(Modulo-2Division)是一种特殊的除法运算,用于计算二进制数据的CRC校验码。这种运算与普通的除法类似,但区别在于它使用不进位的异或运算来代替普通除法中的减法操作。模二除法的结果为二进制余数,应用在校验过程中以检验数据完整性。模二除法的基本规则模二除法的每一......
  • 活性炭吸附处理有害气体原理
    (一)概述吸附现象是发生在两个不同相界面的现象,吸附过程就是在界面上的扩散过程。吸附可分为物理吸附和化学吸附,其不同特点列于表10-33。   在吸附现象中的固相称为吸附剂,被吸附的物质称为吸附质用吸附法可以除去的污染物质,列于表10-34。  从表10-34可知,活性炭......
  • 知识的定义与分类体系详解 - 从零基础到专业理解
    知识的定义与分类体系详解-从零基础到专业理解引言1.什么是知识?2.知识有什么特点?3.知识的分类3.1按照知识层次划分(就像游戏的等级)3.2按照知识的性质划分(就像食谱的不同部分)3.3按照知识来源划分(就像知识的"家族")4.知识的应用有趣的小练习小贴士关键词引言......
  • Nuxt.js 应用中的 imports:context 事件钩子详解
    title:Nuxt.js应用中的imports:context事件钩子详解date:2024/10/29updated:2024/10/29author:cmdragonexcerpt:imports:context是Nuxt.js中的一个生命周期钩子,主要用于在创建unimport上下文时调用。这个钩子为开发者提供了对模块导入上下文的操作能力,方便进行......
  • 强化学习的数学原理-06随即近似理论和随机梯度下降
    目录Robbins-MonroalgorithmStochasticgradientdescentBGD、MBGD、andSGDSummaryRobbins-Monroalgorithm迭代式求平均数的算法\(Stochastic\;approximation\;(SA)\):是指随机迭代的一类算法,进行求解方程或者优化的问题,\(SA\)的优势是不需要知道方程或目标函数的表达......
  • RabbitMQ的原理和集成使用
    RabbitMQ是一个消息代理系统,支持多种消息传递协议,主要用于解耦和异步处理。作为AMQP(AdvancedMessageQueuingProtocol)协议的实现,它在现代分布式系统中有广泛应用,尤其在微服务架构中。以下是RabbitMQ的原理、组件、消息模型、应用场景和SpringBoot集成方法。一、R......
  • 条理清晰,浅显易懂:Lua语法技术知识详解(第三部分)
    今天我们继续学习Lua语法基础教程,下篇。9.4 函数返回值在前面的代码中,我们实现了一个函数,输入变量a、b,函数会自动输出两个数值的和。但是一般来说,我们的需求远远不止这些,我们可能需要一个如下功能的函数:执行函数,输入两个值,获取这两个值的和如果还是按上面几节的内容,我们只会......
  • 使用NTP,该如何同步时间?一文详解!
    ​ 一、NTP通信概述很多场景中,由于业务需要,模块需要保持正确的系统时钟,才能正常工作。但是模块上电后的初试时间戳是946713600(即2000/01/01,16:00:00),所以同步时钟成为了开发者要解决的重要问题。对于Cat.1模块,移动/电信卡,通常会下发基站时间,那么sntp就不是必要的,而联通卡......
  • Java:String类(超详解!)
    一.常用方法......
  • hc_icrf32.dll弹窗丢失应对策略详解
    hc_icrf32.dll是一个动态链接库文件,通常与某些软件或游戏相关联。如果你在运行某个程序时遇到hc_icrf32.dll文件丢失的弹窗错误,这可能是因为该文件被意外删除、损坏或未正确安装。以下是一些详细的应对策略来解决这个问题:重新启动计算机有时候简单的重启可以解决临时性的......