検索
連載

PCIe SSDの性能を引き出す「NVMe」福田昭のストレージ通信(21) SSDインタフェースの現在(3)(2/2 ページ)

今回はNVMe(Non-Volatile Memory Express)を紹介する。NVMeはストレージ向けのホスト・コントローラ・インタフェースの1つで、PCIe(PCI Express)インタフェースを備えた高速のSSDを対象にした規格仕様である。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

AHCIとNVMeの違い

 AHCIとNVMeの具体的な違いを、Pappas氏はあまり述べていない。また両者を比較したスライドもない。そこでストレージ・インタフェースSATAの策定団体「The Serial ATA International Organization」の資料を利用し、AHCIとNVMeの主な違いを補足説明しよう。


AHCI(左)とNVMe(右)の主な違い。なお表の左端で上から三つ目の「MXI-I」は「MSX-I(拡張メッセージシグナル割り込み)」の誤りだと思われる (クリックで拡大) 出典:The Serial ATA International Organization

 AHCIとNVMeの最大の違いは、AHCIが多くても数台のローカルなストレージ(それもHDD)で構成したシステムを想定しているのに対し、NVMeは十数台〜数十台以上のPCIe SSDを並列に動かすシステムを想定していることだ。マルチタスク動作に対応し、コマンドのキューイングを極めて深く取った。また割り込みの処理と、アンキャッシュ可能なレジスタアクセスに改良を加えた。

 最大の具体的な違いは、コマンドキューイングだろう。NVMeは数多くのSSDを同時並列に動かすため、コマンドキューを非常に深く確保している。AHCIではコマンドキューの数はわずかに1個。1個のコマンドキューに格納できるコマンドの数は最大32個に過ぎなかった。ところがNVMeでは、最大で64K個のコマンドキューを用意するとともに、1個のコマンドキューに最大で64K個のコマンドを格納できる。原理的には最大で4G個のコマンドを格納できることになる。

前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る