Raspberry Pi SSD(KingSpec 64GB)を試してみる

Raspbian Strechのリリースから約1年になりますが安定度や起動の速度など以前と比べるとずいぶん改善されているように思います。

現行Pi3の足かせはマイクロSD、USB2.0そしてメモリ容量でしょうか。(マイクロSDは同時にメリットでもあるのですが)

今回は次期PiのUSB3.0を期待してマイクロSDの代わりにSSDを使ってみることにしました。

中華SSDはかなり怪しいものも流通しているようですが今回購入したKingSpecというメーカーは以前よりPCショップなどでも取り扱っており一定の評価があるようです。

マイクロSD(64GB)の価格帯としては現在1800〜2500円位が多く見られます。
SSD KingSpec(64GB)の価格は$18.61 + $3.51(SATA – USB3.0)とマイクロSDと同価格帯で導入できます。128GBは$10位アップしますが今回はその信頼性(性能)を検証する意味で最低の容量で試してみます。(信頼性、寿命は時間が証明するしか無いのですが)


こんなパッケージで送られてきます。(SATA to USB3.0変換は別メーカー、別ストア、別送付です)
AliExpressのKingSpec Global Storeというところで購入したのですが日本到着時及び地元郵便局到着時にも追跡メールを送信してくれて中華ストアには珍しく対応の良いところでした。到着までには約2週間要しています。


SSDは初めて使うのですが本体は非常に軽くてPiのベースにも良さそうです。


テスト中はディスプレイに貼り付けています。
SATA接続部分は少し熱を持ちます。

BOOT FROM A USB MASS STORAGE DEVICE
USBデバイスから起動させるためにUSBブートモードを有効にします。
HOW TO BOOT FROM A USB MASS STORAGE DEVICE ON A RASPBERRY PI 3

$ sudo apt update && sudo apt upgrade
$ echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
$ sudo reboot

確認してみます。こんな数値が帰ってくればOK

$ vcgencmd otp_dump | grep 17:
17:3020000a

これは元に戻すことはできません。戻す必要もありません。
カードスロットにSDカードがあればカードスロットから起動、なければ起動可能なUSBデバイスから起動します。大容量デバイスに限らず通常のSDカードもUSBアダプタ経由で起動します。

起動してみる
OSには通常通りRaspbian Strechをインストールしました。(具体的なインストールについてはまた次回にしたいと思います)
カードスロットから元ディスクを抜いて電源を投入します。
約10秒過ぎくらいにブートが始まります。
ブートは成功ですね。

テストしてみる
環境を整えてディスクのリード、ライトの簡単なテストをしてみます。
テスト方法は下記のサイトを参考にしました。
Linux Tips – HDDベンチマーク手順+性能測定結果一覧(hdparm,dd,bonnie++)
方法としてはSSDで起動してhdparmからリード、ddでライトをSSDとマイクロSDのタイムを計測します。

SSD read (hdparm -t /dev/sda2を3回実行)

# for i in [1] [2] [3];do sleep 10;echo $'\n\n' $i;hdparm -t /dev/sda2;done


約39MB/sec

マイクロSD read

# for i in [1] [2] [3];do sleep 10;echo $'\n\n' $i;hdparm -t /dev/mmcblk0p2;done


約22MB/sec

SSD write (time dd if=/dev/zero of=./test/write.tmp ibs=1M obs=1M count=1024を3回実行)

# for i in [1] [2] [3];do sleep 10;echo $'\n\n' $i;time dd if=/dev/zero of=./test/write$i.tmp ibs=1M obs=1M count=1024;done
# rm -r test


約28MB/sec

マイクロSD write (SSD起動後マイクロSDをスロットに装着してマウント)

# for i in [1] [2] [3];do sleep 10;echo $'\n\n' $i;time dd if=/dev/zero of=./test/write$i.tmp ibs=1M obs=1M count=1024;done
# rm -r test


約10Mb/sec

マイクロSDから起動、同様に計測してもほとんど同じような結果を得ています。
マイクロSDはT社32GB(少し古い)
SSDは30GB、マイクロSDは15GBでパーテーションを切っています。
最新のマイクロSDがどれくらい早くなっているかはわかりませんがclass10と考えるとこんなもんかなと思っています。
この差は特にインストール作業時に違いを感じることができます。

次回はインストールについて少し書いてみようと思います。