驚異の小宇宙・人体 CrystalDiskInfo 2 -Earthlight- Dream#12a
9月 15

【お詫び】
CrystalDiskMark 2.1 においてテストサイズを 500/1000MB に設定した場合に Random Read/Write 4KB テストにて前半の 134MB しか使用しないという重大な不具合がありました。(ななしさんによるバグ報告

1.0/2.0 に引き続き、2.1 にもバグが残存していたため、非常に多くの方々にご迷惑をおかけすることになってしまい誠に申し訳ございません。大変お手数をおかけいたしますが、2.2 以降へのアップデートをよろしくお願いいたします。

◇不具合の内容◇

Random Read/Wirte 4KB テストにおいてファイルポインタを変更するために使用している rand() 関数は32767 以下の値しか返さないため、最大でも 32767*4096=134213632 以下の値しか SetFilePointer() に渡されませんでした。そのため、意図せず前半の約 134MB しかテストで利用されず、本来の結果よりも(キャッシュ等の影響を受けるため)良好な結果が得られていた可能性があります。

この問題は、CrystalDiskMark 1.0 正式版リリース当初から存在しておりました。

◇影響範囲◇

  • テストサイズを 500/1000MB に設定した場合における Random Read/Write 4KB のみ問題があります。
  • Sequential Read/Write および Random Read/Wirte 512KB は問題ございません。

【改善策】

上記不具合を修正した 2.2.0 をリリースいたします。

  • rand() を George Marsaglia 氏による xor128() に置き換えました。

Xorshift RNGs (http://www.jstatsoft.org/v08/i14/paper)
   George Marsaglia
   The Florida State University

【2.1.6 からの変更点】

  • 上記不具合の修正

【ダウンロード】

7 Responses to “CrystalDiskMark 2.2.0”

  1. kyonkyon Says:

     始めまして、CrysitalDiskMark21をいつも活用させてもらっております。
    もう少し早く連絡すれば良かったでしょうか。。。残念。

    1)CrystalDiskMark21に弊社のフリーの乱数発生プログラムを組み込み
     ました。これは、完全32ビットの乱数を生成するようにしています。
     たぶん、この版はrand() 関数は32767の壁はないと思います。
     rand()をうちの32ビット乱数に差し替えています。
     最大ゼロ~4Gまでの値を返します。

    2)乱数生成プログラムはフリー版をDLLの形でインポートしています。
    3)ソースコードも添付していま、うちのサイトでダウンロードを開始しています。

           ***

     当方ではSRG-SDK Primeという乱数パッケージの応用アプリとして作りました。
     また、WebではEee PCのベンチマークをとりエクセルでグラフしたいという要望もあり手を加えた経緯があります。

     もしよろしければ、ご利用ください。SRG-SDK Primeの無料配布版は、rand()の差し変えてでそのまま使えると思います。

  2. kyonkyon Says:

     失礼。具体的に紹介しているページが不足していました。
    ここで書いています。ページ最後でダウンロードするようにしています。
    http://eeepc.dnki.co.jp/?eid=855760

     アンケートに答えてもらう形をとっておりますが、連絡をいただければメール等にて直接送付いたします。

     CrystalDiskMarkのソースコードを公開していただきましてありがとうございました。

  3. hiyohiyo Says:

    どういたしまして。
    エクセルでグラフ化というか、もっと粒度を細かくチェックしたいという需要は確かにあるんでしょうね。

    CrystalDiskMark 自体の更新はよほどのことがない限り、当面行なわない予定です。ですので、乱数生成エンジンは当面 2.2 で採用したものを使用し続けるつもりです。ごめんなさい。

    ただ、せっかくですので改造版のダウンロード方法をメールで教えてください。

  4. kyonkyon Says:

     こんにちわ。
    さきほど、メールでダウンロード方法を送付しました。

     乱数はもう少し早く連絡を取れば良かったですねえ。。。8月くらいに好奇心で組み込んでいた記憶があり。。。あれやこれやで後廻しにしていてい、、、複数のPCのベンチマークが大変でこれは、CSV吐き出ししないとシンドイとなり遅れ遅れで作った経緯があります。

     こんごともよろしくお願いします。
     

  5. SSDが欲しい人 Says:

    CrysitalDiskMarkをいつも使用させていただいております。
    早速ですが、教えてください。
    テストファイルサイズ100MBに設定して測定した場合

    <Seq>
    LBA0から100MB分のセクタまでのread、writeを実施。

    512K
    LBA0~MAXのセクタにランダムに512Kサイズごとにread、writeを実施。

    4K
    LBA0~MAXのセクタにランダムに4Kサイズごとにread、writeを実施。

    と考えて問題ございませんか?

  6. hiyohiyo Says:

    > SSDが欲しい人 さん
    CrystalDiskMark は、ファイルを生成するタイプのベンチマークソフトなので、どの LBA にファイルが生成されるかはアプリケーションからは把握できません。
    その時の状況に応じて OS が空いている領域にファイルを生成します。
    そのため、HDD の場合ディスクにたくさんデータが入っていたり、生成されたファイルが断片化している場合など測定結果が劣化します。

    LBA0~MAX タイプのベンチマーク機能は HDTune に搭載されています。ただ、書き込みテスト=内部データ全滅 なのでテストの際は細心の注意を払ってください。英語だからと言って適当に OK すると……

  7. 井阪利春 Says:

    初めて使用します

Leave a Reply