この頃流行のSSD、容量はHDDよりも劣るものの高速で早くて衝撃に強いということでHDDからSSDに乗り換える人やSSDを搭載したパソコンを購入することも珍しくなくなってきました。
でもSSDって何?どういう仕組みで動いてるの?という疑問も少なからず沸いてくるはずです、そこで今回はSSDの仕組みや構造、また特徴を説明していきたいと思います。
字幕訂正:×プリフリ ○プチフリ
と、難しい話をする前にSSDを実際に分解してみました、中身がどうなっているのかまずは構造を見てみましょう。
記録媒体はフラッシュメモリー
SSDとはUSBメモリー等で採用されているフラッシュメモリというタイプのメモリを搭載した記録装置になります、強引な言い方をすればUSBフラッシュメモリーが大きくなったようなものといってもいいいかもしれません。
HDDと比較した場合大きな違いがあるのはこのフラッシュメモリーを使っているということです。
HDDは磁気を帯びた円盤が回転し読み書きのためのアーム(レーコードプレイヤーの針のようなもの)があります、これらの装置は稼働中に衝撃を受けるとお互いが激しく接触してアームが円盤の表面を削り取り最悪の場合記録したデーターが読み込めなくなります。
しかしSSDにはそのような衝撃に弱い部分はなく基盤やチップが破損するようなとてつもないような衝撃を与えない限り物理的に破損しません。
この特性から常に振動に晒されるカーナビや持ち運ぶことが多いノートパソコンにも採用が増えています。
しかしフラッシュメモリにも弱点があります、フラッシュメモリを活用している人はご存じの通り転送速度が遅いのです、そこでSSDではこのフラッシュメモリーを大量に積み込み同時にアクセスすることで高速化を実現させています。
写真はSSDの内部基盤ですがこの黒いチップがフラッシュメモリです、このように基盤にたくさんのフラッシュメモリを搭載することで同時にアクセスして高速化しています。
また大量にフラッシュメモリを搭載することにより記録容量を増加させているためUSBフラッシュメモリとは比べものにならないほど大容量なのですが同時にコストが増加する原因でもあります、SSDが高価な理由はこのような構造になっているためです。
※SSDはだいたい16個のフラッシュメモリを搭載している、現在の主流は128GBなので1つあたりの容量は8GB、同じ容量のUSBフラッシュメモリ16個分と考えれば価格の高さに納得がいくのではないだろうか。
SSDの速度は主にメモリコントローラーにより大きく左右されますがフラッシュメモリの性能もある程度関わってきます。
MLCとSLC
SSDによく表記してある言葉にMLCとういものがあります、これはMulti Level Cellの頭文字を取った略語です、もう一つSLCというものがありこちらはSingle Level Cellの略語になっています。
このMLCとSLCはフラッシュメモリーへの記録方式を指しています。
SLCは1つのメモリセル(メモリーの記録枠)に対して1bitのデータを記録するものでメモリセルあたりの書き換え回数やエラーの発生率、また転送速度において優秀な性能を発揮します、しかし容量を稼ぎにくく同じ容量のMLCタイプと比べると高価になってしまいます。
この価格差が余に大きなうえHDDの容量に対抗するため大容量のフラッシュメモリーを採用する必要があるため現在主流のSSDはMLCタイプのフラッシュメモリーを採用しています。
このMLCは1つのメモリセルに複数のbit数を記録できるタイプで同じコストをかけてもSLCと比べ大容量のフラッシュメモリが生産でき、低価格で大容量という二つの要素を同時に満たすことが可能です。
しかし記録したデータが変化するため常に強力なエラー訂正機能と併用する必要があり結果速度が低下します。
またメモリセルの書き換え回数もSLCと比べると少ないため信頼性はSLCに比べると劣るのですが技術の進歩により民間で使うレベルであればMLCで十分に事足りる性能を有してきたため現在のSSDはそのほとんどがMLCタイプになっています。
ウェアレベリングと冗長領域
メーカの中にはこのMLCの書き換え回数の低さをカバーするため予備の領域を設けているものがあり他のメーカーのSSDと比較すると僅かに容量が少ないものが存在します、Intel製のSSDはこのタイプで他社が128GBに対して120GBとなっています。
MLCのSSDはメモリセルの書換え寿命を改善するためにメモリコントローラーが毎回データを保存するメモリセルをランダムに分散させています、これをウェアレベリング(書き込み分散処理)といいますがこのウェアレベリングによりメモリセルの寿命を均等化し結果SSD全体の寿命を延ばしているのです。
ウェアレベリングが無かったら同じところに何回も書き込みをしてそのメモリセルはすぐに寿命を迎えてしまうことになります、通常の使用ではこのようなことは無いのですがある条件を整えるとウェアレベリングが機能していても同じメモリセルに何回も書き込みをしてしまう状態になる可能性があります、その条件は最大容量近くまで使い切った状態です。
すでに多くのメモリセルが埋まっており書き込みができるメモリセルが限定される状況になるとウェアレベリングがあったとしても特定のメモリセルのみを酷使してしまいます、そこでユーザーが使用できる領域をあえて減らし全ての容量を使い切ったとしてもその予備用領域を使いウェアレベリングが効果的にできるようにしているのです
このシステムを採用しているSSDでは他のものより若干容量が少なくなっています、120GBとか60GBというような切りのいい容量のSSDはこのシステムを採用してます。
SSDを使用する場合は容量を半分までしか使わないようにといわれているのはこのような理由があるためです。
フラッシュメモリーを統率する司令官 メモリコントローラー
フラッシュメモリがただ積んであるだけではSSDとして機能しません、多数あるフラッシュメモリーを統率して管理するユニットが必要になります、それがメモリコントローラーです。
画像の小さなチップがメモリコントローラーです、多数あるフラッシュメモリーを束ねているいわば司令官の役目を持ったチップになります。
このメモリコントローラーの性能がSSDの性能を左右するといっても過言ではなくメモリコントローラーを開発しているメーカーでは熾烈な開発競争が続けられています。
このメモリコントローラーですが過去にコストダウンのため低性能のメモリコントローラーを採用したSSDが一斉に売り出されたことがありました。
それまでは高価なものだったSSDが比較的安価になってきたということで自作パソコンをしている人が購入していったのですが、そのSSDをOSのシステムドライブとして使用すると作業中にパソコンが固まる現象が発生しました、これが俗に言うプチフリーズの略である「プチフリ」です。
このプチフリの原因はデータの受け渡し回数が多数ある場合(画像等の小さなファイルを大量にコピーしたりアプリケーションをインストールしたりする場合など)メモリコントローラーの処理が限界に達して結果データが詰まるため発生する現象です。
現在のメモリコントローラーはこの反省を踏まえプチフリをしないようにメモリーコントローラーのコア数を増やしたり一時的にデータを保存しておく高速なメモリ領域を備えていたりと様々な対策がされているので気にする必要はありません。
メモリコントローラー中には面白い特徴を持ったものもありその特性を理解しておかないと実力を発揮できない場合もあります。
ということで今現在市場に出回っているSSDに搭載されているメモリコントローラーをまとめてみました。
メモリコントローラーメーカー一覧
Marvell
NASや組み込み型コンピューターのCPU(ARM系)を製造しているメーカーで実績は間違いなし、高速で安定した性能を発揮する。
主にCrucial製のSSDに搭載されいるほかIntelの一部のSSDでも採用された実績がある。
SandForce
2006年に創業した新興メーカー、主力商品はSSDコントローラーのみだがIntelに採用されるなど実力は持ち合わせいる。
メモリコントローラーはデータの圧縮により速度が激しく上下する癖があるためSandForceを採用しているSSDはメーカー公表速度を鵜呑みにしてはいけない。
Intel
Intel製のSSDに搭載されているコントローラー、現在は他社製コントローラーを採用したものも発売しているためIntel製SSDが全てIntelコントローラーというわけではない。
性能はさすがIntelで速度はMarvell製に及ばないもののパーティションアライメントを考えてなくてもいいため様々な環境で最高のパフォーマンスを発揮する。
JMicron
マザーボードに搭載するSATAやIDEコントローラー等も製造しているが評価はさんざん、プチフリという言葉を生み出した原因である伝説のメモリコントローラーJMF602を生み出したメーカーでもあるため今も避けられていることが多い。
現在は改善したメモリコントローラーで巻き返しを図ろうとしている。
INDILINX
OCZに買収されたためOCZの一部のSSDに採用されている。
JMicronと同じく低価格帯SSD向けのコントローラーを製造しているが性能は価格なり。
Samsung
メモリ製造最大手だけあってコントローラーの性能はMarvellと比べても遜色がないレベル。
最新モデルは通常のコントローラーよりも1コア多い3コアタイプを使用して高速化を図っているためランダム速度も速い。
TOSHIBA
自社製SSDのみに採用、自社メモリに最適化しているらしいがTOSHIBAのSSD自体人気がないため実力は不明。
メモリコントローラーの更新がないため現在主流の他社コントローラーと比較すると遅い。
SSDの特徴
以上SSDのハード構造と特徴を見てきましたが今度はSSDの特徴ということで特に良く話題に上がるSSDの特徴についてお話しをしていきます。
SSDは同じシリーズでも容量により速度が変わる
実はメモリ搭載量により同じシリーズでも転送速度が違うものがあります、通常はそこまで差があるわけではないのですが中にはコストダウンのため下位モデルは性能の低いパーツを使用してコストダウンをしているものもありますので安易にメーカ公表値を鵜呑みにしない方がいいでしょう。
通常であれば同モデルでも容量別に速度に差がある場合はそれぞれの容量別に転送速度がSSDの紹介ページに記載されていますので仕様をしっかりと確認しておきましょう。
SSDの使用領域が招く速度低下
SSDは常に最大限パフォーマンスを発揮し続けることができません、SSDはフラッシュメモリーの特性とOSの仕様により長い時間、そして容量を使うほど転送速度が減少していく傾向にあります。
SSDが市場に出た当時OS側ではSSDを前提とした構造やシステムを組んでいなかったため特にこの現象が大きく現れたため現在でもこの症状は大きく取り上げられることがあります。
しかしWindows 7はSSDに対応した作りになっておりSSDのファームウェアとドライバーが対応していればTrimにより性能の低下をほぼ抑制することができます。
Windows XPで使用する場合は定期的にDefragglerで空きスペースをデフラグして速度を回復させる必要があります。
パーティションアライメントのズレが招く速度低下
パーティションの開始セクターが本来あるべきところからずれるとSSDは性能を十分に発揮できないことがあります、これを一般的にパーティションアライメントがずれていると表現します。
Windows XPではOSの仕様により何も考え無しにパーティションを作るとパーティションアライメントがずれてしまいます、他にも様々な要因によりパーティションアライメントが比較的ずれにくいWindows 7やVistaでもパーティションアライメントがずれてしまうことがあります。
この場合パーティションアライメントを最適化する必要があるのですがOSをインストールし終えた状態だと非常に面倒なので私は手軽にパーティションアライメントを最適化できる海外の有料ソフトを使っています。
最大限のパフォーマンスを発揮するにはSATA3.0環境が必須
劇的な進化により現在のSSDはシーケンシャルで500MB/sクラスのものが出ています、この速度を活かすには600MB/sという高速な転送速度に対応したSATA3.0に対応したマザーボードが必要になります。
またSSDへのアクセスはATA(IDE)モードではなくAHCIモードでアクセスする必要があります。
OSの起動を高速化するには4KBランダムリード・ライトを重視
SSDの導入目的の1つにOSを高速に起動させたいというものがあります、現在のSSDでは20秒切りも可能なほど高速なSSDが出ていますがいったいどの数値を見ればいいのか?ベンチマークでは多くの数値が並び分かりにくいのですが答えは4KBランダムリード・ライトになります。
OS起動時には小さなサイズのファイルを絶えず読み書きしているため4KBランダムリード・ライトの性能が高ければ高いほどOSは高速で起動します。
以上SSDについて長々と書かせていただきました。
HDDのように枯れた技術であれば特にどれを選んでも同じなのですがSSDはまだ始まったばかりです、技術的なバラツキが大きくどれを選んでも大差がないという状態ではありませんので納得のいくSSDを手に入れるのであればしっかりと知識をつけた上で選択をすると間違いがないかもしれません。
と、難しい話をする前にSSDを実際に分解してみました、中身がどうなっているのかまずは構造を見てみましょう。
記録媒体はフラッシュメモリー
SSDとはUSBメモリー等で採用されているフラッシュメモリというタイプのメモリを搭載した記録装置になります、強引な言い方をすればUSBフラッシュメモリーが大きくなったようなものといってもいいいかもしれません。
HDDと比較した場合大きな違いがあるのはこのフラッシュメモリーを使っているということです。
HDDは磁気を帯びた円盤が回転し読み書きのためのアーム(レーコードプレイヤーの針のようなもの)があります、これらの装置は稼働中に衝撃を受けるとお互いが激しく接触してアームが円盤の表面を削り取り最悪の場合記録したデーターが読み込めなくなります。
しかしSSDにはそのような衝撃に弱い部分はなく基盤やチップが破損するようなとてつもないような衝撃を与えない限り物理的に破損しません。
この特性から常に振動に晒されるカーナビや持ち運ぶことが多いノートパソコンにも採用が増えています。
しかしフラッシュメモリにも弱点があります、フラッシュメモリを活用している人はご存じの通り転送速度が遅いのです、そこでSSDではこのフラッシュメモリーを大量に積み込み同時にアクセスすることで高速化を実現させています。
写真はSSDの内部基盤ですがこの黒いチップがフラッシュメモリです、このように基盤にたくさんのフラッシュメモリを搭載することで同時にアクセスして高速化しています。
また大量にフラッシュメモリを搭載することにより記録容量を増加させているためUSBフラッシュメモリとは比べものにならないほど大容量なのですが同時にコストが増加する原因でもあります、SSDが高価な理由はこのような構造になっているためです。
※SSDはだいたい16個のフラッシュメモリを搭載している、現在の主流は128GBなので1つあたりの容量は8GB、同じ容量のUSBフラッシュメモリ16個分と考えれば価格の高さに納得がいくのではないだろうか。
SSDの速度は主にメモリコントローラーにより大きく左右されますがフラッシュメモリの性能もある程度関わってきます。
MLCとSLC
SSDによく表記してある言葉にMLCとういものがあります、これはMulti Level Cellの頭文字を取った略語です、もう一つSLCというものがありこちらはSingle Level Cellの略語になっています。
このMLCとSLCはフラッシュメモリーへの記録方式を指しています。
SLCは1つのメモリセル(メモリーの記録枠)に対して1bitのデータを記録するものでメモリセルあたりの書き換え回数やエラーの発生率、また転送速度において優秀な性能を発揮します、しかし容量を稼ぎにくく同じ容量のMLCタイプと比べると高価になってしまいます。
この価格差が余に大きなうえHDDの容量に対抗するため大容量のフラッシュメモリーを採用する必要があるため現在主流のSSDはMLCタイプのフラッシュメモリーを採用しています。
このMLCは1つのメモリセルに複数のbit数を記録できるタイプで同じコストをかけてもSLCと比べ大容量のフラッシュメモリが生産でき、低価格で大容量という二つの要素を同時に満たすことが可能です。
しかし記録したデータが変化するため常に強力なエラー訂正機能と併用する必要があり結果速度が低下します。
またメモリセルの書き換え回数もSLCと比べると少ないため信頼性はSLCに比べると劣るのですが技術の進歩により民間で使うレベルであればMLCで十分に事足りる性能を有してきたため現在のSSDはそのほとんどがMLCタイプになっています。
ウェアレベリングと冗長領域
メーカの中にはこのMLCの書き換え回数の低さをカバーするため予備の領域を設けているものがあり他のメーカーのSSDと比較すると僅かに容量が少ないものが存在します、Intel製のSSDはこのタイプで他社が128GBに対して120GBとなっています。
MLCのSSDはメモリセルの書換え寿命を改善するためにメモリコントローラーが毎回データを保存するメモリセルをランダムに分散させています、これをウェアレベリング(書き込み分散処理)といいますがこのウェアレベリングによりメモリセルの寿命を均等化し結果SSD全体の寿命を延ばしているのです。
ウェアレベリングが無かったら同じところに何回も書き込みをしてそのメモリセルはすぐに寿命を迎えてしまうことになります、通常の使用ではこのようなことは無いのですがある条件を整えるとウェアレベリングが機能していても同じメモリセルに何回も書き込みをしてしまう状態になる可能性があります、その条件は最大容量近くまで使い切った状態です。
すでに多くのメモリセルが埋まっており書き込みができるメモリセルが限定される状況になるとウェアレベリングがあったとしても特定のメモリセルのみを酷使してしまいます、そこでユーザーが使用できる領域をあえて減らし全ての容量を使い切ったとしてもその予備用領域を使いウェアレベリングが効果的にできるようにしているのです
このシステムを採用しているSSDでは他のものより若干容量が少なくなっています、120GBとか60GBというような切りのいい容量のSSDはこのシステムを採用してます。
SSDを使用する場合は容量を半分までしか使わないようにといわれているのはこのような理由があるためです。
フラッシュメモリーを統率する司令官 メモリコントローラー
フラッシュメモリがただ積んであるだけではSSDとして機能しません、多数あるフラッシュメモリーを統率して管理するユニットが必要になります、それがメモリコントローラーです。
画像の小さなチップがメモリコントローラーです、多数あるフラッシュメモリーを束ねているいわば司令官の役目を持ったチップになります。
このメモリコントローラーの性能がSSDの性能を左右するといっても過言ではなくメモリコントローラーを開発しているメーカーでは熾烈な開発競争が続けられています。
このメモリコントローラーですが過去にコストダウンのため低性能のメモリコントローラーを採用したSSDが一斉に売り出されたことがありました。
それまでは高価なものだったSSDが比較的安価になってきたということで自作パソコンをしている人が購入していったのですが、そのSSDをOSのシステムドライブとして使用すると作業中にパソコンが固まる現象が発生しました、これが俗に言うプチフリーズの略である「プチフリ」です。
このプチフリの原因はデータの受け渡し回数が多数ある場合(画像等の小さなファイルを大量にコピーしたりアプリケーションをインストールしたりする場合など)メモリコントローラーの処理が限界に達して結果データが詰まるため発生する現象です。
現在のメモリコントローラーはこの反省を踏まえプチフリをしないようにメモリーコントローラーのコア数を増やしたり一時的にデータを保存しておく高速なメモリ領域を備えていたりと様々な対策がされているので気にする必要はありません。
メモリコントローラー中には面白い特徴を持ったものもありその特性を理解しておかないと実力を発揮できない場合もあります。
ということで今現在市場に出回っているSSDに搭載されているメモリコントローラーをまとめてみました。
メモリコントローラーメーカー一覧
Marvell
NASや組み込み型コンピューターのCPU(ARM系)を製造しているメーカーで実績は間違いなし、高速で安定した性能を発揮する。
主にCrucial製のSSDに搭載されいるほかIntelの一部のSSDでも採用された実績がある。
SandForce
2006年に創業した新興メーカー、主力商品はSSDコントローラーのみだがIntelに採用されるなど実力は持ち合わせいる。
メモリコントローラーはデータの圧縮により速度が激しく上下する癖があるためSandForceを採用しているSSDはメーカー公表速度を鵜呑みにしてはいけない。
Intel
Intel製のSSDに搭載されているコントローラー、現在は他社製コントローラーを採用したものも発売しているためIntel製SSDが全てIntelコントローラーというわけではない。
性能はさすがIntelで速度はMarvell製に及ばないもののパーティションアライメントを考えてなくてもいいため様々な環境で最高のパフォーマンスを発揮する。
JMicron
マザーボードに搭載するSATAやIDEコントローラー等も製造しているが評価はさんざん、プチフリという言葉を生み出した原因である伝説のメモリコントローラーJMF602を生み出したメーカーでもあるため今も避けられていることが多い。
現在は改善したメモリコントローラーで巻き返しを図ろうとしている。
INDILINX
OCZに買収されたためOCZの一部のSSDに採用されている。
JMicronと同じく低価格帯SSD向けのコントローラーを製造しているが性能は価格なり。
Samsung
メモリ製造最大手だけあってコントローラーの性能はMarvellと比べても遜色がないレベル。
最新モデルは通常のコントローラーよりも1コア多い3コアタイプを使用して高速化を図っているためランダム速度も速い。
TOSHIBA
自社製SSDのみに採用、自社メモリに最適化しているらしいがTOSHIBAのSSD自体人気がないため実力は不明。
メモリコントローラーの更新がないため現在主流の他社コントローラーと比較すると遅い。
SSDの特徴
以上SSDのハード構造と特徴を見てきましたが今度はSSDの特徴ということで特に良く話題に上がるSSDの特徴についてお話しをしていきます。
SSDは同じシリーズでも容量により速度が変わる
実はメモリ搭載量により同じシリーズでも転送速度が違うものがあります、通常はそこまで差があるわけではないのですが中にはコストダウンのため下位モデルは性能の低いパーツを使用してコストダウンをしているものもありますので安易にメーカ公表値を鵜呑みにしない方がいいでしょう。
通常であれば同モデルでも容量別に速度に差がある場合はそれぞれの容量別に転送速度がSSDの紹介ページに記載されていますので仕様をしっかりと確認しておきましょう。
SSDの使用領域が招く速度低下
SSDは常に最大限パフォーマンスを発揮し続けることができません、SSDはフラッシュメモリーの特性とOSの仕様により長い時間、そして容量を使うほど転送速度が減少していく傾向にあります。
SSDが市場に出た当時OS側ではSSDを前提とした構造やシステムを組んでいなかったため特にこの現象が大きく現れたため現在でもこの症状は大きく取り上げられることがあります。
しかしWindows 7はSSDに対応した作りになっておりSSDのファームウェアとドライバーが対応していればTrimにより性能の低下をほぼ抑制することができます。
Windows XPで使用する場合は定期的にDefragglerで空きスペースをデフラグして速度を回復させる必要があります。
パーティションアライメントのズレが招く速度低下
パーティションの開始セクターが本来あるべきところからずれるとSSDは性能を十分に発揮できないことがあります、これを一般的にパーティションアライメントがずれていると表現します。
Windows XPではOSの仕様により何も考え無しにパーティションを作るとパーティションアライメントがずれてしまいます、他にも様々な要因によりパーティションアライメントが比較的ずれにくいWindows 7やVistaでもパーティションアライメントがずれてしまうことがあります。
この場合パーティションアライメントを最適化する必要があるのですがOSをインストールし終えた状態だと非常に面倒なので私は手軽にパーティションアライメントを最適化できる海外の有料ソフトを使っています。
最大限のパフォーマンスを発揮するにはSATA3.0環境が必須
劇的な進化により現在のSSDはシーケンシャルで500MB/sクラスのものが出ています、この速度を活かすには600MB/sという高速な転送速度に対応したSATA3.0に対応したマザーボードが必要になります。
またSSDへのアクセスはATA(IDE)モードではなくAHCIモードでアクセスする必要があります。
OSの起動を高速化するには4KBランダムリード・ライトを重視
SSDの導入目的の1つにOSを高速に起動させたいというものがあります、現在のSSDでは20秒切りも可能なほど高速なSSDが出ていますがいったいどの数値を見ればいいのか?ベンチマークでは多くの数値が並び分かりにくいのですが答えは4KBランダムリード・ライトになります。
OS起動時には小さなサイズのファイルを絶えず読み書きしているため4KBランダムリード・ライトの性能が高ければ高いほどOSは高速で起動します。
以上SSDについて長々と書かせていただきました。
HDDのように枯れた技術であれば特にどれを選んでも同じなのですがSSDはまだ始まったばかりです、技術的なバラツキが大きくどれを選んでも大差がないという状態ではありませんので納得のいくSSDを手に入れるのであればしっかりと知識をつけた上で選択をすると間違いがないかもしれません。




コメント
コメントする