SSDを2つのパーティションに分けて、一方を未割り当てにした場合、書き込まれるのはフォーマットした方だけでしょうか?

例えば、128GBのSSDを64GBずつに分けて、一方はフォーマットしてOSインストール。
もう一方はフォーマットせずに未割り当てのままとします。

この場合、実際に利用されるのはOS側のパーティションのみで、未割り当て側は一切書き込みがされないという認識であっているでしょうか?
もしそうなら、例えば3年くらい利用した後に、未割り当てのパーティションをフォーマットし、OSを丸ごとコピーしてしまえば、書き込み回数を余り気にする必要がなくなるかな、と。

もし、この認識通りならSSD用に細かく設定を変える必要が無くなり、延命が容易になるのではないかと思ったのですが、どうでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/11/17 00:45:02

ベストアンサー

id:SPX900 No.4

回答回数166ベストアンサー獲得回数49

すでに回答されているとおりで、ウェアレベリングが働いている以上、見かけのパーティション状態と実際のフラッシュメモリ上での書き込み状態は一致しませんから、領域を区切る意味はありません。仮に区切ったとおりに書き込まれたとしても、生かしてある領域だけに書き込みが発生することになるので、そちらの寿命が短くなってしまいます。結局それではトータルで見て同じ寿命と言うことになりますよね。

最近はウェアレベリングも高度になって、空き領域をやりくりするような単純なことではなく、データが入っているけど更新されていない部分(OSのファイルとか)を別の領域に移して空けてやり、そこに別のデータを書くようにしているものもあります。こうすれば本当にSSDの全域にわたって書き込み回数が平準化できる。空き領域だけ使っていたら、入れているファイル容量が多くなると、残り少ない空き領域の中でだけ平準化することになるので、その領域に書き込みが集中しちゃって意味がないじゃないですか。そう言う初歩的なやり方はもう流行りません。だから高度な実装になっているSSDを相手にユーザー側がいくら小細工しようが、何の効果もないです。ただ面倒で使い勝手を損なうだけ。

ということで、容量が少ないSSDに何でもかんでも入れないようにするための工夫、マイドキュメントをHDDに移動するとか、シンボリックリンクを使ってマイドキュメントとかをHDDに格納するようにし、見かけ上はC:に書いているように見えるようにするようなこと以外はしなくていいと思います。

id:siwon_g

SSD内の書き込み先をユーザー側では制御出来ず、別にHDD等を用意するしかないということですか。
そうなると、ノートPCのようにHDD増設が難しい環境では、メモリを増やしてRAM Diskを用意するくらいしか逃げ手はなさそうですね。
回答ありがとうございました。

2012/11/11 17:31:45

その他の回答3件)

id:papavolvol No.1

回答回数1078ベストアンサー獲得回数199

今のSSDの最大の欠点は、容量あたりの機器の値段がまだ高いことです。でもこれは今後どんどん安くなります。
例えば、今100Gあたり2万円していて、3年後には100Gあたり2千円になるとすると、今の100Gあたり2万円のSSDを半分大切に残しておいて、100Gあたり2千円になってから使うのは損だと思います。
SSDの最大のメリットは速度が速いことですから、せっかくのSSDの128GBをフルに使って十分楽しんで、3年後に値段が10分の1になったところで、新しいSSDを買ったほうが得だと思います。

他1件のコメントを見る
id:papavolvol

コメントありがとうございます。
HDDはアクセスが遅いので、先読みしたりキャッシュしたり、デフラグしたり、少しでも速く使う機能がいろいろと開発されてきましたね。
それらが、SSDには役に立たないばかりか、SSDの寿命をちじめる原因になってしまうようです。だから、面倒でもそれらの機能を無効化設定して使うのが良いと思います。
それらを無効化しないで、代わりにパーテションを分けると言うのも、なんだか本末転倒的な印象を持ってしまいます。
早くSSDの価格がHDD並みに安くなると良いですね。

2012/11/15 16:55:19
id:siwon_g

> 早くSSDの価格がHDD並みに安くなると良いですね。
まさに、この一言に尽きますね。
値段が下がり、容量が大きくなれば、あれこれ設定を弄る必要性がなくなっていきますので。
パーティションを分けるという発想も、設定変更の手間を省く代わりに使う領域は使い捨て。
だけど、結果的に2,3倍長持ちさせることが出来るのでは・・・と言うところから出てきたモノです。

OSと各種ソフトだけSSDへ、データ関連はHDDへという棲み分けをすると、正直SSDは128GBでも多すぎるくらいなんですよね。
なので、なんとか良い使い道は無いものかな?と思った次第です。

2012/11/15 23:37:56
id:siwon_g

実運用上の観点と言うよりも、原理的にどうなのかという単純な疑問になります。

構造的に未割り当ての方は、使わなければ新品とほぼ同等の状態が保たれるものなのでしょうか?

id:seble No.2

回答回数4796ベストアンサー獲得回数629

もちろん、フォーマットされていない領域へは書き込まれません。
ただ、書き込み回数で一番問題になるのはアドレス部分です。現在の方式だと、特定の領域がデータアドレスや領域の情報セクタとして分離され、何かデータが書き換えられるたびに、その領域だけは毎回書き換えられます。
そこには、Cドライブの範囲、未領域の範囲も書き込まれており、データの範囲としては先頭の数セクタ、数kb程度だけでフォーマットの情報ですからフォーマットし直さない限りは書き換えされませんが、メモリチップ自体はもっと大容量なので、データアドレスと同じチップ内という事になります。

今のOSは、起動させるだけでログファイルやキャッシュファイルが更新されていきますからデータの書き換えが起こります。で、そのファイルには、必ずアドレスを指定してやらなければアクセスできなくなります。そのアドレス情報を記録する領域は先頭の特定ヶ所なので、常にその部分は書き換えが起こる事になります。
で、壊れるのもこの部分。
ブートセクタと呼ばれる、最先頭のフォーマット情報なども巻き込んで壊れる可能性大。
全領域を再フォーマットしてやれば、壊れた部分を回避して再使用できる場合もありますが、、、
少なくとも、常用していたOSは立ち上がらないし、データもセクタ単位で拾わなければならなくなるかもしれません。

128GBを買って64GBずつ。
64GBを2つ買うのと同じ事です(コストは多少変わりますが)
たまに、ミラーリングで同じ物にしておいてやれば、1台目が壊れても差し替えるだけで復活します。

id:siwon_g

なるほど。
ネックになるのは物理的にデータを格納する部分ではなく、アドレス管理部分になる可能性が高いわけですか。
確かにそれだと、パーティションを分けてデータ格納先をコントロールしても意味がなさそうですね。

であれば、テンポラリファイル系をRAMDISKやHDDに設定変更するというのはアドレス書き換えの回数を減らせるので、理にかなっていると。

2012/11/10 10:09:36
id:TransFreeBSD No.3

回答回数668ベストアンサー獲得回数268

SSDでは書き換え領域が集中しないように分散平均化する「ウェアレベリング」という仕組みを備えたものが多いです。
http://www.kyoto-sr.co.jp/products/fugue/techinfo/if-wl.html
http://www.tdk.co.jp/techjournal/vol09_cfast/contents04.htm
ここに書かれている通り、未割り当ての空き領域は順次使用されていきます。
というわけで、未割り当ての領域の方が、むしろ積極的に使用されているかもしれません。

ただし、
http://pc.watch.impress.co.jp/docs/column/hot/20090519_168669.html

USBメモリやメモリカードに使われているコントローラの多くは、ウェアレベリングをサポートしていない。単に書き込みがエラーになったら、そのブロックをスペアブロックに代替する、という処理を行なっているだけのものがかなりの割合で存在する。(略)
このようなシンプルなコントローラをSSD用に転用した製品もあり、

ともあります。この場合、未割り当て領域は使われません。
しかし、スペアブロックは共通で減る一方ですし、結局手動で2ブロックしかない効率の悪いウェアレベリングもどきをしただけと言えます。
安さにつられてウェアレベリングをしてないSSDを買った場合の悪あがきにはなるかもしれませんが。(スペアブロックが余っていれば)

逆に言えば、ウェアレベリングされているなら、手動で切り替えなどせずとも、空き領域も有効に使って自動的に寿命を延ばしている、ということになります。

他1件のコメントを見る
id:TransFreeBSD

「未使用」というのはメモリチップの物理的な素子(のブロック)の話で、より正確には「消去済み」というべきかもしれません。
フラッシュメモリというのは小さなブロックごとに電気的に高速に消去・再書き込みできるようにしたROMです。
ですので、メモリ内容を書き換える場合、書き換える部分が含まれるブロック全体を一旦消去し、変更後の内容を再書き込みすることで行います。
ただ、ここで同じ素子(ブロック)ばかり消去・再書き込みすると寿命がすぐ来るので平均化するのがウェアレベリングで、そのために、OSから見えるセクタと、チップの物理的な素子の関係は仮想化されています。
この辺りは仮想メモリと似たような感じですが、OSから見えないファームウェアレベルの話です。

ウェアレベリングのため、OSからは連続したセクタに見えても、実際にはチップ上の連続したアドレスとは限りません。
同一セクタを書き換えても、同じブロックを消去後再書き込みするのではなく、セクタとブロックの関係情報を更新して、すでに消去されているブロックへ書き込んでいるのかもしれません。
元のブロックは即時か、後々かはわかりませんが、消去されて「未使用」として回収されるでしょう。
この辺りはファイルとセクタの関係にも似ています。
実際には、セクタ、ブロックだけでなく、クラスタとかページとかいう単位もあり色々複雑で、メーカー各社も特許をとるなどして、寿命や速度も含めどのようなアルゴリズムでコントロールすべきかしのぎを削っているようです。
もしかすると、未割り当てのパーティションや書き込んだことのないセクタは、そもそも素子が割り当てられてない仮想上の存在に過ぎないかもしれません。
ただ、実際に存在する容量以上の容量を扱うわけではないので、それによって速度や消費電力のようなもの以外へ影響するわけではありません。

繰り返しになりますが、要するに「寿命を考えてCドライブを後々未割り当てのパーティションへコピーして同じCドライブとして使う」ということをOSの感知しないファームウェアレベルで行っているわけです。

2012/11/10 14:13:13
id:siwon_g

度々ありがとうございます。

まだ理解が追いついていない点も多いのですが、例えば1KBのパーティションを切って、ひたすらそのパーティション上で1KBの1ファイルを更新するようなソフトを動作させたとします。
このとき、OSからは特定の1KBを延々書き換えている様に見えるけれど、SSD側のウェアレベリングによって自動的に書き込み先が分散されている。

従って、1ブロックあたりの書き込み上限を10万回とした場合、1ファイルを10万回上書きしても実際の書き込み先は平準化されるため、書き込み回数の上限には達しない。
という理解で良いのでしょうか?

2012/11/10 19:52:17
id:SPX900 No.4

回答回数166ベストアンサー獲得回数49ここでベストアンサー

すでに回答されているとおりで、ウェアレベリングが働いている以上、見かけのパーティション状態と実際のフラッシュメモリ上での書き込み状態は一致しませんから、領域を区切る意味はありません。仮に区切ったとおりに書き込まれたとしても、生かしてある領域だけに書き込みが発生することになるので、そちらの寿命が短くなってしまいます。結局それではトータルで見て同じ寿命と言うことになりますよね。

最近はウェアレベリングも高度になって、空き領域をやりくりするような単純なことではなく、データが入っているけど更新されていない部分(OSのファイルとか)を別の領域に移して空けてやり、そこに別のデータを書くようにしているものもあります。こうすれば本当にSSDの全域にわたって書き込み回数が平準化できる。空き領域だけ使っていたら、入れているファイル容量が多くなると、残り少ない空き領域の中でだけ平準化することになるので、その領域に書き込みが集中しちゃって意味がないじゃないですか。そう言う初歩的なやり方はもう流行りません。だから高度な実装になっているSSDを相手にユーザー側がいくら小細工しようが、何の効果もないです。ただ面倒で使い勝手を損なうだけ。

ということで、容量が少ないSSDに何でもかんでも入れないようにするための工夫、マイドキュメントをHDDに移動するとか、シンボリックリンクを使ってマイドキュメントとかをHDDに格納するようにし、見かけ上はC:に書いているように見えるようにするようなこと以外はしなくていいと思います。

id:siwon_g

SSD内の書き込み先をユーザー側では制御出来ず、別にHDD等を用意するしかないということですか。
そうなると、ノートPCのようにHDD増設が難しい環境では、メモリを増やしてRAM Diskを用意するくらいしか逃げ手はなさそうですね。
回答ありがとうございました。

2012/11/11 17:31:45

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません