読む前に覚えておきたい用語
ウェアレベリング(Wear Levelling)
フラッシュメモリなどのように書き換え寿命が存在する記録媒体に対して、書き換え回数の平均化を行うことで全体の見かけ上の寿命を延ばす技術で「摩耗平均化」とも呼ぶ。SSDやUSBメモリ、メモリカードなどでは必要不可欠な要素技術となっている。
フラッシュメモリ(Flash Memory)
フラッシュメモリは電荷を浮遊ゲートに注入してデータの記録を行う不揮発性メモリの一種で、元東芝の舛岡富士雄氏によって発明された。NAND型とNOR型が存在し、SSDには主に構造が単純で記録密度の向上に適したNAND型が使用されている。
SSD(Solid State Drive)
記録媒体に半導体メモリを用いたストレージの総称。一般的には不揮発性メモリの一種であるNANDフラッシュメモリを用いたデバイスを指すことが多い。記録媒体であるNANDフラッシュメモリとこれを制御するSSDコントローラで構成されている。
SSDの急速な普及と知られざる弱点
近年、SSDの低価格化が急速に進み、MacなどのコンピュータはHDD(ハードディスクドライブ)からSSDへの移行を終えつつある。2008年に登場した初代MacBookエアの一部モデルから採用が始まったSSDは、今やすべてのノート型Macに標準搭載されており、HDDを搭載するモデルは、iMacの一部を残すのみとなっている。
SSDは、その記録媒体にNAND型フラッシュメモリ(以下、フラッシュメモリ)を用いる半導体ストレージだが、そのフラッシュメモリの記録密度向上による大容量化と低価格化が進んだ結果、500GB以下の容量帯を中心に一気に普及が進んだ。
このフラッシュメモリの記録密度向上は、半導体プロセスの向上による微細化、MLCやTLCなどのマルチレベル記録方式の導入、3D NANDなどの多層化技術によって実現されている。このうち、微細化とマルチレベル記録はいずれもフラッシュメモリの寿命を犠牲(トレードオフ)にした高密度化だ。
フラッシュメモリのメモリセルは電荷を貯めるコンデンサ(バケツ)と、そこに電荷を出し入れするトランジスタ(スイッチ)、コンデンサの電荷が漏れ出さないようにするための絶縁膜(バケツのフタ)で構成されている。微細化によって記録セルのサイズが小さくなると、コンデンサのサイズも小さくなり貯められる電荷の量が少なくなる。同時に絶縁膜も薄く小さくなり、電荷の出し入れに伴う劣化が早くなる。
そしてマルチレベル記録は、コンデンサに貯めた電荷量を複数に分割してデータ値とする技術で、SLCは電荷があるか否かで0と1を判断していたが、MLCは電荷量に応じて、0、1、2、3の4レベルを判定、TLCは8レベル、QLCは16レベルを判定する。しかし電荷量は、アクセスや時間経過に応じて減少するため、電荷量の分割数が増えるほどエラー率が高くなる。実際のフラッシュメモリでは世代が進むにつれて増加するエラーを誤り検出符号(ECC)の強化によって補っているのが実状だ。
マルチレベル記録は、書き込み時に数段階の電荷注入を行うことやエラー補正に伴うリフレッシュ増加などの要因から、書き換え寿命を悪化させる影響がある。SLCの書き換え寿命は1~10万回程度だったが、MLCでは数千回、TLCでは1000回前後、QLCでは数百回にまで低下する。
さらに微細化に伴って、最新の書き換え寿命はこれ以上に短くなる傾向にある。実際には、数百回程度のファイル書き換えで寿命に達するストレージでは使い物にならないため、SSDにはウェアレベリングと呼ばれる摩耗平均化技術が導入されている。
具体的には、SSD内部の記録領域をブロック単位で管理し、各ブロックの書き換え回数に応じてブロックの入れ替えを実施し、どのブロックも均一に摩耗するように制御している。
SSDの記録容量と書き換え寿命
SSDの書き換え寿命は、搭載されているフラッシュメモリによって決まるが、書き換え寿命はブロックレベル(最小の書き換え可能単位)でウェアレベリングによって平均化されるため、極端な言い方をすると同等の性能・仕様のフラッシュメモリチップを搭載するSSDなら「使い方が同じ(総書き込み量が同じ)」であれば、寿命は「総容量に比例」する。たとえば、MacBookエアの標準モデルでは128GBと256GBの2種類のSSD容量が選べるが、同じ使い方であれば後者は前者の2倍のSSD寿命、ということになる。
「自分はそんなにファイル書き込みを行うような使い方をしていない」と考える方もいらっしゃるだろう。しかし、Macはユーザが意図していないバックグラウンドで大量のデータ書き込みを行っている。実際にどれくらいの書き込みが行われているかは、「アクティビティティモニタ」の[ディスク]タブから確認することができる。想像以上に読み書きが行われていることに驚くはずだ。
もう1つSSDの寿命に大きな影響を及ぼすのが仮想メモリだ。macOSでは、搭載されているメモリ容量以上のメモリ領域が必要となった場合に、SSDにスワップ領域と呼ばれるエリアを確保して不足するメモリを補っている。これは仮想メモリの機能の一部だが、このときSSDでは頻繁にデータの書き換えが行われており、事実上SSDの命を削り続けている。
従って多くのメモリを消費するソフトを多用する、もしくは多くのソフトを同時に起動して使うケースでは充分なメモリ容量を搭載していないと、その分余計にSSDの寿命を消費することになる。実際にどれくらいスワップ領域が使われているかは、「アクティビティモニタ」の[メモリ]タブから確認することができる。
SSDの寿命を実際に知る方法
一般的な(市販品の)SSDの場合、その製品寿命はTBW(Total Byte Written)で示されることが多い。TBWはJEDEC(半導体技術協会)が定めたガイドライン「JESD218」で規定されており、メーカーが保証する書き込み総容量を示している。一方、Macが搭載するSSDのTBWをアップルは公開していないが、SSDのS.M.A.R.T.値を参照することで、SSDへの総書き込み量、SSDからの総読み出し量、SSDの摩耗率などを知ることができる。
上の図に掲げたのは、MacBook 12インチモデルが搭載する256GBストレージ「APPLE SSD AP0256H」の例だが、総書き込み量約5TBに対して1%の摩耗率と示されていることから、TBWはおよそ500TB前後であり、搭載されているフラッシュメモリの書き換え寿命は約2000回のMLCだろうと推測できる。1年間の使用で10%以下の摩耗率であれば、同じ使い方を続けている限りは10年間は使える計算になる。HDDと比べて寿命の短さが問題になるベレルではないといえよう。
最近のMacは、内蔵ストレージやメモリをあとからユーザが換装することができないモデルが増えている。アップルT2チップを搭載する最新のMacはなおさらだ。買ってからも安心してMacを使い続けることができるよう、そのスペック選びは自分の使い方に合わせた適切な選択が求められているといえるだろう。
ウェアレベリング機能の概念図
ウェアレベリングは、フラッシュメモリのブロックごとに書き換え回数のカウンタを設け、各ブロックを書き換え回数が均一になるように再配置することで、ブロック全体の摩耗率を均一化しSSDのストレージとしての寿命を延ばす技術だ。
SSDのS.M.A.R.T.情報を見る
smartmontoolsのsmartctlコマンドによって、NVMeを含むSSDのS.M.A.R.T.情報を取得できる。その中の「Percentage Used:」項目にSSDの摩耗度が示される。smartmontoolsのインストールには「Homebrew」が必要であり、操作もターミナルベースなので詳しいインストール方法と操作はここでは割愛する。【URL】https://www.smartmon tools.org/
SSDの交換ができない時代へ
MacBook Pro、MacBook Air、iMac ProにはSSDコントローラ機能を内蔵したApple T2チップが搭載されており、SSDを交換することはできなくなっている。Mac miniとMacBookはそもそもフラッシュメモリが直付けなのでやはり交換不可だ。写真●iFixit.com
今井 隆
IT機器の設計歴30年を越えるハードウェアエンジニア。1983年にリリースされたLisaの虜になり、ハードウェア解析にのめり込む。