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
です。ご参考までに。