SSDを運用してくときに実行したい4つの寿命対策

ちょっと前に新しいパソコンを購入しました。
詳細なパソコンの構成については以前の記事参考してください。(ずいぶん簡単なものですが)

今回の構成ではSSD【Solid State Drive】を搭載しました。
SSDはHDDに代わる新しい補助記憶装置です(逆にRAM等を主記憶装置といいます)。それ故に扱い方もHDDとかなり異なっています。特に書き込み回数の上限があるので、うまく運用しないと寿命が極端に短くなってしまいます。

そこで、できるだけSSDへの書き込みをしないようにする設定や裏技を書いていきます。

●2013年1月改訂:情報が古くなったので少し書き直し

●2016年追記:この記事の情報はかなり古い情報です。特にSSDの寿命問題はかなり改善されており、HDDと同等かそれ以上の寿命を持っていることもあります。この記事の内容を実施しても効果はほとんどないでしょう。


SSDとは

SSD【Solid State Drive:ソリッド・ステート・ドライブ】とは、HDD【Hard disk drive:ハード・ディスク・ドライブ】と同じようにデータを記録する装置です。主記憶装置の一種ですね。

詳しくは以下の記事をどうぞ。

SSDの特徴(簡易)

HDDは磁気ディスクを回転させてデータを記録するためディスクの回転音が大きく、熱や振動に弱いという弱点があります。

SSDは半導体メモリを記録媒体として使っています。USBフラッシュメモリとほとんど同じです
SSDはディスクを持たないため回転音もしませんし、熱や振動にも強い設計になっています。
ただ、データの記録装置なのに決定的な弱点があります。それは理論的な書き込み回数の上限があることです。

酸化皮膜を貫通させてデータを記録させるので、何度も書き込んでいると劣化して書き込み不可となってしまうのです。
そのためSSDをメインドライブとして酷使する場合は、できるだけSSDへ書き込まれるのを防ぐ対策が必要になります。

また、大容量化も難しい製品なので40GB~256GBくらいが今の主流です。主記憶装置ではありますが、データの記録には注意しないとすぐ容量いっぱいになってしまいます。内蔵でも外付けでも、別の大容量HDDが必要になることが多いです。

2013年1月追記:SSD搭載のNASが発売されてました。大容量化もどんどん進んできています。

といっても最近は特に気にする必要もない

ただ、最近のSSDはコントローラーの改善で、同じ場所へ何度も書き込まれないように記録できるようになっています。
ウェアレベリングやTrimなどの技術ですが、これによりシステムドライブでの使用にも数年から数十年耐えられるとの計算結果もでています。

○2013年1月追記:メーカーもSSDに対して3年~5年保証を付け始めています。

なのでこれからやる対策を神経質になって実行する必要はないと考えています。
「それでも気になる!」「精神的な安心を求めて」という方は実行してみましょう。

参考

SSDの寿命実験に関して有名なサイトです。一読してみることをおすすめ。

ブラウザキャッシュの移動

寿命が気になるのならば、取りあえずこれは一番最初にやっておくとよいかと思います。

Webブラウザを使って閲覧していると、ブラウザは次回の読み込みを高速化させるため「キャッシュ」と呼ばれる一時ファイルを保存します。Webブラウザは皆さんも頻繁に使っているでしょうから、このキャッシュもSSD内へ頻繁に書き込まれることになります。すぐに外部ドライブへ待避させましょう。

ただし、SSDの特徴である早い読み込み速度の恩恵は受けられなくなるので注意。

※この記事はまとめですのでキャッシュの移動は「Internet Explorer」のみの解説とします。他のブラウザはまた単独の記事で書きます。

2012年5月5日 追記

他のブラウザのキャッシュ移動方法について書きました。

ブログ内リンク:Webブラウザのキャッシュ移動方法 - IE,Firefox,Opera編

Internet Explorer

  1. Internet Explorerを開き、ツールから「インターネット オプション」を開きます。

    インターネットオプション

  2. 「全般」タブの「閲覧の履歴」にある「設定」をクリックします。

    設定

  3. 「フォルダーの移動」を選択します。因みに現在のTempフォルダの位置は「現在の場所」で確認できます。

    フォルダーの選択

  4. 移動したい場所を指定します。「OK」をクリックし、指定が完了すると警告が出てログオフさせようとしてきます。
    ログオフしたら設定が反映され移動完了です。

    参照 警告

ファイル インデックスの無効化

Windowsには、ドライブ内のファイル検索を速めるため、予めドライブ内を検索し「インデックス」というデータを作ります。ファイル インデックスを有効にすると検索が早くなるのです。

ですがHDDならともかく、元々読み込みが早いSSDなら大した効果はありません。
これも少なからず書き込みをしてきますので無効化してしまいましょう。

  1. 「コンピューター」を開いてインデックスを無効化したいドライブを右クリックしし「プロパティ」を選択します。
    (通常CドライブがSSDでOSがインストールされている起動ドライブ)

    このドライブ上のファイルに対し、プロパティだけでなくコンテンツにもインデックスを付ける
    ▲クリックで拡大

  2. 「このドライブ上のファイルに対し、プロパティだけでなくコンテンツにもインデックスを付ける」のチェックを外して適用を選択します。次にウィンドが出ますので「変更をドライブC:\、サブフォルダーおよびファイルに適用する」にチェックを入れて「OK」を選択します。

    これでインデックスは無効になりました。

     

最終アクセス日時の更新を無効化

この操作以降はやり方も難しく、また危険性もあります。不安なのであれば無理して実行する必要はありません。最近のSSDならば効果は微々たるものです。

WindowsのNTFSファイルシステムでは、ファイルの作成日時や更新日時の他に「最終アクセス日時(last access time)」という情報が記録されます。これはファイルを最後に読み出した時間を記録しています。

つまり、何かファイルが読み込まれれば作成されるデータです。これはバックグラウンドで読み出されているファイルにも問答無用で書き込まれるため、知らず知らず書き込みが行われていることになります。

この機能を必要とするアプリケーションも特に多くないので無効にしてしまいます。
(アクセス記録の取得などしている場合は無効にするのを避ける)

ファイルの最終アクセス日時を記録しないようにするには、管理者としてコマンドプロンプトを実行し、以下のコマンドを実行して再起動すれば無効になります。
(スタートメニューから「すべてのプログラム」→「アクセサリ」→「コマンドプロンプト」)

fsutil behavior set disablelastaccess 1

因みに「fsutil behavior set disablelastaccess 0」と入力すると有効になります。

再起動後、「fsutil behavior query disablelastaccess」と入力して「disablelastaccess = 1」が返ってくれば無効になっています。「disablelastaccess は現在設定されていません」と返される場合は無効になっていません。

MS-DOS時代の「8.3形式」ファイル名の自動生成を無効化

Windows以前の標準的OSであったMS-DOSは、「8.3形式」と呼ばれるファイル名しか扱うことができません。
これは拡張子部分で3バイト、それ以外の部分が8バイトまでという形式。そのため非常に不便なものでした。

Windowsではこれが改善され255バイトまでの文字列が扱えます。

ですが、標準状態のWindows NTFSではMS-DOSで扱っていた8.3形式のファイル名にも互換性を持たせるため、8.3形式のファイル名も自動生成しています。これを確かめるにはコマンドプロンプトから「dir /x」を実行してみるとわかります。

dir /x

右から2番目の文字列(赤枠)が8.3形式のファイル名です。(青枠が通常のファイル名)
通常のファイル名が8.5形式でも同じように表せる長さであれば空欄になります。

さて、互換性が保たれるのはいいのですが、正直一般ユーザーである私たちには完全無用の機能ですので無効にします。
(16bitベースのアプリケーションを多用したり、MS-DOSパソコンがある場合はおすすめしません)

この機能を無効化するため、「レジストリ」と呼ばれる場所を変更します。
このレジストリ領域にはWindowsにとって重要なデータが格納された場所であるため、むやみに消したり変更するとOSに深刻なダメージを与えてしまいます。変更する箇所を間違えないよう細心の注意を払ってください。

ブログ内リンク:ソフトウェア情報の格納領域「レジストリ」について

  1. 「Windowsキー」+「R」で「ファイル名を指定して実行」を起動します。そして「regedit」と入力してレジストリエディタを起動します。

  2. 「HKEY_LOCAL_MACHINE」→「SYSTEM」→「CurrentControlSet」→「Control」→「FileSystem」にある「NtfsDisable8dot3NameCreation」というキーの値を16進数で「1」に変えてください。

    変更後「OK」を選択し、パソコンを再起動すれば無効化完了です。


    ▲クリックで拡大

ドライブ単位で指定する

Windows 7やWindows Server 2008 R2では機能が拡張され、ボリューム単位で生成機能を無効化できるようになりました。

この場合は「NtfsDisable8dot3NameCreation」のレジストリキーを「2」に指定します。(標準で 2 になっています)
そしてコマンドプロンプトから「fsutil 8dot3name set c: 1」と実行するとCドライブのみが無効になります。

0 - システムのすべてのボリュームで 8dot3 名の作成を有効にする
1 - システムのすべてのボリュームで 8dot3 名の作成を無効にする
2 - 8dot3 名の作成をボリューム単位で設定する ...デフォルト値
3 - システム ボリュームを除くすべてのボリュームで 8dot3 名の作成を無効にする

「fsutil 8dot3name set」ヘルプコマンドより

因みに「fsutil 8dot3name set 1」と実行すると、先ほどレジストリエディタでキーの値を変更した場合と同じ設定になります。レジストリエディタで変更するのが面倒な場合はこちらでもOKです。

生成されてしまった8.3形式ファイル名を削除する

通常生成されてしまった8.3形式ファイル名(ショートネーム)を削除することはできません。

ですが、Windows 7やWindows Server 2008 R2では機能が拡張され、すでにファイル システム中に記録されている8.3形式ファイル名を削除することができるようになりました。

  1. コマンドプロンプトを開き、まず「fsutil 8dot3name scan」を実行します。これはレジストリ中に8.3形式ファイル名が含まれていないかどうかをチェックするためのコマンドです。(ドライブはコマンドの最後に指定)

    もし、8.3形式ファイル名と関連のあるプログラムやサービスがあった場合、削除されてしまうとそれらを実行できない可能性があるためです。問題がありそうだったら削除をやめたほうがよいでしょう。

    このコマンドは、指定されたディレクトリ パスをスキャンして、このパスから 短い名前が削除された場合に影響を受けるレジストリ キーを検索します。(コマンドヘルプより)

    fsutil 8dot3name scan
    ▲「fsutil 8dot3name scan c:」の実行結果

  2. 特に問題がなさそうなら「fsutil 8dot3name strip」コマンドで削除します。

    私の環境では少々影響されるレジストリキーが多かったので削除は控えました。コマンドヘルプのみ記載します。

    使用法 : fsutil 8dot3name strip </t> </s> </f> </l ログ ファイル> </v> ディレクトリ パス

    このコマンドを実行すると、ボリュームから 8dot3 ファイル名が完全に削除されます。 削除された 8dot3 名を指し示すレジストリ キーの一覧が表示されますが、影響を 受けるそれらのレジストリ キーの変更は行われません。260 文字の最大パス長よりも 完全パス名が長いファイルに対しては、削除を実行できません。

    ***警告***

    レジストリ キーに影響が及ぶ場合に、強制スイッチ /f を使用するときは、想定外の アプリケーション エラー (アンインストールできなくなるなど) を招く危険がある ため、ボリュームのバックアップを作成しておくことをお勧めします。

    • /t - テスト モード - 実際のファイル名の削除以外のすべての操作を実行するように指定します。
    • /s - 再帰モード - 同じ操作をサブディレクトリにも適用するように指定します。
    • /f - 強制モード - レジストリに競合が生じる場合でも、ディレクトリを削除するように指定します。
    • /v - 詳細モード - ログに記録される情報をすべてコンソールにも出力するように指定します。
    • /l - 書き込み先のログ ファイルを指定します。ログ ファイルへのパスを続けて指定する必要があります。このオプションを指定しない場合は、次のログファイルが使用されます:

まとめ

実行の優先順位は上から「ブラウザキャッシュの移動」「ファイル インデックスの無効化」「最終アクセス日時の更新を無効化」「MS-DOS時代の8.3形式ファイル名の自動生を無効化」です。

これらを実行すればSSDへの書き込みも大幅に減らすことができるでしょう。寿命も延びると思います。

とはいえ、最初でも言った通り最近のSSDはコントローラーが改善されていて標準状態でもそこまで問題にはならなくなりました。Windows7であればSSDにも最適化されていますし神経質になることもないでしょう。

2013年1月追記:Windows8ならばさらにSSDの扱いがうまくなっています。

少しでも寿命を延ばしたい方は実行してみてはいかがでしょうか。

スポンサーリンク

Track Back

Track Back URL

Comments [8]

ファイルインデックスの無効化しようとしたらなんかエラーメッセージが出た・・・
キャンセルしてしまったが確認してみたら一応無効化されてるっぽい
どうして私のPCはこうもすんなり行かないのか?

PCって1つ処理がうまくいってないと途端に言うこと聞かなくなりますよね。

機器の構成もシステムの環境もそれぞれの個体で大きく違いますから、PCにも個性があるのかもしれません。
あっちのPCではうまくいっても、同じ方法でこっちのPCではうまくいかないとかも多いですからね。

言うこと聞かなくても、うまく付き合っていくしかなさそうです・・・

返信ありがとうございます
最近SSDのPCへ買い換えた初心者なもので・・・
チェックは外れてるんでこれは無効化はされてるって事でいいんですよね?

そうですね、エラーメッセージが不明なので確かなことは言えませんが、チェックが外れていれば恐らく大丈夫かと思います。

不安であれば、再度有効にしてみてからまた無効化してみると挙動が確認できると思います。
ここでまたエラーメッセージがでるようであれば、その文章をネットで検索にかけると対策が見つかるかもしれません。

ただ、この記事の最初の方でも書いていますが最近のSSDならば寿命問題も大分改善されておりますので、ファイルインデックス程度ならばたとえ有効になっていても大丈夫かと思います。精神の安定化程度で実行なさってください。

ただ、流石に私も大きな動画データの出し入れには今でも気を使いますけれどね(笑

揚げ足取りで申し訳ないが
主記憶=メインメモリー=DDR SDRAM等
補助記憶=HDDなど
したがって、SSDは補助記憶

あら、本当ですね。ご指摘ありがとうございます。
別の記事では補助記憶で書いてあるのですが、ここだけ何か勘違いしていたよいうです。修正しておきました。

久しぶりにこの記事を読み直してみましたが、今となってはやる必要もなさそうな内容のものですね~
SSDの寿命なんてあまり言われなくなって、コンパクトなタブレットやノートPCにも標準的に搭載されるようになったということは信頼できるデバイスとなってきたという証拠ですから、普段利用でしたら気にする必要は全くなくなったといってよいでしょうね。

ただ、流石にSSD内で動画データのような大きいものを出し入れし過ぎるのは今でもやらないほうがよいとは思いますけど(笑)
SSDの性質だけ知っておけば取り敢えずは良さそうな感じですね。

返信ありがとうございます
SSDを買おうと思い検索していた際に記事を読ませていただきました。
PCの知識が自分より遙かに詳しいのに、あれ?と思い書き込みました

すみません、実はもう一カ所・・・

SSDとは・・・の説明文に

何度もご指摘ありがとうございます。

記事書いている時の私は何か勘違いしてたところがあったようです(汗
他の記事では多分間違ってないはずです・・・こことか(http://michisugara.jp/archives/2013/pc.html)

特段どこかの学校でちゃんと勉強したわけではないので今でも間違った認識のまま自覚なく覚えてしまっていることも多いと思います。
日々精進しないといけませんね。お忙しい中、何度もありがとうございました。

コメントする

非公開。必須ではありません。

(いくつかのHTMLタグ(a, strong, ul, ol, liなど)が使えます)

このページの上部へ

サイト内検索

広告

最近のコメント

Powered by Movable Type 6.3.2