在1991年,我刚接触计算机的时候,不少计算机尚未硬盘。整个操做系统都安装在5⼨或者3.5寸的软盘里。不过,很快⼤部分计算机都开始⽤上了直接安装在主板上的机械硬盘。
到了今天,更早的软盘早已经被淘汰了。在我的电脑和服务器里,更晚出现的光盘也已经不多用了。
机械硬盘的生命力仍然很是顽强。不管是做为我的电脑的数据盘,仍是在数据中内心面用做海量数据的存储,机械硬盘仍然在被大量使用。不只如此,
随着成本的不断降低,机械硬盘还替代掉了不少传统的存储设备,好比,之前经常⽤来备份冷数据的磁带。
那这一讲里,咱们就从机械硬盘的物理构造开始,从原理到应用剖析一下,看看咱们能够怎么样用好机械硬盘。服务器
咱们刚才说的一个磁道,会分红一个一个扇区(Sector)性能
上下平行的一个一个盘面的相同扇区呢,咱们叫做一个柱面(Cylinder)优化
在2000-2010年这10年间,正是这些奇思妙想,让海量数据下的互联网蓬勃发展起来的。在没有SSD的硬盘的时候,聪明的工程师们从硬件到软件,
设计了各类有意思的方案解决了咱们遇到的各种性能问题。而对于计算机底层知识的深刻了解,也是可以找到这些解决办法的核心因素。
操作系统
好了,相信经过这一讲,你对传统的HDD硬盘应该有了深刻的了解。咱们来总结一下。设计
机械硬盘的硬件,主要由盘面、磁头和悬臂三部分组成。咱们的数据在盘面上的位置,能够经过磁道、扇区和柱面来定位。实际的一次对于硬盘的访问,
须要把盘面旋转到某一个“几何扇区”,对准悬臂的位置。而后,悬臂经过寻道,把磁头放到咱们实际要读取的扇区上。3d
受制于机械硬盘的结构,咱们对于随机数据的访问速度,就要包含旋转盘⾯的平均延时和移动悬臂的寻道时间。经过这两个时间,咱们能计算出机械硬盘的IOPS。
blog
7200起色械硬盘的IOPS,只能作到100左右。在互联网时代的早期,咱们也没有SSD硬盘能够用,因此工程师们就想出了Partial Stroking这个浪费存储空间,
可是能够缩短寻道时间来提高硬盘的IOPS的解决方案。这个解决方案,也是一个典型的、在深刻理解了硬件原理以后的软件优化⽅案。
原理