エントリー

EPIAにHDDをUSB接続してdebianを試す

  • 2012/12/05 22:32
  • カテゴリー:EPIAPC

microSDカード単体の性能ではあるが読み込みだけに限ればHDDと大差ないことが判明
しかしmicroSDカードで起動確認していると非常に時間がかかるため、HDDをUSB接続して正常に起動するようにしてmiscroSDカードを試すことにした

既にIDEでインストールしたHDDをUSB接続で起動するとmicroSDカードと同じ「out of disk」で起動しない
BIOSではIDEのLBA設定もあるしCDからのbootも可能なので拡張INT13Hであるはずなのだが・・・
USB接続の(FD, CDを除く)デバイスの場合、BIOSで読み込める範囲が限られている

しかたがないのでbootパーティションを分けて作りインストールすることにした

ここで悩んだのがbootパーティションのサイズである
読み込める範囲は何に依存しているのか、debianのドライバー経由になるので正確ではないがfdiskでそれぞれのCHSの値をみる(EPIAでCDレスキューでfdisk)

IDE接続
Disk /dev/sda: 20.0 GB, 20003880960 bytes
255 heads, 63 sectors/track, 2432 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
USB接続
Disk /dev/sda: 20.0 GB, 20003880960 bytes
64 heads, 32 sectors/track, 19077 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

IDE接続とUSB接続ではCHS数が異なる
またIDE(ATA規格)ではCylinder:16bit、Head:4bit・Sector:8bitなので上記の値はジオメトリ変換されているのか?
これをIDEとBIOSのCylinder:10bit、Head:8bit、Sector:6bitでマスクしてみると、Cylinder値MAX1024、Head値MAX16なので、1024*16*32*512=268,435,456(256MB)となる

とりあえず256MBでbootパーティションを作りインストール

結果は「out of disk」で起動せず

256MBで駄目か・・・CHSからは算出できそうにない

ちなみにmicroSDカードは以下の値である

Disk /dev/sdb: 1917 MB, 1917845504 bytes
2 heads, 1 sectors/track, 1872896 cylinders
Units = cylinders of 2 * 512 = 1024 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

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の設定

ユーティリティ

検索

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

新着コメント

Re:SDRplay社RSP1クローンを購入
2025/05/25 from 匿名希望
Re:Mozilla FirefoxではNHKプラスを再生できない件
2025/05/09 from Donabeyaki
Re:ATS-25を作製する
2025/03/23 from kazu
Re:ATS-25を作製する
2025/03/22 from admin
Re:ATS-25を作製する
2025/03/22 from kazu

過去ログ

Feed