电脑总是需要记录与读取数据的,而这些数据当然不可能每次都由使用者经过键盘来打字!所以就需要有储存设备咯。 电脑系统上面的储存设备包括有:硬盘、软盘、MO、CD、DVD、磁带机、U盘(闪存)、还有新一代的蓝光光驱等, 乃至于大型机器的区域网络储存设备(SAN, NAS)等等,都是可以用来储存数据的。而其中最常见的应该就是硬盘了吧!

  • 硬盘的物理组成

大家应该都看过硬盘吧!硬盘依据台式机与笔记本电脑而有分为3.5英寸及2.5英寸的大小。我们以3.5英寸的台式机使用硬盘来说明。 在硬盘盒里面其实是由许许多多的圆形盘片、机械手臂、 磁头与主轴马达所组成的,整个内部如同下图所示:

图0.2.4、硬盘物理构造(图片取自维基百科)

实际的数据都是写在具有磁性物质的盘片上头,而读写主要是通过在机械手臂上的磁头(head)来达成。 实际运行时, 主轴马达让盘片转动,然后机械手臂可伸展让磁头在盘片上头进行读写的动作。 另外,由于单一盘片的容量有限,因此有的硬盘内部会有两个以上的盘片喔!

  • 盘片上的数据

既然数据都是写入盘片上头,那么盘片上头的数据又是如何写入的呢?其实盘片上头的数据有点像下面的图示所示:

图0.2.5、盘片上的数据格式(图片取自维基百科)

由于盘片是圆的,并且通过机器手臂去读写数据,盘片要转动才能够让机器手臂读写。因此,通常数据写入当然就是以圆圈转圈的方式读写啰! 所以,当初设计就是在类似盘片同心圆上面切出一个一个的小区块,这些小区块整合成一个圆形,让机器手臂上的磁头去存取。 这个小区块就是磁盘的最小物理储存单位,称之为扇区 (sector),那同一个同心圆的扇区组合成的圆就是所谓的磁道(track)。 由于磁盘里面可能会有多个盘片,因此在所有盘片上面的同一个磁道可以组合成所谓的柱面 (cylinder)。

我们知道同心圆外圈的圆比较大,占用的面积比内圈多啊!所以,为了善用这些空间,因此外围的圆会具有更多的扇区[16]! 就如同图 0.2.5 的示意一般。此外,当盘片转一圈时,外圈的扇区数量比较多,因此如果数据写入在外圈,转一圈能够读写的数据量当然比内圈还要多! 因此通常数据的读写会由外圈开始往内写的喔!这是默认值啊!

另外,原本硬盘的扇区都是设计成 512Byte 的容量,但因为近期以来硬盘的容量越来越大,为了减少数据量的拆解,所以新的大容量硬盘已经有 4KByte 的扇区设计! 购买的时候也需要注意一下。也因为这个扇区的设计不同了,因此在磁盘的分区方面,目前有旧式的 MSDOS 相容模式,以及较新的 GPT 模式喔! 在较新的 GPT 模式下,磁盘的分区通常使用扇区号码来设计,跟过去旧的 MSDOS 是通过柱面号码来分区的情况不同喔!相关的说明我们谈到磁盘管理 (第七章) 再来聊!

  • 传输接口

为了要提升磁盘的传输速度,磁盘与主板的连接接口也经过多次的改版,因此有许多不同的接口喔!传统磁盘接口包括有 SATA, SAS, IDE 与 SCSI 等等。 若考虑外接式磁盘,那就还包括了 USB, eSATA 等等接口喔!不过目前 IDE 已经被 SATA 取代,而 SCSI 则被 SAS 取代,因此我们下面将仅介绍 SATA, USB 与 SAS 接口而已。

  • SATA接口

如同华硕主板图示右下方所示为SATA硬盘的连接接口插槽。这种插槽所使用的排线比较窄小, 而且每个设备需要使用掉一条SATA线。因为SATA线比较窄小之故,所以对于安装与机箱内的通风都比较好!因此原本的IDE粗排线接口就被SATA取代了! SATA的插槽示意图如下所示:

图0.2.6、SATA 接口的排线 (图示取自 Seagate 网站)

由于SATA一条排线仅接一颗硬盘,所以你不需要调整跳针。不过一张主板上面SATA插槽的数量并不是固定的, 且每个插槽都有编号,在连接SATA硬盘与主板的时候,还是需要留意一下。此外,目前的 SATA 版本已经到了第三代[17], 每一代之间的传输速度如下所示,而且重点是,每一代都可以向下相容喔!只是速度上会差很多就是了。目前主流都是使用 SATA3 这个接口速度可达 600MByte/s 的接口!

版本 带宽 (Gbit/s) 速度 (MByte/s)
SATA 1.0 1.5 150
SATA 2.0 3 300
SATA 3.0 6 600

因为 SATA 传输接口传输时,通过的数据演算法的关系,当传输 10 位编码时,仅有 8 位为数据,其余 2 位为检验之用。因此带宽的计算上面, 使用的换算 (bit 转 Byte) 为 1:10 而不是 1Byte=8bits 喔!上表的对应要稍微注意一下。另外,虽然这个 SATA3 接口理论上可达 600MBytes/s 的传输速度, 不过目前传统的硬盘由于其物理组成的限制,一般极限速度大约在 150~200MByte/s 而已啦!所以厂商们才要发展固态硬盘啊! ^_^

  • SAS接口

早期工作站或大型大脑上面,为了读写速度与稳定性,因此在这样的机器上面,大多使用的是 SCSI 这种高阶的连接接口。 不过这种接口的速度后来被 SATA 打败了!但是 SCSI 有其值得开发的功能,因此后来就有串行式 SCSI (Serial Attached SCSI, SAS) 的发展。这种接口的速度比 SATA 来的快,而且连接的 SAS 硬盘的盘片转速与传输的速度也都比 SATA 硬盘好! 只是...好贵喔!而且一般个人电脑的主板上面通常没有内置 SAS 连接接口,得要通过外接卡才能够支持。因此一般个人电脑主机还是以 SATA 接口为主要的磁盘连接接口啰。

版本 带宽 (Gbit/s) 速度 (MByte/s)
SAS 1 3 300
SAS 2 6 600
SAS 3 12 1200

因为这种接口的速度确实比较快喔!而且还支持例如热拔插等功能,因此,许多的设备连接会以这种接口来链接! 例如我们经常会听到的磁盘阵列卡的连接插槽,就是利用这种 SAS 接口开发出来的支持的 SFF-8087 设备等等的[18]

  • USB接口

如果你的磁盘是外接式的接口,那么很可能跟主板链接的就是 USB 这种接口了!这也是目前 (2015) 最常见到的外接式磁盘接口了。 不过传统的 USB 速度挺慢的,即使是比较慢的传统硬盘,其传输率大概兜还有 80~120MBytes/s ,但传统的 USB 2.0 仅有大约 60MBytes/s 的理论传输率, 通常实做在主板上面的连接口,竟然都仅有 30~40 MByte/s 而已呢!实在发挥不出磁盘的性能啊!

为了改善 USB 的传输率,因此新一代的 USB 3.0 速度就快很多了!据说还有更新的 USB 3.1 正在发展中!这几代版本的带宽与速度制表如下[19]

版本 带宽 (Mbit/s) 速度 (MByte/s)
USB 1.0 12 1.5
USB 2.0 480 60
USB 3.0 5G 500
USB 3.1 10G 1000

跟 SATA 接口一样,不是理论速度到达该数值,实际上就可以跑到这么高!USB 3.0 虽然速度很快,但如果你去市面上面买 USB 的传统磁盘或闪存盘, 其实他的读写速度还是差不多在 100MBytes/s 而已啦!不过这样就超级快了!因为一般 USB2.0 的闪存盘读写速度大约是 40MBytes/10MBytes 左右而已说。 在购买这方面的外接式磁盘时,要特别考虑喔!

  • 固态硬盘 (Solid State Disk, SSD)

传统硬盘有个很致命的问题,就是需要驱动马达去转动盘片~这会造成很严重的磁盘读取延迟!想想看,你得要知道数据在哪个扇区上面,然后再命令马达开始转, 之后再让磁头去读取正确的数据。另外,如果数据放置的比较离散(扇区分佈比较广又不连续),那么读写的速度就会延迟更明显!速度快不起来。因此, 后来就有厂商拿闪存去制作成大容量的设备,这些设备的连接接口也是通过 SATA 或 SAS,而且外型还做的跟传统磁盘一样!所以, 虽然这类的设备已经不能称为是磁盘 (因为没有磁头与盘片啊!都是内存!)。但是为了方便大家称呼,所以还是称为磁盘!只是跟传统磁盘 (Hard Disk Drive, HDD) 不同, 就称为固态硬盘 (Solid State Disk 或 Solid State Driver, SSD)。

固态硬盘最大的好处是,它没有马达不需要转动,而是通过内存直接读写的特性,因此除了没数据延迟且快速之外,还很省电! 不过早期的 SSD 有个很重要的致命伤,就是这些闪存有“写入次数的限制”,因此通常 SSD 的寿命大概两年就顶天了!所以数据存放时, 需要考虑到备份或者是可能要使用 RAID 的机制来防止 SSD 的损毁[20]

TipsSSD 真的好快!鸟哥曾经买过 Intel 较顶级的 SSD 来做过服务器的读取系统盘,然后使用类似 dd 的指令去看看读写的速度,竟然真的如同 intel 自己官网说的, 极速可以到达 500MBytes/s 哩!几乎就是 SATA3.0 的理论极限速度了!所以,近来在需要大量读取的环境中,鸟哥都是使用 SSD 阵列来处理!

其实我们在读写磁盘时,通常没有连续读写,大部分的情况下都是读写一大堆小文件,因此,你不要妄想传统磁盘一直转很少圈就可以读到所有的数据! 通常很多小文件的读写,会很耗硬盘,因为盘片要转好多圈!这也很花人类的时间啊!SSD 就没有这个问题!也因为如此,近年来在测试磁盘的性能时, 有个很特殊的单位,称为每秒读写操作次数 (Input/Output Operations Per Second, IOPS)!这个数值越大,代表可操作次数较高,当然性能好的很!

  • 选购与运行须知

如果你想要增加一颗硬盘在你的主机里头时,除了需要考虑你的主板可接受的插槽接口(SATA/SAS)之外,还有什么要注意的呢?

  • HDD 或 SSD 毕竟 HDD 与 SSD 的价格与容量真的差很多!不过,速度也差很多就是了!因此,目前大家的使用方式大多是这样的,使用 SSD 作为系统盘, 然后数据储存大多放置在 HDD 上面!这样系统运行快速 (SSD),而数据储存量也大 (HDD)。

  • 容量 毕竟目前数据量越来越大,所以购买磁盘通常首先要考虑的就是容量的问题!目前(2015)主流市场HDD容量已经到达 2TB以上, 甚至有的厂商已经生产高达 8TB 的产品呢!硬盘可能可以算是一种消耗品,要注意重要数据还是得常常备份出来喔! 至于 SSD 方面,目前的容量大概还是在 128~256GB 之间吧!

  • 缓冲内存 硬盘上头含有一个缓冲内存,这个内存主要可以将硬盘内常使用的数据高速缓存起来,以加速系统的读取性能。 通常这个缓冲内存越大越好,因为缓冲内存的速度要比数据从硬盘盘中被找出来要快的多了! 目前主流的产品可达64MB左右的内存大小喔。

  • 转速 因为硬盘主要是利用主轴马达转动盘片来存取,因此转速的快慢会影响到性能。 主流的台式机硬盘为每分钟7200转,笔记本电脑则是5400转。有的厂商也有推出高达10000转的硬盘, 若有高性能的数据存取需求,可以考虑购买高转速硬盘。

  • 运行须知 由于硬盘内部机械手臂上的磁头与硬盘盘的接触是很细微的空间, 如果有抖动或者是脏污在磁头与硬盘盘之间就会造成数据的损毁或者是实体硬盘整个损毁~ 因此,正确的使用电脑的方式,应该是在电脑通电之后,就绝对不要移动主机,并免抖动到硬盘, 而导致整个硬盘数据发生问题啊!另外,也不要随便将插头拔掉就以为是顺利关机!因为机械手臂必须要归回原位, 所以使用操作系统的正常关机方式,才能够有比较好的硬盘保养啊!因为他会让硬盘的机械手臂归回原位啊!

Tips可能因为环境的关系,电脑内部的风扇常常会卡灰尘而造成一些声响。很多朋友只要听到这种声响都是二话不说的 “用力拍几下机箱”就没有声音了~现在你知道了,这么做的后果常常就是你的硬盘容易坏掉! 下次千万不要再这样做啰!

results matching ""

    No results matching ""