HDD・SATA SSD・NVMe SSD・Optane SSDで「レイテンシ」にどれほど差があるのか?
コンピューターのメインバスなどに直接接続される主記憶装置はレイテンシやスループットに優れていますが、その反面として小容量という問題を抱えています。容量問題を主眼に据える場合はHDDやSSDなどの補助記憶装置を用いるべきですが、その際に重要となる「レイテンシの差」について、エンジニアのルスラン・サフチェンコ氏がHDD・SATA SSD・NVMe SSD・Optane SSDにおける調査結果を解説しています。
A journey to io_uring, AIO and modern storage devices
https://clickhoμse.tech/blog/en/2021/reading-from-external-memory/
補助記憶装置はホスト側とデータのやりとりを行う際、1バイトごとではなくデータをひとまとめにした「ブロック」と呼ばれる単位で入出力を行っています。どのサイズを1つのブロックとして扱うかはメーカーによってさまざまで、場合によっては長年にわたって使い続けてきたブロックサイズの更新を怠った結果、最新機器には不適格なブロックを設定し続けているメーカーも存在するそうです。
今回サフチェンコ氏が試みたのは、HDDやSSDなどにおける「最適なブロックサイズ」の算出です。サフチンェンコ氏は各補助記憶装置に4KB~16MBのブロックをランダムリードさせ、その際のアクセス時間の遅延(レイテンシ)についてMAX(最大)・P99.9(99.9パーセンタイル)・P99(99パーセンタイル)・AVG(平均)・MIN(最小)の5つを計測しました。
HDDの結果が以下の通り。横軸がブロックサイズ、縦軸はレイテンシの秒数で、グラフ自体は両対数グラフとなっています。
HDDの特徴として、「256KB以下のブロックサイズでは、レイテンシがほとんど変わらない」という点が挙げられます。この点についてサフチェンコ氏は「データ転送の時間よりもシーク時間のほうがはるかに大きいため」と解説。読み書きの際に磁気ヘッドがディスク上の目的トラックに移動するという「シーク」がブロックサイズによらず一定である点が原因だと語りました。そしてこのことからサフチェンコ氏は、「HDDの場合は少なくとも256KB以上のブロックサイズを使うべきだ。ただし、256KBにおいてはレイテンシのバラつきが大きすぎる」と結論づけています。
続いてSATA SSDの結果が以下。
・関連記事
ヘリウム充填HDDの中身が気になったので実際にバラバラ分解してみたレポート - GIGAZINE
HDD故障率のメーカー・モデル別統計データ2020年版、故障率が最も高かったのは? - GIGAZINE
約15万台のHDDを運用するBackblazeがHDD故障率レポート2020年Q3版を公開、18TBモデルなど大容量化が進む - GIGAZINE
SSDの性能を比較する上で考慮すべき3つのポイント - GIGAZINE
・関連コンテンツ