パラメータ解説

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

各パッチによって微妙にパラメータが異なってますが基本は同じようです。

マック売りの中年「SSDいかがですか」のブログ作者(yutakaさん)がパラメータ設定支援ツールを開発してくださいました。
パラメータ設定支援ツールはこちらから >> やっぱり「ゴン太くん」だった...より


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 バッファの書込タイミングの指定

  • Flush
設定値 0:オフ 1:オン
データ信頼性と性能に関連する項目で、バッファに溜まったデータをどのタイミングでSSDに書き込むかの指定になります。
0(オフ)は、OSからの書き込み要求を無視して、独自のタイマートリガ方式によって一定のタイミングでデータを書き込みます。
1(オン)は、OSからの書き込み要求に応じて書き込まれます。
信頼性を取る場合は1
性能を取る場合は0

※当初記載の設定値と説明が逆になってました。現在は修正してあります。 ご迷惑をおかけいたしました。2009-06-03

  • BlockSize
SSDの特性(仕様)に大きく依存します。
FlashPointは、小さなデータ書き込みを大きなデータ書き込みに変換してSSDに書き込むのですが、このときの大きなデータに当たります。
もし、この値を2に設定した場合、2MB単位にバッファ上でまとめてSSDに書き込みをします。 一般的には、1MBのサイズで十分です。

  • NumOfLogBlk
SSD内部のファームウェアのアルゴリズムに依存(関連)します。
SSDのランダム書き込み性能が良い場合は、一般的には大きい値の方が良いです。

  • buffer size(BufferCfg)
基本的にFlashPointは、セクタバッファの数を表現するのに16bitの変数を使用しているため、セクタバッファの数を制限しています。
セクタサイズは、標準で512バイトなので最大で32Mバイト (512 * 65,536)になります。
しかしながら、バッファ管理のオーバーヘッドを最小化するためにFlashPointは2レベルのインデックスを構成してます。また、そのためのメモリも必要になり、メモリの大きさは、対象となるディスクの容量に比例します。
そのため、ディスクサイズがとても大きい場合、たくさんのメモリがインデックステーブルに使われ、残りはセクタバッファに使われます。
これゆえFlashPointは、セクタバッファにだけ最大32MBの制限を設けています。よってSSDの容量が大きいとき大きいメモリ設定が助けになります。
おそらく私は、近い将来にあなたのディスクを設定するための最大の容量が何なのかを表示する単純な計算ソフトを作ることができるでしょう。

設定例(※この設定例はBeta4の場合です。)


  • 標準設定(1番目に接続したディスクだけの場合)
パラメータ名 設定値(16進)
BufferCfg 0x00000020
BlockSize 0x00000001
NumOfLogBlk 0x00000009
Flush 0x00000000

  • 2番目に接続したディスクだけの場合
BufferCfg 0x00002000
BlockSize 0x00000100
NumOfLogBlk 0x00000900
Flush 0x00000000

  • 2台のディスクに適用した場合(1番目と2番目)
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