3 月 15
パフォーマンス グゥ~!な1プラッタ320GB採用の3.5インチHDD (ASCII.jp)
T-ZONE.PC DIY SHOP に CrystalDiskMark 2.1 による WesternDigital「WD3200AAJS-B4A」 のベンチマーク結果が貼ってあるそうなのでメモ。1.0/2.0 では大変ご迷惑をおかけしましたが、こうやってお店で貼ってあるのはうれしいものです。
それにしても、1 台で 100 MB/s が達成できる時代が到来したんですねぇ~。シミジミ
3 月 15
一目惚れだった…。
あなた(*)に出会えた幸運に感謝いたします。
*コンピュータアーキテクチャ 定量的アプローチ 第4版
ほんのちょびっとだけ高いけど、コンピュータ好きな大学生なら間違いなく買い!!絶対買い!!飲み会2回我慢すれば買えます。一生懸命バイトすれば買えます。こんな本が日本語で読めるなんて幸せすぎます(原著で読めるほどの英語力はないし)
ちょっと重いけれど、しばらくは毎日の通勤時間が有意義に過ごせそうな予感♪
それにしても、コンピュータの性能をここまで定量的に評価しているとは… CrystalMark の浅さときたら…。
3 月 15

【ひとりごと】
- SSD への期待感に比べて ハイブリッド HDD への期待感はあまり高くないような気もするのですが、ATA8-ACS を眺めていたらハイブリッド HDD に関する情報が増えていたので勢い良く対応してみることにしました。例によって動作確認しようがないので、皆さんのレポートお待ちしています。
- Automatic Acoustic Management のコントロールには今のところ対応予定はありません。他のソフトでコントロールしてくださいな。
【更新内容】
- モデル名が取得できない HDD を非表示にするようにしました。(IDENTIFY_DEVICE がまともに実行できていないということなので)
- IDE/SCSI コントローラとその配下に接続されている HDD, CD/DVD-DRIVE などを表示する機能を搭載(テキストコピーした際にしか見えませんが…)
- HDD が対応している機能を表示するようにしました。
現在サポートしているのは
- S.M.A.R.T : Self-Monitoring, Analysis and Reporting Technology
- 48bit LBA :
- AAM : Automatic Acoustic Management
- NCQ : Native Command Queuing
- NV Cache :
です。有名どころかつ有用な機能を選んでみました。
- NV キャッシュサイズの容量取得に対応しました。
⇒ 私は、ハイブリッド HDD を持っていないので、動作確認よろしくお願いいたします。
- IDENTIFY_DEVICE 用の構造体に ATA8-ACS で規定された内容を反映させました。
- テキストコピー機能を修正(コントローラマップ機能や表示順序等)
- 1 台も HDD が見つからなかったときのエラー処理を追加(今まではアクセス違反が発生していたような…)
【制限事項】
- S.M.A.R.T が無効の HDD に対して強制的に S.M.A.R.T を有効にする機能は未実装です。
- HDD の通電時間の単位を誤認識する可能性があります。
⇒ 対策検討中…
【仕様】
- 外付け ATA/RAID ボード接続の HDD には基本的には未対応です。
⇒ 出来る限りの対応はしたいと考えていますが…
- RAID には未対応です。
⇒ RAID ボリュームに組み込まれた HDD は多くの場合見えないようです。
- 外付け HDD (USB/IEEE 1394) には未対応です。eSATA はコントローラ次第です。
【S.M.A.R.T って何?】
【Beta テスト協力のお願い】
◇CrystalDiskInfo 報告ツリー 其の参 (Beta1以降) (報告板)
- 動作しない場合はもちろんのこと、動作した場合も貴重な情報ですので、動作報告をお願いいたします。
- 皆様のご意見ご要望をお待ちしております。
【ダウンロード】
- 実行ファイル (x86 - NT - Unicode)
ソースコード(超暫定版:上記 実行ファイル に含まれるリソースが必要です)
未整備です。どうしてもという方向けです。正式版はもう少しマシになる予定です。
【今後の予定】
- デザイン調整
- アイコン作成
- S.M.A.R.T 項目の翻訳
- ソースコードのブラッシュアップ
- HDD が 1 台も見つからなかった際の処理(どうしたものか…)
3 月 14
今日は新バージョンをリリースできるほどの進捗はありませんでしたが、WMI を駆使して IDE/SCSI コントローラとその配下のデバイスを把握する機能を実現することが出来ました。今まで、レポートを頂いていてもどの HDD がどのコントローラの配下に接続されているかがわからず困ってしまうこともありましたが、次のバージョンからはその心配からも開放されそうです。
階層構造をうまく表現するための改良は明日行う予定です。

3 月 14
オープンソースしていると良いこといっぱいありますね。今日は、先日から色々やり取りしている某 CPU ベンダの方から WinRing0 のパッチが届きました。このパッチをベースに更にエラー処理を充実させて、今月中に WinRing0 1.5 としてリリースする予定です。 (コード修正よりマニュアル修正の方がずっと大変だ…)
別の方から libpng + zlib のバージョンが古すぎるんじゃ…というツッコミを頂いたので重い腰を上げようかなと。簡単にライブラリをビルドできると良いのですが。
CrystalDiskInfo は 1.0 としてリリースしたいと思います。色々思うところはありますが、正式版にしないことには十分なフィードバックも得られそうにありませんし…。多少時間を空けて、OpenLibSys を開発する際に多少ブラッシュアップするぐらいでちょうど良いのかなと。ソースコードはもうすこし改善したいとは思いますが。
【できるだけ早くリリース予定】
- CrystalMark 2004R3 0.9.125
libpng + zlib の更新(取り組むのが遅すぎる…
【3/31 リリース予定】
- CrystalDiskInfo 1.0
- WinRing0 1.5
というわけで、CrystalCPUID 5 -Estel- の開発は綺麗さっぱり来月以降ということで。ホント申し訳ない。
最近、”WinRing0″ や “OpenLibSys” というキーワードで良く検索しているのですが、それなりに話題になっているようですね。WinRing0 を使ったソフトも徐々に増えてきましたし、CrystalCPUID 5 -Estel- をリリースすれば、少しは知名度も上がるでしょうから来年度は飛躍の年になりそうです。というか、そうなることを期待しています。
残念ながら、WinRing0 を使ったオープンソースプロジェクトはあまり見当たらないわけですが、CrystalCPUID 5 -Estel- / OpenLibSys.org をオープンソースで公開すれば触発されて、オープンソースなプロジェクトが増えてくれるんじゃないかなぁ~と夢想しています。それにしても、このカテゴリーはオープンソースなプロジェクトがなかなか増えませんねぇ。
ひょっとして、WinRing0 が GPL だったらこんなことには…まぁ、私自身が GPL なライブラリと .h と .lib で構成された(つまりソースコードがついていない)ライブラリは使いたいと思わないのでライセンス変更はないと思いますが。
とまぁ、日記をダラダラ書いていても仕方がないのでコードを書こう。コードを。
3 月 13
最近平日もがんばりすぎている感じなので今日はスパッと開発休養日です。
週末は、CrystalDiskInfo の最終調整を行い正式版候補をリリースしたいと思っています。
3 月 13
某 CPU ベンダの方から指摘を受けて、WinRing0 の API を再確認したのですが、ReadPciConfig* を始め、エラーの通知方法に問題があるということを再認識しました。現在は、エラーが発生した場合 0xFF, 0xFFFF, 0xFFFFFFFF を返す(実は、マニュアルに書いてません…)ため、実際にその値が読み込めたのかエラーが発生したかを区別することができません。この仕様は、PCI Debug Library for Win32 と合せたのですが、改めて PCI BIOS などの資料を読み返してみると問題ありな感じです。
これから他の API も含めて一貫性のあるエラーコードの返し方を検討したいと思います。既存のコードとの互換性を確保するため、エラーコードの取得に対応した API には Ex を末尾につける等の方針で対処したいと思います。
また、InitializeDll と UninitializeDll は API 名が不適切なため変更する予定です。InitializeOls と UninitializeOls かな。
一応、今年度内のリリースを予定しています。
【2008/3/13 7:30 追記】
- 寝ながら考えたのですが、エラーが発生したときに 0xFF, 0xFFFF, 0xFFFFFFFF を返すこと自体は何も問題がありませんね。エラーが発生した場合不定値が返るよりはすっきりします。問題は、エラーが発生しているかどうかを判断する手段がないことでした。
- 基本的に、PCI デバイスが存在し、適切なコンフィギュレーション空間へのアクセスであれば、(根拠はありませんが)失敗することはあまりないと思うので問題が発生することは少ないとは思います。
- 返り値はひとつの値しか返せませんが、PCI BIOS は複数のレジスタを活用して、取得した値やエラーコードを同時に通知しているので、このような問題が起こるのは仕方のないことかもしれません。
- 実際、エラーコードが引数経由で取得できるよう変更したところで value = PciConfigRead(); な使い方が多くなりそう。
3 月 12

見た目は Beta2 と同一です。
【ひとりごと】
- HDD 検出部については、今回のバージョンで見えないものは正式版でも見えない…ということになりそうです。
- 正式版公開前に動作する ATA(IDE)/SATA/RAID コントローラのリストを作成したいと考えております。既に評価用に外付け RAID ボードを 2 枚購入しましたが、評価目的の購入にも限度がありますので、皆様のご協力お願いいたします。
【更新内容】
- 通常の HDD 検索処理のあとに PhysicalDrive0-31 および Controller0-15 の ポート 0-7 に対して HDD の存在確認をするようにしました。
何も存在しない場合はすぐにエラーが返ってくるので(定量的な評価はしていませんが…)それほど処理時間はかからないようです。残念ながら、この方法で見つけた HDD については、ドライブレターを表示することができません。もちろん、重複チェック(Model + Serial Number)をしており、通常の方法で見つからなかった HDD のみリストアップされます。
- テキストコピー機能を修正(IDENTIFY_DEVICE 情報のダンプ部)
- HDD 容量を小数点 1 桁表示に戻しました。(四捨五入ではなく下二桁目を切り捨てています)
【制限事項】
- S.M.A.R.T が無効の HDD に対して強制的に S.M.A.R.T を有効にする機能は未実装です。
- HDD の通電時間の単位を誤認識する可能性があります。
⇒ 対策検討中…
【仕様】
- 外付け ATA/RAID ボード接続の HDD には基本的には未対応です。
⇒ 出来る限りの対応はしたいと考えていますが…
- RAID には未対応です。
⇒ RAID ボリュームに組み込まれた HDD は多くの場合見えないようです。
- 外付け HDD (USB/IEEE 1394) には未対応です。eSATA はコントローラ次第です。
【S.M.A.R.T って何?】
【Beta テスト協力のお願い】
◇CrystalDiskInfo 報告ツリー 其の参 (Beta1以降) (報告板)
- 動作しない場合はもちろんのこと、動作した場合も貴重な情報ですので、動作報告をお願いいたします。
- 皆様のご意見ご要望をお待ちしております。
【ダウンロード】
- 実行ファイル (x86 - NT - Unicode)
ソースコード(超暫定版:上記 実行ファイル に含まれるリソースが必要です)
未整備です。どうしてもという方向けです。正式版はもう少しマシになる予定です。
【今後の予定】
- デザイン調整
- アイコン作成
- S.M.A.R.T 項目の翻訳
- ソースコードのブラッシュアップ
- HDD が 1 台も見つからなかった際の処理(どうしたものか…)
3 月 11

見た目は Beta2 と同一です。
【ひとりごと】
- 3/31 の正式公開時のバージョンをどうするかは検討中です。0.5? or 1.0?
- CrystalDiskInfo に限らずフィードバックを容易にもらえるような仕組みを用意したい。
【更新内容】
- 環境によっては WMI で Model 名が取得できないことが判明したため、WMI から Model 名が得られない場合も表示するように変更(Beta1-Beta3 では、環境によっては何も表示されないことがありました。)
【制限事項】
- S.M.A.R.T が無効の HDD に対して強制的に S.M.A.R.T を有効にする機能は未実装です。
- HDD の通電時間の単位を誤認識する可能性があります。
⇒ 対策検討中…
【仕様】
- 外付け ATA/RAID ボード接続の HDD には未対応です。
- RAID には未対応です。
- 外付け HDD (USB/IEEE 1394) には未対応です。eSATA はコントローラ次第です。
【S.M.A.R.T って何?】
【Beta テスト協力のお願い】
◇CrystalDiskInfo 報告ツリー 其の参 (Beta1以降) (報告板)
- 動作しない場合はもちろんのこと、動作した場合も貴重な情報ですので、動作報告をお願いいたします。
- 皆様のご意見ご要望をお待ちしております。
【ダウンロード】
- 実行ファイル (x86 - NT - Unicode)
ソースコード(超暫定版:上記 実行ファイル に含まれるリソースが必要です)
未整備です。どうしてもという方向けです。最終版はもう少しマシになる予定です。
【今後の予定】
- デザイン調整
- アイコン作成
- S.M.A.R.T 項目の翻訳
- ソースコードのブラッシュアップ
- HDD が 1 台も見つからなかった際の処理(どうしたものか…)
3 月 11
【修正点】
- OlsApi.h の WrmsrEx において “DWORD_PTR affinityMask” とすべきところを “DWORD affinityMask” としていた不具合を修正。OlsApi.h を使用していない方には影響がありません。 (Thanks インテルの中の人)
【ひとりごと】
やっぱり、オープンソースしていると良いことあるな。ちなみに、通常なら型の不一致の警告が出てくれそうなものですが、.DEF でエクスポートしているため警告が出てくれず気がつきませんでした。
なんというか、自分が思っている以上に公開したソースコードは読まれているんだなぁ…