昔の SSD はタフだった

d:id:halfrack:20130417:1366193468 を見た同僚が教えてくれた X25-M G2 のホストについて、古い SSD はマージンたっぷりだったという話。

このホストは DB サーバだが、メッセージングサービス的なものに使われているので、更新ヘビーで辛い DB になる。

[root@nantokagoe smartmontools-6.1]# uptime
 19:29:02 up 1028 days,  2:49,  2 users,  load average: 0.00, 0.05, 0.04
[root@nantokagoe smartmontools-6.1]# iostat -k -x -d sda | sed -n '3,4p'
Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.12   246.21 114.24 260.99  1434.11  6111.88    40.22     0.02    0.19   0.11   4.19
[root@nantokagoe smartmontools-6.1]#

書き込み量は前エントリの倍近いレートの 6.1MB/s である。
しかし、 SMART Attribute を確認すると、この書き込み量で 36ヵ月以上虐待し続けたにも関わらず、 233 Media_Wearout_Indicator は 39% 残っている。*1

[root@nantokagoe smartmontools-6.1]# ./smartctl -i /dev/sda | egrep '(Model|Firm|Capa)'
Model Family:     Intel X18-M/X25-M/X25-V G2 SSDs
Device Model:     INTEL SSDSA2M080G2GN
Firmware Version: 2CV102G9
User Capacity:    80,026,361,856 bytes [80.0 GB]
[root@nantokagoe smartmontools-6.1]# ./smartctl -A /dev/sda | egrep '^(ID|  5|  9|225|233)'
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0032   100   100   000    Old_age   Always       -       164
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       26935
225 Host_Writes_32MiB       0x0030   200   200   000    Old_age   Offline      -       16741249
233 Media_Wearout_Indicator 0x0032   039   039   000    Old_age   Always       -       0
[root@nantokagoe smartmontools-6.1]#

225 Host_Writes_32MiB に至っては RAW VALUEカンストしてしまっていて、メーカー想定外の酷い使い方である雰囲気を感じる。また、この値を信じるなら最低でも 535TB は書き込んでいることとなり、 X25-M G2 公称値の 15TB を 35回ほどブッちぎっている。ほんと良く壊れてないなこいつ。

結論

危険側に倒さなそうなメーカの初期製品は、マージンもりもりで美味しい。*2
初期の製品だったので、ありとあらゆるところを安全側に倒してこの SSDIntel は設計・開発したのだろう。また、 X25-M G2 の NAND は 34nm のものであり 5000回の書き換えに耐え、最近の微細化が進んだ NAND より書き込み量の面で大きな余裕がある。

備考

以下備考と全ログ。

[root@nantokagoe smartmontools-6.1]# ./smartctl -iA /dev/sda
smartctl 6.1 2013-03-16 r3800 [x86_64-linux-2.6.18-164.11.1.el5xen] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Intel X18-M/X25-M/X25-V G2 SSDs
Device Model:     INTEL SSDSA2M080G2GN
Serial Number:    CVPO942000660xxxxx
LU WWN Device Id: 5 001517 9590b6814
Firmware Version: 2CV102G9
User Capacity:    80,026,361,856 bytes [80.0 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA/ATAPI-7 T13/1532D revision 1
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Wed Apr 17 19:58:37 2013 JST

==> WARNING: This drive may require a firmware update to
fix possible drive hangs when reading SMART self-test log:
http://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=18363

SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  3 Spin_Up_Time            0x0020   100   100   000    Old_age   Offline      -       0
  4 Start_Stop_Count        0x0030   100   100   000    Old_age   Offline      -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   000    Old_age   Always       -       164
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       26935
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       31
192 Unsafe_Shutdown_Count   0x0032   100   100   000    Old_age   Always       -       18
225 Host_Writes_32MiB       0x0030   200   200   000    Old_age   Offline      -       16741652
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       -       65535
227 Workld_Host_Reads_Perc  0x0032   100   100   000    Old_age   Always       -       65535
228 Workload_Minutes        0x0032   100   100   000    Old_age   Always       -       65535
232 Available_Reservd_Space 0x0033   098   098   010    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0032   039   039   000    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   099    Pre-fail  Always       -       0

[root@nantokagoe smartmontools-6.1]#

Intel ばかり立てて Micron 落としてる感じだが、 Intel も 25nm 製品の初期ロットで何回か初期不良に遭遇したりとかあるので、どっこいどっこいかと思います。

*1:最初 100 でした。

*2:という場合もある