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のこういう仕掛けって、和文で技術情報みたいなのはないのかしら。
少なくとも、巷で「SSDはこうだ!」ってゆー、いい資料とか良い記事は見かけた記憶がないので、ちょっと困っていたり。
どこかにこう、「サルでも解るSSD」とかいう資料、転がってないかなぁ……。
俺も自信はないのだけれど、それでもWebを見回してみて「こうやったらSSDは良い!」みたいな記事って、基本「中身の原理を考えずに、何かをやってみたらこうなったから、中身もこうあるはず!」みたいな感じになってるものが多いような気がして、あまり信用できてないというか。