关于外存你需要了解的

概述

原文链接:https://zhuanlan.zhihu.com/p/333965692

参考:

上一节对内存的物理特性进行了了解,这篇打算对上一篇提到的外存进一步讲解。 外存全称为外部存储器,它指的是除计算机内存及 CPU 缓存以外的储存器。外存是相对内存来说的。计算机不能对外存进行直接寻址,简单的说,就是给外存一个物理地址的话它是处理不了的。由于内存具有掉电后数据无法保存的特性,所以计算机通常需要配备外存来保持数据。 外部存储器按照存储介质种类可以划分为光、磁性、半导体这三大类。

  • 光存储:比较常见的是 CD、DVD、蓝光。
  • 磁性存储:比较常见的是磁带、软盘、硬盘。
  • 半导体存储:这个类型的存储比较多,比如上一篇说的内存,闪存 SSD、各种 ROM 等。

下面对这三大类的外存分别都拿一个典型出来了解一下。

Optical Storage(光存储)

蓝光,英文 Blu-ray Disc,主要用于存储高清格式的音视频文件,其物理结构与 DVD 类似。为什么叫蓝光呢?因为用于刻录、读取光盘的激光是蓝紫激光,一般的 DVD 使用的激光是红激光。蓝紫激光的波长比较短,刻录的孔径就更小,所以可以刻录在光盘上的信息就更多,通常能比普通 DVD 多存储 6 到 10 倍的信息。 目前来说,每个蓝光碟片所能存储的信息比较有限,根据了解大概能到 400GB 左右。虽然蓝光碟片能存储的信息较少,但是它能保存很久,50 年往上走。不知道大家有没有了解过 GitHub 的北极代码库计划,GitHub 将优秀的代码库以二维码的形式存放到胶片中,并放到挪威的一个废弃煤矿冻土区深处进行存储。注意:它用的不是常见的磁盘,也不是用的 SSD,也不是用的蓝光 DVD,而是胶片!因为胶片的寿命可以长达 1000 年,而我们常见的磁盘也不过几年寿命而已。

Magnetic Storage(磁存储)

磁盘这种类型是我们目前最常见也用的最多的存储介质。磁盘顾名思义就是用磁性物质制作的坚硬旋转盘片,它的物理结构一般主要有磁头、盘片、电动机及主控芯片等,盘片是它的主要存储组件。盘片上覆盖着一层薄薄的磁性物质,所有数据都通过磁性物质进行存储。它的读写原理是:写数据时,由磁头通过电磁流改变盘片上的磁性材料的极性,比如由正极变负极,或者由负极变正极,而正极对应的是数据 1,负极对应的是 0,所以一串 0 或 1 的数据就这样通过磁材料的极性间接表达了出来;而读数据时,磁头经过盘片上方时会被磁性材料的极性改变电气信号,通过极性影响了电的 1 或 0 表达,所以也间接的将存储在磁盘上的数据表达出来了。 磁盘的数据接口有如下几种:

  • IDE:也叫 ATA,这种接口的速度不快,而且抗干扰性差,现在已逐渐淘汰。
  • SATA:串行的 ATA。这种接口抗干扰性强,速度较快,一般可以达到 300MB/s 以上。我们常用的台式机就是这种接口。
  • SCSI:小型机系统接口。一般用于个人工作站和服务器。
  • SAS:新一代的 SCSI 技术,可兼容 SATA,速度可达 12Gb/s。
  • FC:光纤通道接口,具有热插拔、速度快、价格高的特性,一般只用于高端服务器领域。

目前磁盘能存储的数据较多,而且价格便宜,在外存存储介质里占了半壁江山。但是磁盘由于它的物理特性的原因特别容易坏,一不小心摔它一下可能就会损坏里面的盘片或磁头,故障率特别高,而且即使不摔它,它的寿命也不长,一般三四年就需要换一批新磁盘。很多数据中心里面的存储服务器每隔三四年的时间就得更换一批新的磁盘,即使磁盘本身并没有什么坏道,这样看来其实磁盘也算是一种快消品。

SSD(半导体存储)

随着技术的发展,以前很贵的 SSD 也越来越被大众所消费的起。SSD 全称为 Solid State Drive,译为固态硬盘。与磁盘不同的是,磁盘是用电动机驱动磁头来存取数据的,SSD 是用电来驱动半导体存取数据的,所以与磁盘相比,SSD 具有优秀的随机访问能力,而且两者的 IO 差距相当大,可达 500 MB/s - 3000 MB/s,毕竟电比物理运动的磁头快多了。 SSD 的组成部件有主控芯片、缓存芯片、闪存颗粒、PCB 板,主要的存储部件是闪存颗粒。闪存颗粒有如下几种:

  • SLC:Single-Level Cell,单层单元。具有 100K 次擦写寿命。它只能表达 0/1 这两种数据。
  • MLC:Multi-Level Cell,多层单元,但是一般指的是两层单元。3000-10000 次擦写寿命。它能表达 00/01/10/11 四种数据。
  • TLC:Trinary-Level Cell,三层单元。500-1000 次擦写寿命。依次类推,它能表达 8 种数据。
  • QLC:Quad-Level Cell,四层单元。这个擦写寿命比较可怜。它能表达 16 种数据。

但是在读写速度方面:SLC > MLC > TLC > QLC,价格也是: SLC > MLC > TLC > QLC。 为什么会有寿命长短的区别呢?我从网上找来了一些资料:闪存单元的每次擦写都会导致闪存单元里面的硅氧化物的损耗,一旦这个氧化物损耗完后这个闪存单元就会寿终正寝。单个闪存单元的层级越多加载到它上面的控制电压就需要更久,所以导致氧化物的损耗更大,寿命也就越短。 SSD 根据插头接口的不同也可以划分为:SATA SSD、mSATA SSD、M.2 SSD、PCIe SSD。速度一般是 SATA SSD < mSATA SSD < M.2 SSD < PCIe SSD。 关于磁盘和 SSD 还有很多特性没有讲,比如磁盘的寻道、SSD 的读写原理以及写放大等,这些会在接下来的文件系统模块进行更加详细的介绍。

Magnetic Tape Storage(磁带存储)


最后修改 October 4, 2023: 合并 commit (98ba273b)