DRAM刷新refresh相关知识归类 您所在的位置:网站首页 dram的刷新方式有哪些类型 DRAM刷新refresh相关知识归类

DRAM刷新refresh相关知识归类

2024-06-03 09:57| 来源: 网络整理| 查看: 265

文章目录 一、背景小知识1.1 DRAM的层次结构1.2 刷新要求1.3 DRAM存储芯片的读写时序1.4 刷新方式分类参考文献 img RAM每一位数据都是通过芯片内的一个 小电容充电(或低电平)存储的。但随着时间的推移,电容逐渐失去电荷。为避免丢失存储的数据,必须 定期刷新以将电荷(如果存在)恢复到其原始级别。此刷新过程包括读取每个位的值,然后将其写回。在此“刷新”期间,内存被占用,无法执行加载或存储位等正常操作。知道了应该这么做,但怎么去做以及有什么办法更有效率去做,就是接下来要整理的内容。

一、背景小知识

动态随机存储器(DRAM)具有速度快、密度高、成本低的优势,被广泛应用于计算机的主存.DRAM采用电容作为存储单元,电容电荷的多少表示数字"0"或"1".由于存在漏电现象,电容里的电荷会缓慢流失,造成数据丢失.为保证数据正确性,DRAM采用周期性的刷新操作,在数据丢失前,把数据读出然后重新写入存储单元.刷新操作会阻碍正常访存的执行,造成性能上的开销;同时刷新操作会消耗额外的功耗,带来功耗上的开销.刷新的开销与DRAM密度相关。随着内存容量需求的增加,DRAM占系统整体功耗的比例可达40%。

1.1 DRAM的层次结构

在这里插入图片描述 从顶层到Rank,Chip,Bank,Sub-array,MAT,Cell。一个Chip内部包含有多个Bank,每个bank包含有独立的行地址译码器(row decoder)和感应放大器(sense amplifier)。一般认为,Bank 是DRAM完成独立操作的最小单元。继续往下划分又分为Sub-array,MAT,Cell,具体介绍可参加参考文献一。重点是知道每个存储单元由一个电容和一个晶体管组成,电容的电荷多少表示数字‘1’或‘0’,晶体管的栅极与字线(Wordline)相连,字线控制晶体管的导通,晶体管的漏极与位线(bitline)相连,导通时由位线表示单元里存储的数据。

1.2 刷新要求

在这里插入图片描述 JEDEC要求在常温下每64ms(高温下为32ms)刷新一遍所有DRAM存储单元。这是一项相当耗时的操作。为避免每64ms出现一次大的停顿,这一过程被分为8192个较小的刷新操作。在每个操作中,计算机的存储器控制器向DRAM芯片发送刷新命令。在接收到指令后,芯片将刷新其单元总数的1/8192。计算一下: 64ms / 8192 = 7812.5 ns或7.81μs。简化DRAM控制器设计,DRAM控制器只需要在每个刷新周期向每个Rank发送8192个刷新。根据自身密度决定刷新行数,DRAM控制器发送2个刷新命令之间的间隔为刷新周期的1/8192,定义为TREF1;DRAM芯片执行一个刷新命令的时间取决于DRAM芯片的密度,定义为TREC.因此每个间隔内需要刷新的行数增多,刷新所占的时间比例不断增大。以4Gb DDR3 DRAM 为例,要求在300ns内完成对64行(8个Bank,每个Bank刷新8行)的刷新操作。单行刷新的延迟大约为50ns,在300ns完成对64行的刷新操作,只能通过并行方式实现,并行单行刷新所消耗的叠加电流必须在DRAM容许范围内。

典型的内存芯片用于刷新的时间占其运行时间的很大一部分——介于0.4%到5%之间。此外,存储器芯片功耗是典型计算机功耗中的一大部分,并且大部分功耗都用于执行刷新。 在这里插入图片描述

一个bank内多行并行刷新,实现在TRFC刷新64行的操作。

1.3 DRAM存储芯片的读写时序

img

DRAM读周期:为了使芯片能正确地接收行、列地址并实现读操作,各信号的时间关系应符合下面的要求:行地址必须在RAS#信号有效之前送到芯片的地址输入端;CAS#信号应滞后RAS#一段时间,并滞后于列地址送到芯片地址输入端的时间;RAS#、CAS#应有足够的宽度;WE#信号为高,并在CAS#有效之前建立。

DRAM写周期:1、WE#信号为低,并在信号CAS#有效之前建立。2、数据必须在CAS#有效之前出现在DIN端。

1.4 刷新方式分类 集中式刷新:在规定的一个刷新周期,对所有存储单元集中一段时间逐行刷新。

例如:对64✖64的矩阵刷新,存取周期是0.5us,刷新1行的时间为0.5μs(刷新时间是等于存取周期的。因为刷新的过程与一次存取相同,只是没有在总线上输入输出。存取周期>真正用于存取的时间,因为存取周期内、存取操作结束后仍然需要一些时间来更改状态。刷新周期为2ms(占4000个存取周期)。则集中刷新共需0.5✖64=32us(占64个存取周期),在这段时间内存只用来刷新,阻塞一切存取操作,其余3968个存取周期用来读/写或维持信息。

这64个存取周期称为“死时间”,所占的比率64/4000*100%=1.6%称为死时间率。

这种方式的优点是速度高,缺点是死时间长。

分散式刷新:指对每行存储单元的刷新分散到每个存取周期内完成。其中,把机器的存取周期分成两段,前半段用来读/写或维持信息,后半段用来刷新。

例如:对64*64的矩阵刷新,存取周期是0.5us,则读写周为0.5us。

刷新周期为:64*1us=64us



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有