パラメータ解説
FlashPointはレジストリにパラメータを設定することにより、動作方法などを制御することができます。
インストールの時に合わせて設定する場合は、install.inf(
Beta5ではinstallSSD.inf)の[diskfp.AddReg]項目に追加・変更することで可能になります。(インストール後は、パラメータ設定支援ツールまたはレジストリエディタを利用してください)
※まだ、良く解っていない部分もあります。 また、私自身の誤訳や勘違いなども含んでいる可能性があります。
Beta3
公式には、設定は存在していません。
587 :Socket774:2009/04/19(日) 11:43:42 ID:MjNoXD37
FPのキャッシュサイズはレジストリーの修正で変更できる。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\diskfp\Parameters]
"CacheSize"=dword:00000020
こんな感じ。とりあえずデフォルト値を突っ込んだ。
変更するとタスクマネージャのパフォーマンスのカーネルメモリの非ページが変わるのでそこでチェックできる。
ただし変更できる値は32MB以下のみ。それ以上にしようとするとドライバー側でクリップしちゃうよ。
まぁ>>584見たいなメモリー少ない人向けかね。
ちなみに他のレジストリ項目だが
DiskNumber、BlockSize、NumOfLogBlk、Flushとある。
適当に今、さっくり調べただけなんで間違っているかもしれないし弄りたい人は自己責任でどぞ。
588 :587:2009/04/19(日) 11:44:44 ID:MjNoXD37
あ、Parameters以下はデフォルトでは無いので自分で作成するんだぞ。
591 :587:2009/04/19(日) 12:22:54 ID:MjNoXD37
もひとつ追記で単位はMBな。
Beta4
各パッチによって微妙にパラメータが異なってますが基本は同じようです。
Beta4 |
パラメータ名 |
タイプ(カッコ内はinfで値) |
初期値(16進) |
説明 |
BufferCfg |
dword(0x00010001) |
0x00000020 |
バッファサイズ(初期値は32MB) |
BlockSize |
dword(0x00010001) |
0x00000001 |
FlashPointのOn/Offと内部のClusterサイズ(初期値は1MB) |
NumOfLogBlk |
dword(0x00010001) |
0x00000009 |
ランダムライト性能に影響するみたいです 良くわかりません |
Flush |
dword(0x00010001) |
0x00000000 |
バッファの書込タイミングの指定 |
データ信頼性と性能に関連する項目で、バッファに溜まったデータをどのタイミングでSSDに書き込むかの指定になります。
0(オフ)は、OSからの書き込み要求を無視して、独自のタイマートリガ方式によって一定のタイミングでデータを書き込みます。
1(オン)は、OSからの書き込み要求に応じて書き込まれます。
信頼性を取る場合は1
性能を取る場合は0
※当初記載の設定値と説明が逆になってました。現在は修正してあります。 ご迷惑をおかけいたしました。2009-06-03
SSDの特性(仕様)に大きく依存します。
FlashPointは、小さなデータ書き込みを大きなデータ書き込みに変換してSSDに書き込むのですが、このときの大きなデータに当たります。
もし、この値を2に設定した場合、2MB単位にバッファ上でまとめてSSDに書き込みをします。 一般的には、1MBのサイズで十分です。
SSD内部のファームウェアのアルゴリズムに依存(関連)します。
SSDのランダム書き込み性能が良い場合は、一般的には大きい値の方が良いです。
基本的にFlashPointは、セクタバッファの数を表現するのに16bitの変数を使用しているため、セクタバッファの数を制限しています。
セクタサイズは、標準で512バイトなので最大で32Mバイト (512 * 65,536)になります。
しかしながら、バッファ管理のオーバーヘッドを最小化するためにFlashPointは2レベルのインデックスを構成してます。また、そのためのメモリも必要になり、メモリの大きさは、対象となるディスクの容量に比例します。
そのため、ディスクサイズがとても大きい場合、たくさんのメモリがインデックステーブルに使われ、残りはセクタバッファに使われます。
これゆえFlashPointは、セクタバッファにだけ最大32MBの制限を設けています。よってSSDの容量が大きいとき大きいメモリ設定が助けになります。
おそらく私は、近い将来にあなたのディスクを設定するための最大の容量が何なのかを表示する単純な計算ソフトを作ることができるでしょう。
設定例(※この設定例はBeta4の場合です。)
パラメータ名 |
設定値(16進) |
BufferCfg |
0x00000020 |
BlockSize |
0x00000001 |
NumOfLogBlk |
0x00000009 |
Flush |
0x00000000 |
BufferCfg |
0x00002000 |
BlockSize |
0x00000100 |
NumOfLogBlk |
0x00000900 |
Flush |
0x00000000 |
BufferCfg |
0x00002020 |
BlockSize |
0x00000101 |
NumOfLogBlk |
0x00000909 |
Flush |
0x00000000 |
- 2台のディスクに適用した場合(1番目:バッファ16MB, 2番目:バッファ32MB)
BufferCfg |
0x0000201 |
BlockSize |
0x00000101 |
NumOfLogBlk |
0x00000909 |
Flush |
0x00000000 |
最終更新:2009年06月03日 13:07