雑念日記

主に技術的なことをつらとらと(書ければいいな)。

ThinkPad X230におけるSSDのI/Oエラー

(2014-06-09) 続き書きました → ThinkPad + Intel SSD 520におけるI/Oエラー 解決編(?) - 雑念日記


使用マシンのThinkPad X230が不調を訴えるようになりました。
正確に言うと、もともと種があったのですが、最近の作業内容によって顕著に不調を訴えるようになりました。
危なっかしくておちおち仕事もしていられないので改善を試みた、という話です。

以下、3部構成でお送りします。

  1. SSDに関連するX230の不具合について
  2. 不具合解消方法についての調査
  3. SSDの交換

SSDに関連するX230の不具合について

X230の使用中、以下のような現象が発生することがありました。

  • 突然フリーズする
    • Alt+Tabでウィンドウの切り替えをする際に発生することが多かった
    • こうなるともう電源ボタン長押しでシャットダウンするしかなくなる
  • ある瞬間からデータの読み書きが一切行えなくなる
    • 数千、数万レコード単位のDBの読み書きを行うと、ほぼ確実に発生
      • コマンド実行、アプリケーション起動はもちろん不可
      • アイコンやフォントのロードもできなくなるので画面表示はぐちゃぐちゃ
      • ウィンドウ閉、シャットダウンも不可
    • これも電源ボタン長押しでシャットダウンするしかなくなる
  • 上記、いずれもエラーログなどは残っていない(少なくとも自分の場合は)

あるとき、なんとか全く操作不可能になる前にテキストモードで表示してみたら、次のようなエラーが表示されていました。

EXT4-fs (dm-1): previous I/O error to superblock detected
Buffer I/O error on device dm-1, logical block 0
EXT4-fs error(device dm-1): ext4_find_entry:1270: inode #2097153: comm lightdm: reading directory iblock 0
EXT4-fs (dm-1): previous I/O error to superblock detected
Buffer I/O error on device dm-1, logical block 0
EXT4-fs error(device dm-1): ext4_find_entry:1270: inode #2097153: comm Xorg: reading directory iblock 0
end_request: I/O error, dev sda, sector 219579536
end_request: I/O error, dev sda, sector 193725400
end_request: I/O error, dev sda, sector 193725400
end_request: I/O error, dev sda, sector 67682560
...

SSDのチェックをしましたが、不良セクタなどの問題は見つかりませんでした。
また、上記のエラーはext4で試した時のものですが、xfsでも発生しました。特定のファイルシステムでのみ発生するようなものでもなさそうです。

不具合解消方法についての調査

上記の情報をもとに調査をしたところ、以下のフォーラムにたどり着きました。
同じ現象に困惑しているユーザーがある程度いたようです。

x230: SATA errors with 180GB Intel 520 SSD under h... - Lenovo Community
T430s Intel SSD 520 180GB issue - Lenovo Community

上記より、

  • Lenovoブランドの ThinkPad + Intel SSD 520 シリーズの組み合わせで発生する
  • DBへの激しい読み書きを行うと、ある量を越えた時点で確実に再現する

ということがわかりました。
自分の環境も

であったため、該当しました。

フォーラムを見たLenovoのエンジニアが問題を解消すべく、ファームウェアの更新という手で改善を試みましたが、相変わらず各ユーザーの手元でエラーは発生する状態のままのようです。

Intel 520シリーズ ソリッドステートドライブ(SSD)用 ブルースクリーンと起動時にドライブが見えない問題を修正するファームウェアの更新

上記は自分も試してみましたが、体感ではエラー発生の閾値が高くなったような気はするものの、確かにエラーは発生しました。
結局、スレッドが立ってから半年以上経過した現在(2013-08-31)も根本的な解決はできていない状態のようです。

SSDの交換

上記のフォーラムより、

  • Lenovoに連絡したらスタッフがやってきて、マザボを交換したら発生しなくなった!
  • SSDを交換したら発生しなくなるよ!

などの情報を得たので、自分もSSDを交換することにしました。
使用したのはCFDのCSSD-S6T256NHG5Qです。

自分の場合、railsのこのマイグレーションを実行すると必ず再現する、という環境があったので、交換後これを何度か試してみましたが、上記のエラーは発生しなくなりました。

反省

  • 最近だけではなく過去にも不調は見られたので、そのときにちゃんと調査しておくべきだった
  • Lenovo公式をちゃんとチェックしておけばもっと早く解決手段を取れた
  • 少なからず仕事面にも影響が発生し、迷惑を掛けてしまった

失敗の中にノウハウあり

一度、この現象のせいでシステムが壊れて、平日深夜に泣く泣くレスキューモードで復旧を試みるという状況に陥りました。あのときは残暑の影響もあり変な汗をたっぷりかきましたが、バックアップがあったおかげで大きな被害にはなりませんでした。
普段なかなかやらない作業でいろいろ勉強になりましたし、バックアップの重要性を改めて認識しました。

おわり。