エントリー

EPIAで使用したmicroSDカードのRW性能

  • 2012/12/02 17:32
  • カテゴリー:EPIA

EPIAでmicroSDの読み込みが遅いという現象が起きているのでメディアとして実際どうなのか性能を計測してみることにした

計測はWindowsXPにUSB2.0接続して「CrystalDiskMark 3.0.1」で実施
対象のファイルシステムは全てFAT32にした

2.5inch HDDの性能

まずは参考で比較するためにIDE 2.5inch 20GB HDD(HITACHI IC25N020ATMR04)をUBSアダプタ経由で計測

ws001

100エンショップのUSBアダプタは問題ないか?

EPIAで使用したKINGMAX microSD 4GB class4を、(左)100エンショップのUSBアダプタと、(右)ELECOMのUSBアダプタ(MR-A 39HSV)で計測

ws101ws102

意外にも100エンショップのUSBアダプタのほうが性能が良かった(Seqと512Kリードは上、他はほぼ同じ)

SDカード別の違いは?

持っていたmicroSDカードを100エンショップのUSBアダプタで計測

(左)KINGMAX 2GB(中)BUFFALO 4GB class4(右)SanDisk 8GB class2

WS201WS202WS203

ここでHDDと比較してみると
・SeqリードはHDDに敵わないが酷く差があるわけではない
・512Kランダムリードは遜色なく4KになるとmicroSDの方が早い
 HDDはseekのオーバーヘッドがありリードサイズが少ないと不利になることが判る
 ただしSanDiskの4Kリード性能は良くない(class2とclass4の差なのか?)
・ライトは全体的にHDDと比較にならないぐらい遅い
 Seqライトはまだ良い方でランダムになると4Kでは最高で200倍近もの差がある
 その中でSanDiskのランダムライトは優秀で他のmicroSDと比較しても2~90倍早い

メーカ3種のうちKINGMAXとBUFFALOは同じような傾向でSanDiskは傾向が異なる(class2とclass4の違いのせいなのか?)

classによる違いは?

手持ちがないので情報を求めて探してみると、こちらにTranscendの8GB SDカード(microSDではない)の結果があった
美味い具合にclass2,4,6,10を「CrystalDiskMark 3.0.1 x64」で計測している(SDカードであるがさほど変わらないだろう)

結果からTranscendの傾向はKINGMAXやBUFFALOと同じ様である
そしてclassが上がると性能は上がっているものの4Kランダムライトだけは大幅に下がっている
class2と4、class6と10は同じに思えるので、2つのclassとして比較すると性能が向上している分は2倍、4Kランダムライトは約40倍も低下しているわけだ(原因はキャッシュサイズの違いかと推測、もしくはSLCとMLCの違いでキャッシュサイズが異なるのか)

classは現在主流の利用用途に合わせた性能向上を優先させているように思える
R/Wで連続性を持つデジタルカメラや、外部媒体として利用されるだけの携帯やスマートフォンでは問題ないだろう
しかしタブレットや1ボードマイコンなどでPC的な使い方もする場合はカードを選んだほうが良いかもしれない
尚、他のメーカのSDカードも同様かどうかは不明である

余談だがclass6と10はまったく同じものと思われる、class10は後から追加された規格なので既にclass6がclass10の性能を満足してたからラベルを追加した、もしくはclass10を見据えてclass6を設計していたのではないだろうか

EPIA ME6000ではどうなのか?

microSDカードのR/W特性は判ったが、実機のEPIAではどうなのか気になりWindowsXPをインストールして「CrystalDiskMark 3.0.1」で計測してみた

(左)KINGMAX 2GB(中)USB HDD20GB(右)IDE HDD20GB

WS301WS302WS303

数値的には先に計測したデータと変わらないためUSBのハード的な問題も無いようだ

結論

HDDよりは下回るがアダプタを含めmicroSDカードの読み込み性能が悪いという事は無い

EPIAのmicroSDにfreeDOSをインストールする

  • 2012/11/28 23:56
  • カテゴリー:EPIAPC

FAT形式なら動作しそうなのでfreeDOSを試してみた

時間を費やしたくないので Creating FreeDOS USB boot stick for BIOS flashing を参考にしてWindowsXP64で起動メディアを作成した
使用するSDカードは KINGMAX microSD 2GB

手順

(参考)
 1.Delete all partitions on your stick
 2.Create one primary partition and mark it as active
 3.Format that partition using FAT32
 4.syslinux\syslinux.exe -fma X:
 5.xcopy usb-root\* X:\ /E/H/I
 6.copy your flash tool and flash binary into the flash\ folder
 7.Reboot
 8.press [Enter] at syslinux boot: prompt
 9.double press [Enter] while your asked to change date and time
10.your done! have fun!

(1)bootstick.zip をダウンロードして展開

(2)microSDに以下の処理を行う

 ①SDformatterでmicroSDを初期化
 ②syslinux\syslinux.exe -fma X:
 ③xcopy usb-root\* X:\ /E/H/I

(3)ME6000にmicroSDを装着して電源投入

1分以内に

SYSLINUX 3.72 2008-09-25 EBIOS Copyright (C) 1994.2008 H. Peter Anvin
boot:

Enter入力直後

Loading FreeDOS No KERNEL  SYS

で停止

001

20分待っても状況は変わらないため電源OFF
残念ながら予想に反して起動しなかった(原因追究はしていない)

microSDのパーティション構成

起動しないので電源OFFした後、パーティション構成を控えておこうとubuntuでfdisk

$ sudo fdisk -l /dev/sdd

ディスク /dev/sdd: 1917 MB, 1917845504 バイト
ヘッド 2, セクタ 1, シリンダ 1872896, 合計 3745792 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00000000

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1   *         149     3745791     1872821+   6  FAT16

すると、実行から完了(表示される)まで1分以上要した

$ dmesg
(略)
[  215.460032] usb 1-5: new high-speed USB device number 4 using ehci_hcd
[  215.597586] scsi3 : usb-storage 1-5:1.0
[  216.597053] scsi 3:0:0:0: Direct-Access     USB2.0   CardReader COMBO 0100 PQ: 0 ANSI: 0
[  216.603781] sd 3:0:0:0: Attached scsi generic sg3 type 0
[  216.767551] sd 3:0:0:0: [sdd] 3745792 512-byte logical blocks: (1.91 GB/1.78 GiB)
[  216.768797] sd 3:0:0:0: [sdd] No Caching mode page present
[  216.769303] sd 3:0:0:0: [sdd] Assuming drive cache: write through
[  216.769858] sd 3:0:0:0: [sdd] Attached SCSI removable disk
[  216.775044] sd 3:0:0:0: [sdd] No Caching mode page present
[  216.775562] sd 3:0:0:0: [sdd] Assuming drive cache: write through
[  216.778665] sd 3:0:0:0: [sdd] No Caching mode page present
[  216.779165] sd 3:0:0:0: [sdd] Assuming drive cache: write through
[  216.781090]  sdd: sdd1
[  396.785741] sd 3:0:0:0: timing out command, waited 180s
[  396.786236] sd 3:0:0:0: [sdd] Unhandled sense code
[  396.786242] sd 3:0:0:0: [sdd]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[  396.786253] sd 3:0:0:0: [sdd]  Sense Key : Hardware Error [current]
[  396.786264] sd 3:0:0:0: [sdd]  Add. Sense: Unrecovered read error
[  396.786275] sd 3:0:0:0: [sdd] CDB: Read(10): 28 00 00 39 27 f0 00 00 08 00
[  396.786297] end_request: I/O error, dev sdd, sector 3745776
[  396.786806] Buffer I/O error on device sdd, logical block 468222
[  576.825830] sd 3:0:0:0: timing out command, waited 180s
[  576.826331] sd 3:0:0:0: [sdd] Unhandled sense code
[  576.826337] sd 3:0:0:0: [sdd]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[  576.826347] sd 3:0:0:0: [sdd]  Sense Key : Hardware Error [current]
[  576.826358] sd 3:0:0:0: [sdd]  Add. Sense: Unrecovered read error
[  576.826370] sd 3:0:0:0: [sdd] CDB: Read(10): 28 00 00 39 27 f0 00 00 08 00
[  576.826392] end_request: I/O error, dev sdd, sector 3745776
[  576.826900] Buffer I/O error on device sdd, logical block 468222

I/Oエラーが発生したようだ
再度fdiskを行ったところエラーは発生せず直ぐに完了復帰したので一度外してfdiskすると同じエラーが発生した

$dmesg
(略)
[ 1491.921732] sd 4:0:0:0: timing out command, waited 180s
[ 1491.922216] sd 4:0:0:0: [sdd] Unhandled sense code
[ 1491.922222] sd 4:0:0:0: [sdd]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 1491.922232] sd 4:0:0:0: [sdd]  Sense Key : Hardware Error [current]
[ 1491.922243] sd 4:0:0:0: [sdd]  Add. Sense: Unrecovered read error
[ 1491.922255] sd 4:0:0:0: [sdd] CDB: Read(10): 28 00 00 39 27 f0 00 00 08 00
[ 1491.922277] end_request: I/O error, dev sdd, sector 3745776
[ 1491.922775] Buffer I/O error on device sdd, logical block 468222

壊れるにはちょっと早すぎるような・・・

MySQLを少しだけチューニング(その2)

以下のパラメータを追加

skip-innodb
wait_timeout = 60

InnoDBのOFFとConnection Timeoutの設定

EPIAのmicroSDにWindOSをインストールする

  • 2012/11/26 22:41
  • カテゴリー:EPIAPC

debianのインストールではSDカードをext3で扱ったが、標準であるFAT形式だとどうか確認したくなった

FAT形式が標準ということはメディアに対するR/Wも最適であろうと考えられる
また使用しているmicroSDでは処理しているかどうか判らないがウェアレベリングするならFAT形式でないと無理である

準備

再度debianを使うとインストールの手間がかかりそうなので、WindOS(Debian6.0"Squeeze"ベースで作られたLinuxディストリビューション)を利用することにした

WindOS 公式ホームページ
http://www44.atwiki.jp/windos/

debianで使用した4GBのmicroSDカードはSDformatterで初期化し直したが何度も書き換えしたため不安なので、今回は KINGMAX microSD 2GB(新品)を使用

インストール

インストールは公式ホームページの「使用方法」のとおりに行う
パーティションの構成は以下の様になった

$ sudo fdisk -l /dev/sdd

ディスク /dev/sdd: 1917 MB, 1917845504 バイト
ヘッド 4, セクタ 32, シリンダ 29264, 合計 3745792 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x000f3bea

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1   *           1      903167      451583+  83  Linux

WindOSの起動

USBから起動しブートCDは利用しない
電源投入でsyslinuxのメニュが表示され数分のちにWindOSも問題なく起動することができた

001003

003004

microSDの未使用領域を使う

WindOSを起動できたがこの状態ではデータが保存できないのでmicroSDの未使用領域を使えるようにした(persistent機能)
WindOS公式ホームページの「TIPS」に説明があるのでそのとおりに行っただけ
ファイルシステムはext2にして、そこに以下の画面スナップショットを退避させた

 ss

microSDカードへのR/Wはそこそこ使えるという性能で使い物にならないという感じではない
FAT形式ならば使えるのか?いやFAT形式でないと使えないのかもしれない

ユーティリティ

検索

エントリー検索フォーム
キーワード

新着コメント

Re:ATS-25を作製する
2025/03/23 from kazu
Re:ATS-25を作製する
2025/03/22 from admin
Re:ATS-25を作製する
2025/03/22 from kazu
Re:NOAA受信システム復旧
2025/03/20 from admin
Re:NOAA受信システム復旧
2025/03/16 from とおりすがり

過去ログ

Feed