Ubuntu Weekly Recipe

第801回続⁠USBメモリ型SSD選手権!長時間の書き込みにも強いデバイスはどれだ

前回までのUSBメモリ型SSD選手権

前回よりUSBメモリ型SSD選手権を開催し、⁠USBメモリ型SSD」と呼ばれる製品をインストールメディアとして使用する想定で性能を検証してきました。

なぜ筆者が勝手ながら選手権を開催することになったかですが、⁠USBメモリ型SSD」もしくは「スティック型SSD」と呼ばれる高速かつ大容量な製品が市場での一般的な選択肢になった昨今、従来型のUSBメモリと比べて本当にパフォーマンスが優れているのか、メインストリーム向けのNVMe M.2 SSDと比べた時にどうなのか、そういった疑問が浮かんだからです。

結果として、9年前発売の従来型USBメモリと比べると、最近のUSBメモリ型SSDは8GB分のシーケンシャルアクセスにおいて、読み込みでは3.5倍程度、書き込みでは4倍から10倍程度と目を見張るパフォーマンスを見せてくれました。今回は追加種目を通して、選手たちのまた違った一面を見ていきます。

あらためて前回に引き続きエントリーしてくれた選手たち(正確に言うと筆者が購入してエントリーさせた選手たち)の紹介です図1表1⁠。

図1 エントリー選手たち。一番上のNVMe M.2 SSDケースは撮影のためカバーを外している
図1
表1 選手一覧(図1の上からと順番を揃えてあります)
分類 型番/シリーズ 容量 発売年 購入価格 最大書き込み
速度
USB 3.2
NVMe
M.2 SSD
KIOXIA EXCERIA G2 NVMe SSD 500GB 2021 5,980円 1,700 MB/s -
USBメモリ型SSD I-O DATA SSPE-USC250 250GB 2023 3,699円 450 MB/s Gen 2
USBメモリ型SSD BUFFALO SSD-PUT250U3-BKC 250GB 2021 3,250円 記載なし Gen 1
USBメモリ型SSD ELECOM ESD-EMA0250GBK 250GB 2023 2,980円 480 MB/s Gen 2
USBメモリ型SSD ELECOM ESD-EMC0250GBK 250GB 2023 3,160円 380 MB/s Gen 1
従来型USBメモリ Transcend TS32GJF790K 32GB 2015 880円 記載なし Gen 1
microSDカード Nextorage NUS-MA32G 32GB 2021 580円 40 MB/s -

第三種目 限界突破8GB走(書き込み部門)

第一種目の8GB走(シーケンシャル書き込み部門)では、NVMe SSDとUSBメモリ型SSDの間であまり差がつかず、360MB/sあたりに限界があるように見受けられました図2図3⁠。

図2 USBメモリ型SSDは、従来型USBメモリ(茶色の線)に比べて8GBの書き込みに必要な時間(横軸)が格段に短かかった
図2
図3 しかし、NVMe SSDとUSBメモリ型SSDの間では最高速度(縦軸)の面であまり差はつかず、360MB/s付近に天井があるように見受けられた
図3

そこで第三種目では限界の突破を試みます。速度の壁はSSD自体の性能に起因するものではなく、テストに使用していたUSBポートが5Gbpsまでにしか対応していないことが原因と考えられます。

特にノートPCにおいては、USB Type-CポートとType-Aポートの両方が搭載されている場合に、Type-Cポートが高速な規格に対応していてもType-AポートはUSB 3.2 Gen 1(5Gbps)までの対応に留まっていることが多いのではないでしょうか。今回使用している筆者のThinkPadもそのケースで、Type-AではなくType-Cのポートを使うことで限界突破に期待が持てます。

計測に使用する環境
  • ノートPC: Lenovo ThinkPad T14 Gen 3 AMD
  • 使用したUSBポート: 本体右側のUSB 3.2 Gen 1x1ポート(5Gbpsまでの対応)
  • 追加で使用するUSBポート: 本体左側の奥から2番目のUSB 3.2 Gen 2 Type-Cポート(10Gbpsまでの対応)
  • ホストOS: Ubuntu 24.04 LTS(noble)開発版

幸い今回の参加選手の一人、I-O DATAのSSPE-USCシリーズはType-AとType-Cの両方の端子が備わっていて、USB 3.2 Gen 2(10Gbps)にも対応しています。そしてもう一人、ELECOMのESD-EMAシリーズもGen 2に対応しているのですが、こちらはType-Cの端子はありません。メーカーや製品によってはUSB Type-A端子をType-C端子に変えてくれるアダプターを同梱している場合があります図4⁠。今回購入した製品には付属していませんでしたが、ELECOMのESD-EMAシリーズのために別途変換アダプターを用意しました[1]

ちなみにですが、本当に10Gbps機器と認識されているかは次のように確認できます。10000Mという部分です。

$ lsusb -tv | grep -A1 'Class=Mass Storage'
    |__ Port 001: Dev 002, If 0, Class=Mass Storage, Driver=uas, 10000M
        ID 0bda:9210 Realtek Semiconductor Corp. RTL9210 M.2 NVME Adapter
図4 変換アダプターを使ってType-A機器を高速なType-Cポートに接続する
図4

それではUSB 3.2 Gen 2対応している次の3選手にType-Cポート(10Gbps)を使って再度記録を測定してもらいます。

ベンチマークの実行コマンドとグラフ生成コマンドは前回と同様です。

## 書き込みテストなのでデバイス内のデータを上書きします。
## 内容を確認後、実際に実行する際は`--destructive`をつけてください。

systemd-inhibit powerprofilesctl launch -p performance -- \
    sudo ~/.local/bin/bench-fio \
        --type device \
        --target '/dev/disk/by-id/usb-Realtek_RTL9210B-CG_012345679350-0\:0' \
        --size 8GB --runtime 0 \
        --iodepth 1 --numjobs 1 \
        --mode write -b 4M \
        --output usb-KIOXIA_EXCERIA_G2_SSD_type-C_8GB
$ fio-plot \
    -i *_8GB/*/4M/ \
    --loggraph --type bw --rw write \
    --title 'sequential write bandwidth of 8GB' \
    --xlabel-single-column \
    --xlabel-depth 2 --xlabel-parent 0 -w 2

結果は図5図6のようになりました。

図5 8GBシーケンシャル書き込み総合結果
図5

やはり10Gbpsポートに変えると、今まで限界だと思われていた360MB/s付近を突破し、特別招待選手であるNVMe SSD(灰色の線)のピーク速度は約900MB/sに達しました。公称最大書き込み速度は1,700MB/sのSSDなので、USB接続という枠組みの中でしっかりと好記録を出してくれました。

図6 8GBシーケンシャル書き込み拡大図
図6

拡大して見てみると、I-O DATA SSPE-USC250とELECOM ESD-EMA0250GBKの2製品はそれぞれ447MB/s、434MB/sという平均速度で、5Gbps接続だったときの先頭集団をさらに100MB/sほど引き離すことができました。NVMe SSDにはだいぶ差をつけられてしまいましたがこれは当然の結果で、今回は最安価格帯で製品を選んでいるので両製品の公称最大書き込み速度が450から480MB/sとなっていたからです。もう少し価格帯を上げると、900MB/s以上をうたう製品もあるので、USBメモリ型SSDというカテゴリの限界というわけではないはずです。いずれにしても、前回8GBを約25秒で書き込んでいた時点で速いと感じたのに、NVMe SSDが9.2秒、USBメモリ型SSDの2製品が18秒台とその実力を大いに発揮してくれました。

第四種目 限界突破8GB走(読み込み部門)

こちらは第三種目書き込み部門と同様の傾向なのでダイジェストでお送りします図7図8⁠。

図7 8GBシーケンシャル読み込み総合結果
図7
図8 拡大図。USBメモリ型SSD 2製品が限界突破に成功しているが、NVMe SSDが独走
図8

特別招待選手であるNVMe SSDがトップを独走し、Gen 2に対応した2製品が無事今までの限界を突破し450から500MB/sの平均速度を記録してくれました。

第五種目 250GB走(書き込み部門)

さて本日のメインイベント、250GB走です。よくある1GiBのベンチマークが人間でいうところの100m走だとするならば、8GBは800mの中距離、250GBはマラソンに近いでしょうか。今回購入したUSBメモリ型SSDはどれも250GBの容量なので、このテストでは全域にわたってシーケンシャル書き込みを行い、1秒ごとの速度と総合タイムを計測します。

こういったマラソン競技のデータはあまり表には出てこないですが、それにはいくつかの理由が考えられます。まずは、1GiBのような短時間で終わるベンチマークに比べてかなり長い時間かかってしまうこと、もう1つはこのような全域にわたる書き込みは確実にSSDの寿命を縮めるからです。何度も何度も長距離を走らせて各選手の選手生命をおびやかしたくはないのですが、正確な情報をお伝えするためには選手権の主催者として心を鬼にするしかありません。

ベンチマークの実行は今までサイズを指定していた部分--size--entire-deviceオプションに置き換えるだけです。これを各USBメモリ型SSDとNVMe SSDに対して実行します。今競技では、容量の少ない従来型USBメモリとmicroSDカードは除外し、条件を揃えるためUSBポートは5Gbps対応のものを使います。

さっそく結果をグラフ化したのが、図9です。

図9 ドライブの全容量に書き込んだ場合の1秒ごとの速度。この赤い選手の残像はいったい
図9

いきなりグラフが大変なことになってしまいました。赤ゼッケンのELECOMのESD-EMAシリーズの激しい動きに目がいってしまい、他の選手がどのように走ったのかがよく見えません。赤ゼッケンの動きは後で解説するとして、まずは他の製品だけを抜き出してみます図10⁠。

図10 ドライブの全容量に書き込むと各デバイスの個性が浮かび上がってくる
図10

だいぶ見やすくなりました。各選手スタートダッシュを決めてからの動きに個性が出ています。まず青色の線で示される招待選手のNVMe SSDは今環境のUSB 3.2 Gen 1の制限速度を維持し、平均速度356MB/sでマラソンを完走しています。さらに言うと、今回のNVMe SSDは500GBの容量なので実は250GB走といいつつレースを2回分走っています。それでも500GBの最後まで速度が落ちないのはさすがです。

オレンジ色のI-O DATA SSPE-USC250はスタートダッシュの後は290MB/s付近を維持し、安定したレース運びでした。

緑色のBUFFALO SSD-PUT250U3-BKCはスタートダッシュ後は127MB/sの平均速度、紫色のELECOM ESD-EMC0250GBKもスタートダッシュ後は81MB/sの平均速度で着実なレース運びでした。

さて、問題の赤ゼッケンELECOMのESD-EMAシリーズを、せっかくなので同じメーカーのESD-EMCシリーズと並べてみます。さらに細かい動きを追うためにグラフを描くときの線も細くしてみたのが図11です。

図11 ELECOM ESD-EMAとESD-EMCシリーズの長時間書き込み速度
図11

非常に興味深いグラフです。赤ゼッケンのESD-EMAは長めのスタートダッシュをした後、頻繁に速度が変わります。一見赤色の方が紫色よりも書き込みが速いようにも見えますが、実際には平均速度が遅いためゴールするまでの時間は赤色が倍以上かかっています。線を細くしてもまだ動きが追いきれないので最初の10分を抜き出してみます図12⁠。

図12 ELECOM ESD-EMAとESD-EMCシリーズの書き込み10分抜粋
図12

まず、紫色のESD-EMCは第一種目で見られた特徴的な動きと同じく、14秒付近、4.7GBほどを書き込んだところで速度が低下しています。前回と同様の推測ですが、一定容量の速いキャッシュとそうではない部分の階層化構造となっており、キャッシュがあふれた際の速度の落ち込みが今回の競技の中で目立ちやすくなったものと思われます。

対して赤色のESD-EMAは200秒付近、68GBほどを書き込んだところでキャッシュあふれのような症状が発生し、その後は20秒ほどの周期で瞬間的にスピードが出る箇所と8MB/sほどに停滞する部分を繰り返します。容量100GBを超える大作ゲームを一時的に退避させる場所であったり、システム移行の際の一時的なバックアップ置き場など、大容量のものを一気に高速で書き込み続けるのはあまり得意とする使い方ではないようです。

ここまで述べると、筆者がESD-EMAシリーズのことを好いていないように聞こえるかもしれませんが、決してそんなことはありません。ESD-EMAはESD-EMCに比べるとキャッシュと思われる部分の容量が格段に大きいように見受けられますし、このキャッシュに一定時間あたりの書き込み量が収まるような使い方であれば、ある程度快適なのでは、と考えられます。前回の「8GBのインストールメディアとして使う」などはまさしくこの250GBデバイスのメリットを活かす使い方の例でしょう。

もう一つESD-EMAシリーズが技術的観点で興味深いのが、USB接続なのにも関わらずTRIM/discardを最初から使えることです。

$ lsblk --discard /dev/disk/by-id/usb-ELECOM_ESD-EMA_13CF00101477-0\:0
NAME
    DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda        0      512B       4G         0

$ mount | grep -w /mnt
/dev/sda on /mnt type ext4 (rw,relatime)

$ sudo fstrim --verbose /mnt
/mnt: 102.3 MiB (107307008 bytes) trimmed

これでインストールメディアを作り直す前にblkdiscardを使って、全領域が未使用なことをSSDのコントローラーに明示的に伝えられるのでいいですね。

## blkdiscardは破壊的操作です!既存のデータにアクセスできなくなります。
# blkdiscard -v /dev/disk/by-id/usb-ELECOM_ESD-EMA_13CF00101477-0\:0
/dev/disk/by-id/usb-ELECOM_ESD-EMA_13CF00101477-0:0: Discarded 256060514304 bytes from the offset 0

まとめ

前回と合わせて五種目を開催してきました。各製品のほんの一面しか紹介できていないですが、よくある1GiBだけのベンチマークだけではわからない新たな面も見られたのではないでしょうか。今回はUSBメモリ型SSDの最安価格帯(4,000円未満)かつ最小容量(250GB)でテストしたので、もっと上の価格帯や容量の大きいモデルであればまた違った特性が見られるはずです。どの面を重視するかにもよりますが、ピーク性能だけではなく総合的な実力と製品自体の大きさを加味して購入の参考にしていただければと思います。

一般的に、SSDに長時間連続かつ忙しく書き込むと熱が発生するのは避けて通れません。そしてその時の温度によって性能に制限(サーマルスロットリング)がかかるようになっている場合が多いです。このUSBメモリ型SSDというジャンルはSSDを冷却するためのファンがついてないので、材質や表面積、さらに室温が安定稼働の鍵になってきます。今回の一連の検証は室温15-20℃程度の環境で行われたことを最後に付け加えておきます。

おすすめ記事

記事・ニュース一覧