和歌山のプログラミング・システム開発ならシステムキューブ
SSD(ソリッドステートドライブ)はハードディスクに変わり、新しいパソコン向けの記憶装置として出回るようになり、それなりの時間が過ぎました。
SSDはフラッシュメモリという半導体(SDカードなどにも利用されているもの)を使用した記憶装置です。
このSSDを搭載したパソコンは、メモリをあまりたくさん搭載していなくても比較的問題なく使える印象を持ちましたので、その意味を考えてみます。
メモリが足りなくなると、パソコンは一時的にメモリ外、ハードディスクなど遅い装置にメモリ内容を書き出し、メモリを実質的に拡張するように振る舞います。
これをスワップメモリや、仮想記憶と呼びます。
これが発生すると、メモリの読み書きスピードと、ハードディスクなどの読み書きスピードの差異で、急に処理が止まってしまったり、のろのろと動くよう印象を受けます。
かといって仮想記憶の仕組みを止めて、システムが利用できるメモリが0になってしまうと、システムのクラッシュを招きます。
ですので、メモリをたくさん利用するアプリケーションを実行する場合は他のメモリを使用しているアプリケーションを終了させて、という流れになります。
64bitのWindowsなどOSの普及によりメモリ搭載の上限は大きくなりましたので、たくさんメモリを搭載して、このスワップメモリの発生を防ぐという方法もありますが、機器費用としてはメモリに大幅にウェイトが置かれることになります。
このスワップメモリは、メモリの代わりをするものですから、読み出しや書き込みをする場所の指定を受ければ、そこに直接アクセスしに行かねばなりません。
ハードディスクは構造的に高速で回転する磁気円盤の上をヘッドと呼ばれる装置が移動して、読み書きを行います。
直接アクセスを行う場合は、まずシークといってその場所が磁気円盤のどこにあるかを探し、ヘッドを移動して円盤が回転してくるのを待ちます。メモリの読み書きに比べて数百倍は時間が掛かるものです。
スワップが発生すると、その数百倍の遅さが積み重なって、動作が耐えられないぐらい遅くなったり、止まってしまったかのように見えます。
そもそもハードディスクは動画などの大きなデータを順番に読み取っていくなどの動きに適していて、このようなランダムな場所を直接読み書きするのには適していません。
SSDはハードディスクに比べて、このランダムな読み書きにとても強い性質を持っています。
物理的に動く装置がそもそも内部にありませんので、データは電子的なやりとりとなります。
物理的に見るとメモリと同じ仕組みでのデータの読み書きになり、スワップメモリのようなものにも強くなります。
SSDはハードディスクを接続するSATAよりも高速なPCIエクスプレスへの接続のものが多くなっており、読み書きの高速さからこの仕組みが採用されることが多くなっています。
SSDには書き込み上限がある、ということを気にされる方もいらっしゃいますが、現状そのようなことを気にする必要はありません。
SSDが非常に高額で、容量がごく少なかった頃の慣例にすぎなく、よほど弱点を抱えたSSDでなければパソコンそのものの機材の寿命よりもSSDの寿命の方が長いです。
それでも寿命が気になるという場合、失いたくないのは作業効率、データ、SSDのどれかということになります。
効率を失いたくないためにはSSDをスワップメモリの置き場所にすべきですし、データを失いたくない場合はバックアップです。
SSD本体を大事にしたい場合はそれに意味があるのであれば、スワップメモリの苦手なハードディスクにスワップメモリを置くべきでしょう。
メモリ搭載量が多くても64bitOSは贅沢なメモリの使い方をしますので、ユーザーがメモリ使用量を気にしてしまうこともしばしばあります。
そのようなことにとらわれたくない場合は、システムとスワップメモリの置き場所をSSDにすべきでしょう。