如何使用 ATA 命令检查磁盘是否为 SSHD(混合驱动器)

如何使用 ATA 命令检查磁盘是否为 SSHD(混合驱动器)

看过这个问题后:

(如何知道磁盘是 SSD 还是 HDD

我能够检测 HDD 和 SSD。现在的问题是我不知道如何检测 SSHD,因为该hdparm工具显示我的磁盘(ST1000DX001)是经典 HDD。

我是否能够根据通过发出 IDENTIFY Ata 命令收集的任何信息来检测它?

答案1

我不认为有任何绝对确定的方法来检测 SSHD,但如果驱动器已知smartctl,您可以使用smartctl -P show

例如

$ sudo smartctl -P show /dev/sda
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.6-2.dmz.2-liquorix-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

Drive found in smartmontools Database.  Drive identity strings:
MODEL:              ST4000DX001-1CE168
FIRMWARE:           CC44
match smartmontools Drive Database entry:
MODEL REGEXP:       ST[124]000DX001-.*
FIRMWARE REGEXP:    .*
MODEL FAMILY:       Seagate Desktop SSHD
ATTRIBUTE OPTIONS:  188 Command_Timeout
                    240 Head_Flying_Hours

grep 为^MODEL FAMILY:.*SSHD

smartctl了解(至少部分)Seagate SSHD,但不了解 Western Digital WD10J31X(具有 8GB 缓存的 1TB 笔记本电脑 SSHD),可能还有其他产品。

$ grep -i sshd /var/lib/smartmontools/drivedb/drivedb.h 
  { "Seagate Laptop SSHD", // tested with ST500LM000-1EJ162/SM11
  { "Seagate Desktop SSHD", // tested with ST2000DX001-1CM164/CC43

smartctl如果您有不了解的SSHD ,请提交错误报告或补丁。


我想到的另一件事是,大多数(所有?)HDD 只支持 SATA2 传输速度,因为 3.0Gbps 远远超出了它们的能力。

因此,如果您确定某个驱动器是 HDD,则可以执行类似的操作hdparm -I /dev/XXX | grep -E 'Gen3 signaling speed|6.0Gb/s)'来查看它是否是 SSHD。

例如,在我的系统上混合使用 WD、ST 和 OCZ HDD、SSHD 和 SSD:

$ list_disks
sda ST4000DX001-1CE168_Z303PTHA
sdb ST4000DX001-1CE168_Z303PSH6
sdc ST4000DX001-1CE168_Z302ZSGB
sdd ST4000DX001-1CE168_Z303PVZ9
sde WDC_WD10EACS-00ZJB0_WD-WCASJ2114122
sdf WDC_WD10EACS-00ZJB0_WD-WCASJ2195141
sdg WDC_WD10EARS-00Y5B1_WD-WMAV50933036
sdh ST31000528AS_9VP18CCV
sdi OCZ-VECTOR_OCZ-8RL5XW08536INH7R
sdj OCZ-VECTOR_OCZ-0974C023I4P2G1B8

$ for i in /dev/sd? ; do echo -n "$i: " ; sudo hdparm -I "$i" | 
    grep -E 'Gen3 signaling speed|6.0Gb/s)' || echo ; done
/dev/sda:      *    Gen3 signaling speed (6.0Gb/s)
/dev/sdb:      *    Gen3 signaling speed (6.0Gb/s)
/dev/sdc:      *    Gen3 signaling speed (6.0Gb/s)
/dev/sdd:      *    Gen3 signaling speed (6.0Gb/s)
/dev/sde: 
/dev/sdf: 
/dev/sdg: 
/dev/sdh: 
/dev/sdi:      *    Gen3 signaling speed (6.0Gb/s)
/dev/sdj:      *    Gen3 signaling speed (6.0Gb/s)

SSHD 和 SSD 报告 Gen3,HDD 则不报告。

我不确定这是否 100% 可靠...我的 HDD 有点过时,较新的 HDD 可能会使用 Gen3,无论如何,这样制造商就可以在单个接口芯片/板上进行标准化。

相关内容