Hola,我是 yes。
硬盘这东西想必我们都相当的熟悉,它存放了我们很多学习资料,还经常因为访问速度慢而被诸多文章拿出来“鞭挞”。
我找了个网站(文末贴链接),这个网站展示了从 1990 开始到 2020 不同介质数据访问的延迟时间,我翻了一遍介质自身速度的数量级没有变化,内存访问延迟从 207ns 到 100ns,硬盘从 19ms 到了 2ms,但是介质之间的访问速度还是差了几个数量级。
不过上述我圈出来的是随机访问,顺序访问的话不会差这么多,想要知道为什么,那就需要了解下硬盘的构造。
当然,我今天提到的硬盘指的是机械硬盘,固态硬盘本文暂不涉及。
之所以写这篇文章是因为我之前一直对磁道、柱面、扇区等一些东西存在疑惑,比如:
- 为什么会搞出柱面这么个概念?
- 磁道到底指的是哪里?
- 扇区是等分的?
- .....等
所以今儿咱们来理一理,按照我的习惯我们还是先简单的看下历史。
硬盘简史
1956 年 9 月 14 号,世界第一台磁盘存储设备 IBM 305 RAMAC 诞生,这个设备用盘片来存储数据,用磁头来读写数据,不过碍于当时的技术,这体积确实有点大,大约有两个冰箱那么大,来看下图就知道了。
中间的历史我看了看对我们没啥用,咱们就快进到 1973 年,那年 IBM 推出了一个代号称为 「温切斯特」的硬盘。
这种硬盘的特点就是磁头和磁片装在一个密闭空间里,当磁片高速自传之后磁头会因为空气动力而悬浮起来,然后磁头臂会操作磁头沿着盘片划圆弧状移动。
咱们现在的机械硬盘就是这样运行的,这么多年过去了,还是典型的“温切斯特”结构,也称为温盘。
至于为什么取这个代号,是因为当时研究出来的那个硬盘拥有两个 30MB 的存储单元,而「温切斯特来福枪」的口径和装药也刚好都是 30 ,所以代号就为 「温切斯特」。
历史咱们就了解到这一步差不多了,接下来看看硬盘的内部结构。
硬盘的结构
先来看看硬盘的真实样子,我就标注了一些重点部位。
我先简述一下硬盘是怎么运行的。
通电之后主轴带动盘片开始旋转,到达一定转速之后磁头就会悬浮在盘片上方,然后磁头臂就可以控制磁头做圆弧形的移动,通过盘片的旋转和磁头的移动就可能访问到盘片上任意地方的数据。
这里可能有人就会有疑问,为什么要让磁头浮起来?
首先磁头和盘片触碰的话就会有摩擦,摩擦久了之后肯定会有磨损,磨损了之后数据不就没了?
其次有摩擦力之后转速肯定就慢了,那磁盘的访问速度也就慢了。
所以悬浮很关键,而磁头悬浮的高度比头发丝还细,约 0.1微米,如果有灰尘进去可能会导致磁头和盘片磨损,这也是硬盘需要密封的原因。
那刚启动的时候磁头不是和盘片接触的吗?
是的,你说的没错,所以人们就想了个法子,也就是磁头停靠点,也就是上面图中画的地方。
当通电之后等达到一定转速磁头才会移动到盘片上,等断电之后靠着电容剩余的电量会把磁头移到停靠处,这样每次启动就不会磨损啦!
还有一种停靠方式是在盘片内圈搞了个不存数据的地方,材质都不一样,专门给磁头停靠。
为了在公众号插入视频,我还在腾讯视频上传了个视频,来自维基百科的硬盘运行视频,这个视频硬盘的停靠应该就是第二种方式。
来看下这个视频
大致清晰硬盘是如何运行之后,我们再来深入一下。
这里我本来想自己画图的,但是个人画画水平有限,人家画的太好了...所以就搬来了,哈哈哈。
先来看下盘面。
A 就是磁道,盘面就是由磁道这样的一组同心圆构成,注意是标红部位,是个环,有横截面的,有些参考书标记到线上去了....
B 是扇面,C 就是扇区,每个磁道都会被划分成一组扇区,每个扇区包含相等数量的数据位,一般为 512 字节,是硬盘存储数据最基本的单位。
D 是簇,即多个扇区组成的,像 DOS 就是以簇为单位为文件分配磁盘空间的。
从图中看,扇区好像是连续着的,其实不然,扇区之间其实有间隙,这些间隙是用来标识扇区的格式化位的,不会存储数据。