AHCIとは?
AHCIとは、SATA(シリアルATA)接続のストレージ(外部記憶装置)とコンピュータ本体の通信を制御するSATAコントローラの仕様の一つのことである。SATA 2.0で導入された。
AHCIのあれこれ!
初期のSATAは、従来のATA/IDE(いわゆるパラレルATA)からの互換性のため、コマンド体系やドライバ仕様などのインターフェース仕様の多くも旧来のものを引き継いでいた。
それに対してAHCIでは、SATA本来の性能を引き出すために、これらの仕様を一新してSATA専用のものに切り替えた。これによりネイティブコマンドキューイング(NCQ:Native Command Queuing)や装置のホットスワップ(ホットプラグ)などの機能を活用することができるようになった。
AHCIを利用するには、コンピュータ本体のチップセットなどに内蔵されているSATAコントローラや接続するストレージ装置、オペレーティングシステム(OS)のドライバなどがすべてAHCIに対応している必要がある。
なお、AHCI対応のコントローラやドライバでも、互換性のため旧来の機器の動作を模倣するIDEエミュレーションモードを内蔵し、切り替えて使用できるものがある。
○NVMe(Non-Volatile Memory Express)
NVMeとは、コンピュータにストレージ(外部記憶装置)を接続するための通信規格の一つであり、SSDを接続するためのものである。
NVMeではSSDの高速性を活かすため、データ転送を指示するのに必要なメッセージの送受信回数を減らしたり、実行待ちのコマンドを最大で65,536個まで貯めておけるようにするなどの手法で伝送効率を高めている特徴がある。
同時に多数のアクセス要求が発生するサーバなどの用途において、特に高い性能を発揮できるようになっている。
NVMeでは、物理層の接続仕様は直接規定していないが、一般的には高速性を活かすために拡張カードなどの接続に用いられるPCI Express 3.0のコネクタが用いられることが多い。