条件実装

作りたいときに作るし、書きたいときに書く。

SSDで読めないセクタが発生する現象と対処(できてない)

Plextor社のNVMe SSD PX-1TM9PG+ (2020年5月18日amazon.comにて購入)を使用していたところ、 いくつかのファイルで、特定の位置のデータが読みだせない現象に遭遇しました。

代理店 M9PG Plus|PLEXTOR|株式会社aiuto PCパーツ・周辺機器 総合代理店によると、搭載しているフラッシュメモリはキオクシア製、コントローラはMarvell「88SS1092」とのこと。

具体的な症状は以下の通り、埋め込みの動画も参照

  1. 動画ファイル等の大きなファイルを読み出し(移動、コピー等)する際に、特定の容量まで読み出しが進んだ後、転送速度が0になる
  2. しばらく(1~3分経過)すると、「送り側のファイルまたはディスクから読み取れません」のエラーを生じ、転送が中止する。
  3. その時、SSDのアクティブ時間は100%、読み取り速度はほぼ0であり、平均応答時間は、0msまたは極端に大きい値(数k ms ~ 10k ms程度)を示す。

www.youtube.com

極端に大きい応答時間は、例えば以下のようなもの。この時、ファイルの転送は進んでいません。*1

f:id:memukuge:20220130012618p:plain

この現象の影響は以下の通り。

  1. 書き込み後、期間(数カ月のオーダー)の空いたデータが突発的に読めなくなるるもので、ファイルの書き込み時には正常な動作を示すため、書き込み時に予見できない。
  2. 読めないファイルは多数ある。おそらくSSDの全体にわたって、読めないセクタが散在している。
  3. 動画ファイルや、ゲームデータなど、比較的サイズが大きく、シーケンシャルアクセスをするデータで、読み出せない現象を確認しているが、どのファイルが壊れているか全体像はつかめない。

今のところOSの動作に必要なファイルには影響が出ていないか、出ていても読み出しで踏んでいないだけ。 この現象に伴って試したこととその結果は以下の通り

  1. 2020年5月に購入した当該SSDのFWは1.00、アップデート版FW1.03をインストール→改善ナシ*2
  2. chkdsk不良セクタチェック→改善ナシ*3
  3. 別マシンからSSD全体のイメージ吸い上げでデータ退避→できず。
  4. 最終的な対処として、別のSSDを起動ディスクとし、当該のSSDは必要なデータがあれば探しに行くだけ外付けドライブ化*4

補足情報

  • 当該SSDを搭載したPCはブレーカ遮断等で複数回、予期せぬ電源遮断を行っている。SSDのウェアレベリングなど、SSD内部でデータを再度書き換えている動作中に電源が落ちることで、作業中のデータが救出不可能なのかもしれない。
  • 当該SSDは記事公開時点で保証期間内であるが、長期間のデータ保持を伴わないディスクのR/W操作には問題がなく、保証内容にデータは含まれないので、保証によって救済できない。
  • 当該SSDの購入時に、すでに新しいFWは公開されていた。SSDの購入時には、FWアップデートを必ず行うべき。

*1:埋め込んだ画像で、R:934kB/s, W:41.1kB/sを示しますが、これは目的とするファイルの転送に伴うものではなく、そのセクタの転送を待ったあとに、まとめてやり取りされた他の(システム等の)アクセスと考えられます。

*2:P社はFWアップデート前にデータをバックアップしろと案内しているが、そもそも読み出せないのでバックアップできず

*3:chkdskはいくつかの不良セクタを検知したが、chk前後で症状変わらず。そもそもchkdskNTFSとしての整合性をチェックするもので、さらに下位レイヤであるブロックデバイス(SSD)の特定セクタが読めないとしたらできるのは不良セクタとして飛ばすだけ。読めないセクタのデータを復旧するものではない。

*4:FWアップデートで再発しないかもしれないが、データを丸ごと退避することに非常に手間がかかるため、ディスクを空けることができない