良许Linux教程网 干货合集 终于有人说清楚了什么是DRAM、什么是NAND Flash

终于有人说清楚了什么是DRAM、什么是NAND Flash

所有用户对于“存储器”这个名词都不陌生,因为几乎所有的电子产品都需要使用存储器,通常会使用多种不同类型的存储器。然而,对于存储器的种类、规格和形式,很多人容易混淆。例如,经常在产业新闻中提到的NAND闪存、DRAM,还有SRAM、SDRAM、DDR3、DDR4、NOR闪存等,这些到底是什么?

首先,让我们参考一下百度百科的解释:存储器是用来存储程序和数据的组件。对于计算机而言,有了存储器才能具备记忆功能,从而保证其正常工作。存储器有许多不同的种类,按照用途可以分为主存储器和辅助存储器。主存储器也被称为内存储器(简称内存,港台地区称之为记忆体),而辅助存储器则指计算机内存和CPU缓存之外的存储器。常见的辅助存储器包括硬盘、软盘、光盘和U盘等。

简单来说,DRAM就是我们通常使用的内存,而NAND闪存则类似硬盘的作用。

 

(以下内容是针对电脑新手的科普,熟悉计算机知识的用户可以跳过这部分)

对于不熟悉个人电脑的朋友来说,常常会问硬盘和内存有什么区别?为什么我的硬盘容量是1TB,但电脑运行得很慢?

硬盘和内存的区别在于,当关闭电源时,硬盘中存储的数据仍然会保留,而内存中的数据则会消失。

但是,当我们需要进行数据运算时,如果CPU直接从硬盘中读取数据,这将需要很长时间。因此,内存作为中间桥梁的角色,它会先从硬盘复制数据到内存中,然后CPU直接从内存中获取数据进行运算。这样相较于直接从硬盘中读取数据,速度可以提高数百万倍。

打开任务管理器,你可以看到当前正在运行的程序所占用的内存空间。很多人抱怨Chrome浏览器占用的计算资源较高,内存使用率高于其他浏览器,打开多个标签页后内存会被耗尽。

因此,简单来说,计算机的工作就像办公室一样,要做很多事情,如喝饮料、看书、听音乐等,你使用的东西越多,桌面(内存)就越大。但是在某个时间点没有使用到的东西都会放在抽屉里(硬盘)。所以,即使硬盘容量再大,如果你一次想执行很多任务,仍然需要考虑内存的大小。

内存的处理速度比硬盘更快,但在断电后,数据会丢失,并且内存的价格也比硬盘更高。

当然,存储器层次结构中还有更多细节,详细参见后续内容。

简单来说,CPU内部还有一个存储空间称为寄存器(Register)。在进行运算时,CPU会从内存中将数据加载到寄存器中,然后使用寄存器中存储的数据进行运算,计算完成后再将结果存回内存。毕竟,CPU

image-20240117194018156
image-20240117194018156

▲ 图一:存储器的分类。

存储器的单元

存储器的“单元”(Cell)是指用来存取资料的最小结构,如果含有一个晶体管

(Transistor)与一个电容(Capacitor)则称为“1T1C”;如果含有一个晶体管(Transistor)与一个电阻(Resistor)则称为“1T1R”;如果含有一个二极体(Diode)与一个电阻(Resistor)则称为“1D1R”。

存储器的每个“单元”不一定只能储存 1 个位的资料,由于我们对存储器容量的要求越来越高,每个“单元”能储存的资料越来越多,依照每个“单元”能储存的资料位数又分为:单层单元(Single-Level Cell,SLC)、多层单元(Multi-Level Cell,MLC)、三层单元(Triple-Level Cell,TLC)、四层单元(Quad-Level Cell,QLC)等。

存储器层次结构

要了解电子产品的各种存储器配置,就必须先介绍“存储器层次结构”(Memory hierarchy)观念。存储器层次结构是指如何将储存容量不同、运算速度不同、单位价格不同的多种存储器妥善分配,才能达到最大的经济效益,使产品的运算速度合理、储存容量合理、产品价格合理。

图二为存储器阶层示意图,由上而下依序为暂存器、快取存储器、主存储器、辅助存储器:

暂存器(Register,也译为寄存器):在处理器内,用来设定处理器的功能,主要是“暂时储存”设定值的地方。

快取存储器(Cache memory,翻译版本有缓存,快取缓存区,快取存储器;台湾翻译为快取。):在处理器内,执行程序时“暂时储存”程序与资料的地方,通常以 SRAM 制作。

主存储器(Main memory):在处理器外,“暂时储存”程序与资料的地方,通常以 DRAM 制作,目前已经改良成 SDRAM 或 DDR。

辅助存储器(Assistant memory):在处理器外,“永久储存”程序与资料的地方,包括:快闪存储器、磁盘机、光盘机、磁带机等。

不同种类的存储器分别有不同的储存容量、工作速度、单位价格:

储存容量:辅助存储器(GB)> 主存储器(MB)> 快取存储器(KB)> 暂存器(B)。

工作速度:辅助存储器(1ms)

单位价格:辅助存储器

image-20240117194022912
image-20240117194022912

▲ 图二:存储器阶层示意图。

存储器的应用

所有的电子产品都必须用到存储器,而且通常用到不只一种存储器,由于存储器的种类繁多,常常让使用者混淆,我们简单说明不同存储器之间的差异,图三为手机主要芯片的系统方块图(System block diagram),包括:应用处理器(Application processor)、基带处理器(Baseband processor)、运动控制器(Motion Controller)。

应用处理器主要是执行操作系统(Operating System,OS)与应用程序(Application program,App),暂存器与快取存储器目前都是内建在处理器内,其中暂存器用来设定处理器的功能,用来设定暂存器数值的程序,也就是用来趋动硬件的软件程序又称为“固件”(Firmware);快取存储器是在执行程序时用来“暂时储存”程序与资料的地方,由于在处理器内离运算单元比较近,可以缩短程序与资料来回的时间,加快程序的执行速度因此称为“Cache”。

由于快取存储器成本较高因此容量不大,如果执行程序时放不下,则可以退一步放在主存储器内,可是目前主存储器所使用的 SDRAM 或 DDR,属于易失性存储器,电源关闭则资料立刻流失,因此关机后资料必须储存在非易失性的辅助存储器内,早期辅助存储器使用磁盘机、光盘机、磁带机等,由于半导体制程的进步,目前大多使用快闪存储器(Flash ROM),或所谓的固态硬盘(Solid State Disk,SSD),固态硬盘其实也是使快闪存储器制作。

由于快取存储器(SRAM)与主存储器(SDRAM、DDR)是执行程序用来“暂时储存”程序与资料的地方,与处理器内的运算单位直接使用汇流排(Bus)连接,一般都是用“位”(bit)来计算容量;而辅助存储器是“永久储存”程序与资料的地方,由于一个位组(Byte)可以储存一个半型字,因此一般都是用“位组”(Byte)来计算容量。

image-20240117194253423
image-20240117194253423

▲ 图三:手机主要芯片的系统方块图(System block diagram)。

静态随机存取存储器(SRAM:Static RAM)

以 6 个晶体管(MOS)来储存 1 个位(1bit)的资料,而且使用时“不需要”周

期性地补充电源来保持记忆的内容,故称为“静态”(Static)。

SRAM 的构造较复杂(6 个晶体管储存 1 个位的资料),不使用电容所以存取速度较快,但是成本也较高,因此一般都制作成对容量要求较低但是对速度要求较高的存储器,例如:中央处理器(CPU)内建 256KB、512KB、1MB 的“快取存储器”(Cache memory),一般都是使用 SRAM。

动态随机存取存储器(DRAM:Dynamic RAM)

以一个晶体管(MOS)加上一个电容(Capacitor)来储存一个位(1bit)的资料,而且使用时“需要”周期性地补充电源来保持记忆的内容,故称为“动态”(Dynamic)。

DRAM 构造较简单(一个晶体管加上一个电容),由于电容充电放电需要较长的时间造成存取速度较慢,但是成本也较低,因此一般制作成对容量要求较高但是对速度要求较低的存储器,例如:个人电脑主机板通常使用 1GB 以上的 DDR-SDRAM 就是属于一种 DRAM。由于处理器的速度越来越快,传统 DRAM 的速度已经无法满足要求,因此目前都改良成 SDRAM 或 DDR-SDRAM 等两种型式来使用。

同步动态随机存取存储器(SDRAM:Synchronous DRAM)

中央处理器(CPU)与主机板上的主存储器(SDRAM)存取资料时的“工作时脉”(Clock)相同,故称为“同步”(Synchronous)。由于 CPU 在存取资料时不需要“等待”(Wait)因此效率较高,SDRAM 的存取速度较 DRAM 快,所以早期电脑主机板上都是使用 SDRAM 来取代传统 DRAM,不过目前也只有少数工业电脑仍然使用 SDRAM。

可以记住一个简单的结论:SRAM 比较快、 DRAM 比较慢;SRAM 比较贵、DRAM 比较便宜。

image-20240117194248544
image-20240117194248544

这是我们平常在计算机中使用的内存,更精确的说法应该叫”内存模块”(Memory Module)。一个内存模块实际上就是由一块小电路板、再加上几块的 DRAM 芯片构成。图标中的内存模块上一共有 8 个 DRAM 芯片。让我们把一个 DRAM 芯片的内部结构剖开看看,会看到一个储存数组(Memorry Array)。

CPU 会给这个储存数组”行地址”和”列地址”,就可以选出一个”储存单元”。常见的储存单元包含了 4 bit 或 8 bit,每一个 bit 都会采用一个电路结构,我们称为 DRAM 的一个”基本储存单元”。

这个基本储存单元中包含了一个晶体管匹配一个电容。然后就可以视电容器是否有充电电荷存在、来判别目前的记忆状态。

image-20240117194244954
image-20240117194244954

“写入内存”的动作,就是由外部的数据线、对电容进行充电或放电,从而完成写入 1 或 0 的数字数据。

DRAM 使用一个晶体管(MOS)与一个电容来储存一个位的资料(一个 0 或一个 1),如图四(a)所示,当晶体管(MOS)不导通时没有电子流过,电容没有电荷,代表这一个位的资料是 0,如图四(b)所示;当晶体管(MOS)导通时(在闸极施加正电压),电子会由源极流向汲极,电容有电荷,代表这一个位的资料是 1,为了要将这些流过来的电荷“储存起来”,因此必须使用一个微小的电容,如图四(c)所示,DRAM 就是因为电容需要时间充电,所以速度比 SRAM 还慢。

image-20240117194241735
image-20240117194241735

▲ 图四:动态随机存取存储器(DRAM)的结构与工作原理示意图。

由于电容会有漏电的现象,导致电位差不足而使记忆消失,因此除非电容经常周期性地充电,否则无法确保数据能长久保存起来。

由于每个 DRAM 基本储存单元的电路结构非常的简单,所以功耗低、价格也较低。这样一来用低成本就能制造出大储存容量的 DRAM 芯片。缺点就是读写的速度慢(电容要充电放电),影响了 DRAM 的性能。

SRAM 的结构则较为复杂,一共有六个晶体管构成。我们能分别用 M1、M2、M3 到 M6 进行标记。这六个晶体管合起来才能保存一个 bit。

image-20240117194238564
image-20240117194238564

SRAM 芯片和 DRAM 芯片不太一样,不需要分成行地址和列地址分别选择,而且 SRAM 的设计相对来说又更加灵活,一个地址对应的储存单元数量可以是 8 bit、10 bit,或 32 bit、40 bit、64 bit 都行。

另外,晶体管的开关速度远比电容充电放电的速度还快,所以相对于 DRAM、SRAM 的读写速度比 DRAM 快很多。

然而 SRAM 中要储存一个 bit 就得用到六个晶体管。晶体管的数量一多、就会造成芯片的面积变大,从而带来集成电路难以变得更小、还有价格更贵的问题。

(SRAM 的价格比起 DRMA 要高达 1000 倍以上。比如 2010 年世代––—SRAM 的每单位储存价格是 ,则是0.06/MB。)

同时每个晶体管都要耗电,晶体管越多、功耗就越高。考虑到价格高和功耗大,目前只能在一些很严苛的地方来使用 SRAM,比如上面提到的快取 (Cache)。

故目前”主存储器”还是使用 DRAM 技术,但小块用来拉速度的”快取”就是采用 SRAM。然而无论是 DRAM 还是 SRAM,一不供应电源就会丧失储存的数据,所以都叫做挥发性内存。

铁电随机存取存储器 FRAM

动态随机存取存储器(DRAM)是以一个晶体管加上一个电容来储存一个位(1bit)的资料,由于传统 DRAM 的电容都是使用“氧化矽”做为绝缘体,氧化矽的介电常数不够大(K 值不够大),因此不容易吸引(储存)电子与电洞,造成必须不停地补充电子与电洞,所以称为“动态”,只要电脑的电源关闭,电容所储存的电子与电洞就会流失,DRAM 所储存的资料也就会流失。

要解决这个问题,最简单的就是使用介电常数够大(K 值够大)的材料来取代“氧化矽”为绝缘体,让电子与电洞可以储存在电容里不会流失。目前业界使用“钛锆酸铅”(PZT)或“钽铋酸锶”(SBT)这种介电常数很大(K 值很大)的“铁电材料”(Ferroelectric material)来取代氧化矽,则可以储存电子与电洞不会流失,让原本“易失性”的动态随机存取存储器(DRAM)变成“非易失性”的存储器称为“铁电随机存取存储器”(Ferroelectric RAM,FRAM)。

NAND Flash 又是什么呢?

继续讲讲非易失性的部分:

Flash(闪存)由于具备了重量轻、体积小、功率低等优点,被应用在各类电子产品的硬盘上。Flash 又可以分成 NOR 型 Flash 和 NAND 型 Flash。

NOR Flash 比 NAND Flash 更早导入市场。读取的速度较快,但写入的速度慢、价格也比 NAND Flash 贵。

目前用来储存操作系统的程序代码或重要数据,比如拿来做 ROM。像是生产 NOR Flash 的台厂旺宏就是因为打入任天堂 Switch 主机的 ROM 供应链,今年营收上看攀升。

NAND Flash 写入的速度快、价格较低,故目前以 NAND Flash 最为普遍。现在的 USB 硬盘和手机储存空间,就是用 NAND Flash 为主流技术。

另外,固态硬盘(Solid State Drive, SSD)也是以 NAND 型 Flash 为基础所建构的储存装置。SSD 不像传统硬盘(HDD)中有马达、读写臂等零件。速度慢、功耗高,对震动又相当敏感,很难用在小型行动装置中。

SSD 在读写数据时不会有噪音,耐震、传输速度快、重量又能缩减到 HDD 十分之一以上,现在已经成为个人计算机和笔记本电脑的主流储存设备。

image-20240117194234219
image-20240117194234219

总结:

依照停止供应电源的话、是否还能保留数据,分成”易失性”与”非易失性”存储。

易失性存储分成 DRAM 和 SRAM。

SRAM 更快但价格更贵,所以主存储器多用 DRAM、快取多用 SRAM。

非易失性存储分成 ROM 和 Flash。主要用来作为硬盘。

Flash 又分成 NOR Flash 与 NAND Flash,现在硬盘多以 NAND Flash 构成的 SSD 为主。

image-20240117194230321
image-20240117194230321

▲ Q:看看一天到晚听到的 DRAM、SRAM、Flash 等内存厂商又分别代表哪层?

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部