NVMe SSDのネジ止め有無と温度の関係

# はじめに
　これまで2回にわたり、NVMe SSDのサーマルスロットリング設定を操作して実際にサーマルスロットリングを発生させ、NVMe SSDの発熱傾向およびサーマルスロットリング発動時の性能の挙動を調べました（[その1](https://qiita.com/ken-yossy/items/0b40dc87fc5ae6d6e53e)、[その2](https://qiita.com/ken-yossy/items/7ddd9dbb098187c52f16)）。

　今回の実験で使用したNVMe SSDは、いずれもフォームファクタがM.2でしたので、ついでに、M.2 SSDのコネクタと反対側にある「ネジ止め」がM.2 SSDの温度に及ぼす影響を調べました。

# サマリ

* **M.2 SSDはネジ止め前提で設計されているのできちんとネジ止めして使用すべき**
    * ネジ止めには、温度（発熱）に関する目的（熱的グランド経路）以外にも、ホストとの接続保持、および電気的グランド経路、という目的がある 
    * ネジ止めしない場合、ネジ止めした場合と比較して温度上昇が急になったり到達最高温度が高くなる製品もある
* **実際に使用するSSDの挙動は、ネジ止め方法等を含めた実使用環境でを調べることが重要**

# M.2 SSDをネジ止めする目的
　M.2 SSDのコネクタと反対側にあるネジ止め用のパターン（図1）は、**れっきとしたM.2仕様の一部です**。この位置をネジ止めすることには**3つ**の意義（意図）があります。
![図1：M.2 SSDのコネクタと反対の端にあるネジ止め部分](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/439683/959ec5da-6dab-a5a0-7417-ba3dbd107c41.png "図1：M.2 SSDのコネクタと反対の端にあるネジ止め部分")
図1：M.2 SSDのコネクタと反対の端にあるネジ止め位置

　ひとつは、基板の一端をネジで固定することにより、ネジ止め位置と反対端に位置する基板とコネクタの接触部分に力をかけて適切な接触状態を保持することです（図2）。

![m-2-retention.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/439683/c1b245e5-12f7-b909-0552-18bf4647d100.png)
図2：M.2 SSDの挿入時（左）と固定時（右）

　M.2 SSDは、図2左のように斜めにコネクタハウジングに挿入して、上から抑えて挿入角度を変えてさらに奥に挿入し、コネクタの反対端をカードの上から抑えるようにネジ止めすることで図2右のような状態にします。実際にM.2 SSDをホストシステムに装着したことがある方ならすぐにおわかりになると思います。

　このように、M.2 SSDをネジ止めする目的のひとつは「ホスト側のコネクタと適切な接触状態を維持するため」です。

　残りの2つは、M.2の仕様書<sup>[1]</sup>の"Module Stand-off"（取付金具＝「雌ネジ」側の金具）という節（2.5節）に記載されている、"Electrical Ground Path"つまり「電気的なグランドの経路」と"Thermal Ground Path"つまり「熱的なグランドの経路」を確保するためです。

　例えば、この記事で注目する温度（発熱）に関連する"Thermal Ground Path"については、以下のように記載されています。

> 2.5.3. Thermal Ground Path
> The stand-off must provide a Thermal Ground Path. The design requirements for thermal are a material with a minimum conductivity of 50 watts per meter Kelvin and surface area of 22mm<sup>2</sup>
>
> _M.2仕様書<sup>[1]</sup> Section 2.5.3 "Thermal Ground Path" (page 98) より引用_

　必要な面積と熱伝導率まで具体的に定義しています。ということで、**M.2 SSDは放熱の視点からもきちんとネジ止めしなければならない**ということがわかります。

# ネジ止めしないとM.2 SSDの温度はどうなる？

　これらを受けて、「**じゃあネジ止めしないとM.2 SSDの温度はどうなる？**」という検証のために実施したのが今回の実験です。

## M.2 SSDの固定方法など
　実験では、M.2 SSDを図3のようにマザーボードに装着して、ベンチマークソフトウェアでSSDにアクセスしてSSDの温度を測定しました。
![ネジ止めなしでマザーボードに装着したM.2 SSD](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/439683/1a0546af-d168-2f9b-b17d-8f45acad7045.png "ネジ止めなしでマザーボードに装着したM.2 SSD")
図3：ネジ止めせずにマザーボードに装着したM.2 SSD

　何も措置せずに単にM.2 SSDをネジ止めしないだけでは、SSDの一端が浮いてしまい、反対側の端にあるホストと接続するコネクタ部分に適切に力が加わらず高速アクセスできないので、ネジ止め位置の金属パターンと取り付け金具が直接触れないようにカバーしつつ固定しました。

　プリコンディショニングやアクセスパターン、使用したSSD等の条件は全て[「その2」の記事](https://qiita.com/ken-yossy/items/0b40dc87fc5ae6d6e53e)と同じです。つまり、Writeアクセスで下地を書き込んだ後にReadアクセスでSSDの温度を上げてみる、というアクセスパターンです。SSDの温度も`Get Log Page`コマンドで取得できるSMART情報で通知された値を使用しています。

　また、サーマルスロットリングの設定（HCTMの温度設定）は、SSD1とSSD2ともにデフォルト設定（設定変更なし）です。

## 実験結果
　まずSSD1の評価結果を図4に示します。
![ネジ止めの有無による温度上昇の差(SSD1)](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/439683/cc29dcb0-c0dd-7345-c44b-0bad2dd4c91b.png "ネジ止めの有無による温度上昇の差(SSD1)")
図4：ネジ止めの有無による温度上昇の差(SSD1)

　ポイントは、経過期間中央付近の温度が急激に上がっている部分（3000 MB/s程度のReadアクセスを始めた部分）の温度上昇の様子と、最終的に到達した温度です。

　この図4を見る限り、SSD1は、温度上昇の様子（グラフの傾き）も、最終的に到達した温度も、ネジ止めの有無ではほとんど変化がないようです。

　SSD1はそもそも温度上昇が急なのですが、ネジ止めの有無には頼らない熱設計になっているように見えます。

　次に、SSD2の評価結果を図5に示します。
![ネジ止めの有無による温度上昇の差(SSD2)](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/439683/6122b31b-bbf0-d408-89c5-9a91c5717253.png "ネジ止めの有無による温度上昇の差(SSD2)")
図5：ネジ止めの有無による温度上昇の差(SSD2)

　この図5を見ると、SSD2はネジ止めをすることで温度上昇が（SSD1と比べればさらに）緩やかになり、かつ到達最高温度も数度低くなっているように見えます。

　ただ、全体での温度変化幅（摂氏40度程度から摂氏70度程度まで）と比較すればこの差の絶対値は有意とは言えず、またもし最高温度がSSD1と同じ摂氏80度程度になるのであればネジ止めの有無が問題になる可能性がありますがそもそもSSD2の最高温度は摂氏70度程度でSSD1の最高温度より低いので、この程度であれば問題にはならないと考えます。

　ただし、このSSD2のように、ネジ止めの有無によって多少なりとも温度上昇の傾向や到達最高温度が異なる製品が存在する、ということは知っておくに越したことはありません。

　そして、SSD1とSSD2の実験結果の比較から、**実際に使用するSSDを、ネジ止めの方法などを含めた実際に使用する環境で動作させて挙動を調べることが重要だ**、とわかります。

# おわりに
　この記事では、これまでに実施したNVMe SSDのサーマルスロットリングに関する性能測定を補足する形で、M.2 SSDの「ネジ止め」の有無による温度変化の違いを調べました。

　実験の結果からは、ネジ止めの有無によって温度上昇の傾向や到達最高温度が異なる（有意差かどうかも異なる）製品が存在すること、そのような挙動の違いは実際に動作させて調べないとわからないこと、がわかりました。

　したがって、**ネジ止めの方法などを含め、実際に使用する環境で動作させて挙動を調べることが重要である**と言えます。

　もちろん、「**SSDは可能な限りサーマルスロットリングが発動しないように温度管理しなければならない**」ことに変わりはありません。

# References
[1] PCI-SIG, _"PCI Express M.2 Specification"_, Revision 3.0, Version 1.2, June 26, 2019

# ライセンス表記
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="クリエイティブ・コモンズ・ライセンス" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />この記事は<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンス</a>の下に提供されています。