什么是内存?
作者:吳 政道
来源:technews
去年Intel 发布第六代 Core i 系列的 CPU。在这一系列的 CPU 中,新增支持 DDR4 内存的功能,正式将 DDR4 内存导入消费型市场,而非高端玩家限定。藉由提升内存存取的速度,CPU 可以用更短的时间进行资料的传输。然而,什么是内存?
内存是用来存放电脑中的资料,像是我们常见的硬盘或是随身碟都是内存的一种。目前会将内存分成两类,一为系统主内存(RAM),另一为储存内存。然而,因为技术的演进,一种内存可以有多种归类,导致目前市场并没有统一的中文说法,形容这两个不同用途的内存。因此,消费者常不清楚这两者的差异。在本篇中,将以 RAM 和储存内存做区别。
▲ 此图为 3 家手机业者旗舰机的规格,光这 3 家就用 3 种不同的名词来描述相同的东西,目前急需一种统一且正确的中文讲法。
首先,储存内存,是用于资料储存。像是下载的 App、手机拍的照片、喜欢听的音乐等日常生活产生的资料,皆存放于储存内存中,因此,厂商会提供不同大小的容量给消费者选择,或是让消费者可外插一张 SD 卡,做为手机储存内存的扩充。越大的空间便可储存更多的照片、音乐等资料。
▲ iPhone 会提供不同的储存内存规格供消费者选择,但看不到 RAM 或内存等名词。或许 Apple 这么做有诸多考量,然而对消费者来说,名词越少会让选购产品变得轻松。
另一为系统主内存(RAM),此内存仅供电脑系统使用,一般的消费者无法选择将资料储存于此,各种操作系统会自动规划,这些操作系统中执行或待执行的所有程序,以及读取的资料皆暂放在其中。
因为系统主内存的大小会影响程序运行的流畅程度。因此,对经常执行大型程序或影像处理软件的使用者, 越大的 RAM 会有越好的使用者体验。这也就是为何近期发布的 iPad Pro 会大幅提升它的 RAM 容量,不然现有的内存空间将无法负荷影像处理的需求。
目前,最简单的分法,便是用 GB 数做判断。GB 较大的就是储存内存,较小的则是 RAM。
系统的缓冲空间:DRAM
DRAM 全名 Dynamic Random-Access Memory,是 RAM 的其中一个分支,也是目前大多数产品采用的技术。目前,DRAM 效能的演进速率和 CPU 相比,相当的缓慢。CPU 依循着莫尔定律,每 1.5 年效能提升一倍。然而,DRAM 却没有如此快速的提升,大约 10 年才能翻倍,形成效能上的落差。
当然,不可否认地,目前电脑的瓶颈并非在 DRAM 上,对高效能的 RAM 没那么大的需求。将传统的硬盘换成固态硬盘(SSD)所感觉到的效能提升,远比 DRAM 升级还有感觉,毕竟固态硬盘的传输速度是传统硬盘的 10 倍以上,远比 DRAM 升级的两倍加速有明显差异。但是,做为系统的主内存,越高的效能便代表能以越快的速度将资料送进 CPU 中进行运算,对于预算足够的消费者而言,DRAM 的效能提升相当重要。
▲ CPU 和 RAM 间的效能落差,是拖延 CPU 运算的速度的原因之一。(Source: slideshare)
现行 DRAM 主流规格:DDR SDRAM
DDR SDRAM 为目前主流的产品,其中,SDRAM 全名为同步动态随机存取内存(Synchronous DRAM)。SDRAM 的特性是让 DRAM 内部的工作时脉和主机板同步,以此提高存取的速度。
工作时脉就像是电子元件内部的时钟,电子元件会依循这个时钟做事。将时脉同步就像是设定一个标准时间,让电脑内部的元件可以依循着标准时间做事。像是流水线生产,会设定每一站的完成时间并彼此对时,如此便能稳定的将工作传下去,大幅提升工作效率。
至于 DDR 则是双倍数据率(Double Data Rate),藉由 DDR 的技术,将一个工作时脉切分成两份,就像是原本要一分钟才能完成一份工作,藉由将 1 分钟分成两个 30 秒,并在这两个 30 秒内完成工作,就能在相同的时间内完成两倍的工作量。大幅提升资料传输的速度。
▲ 和 DRAM 一开始采用的 SDR 技术相比,DDR 可以在一个时脉内读两次资料。(Source:Wikipedia)
将这两种特性结合在一起的产品,便是 DDR SDRAM。目前市场上的产品有 DDR3-1600 以及 DDR4-2133 等。其中,DDR3-1600 中的 1600 代表什么?在内存规格中,有一个用来衡量内存传输速度的单位,MT/s。MT/s 为 MegaTransfers per Second 的缩写,意思是在一秒内可传输几次资料。因此 DDR3-1600 便代表该产品具有 1600MT/s 的效能。
但是,MT/s 这个单位仅用于内存效能中,要将其转换成常见的 Gbps。Gbps 是用来衡量每秒钟有多少资料传输,像是 4G 移动上网的速度、硬盘传输等皆是以此做速度快慢的衡量。1600MT/s 只需乘上 DDR3 的内存线宽 64bit,便是 102.4Gbps。要乘上线宽是因为 MT/s 只代表一秒可传输几次资料,一次传输的资料量则是由线宽决定。因此,DDR3 后面所接的数字便代表着该内存的传输效率。
记忆力决定电脑的超能力──储存内存
内存,是用来存放电脑中的资料,依据使用功能可以区分成两种类型,一为系统主内存(RAM),另一为储存内存。在前一篇中已经对 RAM 的其中一个分支 DRAM 做初步的说明。
(在前一篇中有读者对于将 RAM 翻成系统主内存有质疑,笔者很清楚这两者并非是同种东西,但是现行国内消费性电子产品市场上对于主内存的标注相当混乱,想选一个比较客观的描述做代替,便以英文版 Wikipedia 上的内容做依据。然而目前英文版的内容也有所问题,无法做更正确的解释。因此,急需有力人士将内存分类做更完善的定义,供业界以及学习者参考。)
在本篇中,将进一步介绍储存内存。储存内存是用来存放电脑所有档案的地方,越大的储存空间就可以放更多资料。像对部分的男生来说,传说中的 D 槽都是以 TB 起跳的,大容量的硬盘是相当重要的。
目前,市面上有两种主流产品用做储存内存,分别为固态硬盘(SSD)以及传统硬盘(HDD)。这两者有其独特的运作方式以及优缺点,在本文中将一一介绍。
传统硬盘,大量资料储存的选择
硬盘(Hard Disk Drive),在大多数的笔电或桌机中皆可看到其身影。目前一般消费者可以购买到的 HDD,容量从 500GB 起跳至 6TB 为止,一颗硬盘就可以储存相当大量的资料。因此,HDD 相当适合存放大量的档案。
about-ssd-hdd-1.jpg1920x1469 242 KB
▲ 此图为 2.5 寸的硬盘,常用在笔电中。和 3.5 寸硬盘相比,耗电量较低。(Source:Wikipedia)
传统硬盘的运作方法是以中心的马达旋转碟片,接着磁头会在碟片上移动以便寻找资料,如下图。常见硬盘旋转的速度有每分钟 5,400、7,200 转两种,其中,5,400 转的硬盘大多为 2.5 寸的硬盘,因运转速度较慢,耗电量较低,只需用 USB 传输线供电即可。至于 7,200 转以上的硬盘则多为 3.5 寸硬盘,需额外的电源供给。
(Source:YouTube)
提升硬盘的读取效率,硬盘分区!
至此,我们已知硬盘是将资料储存于一张圆形的碟片上。然而资料究竟要如何摆放?在圆形的碟片上,资料的摆放有很多种,在这里将介绍 3 种。
1.类似黑胶唱片,以螺旋状的摆法,由外到内,只有单一一条路径,在读资料时,可以顺顺地从头的读到尾。但是这样的储存方式不适合硬盘这种会动态读写的运作机制。因为在动态写资料进入硬盘时,将无法迅速且准确的区分不同资料的位置。
2.类似 DVD,以同心圆的方式,将资料一圈又一圈的摆放,如下图。然而,缺点是最外圈单圈可储存资料量比内圈单圈还要多,不同容量的储存空间会不利于资料读写以及分类。单一化的模式较适合电脑。
3.将同心圆内的每圈切成多块大小相同的区间。如此,就能够将获得单一模式的区块,下图为分块的示意图,实际上的切法会有差异。
▲ 同心圆,在每一圈的间距皆相同的情况下,白色单圈的面积比红色单圈面积大。面积的大小直接影响可储存的资料量。(Source:Wikipedia)
▲ 藉由将同心圆再分成多个区块,如此便可均分硬盘的容量至每一区块
传统硬盘是以机械式的转轮运转碟片,并且使用机械轴控制磁头,因此,机械马达的运作速度会影响读取资料的速度,现行 7,200 转硬盘读取资料的极限速度大致在 200MB/s 左右。此外,如果在运行的过程中,突然遇到激烈的震动,磁头有可能和碟片相撞,导致硬盘受损。于是,一种非动态且可以更高速传输的硬盘闪耀登场。
固态硬盘,高速传输的不二选择
固态硬盘(Solid State Disk),做为传统硬盘市场的挑战者,它不会因为运转期间的剧烈震动而导致坏损。同时,也因为不需要机械式的转轴以及读取头,资料读取的速度可以大幅提升。目前,高端的笔记本电脑,大多采用此类的硬盘。
about-ssd-hdd-3.jpg2560x1680 391 KB
▲ 市面上常见的 SSD,外观和 2.5 寸的传统硬盘一样。因此,可以轻易地将笔电从传统硬盘升级成固态硬盘。
其中,固态硬盘是硬盘形式的总称。它可以再依据储存内存采用的技术分成几类。
1.以 DRAM 做为内存。和前一篇所述的系统内存,将 DRAM 当成只有系统可以读取不同,这边的 DRAM 是做为资料储存用。因为 DRAM 有较高的读取速度,因此部分使用者会将需要较高速执行的程序放在 DRAM 中执行,如此便能让程序运行的更快。然而,DRAM 的价格较高以及会有失去资料的风险。
2.以 NAND Flash 做为内部内存,是目前市面上主流的技术,此外,手机内部的储存内存也是采用此技术。在下一篇中会有更进一步的介绍。
3.3D Xpoint、3D V-NAND 及将来其他的技术。
总体来说,传统硬盘和固态硬盘的优缺点如下:
现行储存界的王者 NAND Flash
NAND Flash,做为现行固态硬盘以及手机储存空间的主流技术,它有高速传输以及抗震的优点,使其成为现行移动设备的市场占有者。然而,它究竟是怎么运作的?市场上常听到的 SLC、MLC 又是什么东西?以下将一一说明。
便于管理,NAND Flash 分区!
一片 Flash 的内部会被区分成很多块(block),每一块再细分成许多页(page)。我们可以将一片 Flash 比拟成一个书柜,书柜内部有很多本笔记本(block),每本笔记本里都有相同样数量的页面(page),有些页面有资料,有些是空白的,就像是我们手机或笔电的储存空间一样,有些地方有资料,有些地方是空的。
当我们要在书柜中找资料时,因为笔记本已经分门别类地放在架上,而且我们有张小抄记得要找的资料在哪一页。因此,我们可迅速的找出该本笔记本,直接翻到该页查看资料。当要修改笔记本内部的资料时,则会找一空白的页面,将修改后的资料写在此页上,把原本那一页涂黑,并记下新的资料在那边。
在 Flash 内部,有个专门的元件负责管理资料的存放,而 flash 的结构就像是书柜一样。因此,我们可以轻易地如上所述那样寻找资料以及撰写资料。
因为修改资料是直接涂黑而非擦掉,因此,当其中一本笔记本差不多被涂黑之后,就只能将有用的资料抄至别处,直接换一本新的笔记本。Flash 则是当其中一块里面的页面都差不多不能再写资料的时候,将有用的资料存到另一块中,将不能读写的那一块重新充电,让该块变得像新的一样。
速看元件结构,揭开 NAND Flash 的面纱
一个 NAND Flash 单元的结构如下图。和 MOSFET 相比,它多了浮闸(Floating Gate),NAND Flash 便是藉由这个元件储存资料。
▲ 此为 Flash 的结构,除了 Floating Gate 的部分外,剩下的构造皆和 MOSFET 类似。
▲ 将 Flash 的单元以 NAND 逻辑闸的方式排列,便成为 NAND Flash。(Source:wikipedia user Cyferz [GFDL or CC-BY-SA-3.0], via Wikimedia Commons)
当要将电子存放进浮闸时,便是调整控制闸(Word Line Control Gate)的电压,让部分电子以量子穿隧效应跃进浮闸。当电子充满浮闸时,它便代表 0,当浮闸内部没有电子时,则代表着 1。一旦要写资料进入 memroy 中,则将部分元件的电子导出浮闸。这样便可形成 0 和 1 相间的排列方式,满足储存资料的目标。
如果将多个 Flash 单元,以 NAND 逻辑闸的排列方式排列,如右上图。这类的 Flash 便被称为 NAND Flash。采用这个排列方式的 Flash 所具备的优点是可以减少 Source Line 和 Bit Line 的数量,在寸土寸金的晶圆上,容纳更多的储存元件。缺点则是读资料时,一次只能读取一个元件,不能整条一起读,以及欲充电时,必须将整条 NAND Flash 单元一起充电。
当我们将多条 NAND Flash 单元摆放在一起,如下图。便会形成一片 Flash。Page、Block 在硬件中大致是依此方法分配。
▲ 2D NAND Flash 实际制作出来的电路简图,由图中可以明显得知 Block 是将多个 Page 组合起来而成。(Source:Slideshare)
在既存结构下塞入更多资料,MLC
上面介绍的 NAND Flash 被归类在 SLC(Single Level Cell)中,SLC 是指在一个 NAND Flash 单元中,只储存一单位的资料,也就是 0 或 1。然而,制程演进的速度跟不上使用者对大容量 Flash memory 的需求。
因此,制造商便想到可以在单一 Flash 单元中,依据电子存放的多寡来分成4个等级。每一个等级代表一种资讯排列,分别为 00、01、10、11。如此,便可在既有的技术下,提供两倍的储存容量。采用这种技术的 NAND Flash 便被称为 MLC(Multi-Level Cell)。
然而,因为 MLC 是将原本元件再多分2级,导致在电子数量的判断上,将更加严格,让 MLC 对错误的容忍度比 SLC 低,寿命也较短。至于现在逐渐在市场出现的 TLC(Triple-Level Cell),则是在一个 Flash 单元中分成 8 个等级,分别为 000、001、010、011、100、101、110、111。可想而知,TLC 的寿命必定小于 MLC。
NAND Flash 的寿命,读写次数上限
NAND Flash 会有寿命是因为在写资料的时候,需要施加较高的电压,将电子强行跃过绝缘体,以进入浮闸,或离开浮闸。每次执行这个步骤时,都会对绝缘体层造成伤害。渐渐的,绝缘体层将失去隔绝电子的能力,使浮闸无法再保存资料。
此外,大多数的使用者会频繁的使用部分程序,电脑在读写资料的时候将无法平均的读写整片内存,而是频繁的使用特定几块(block)。为了避免特定几块被迅速的使用而导致内存容量下降,制造商会再加上控制器,以变换定址的方式,平衡每一块的使用次数,让 NAND Flash 有更长的寿命。
因为有控制器在监控内存的使用情形,目前已经不需要太担心 NAND Flash 的寿命,只要硬盘不要装满资料,留有部分的空间做平衡读写,基本上再换新电脑前,硬盘都不会有坏掉的问题。
在考虑传输速度以及单位储存空间的价钱。现在以 NAND Flash 为核心的 SSD 逐渐成为主流,开始侵蚀传统硬盘的市场,称 NAND Flash 为现行储存界的王者,相当合适。