精华内容
下载资源
问答
  • 内存技术发展史

    千次阅读 2020-05-05 15:00:00
    作者 |金捷幡来源 |金捷幡(ID:jin-jiefan)《内存的故事》主要是三年前写的。趁这个假期写一个短续,枯燥地鸟瞰一下这几年内存行业的一些近况。内存领域的现阶段问题是什么?内...

    作者 | 金捷幡

    来源 | 金捷幡(ID:jin-jiefan)

    《内存的故事》主要是三年前写的。趁这个假期写一个短续,枯燥地鸟瞰一下这几年内存行业的一些近况。

    内存领域的现阶段问题是什么?

    内存是个不太好的俗称,其主要用途是两个:作为程序运行的空间(DRAM等)和存储数据的空间(NAND等)。

    NAND进入3D时代以后,基本上容量就没有天花板了,所以这个我们放到最后再说。

    现阶段的主要问题是DRAM:单位价格的容量增长缓慢和速度跟不上CPU。这个问题在商用领域特别明显,比如数据中心、高性能计算和运营商网络等。

    此外DRAM能耗过高,因为它要在每个时钟周期给小电容们重新充电。

    电费是商业用户的成本大头。在移动设备上,DRAM也是电池的死敌。

    历史上DRAM为了增加带宽只能不断增加延时,那么把缓存加大如何呢?问题是,SRAM和CPU你中有我一样贵,而且六个晶体管才能存一个比特。Intel至强处理器的Cache,也只有DRAM的千分之一。

    宇宙无敌的IBM Power 9 CPU配24个核也就120MB L3,代价是它的die size近700mm2,是苹果A13处理器的七倍!

    Power9中L2/L3占这么大面积才100多M

    内存行业的主要核心问题是日益增长的容量速度功耗需求和DRAM的技术瓶颈无法匹配。

    DDR5

    由于DRAM本身的局限性,它的技术进步一直很痛苦。DDR3到DDR4的小进步花了五年;DDR4从2012年发布第一版到今天DDR5还没有发布(注:显存GDDR5只是DDR3的变种)。

    DRAM标准由JEDEC JC-42工作组制订。虽然有投票机制,但DRAM的节奏其实一直由英特尔主导。

    原因很简单,英特尔确定PC路线图:CPU或北桥芯片决定什么时间支持新标准内存。

    得益于半导体工艺的进步,DDR5的核心电压从DDR4的1.2V下降到1.1V,这有望节省20%的功耗。

    DDR5可以使系统通道数再翻倍,图:Mircon

    DDR5的Burst Length和Prefetch (预读取)从DDR4的8n增加到16n,这样在时钟频率不变的情况下带宽翻倍。为了控制高速带来的各种信号干扰和抖动问题,DDR5还引入了核心时钟的各种优化调整。新的On-die ECC功能也是对服务器的大利好。

    但这些这也将带来更多的设计、测试和兼容挑战,需要CPU(含内存控制器)的很大改动,从目前看大概要等到2022年。

    LPDDR5

    低功耗LPDDR5单独拿出来因为从LPDDR4开始已经和标准DDR分道扬镳了。

    虽然LPDDR5和DDR5使用的新技术很多是共通的,但着眼点有很大不同。LPDDR5是功耗第一速度第二,而DDR5追求速度第一功耗第二。

    因为LPDDR4已经是16n预读取,LPDDR5主要靠Bank group访问实现速度提升。它追求的是超低功耗,所以供电电压和核心电压比DDR5都更低。

    x86领域的技术进步被英特尔带慢了节奏,但在手机领域则不同。

    激烈的竞争和每年一次的旗舰产品发布使得各家不断比拼最新的技术。

    LPDDR5就是个例子。

    小米10率先使用LPDDR5确实是个big thing,这显示了高通激进的产品策略。一加8和三星S20的跟进基本上定了今年高端的调子。

    华为则面临比较尴尬的处境,因为美商Micron是目前LPDDR5的主要供应商。三星估计优先供应自己,而Hynix似乎在标准DDR5更用心。在LPDDR5供应困难的情况下,华为要不要在下一代麒麟提供支持,从产品规划上是个两难。

    HBM

    对于迫切需要高带宽的应用,比如游戏和高性能计算,高带宽内存(HBM)则是绕过DRAM传统IO增强模式演进的优秀方案。

    图:AMD

    HBM直接和处理器封装的方式不再受限于芯片引脚,突破了IO带宽的瓶颈。另外DRAM和CPU/GPU物理位置的接近使得速度进一步提升。

    在尺寸上,HBM也使整个系统的设计大大缩小成为可能。

    在目前,HBM2在很大程度上是GDDR6的竞争对手。不过根据最新消息,Xbox Series X和索尼PS5仍旧选择了GDDR6,也许因为HBM2高昂的成本吧。

    不过从长远看,DRAM仍有很强的3D化需求。因为2D在制造上(昂贵的10nm瓶颈)接近天花板。

    NVDIMM

    现在云计算虚拟机和各种内存数据库大行其道,服务器对大容量内存非常饥渴。但是由于DRAM成本很难进一步降低,如何低成本配置高容量内存变成一个难题。

    混搭的NVDIMM被提了出来。

    NVDIMM-F是直接用NAND颗粒替代DRAM做成内存条,好处是极其便宜,但它速度太慢而且并不能突破系统对DRAM总容量的访问限制。

    NVDIMM-N是在内存条上加上NAND做DRAM的镜像存储,防止服务器意外断电丢失内存数据。但NAND并不能扩容内存而且占了一些通道带宽。

    JEDEC NVDIMM-N示意图

    最终的方案是NVDIMM-P,它允许巨大的容量比如1T内存,并允许用各种新式芯片比如NAND、RRAM、MRAM等替代DRAM。

    目前还没有看到JEDEC NVDIMM-P的标准出来。但英特尔已经发布了3D-Xpoint为基础的Optane DIMM,自己平台支持自己是个巨大的优势,也是给竞争对手的一个大门槛。

    3D-Xpoint和其它NV内存

    3D-Xpoint是很有意思一个话题,号称速度比NAND快1000倍。

    英特尔和Micron对3D-Xpoint的技术原理一直讳莫如深,甚至一丁点都不透露。开始有人猜它是3D NOR,后来大家认为它是相变内存(PCM)或RRAM。

    市面上也没有看到有人剥开这颗芯片分析内部。

    直到一个案卷中,让我们看到当代爱迪生Stanford Ovshinsky是其发明人。清算公司认为英特尔和Micron在Ovshinsky去世后公司破产处理中隐瞒了关键信息。

    和Micron分家后,英特尔的3D-Xpoint将转到大连厂独家生产,不知道未来是否能有更多的小道消息。

    3D-Xpoint技术在服务器领域增长潜力很大,但如何降低制造成本是关键。

    MRAM、FRAM等其它NV类内存则在物联网、汽车和工业等领域寻找机会。

    MRAM的工艺和传统MOS半导体工艺类似,这有助于其扩大生产而降低成本,最终有机会在一些嵌入式应用取代部分NOR、SRAM或DRAM。

    那么速度更快的PCM和RRAM是否能取代NAND呢?似乎短期不会实现,因为存储数据的速度要求一般没那么高,而3D NAND的低成本容量暴增实在是太成功了。

    图:对比不同内存的成本和速度

    3D NAND

    对于3D NAND来讲,单个cell缩小变得没有意义,因此不再需要最尖端的半导体制程技术。Hynix最近说,3D NAND未来可以叠800层。

    盖楼过程光刻环节减少了,而沉积和蚀刻等工序大大增加,蚀刻之王泛林成为最大赢家。

    这导致的另一个影响是DRAM和NAND的产线和产能不再能灵活互补。

    蚀刻下图这种楼梯达百层和以及蚀刻长孔是有挑战性的。楼梯是连接位线的,长孔则是著名的充电陷阱(Charge Trap)。

    记得英飞凌/奇梦达是最早用以色列Saifun公司技术量产Charge Trap闪存的。但当时技术不成熟,擦写寿命只有Floating Gate的1/10。Jim Handy说Charge Trap蚀刻孔的工艺来源自Trench技术。

    内存 60 年变迁史里提到过当初IBM、英飞凌、东芝和AMD是早期半导体技术结盟的,后来奇梦达用Trench独战群雄最后败北。但Charge Trap蚀刻技术倒是延续了下来:AMD的后代Spansion把它用在了NOR Flash上,而东芝则做出领先的BiCS 3D NAND。

    现在坚守Floating Gate的只剩英特尔一家了。我的理解是FG每层都需要光刻,这样的工艺复杂度会导致其失去竞争力,退出市场可能是难以避免的。

    前些天看长江存储发布的128层Xtacking技术很有意思,它把存储阵列和控制电路分开。这样可以大大降低开发和革新周期,但对量产挑战不小。看到的具体技术细节不多,如果是wafer-to-wafer bonding,即使不考虑bonding良率,成品良率是两片晶圆良率相乘的关系。

    3D NAND的延续和DDR5标准的难产则对于目前正在起步的中国内存业则是个非常好的追赶良机。

    很高兴看到长鑫存储已经开始量产主流的DDR4,而其在知识产权和专利上的远见布局也令人赞叹。

    脚踏实地和志存高远大概是内存行业的不二法门吧。

    参考阅读:

    《内存的故事》

    《内存的故事》-Rambus

    《内存的故事》-金士顿

    声明本文系作者独立观点不代表CSDN立场

    
    更多精彩推荐
    ☞Ruby 之父:编程要给程序员带来乐趣
    ☞Zoom 是如何击败科技巨头的?
    ☞视频 | 你不知道的"开源"60年秘史
    ☞GitHub标星10,000+,Apache项目ShardingSphere的开源之路
    ☞阿里技术专家告诉你,如何画出优秀的架构图?
    ☞加拿大API平台如何做到30%为中国明星项目?创业老兵这样说……
    你点的每个“在看”,我都认真当成了喜欢
    
    展开全文
  • 内存发展史

    千次阅读 2016-11-09 23:27:24
    内存 容量/指标 时期 出现原因 ...SIMM内存 ...软件程序和新一代80286硬件平台出现 ...SIMM内存 ...PC迎来386和486时代,CPU向16bit发展 EDO DRAM 4-16MB 电压:5V 带宽:32bit 速度:40ns 1991-1995
    内存 容量/指标 时期 出现原因
    SIMM内存 30pin、256KB 1982年至今 软件程序和新一代80286硬件平台的出现
    SIMM内存 72pin、512KB-2MB 1988-1990 PC迎来386和486时代,CPU向16bit发展
    EDO DRAM 4-16MB 电压:5V 带宽:32bit 速度:40ns 1991-1995  
    SDRAM 带宽64bit   Inter Celeron系列以及AMD K6处理器相关主板芯片推出
    Rambus DRAM 带宽4.2G Byte/sec   Intel已经开始着手最新的Pentium 4计划
    DDR 266MHZ带宽 06年 Rambus RDRAM因成本过高
    DDR2内存 400、533、667、800、1000MHz时钟频率   CPU对内存性能要求的提高
    DDR3     AMD在06年第二季度发布全新的AM2接口
    展开全文
  • 虚拟内存发展史

    2018-04-08 15:22:55
    虚拟内存发展 一、地址空间 最开始,程序员直接操作物理内存,此时物理内存对于程序员来说是透明。 多道程序产生,使操作系统对进程有了时间共享机制。但是衍生出很多问题:例如protection,即不能使每一...

      虚拟内存发展

           一、地址空间

        最开始,程序员直接操作物理内存,此时的物理内存对于程序员来说是透明的。

        多道程序的产生,使操作系统对进程有了时间共享的机制。但是衍生出很多问题:例如protection,即不能使每一个进程所占用的内存相互独立而互不访问。

        所谓进程的地址空间即:包含正在运行的程序的所有内存状态(code 、 stack 、heap)

          code:the instruction

          stack:local variables , pass parameters  ,return value  and from routine

         heap: dynamically-allocation  ,  statically-initialized variables

        于是便有了虚拟内存(应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。

       VM  goal:transparent (透明)

                         efficiency  (时间&空间)

                         protection 


         二、地址转换(Address translation)

      

             最开始的地址转换很简单。

            Dynamic (基于硬件) Relocation:为每一个进程添加一对寄存器(base and bounds),允许将地址空间放置在物理内存中的任何位置。

         

            此时OS就分为内核模式(kernel mode),用户模式(user mode):

             kernel mode 在进程转换时进行对 base and bounds 的修改:创建新进程时,搜索空闲空间然后标记使用,进程终止时,OS将内存重新放回空闲列表中,进程切换时,保存和恢复base and bounds值对,发生异常处理时。

              user mode 下执行用户的应用程序。

        三、分段

          

        

             每段都有属于自己的base /bound register对

             protection bit:进程对段的读写权限。

             外部碎片(external fragmentation):free list 管理算法(first fit/best fit/worst fit)

           分段存在的问题:

              1.external fragmentation:通过压缩策略:能耗都很大

              2.not flexible:   large but sparsely-used heap 会占用大量空间。

      四、Free-Space Management

    策略:

         Best fit
        Worst Fit
        Fist Fit
        Next Fit:不从开始进行遍历,而是在列表中保留一个额外的指针,向下面继续遍历。

       Segregation  Lists:为某些特定需求大小的对象单独分配

       Buddy Allocation :     在回收过程中,对buddy数据块进行检查,如果空闲则coalescing(合并)。


          五、分页

         以往的分段都是采用变长(variable-sized pieces)的进行使用内存,会产生外部碎片,分页对内存定长(fixed-sized pieces)进行分割。

         


      于是便要有一个数据结构来存储这种地址转换----page table。


       此外为了实现一些机制,增加了很多位。

    valid bit (是否被分配)
    protection  bit
    dirty bit
    *access/reference bit

    ... ...

      六  paging:faster Translation (TLB)

       TLB(translation-lookaside buffer)转换检测缓冲区。MMU中的一部分

      运用了程序的时间空间局部性(temporal locality  and  spatial locality)

      复杂指令集(CISC--complex instruction set computing  图19.1)

      精简指令集 (RISC--reduced ... 图19.3)



    同时加入进程共享机制:用ASID 代表 PID进行进程的区分



      于是会有TLB替换策略LRU,随机等策略。


    展开全文
  • RAM: Random Access Memory随机存储器,存储单元内容可按需随意取出或存入,且存取速度与存储单元位置无关存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用程序。 按照存储信息...
    7ffa6607c922bb74ef472c1d79bcd41a.png

    RAM: Random Access Memory

    随机存储器,存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。

    SRAM: Static Random Access Memory

    5d339c75c8bafd82d578160d167f2722.gif

    静态随机存储器,曾经是一种主要的内存,SRAM速度很快而且不用刷新就能保存数据不丢失。它以双稳态电路形式存储数据,结构复杂,内部需要使用更多的晶体管构成寄存器以保存数据,所以它采用的硅片面积相当大,集成度低,制造成本也相当高,所以现在只能把SRAM用在比主内存小的多的高速缓存上,如CPU的CPU内部的L1/L2或外部的L2高速缓存 。通常比一般的动态随机处理内存处理速度更快更稳定。所谓静态的意义是指内存资料可以常驻而不须随时存取。因为此种特性,静态随机处理内存通常被用来做高速缓存 ;

    e375f8213d8500107b596b46222f1020.png

    DRAM:Dynamic Random Access Memory (25MHz~50MHz )

    edb41306284153db0b359194b023281f.png

    顾名思义即动态RAM。DRAM的结构比起SRAM来说要简单的多,基本结构是一只MOS管和一个电容构成。具有结构简单、集成度高、生产成本低等优点,适合制造大容量存储器,所以现在我们用的内存大多是由DRAM构成的。所以下面主要介绍DRAM内存。在详细说明DRAM存储器前首先要说一下同步的概念,根据内存的访问方式可分为两种:同步内存和异步内存。区分的标准是看它们能不能和系统时钟同步。内存控制电路(在主板的芯片组中,一般在北桥芯片组中)发出行地址选择信号(RAS)和列地址选择信号(CAS)来指定哪一块存储体将被访问。在SDRAM之前的EDO (Extended Data Out DRAM )内存就采用这种方式。读取数据所用的时间用纳秒表示。当系统的速度逐渐增加,特别是当66MHz频率成为总线标准时,EDO内存的速度就显得很慢了,CPU总要等待内存的数据,严重影响了性能,内存成了一个很大的瓶颈。因此出现了同步系统时钟频率的SDRAM。

    SDRAM:Synchronous DRAM(66MHz~133MHz )

    bde9adf77d989cb5dd071657e5df4eb7.png

    同步DRAM,它运用晶片内的clock使输入及输出能同步进行。所谓clock同步是指记忆体时脉与CPU的FSB (Front Side Bus )频率相同,能同步存取资料。SDRAM节省执行指令及数据传输的时间,故可提升计算机效率

    DDR SDRAM: Double Data Rate SDRAM (266MHz~333MHz~400MHz )

    dcaa882a41589e59ba3edc6313ace42c.png

    双倍速率SDRAM,由于DDR在时钟的上升及下降的边缘都可以传输资料,从而使得实际带宽增加两倍,大幅提升了其性能/成本比。

    72c42964b830008f0d3b01dbe629a758.png

    DDR2(Double Data Rate 2) SDRAM(533MHz~667MHz~800MHz~1066MHz)

    它与上一代DDR内存技术标准最大的不同就是,虽然同是采用了在时钟的上升/下降延同时进行数据传输的基本方式,但DDR2内存却拥有两倍于上一代DDR内存预读取能力(即:4bit数据预读取)。换句话说,DDR2内存每个时钟能够以4倍外部总线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。

    DDR3 (Double Data Rate 3) SDRAM(1066MHz~1333MHz~1600MHz)

    相比起DDR2有更低的工作电压,从DDR2的1.8V降落到1.5V,性能更好更为省电;DDR2的4bit预读升级为8bit预读,DDR3目前最高能够可以达到1600Mhz的速度,由于目前最为快速的DDR2内存速度已经提升到800Mhz/1066Mhz的速度,因而首批DDR3内存模组将会从1333Mhz的起跳。

    5207b0e1357bead476069fc5e7c04edc.png

    DDR4内存是新一代的内存规格。2011年1月4日,三星电子完成史上第一条DDR4内存。比DDR3最大的区别有三点:16bit预取机制(DDR3为8bit),同样内核频率下理论速度是DDR3的两倍;更可靠的传输规范,数据可靠性进一步提升;工作电压降为1.2V,更节能

    a01eb30f29c7f2d54f44d6de82c97189.png

    DDR5内存要来了?性能高达DDR4的两倍之多!

    8c22a54442c23069b1351fe588c3bd01.png

    内存条,我们都知道它是电脑平台里不可缺少的一部分,最早开始到现在的DDR2、DDR3、DDR4一类的内存条。随着科技的发展,DIY各类产品层出不穷,而镁光成为内存的老牌厂家,为无数王佳提供纵横游戏的尖端装备,据10月份的消息,Cadence和镁光公布了自己的DDR5内存研发进度,两家厂商一起开始研发16GB DDR5的产品,并计划在2019年年底之前实现量产目标,

    DDR5的工作频率高达4800以上,这已经是超越DDR4内存的极限频率了,而且公布的最高频率达到6400MHz,达到DDR4的两倍之多,这是一种什么概念?如果DDR5在出世的那一刻我相信这对内存条来说绝对是具有改革换代的革命性意义,最重要还是DDR5的电压降低了,理论讲频率越大功耗越高,这还是得得益于多少nm工艺。

    SDR:3.3V

    DDR:2.5V

    DDR2:1.8V

    DDR3:1.5V

    DDR4:1.2V

    DDR5:1.1V

    相信未来1年或者三年里DDR5也就正式量产,未来笔记本全部会使用DDR5,是不是我们也应该提前知道DDR5性能以及芯片知识呢?喜欢的话可以关注我的头条号:跟我学电脑。

    展开全文
  • 二.jvm内存区域:运行时数据区线程隔离数据区包括:程序计数器、java虚拟机栈、本地方法栈。 所有线程共享数据区包括:java堆、方法区 程序计数器当前线程所执行字节码行号指示器,字节码解释器工作时就是...
  • 现在我们装机讲到内存,一般都会选择8G*2组合搭配成双通道。当然也有人头铁,硬是要上单条16G。不管哪种方式,都是在说明,我们现在装机方案是标配16G。然而在以前DDR3时代,8G才是标配,再高就溢出不划算了。...
  • 小型计算机(20世纪70年代之前),个人计算机(20世纪80年代)不能同时运行2个以上程序,比如第一个程序在地址2000处存放了一个数据,第二个程序向2000也写入数据,那么之前2000地址处数据会被擦除将物理地址暴露...
  • RAM: Random Access Memory随机存储器,存储单元内容可按需随意取出或存入,且存取速度与存储单元位置无关存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用程序。 按照存储信息...
  • 简述 Java诞生,从还叫Oak语言时间算起来,已...发展历程 时间 事件 JVM相关 1991 年 Oak语言诞生,目标(机顶盒、收音机等)消费性电子产品 1995年 Oak改名Java 1996年 JDK1.0发布,技术包括虚...
  • 操作系统发展史 第一代计算机(1940~1955):真空管和穿孔卡片 优点:程序员在申请时间段内独享整个资源,可以即时地调试自己程序(有bug可以立刻处理) 缺点:浪费计算机资源,一个时间段内只有一个人用。同一...
  • 目前三大主流JVM: Sun HotSpot:Sun于1997年收购Longview Technologies...BEA将其发展为一款专门为服务器硬件和服务器端应用场景高度优化虚拟机,由于专注于服务器端应用,它可以不太关注程序启动速度,因此JRo...
  • 操作系统的发展史

    2019-08-12 21:01:00
    操作系统的发展史 1|0手工操作 —— 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。  程序员将对应于程序和...
  • Python的发展史

    2017-12-10 20:35:04
    早期由于电脑内存限制,所有编译器核心是做优化,以便让程序能够运行。为了增进效率,语言也迫使程序员像计算机一样思考,以便能写出更符合机器口味程序。这就导致程序员即使已经知道如何去实现程序,其编写...
  • 一书上看到: CPU内寄存器读取速度比内存速度快100倍, 硬盘读取时间开销是内存的1000万倍. 从寄存器(也就是L0)->L1高速缓存->L2高速缓存->内存->硬盘->分布式硬盘, 造价逐渐低, 速度逐渐减慢, 容量...
  • 计算机的发展史及多道技术 首先先补充一下上一篇的一个小问题。  应用程序的启动流程: 前提:应用程序是运行于操作系统之上的 举例:启动暴风音影 1.双击快捷方式 2.告诉操作系统一个文件...
  • Java发展史

    2021-01-11 00:56:46
    Java发展史 Java诞生 1972年C语言诞生 贴近硬件,运行极快,效率极高 操作形态,编译器,数据库,网络系统 指针和内存管理 1982年C++诞生 面向对象 兼容c 图形领域,游戏等 Java出生 1995年...
  • MySQL数据库的发展史

    2017-12-06 03:22:16
    有一个人叫Monty Widenius, 为一个叫TcX的小公司打工,并用BASIC设计了一个报表工具,可以在4M主频和16KB内存的计算机上运行。过了不久,又将此工具,使用C语言重写,移植到Unix平台,当时,它只是一个很底层的面向...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 495
精华内容 198
关键字:

内存的发展史