自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个DRAM从业者的告白

宣传DRAM知识,让更多人喜欢上DRAM

  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

原创 DRAM每日一问:DRAM的DVFS模式是什么意思

也即为了降低DRAM的功耗来实现的一种模式。在LPDDR5开始Spec开始实际定义了相关feature. 但是在DDR4/LPDDR4,如果controller支持的话,也是可以支持DVFS的。DRAM的DVFS: Dynamic Voltage Frequence Scale: 动态电压频率调节。

2025-03-30 19:37:00 386

原创 详细介绍DRAM开机training过程的复杂性

不管是DDR还是LPDDR,DRAM的training过程是相当的冗长,特别是随着速度越来越高,timing margin越来越小,为了得到更多更充足的margin, DRAM的training flow也变得越来越复杂。

2025-03-29 08:00:47 1445

原创 DRAM的PPR用来干什么的?

所以在array很多冗余(spare)的row跟column,目的就是在制造上发现有缺陷的时候,可以用这些冗余的行跟列拿来做替换,从而把这一颗坏掉的颗粒给救回来。也可以用来检测PPR的效果,如果sPPR有效果了,再对这个失效位置进行hPPR,因为hPPR是不可逆的,所以确保sPPR起作用后再进行hPPR也是比较安全的方法。那么这个redundancy基本是给DRAM出FAB后用来提升良率的方法,发现坏的地方,就用一些冗余的spare row/column来替换掉坏的部分。这个时候就是PPR起作用的时候了。

2025-03-27 23:29:25 394

原创 为何LPDDR4支持on-die ECC,但是DDR4却不支持呢?

DRAM的ECC,目前的编码方式都是128bit data,产生8bit parity或者ECC code. 而且必须要128bit才行。这8bit的ECC code是要被写入到DRAM内存里面的,从而read的时候,可以读取这8bit ECC code来判定read data是否有错,如果是SBF,就可以纠错了,如果是double bit,大部分时候是可以detect到错误,即所谓的SEC(Single Error Correct) + DED(Double Error Detect).

2025-03-25 23:47:49 826

原创 DDR系列里面PDA的妙处使用

可以单独对每颗DRAM进行寻址。寻址是用来给DIMM上的每个DRAM颗粒设置不一样的配置。,所以根据training结果需要配置不一样的值的时候,就用到了PDA功能。如果不用PDA的话,能不能做到DIMM内不同颗粒之间设置不同的值呢?做不到的。因为DIMM上同一个channel的同一个rank内,CS是share的(dual rank的CS会分开)。CS share意味着我们默认情况下只能所有颗粒接受同一个command,包括MRW command.下图是DDR5 spec里面对PDA章节的描述。

2025-03-24 22:53:46 1098

原创 DRAM的带宽的计算方式以及影响因子

controller的arbitration机制再好,QoS性能再好,也会出现突发的一个需求访问到一段很久未被涉足的空间中,或者是一个高优先级的request必须要得到满足(low latency),这段空间必然会有可能需要重新开辟,也即所谓的page-hit ratio达不到100%。DDR5增加到32个bank的好处是能并行的bank数量更多,意味着可以隐藏更多的ACT/PRE操作,从而可以提高page-hit ratio,这个对controller的性能是很有有帮助的。能有70%的效率就很高了。

2025-03-24 07:05:27 1047

原创 从DDR3 vs DDR4 vs DDR5的演进对比偷窥DDR generation的更新换代

从DDR3到DDR4再到DDR5, speed从1600Mbps提升到了DDR4的3200Mbps再到DDR5的8800Mbps,速度得到了成倍的提升,而电压却越来越低,一方面是process的持续演进,一方面是技术上的持续更新。随着CPU的core数的堆叠,bandwidth越来越高,内存墙(memory wall)现象越来越严重,内存限制了CPU的性能发挥。DRAM的speed提升也是迫在眉睫。

2025-03-23 16:29:20 1288

原创 DRAM里面的RAS性能之一的ECC有哪些

充分提升DRAM RAS性能之一的有利工具是ECC.

2025-03-23 12:25:12 694

原创 DRAM的各路IDD,一文详细捋清楚

DRAM有很多的IDD,分别是什么,具体代表何种含义,具体又有什么作用呢。本文以DDR5的IDD定义当作参考:特注:所有以下IDD,都有同等的IDDQ跟IPP。意义相同,只是吃电流的power source不同。

2025-03-22 23:39:32 1144

原创 从一张经典的DRAM结构图偷窥DRAM内部全貌

这部分基本是command decode结束后,如果是ACT command,就需要对address信息进行bank/row的拆解,最终决定打开array里面的具体哪个bank的哪条row。此处基本是数字逻辑电路。DRAM的clock sync架构,导致外部的data进来的时候,是DQS clock domain,被内部tCK domain抓取data的时候,就是一个DQS domain cross to tCK domain的时钟域处理电路,这部分在JEDEC spec里面通过tDQSS的参数来确保。

2025-03-22 22:49:05 1055

原创 DRAM的整个子系统的层级架构是什么样子的

一般的ACT/PRE操作是会引入延迟的,所以一般掩藏这种延迟的办法是并行的提前打开多个bank的row,这样就可以在多个bank里面进行交叉访问,从而可以做到seamless的访问。DDR5引入了更多的bank数量,从而在分配地址的时候,或者地址decode的时候,可以能把更多的地址错开,从而做到更多的seamless操作,提升访问效率。另外2rank的purpose是提高DRAM的density,但是另外一个代价是2rank的performance没有1rank的好。包含DRAM的小系统什么样子的?

2025-03-21 23:18:13 1202

原创 DRAM的refresh带来的问题的具体优化策略有哪些?

round robin的方法最简单,但是仍然会碰到write/read bank0的时候正在做bank0的refresh. 目前的controller为了进一步优化refresh的性能,基本采用了OOO(Out Of Order)的方法来优化:当碰到要write/read的bank时候,先做write/read,等该bank有空闲的时候,再做该bank的refresh。这个tRFC就增加了SoC访问DRAM的延迟,导致当访问DRAM的时候恰巧碰到tRFC的时候,latency会变得很长。

2025-03-21 07:21:09 1470

原创 DRAM的RowHammer究竟是怎么回事

(我们一般称hammer的target row是aggressive row or hammer row, 而旁边两条导致漏电的row是受害者,victim row), 除了这种锤一条,suffer两边的row之外,我们还可以锤两边,这样最容易漏电的那条victim row就是被锤的两条row夹出来的中间的那条row。在控制器的角度,就是要避免做到hammer的效应,或者是当检测到潜在的hammer的时候,通过refresh把他刷回来,防止retention的fail. TRR/RFM都是用来实现的。

2025-03-20 22:44:31 472

原创 DRAM的tRFC为啥不同的density会不一样的?

refresh的command严重影响DRAM的performance,导致访问DRAM的latency增加的原因就是因为tRFC. 我们当然希望容量的增加是不要以牺牲性能为代价。DDR4亦然,DDR5既通过增加row的方式来增加density,也通过增加bank数量来增加density,所以道理亦然。拿DDR3 8个bank而言,假如REF是打开所有的bank的某条row的。,这个时候,tRFC的时间就会随着density的增加而增加。所以我们可以用8(bank)*8条row的方式来做,

2025-03-20 07:22:49 838

原创 DRAM refresh里面的tRFC tREFI tREF之间是什么关系

欢迎大家关注微信公众号: DRAM视界也欢迎大家订阅本专栏。本专栏会持续不断的分享DRAM相关的经验Refresh操作里面也有很多对timing的要求,ACT要求tRCD/tFAW, PRE要求tRP, tRTP等。REF要求tRFC/ tREFI/ tREF等等。那tRFC vs tREFI vs tREF之间是何等的三角关系呢?

2025-03-19 22:28:31 2123

原创 DRAM的self-refresh跟refresh跟powerdown之间的区别的透彻理解

系统做了很多的L1/L2/L3的cache/framebuffer等等,大部分临时紧急的需求都是靠cache来完成,但是难不成还会有cache供应不上的时候,这个时候如果需要从DRAM捞data,几百个cycle的周期时间都是有可能发生的。这个呆的时间的极限,是9。IDD6N比IDD2P还要小,就意味着DRAM进入了更深层次的低功耗模式,这个时候关闭尽可能关闭的电路(当然我们还有一个极限低功耗模式:IDD8. 但是其实用的不多,想想为什么),SR退出的时候也是尽可能用了最少的pin。

2025-03-19 07:06:26 1242

原创 DRAM的refresh的基本概念,保证你能理解

DRAM的基本cell单元都是采用的1T1C的结构,一个transister+一个capacitor.电容用来存储电荷,也即保存data 1跟data0. 但是电容的天生的弱点就是会随着时间推移,电荷量会越来越少,如果电荷量持续变少,就会导致data flip,电容里面存储的data会丢失。如何避免这种情况发生?那么为了弥补refresh带来的side effect,JEDEC也对refresh的操作进行了一些优化,控制器也需要对refresh的算法控制逻辑进行优化,尽量做到高效的refresh。

2025-03-18 21:33:44 549

原创 DRAM的DLL为啥一直只存在在DDR系列里面呢?下次不要再迷茫了

【代码】DRAM的DLL为啥一直只存在在DDR系列里面呢?下次不要再迷茫了。

2025-03-18 08:00:02 438

原创 DRAM里的CL跟tAA是什么关系?

超频基本就几个参数(只针对DRAM端), DRAM端能调的东西有Core-timing(CL-RCD-RP-RAS)(给更紧的timing)+Speed(2666Mbps超频到4266Mbps)+电压(高压). 个人觉得core-timing部分能玩的其实只有CL而已。(BTW:如果看客看过我之前的文章,其实还有个参数可以超的,那就是tRFC跟tREFI) 言归正传,高压的时候,tAA会变小,性能更好(因为MOS更快). 这个时候沿用之前的RL设置其实没有问题,但是因为tCK。

2025-03-17 21:26:10 343

原创 DRAM的基本command简单介绍

最基本的操作是ACT–>WRT–>RDT–>PRE。其他的command基本算是辅助性的动作,确保ACT–>WRT–>RDT–>PRE的动作是准确无误的。当然像SRE/SRX/PDE/PDX等不是为了确保访问没问题,而主要是为了功耗上面的考虑。命令 描述 remark。PRE 关闭某个bank(没有行地址信息)PDE/X 进入/退出power down模式。欢迎关注微信公众号: DRAM视界。

2025-03-16 23:04:20 611

原创 DRAM的地址计算方式

R0~R16, total 17根row address, C0~C9, total 10根column address.所以一个page size=2^(col)三个BG address bit, 2个BA address bit, 意味着总共有8个BG,每个BG四个bank,所以total是32个bank.8 = 1KB.再算上所有的row,所以一个bank的大小是2。Total 32Bank,所以total的density=32。

2025-03-16 22:21:57 348

电磁场与电磁波38.wmv

电磁场与电磁波38

2025-03-20

电磁场与电磁波41.wmv

电磁场与电磁波41

2025-03-20

电磁场与电磁波24.wmv

电磁场与电磁波24

2025-03-20

电磁场与电磁波26.wmv

电磁场与电磁波26

2025-03-20

电磁场与电磁波30.wmv

电磁场与电磁波30

2025-03-20

电磁场与电磁波32.wmv

电磁场与电磁波32

2025-03-20

电磁场与电磁波31.wmv

电磁场与电磁波31

2025-03-20

电磁场与电磁波42.wmv

电磁场与电磁波42

2025-03-20

电磁场与电磁波46.wmv

电磁场与电磁波46

2025-03-20

电磁场与电磁波34.wmv

电磁场与电磁波34

2025-03-20

电磁场与电磁波33.wmv

电磁场与电磁波33

2025-03-20

电磁场与电磁波29.wmv

电磁场与电磁波29

2025-03-20

电磁场与电磁波35.wmv

电磁场与电磁波35

2025-03-20

电磁场与电磁波37.wmv

电磁场与电磁波37

2025-03-20

电磁场与电磁波27.wmv

电磁场与电磁波27

2025-03-20

电磁场与电磁波28.wmv

电磁场与电磁波28

2025-03-20

电磁场与电磁波43.wmv

电磁场与电磁波43

2025-03-20

电磁场与电磁波36.wmv

电磁场与电磁波36

2025-03-20

电磁场与电磁波40.wmv

电磁场与电磁波40

2025-03-20

电磁场与电磁波25.wmv

电磁场与电磁波25

2025-03-20

uClinux源代码中Make文件完全解析.pdf.rar

uClinux源代码中Make文件完全解析.pdf.rar

2025-03-23

原理图与PCB设计.iso,值得一看

原理图与PCB设计.iso,值得一看

2025-03-23

51单片机汇编语言教程共28课.rar

51单片机汇编语言教程共28课.rar

2025-03-23

Linux C从入门到精通 PPT.zip

Linux C从入门到精通 PPT.zip

2025-03-23

实例3 GUI界面中实现Excel文件保存.avi

matlab应用实例之GUI界面实现excel文件保存

2025-03-23

PMP11月考试班级-备考学习计划.xlsx

PMP项目管理,辅导班培训计划安排

2025-03-23

义隆反汇编源代码.rar

义隆反汇编源代码.rar

2025-03-23

源码开放的嵌入式实时操作系统T-Kernel = = T-Kernel 標準ハンドブツク .iso

源码开放的嵌入式实时操作系统T-Kernel = = T-Kernel 標準ハンドブツク .iso

2025-03-23

VHDL.ppt,介绍VHDL入门

VHDL.ppt,介绍VHDL入门

2025-03-23

Verilog-HDL-那些事儿-时序篇v2.pdf

Verilog-HDL-那些事儿-时序篇v2.pdf

2025-03-23

Linux 2.6内核标准教程.iso

Linux 2.6内核标准教程.iso

2025-03-23

Tutorial Design of Smart Sensors-ISSCC2010.rar

Tutorial Design of Smart Sensors-ISSCC2010.rar

2025-03-23

Tutorial Design of Energy-Efficient On-Chip Networks-ISSCC2010.rar

Tutorial Design of Energy-Efficient On-Chip Networks-ISSCC2010.rar

2025-03-23

Tutorial Power Gating-ISSCC2010.rar

power gating ISSCC 2010

2025-03-23

Tutorial High-Speed Memory Interface-ISSCC2010.rar

ISSCC 2010 high speed memory interface

2025-03-23

10-直流电源.ppt

华成英老师课件

2025-03-20

电磁场与电磁波45.wmv

电磁场与电磁波45

2025-03-20

电磁场与电磁波47.wmv

电磁场与电磁波47

2025-03-20

电磁场与电磁波44.wmv

电磁场与电磁波44

2025-03-20

电磁场与电磁波39.wmv

电磁场与电磁波39

2025-03-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除