USB メモリ速度比較

前回の結果に、USB 3.0 メモリ(バッファロー RUF3-C8G-GR)を追加。USB 3.0 ポートと USB 2.0 ポートの両方に接続して測定。測定条件は 100MB×5。

なお、USB メモリではなく、SD/SDHC カードの速度比較はこちら

USB メモリ発売時期USBSeq/RSeq/W4K/R4K/WCDM
イメーション Swivel Pro Flash Drive (1GB)2005/12?2.010.635.4373.9420.0212.2
エレコム MF-NU204GWH (4GB)2007/112.018.1612.885.0420.0182.2
グリーンハウス PicoDrive DUAL X GH-UFD8GDX (8GB)2009/122.031.87213.1654.7680.5273.0
京王電鉄 9000 系 USB フラッシュメモリー (1GB)2009/042.012.662.0933.6720.0252.2
SanDisk cruzer colors+ SDCZ23-008G (8GB)2008/08?2.025.909.2614.5140.0142.2
Transcend JetFlash V30 TS2GJFV30 (2GB)2006/05?2.019.6125.0433.8330.0193.0
バッファロー RUF-C256M/U2 (256MB)2003/08?2.07.8676.9063.4360.2002.2
バッファロー RUF-C1G/U2 (1GB)2003/08?2.018.4712.835.0450.1822.2
バッファロー RUF2-K2GE-WH (2GB)2009/062.020.0910.274.1610.0192.2
バッファロー RUF3-C8G-GR (8GB)2011/093.091.3815.348.9670.1883.0
2.034.5814.245.9320.1553.0

【凡例】
  • USB……USB 2.0 接続 or USB 3.0 接続
  • Seq/R……シーケンシャルリード速度 [MB/s]
  • Seq/W……シーケンシャルライト速度 [MB/s]
  • 4K/R……4KB ランダムリード速度 [MB/s]
  • 4K/W……4KB ランダムライト速度 [MB/s]
  • CDM……CrystalDiskMark のバージョン

やはり USB 3.0 は速い。


バッファロー RUF3-C8G-GR の結果写真。
RUF3-C8G-GR (USB 3.0)RUF3-C8G-GR (USB 2.0)



Haiku at GSoC 2012

今年も、Google Summer of Code に Haiku が選ばれた。

Haiku のテーマは、
  • cpuidle のサポート
  • NFS バージョン 4 クライアント
  • BFS パーティションのリサイズ
  • OpenJDK の移植
  • 64 ビットサポートの導入
の 5 つで、内容は JPBE.net の記事にまとめておいた。

以下、感想など。
  • Haiku で省電力機能がフルサポートされるのは嬉しい。ただ、SpeedStep は既にサポートされているように原文が読めるけど、本当か?
  • NFS よりも CIFS(Windows 共有)のサポート(GUI 含め)を優先してくれる方が嬉しいな。CIFS はサポートされたりされなかったりの繰り返しなイメージがあるんだけど、今はサポートされてるっけ?
  • BFS Partition Resizer が来たら、USB ブートの 600MB 制限も(インストール後にリサイズすることにより)回避できるのかな?
  • Java はどうなんだろうなぁ……。使ってる Java アプリって、NicoCache くらいしか思いつかない。移植は結構大変そうだから、その労力を別の所に使う方が実り多い気もする。
  • 64 ビット化キタ!
  • WiMAX(インテルチップ)のサポートや、Wi-Fi WPA/TKIP のサポートを誰かしておくれ……。ネットに繋がらないパソコンは価値が無い。

USB 3.0 機器を導入した(with トラブル)

ヨドバシに行ったら、USB 3.0 メモリが 8GB 1,480 円で売られていた。60MB/s のスピードが出ると書いてあったので、安さもあってつい買ってしまった。PC の USB 3.0 ポートが背面にあるので、USB 3.0 ハブも同時購入。

実際の速度はどのくらいかな? とわくわくしながら USB 3.0 メモリをパソコンに挿してみたが、なんと認識しない。ポートに挿すとアクセスランプが少しの間点滅するのだが、ドライブとして認識されない。ハブ経由をやめて USB ポート直挿しにしてみても症状は改善せず。

USB 3.0 メモリを、USB 2.0 ポートに挿すと使えた。また、USB 3.0 ポート+USB 3.0 ハブに、USB 2.0 メモリを挿しても使えた。なので、USB 3.0 メモリや USB 3.0 ハブが根本的に壊れているというわけではないらしい。

PC の環境はマザボが P7P55D-E、OS は Windows 7 64 ビット。ネットを見ていると、USB 3.0 コントローラーのファームウェアをバージョンアップすると解決するという事例があったので、ASUS のサイトで「NEC USB3.0 Controller firmware updater V3.0.2.1 for Windows XP / Vista / Win7 32&64bit」をダウンロード&インストール。しかし解決せず。

マザボの BIOS がだいぶ古く、更新履歴を見てみると USB 関連の fix もあるようなので、最新の 1504 にしてみた。ASUS は BIOS アップデートが簡単で、解凍した BIOS イメージを USB メモリに入れ、BIOS セットアップメニューから BIOS アップデートツールを起動し、USB メモリの BIOS イメージを読み込めば良い。

が、ここで一大トラブル発生。なんと Windows 7 が起動不能に。BIOS の設定をデフォルトにしても、外付けの機器を外しても起動不能。自動修復も効かず。

BIOS をダウングレードして元に戻そうと、BIOS アップデートツールを起動し、別の PC でダウンロードした古い BIOS をセットしてみたところ、「BIOS のバージョンが現在よりも古い」と言われてダウングレードできない。バージョン古いのは知ってるんだってば! 古いのにしたいんだってば! ASUS さん、ダウングレードにも対応して下さい……。

セーフモード(F8 キー起動)で Windows を起動しても起動しないが、ログを眺めていると、バッファローの RAM ディスクドライバ(Windows\System32\Drivers\BFRD4G.sys)で起動が止まっている。どうやらこれが起動不能の原因らしい。Haiku OS R1/Alpha 3 を USB メモリで起動し、当該ドライバファイルを削除したところ、無事に、Windows 7 が起動。一旦、再度 RAM ディスクドライバをインストールした後、再起動せずに直ちにアンインストールすることにより、正式に RAM ディスクドライバをアンインストール。

しかし、トラブルは乗り越えても、依然として USB 3.0 メモリが使えない。

が、USB ドライバのインストールでようやく解決。Windows 曰く、USB ドライバは最新とのことだったので、ASUS のサイトのドライバを入れてもダメだろうな、と思っていたが、「NEC Electronics Corporation USB3.0 Controller Driver V1.0.19.0 for Windows 32/64bit XP & 32/64bit Vista & 32/64bit Windows 7.(WHQL)」をインストールすることにより、USB 3.0 メモリを認識できるようになった。

やれやれ。

RUF3早速、USB 3.0 ポートに USB 3.0 ハブと USB 3.0 メモリ(バッファロー RUF3-C8G)を挿して、USB 3.0 メモリの速度を測ってみた。

すると、なんと 91MB/s の速度を達成! 公称は 60MB/s なので、実に 1.5 倍の速度が出ている。

シーケンシャルリードは HDD の速度に近く、ランダムリードは HDD を遙かに超えてどちらかというと SSD の領域。ライトは遅いけれども。

RUF3-2同じ USB 3.0 メモリを、USB 2.0 のポートに挿して速度を測ってみた。

当然ながらスピードはがくっと落ちる。やはり USB 3.0 は速い。

Delphi 用 RS-232C コンポーネントを C++Builder XE で使う

Delphi(および C++Builder の旧バージョン)で手軽に RS-232C(COM ポート)を使うためのコンポーネントに ComPort Library(TComPort)がある。C++Builder XE でも何とか動作したので、やり方を整理しておく。

【実行時パッケージの作成】

  • すべてのプロジェクトを閉じた状態で、[ファイル→プロジェクトを開く]メニューにて、ComPort Library の Source フォルダにある CPortLibCB6.bpk(C++Builder 6 用)を開く。
  • 自動的にプロジェクトが C++Builder XE 用に変換される。
  • ビルド構成を Release にする(右側のプロジェクトマネージャーペインで選択)。
  • メイクすると、CPortLibCB6.bpl ができあがる。


【設計時パッケージの作成】

  • [ファイル→プロジェクトを開く]メニューにて、DsgnCPortCB6.bpk を開く。
  • 実行時パッケージと同様にメイクし、DsgnCPortCB6.bpl を得る。

【パッケージのインストール】

  • CPortLibCB6.bpl を Windows のシステムライブラリフォルダ(Windows 7 64bit なら C:\Windows\SysWOW64)にコピーする。
  • [コンポーネント→パッケージのインストール]メニューにて、追加ボタンをクリックして DsgnCPortCB6.bpl を追加する。デフォルトにチェックを入れると毎回設定しなくて良いだろう。

【ComPort Library を利用するアプリケーションのメイク】

  • ツールパレットペインに「CPortLib」タブが増えていて、その中の TComPort をフォームに貼り付ければ RS-232C にアクセスできるようになる。
  • [プロジェクト→オプション]メニューで、ディレクトリと条件定義→ライブラリパスに、CPortLibCB6.bpl/DsgnCPortCB6.bpl のパスを追加する。
  • [プロジェクト→オプション]メニューで、ディレクトリと条件定義→条件定義に DONT_USE_WINSPOOL_SETPORTA を追加する。
  • winspool.h(include\windows\sdk 等にある)を開き、SetPortA/SetPortW を宣言している箇所を、#ifndef DONT_USE_WINSPOOL_SETPORTA~#endif で挟む
  • CPort.hpp をインクルードする。
  • CPort.hpp を開き、inline じゃない方の EComPort() の宣言 2 つをコメントアウトする。

以上でビルドができる。



≪参考≫

GPS ロガーと Portmon for Windows

GPS ロガー(GT-730FL-S)のデータを自力で取ってこれたら面白いかも、と思ったのだが、どういうコマンドを出せば良いのかが分からない。

GT-730FL-S のデータシート PDF を見ると、「See Binary Message Protocol User’s Guide for detailed descriptions」と書いてあって、それを見ればプロトコルが分かりそうなのだが、User's Guide を見つけることができなかった。

仕方がないのでデータの流れをモニターしてみようかと思ったら、ツールを動かすまでにすでに一苦労。最終的には動いたが……。

COM ポート(シリアルポート)に流れるデータをモニター(キャプチャー/スニファ/スパイ)する Portmon for Windows というツールを Microsoft が配布している(フリーのツール)。

Portmon_AfterLaunch現時点での Portmon のバージョンは 3.03。起動すると、管理者権限を要求された後にウィンドウが開く。

Microsoft のサイトには、「実行すると、すぐに Portmon でデバッグの出力のキャプチャが開始されます」と書いてあるが、起動しても、タイトルバーに「Not Connected」と表示されてキャプチャされる気配が無い。「Capture Events」メニューもグレーアウトされているし、ポートも選択できない。

Windows 7/64 bit に対応していないのかもしれない(少なくとも旧バージョンは対応していない)と思って、VMWare の Windows XP で動かしてみたけど、結果は同じ。

他のサイトの説明だと、まず「Computer」メニューでローカルマシンに接続する必要があると書いてあるのだが、そもそも Computer メニューが無い。バージョンアップして無くなったのだろう。しかししそれでは、一体どうやってローカルマシンに接続するのか……。

というわけで、Ver 3.03 の使い方をご存じの方は教えて下さい……。

Ver 3.03 は諦め、ここに置いてあった Ver 3.02 を動かしてみた。

今度はちゃんと「Computer」メニューがあるが、Windows 7/64bit だと、「Connect Local」しようとすると「Error 6」と表示されて接続できない。

そこで、VMWare の Windows XP 上で Portmon を使うことにする。

  1. VMWare の仮想マシンメニューの取り外し可能デバイスで、「Prolific usb-serial controller d」を接続する→仮想マシンで USB ブリッジ COM ポートが使えるようになる
  2. デバイスマネージャーで USB ブリッジ COM ポート(Prolific USB-to-Serial Comm Port)の通信速度を 38400 にする
  3. Portmon 3.02 を起動する。
  4. [Capture→Ports→(Prolific ポート)]で USB ブリッジ COM ポートのチェックを入れてキャプチャ対象にする
  5. [Capture→Capture Events]でキャプチャを開始する
  6. GT-730FL-S の電源を入れて、物理マシンの USB ポートに挿す
  7. GPS Photo Tagger で GT-730FL-S にアクセスすると、Portmon に通信内容が溜まっていく
Portmon_XPようやく準備ができた……。

ちなみに、XP には PL-2303 ドライバは入れなくても大丈夫なのではないかと思う(試行錯誤の中で入れてしまったが)。



カウンター


カンパのお願い
Amazon でお買い物の際は、下記で検索して頂けたら幸いです。
記事検索
最新コメント
  • ライブドアブログ