2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この記事について

過去記事でRasPi 5でSSD+NPUというロマン構成を構築したことに触れました。実はRasPi 5ではPCIe Gen3に対応しているものの、デフォルトではGen2動作をすると耳にしました。ファームウェアの設定を変更することで、PCIe Gen3動作が可能になると。。。そこで、実際にGen3を有効化し、SSDの読み書きを行う速度が向上するか実験してみました。

最初にデフォルト状態のスペックを確認

設定を行う前に、デフォルト状態のスペックを確認します。まずはlspciコマンドを用いて現在のSSDが接続されているPCIeインターフェースの常態を確認します。

$ sudo lspci -s 0000:04:00.0 -vv | grep -E 'LnkSta:'
		LnkSta:	Speed 5GT/s (downgraded), Width x1 (downgraded)
表示される速度 対応するPCIe世代
2.5GT/s PCIe 1.0 (1.x)
5GT/s PCIe 2.0
8GT/s PCIe 3.0
16GT/s PCIe 4.0
32GT/s PCIe 5.0
64GT/s PCIe 6.0

この表を見る限り、PCIe Gen2で動作しているというのは正しそうです。

ベンチマーク測定

PiBenchmarksというベンチマークを用いて測定します。使い方はとても簡単です。

sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash
  • 参考情報

実際の測定結果は以下です。

     Category                  Test                      Result     
HDParm                    Disk Read                 414.06 MB/sec            
HDParm                    Cached Disk Read          400.28 MB/sec            
DD                        Disk Write                232 MB/s                 
FIO                       4k random read            106666 IOPS (426666 KB/s)
FIO                       4k random write           46972 IOPS (187889 KB/s) 
IOZone                    4k read                   149935 KB/s              
IOZone                    4k write                  109247 KB/s              
IOZone                    4k random read            65114 KB/s               
IOZone                    4k random write           135558 KB/s              

                          Score: 30091

PCIe Gen3を有効化

PCIe Gen3を有効化します。ファームウェアのconfigを書き換えます。設定を誤ると最悪起動しなくなるため、慎重に行います。

sudo vim /boot/firmware/config.txt

以下を追記します。

dtparam=pciex1
dtparam=pciex1_gen=3

追記が完了したら、再起動します。

sudo reboot
  • 参考情報

再度スペックを確認

再起動後に再度スペックの確認を行います。まずはlspciコマンド。ここで8GT/sと表示されれば大成功です。ところが。。。

$ sudo lspci -s 0000:04:00.0 -vv | grep -E 'LnkSta:'
		LnkSta:	Speed 5GT/s (downgraded), Width x1 (downgraded)

変わっていない!? :scream: :scream_cat: では、PiBenchmarksはどうでしょうか?

     Category                  Test                      Result     
HDParm                    Disk Read                 407.02 MB/sec            
HDParm                    Cached Disk Read          410.15 MB/sec            
DD                        Disk Write                229 MB/s                 
FIO                       4k random read            106666 IOPS (426666 KB/s)
FIO                       4k random write           47627 IOPS (190511 KB/s) 
IOZone                    4k read                   151548 KB/s              
IOZone                    4k write                  109386 KB/s              
IOZone                    4k random read            64901 KB/s               
IOZone                    4k random write           136667 KB/s              

                          Score: 30246

誤差の範囲。。。全く性能が向上していません。。。原因を探った所、答えは単純明快でした。。。以下公式サイトの引用です。

デュアルNVMe & AI拡張: PCIe Gen 2 スイッチ搭載の2つの M.2 M-key スロット(2230/2242/2260/2280対応)で SSD や AI アクセラレータを使用可能。Hailo-8/8L に完全対応。

何とそもそもSSD+NPU拡張ボードがGen2までの対応でGen3に非対応です。よって、RasPi 5本体としてはGen3に対応していても、肝心の拡張カードはGen2対応なのでGen3の速度は逆立ちしても出ないと言うことになります。。。:sob:

まとめ

今回折角ロマン構成が実現出来たのでついでにPCIe Gen3でSSD+NPUを動作させてみようと画策しましたが、見事失敗 :sob: しました。Pironman5側で対応されて将来的にはGen3で利用出来る様になって欲しいです。Pironman6で対応というのも悪くは無いですが、どうせなら拡張カードだけ対応版が出てソフトウェアアップデートと部品交換だけで対応というのが筆者としては理想です。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?