2024/04/26 更新
この記事は、自作OS Advent Calendar 2018の 12/5 の記事として書かれました。
釣りタイトルの印象はあるとは思います。SATA は、NVM Express への移行も進んでいると思われるので、主な仕様と製品を振り返ってみようという企画です。
自作 OS で SATA 対応といっても、どのような範囲まで対応しているのか、明記しておく必要があるのではないかと思います。なぜならば、本稿に記載しているように多様なデバイスがあり、個別の対応が必要な場合があると思われるからです。
SATA で十分だ、NVM Express 不要みたいな議論は、やるだけ無駄でしょう。PC を買い替えたら、NVM Express SSD だったという状況は増えていきます。新製品を買わせないと、メーカーや販売店は存続できないので、新規格を推進していきます。SATA や eMMC は低価格品などで残る可能性はあると思いますが。
この記事ではセキュリティ関連の仕様など、漏れている仕様もあり、不十分な場合も多いとは思いますが、まとまったページが無いという認識だったので、記事にしてみました。
2018 年 12 月時点では、例えば「Seagate Technology SMR SPECS CNET」で Web 検索すると、以下のサイトの SMR HDD の仕様が書かれているページがヒットするので、便利です。SSD や HDD の仕様は、メーカーサイトでは古いものは削除されることが普通で、詳しい情報は載ってないことが多いためです。2024 年 4 月現在では CNET にユーザ登録が必要そうですが、実際に確かめていないため、以降の CNET の URL は 2018 年 12 月時点の調査結果をそのまま記載しています。
Storage - CNET
https://www.cnet.com/tech/computing/computer-accessories/storage/
SATA-IO 非会員は、有償で仕様書が入手できるようです。
Purchase SATA Specification | SATA-IO
https://sata-io.org/developers/purchase-specification
書籍も出ていますが、ハードウェアの話題が中心で、ソフトウェア(ATA コマンド)について IDE の本を参照する必要があります。後述のように、新しいコマンドの仕様は増え続けています。
シリアルATAの基礎とFPGAへの実装
https://web.archive.org/web/20160302020843/https://shop.cqpub.co.jp/hanbai/books/49/49901.html
[絶版2015.6.25] 改訂版 ATA(IDE)/ATAPIの徹底研究
https://www.cqpub.co.jp/hanbai/books/49/49891.htm
SATA の規格には、ホストコントローラの仕様は規定されてなかったと思いますが、AHCI が標準的に使われているようです。
AHCI Specification
https://www.intel.com/content/www/us/en/io/serial-ata/ahci.html
AHCI Memo · osdev-jp/osdev-jp.github.io Wiki
https://github.com/osdev-jp/osdev-jp.github.io/wiki/AHCI-Memo
AHCI_code_example · osdev-jp/osdev-jp.github.io Wiki
https://github.com/osdev-jp/osdev-jp.github.io/wiki/AHCI_code_example
SATA AHCI-IP コア・リファレンス・デザイン説明書
https://www.dgway.com/products/IP/SATA-IP/dg_sataahciip_refdesign_jp.pdf
SATA AHCI IP コア データシート
https://www.dgway.com/products/IP/SATA-IP/dg_sata_achi_ip_data_sheet_jp.pdf
AHCIを用いたPCとFPGA間の 汎用インターフェースの実装と評価
https://www.slideshare.net/miyox/reconf-201506
製品毎の個別対応が必要な分野であるらしく、流用なし新規開発は困難だと思われます。
CrystalDiskInfo Internals ~S.M.A.R.T.を極める~ | バラエティ,水晶雫 | OLIOSPEC
https://www.oliospec.com/shopdetail/000000007228/ct1229/page1/order/
CrystalDiskInfo – 参考文献 – – Crystal Dew Blog
https://crystaldew.info/2008/03/29/crystaldiskinfo-%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE/
USB-HDD 対応はなぜ難しいのか? – Crystal Dew Blog
https://crystaldew.info/2008/12/15/usb-hdd-%e5%af%be%e5%bf%9c%e3%81%af%e3%81%aa%e3%81%9c%e9%9b%a3%e3%81%97%e3%81%84%e3%81%ae%e3%81%8b%ef%bc%9f/
古い記事も多く、自分でも作業を実施したことはなかったので、掲載には少し迷いもあったのですが、掲載しないと存在が認識されない場合もあるだろうということで、書いておきます。
Linuxを使用したSecureEraseの手順
https://marosama.blogspot.com/2010/03/linuxsecureerase.html
Crucial M500/M550/MX100とSecure Erase
https://marosama.blogspot.com/2014/11/crucial-m500m550mx100secure-erase.html
一方、ふうえんさんちでは… Secure Eraseを回復不可能セクタに試す
https://web.archive.org/web/20230325020417/http://blog.phooen.com/blog-entry-24.html
ALL about Linux: SecureErase を実施してみた
https://luna2-linux.blogspot.com/2012/08/secureerase.html
ALL about Linux: SecureErase のために frozen 状態を解除する方法
https://luna2-linux.blogspot.com/2012/09/secureerase-frozen.html
ALL about Linux: 中古 SSD の SecureErase
https://luna2-linux.blogspot.com/2012/12/ssd-secureerase.html
- SATA I
この世代の製品が存在したのかは、筆者には確認できませんでした。
- SATA II
この世代の製品は、中古市場でも見かけることが少なくなりました。ACS 未対応のため、SSD として OS から認識しないと思われます。
- ACS(AT Attachment 8 - ATA/ATAPI Command Set)
手元にある SSD にもなく、この世代の製品の型番を特定することが出来ませんでしたが、規格導入の背景が記事になっていました。
ASCII.jp:SSDサポートにさらなる一歩を踏み出したWindows 7 (1/2)
https://ascii.jp/elem/000/000/483/483500/
ASCII.jp:Windows 7の実像 Part 5 OSのSSD対応とエンハンスドストレージ (1/2)
https://ascii.jp/elem/000/000/203/203235/
【元麻布春男の週刊PCホットライン】SSDに関するWindows 7の3つの特徴 - PC Watch
https://pc.watch.impress.co.jp/docs/column/hot/167922.html
HDDのATA8-ACS規格について色々調べてみる - ぼくんちのTV 別館
https://freesoft.tvbok.com/tips/hdd_ssd/hdd_ata8-acs.html
2024/04 現在、ACS, ACS-2, ACS-3, ACS-4, ACS-5 の仕様が出版されています。
Standards - Published | Technical Committee T13 AT Attachment
https://www.t13.org/standards-published
INCITS: INCITS 558-2021 - Information technology - ATA Command Set - 5 (ACS-5)
https://standards.incits.org/apps/group_public/project/details.php?project_id=2006
- ACS-2
SATA-III 6Gb/s SSD220
https://jp.transcend-info.com/Products/No-735
- ACS-3
CSSD-S6i256HG7V:CFD Intel®製3DNAND採用SSD 256GB | CFD販売株式会社 CFD Sales INC.
https://web.archive.org/web/20220521181823/https://www.cfd.co.jp/product/ssd/cssd-s6i256hg7v/
- ACS-4
Samsung 860 EVO MZ-76E250B - solid state drive - 250 GB - SATA 6Gb/s Overview - CNET
https://www.cnet.com/products/samsung-860-evo-mz-76e250b-solid-state-drive-250-gb-sata-6gb-s/
- ACS-5
INCITS: INCITS 558-2021 - Information technology - ATA Command Set - 5 (ACS-5)
https://standards.incits.org/apps/group_public/project/details.php?project_id=2006
- ACS-6(2024/04 現在、仕様策定中)
INCITS: INCITS 574-202x - Information Technology - ATA Command Set - 6 (ACS-6)
https://standards.incits.org/apps/group_public/project/details.php?project_id=3042
- 省電力機能:LPM(Link Power Management)
SATA LPMって知ってますか?
https://marosama.blogspot.com/2010/01/sata-lpm.html
SATA LPMの設定方法
https://marosama.blogspot.com/2010/01/sata-lpm_22.html
Intel Driver V11.5以降のSATA LPMの設定
https://marosama.blogspot.com/2013/06/intel-driver-v115sata-lpm.html
- 省電力機能:DEVSLP(Device Sleep)
DEVSLP(Device Sleep)機能とは
https://marosama.blogspot.com/2014/09/devslpdevice-sleep.html
- M.2 SATA SSD
OS で特別に対応する必要もないと思われますので、このカテゴリの製品は省略します。
- M.2 PCI Express AHCI SSD
SATA とは違うのですが、SATA で使われている AHCI コントローラを内蔵した M.2 PCI Express SSD という、NVM Express 普及までの過渡期に存在した製品があります。
【パワレポ連動企画】実測1GB/sec超! M.2 PCI Express x4接続のSSD「Samsung XP941」を試す ~システム起動は要注意 - PC Watch
https://pc.watch.impress.co.jp/docs/topic/dosv/651576.html
- SATA I
この世代の製品は、中古市場でも見かけなくなってきました。
- SATA II
Samsung HM020GI 1. Specification Summary
https://manualsdump.com/en/manuals/samsung-hm020gi/168299/2
- セクタサイズについて
Support policy for 4K sector hard drives - Windows Server | Microsoft Learn
https://learn.microsoft.com/en-us/troubleshoot/windows-server/backup-and-storage/support-policy-4k-sector-hard-drives
アドバンスド・フォーマット4Kセクター・ハードディスク・ドライブへの移行 | Seagate 日本
https://www.seagate.com/jp/ja/blog/advanced-format-4k-sector-hard-drives-master-ti/
HDDの512E、4Kセクター、AFT、非AFT、4Kネイティブ(4Kn)の違い - ぼくんちのTV 別館
https://freesoft.tvbok.com/tips/hdd_ssd/aft_and_4k-native.html
HDDのセクタサイズ~512セクタと4Kセクタ【パソコン購入術】
https://www.pasonisan.com/pc-storage/hdd-512-4ksector.html
- 512 セクタ
Toshiba MK6034GSX Specs - CNET
https://www.cnet.com/products/toshiba-mk6034gsx-hard-drive-60-gb-sata-150-series/specs/
- AFT(512e)
Toshiba MK3276GSX Specs - CNET
https://www.cnet.com/products/toshiba-mk3276gsx-hard-drive-320-gb-sata-300-series/specs/
MQ04AB*** Series | 東芝デバイス&ストレージ株式会社 | 日本
https://toshiba.semicon-storage.com/jp/product/storage-products/client-hdd/mq04abfxxx.html
- 4K ネイティブ
Toshiba MG04ACA500A Specs - CNET
https://www.cnet.com/products/toshiba-mg04aca500a-hard-drive-5-tb-sata-6gb-s/specs/
MG04ACA**** シリーズ | 東芝デバイス&ストレージ株式会社 | 日本
https://toshiba.semicon-storage.com/jp/product/storage-products/enterprise-hdd/mg04acaxxxx.html
- ACS
近年に発売された製品は ACS に対応していて、OS から HDD として認識できます。
- AV ストリーミングコマンドセット
自作 OS では、利用する機会はないと思われますが、録画用途向けの仕様があるようです。
HDD が AV コマンド対応か調べたい: ひでのブログ
https://hidekyan.cocolog-nifty.com/blog/2016/04/hdd-av-665f.html
Seagate Mobile ST1000LM035 Specs - CNET
https://www.cnet.com/products/seagate-mobile-st1000lm035-hard-drive-1-tb-sata-6gb-s/specs/
Seagate Laptop Thin SSHD ST500LM000 Specs - CNET
https://www.cnet.com/products/seagate-laptop-thin-sshd-st500lm000-hybrid-hard-drive-500-gb-sata-6gb-s/specs/
eSATA は、SATA の外付け規格。2018 年 12 月現在でも製品を入手できますが、USB が高速化されたため、あまり使われなくなっている規格です。
玄人志向 | SATA3-PCIE-E2:Marvell社製 88SE9128搭載 eSATA インターフェースカード(PCI-Express x1接続)
https://web.archive.org/web/20210804083529/https://www.kuroutoshikou.com/product/interface/ata_sata/sata3-pcie-e2/
シンプルBOX2.5 USB3.0+eSATA SATA6G (CSS25EU3BK6G) ハードディスク(HDD)ケース - 株式会社センチュリー
https://www.century.co.jp/products/css25eu3bk6g.html
TK-ESATA-05【eSATAケーブル(0.5m)】eSATA3.0Gb/s対応ケーブル。0.5m。|サンワサプライ株式会社
https://www.sanwa.co.jp/product/syohin?code=TK-ESATA-05
ホットプラグは、eSATA でしか使ったことがありませんが、リムーバブル SSD/HDD で使うなら以下のような製品で使えそうです。外部フロントベイの無い PC ケースでは使えません。
オウルテック 5.25インチベイ内蔵専用HDDケース
2.5インチ&3.5インチHDD各1台簡単増設 SATA接続 Windows8.1対応 ガチャポンパッダイレクト
ブラック OWL-IE5CB | オウルテック
https://web.archive.org/web/20200908033412/https://www.amazon.co.jp/%E3%82%AA%E3%82%A6%E3%83%AB%E3%83%86%E3%83%83%E3%82%AF-5-25%E3%82%A4%E3%83%B3%E3%83%81%E3%83%99%E3%82%A4%E5%86%85%E8%94%B5%E5%B0%82%E7%94%A8HDD%E3%82%B1%E3%83%BC%E3%82%B9-3-5%E3%82%A4%E3%83%B3%E3%83%81HDD%E5%90%841%E5%8F%B0%E7%B0%A1%E5%8D%98%E5%A2%97%E8%A8%AD-Windows8-1%E5%AF%BE%E5%BF%9C-OWL-IE5CB/dp/B00ZHK5KG2
SATA 増設 PCI Express カードでは、ホットプラグに対応していないものも多いので、利用には注意が必要です。また、ホットプラグについては、OS での対応も必要になると思います。
2018 年 12 月現在、OS のインストールを USB メモリから行うようになったり、音楽や映像がインターネット配信に移行するなどして、光学ドライブの需要が減っていることもあって、光学ドライブのないノート PC や、外部フロントベイの無い PC ケースが増えており、自作 OS で積極的に対応する理由はないと考えられます。
手元に SATA Express 対応マザーボードがあるのですが、これは SATA と PCI Express を合わせた信号をケーブル接続出来るもので、これの SATA に対応した製品が販売された実績を確認できませんでしたが、これの PCI Express に接続する USB 3.1 Gen 2 フロントパネルを取り付けて使っています。
ASCII.jp:WDがSATA Express接続の3.5インチHDDをCOMPUTEXで展示中
https://ascii.jp/elem/000/000/901/901630/
4Tバイトの「Caviar Black」をベースにしたSATA Express対応ハイブリッドドライブ最新版をWDが公開:RAID 0で1Gバイト/秒 - ITmedia PC USER
https://www.itmedia.co.jp/pcuser/articles/1501/08/news121.html
mSATA と呼ばれている商品は詳しくないのですが、いくつかの規格があるようで、Mini-SATA などは SATA に含まれるのではないでしょうか。
ASCII.jp:mSATA SSDって、フツーのSSDとなにが違う? (1/3)
https://ascii.jp/elem/000/000/772/772060/
フラッシュメモリカードの CFast という規格で、SATA が採用されているようです。これは、PCI Express と NVM Express を採用した、後継の CFexpress 規格が出ています。
CFastって何?
https://web.archive.org/web/20230315175042/https://www.interface.co.jp/accessory/option_cfast.asp
コンパクトフラッシュ協会がCFexpress* 1.0仕様を発表 | Business Wire
https://www.businesswire.com/news/home/20170420005832/ja/
最大転送速度2GB/sを実現する次世代カード規格「CFexpress 1.0」発表 ~将来的に8GB/sを目論む - PC Watch
https://pc.watch.impress.co.jp/docs/news/1118275.html