Aqua Catの電子釣果

~弱小エンジニアの備忘録とガジェット~

SSDの選び方

SSDの選び方とは

最近SSDの価格が急激に安くなってきました。

2010年頃は容量も小さく64GBで数万円していましたが、今や500GBが1万円程度です。

昔はハードディスクより高速なフラッシュメモリ程度の認識で問題無かったのですが、現在の低価格・大容量を実現した結果SSDの中でも性能の違いがとても大きくなりつつあります。

安易にSSDを選択すると性能が犠牲になるばかりでなく、故障しやすくなってしまうかもしれません。

SSDの性能の違いについて解説しつつ、SSDの選び方をご紹介したいと思います。

SSDとの接続方式

SSDをシステムドライブとして利用する場合基本的に

SATA

・SATAexpress

・NVMe

PCI

で接続する方法が殆どです。各接続方式について解説します。*1

接続の速度としては基本的に以下の順位になります。

PCINVMe>SATAexpress>SATA

 

SATAについて

主にマザーボードとドライブなどの機器を接続する際に用いられます。

現在はSATA2、SATA3が主に使われています。

規格上、SATA2は3Gbit/s(300MB/s) SATA3で6Gbit/s(600MB/s)での通信が可能です。

mSATAというコネクタを小さくした規格もあります。*2

 

f:id:AquaCat:20181001171557j:plain

*緑枠部分がSATA接続。(厳密には左側は電源、右側がSATA)

SATAexpress

SATA3で接続した場合SSDの性能をフルに発揮できないため、後発で出た規格です。

接続はSATA3のポート2つと専用の接続部の合わせて3つコネクタがあります。

SATA3ポート2つとして利用も可能です。10Gbit/sでの通信が可能なようです。

*ただSATAexpress接続の機器を見たことがありません。流行ることもなく消えていく規格だと思われます。

NVMeについて

 SATAで接続した場合、SSDの性能をフルに発揮させることができないため、開発された後発の規格です。

PCIexpressの内部接続を利用しており、32Gbit/s(4GB/s)で接続できる機種もあるようです。

PCIの通信レーンを流用している為、複数の接続方法があります。

・PCIexpressスロットに直接接続する

・専用のコネクタに接続する(U.2コネクタ/M.2コネクタ)

また、拡張カードを用いてPCIexpressスロットからM.2コネクタへ拡張することもできます。

f:id:AquaCat:20181001171711j:plain

*M.2コネクタに接続する部分。切り欠きの数でSATAかNVMe見分けれる

PCIについて

NVMeが規格される前に存在していました。

エンタープライズ向けにごく少数存在しているようです。

拡張カードの為、独自のドライバなどが必要でしたがNVMeの登場により市場から姿を消したようです。

(PCIスロットに直接接続し、NVMeで動作するSSDもあります。)

余談

高速で電気信号の通信を行った場合、ノイズにより転送信号が破損してしまうことがあります。(リトライ及びエラー訂正処理が発生します。)

信号が高速になればなるほど破損しやすくなります。その為SATAはケーブルで接続されるのが殆どですが、M.2コネクタはSSDをコネクタへ直接差し込む(ケーブルを用いない)のが主流です。

転送のスピードを突き詰める場合、ケーブルはできるだけ用いない、使用する場合ケーブルの長さは最短、ノイズ対策をしっかりすることが大事です。

 データを保持する部分、NAND素子について

NANDってなんど?SSDの根幹部分、電気信号を保存する部分になります。

f:id:AquaCat:20181001173152j:plain

*赤枠の部分がNAND素子。128GBのSSDなので32GBのNANDが4つついてますね。

このNANDにどれだけのデータを保存させるか、その進歩によってSSDの大容量化が進んでいます。

その結果、素子の扱いによって大きな性能差が出ています。

主にSLC、MLCTLC、QLCと言われます。(後ろにNANDが付き、○LCNANDと書かれることもあります。)

これはNAND素子にいくつ信号を貯めこむかを示しています。

SLC=シングル (1bit。0又は1の2種)

MLC=マルチ (2bit。00、01、10、11の4種)

TLC=トリプル (3bit。000-111の8種)

QLC=クアッド (4bit。0000-1111の16種)

 

大きな違いが

SLCが高速、高耐久、高価格

QLCが低速、低耐久、低価格

になります。

NANDの解説

近年の低価格化はNAND技術の発展によるところが大きいです。

NAND素子へ電圧を貯めることでデータ(bit)を記憶しています。

解説の為、NAND素子をバケツ、電圧を水に置き換えて解説します。

 

SSD最初期はSLCしかなく、バケツに水があるか無いかのみでデータ記憶をしていました。

ですが、素子自体の価格が高い為、一つの素子に4種のデータを保存するMLCが開発されました。これはバケツの水の量でデータを記憶します。

f:id:AquaCat:20180918113308p:plain

*MLCNAND素子と電圧量によるデータ記憶のイメージ図

ですがこの方法には問題があります。一度電圧を最大まで貯めてから、不要な電圧を引いていく動作の為、1度の記憶(操作)に対しNAND素子へ複数回の書き込み処理が行われることになります。

ちなみにこのバケツですが、最終的に底が抜けます。何度も使用していると水が保持できなくなります。

MLCはSLCに比べ一度の操作で複数回の処理が行われる為、バケツ自体の寿命は同じでも寿命の消耗量が増え、書き込み時間も長くなります。

MLCはSLCの1/10の寿命

TLCMLCの1/10の寿命(SLC比1/100)

QLCはTLCの1/10の寿命(SLC比1/1000)

と言われています。*3

 

従来のNANDの限界

素子に複数の記憶をさせた場合、容量は増えますが速度と耐久性は低下します。

ただ単純に容量を増やすならバケツの数を増やせばいいのです。

ところが従来の技術ではバケツを平面に並べることしかできず、またバケツを詰めすぎると隣接するバケツに影響が出ることもあり微細化は限界ともはや限界だと言われています。

NAND素子に複数のデータ記憶をさせる場合、電圧でデータを記憶しているので繊細な電圧調整が必要です。上記の影響は保持するbitが多いほど大きな影響が出てしまいます。

f:id:AquaCat:20180918120527p:plain

*NAND素子が平面に並んでるイメージ。

単純にバケツの量を増やしても保持するbitを増やしてもエラーが増えてしまうのです。

余談、このまま大容量だけをつきつめたらどうなるか

容量だけで考えればNAND素子を限界まで詰め込み、またNAND素子に限界まで複数記憶させればいいのです。ところがその反面、書き込み処理に必要な工数は増え、工数が増えることでエラーが発生し再度書き込み処理を行い・・・といった事が発生します。

処理速度は著しく低下し、あげく簡単にバケツの底は抜けてしまうのです。

結果データを保持できなくなってしまいSSDは簡単に破損してしまいます。

さらに余談 バケツの底が抜けたとき

実際データを保持する素子(バケツ)は結構な頻度で壊れます。ですが壊れた時のために予備のバケツが用意されており、ディスクの検査情報なので見ることができます。

予備のバケツが無くなった時、そのデータ記憶媒体は寿命を迎えたことになります。

f:id:AquaCat:20181001120231j:plain

検査ソフトウェアの画面。この値が短期間に増えるようであれば壊れる兆候です。

新しい技術のNAND

つい最近、新しいNANDが市場に出回るようになりました。

3DNANDといわれるNANDですね。バケツを縦にも並べたNANDです。

このNANDの誕生により更なる大容量化又はバケツ同士の間を大きくすることで長寿命化させることができるようになってきたようです。

2018年現在、SamsungIntel&micron、東芝&WDが技術開発を競っています。

まとめ SSDの選び方

 大まかに分けてSSDに求められる性能は3つです。

速度

容量

耐久性

の3つです。

接続方式はメジャーなNVMe又はSATA

NANDの話の中でSLCの話がありましたが、これはほぼ市販されていませんので選択肢から除外します。

速度

接続方法:NVMe > SATA

NAND素子:MLCTLC > QLC

容量

NAND素子:QLC > TLCMLC

耐久性

NAND素子:MLCTLC > QLC

*耐久性に関してですが大容量であるほど高くなります。100GBと200GBのディスクに200GBを書き込んだ場合、前者は2回寿命を消費しますが、後者は1回で済むためです

となります

 

速度、耐久性を求めない場合QLC又はTLCSATA接続のものが安くておすすめです。

速度を必要とするシステムドライブ等MLC又はTLCでNVMe接続高性能でおすすめです。

 余談ですがMLCSATA接続などは信頼性が高いですが速度を生かせないです。

 

性能を求めなければ安くなり、性能と信頼性を求めると値段は高くなります。

個人的な見解ですがSSD安かろう・悪かろうが顕著だと思っています。

多少高くてもそれなりのSSDを用意することを強くお勧めします。

 

最近のトレンドとして

3DNANDを搭載したTLCが多くなってきました。3NANDが出てきたことによって寿命を速度が向上した為、TLCにしても問題ないといった考えなのかもしれません。

 

オススメのSSDをいくつかご紹介します。

Intel 760pシリーズ

Intel SSD 760p M.2 PCIEx4 512GBモデル SSDPEKKW512G8XT

Intel SSD 760p M.2 PCIEx4 512GBモデル SSDPEKKW512G8XT

 

 3DNAND TLC採用NVMe接続のSSD

256GBだと耐久性が気になるので512GB~がオススメです。現在使用中。

 

 CFD

 MLCNANDですがSATA接続です

NVMeが出始めるまで使用していました。

 

 Kingston KC1000

 MLCNAND NVMe接続

性能すごい、値段高い。使ってみたいSSD

 

QLCはまだまだこれからですね。オススメがあったら記載します。

*1:外部デバイスとして接続するUSBなどは除外しています。

*2:NVMeに似ていますが互換性はないので注意

*3:3DNANDの登場により減少する寿命は改善されつつあります。