「SMRな大容量HDD」はなぜ嫌われるのか

※当ページはアフィリエイトプログラムによる収益を得ています。

HDDの大容量・低価格が進んでいますが、私の周囲では「SMRなHDD」を避ける傾向が続いています。

CMRに比べるとデメリットがあるためですが、実際のところなぜSMRを避けているのかよく理解していない人がいるのも事実です。

そこで、SMRのデメリットを解説してみたいと思います。

CMRとSMRの違い

まずHDDの実現方式としてCMRとSMRを紹介します。

CMRとは、「Conventional Magnetic Recording」の略称で、SMRの登場以前から採用されていた書込み方式です。

データを保存する領域(トラック)同士が隣接しておらず、トラックの間にガードバンクと呼ばれる隙間が用意されています。

また、書込み用のデータはクラスタ(複数のセクタをまとめたもの)として管理されており、部分的な書込みにキャッシュメモリを使用しません。

これに対してSMRは、「Shingled Magnetic Recording」の略称です。Seagate社が開発した技術で、HDDの大容量化に貢献しています。

SMRでは、データがセクタごとに切り分けられ、トラックに保存されるわけですが、このトラックを重ね合わせて「ブロック」と呼ばれる単位を形成しています。

データの書き込みはブロック単位で行われ、部分的なデータの書き込みはキャッシュメモリを使用する点が特徴です。

つまり、一旦キャッシュメモリに書込み用データを退避させ、キャッシュメモリ内で書込みを行ってから、ブロックに対してデータを反映させます。

SMRは大容量化に適した技術で、SMRが普及していこう、HDDの容量は一気に増大しました。特にテラバイト級の容量を持つHDDには、SMRを採用したものが多くみられます。

なぜSMRは嫌われるのか

しかしSMRは、一部の愛好家から避けられる傾向にあります。その背景には次のような理由があるのです。

2段階書込みになる

上で説明したように、SMRはデータをブロックという単位で管理し、ブロックごと書込みを行います。さらにブロックは複数のトラックを重ね合わせた状態です。

あるデータを書き込もうとすると、隣接した領域のデータも消去されるために、書き換えたいデータ以外のデータもすべて書きこみ直す必要があるわけです。

SMRのブロックサイズは256MBですが、256MBよりも小さなデータを書き換えるために、一旦256MBサイズのデータを読み出し、キャッシュメモリ内で変更し、再度書込みという手間が発生するのです。

この手間が「2段階の書き込み」と言われる理由で、性能低下につながると考えられています。

ランダムアクセスが遅い

上記のような2段階書込みの理由から、ランダムアクセス性能が低下することもSMRの特徴です。

初期のSMR HDDは読み書きの速度が遅く、アプリケーションやOS用のストレージではなく、アーカイブ用(データ保管用)のストレージとして使われていました。

SMRかCMRかはパッと見でわからない?

近年はSMRやCMRかを明記していないHDDも多く、どちらなのか判別がつきにくいこともあるでしょう。ざっと市場に出回っている製品を見ると、2TB級のHDDはSMRを採用していることが多いように思います。

CMRを採用したHDDは1.8TB程度で限界を迎えていますから、2TB以上の大容量なHDDは基本、SMRだと考えたほうが良いでしょう。

「メディアキャッシュ」で性能向上も

しかしSMRなHDDは良く売れるため、製造メーカーも改善を続けているようです。

具体的にはCMRで使用している「メディアキャッシュ」と呼ばれる領域をSMRにも設け、ランダムライト性能が低下しないように工夫しています。

今後はCMRとSMRのランダムライト性能も大差ないものになると思いますので、それほど神経質になる必要はないのかもしれませんね。速度を求めるならばSSDがあるわけですから。