问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

HDD 是如何工作的:旋转硬盘内部结构与工作原理的动画展示

创作时间:
2025-03-18 09:51:07
作者:
@小白创作中心

HDD 是如何工作的:旋转硬盘内部结构与工作原理的动画展示

引用
CSDN
1.
https://blog.csdn.net/hao_wujing/article/details/144820003

硬盘(HDD)是计算机中重要的存储设备,其内部结构和工作原理复杂而精妙。本文将详细介绍硬盘的各个组成部分及其功能,并通过动画展示帮助读者直观理解硬盘的工作过程。

1 硬盘拆解

1.1 盘片(platter)

盘片是存储数据的地方,根据存储容量的不同,硬盘可能会有多个盘片堆叠。盘片由铝镁合金和其他合金的多个涂层组成,磁性功能层是120nm的钴铬钽合金薄层,它由磁性微块组成,磁极方向能变。

盘片安装在主轴上,主轴使用中心的无刷直流电机以7200rpm的等速度旋转。

1.2 机械臂装置

机械臂装置包括机械臂、滑橇、读写头、读写头停靠装置、尾部音圈电机等组成部分。

1.2.1 机械臂(arm)

每个盘片上下各有一个臂,机械臂的尾部有一个音圈电机,由线圈和上下两个强钕磁铁组成。线圈通电之后会产生一个力,使机械臂在磁盘上移动,速度可达20次/秒,精度可达30nm。

1.2.2 滑橇(slider)和读写头(read/write head)

每个臂的末端有一个称为slider的模块,它里面又包括了一个读/写头。磁盘高速旋转产生的气流能使这个滑块浮起来,稳定运行在离磁盘表面15nm的地方。

1.2.3 读写头停靠装置

只有当盘片全速旋转时,机械臂才会转到磁盘表面上。平时盘片不旋转时,机械臂会停在磁盘边上的一个小塑料装置上。

1.2.4 尾部音圈电机(马达)

机械臂的尾部有一个音圈电机,由线圈和上下两个强钕磁铁组成。这种马达的速度和精度很高,读/写头能够在不同磁道上来回移动约20次/秒,位置精度可达30nm。

1.3 机械臂-电路板之间的数据线

一条柔性电线沿着机型臂的侧面布线,一边连接到读/写头,另一边连接到硬盘的主板。

1.4 PCB 和上面的芯片

PCB上面主要有三个芯片:主处理器芯片、内存芯片和控制音圈马达和磁盘主轴电机的芯片。

1.5 数据线接口(e.g. SATA)和电源线接口

PCB边缘还有两个硬件接口:数据接口(例如SATA接口)和电源接口。

1.6 防尘装置

硬盘有两个防尘装置:垫圈和灰尘过滤器。密封和过滤都是非常必要的,因为读写头距离盘片仅15nm,而灰尘颗粒的大小可达10,000nm,如果与7200rpm高速旋转磁盘碰撞,可能会造成严重损坏。

2 盘片的微观组成

2.1 磁盘(disk) -> 磁道(track)

每个磁盘以同心圆的方式分割为多个磁道,每个磁盘的磁道数量能达到500,000个甚至更多。

2.2 磁道(track) -> 扇区(sector)

沿着直径的方向,所有磁道又被分割为多个扇区。

2.3 扇区内

每个扇区中,依次包含五部分:前导/同步区、地址区、数据区、纠错码区和扇区之间的间隔区。

  • 前导/同步区:记录这个旋转磁盘的确切速度和每个比特位的长度。
  • 地址区:帮助读/写头确定当前位于哪个磁道和扇区。
  • 数据区:扇区的大小因盘而异,例如老一些的盘是512字节或2KB,新一些的通常是4KB。
  • 纠错码(ECC)区:用于校验存储在块中的数据。
  • 扇区之间的间隔区:给了读/写磁头一定的容错能力。

3 写数据

3.1 磁场微块和磁化

扇区是由一个个磁场微块组成的,写头通过改变磁盘微块的磁化方向来实现数据写入,每个磁盘微块大小约为90nm x 100nm x 125nm。

3.2 写入 1bit 的过程

电流施加到 write head 的线圈之后,就会在此处产生一个强磁场,这个磁场沿着 write head 向下,聚焦到尖端的一个小点,改变它正下方的磁盘微块极性。磁化之后的微块变成永磁体,能保持这个状态很多年,以后可以重复用读头感应这个永久磁场,读出存储的数据。

3.3 覆盖写

原理跟上面一样,也是逐 bit 来。 如果新写入的 bit 跟已经存储的一样,磁极就不变,否则就改变一下方向。

4 读数据

4.1 如何表示 0 和 1

实际的 read head,检测的是相邻两个微块的磁极变化,这是因为磁极变化的强度比单个微块的磁场强度要大得多,所以这种方式的检测准确率非常高。

4.2 读头(read head)内部结构

读头里面是多层导电材料,由铁磁材料和非磁性材料的交替组成。这种多层材料具有一种称为巨磁阻(giant magnetoresistance, GMR)的特性,简单来说,穿过它的磁场强度发生变化时,它的电阻率就会变化。

4.3 读取数据:GMR 和读头电阻率

基于 GMR 特性,根据读头的电阻率就能判断下面存储的 0 还是 1:

  • 电阻率较低时,表示读取头下方磁场变化强,对应存储的是 bit 1;
  • 电阻率较高且无磁场时,对应存储的是 bit 0。

4.4 连续 0 的问题

如果较长连续区域的磁极都一样,对应的就是一长串的 0,由于读头的精度,有可能会导致多读或少读几个 0,导致数据错乱。解决方少:利用每个 sector 的前导区和纠错码区中的信息。

6 Linux 存储相关的子系统和软件栈

6.1 从进程 read/write 请求到 HDD 读写数据

虚拟文件系统(VFS)里面分为几类:

  1. 常规文件系统(ext4, xfs, btrfs, …);
  2. 网络文件系统(NFS, CIFS, …);
  3. 伪文件系统(procfs, sysfs, …);
  4. 特殊文件系统(tmpfs, devtmpfs, …)。

6.2 内核 block layer 深入解读

  1. A block layer introduction part 1: the bio layer, LWN.net, 2017
  2. A block layer introduction part 2: the request layer, LWN.net, 2017

6.3 其他优质文章

  1. How does a hard drive work, https://www.explainthatstuff.com/, 2024
  2. How a Hard Drive Works, cs.stanford.edu, 2012
  3. HDD from Inside: Hard Drive Main Parts, https://hddscan.com/
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号