ハードウェアを知る (6) SSD
さて今回は SSD について取り扱います。
もう皆さんが使っている PC/Mac のストレージはSSDだと思います。HDDのものは無いんじゃないですかね?
裏を返せば、HDDの入っているPCに今のOSを入れてみると、如何に重たいのかを実感できると思います。「サクサク動いている」はSSDなどハードウェアの高速化・大容量化の恩恵ですから。
SSD - Solid State Drive とは?
SSD は円盤の回っていたHDDと違って、フラシュメモリのストレージです。
なんといっても、可動部分がないのは大きいです。それらの結果、何が得られるのか?
高速
まずは速さですね。
これは一例だと思ってください。それなりに高速のHDDも当然ありますし、SSDとて低速のものもあります。
ざっくり 1,000倍くらい違います。ざっくりですよー😊
皆さんに知ってもらいたいのは、アクセスの回数が少なければ対して気にならないんです。
IOPS でいえば。
HDD: 75-100 くらい
SSD: 5万 くらい
もう、IOPS も100倍くらい違いますね😊
省電力
これも大事です。
特に PC/Mac も持ち運びの出来る Note / Tablet 型のものが主流になりました。移動時に少しでも長く使えるのはハードウェア選択の重要なポイントです。
最近は Sustainability や SGDs という言葉もよく聞くようになりました。よりムダの無いものが好まれますよね。
Cloud / Server でも SSD を選択する理由として省電力は大事な要素です。
欠点 - 容量についてはHDDの方がコスパが良い
コストに換算してですが。
SSD でも 1TB を超えるものがあります。ただ、それはまだまだ高額です。HDDで4 TB のものが 1万円程度で入手できることを考えると。HDD では 16 TB のものでさえ 4-6万円です。
個人利用ではそこまで使わないかもしれません。でも、画像や動画を沢山保存するようになると。1TB に意外と早く到達するかもしれませんよ。
NVM Express (NVMe)
さて、急に Cloud / Server 側でよく出てくる SSD に絡んでの技術をご紹介します。NVMe です。
これ、意外とちゃんと説明のできる現役エンジニアは少ないかと思いますよ😊
これは、SSD と接続するためのバスである、PCI Express の仕様の事です。
バスの仕様を SSD の動作に最適化したものです。
PCI Express でHDD接続する際によく使われる AHCI との比較を見てみましょう。
Advanced Host Controller Interface - Wikipedia
ここで見ていただきたいのは、特にコマンドキューの数です。AHCI は 1つしかないのに、NVMeは、64,000 ! 並列でやり取りできる命令の数が違いすぎます。
SSDのIOPSが大きく増えた事から、並列処理で一度に多くのやり取りができるようになっていますよね。
その結果、メモリと直接やり取りする Direct Memory Access の機能が充実しています。
SSD の新しいアーキテクチャを現時点で最大限活かせるように、NVMe が最適なわけですよね。
欠点は、やはり高価な事です😊
まとめ
もう HDD には戻れないですよね。
そしてSSDはCloudでも選択ができるようになりました。高速のストレージアクセスが必要な場合は SSD。出来ればNVMeのもの、をコストを鑑みて選択するわけです。
それでもHDDが無くならないのは、やはり大容量のストレージが必要な場合はコストの問題があるわけです。それで SSD-HDDを組み合わせた階層記憶域というアプローチがあります。よく使うデータは SSDに。あまり使わないものはHDDにおいて管理するというものです。
Azure Stack HCI および Windows Server クラスターの記憶域プール キャッシュについて - Azure Stack HCI | Microsoft Docs
次回はネットワークを取り扱う予定です。