NVMe SSDのサーマルスロットリングの仕組み

NVMe SSDのサーマルスロットリングの仕組み

この記事で紹介している製品

おことわり

 この記事は、2020年1月にQiitaに投稿した記事を大幅に加筆修正したものです。

はじめに

 NVMe SSDを使ううえで「温度(発熱)」を気にされる方が多いと思います。

 当社製NVMe SSDは、温度(発熱)対策として、性能を抑えることで発熱を抑え過度な温度上昇を防ぐサーマルスロットリング(Thermal Throttling)を備えています。

 今回の記事では、このサーマルスロットリングの設定や挙動および効果に加え、実際にサーマルスロットリングが発動した時の状況をご紹介いたします。

 NVMe SSDのサーマルスロットリングを理解することで、実使用環境や使いかたに合わせた調整、過不足のない冷却機構の構築、強制冷却が難しい環境での安定運用実現、などが可能になります。

まとめ

  • サーマルスロットリングとは、性能を抑えて発熱を抑え、SSDの温度上昇をできるだけ防ぐ機能
  • サーマルスロットリングの挙動は製品により大きく異なるため、使用するSSDのサーマルスロットリング設定や挙動を確認することが重要

NVMe SSDのサーマルスロットリング

 当社製NVMe SSDは、NVMe仕様1に規定されたHost Controlled Thermal Management (HCTM)という温度管理機能を実現する手段としてサーマルスロットリングを実装しています。

 このHCTMは、2つの温度(TMT1とTMT2)を設定して、その温度を基準に温度制御(温度上昇抑制)する機能です。

 ただし、TMT1とTMT2の値、およびサーマルスロットリング発動時の具体的な挙動(例:性能がどの程度低下するか)は製品依存です。

図:HCTMの挙動例(NVMe仕様書を参考に作成)

 上図に示した2つの例(SSD AとSSD B)のうち、SSD Aの制御方法は温度がTMT1を超えたらすぐに強いスロットリングを発動して温度が十分に下がるまでスロットリングを継続するものです。

 一方SSD Bの制御方法は、温度がTMT1を超えてもTMT2より低い間は弱いスロットリングに留め、温度上昇を抑えつつ性能低下度合いをできるだけ少なくするものです。

 このように、サーマルスロットリングの振る舞いは製品依存であり、使用に際してはSSDのサーマルスロットリングの設定や挙動を十分に理解する必要があります。

サーマルスロットリングを左右する「温度」

 HCTMの挙動を左右する設定値であるTMT1やTMT2には、Self-Monitoring Analysis and Reporting Technology (S.M.A.R.T.)属性でも取得可能な温度2が使用されます。

 例えば当社製ソフトウェアLiveMonitorでS.M.A.R.T.属性を取得すると下図のようになります。

図:LiveMonitorで取得したNVMe SSDのS.M.A.R.T.属性と温度(緑枠内)

 NVMe仕様での温度の単位は絶対温度(ケルビン)のため、上図に記載の0x136(10進数で310)を摂氏に換算すると(273を引くと)37度とわかります。

 つまり、HCTMが有効であるNVMe SSDでは、上記温度を監視しながらTMT1とTMT2の設定値にしたがいサーマルスロットリングを制御します。

 この温度がSSDの表面温度とは限らないことにも注意が必要です。なぜなら、NVMe仕様ではS.M.A.R.T.属性で報告されるこの温度がどこの温度であるかを規定していないためです。

 このため、例えばサーマルカメラで下図のような測定結果が得られても、S.M.A.R.T.属性で報告される「温度」とこの測定結果が一致するとは限りません。

図:サーマルカメラによるM.2 SSDの表面温度測定結果例(アイドル時)

サーマルスロットリングによる温度と性能の変化

 それでは当社製NVMe SSDを使用したサーマルスロットリングの実験結果をご紹介します。

 使用したNVMe SSDは、当社製NVMe SSD SN8Eシリーズの1,920 GBモデル(温度拡張品)です。なお、HCTMの設定値(温度)は、TMT1が摂氏80度、TMT2が摂氏85度です。

 今回は、ヒートシンクの有無で温度上昇の様子を比べました。

 なお、この記事に記載の実験結果は当社の実験環境で得られた結果であり、どのような環境でもこの結果が得られることを保証するものではありません。ご注意ください。

評価結果(ヒートシンクなし)

 まずヒートシンクなしでの実測結果を示します。

図:SSDの温度と性能の変化(ヒートシンクなし、4秒間の移動平均)

 横軸は測定開始からの経過時間(右に行くほど時間が経過する)です。そして縦軸は、左縦軸がWrite性能(上のほうが性能が高い)、右縦軸がSSD温度です。

 この図を見ると、SSD温度がTMT1に設定された摂氏80度に到達するとサーマルスロットリングが発動して性能が最大100 MB/s強低下し、SSD温度が摂氏75度まで下がるとサーマルスロットリングが停止して性能が元に戻る、という動作を繰り返していることがわかります。

 以前の実験では、非常に強いサーマルスロットリングが発動した結果性能が1/10近くまで低下した製品もありました。当社製品は、その例より高温で一般的に強いサーマルスロットリングが必要な温度でも、サーマルスロットリングの目的である温度上昇抑制を実現しつつ性能低下幅も小さいと言えます。

評価結果(ヒートシンクあり)

 次に、ヒートシンクありでの実測結果を示します。なお、TMT1とTMT2の値は同じです。

図:SSDの温度と性能の変化(ヒートシンクあり、4秒間の移動平均)

 ヒートシンクなしの場合と比較すると、同じ時間だけ同じ負荷をかけてもSSDの温度がTMT1(摂氏80度)に到達しませんでした。その結果、サーマルスロットリングも発動しませんでした。

 この結果から、ヒートシンクの効果が非常に大きいことがわかります。

サーマルカメラで見た発熱の様子

 最後に、M.2 NVMe SSDの発熱の様子をサーマルカメラを使用して確認した結果をご紹介します。

 以下の写真は、ヒートシンクなしで負荷をかけた際のものです。

図:サーマルカメラで確認したM.2 SSD近傍温度の様子(ヒートシンクなし)

 この写真からは、NANDフラッシュメモリ(BGAパッケージ)の温度が最も高いことがわかります。表面で摂氏79度ですから、BGAパッケージの中はさらに高温であることが想定されます。

 次に、ヒートシンクを装着して同じ負荷をかけた際の写真を示します。

図:サーマルカメラで確認したM.2 SSD近傍温度の様子(ヒートシンクあり)

 写真のように、同じ負荷をかけてもヒートシンクなしの時と比べて10度以上低い温度に抑えられています。また、ヒートシンク全体に一様に熱が拡散しています。効率良く放熱できているようです。

 このことからも、ヒートシンクには、SSDの温度上昇を抑制し、その結果としてサーマルスロットリングが発動しにくくなることでSSDが高い性能を発揮して維持することに、高い効果があります。

 ヒートシンクには様々な素材や形状のものが存在しますが、その選定にはSSDを装着する機器の大きさや冷却機構などと合わせた総合的な検討が欠かせません。

おわりに

 この記事では、NVMe SSDのサーマルスロットリングについて、当社製品を使用してその設定項目と実際の動作をご紹介しました。

 冒頭でもご説明した通り、NVMe SSDのサーマルスロットリング設定や挙動を把握し、かつSSDの使用環境や使いかたに合わせてカスタマイズすることで、過不足のない冷却機構の構築やより安定した運用などが可能となります。

 加えて、思うようにSSDの性能が出ない場合、サーマルスロットリングの設定や、運用時のSSD温度、さらにサーマルスロットリング発動の有無を確認することも重要です。

Reference / Note

  1. NVM Express, “NVM ExpressTM Base Specification”, Revision 1.3d, March 20, 2019
  2. NVMe基本仕様ではこの温度を”Composite Temperature”と呼びます

他社商標について
記事中には登録商標マークを明記しておりませんが、記事に掲載されている会社名および製品名等は一般に各社の商標または登録商標です。

記事内容について
この記事の内容は、発表当時の情報です。予告なく変更されることがありますので、あらかじめご了承ください。

お問い合わせ