努力扯到硬盘上

对于新一代的有理想有追求有抱负又血气方刚的青年来说,谁的硬盘里没住过几个来自岛国“女朋友”呢,说不定有的还被你一直珍藏着吧?哈哈,但是本篇文章的话题不是硬盘里住着的“女朋友”,而是“女朋友”所住着的“房子” -- 硬盘。

本来我与硬盘是不会有任何过多的关注的,我好好地写我的代码,它好好地保存好我的代码。直到最近迫于自己电脑的速度慢地像蜗牛一样,就想入手一台 Macbook Pro with Retina, 但是迫于经济(毕竟是学生党)压力,就一直在考虑买 128 GB 的版本还是买 256 GB 的版本,毕竟多了 128 GB 的硬盘容量就要多画 1000 多块钱啊,此时终于体会到苹果开机画面为什么出现的会是黑苹果了(因为太TM黑心了)。

遇到问题不要怕,打开电脑问 google!打开 google,优雅地输入

如何给 Macbook Pro 扩充硬盘容量?

然后就吧啦吧啦地一大堆方案,看得我晕晕乎乎的,但是总结起来也就是下面几种方案:

  • 使用 SD 卡来扩充容量
  • 买个移动硬盘来存放大文件
  • 固态硬盘 + 硬盘盒

那么哪种方案最好呢?作为一个理性而严谨的程序员来说,我们追求的目标是用最少的开销得到最优的结果。毕竟没有那么壕地买了所有的东西来验证那个性价比最高(人傻钱多的表现),但是我们可以从理论上进行分析啊(否则我在这里BB半天干嘛吗)。

硬盘科普

什么是硬盘?

引自维基百科上定义:

硬盘(英语:Hard Disk Drive,简称HDD)是电脑上使用坚硬的旋转盘片为基础的非挥发性存储设备,它在平整的磁性表面存储和检索数字数据,信息通过离磁性表面很近的磁头,由电磁流来改变极性方式被电磁流写到磁盘上,信息可以通过相反的方式读取,例如读头经过纪录数据的上方时磁场导致线圈中电气信号的改变。硬盘的读写是采用随机存取的方式,因此可以以任意顺序读取硬盘中的数据2。硬盘包括一至数片高速转动的磁盘以及放在执行器悬臂上的磁头。

并且随着存储技术的不断发展,硬盘也从最开始的只有 1.44MB 大小的软盘一步一步地发展到现在非常常见的 1TB 的机械硬盘以及能够进行快速读写的固态硬盘。

硬盘的数据接口

硬盘作为一个计算机的外接设备,总是需要通过某种方式连接到计算机的主板上,而这些不同的连接方式对应的就是不同的数据接口,这些数据接口就是制约硬盘读写速度的一个关键因素,其种类可以分为以下几种:

  • ATA(Advanced Technology Attachment) ATA 是用传统的40-pin并口数据线连接主板与硬盘的,接口速度最大为133MB/s,因为并口线的抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所替换。而 IDE 是一种计算机系统接口,主要用于硬盘和CD-ROM,本意为“把控制器与盘体集成在一起的硬盘”。数年以前PC主机使用的硬盘,大多数都是IDE兼容的,只需用一根电缆将它们与主板或适配器连起来就可以了,而目前主要接口为SATA接口。 SATA(Serial ATA)于2003年推出后,原有的ATA改名为PATA(并行高技术配置,Parallel ATA) 接口示意图如下所示: PATA示意图
  • SATA(Serial ATA) SATA 也就是使用串口的ATA接口,因抗干扰性强,且对数据线的长度要求比ATA低很多,支持热插拔等功能,SATA-II的接口速度为300MiB/s,而新的SATA-III标准可达到600MiB/s的传输速度。SATA的数据线也比ATA的细得多,有利于机箱内的空气流通,整理线材也比较方便。 接口示意图如下所示: SATA接口示意图
  • SCSI(Small Computer System Interface) SCSI硬盘广为工作站级个人电脑以及服务器所使用,因此会使用较为先进的技术,如碟片转速15000rpm的高转速,且资料传输时CPU占用率较低,但是单价也比相同容量的ATA及SATA硬盘更加昂贵。 接口示意图如下所示: SCSI硬盘接口示意图
  • SAS(Serial Attached SCSI) SAS 是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s。此外也透过缩小连接线改善系统内部空间等。 接口示意图如下所示: SAS硬盘接口示意图
  • PCI-E(PCI Express) PCI Express是新一代的总线接口。早在2001年的春季,英特尔公司就提出了要用新一代的技术取代PCI总线和多种芯片的内部连接,并称之为第三代I/O总线技术。 PCI-E接口主要用于内嵌式应用,固态硬盘与机械硬盘相比,用物理设备代替了机械设备的低速,但是在性能提升的过程中,固态硬盘再次受到物理尺寸和数据接口的限制。PCI-E接口相比SATA拥有更大带宽,能使性能和容量取得进一步提升,充分发挥固态硬盘潜能,因此广泛应用于对速度拥有更高要求的工业或者服务器领域。 PCIe 2.0的传输速率由PCIe 1.0的单向250MB/s提升到500MB/s,PCI 3.0可提升至750MB/s。 接口示意图如下所示: PCI-e接口示意图
  • USB(Universal Serial Bus) USB 是连接计算机系统与外部设备的一种串口总线标准,现在最新一代的 USB 标准是 USB 3.1。通常移动硬盘都会已 USB 接口的方式连接到计算机上,所以它也算是一种硬盘的数据接口。 现在 USB 3.1 的传输速率已经达到了 596MB/s,而 USB 2.0 的传输速率仅为 57.2MB/s。 USB 3.0 和 USB 2.0 接口的示意图如下所示: USB接口示意图

对于硬盘我们最关心的一项指标就是它所支持的最大传输速率,最后用下面这张表格来总结一下:

接口类型 最大传输速度(MB/s)
ATA(IDE) 133
SATA-II 300
SATA-III 600
SAS 750
PCI-e 2.0 500
PCI-e 3.0 750
USB 2.0 57
USB 3.0 596
USB 3.1 1192

Macbook pro 中的硬盘数据接口

从 Macbook pro 的官方规格提供的信息来看,它内置的固态硬盘使用的 PCI-e 接口,硬盘的读写速度大概能够达到 500 MB/s 左右。 并且 Macbook pro 配备了两个 USB 3.0 的接口,如果使用支持 USB 3.0 的移动硬盘,其读写速度能够达到 100 MB/s 左右(这里还要考虑到机械硬盘内部的结构所决定的最快读写速度)。

机械硬盘 vs 固态硬盘

机械硬盘和固态硬盘在计算机中都是作为外部存储器,所以它们有一个共同的特点就是断电非易失,能够持久地存储数据。

但是它们之间又存在着许多不同点:

1. 存储介质不同

  • 机械硬盘使用磁为介质保存数据,利用磁头读写圆盘面微小磁体的磁极来实现数据读写。
  • 固态硬盘采用闪存(Flash)为储存介质,和U盘的原理几乎一样,闪存外观很像CPU、内存那种芯片,也和内存一样内部没有任何活动的机械部件。

2. 读写方式

  • 机械硬盘在不同位置读写时,磁头要来回运动,在同一个地方连续写入一段数据时效率更高,随机乱序读写时效率很低。
  • 固态硬盘由于采用了闪存作为存储介质,所以根据闪存的特性,其随机读写和顺序读写时速度并没有什么差异。

3. 读写速度

硬盘的读写速度除了受硬盘内部的组成结构的限制之外,它还受连接到主板上不同数据接口的影响,下面给出的读写速度都是基于现在使用最普遍最流行的 SATA-III 接口。

  • 机械硬盘的读写速度和其转速有非常大的关系,有关数据如下表所示:
机械硬盘转速(rpm) 读写速度(MB/s)
5400 60~90
7200 130~190
10000 200
  • 固态硬盘实际上是闪存整列,利用多个闪存并行读写来达到甚至超过机械硬盘的读写速度,并行的闪存数无上限,读写速度、容量与闪存芯片数成正比。现在市面上的固态硬盘的读写速度能够达到 500 MB/s 以上。

4. 优缺点

通过上面的分析,固态硬盘一个最大的特点就是速度快,当然除此之外还有功耗低、无噪音、低故障率的优点,那么它有什么缺点吗?那就是价格太贵了,但是随着存储技术的不断发展,固态硬盘的价格也在慢慢地下降。

除此之外,固态硬盘比较于读取较小的文件,它不太适合于单个文件超过 4GB 的文件,所以像电影照片这种文件最好还是通过机械硬盘来存放比较好。

移动硬盘 VS 移动固态硬盘

首先先给出两者的定义吧:

  • 移动硬盘:移动的机械硬盘,本质上就是一个机械硬盘加上一个USB接口电路板,然后通过 USB 接口连接到电脑上。
  • 移动固态硬盘:移动的固态硬盘,本质上是一个固态硬盘加上一个USB接口电路板,它也主要是通过 USB 接口连接到电脑上。

我们平时常见的移动硬盘的内部结构如下图所示:

读写速度

现在我们假设这两者都使用 USB 3.0 作为数据接口连接到电脑上,对我们最关心的硬盘的读写速度给出一个对比。

类别 读写速度(MB/s)
移动硬盘 100
移动固态硬盘 300 ~ 400

移动固态硬盘 VS 固态硬盘 + USB 3.0 移动硬盘盒

移动固态硬盘等价于固态硬盘 + 移动硬盘盒吗?咋一看好像两者没啥区别啊,毕竟我们从京东上的下面两款产品中看出多大差别啊,好像第二款既便宜速度又快。

编号 产品 价格 读写速度(MB/s) 接口
1 创见 ESD400系列 128G 1.8英寸 USB3.0 轻巧移动固态硬盘 459 400 USB 3.0
2 创见 340系列 128G SATA3 固态硬盘 279 500MB/s SATA-III

但是我们注意到上面两个 SSD 最大的不同在于它们的接口不同,第一款 SSD 使用的是 USB 3.0 的接口,所以可以是随时插拔携带的。

而第二款 SSD 使用的是 SATA-III 的接口,它只能作为笔记本电脑或者台式机的内置存储器使用,并且需要通过 SATA-III 接口才能进行连接,因而也就不能支持随时插拔携带了。正是由于这个痛点,就催生了 USB 3.0 移动硬盘盒的诞生。

移动硬盘盒其实就是一个金属外壳 + 一个 SATA 接口转 USB 接口的电路板,你只要将你的 SATA 接口的固态硬盘(当然也可以是机械硬盘)放到这个盒子里,然后拧紧螺丝,然后通过 USB 数据线连接到计算机上,这样一个手工 DIY 的“移动固态硬盘”就搞定了。

那么我们最关心的问题来了,通过 SATA 接口的固态硬盘 + USB 3.0 接口的移动硬盘盒组装的“移动硬盘”有多快呢?

由于本人没有实际实验测试过,所以有关数据引自下面的这篇文章USB3新体验 SSD做移动硬盘速度多快,最终得到的实验结果其读写速度大概是在 200 MB/s 左右。虽然没有达到 SATA-III 接口中所能达到的 500 MB/s 的读写速度,但是相对于移动硬盘来说,已经翻了一倍了。

总结

对于给 128GB 版本的 Macbook Pro 如何扩充存储器容量的方法,前面提到的添加一张 SD 卡的方法也许也就适合存放些不是不是特别常用的文件,毕竟现在的 SD 卡的读写速度也只有 80 MB/s。

考虑到500G 的固态硬盘也要卖到 800~1000 RMB,我觉得还是推荐大家买个 400 RMB的1TB 的移动硬盘,毕竟速度也不算很慢,关键在于价格很低了,同时容量也足够你存放各种小电影啦。

不过我觉得,如果你嫌携带麻烦的话,起始也可以买个 256GB 的固态硬盘 + 移动硬盘盒组成一个“移动固态硬盘”,用来存放一些免安装的软件,这样会在加载运行时快很多,而且成本也只要 400~500 块。

总之,如果您是土豪,根本无需关注这些东西了,直接 Macbook Pro 512GB 固态硬盘 i7 处理器 16GB 内存的顶配就完成满足各种需要了,至于我们这种屌丝程序员只能抠着指甲算着那种方案既便宜有好了!

希望这篇文章可以让你对移动硬盘的选购有些参考作用吧!

参考文章

  1. 维基百科-硬盘
  2. 固态硬盘是什么接口
  3. 固态硬盘当作移动硬盘使用 速度浪费90%
  4. PCI-E是什么
  5. USB3新体验 SSD做移动硬盘速度多快