4桁機用 SDHC ドライバアップデート

4桁機用のSDHCドライバを更新しました。→ダウンロードページ

mond さんからご指摘がありましたが、v2.0 では読み込み速度が遅いという問題がありました。今回のリリースでこの問題を修正しました。

原因は、SDHC対応が一部漏れていて、マルチブロック読み出しが全く使われない状態だったためでした。

また、調子に乗って若干の最適化を行ってみました。少しは Read 性能が上がっている・・・かも?

10MiBのデータを読み出す時間を測ってみました。

オリジナル

bash-2.05$ time dd if=/dev/mmcda of=/dev/null bs=1024 count=10240
10240+0 records in
10240+0 records out

real 0m3.340s
user 0m0.010s
sys 0m2.500s

v1.2

bash-2.05$ time dd if=/dev/mmcda of=/dev/null bs=1024 count=10240
10240+0 records in
10240+0 records out

real 0m3.369s
user 0m0.010s
sys 0m2.530s

v2.0

bash-2.05$ time dd if=/dev/mmcda of=/dev/null bs=1024 count=10240
10240+0 records in
10240+0 records out

real 0m12.478s
user 0m0.000s
sys 0m11.600s

v2.1

bash-2.05$ time dd if=/dev/mmcda of=/dev/null bs=1024 count=10240
10240+0 records in
10240+0 records out

real 0m2.855s
user 0m0.010s
sys 0m2.800s

v2.0 では4倍近く遅い結果になっています。

v2.1 は v1.2 以前に比べ、一応、トータルでは短くなっていますが、逆に system time が若干長くなったので、CPUをガンガン使うアプリではアプリの動きがちょっと鈍くなる可能性もあるかもしれないです。

ちなみに、SDHC カードを使っても性能向上はほとんど望めません。書き込みは多少早くなる可能性はありますが、ハードウェアの能力不足の影響の方が大きいと思います。

 

4桁機のリリースばかりで3桁機をお持ちの方はヤキモキしてると思いますが、対応は進んでいて、SDHCの読み書きはできるようになりました。ただ、今度は非SDHCカードがアクセスできなくなっていて、その原因を調査中です。

もう少しお待ちください。


SDHCドライバ現時点のまとめ

いやぁ、反響の大きさにびっくりです。
無線LANドライバとかWPA対応とかの時と同じ位か、それ以上ですね。

これだけ反響が大きいと、うれしい反面、少々恐くもあります。

元々32GB SD を持っていた方だけでなく、安くても約7000円、いいものであれば1万円以上するものを、買ってまで確認していただいた方もいらっしゃるようで、動かなかったときのことを考えるとちょっと恐ろしいです。

一応、出だしは好調のようですが、負荷をかけたり、いろんな使われ方をしているうちに問題が出てくる可能性もあり、そういったバグは再現しにくく、解決しづらい場合が多いので、まだまだ安心できません。

まぁ、ビビっていても先に進めないので、今のところの問題点や今後についてまとめてみたいと思います。

まずは動作状況から。ありがたいことに、今のところ不具合報告はありません or 解決済みです。

  • SL-Cxx00 – v2.0
    • SD – 1GB, 2GB, 4GB で今のところ問題なし
    • SDHC – 4GB, 8GB, 16GB, 32GB で今のところ問題なし
  • SL-C750/760/860 – v1.0
    • SD – 128MB, 256MB, 512MB, 1GB, 2GB, 4GB で今のところ問題なし
    • SDHC – 4GB で今のところ問題なし

 今のところわかってる問題点は以下の通りです。

  • 4GB以上のSD/SDHCに対してipkのインストール時に「アプリケーション追加先のメモリーが足りません」と表示される。 (SL-C3200を除く全ての機種)

これは以前、SL-C1000 で解析した 4GB SD にipk のインストールができない問題と同じです。空き容量の計算が大容量に対応していないためです。SL-C1000,3000の方は「qinstall修正パッチ」をインストールすることで解決します。

ipkがインストールできないのではSDHCの大容量も魅力が半減なので、そのほかの機種についても対応する予定で考えています。

今後についてですが、現在 SL-C750/760/860 用の 32GB 対応ドライバを開発中です。まだまだちゃんと動いてくれないので、もうちょっと時間がかかりそうです。

すでに困ってる人がいるという意味では、先にqinstall修正パッチを他の機種にも対応させた方がいいかもしれないですね。

ぼちぼち進めますので、少々お待ちください。


8GB SDHC認識 !?

またまたSDHC関係です。SL-C1000で4GBを超えるSDHCの認識に成功しました!

ただ、今回は前回とは違い、派手にバイナリパッチを当てているので、前回以上に危険です。

そのことを理解した上でお試しください。 → ダウンロードページ

8GB SDHCを認識
8GB SDHCを認識!!

今回の修正は以下の3点で行っています。

  • 容量計算処理
  • 読み込み処理 
  • 書き込み処理

しかも、それぞれSD, SDHC で処理が変わるので、修正したところ全てのルートを確認するのが結構難しいということもあり、一通り確認はしたつもりですが、正直、問題ないと言える自信はちょっとありません。

SL-C1000で以下のカードで確認を行いました。

  • GREEN HOUSE GH-SDCM1GC (miniSD 1GB)
  • アイオーデータ SDMC-2G (microSD 2GB)
  • Transcend TS4GSDC (SD 4GB)
  • Transcend TS4GSD133 (SD 4GB)
  • Sandisk SDSDQ-4096 (microSDHC 4GB)
  • A-DATA SDHC8GB (SDHC 8GB)
  • PCI PL-SDHC08G (SDHC 8GB)

確認した項目は以下です。

  1. 挿入後SDカードアイコンが表示されること
  2. 容量が正しく認識されていること
  3. あらかじめPCで書き込んでおいたファイルが見えること
  4. 上記ファイルを別名でSDにコピーし、エラーが出ないこと
  5. とりはずしてPCにて、コピー前と後のファイルをコンペアし、差分がないこと

また、8GB SDHC については、7GBと1GBの2つのパーテーションを作成し、後半の1GBに対してもマウント、ファイルの読み込み、ファイルの書き込み、アンマウントが問題なくできることを確認してます。

8GB以上の容量については持っていないので確認できてませんが、原理的には 32GB も認識できるハズです。

人柱になってもいいという方は、試していただけるとありがたいです。

そのときは動いても動かなくてもコメントいただけるとうれしいです。よろしくお願いします。