TOSHIBA SSD THNS256GG8BBAA の寿命が来つつあるのかも・・・
ここ最近のことですが、どうも3月くらいに購入した IO DATA の内蔵 SSD SSDN-ST256H (東芝製SSD-THNS256GG8BBAA の oem です) の動作が怪しい気がしてなりません。
この夏が猛暑だから冷却が足りないのか・・・原因はわかりませんが、tar cvfz とかでデータのバックアップを取得していると、結構な頻度でロードアベレージが 90 越えで OS がもの凄く重くなる症状に悩まされています。今までは成功していたサイズの 3Gbyte 程度のデータのバックアップでも、結構引っかかるようになったので、一端 tar cvfz によるバックアップ系を全部停止して問題回避をしています。
下のグラフは月次で行っていたインデックスのバックアップ時に Loadavg のグラフ。明らかにおかしい。
この際の cpu のグラフを見てみると、何故か cpu が完全に張り付いているのが確認できる。今までは tar cvfz を実行する際の gzip での圧縮時でも、こんなに張り付いたことはない。
結論を言うと、未だに原因は判明していない。若干不安なので、近々シングルモードで 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 になっていることから、何か重要な値とエラーに関する推測される。
まぁなんにしても、下記のようなエラーが出力されているので、何かが起こっていることは間違いなさそう。
それにしても、そもそもメーカーとして仕様はちゃんと公開して欲しいものです。 Intel SSD のようにね。
Intel X18-M/X25-M SATA Solid State Drive
このデータから、そろそろ寿命なのかわかる方おりましたら、是非ご教授いただければと思います。
コメントやシェアをお願いします!
東芝SSDユーザー
WindowsのSSDLifeというツールによれば
168 A8 SATA PHY Error Count
169 A9 Total Bad Block Count
170 AA Max Bad Block Count
173 AD Erase Count
175 AF Bad Cluster Table Count
です。ご参考までに。