TOSHIBA SSD THNS256GG8BBAA の寿命が来つつあるのかも・・・

ここ最近のことですが、どうも3月くらいに購入した IO DATA の内蔵 SSD SSDN-ST256H (東芝製SSD-THNS256GG8BBAA の oem です) の動作が怪しい気がしてなりません。

この夏が猛暑だから冷却が足りないのか・・・原因はわかりませんが、tar cvfz とかでデータのバックアップを取得していると、結構な頻度でロードアベレージが 90 越えで OS がもの凄く重くなる症状に悩まされています。今までは成功していたサイズの 3Gbyte 程度のデータのバックアップでも、結構引っかかるようになったので、一端 tar cvfz によるバックアップ系を全部停止して問題回避をしています。

下のグラフは月次で行っていたインデックスのバックアップ時に Loadavg のグラフ。明らかにおかしい。

load-day.png

- スポンサーリンク -

この際の cpu のグラフを見てみると、何故か cpu が完全に張り付いているのが確認できる。今までは tar cvfz を実行する際の gzip での圧縮時でも、こんなに張り付いたことはない。

cpu-day.png

結論を言うと、未だに原因は判明していない。若干不安なので、近々シングルモードで Linux を起動させて、True image なりを使って SSD のクローンを HDD で作成しておこうかと計画している。故障してからリカバリする方が、圧倒的に時間・稼働的なコストがかかるためです。

Linux にも S.M.A.R.T. の値を取得する smartmontools というツールがあり、CentOS5 であればデフォルトでインストールされており、smartctl コマンドで値を取得することができる。インストールされていない場合も、http://sourceforge.net/apps/trac/smartmontools/wiki からインストールする、もしくは yum コマンドからインストールすれば、smartctl コマンドが使えるようになる。

このによって SSD の状態を知ることができるので使ってみたのだが、残念ながら東芝製 SSD は SMART の仕様が公開されておらず、unknown のデータの意味がわからない。とりあえず自己診断テストはパスしている模様です。

[root@srv01 ~]# smartctl -H /dev/sda1
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED


[root@srv01 ~]# smartctl -a /dev/sda1
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     TOSHIBA THNS256GG8BBAA
Serial Number:    ************
Firmware Version: AGYA0201
User Capacity:    256,060,514,304 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Fri Aug 27 21:31:43 2010 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                 ( 780) seconds.
Offline data collection
capabilities:                    (0x1b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        No Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  20) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000a   100   100   000    Old_age   Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0007   100   100   050    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0013   100   100   050    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   050    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   100   100   050    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0012   100   100   000    Old_age   Always       -       3902
 10 Spin_Retry_Count        0x0013   100   100   050    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0012   100   100   000    Old_age   Always       -       24
167 Unknown_Attribute       0x0022   100   100   000    Old_age   Always       -       0
168 Unknown_Attribute       0x0012   100   100   000    Old_age   Always       -       0
169 Unknown_Attribute       0x0013   100   100   010    Pre-fail  Always       -       3530756066176
170 Unknown_Attribute       0x0013   100   100   010    Pre-fail  Always       -       167512899682
173 Unknown_Attribute       0x0012   100   100   000    Old_age   Always       -       4306763844
175 Unknown_Attribute       0x0013   100   100   010    Pre-fail  Always       -       0
192 Power-Off_Retract_Count 0x0012   100   100   000    Old_age   Always       -       12
194 Temperature_Celsius     0x0023   064   054   030    Pre-fail  Always       -       36 (Lifetime Min/Max 17/46)
240 Head_Flying_Hours       0x0013   100   100   050    Pre-fail  Always       -       0

SMART Error Log Version: 1
ATA Error Count: 27 (device log contains only the most recent five errors)
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 27 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 80 88 70 00 e0  Error: ICRC, ABRT 128 sectors at LBA = 0x00007088 = 28808

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 d0 80 88 70 00 e0 00      00:14:38.301  READ DMA EXT
  25 d0 80 08 70 00 e0 00      00:14:38.301  READ DMA EXT
  25 d0 80 88 6f 00 e0 00      00:14:38.299  READ DMA EXT
  25 d0 80 08 6f 00 e0 00      00:14:38.297  READ DMA EXT
  25 d0 80 88 6e 00 e0 00      00:14:38.295  READ DMA EXT

Error 26 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 80 f0 7e 5e e0  Error: ICRC, ABRT 128 sectors at LBA = 0x005e7ef0 = 6192880

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 d0 80 f0 7e 5e e0 00      00:14:33.439  READ DMA EXT
  25 d0 80 70 7e 5e e0 00      00:14:33.439  READ DMA EXT
  25 d0 80 f0 7d 5e e0 00      00:14:33.437  READ DMA EXT
  25 d0 80 70 7d 5e e0 00      00:14:33.435  READ DMA EXT
  25 d0 80 f0 7c 5e e0 00      00:14:33.433  READ DMA EXT

Error 25 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 80 88 34 01 e0  Error: ICRC, ABRT 128 sectors at LBA = 0x00013488 = 78984

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 d0 80 88 34 01 e0 00      00:14:32.773  READ DMA EXT
  25 d0 80 08 34 01 e0 00      00:14:32.773  READ DMA EXT
  25 d0 80 88 33 01 e0 00      00:14:32.771  READ DMA EXT
  25 d0 80 08 33 01 e0 00      00:14:32.769  READ DMA EXT
  25 d0 80 88 32 01 e0 00      00:14:32.767  READ DMA EXT

Error 24 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 80 08 e0 00 e0  Error: ICRC, ABRT 128 sectors at LBA = 0x0000e008 = 57352

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 d0 80 08 e0 00 e0 00      00:14:32.433  READ DMA EXT
  25 d0 80 88 df 00 e0 00      00:14:32.433  READ DMA EXT
  25 d0 80 08 df 00 e0 00      00:14:32.431  READ DMA EXT
  25 d0 80 88 de 00 e0 00      00:14:32.429  READ DMA EXT
  25 d0 80 08 de 00 e0 00      00:14:32.428  READ DMA EXT

Error 23 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  84 51 80 88 cd 00 e0  Error: ICRC, ABRT 128 sectors at LBA = 0x0000cd88 = 52616

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 d0 80 88 cd 00 e0 00      00:14:32.357  READ DMA EXT
  25 d0 80 08 cd 00 e0 00      00:14:32.357  READ DMA EXT
  25 d0 80 88 cc 00 e0 00      00:14:32.355  READ DMA EXT
  25 d0 80 08 cc 00 e0 00      00:14:32.353  READ DMA EXT
  25 d0 80 88 cb 00 e0 00      00:14:32.351  READ DMA EXT

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


Device does not support Selective Self Tests/Logging


購入時に実行した値と比較して読み取れるのはこんな感じ。

ID# = 169(A9) : 随分と大きな値が入っているけど固定値っぽい。
ID# = 170(AA) : 随分と大きな値が入っているけど固定値っぽい。
ID# = 173(AD) : 経過時間とともに増加していく値に見える。書き込みデータ量に比例している?
ID# = 175(AF) :今のところ 0 だが、閾値が 10 になっていることから、何か重要な値とエラーに関する推測される。

まぁなんにしても、下記のようなエラーが出力されているので、何かが起こっていることは間違いなさそう。

Error: ICRC, ABRT 128 sectors at LBA

それにしても、そもそもメーカーとして仕様はちゃんと公開して欲しいものです。 Intel SSD のようにね。
Intel X18-M/X25-M SATA Solid State Drive

このデータから、そろそろ寿命なのかわかる方おりましたら、是非ご教授いただければと思います。

- スポンサーリンク -