この記事で紹介している製品
おことわり
この記事は、2023年3月にQiitaに投稿した記事などを加筆修正したものです。
また、この記事のオリジナルは日本語で書かれています。記事が日本語以外の言語で表示されている場合、それは機械翻訳の結果です。当社は機械翻訳の精度に責任を負いません。
はじめに
NVM Express (NVMe)基本仕様[1]には、Self-Monitoring Analysis and Reporting Technology (S.M.A.R.T.)情報のひとつとしてPercentage Usedという情報が定義されています。
この値は各メーカー独自の計算方法により算出された寿命消費度で、寿命の消費にしたがい単調増加する値です(単位は百分率)。
広く知られているように、NANDフラッシュメモリを記憶媒体とするストレージドライブ(以降単にSSDと記載)において、寿命は最も重要な指標のひとつです。
そこで今回の記事では、私が業務で使用中のノートPCに搭載されたNVMe SSDのPercentage Usedを例にして、Percentage Usedの変化とその意味、寿命予測の考えかた、およびPercentage Usedを用いた簡易寿命予測について説明します。
なお、この記事でご説明する手法は公開情報のみを使用する簡易的な方法であり、精度は高くありません。より詳細で精度の高い予測には非公開情報が必要であり、各SSDメーカーが提供するツールの利用や各SSDメーカーへの問い合わせが必要であることを予めご承知おきください。
まとめ
- NVMe仕様のS.M.A.R.T.にはPercentage UsedとData Units Writtenという寿命に関する情報がある
- 収集した上記情報から「使いかた」がわかれば簡易的な寿命予測が可能
- より高精度で詳細な寿命予測にはSSDメーカー配布ツール(当社であればLiveMonitor)が必要
NVMe仕様の確認
まず、NVMe仕様におけるPercentage Usedと関連するS.M.A.R.T.情報を確認します。Percentage Usedの定義は下記の通りです。
端的にまとめると「使用状況とメーカー予測に基づく寿命の使用率」となります。この値が100であることは「メーカー保証の寿命を使い果たした」ことを意味します。
日本語では”life”も”endurance”も「寿命」と翻訳されることが多いですが、図1の定義においては”endurance”が「メーカー保証の寿命」を指し、”life”が「SSD(各個体の)寿命」を指します。
図1の定義のとおり、この値が100であることは「”endurance”を使い果たした」ことを意味しますが、一方でSSD各個体の寿命(“life”)はまだ残されています。つまり、Percentage Usedが100であることはSSDの故障を示すわけではありません。とはいえこの値が100に到達した後の動作はメーカーの保証範囲外にですので、早期のバックアップや交換が必要です。
NVMe基本仕様のS.M.A.R.T.情報として標準で定義されている、寿命消費に影響を与える要素は、Data Units Writtenつまり「ホストからの書き込みデータ量」です。
少しわかりにくいですが、「ホストからSSDに書き込んだ合計データサイズを512バイト単位に換算してさらにそれを1,000で割り算して商を整数に切り上げた値」という定義です。
今回Percentage UsedとData Units Writtenの2つの情報を毎日記録してこの2つの情報の関係を調査し、簡易的な寿命予測を実施しました。
NVMe SSDのS.M.A.R.T.情報取得方法
Percentage UsedもData Units Writtenも、NVMe基本仕様に標準定義されたS.M.A.R.T.情報ですので、CrystalDiskInfoなどの汎用ツールで取得可能です。もちろん、当社製ソフトウェアLiveMonitorのようなSSDメーカーが配布するツールでも取得可能です。
図3の橙枠が使用率(Percentage Used)で、緑枠が総書き込み量(Data Units Written)です。値が16進数で表示されていることにご注意ください。
データ取得結果
図4は、図3に示したNVMe SSDのData Units WrittenとPercentage Usedの関係です。
この図4は、Percentage Usedが14に変化した日から17に変化した日までの期間について、縦軸にData Units Writtenから算出したホストからの累積データ書き込みサイズを、横軸に日付を取り、グラフ化したものです。
まずPercentage Usedの変化(増加)とその変化に要した期間をチェックします。すると、Percentage Usedが増えるにしたがいPercentage Usedが増えるまでの期間が短縮しています。例えば、Percentage Usedが14から15に増加するまでには207日要しましたが、16から17に増加するまでには164日と、43日(1か月強)短縮しています。
次に、Percentage Usedの変化とその変化に要した書き込みデータサイズをチェックします。すると、Percentage Usedの値にかかわらず、Percentage Usedが変化するまでに書き込まれたデータサイズはおよそ5.5 TiBで変化がありません。
以上より、図4からは次のことがわかります。
- Percentage Usedはホストからの書き込みデータサイズに依存する
- 図4でPercentage Usedが変化するまでに要した時間が徐々に短縮している理由は不明(これだけでは情報不足)
- Percentage Usedが増加するまでに必要なホストからの書き込みデータサイズに変化がないことは、このSSDへのアクセスパターン(ワークロード)におおよそ変化がないことを示している
寿命予測の視点では、上記3の内容つまり「ワークロードに変化がないこと」を確認できたことが重要です。
というのも、ワークロードが変化してSSDへの書き込みデータサイズが変化するとSSDの内部状態が大きく変化し、Garbage Collectionなどの内部処理の頻度や忙しさが変化するからです。
ワークロードが変化してSSDへの書き込みデータサイズが減れば寿命消費は緩やかになり、逆にSSDへの書き込みデータサイズが増えれば寿命消費は急になります。
つまり「ワークロードに変化がないこと」は「寿命消費(傾向)が変わらない」ことを意味します。
簡易寿命予測
図4とそれに対する考察から、現状のワークロードであれば約5.5 TiBの書き込みでPercentage Usedが増えることがわかりました。
この結果から、「現状のワークロードが変化しない」という条件の下での簡易寿命予測を行います。ここでは2通りの方法をご紹介します。繰り返しになりますが、あくまでも簡易的な見積もり方法であることに注意してください。
Percentage Usedが100に到達するまでの期間
前述した通り、Percentage Usedが100であることはメーカー保証の寿命を使い果たしたことを示します。そこで、Percentage Usedが100になるまでにあとどの程度データを書き込めるか、という視点で寿命消費までの時間を算出します。
Percentage Usedが1増えるまでにホストからおよそ5.5 TiB書き込んでいますので、Percentage Usedの残り83%分を使い切るまでにホストから書き込むことができるサイズは、単純計算で456.5 TiB(およそ490 TB)となります。
図4を見るとPercentage Usedが1増えるまでに少なくとも3か月はかかりそうですので、83×3=249か月=およそ20年となります。
この結果から、「この使いかたをしている限り十分な残寿命がある」と言えます。
TBWがメーカー保証値に到達するまでの期間
最近のSSDでは、メーカー保証期間を「SSDのTBWがメーカー保証TBWに到達するまで」とする場合も多いです。メーカーがTBW算出に使用したワークロードはJEDECのクライアントワークロードであり図4に示したSSDのワークロードとは異なりますが、そこに注意しながらこのSSDのTBWがメーカー保証TBWに到達するまでの時間を見積もります。
このSSDのメーカー保証TBWは300 TBです。Percentage Usedが17に変化した時点でのTBWは117 TiB(およそ125 TB)でした。つまり残り175 TBです。前節と同じくPercentage Usedが1増えるまでにおよそ3か月かかると仮定すると、Percentage Usedが1増えるまでに5.5 TiB(およそ5.9 TB)書き込んでいますので、175÷5.9×3=およそ7年、と計算できます。
異なるワークロードから算出されたTBWを用いた計算ではありますが、それを差し引いても、この結果からも「この使いかたをしている限り十分な残寿命がある」と言えそうです。
おわりに
今回の記事では、私が使用しているノートPCに搭載されたNVMe SSDを例にとり、NVMe仕様に標準で定義されているS.M.A.R.T.属性であるPercentage UsedとData Units Writtenから簡易的な寿命予測をする方法をご紹介しました。
ご説明した予測方法の一番重要なポイントは、1年半かけて取得した情報から「現在のワークロードにおける寿命消費の様子(=使いかた)」を導いたことです。これは、SSDの寿命(TBW)が「使いかた」に依存するためであり、使いかたがわかれば「その使いかたを続けた場合の寿命」が予測できるからです。
上記の通り、より高精度な寿命予測の実現には「使いかた」を把握できるだけの情報をある程度の期間をかけて収集する必要があります。SSDメーカー独自のツールでは自社製品について前記情報を収集して解析することでより詳細な寿命予測を実現しています。当社製SSDであればLiveMonitorが該当します。
今後SSDの寿命予測を実施もしくは寿命予測サービスを利用される際のご参考になれば幸いです。
References
[1] NVM Express, “NVM Express Base Specification”, Revision 2.0c, October 2022
他社商標について
記事中には登録商標マークを明記しておりませんが、記事に掲載されている会社名および製品名等は一般に各社の商標または登録商標です。
記事内容について
この記事の内容は、発表当時の情報です。予告なく変更されることがありますので、あらかじめご了承ください。