磁盘相关知识的介绍

磁盘相关知识的介绍

这个表格是我自己整理的,是我的体会,不一定准确。

| 硬盘类型 | 接口 | 工作模式 | 备注 |
| — | — | — | — |
| IDE 硬盘 | ATA | ATA | 理论上,将控制器做在电路板中、与硬盘合在一起的这种盘,都可以称为 IDE 硬盘。这是 IDE 真正的含义。 |
| SATA 硬盘 | SATA | IDE、AHCI、RAID | 在 ThinkPad T400 中可通过 Config -> SATA -> Compatibility 设置 IDE 兼容模式。 |
| SCSI 硬盘 | SCSI | SCSI | 我在 VMware 中见过。安装 Red Hat Linux 时,曾遇到需要删除 SCSI 硬盘、新建 IDE 硬盘后再安装的情况。 |
| SSD 硬盘 | SATA-2 | 视控制器而定 | SSD 是固态硬盘。早期常见消费级 SSD 多使用 SATA 接口,具体接口和模式应以设备规格与系统识别结果为准。 |

IDE(ATA/PATA)、SATA、SCSI、SAS

早期硬盘与控制器是分离的。

IDE(Integrated Drive Electronics)是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。也就是说,理论上将控制器做在电路板中、与硬盘合在一起的这种盘,都可以称为 IDE 硬盘。这是 IDE 真正的含义。

ATA(Advanced Technology Attachment)可能因为是第一个 IDE 接口标准,现在基本都用 IDE 来指代 ATA。平时可以将 IDE 与 ATA 理解为相近概念。PATA(Parallel ATA)通常用于区分传统并行 ATA 与后来的 SATA。

SATA(Serial ATA)即串行 ATA。

SCSI(Small Computer System Interface)即 SCSI 接口。

SAS(Serial Attached SCSI)即串行连接 SCSI 接口。

以上几种接口中,ATA/PATA 与传统 SCSI 为并行方式传输数据,因此数据线针数较多;SATA 与 SAS 为串行方式传输数据,数据线针数较少。

通常,SATA 优于 ATA/PATA,SAS 优于传统 SCSI。SCSI 与 SATA 相比,具有更高的强度及稳定性,适合企业级、服务器级应用;SATA 与 SCSI 相比,优势是比较便宜、实用。

固态硬盘 SSD

SSD(Solid State Disk / Solid State Drive,固态硬盘)是用固态电子存储芯片阵列制成的硬盘,通常由控制单元和存储单元组成。存储单元负责存储数据,控制单元负责读取、写入数据。

早期消费级固态硬盘普遍采用 SATA 接口,例如 SATA-2。后来的 SSD 还可能使用 SATA-3、mSATA、M.2 SATA、M.2 NVMe 等不同接口和协议。判断一块 SSD 的实际接口与工作模式,应以设备规格、BIOS/UEFI 设置和操作系统识别结果为准。

ATA 传输模式:PIO、DMA、Ultra DMA(UDMA)

ATA 早期有 PIO 和 DMA 两种模式,后来又有 Ultra DMA 模式。

PIO(Programmed I/O)是一种通过 CPU 执行 I/O 端口指令来进行数据读写的数据交换模式,是最早期的传输方式之一。由于需要 CPU 干预,会非常占用 CPU 资源,并且速度很慢。常见模式包括 PIO mode 0(3.3 MB/s)至 PIO mode 4(16.6 MB/s)。

DMA(Direct Memory Access)是一种不经过 CPU、直接从内存存取数据的数据交换模式。常见模式包括 Single-Word DMA 和 Multi-Word DMA。

UDMA(Ultra DMA)常见模式包括 UDMA mode 2(ATA33)、UDMA mode 4(ATA66)、UDMA mode 5(ATA100)、UDMA mode 6(ATA133),理论速度分别为 33 MB/s、66 MB/s、100 MB/s、133 MB/s。

在 Windows 中查看某块硬盘传输模式的方法为:

设备管理器 -> IDE ATA/ATAPI 控制器 -> 主要/次要 IDE 通道 -> 属性 -> 高级设置 -> 当前传送模式

早期硬盘一般运行在 UDMA mode 5 模式下,速度为 100 MB/s。UDMA mode 6(ATA133)曾由迈拓公司提出,但并非所有控制器都支持;例如当时 Intel 的部分控制器主要支持到 UDMA mode 5。具体支持情况应以主板芯片组、控制器驱动和系统识别结果为准。

如果硬盘有坏道或读取出现问题,系统的 IDE/ATAPI 控制器驱动程序(Atapi.sys)在累计收到 6 次超时或循环冗余校验(CRC)错误后,操作系统可能会自动将传输模式降低一级。如果之后持续收到超时或 CRC 错误,最终传输模式可能会降低到最低的 PIO 模式。此时硬盘传输速度会非常慢。

主要/次要 IDE 通道、主/从盘

主板上的一个 IDE 插槽对应系统设备管理器中的一个 IDE 通道。如果主板上有两个 IDE 插槽,一般会在主板上标记 IDE1 和 IDE2,其中 IDE1 为主要 IDE 通道,IDE2 为次要 IDE 通道。由于 IDE 逐渐被 SATA 淘汰,后来的主板大多只有一个 IDE 插槽,甚至完全不再提供 IDE 插槽。

每个 IDE 插槽上可以接两个 IDE 设备,一个主设备和一个从设备,不能两个同时为主或同时为从。主/从可通过设备的跳线设置。一般数据线的中间端接从盘,边缘端接主盘。

启动时检测的顺序通常为:先主要 IDE 通道,后次要 IDE 通道;先主盘,后从盘。

在 Windows 中可以通过以下位置查看或设置 IDE 通道设备:

设备管理器 -> IDE ATA/ATAPI 控制器 -> 主/次要 IDE 通道 -> 属性 -> 高级设置 -> 设备 0/1

其中,“设备类型”为“自动检测”表示处于开启状态。如果想关闭,可以设置成“无”,这样系统启动时不会检测,可加快启动速度;但如果有硬盘接在该位置,因为系统不检测,它也不会被识别。

SATA 硬盘工作模式:IDE、AHCI 和 RAID

SATA 硬盘常见有 IDE、AHCI 和 RAID 三种工作模式。

IDE 模式:将 SATA 硬盘映射成 IDE 兼容模式。这种方式通常不需要额外安装驱动,很多早期主板默认将 SATA 设置为该模式。SATA 控制器在系统中也可能被识别为主/次要 IDE 通道。

AHCI 模式:该模式下的 SATA 硬盘采用原生方式工作,并支持 NCQ(Native Command Queuing,原生命令队列)。AHCI 需要主板和系统驱动支持。对于已经安装好的旧系统,直接在 BIOS 中从 IDE 修改为 AHCI,可能会导致启动蓝屏或无法进入系统,需要先准备好对应驱动或按系统要求调整设置。使用该模式后,启动时自检时间可能变长,但可以使用 NCQ,并支持热插拔。

RAID 模式:用于多块硬盘组成阵列。这时设备管理器中可能会多出“SCSI RAID 控制器”一项。使用 SCSI 盘、创建 RAID,或安装某些虚拟光驱软件时,也可能出现类似控制器项。

开启 AHCI 模式后,硬盘性能相对默认 IDE 模式的提升不一定非常大。普通使用场景下,默认 IDE 模式也可以满足基本使用;如果需要 NCQ、热插拔或更符合现代系统的 SATA 原生支持,应优先考虑 AHCI,并在修改前确认系统驱动已经准备好。

S.M.A.R.T.

S.M.A.R.T. 的全称为 Self-Monitoring, Analysis and Reporting Technology,即“自我监测、分析及报告技术”。支持 S.M.A.R.T. 的硬盘可以通过硬盘上的监测指令和主机上的监测软件,对磁头、盘片、马达、电路的运行情况、历史记录及预设的安全值进行分析、比较。当出现安全值范围以外的情况时,就会自动向用户发出警告。

HDTune 软件中的“健康状况”一栏,即显示了硬盘的 S.M.A.R.T. 信息。

早期某些检测软件或控制器驱动在 SATA 硬盘处于 AHCI 模式时,可能无法读取 S.M.A.R.T. 信息。遇到这种情况时,应更换支持 AHCI 的检测工具,或确认主板芯片组驱动、存储控制器驱动和硬盘检测软件是否匹配。

Leave a Reply