SSDの仕組み(妄想編)

(2009年12月12日22:54:03追記。)
 図の中では

FAT データ(実際のデータを含む)

の繰り返しって書いてますけど、これは変ですよね……。

 CD-Rのマルチセッションと全く同じように、

リードイン(リードアウト位置+1、書き込みタイムスタンプの情報を含む) データ(実際のディレクトリとデータ) リードアウト

の繰り返しですね……。

で、ATA device emulatorというのは、PC側からみたらATAバイスに見えるように、SSD側からは単に「べた書きで書いて、ベタに読む」様に見える……と。

(書き込み時) 書き込みコマンドとデータ ATA device emulator 書き込みコマンドとデータを、ブロック単位に区切ってべた書きする
(読み出し時) 普通のドライブのように振舞ってデータを投げる ATA device emulator べた書きしたデータを、先頭から終端まで読む(書き込み済み位置とかはキャッシュしておく)


 SSDをシステムドライブとして使ってみて、アレコレ動きから妄想してみた……ってゆー、ただのテスト。
 この妄想が正しいと、

  • SSDへの記録方式は、「CD-Rへのマルチセッション記録」を、「繰り返し行っても破綻しないように、ちょっと考え方を変えて作り直しただけ」って考えると、かなり近いと思う。
    • せいぜい、先頭に戻ったときのTOCの記録方法と、記録回数の分布が偏ったときの「塩漬けデータの自動移動=セル寿命優先の最適化」があるくらいかな、と。
  • 最適化をしても、最適化の種類に関わらず、パフォーマンスは改善しない。
    • デフラグした「瞬間」は「パフォーマンス優先の最適化」がされているからよくなるけど、どうせ内部的に「あとから」セル寿命の格差を防ぐために「塩漬けデータの自動移動=セル寿命優先の最適化」をされてしまうので、結果として「一瞬の満足のために、セル寿命を著しく劣化させてしまう」ことになる。
    • デフラグで綺麗になるのは、SSDの制御用に乗ってる「ATA device emulator」が吐き出す「虚構」であって、SSDの実像ではない。
      • 当然、「物理フォーマット」とかをしても、虚構に物理フォーマットを掛けても意味ないじゃん状態になるだけ……と、まさに「(以下略)」って状態。
  • クリーンインストールをすると、とりあえずパフォーマンスは改善する。
    • ただし、これも「デフラグ」した「瞬間」にパフォーマンスがよくなるのと全く同じ原理なので、内部的な「セル寿命優先の最適化」がかかった瞬間に無意味になる。
  • 「塩漬けデータの自動移動=セル寿命優先の最適化」は勝手に行われてしまうので、軽く使うコツはとにかく「可能な限り、データを書き込まない(仕掛け上は「消去」も「記録」でしかないので、一旦書いたデータを「見かけ上削除」したり「移動」させたりするのもオススメしない)」ことと、「システムドライブとして使うなら、システムデータは可能な限り少なくして、空き領域をばかみたいに空けておく」こと。

……って感じになると思う。


 ……ってゆーか、SSDのこういう仕掛けって、和文で技術情報みたいなのはないのかしら。
 少なくとも、巷で「SSDはこうだ!」ってゆー、いい資料とか良い記事は見かけた記憶がないので、ちょっと困っていたり。


 どこかにこう、「サルでも解るSSD」とかいう資料、転がってないかなぁ……。
 俺も自信はないのだけれど、それでもWebを見回してみて「こうやったらSSDは良い!」みたいな記事って、基本「中身の原理を考えずに、何かをやってみたらこうなったから、中身もこうあるはず!」みたいな感じになってるものが多いような気がして、あまり信用できてないというか。