SSDのプチフリーズが発生する原因は?

最終更新日 2019年05月20日

JMicron 製コントローラー JMF602 を採用した SSD にてプチフリーズが発生する原因とは

昔の話ですが、SSD の中にはプチフリーズという現象が発生する SSD がありました。プチフリーズとは、SSD を搭載するパソコンを使っていると、まるで短時間フリーズしたように一時的に操作できなくなる現象です。

JMicron 製コントローラー JMF602 を採用した SSD にてプチフリーズの発生が確認されましたが、なぜプチフリーズが発生したか、 Avoid SSDs with Jmicron’s JMF602 Controller によると、キャッシュメモリー容量が小さいことと、フラッシュメモリーにデータを書き込むアルゴリズムに原因があったようです。
First, the Jmicron JMF602 controller only has a 16 KB of onboard cache. That's barely enough to do anything. Contrary to this, the controller that Intel uses, the PC29AS21A blows the Jmicron controller out of the water with 256 KB of cache. The Intel controller also has significantly better wear leveling and write combining algorithms.

During heavy use, the Jmicron controller will literally choke on incoming data, and consequently report back to the operating system that it's buffers are filled and writes and reads need to be queued up. This puts a hold on incoming and outgoing disk I/O, causing applications to hiccup and hang while the controller chugs along. Worst, the performance degrades significantly over time as the drive is used.
Google の翻訳によりそのまま日本語訳にするだけではなく、私の解釈も入れて日本語にすると以下のとおりです。

JMicron 製コントローラー JMF602 には、キャッシュメモリー容量が 16KB しかありません。インテル製コントローラー PC29AS21A のキャッシュメモリー容量は 256KB であり、ウェアレベリング、書き込みデータを結合して一時的にキャッシュメモリーに保存しフラッシュメモリーにまとめて書き込むアルゴリズムに優れています。

SSD へのデータ読み書き処理が多数発生する場合、JMicron 製コントローラー JMF602 だとキャッシュメモリーにデータが詰まり処理が追いつかないので、データ書き込み処理とデータ読み込み処理の命令を、順番を待つ行列のように OS で管理して欲しいと OS に伝えます。これにより SSD のインプットとアウトプットが一時的に停止し、JMicron 製コントローラー JMF602 が不具合を起こしている間アプリケーションは正常に動作しなくなります。

SSD、OS、アプリケーションを人に例えると、JMicron 製コントローラー JMF602 を採用した SSD は仕事の能率が低く、忙しくなり仕事が追いつかなくなると、OS に仕事を手伝ってもらうようになります。

アプリケーションも仕事をしますが OS に手伝ってもらう必要があり、OS が SSD の仕事を手伝っている間はアプリケーションは OS に手伝ってもらえませんので仕事ができず、人に例えたことから元に戻して言うとプチフリーズという現象が発生します。

東芝が SSD 開発にて確認したプチフリーズの原因

東芝製コントローラー採用の SSD ではプチフリーズの発生は確認されていませんが、 開発の現場から最新事情をレポート | SSD完全攻略マニュアル | DOS/V POWER REPORT によると、東芝は SSD の開発にてプチフリーズの原因を確認し、プチフリーズが発生しないように対策済みです。

同記事には、SSD の寿命を延ばすための制御方式やレスポンス時間について以下のとおり書かれています。
「SSDの寿命を決める要素として、NAND型フラッシュメモリの書き換え回数に注目が集まっていますが、“制御方式”によって、数倍から数百倍の大きな差が出ることがあります。たとえば長寿命化のために、書き込みに対して書き換え回数を半分に減らすように制御してしまえば、書き換え可能回数が倍になるような効果は得られます。しかし代償として、ある程度のレスポンス時間のバラつきが出てくるのです」(菅野氏)と語る。これは、書き込み履歴を分析してから実際の書き込みを行なうことで、書き換え回数を低減できるからだ。この履歴の分析の精度は、「最大レスポンス時間の長さにほぼ比例する」(菅野氏)とのこと。
許容する最大レスポンス時間が長くすれば、SSD へのデータ書き換え回数を抑えられ SSD の寿命を延ばすことができます。しかし、長いレスポンス時間が連続発生するとプチフリーズが発生しますが、プチフリーズが発生しないように対策済みと以下のとおり書かれています。
 ただし、長いレスポンス時間が連続して発生するような状況は避けなければならない。「プチフリという現象は、要するに長いレスポンス時間が継続的に続いている状態です。弊社のSSDでは、複数コマンドの書き込みを一度にまとめて行なうので、その際に長いレスポンス時間が発生することがあります。ただし、この場合には前後のコマンドのレスポンス時間は必ず短くなるため、長いレスポンス時間が継続するという問題は起きないようになっています」(菅野氏)。
以上から、データ書き換え回数を抑えるためには書き込み履歴の分析時間を長くすれば良いですが、長いレスポンス時間が連続発生してしまうとプチフリーズが発生することがわかります。

また、レスポンス時間が連続発生しなくても、書き込み履歴の分析時間が長すぎるとレスポンス時間も長すぎプチフリーズが発生すると考えられます。

JMicron 製コントローラー JMF602 を採用した SSD は、SSD にデータを書き込むアルゴリズムに問題があったと思われますが、どのような問題があったかは明らかにされていません。もしかしたら、東芝が SSD の開発にて確認したプチフリーズの原因と似たような原因があったかもしれません。


キャンペーン情報
ドスパラ
・消費税増税目前カウントダウンセール!
特価パソコンをはじめ、お買得なパソコンパーツ、周辺機器を多数ご用意
(9月30日迄)
ツクモ
・ツクモの日祭!
お買い得品を多数ご用意
(10月1日迄)
・旧モデル・型落ち品セール
新品・未開封!型落ち品を大幅値下げで販売中!
(セール実施中)
パソコン工房
・駆けこみ半期決算セール 第1弾
BTOパソコンやPCパーツ・周辺機器などがお得な価格
(9月17日迄)