この質問を読んだ後:
HDDとSSDを検出できます。これで問題は、ツールがhdparm
自分のディスク(ST1000DX001)をクラシックHDDとマークしているため、SSHDを検出する方法がわからないことです。
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
グレブ^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を使用できるため、メーカーは単一のインターフェースチップ/ボードで標準化できます。