SSDのほうがHDDより速いから、システムドライブ(OSなど)にはSSDを使って、長期保存用のデータはHDDで保存する。 この基本はほとんどの方が理解していると思います。 この記事では、さらにSSDの中でも接続方式やqlc, tlcといった違いを解説し、HDDの中でも回転数などによる速度の違いについて解説します。
ストレージの選び方のポイント
SSDとHDDの特徴を比較しながら説明したのちに、SSDの選び方とHDDの選び方を分けて書いています。
SSDとHDDの違い
SSDは
壊れにくい
読み書きが速い(ランダムアクセスなら数百倍速い)
静か
小さい、軽い
消費電力が低い
というメリットがあります。 HDDは
安い
10TBなどの超大容量もある。
長期保存に向いている(自然消失しにくい)
というメリットがあります。 HDDの故障率は年間0.5~4%程度です。 過去に比べて故障率は少しずつ下がっては来ています。 SSDは書き込み上限があり、故障率は、どれくらいの頻度で読み書きを行ったかにもよりますが、5年で数%の故障率程度です。HDDより故障率が数倍以上低い のは間違いないでしょう。 SSDの弱点としては、10年以上ほったらかしにしておくとデータの一部が自然放電により消えてしまう可能性がある点です。
SSDの選び方
SSDと一言でいっても、様々な種類があり、転送速度が遅いものと速いものの違いは6倍以上にもなります。 略語がたくさん出てきますが、できる限り分かりやすくまとめているので、ぜひ読み切って理解できるようになってください。
SSDとUSBメモリなどのフラッシュメモリの違い
たまにSSDもUSBメモリは仕組みは異なると思っていらっしゃる方がいますが、同じ仕組みになっています。 SSDもUSBメモリもSDカードもどれも、同じNAND型のフラッシュメモリです。 近年市販されているものでは、いずれも後に解説するTLCかQLCのものです。
SSDの形状や接続方式(NVMe, SATA)の違い
M.2、mSATA、PCIe、SATA、NVMe、AHCIなど様々な言葉が出てきますが、整理しておきましょう。
【形状】 M.2と2.5インチとmSATA
これらは形状、サイズを示しています。 M.2は転送速度が速いものが多く、近年のSSDはこのタイプが一番多くなっています。 2.5インチタイプはHDDと同じような形状をしています。接続方式もHDDと同じになります。 mSATAはM.2の前にあった形状ですが、近年ではほとんど見られません。2.5インチのSSDは必ずSATA接続になりますので、転送速度は500MB/s程度 となります。 一方のM.2はほとんどの場合PCIe接続 ですが、一部SATA接続で転送速度が2.5インチのものと変わらないものもあります 。
【接続方式】PCIe、SATA
PCIeとSATAのどちらも、マザーボードと何らかのパーツ(HDDなど)との間でのインタフェース規格(電線のつなぎ方のルール) です。
PCIeの特徴
PCIeはPCI Expressの略で、PCIはPeripheral(周辺の) Component(パーツ) Interconnect(接続)の略です。
必ずしもSSDとの接続専用というわけではありません。
むしろグラフィックカードやサウンドカードといった周辺パーツとの接続に使われています。
PCI Expressではレーンという概念を理解する必要があります。
イメージとしてはUSBポートがわかりやすいかもしれません。
1つの外付けハードディスクと1つのパソコンを1つのUSBポートで接続するのが、1レーン。
1つの外付けハードディスクと1つのパソコンを2つのUSBポートで接続するのが、2レーン。
1つの外付けハードディスクと1つのパソコンを16のUSBポートで接続するのが、16レーン。
本来であれば、2つのUSBポートを1つの外付けハードディスクに同時に接続することはできませんが、それができるようにうまく作られているのがPCI Expressです。
複数のレーンを1つのパーツに使って接続して、あたかも互いのレーンが連携しながら、無駄がないようにデータのやり取りをすることができます。
PCIeにはバージョンがあり、各バージョンの1レーンの速度は
PCI Express 1.1 : 片方向2.5Gbps
PCI Express 2.0 : 片方向5.0Gbps
PCI Express 3.0 : 片方向8.0Gbps ここまで市販されている
PCI Express 4.0 : 片方向16.0Gbps(本当はGT/sなのでちょっと遅い)
PCI Express 5.0 : 片方向32.0Gbps(本当はGT/sなのでちょっと遅い)
PCI Express 6.0 : 片方向64.0Gbps(本当はGT/sなのでちょっと遅い)
となっています。 市販されているのは片方向8.0GbpsのPCIe 3.0までです。 これを16レーン束ねると128Gbps = 約16GB/sまでの転送速度が可能となります。SSDでは4レーンまで束ねているので、約4GB/sまでの転送速度が可能となっており、これは後述するSATA接続の6倍程度 です。
SATAの特徴
SATAはSerial ATAの意味で、ATAはAT attachmentの略です。
ATは1984年に発売されたIBM Personal Computer AT(PC/AT)という大昔のパソコンの名前です。
そのATはAdvanced Technologyの略で、当時はさぞかし先進的な技術だったのだと思われます。
SATA1.0 : 1.5Gb/s (= 187MB/s)
SATA2.0 : 3.0Gb/s (= 375MB/s)
SATA3.0 : 6.0Gb/s (= 750MB/s)
バージョンをあげるごとに転送速度はあがっており、現在のスタンダードであるSATA3.0は750MB/sの転送速度が上限 となっています。実際は500MB/s程度 となります。
【通信方式(プロトコル)】NVMe、AHCI
NVMeはNon-Volatile Memory expressの略です。 Non-Volatile Memoryとは不揮発性メモリのことで、SSDなどのフラッシュメモリを指します。 つまり、NVMeはフラッシュメモリ専用の通信方式 という意味です。 PCIeをSSDで存分に活かすためのソフトウェア側の仕組み だと思ってください。 一方のAHCIはAdvanced Host Controller Interfaceの略で、SATAデバイスとの通信規格です。 AHCIは、ハードディスクの特徴に基づいて設計されたソフトウェアであるため、SSDの速度を十分に活かすことができません。
メモリ不足した際のスワップメモリ(仮想メモリ)
PCのメモリが不足してくると、OSはメモリ内の使っていないデータを一時的にHDDやSSDに避難させてメモリの空きを確保します。 このときにHDDやSSDを仮想的なメモリとして扱っているので、仮想メモリもしくはスワップメモリと呼ばれます。 SSDには書き込み回数の上限があるので、常時スワップメモリを使うような使い方はよく有りませんが、たまにスワップメモリとして割り当てられるくらいであれば、寿命にほとんど影響はないと言えるでしょう。
シーケンシャルリードとランダム読み出し/書き込みの速度
シーケンシャルリードとはsequential read、つまり連続したデータの読み出しのことです。
逆にシーケンシャルライトは連続した記憶場所にデータを書き込むことです。
連続した場所にデータを保存するほうが、非連続で断片的な場所にデータを保存していくより速くなります。
そのためスペック表で強調して書かれるのはシーケンシャルリード/ライトの速度になります。
しかし実際の使用では、連続していないところのデータを高速で読む必要があります。
その指標がランダム読み出し/書き出しの速度です。
4KBランダム読み出し:9,000 IOPSなどとの表記をみたことがある方もいらっしゃるかと思います。IOPSとはInput/Output Per Secondの略で1秒の間で、何回連続した場所に記憶されていない4KBのデータを読み書きできるかの回数を表しています 。 MB/sへの換算は、 4KB x 9,000/s = 4,000KB x 9/s = 4MB x 9/s = 36MB/s だと分かります。 ,(カンマ)より左側の数字 x 4でMB/sに簡単に換算できます。 ちなみにランダムリード/ライトの速度は、同じTLCやQLCだとしても商品によって30%くらいの速度差は生まれています。
SLC, MLC, TLC, QLC
なんだか難しそうな略語が4つも出てきましたが、非常に簡単です。 S = SIngle 1つ M = Multi 2つ T = Triple 3つ Q = Quad 4つ LC = Level Cell のデータが1つの箱(セル)に入っている 1つの箱に4つのデータを入れれるほうが、たくさんデータを入れることができます。 1つの箱は同じ大きさなので、4つのデータを入れる場合は、箱が痛みやすくなります。 よって耐久性が落ち、書き換え回数の上限も低くなります。 (お気づきの方も多いと思いますが、Multiは複数という意味なので厳密にはTLCもQLCもMLCの仲間です。) 1つの箱(セル)には、電荷が入ります。 SLCは箱に電荷が入っているか入っていないかだけを判断します。 MLCでは箱に2bitを保存するために、箱に入っている電荷の数が0%か25%か50%か75%か100%かのどれかを判断します。 TLCでは箱に3bitを保存するために、箱に入っている電荷の数が0%、12.5%、25%、37.5%、50%、62.5%、75%、86.5%、100%のどれか判断します。 QLCでは箱に4bitを保存するために、箱に入っている電荷の数が0%、6.25%、12.5%、18.75%、25%、31.25%、37.5%、43.75%、50%、56.25%、62.5%、68.75%、75%、81.25%、87.5%、93.75%、100%のどれか判断します。 耐久性はSLC > MLC > TLC > QLC 書き込み速度 SLC > MLC > TLC > QLC 1GBあたりの価格 QLC > TLC > MLC> SLC となっています。 CPUが読み書きできるのはメモリなので、一度メモリ上の使っていないデータをストレージに移動させて、メモリの空きを確保させています。
M.2 SSDのヒートシンクについて
SSDは比較的熱を帯びやすい上、高温下で長時間運用するとそれだけ故障率が上がります。
そのため、M.2 SSDのなかには熱を放散させるためのヒートシンクがつけられたモデルがあります。
また、マザーボードにもM.2 SSDのヒートシンクやファンを最初から搭載しているものがあります。
そのため、マザーボード側でM.2 SSD用のファンがつけられているところに、ヒートシンクつきのSSDは物理的に入らないということもあります。
その場合はもったいないですが、ヒートシンクをSSDから取り外す必要があります。
ヒートシンクとSSDは接着剤でくっついていますので、取り外すのは簡単ではありません。
取り外し方は、ドライヤーなどでヒートシンクあたため、接着剤もあたたまるようにします。
しかし温めすぎるとSSDも熱くなりダメージを与えてしまうので、気をつけてください。
そして慎重に外します。
HDDの選び方
HDDは円盤状のプラッタと呼ばれるものに、磁気でデータを読み書きしています。
プラッタを高速で回転(7200rpmなら1分に7200回転)させて、データの読み書きを行っています。
これにより、回転の速度で読み書きの速度が決まってしまいます。
データを保存している場所は非常に小さいので、回転がずれてはいけませんし、回転の速度がずれてもいけません。
そのため、読み書きの速度向上は限定的となっています。
さらに読みたいデータを読む際は、読みたいデータの場所まで磁気ヘッドを動かす必要がある点も欠点です。
また、データの読み書き中(プラッタが高速で回転しているとき)に落としてしまったりすると、
磁気を読み書きする磁気ヘッドがプラッタにぶつかってしまい、データが破損してしまいます。
もちろん、強い衝撃であれば読み書き中でなくともデータを読み出せなくなったりします。
さらに強い磁気を加えるとデータは消えます。(これはいいことでもありますが)
HDDの速度について
SSDの速度の律速(ボトルネック)は、転送速度(PCIe3.0 x4)にある一方でHDDのボトルネックは、回転数にあります。 回転数は5400rpmと7200rpmが一般的です。 5400:7200 = 3:4なので、7200rpmのほうが1.3倍程度速く なっています。 SATA 3.0接続の速いHDDでも転送速度は200MB/s程度です。 なので、たとえSATA 4.0などが作られて、転送速度が6Gbps(750MB/s)から12Gbpsに向上してもHDDの上限速度は変わらず200MB/s程度 でしょう。 シーケンシャルリードでは、速いSSDの1/20程度 にとどまります。 遅いSSD(500MB/s)の1/3程度という感じです。ランダムアクセスに関して言えば、HDDは1MB/s以下 もざらにあります。 ランダムリードでは0.5MB/sくらい、ランダムライトでは1MB/s程度が平均的です。 SATA接続の遅いSSDのランダムリードは20MB/s、ランダムライトでは90MB/s程度。 NVMe接続の速いSSDのランダムリードは最大で(QD32)2400MB/s、ランダムライトで2000MB/s程度です。 この場合HDDは2000倍くらい遅い ということになります。
RAIDについて
HDDはSSDと比べて圧倒的に安いので、大容量の数テラバイトのHDDを複数枚用意して失いたくないデータをバックアップのように複数のHDDに保存することができます。 RAID0では、全くバックアップなどはなく、複数枚のHDDに別々のデータを保存します。 RAID1では、複数台のHDDに全く同じデータを保存します。 その他のRAIDはRAID専用の記事を参照してみてください。 (需要ない気がして面倒になってしまいました、すいません)