ウチの SH8KP12A、ちかごろ調子が良くないな…、と思いつつ、リカバリして Vista を初期状態に戻したり、前に書いたように openSUSE をインストールしてデュアルブートにしたりしていた。それまでは、やっぱり Windows はヘボだから Vista でも段々おそくなるのかな、なんて思ったりしていたが、リカバリしても、SUSE でも、なんだか遅い。薄々そんなことじゃないかとは感じていたが、これはアレ、やっぱり、ハードディスクの性能が低下してきているのではないか。そこで SUSE で hdparm の簡易測定(# hdparm -tT /dev/sda)を10回連続でかけてみたところ、Timing buffered disk reads の値が最高で 35.76MB/sec、最低で 30.48MB/sec、平均して 35.383MB/sec という結果が出た。また Vista でも Crystal Disk Mark で 1000MB x5 の設定により測定したところ Sequential read が 34.788MB/s という結果だった。普段からベンチマークテストなどはしていなかったので、いつに比べてどのくらい落ちた、とは言えないものの、2007年発売の PC に内蔵の HDD としては、遅すぎるのではないだろうか。

もしハードディスクの性能が落ちてきているのだとすると、その原因は、長期間の使用や熱による部材の劣化、落下や振動などによる機械の故障や接続の緩み、などが考えられる。しかし何れにしても、このまま使い続けると、最悪の場合、使用中に限界に達して破壊、という事態が近い将来に起こるかもしれない。

さて、どうしよう?

対策を検討してみる。

別の HDD や SSD への交換

まず考えられるのは、新しいハードディスクを購入して現在のハードディスクと交換することだ。この場合の難点は、SH8 の接続規格が発売当時すでに旧世代のものになっていた IDE であること。IDE 接続の HDD はいま市場から消えかけている。SSD も同様で、入手はできるけども SATA 規格のものに比べると割高感がある。

外部ストレージからの起動

一つの選択肢は USB 端子やメモリカードスロットを使い、外部ストレージに OS をインストールして、内蔵の HDD は止めるか抜くかしてしまうという方法。しかし本体側面の CF スロットは速度が出ず、SD はカード自体がそんなに速くない。USB フラッシュメモリも USB 2.0 では高速なものでも 30数MB/s 程度で頭打ちとなってしまうらしく、これでは静音化にしかならない。使用中に何かに触るかして接続が緩んでしまうとまずいという問題もある。

変換器を介したメモリカードへの交換

もう一つの選択肢は、IDE 変換器を使い、フラッシュメモリカードをハードディスクの代わりに内蔵すること。SD-IDE アダプタも市場にはあるが、SD カードは速度不足なので CF の方が良い。CF-IDE アダプタを使えば CF 本来の性能が活かせるし、静音化にもなる。変換器さえ壊れなければ、将来 CF を差し替えて大容量化や更なる高速化もできる。

というわけでこのあたりをぐるぐる回っていたのだが、結局のところ値段と利点で CF-IDE 変換器を使う方法に決めた。

今日の食材

今回の調理のために購入した材料はこの三つ。


SH8 の分解

SH8 はハードディスクを取り出せる状態にするまで多くの手順を要する。工人舎は「プロのモバイルノート」を謳っていたのだから、ThinkPad の様に簡単に交換できる様にして欲しかったなあ。分解の方法は先人の知見が『工人舎 SHシリーズ - usyWiki』に掲載されているのでまずは熟読。前にハードディスクを取り出して再利用するために SA1F00A は分解したことがあったので、おおよそ似た感じだろう、と把む。

分解は大体そのページの通りに進めたが、無線LANのアンテナは抜けない感じがしたのでモジュールごと外して浮かせるようにしておいた。また、ウチの SH8 は某 kjs-t の再整備品だからか、線がテープで留められている箇所があって妨げになったので、ピンセットで剥がした。

こういうのは「ゆっくり、しずかに」が基本。IDE 端子はフレキケーブルで基板と繋がっていて、そのままハードディスクを引っ張ると断線の恐れがあると判断し、基板から抜いてフレキごと取り外した。

CF カードを挿した CF-IDE 変換器を端子に差し込む。根元まで刺さらないが仕方ない。まずハードディスクから外したマウンタだけを本体に置き、IDE 端子のフレキケーブルを基板上の端子に戻す。このままでは CF-IDE 変換器を固定できず、そのうち断線するかもしれないので、CF カードがはみだした部分にガムテープ(クラフトテープじゃない方)を貼ってマウンタに固定する。

分解より組み直す方が手間で、特にフレキケーブルはどのくらい差しこめば良いのか分かりにくいので、電源再投入までドキドキする。電源を入れたら、まずは BIOS Setup に入って確認。無事に認識された。

OS のインストール

ディスク使いの荒い Vista なんか怖くてフラッシュメモリにインストールできないし、もちろん openSUSE 一択だ。デスクトップ環境は XFCE を選択。パーティション設定ではスワップは作らず、容量が少ないので融通が利く様に /home も分離しない。インストール時間を節約するために明らかに不要なパッケージは外しておく。シングルブートなので Grub2 は安心して MBR に入れる。インストール後は /tmp を tmpfs にした上で、$XDG_CACHE_HOME や Firefox のキャッシュディレクトリを /tmp の下に変更してディスクへの書き込みを減らす。キャッシュの書き込み回数も減らす様に設定しておく。

参考文献

気になる CF のお味は

ハードディスクの音が無い分、静かになり、微細な振動も無くなり、発熱も減って冷却が良くなり、軽くなっただけ大容量バッテリで重い後ろ側に重心が寄った。そしてもちろんデータの読み出しも速くなったし、懸念していた書き込み速度も、openSUSE のインストールや USB ストレージからの転送を見る限り、特に遅いという感じはしない。

hdparm 情報

# hdparm -i /dev/sda
/dev/sda:

 Model=CF Card, FwRev=Ver6.05, SerialNo=14EF07280D0800334868
 Config={ HardSect NotMFM Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=32256, SectSize=512, ECCbytes=4
 BuffType=DualPort, BuffSize=1kB, MaxMultSect=1, MultSect=1
 CurCHS=16383/16/63, CurSects=31522176, LBA=yes, LBAsects=31522176
 IORDY=yes, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 udma6 
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-4,5

 * signifies the current active mode

下は # hdparm -tT /dev/sda を10回連続で実行した結果。平均 62.73MB/s 出ているので、65MB/s という売り文句に対して妥当な実効速度と言ってよさそうだ。

/dev/sda:
 Timing cached reads:   866 MB in  2.00 seconds = 432.36 MB/sec
 Timing buffered disk reads: 190 MB in  3.02 seconds =  62.91 MB/sec

/dev/sda:
 Timing cached reads:   846 MB in  2.00 seconds = 423.01 MB/sec
 Timing buffered disk reads: 190 MB in  3.01 seconds =  63.22 MB/sec

/dev/sda:
 Timing cached reads:   860 MB in  2.00 seconds = 430.30 MB/sec
 Timing buffered disk reads: 192 MB in  3.04 seconds =  63.20 MB/sec

/dev/sda:
 Timing cached reads:   862 MB in  2.00 seconds = 430.67 MB/sec
 Timing buffered disk reads: 188 MB in  3.03 seconds =  62.00 MB/sec

/dev/sda:
 Timing cached reads:   850 MB in  2.00 seconds = 424.78 MB/sec
 Timing buffered disk reads: 190 MB in  3.02 seconds =  62.90 MB/sec

/dev/sda:
 Timing cached reads:   860 MB in  2.00 seconds = 430.21 MB/sec
 Timing buffered disk reads: 188 MB in  3.01 seconds =  62.43 MB/sec

/dev/sda:
 Timing cached reads:   862 MB in  2.00 seconds = 431.53 MB/sec
 Timing buffered disk reads: 190 MB in  3.01 seconds =  63.11 MB/sec

/dev/sda:
 Timing cached reads:   862 MB in  2.00 seconds = 430.80 MB/sec
 Timing buffered disk reads: 190 MB in  3.01 seconds =  63.11 MB/sec

/dev/sda:
 Timing cached reads:   860 MB in  2.00 seconds = 429.44 MB/sec
 Timing buffered disk reads: 188 MB in  3.02 seconds =  62.20 MB/sec

/dev/sda:
 Timing cached reads:   854 MB in  2.00 seconds = 426.71 MB/sec
 Timing buffered disk reads: 188 MB in  3.02 seconds =  62.26 MB/sec

追記(2014-04-10)

IDE の HDD が一つ遊んでいる(確か2006〜7年ごろに買ったけどあまり使ってない)ので CF と入れ替え Vista をリカバリして CrystalDiskMark で計測してみた。

-----------------------------------------------------------------------
CrystalDiskMark 3.0.3 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    37.735 MB/s
          Sequential Write :    36.550 MB/s
         Random Read 512KB :    22.147 MB/s
        Random Write 512KB :    19.364 MB/s
    Random Read 4KB (QD=1) :     0.420 MB/s [   102.4 IOPS]
   Random Write 4KB (QD=1) :     0.784 MB/s [   191.5 IOPS]
   Random Read 4KB (QD=32) :     0.489 MB/s [   119.5 IOPS]
  Random Write 4KB (QD=32) :     0.796 MB/s [   194.4 IOPS]

  Test : 1000 MB [C: 31.0% (12.2/39.5 GB)] (x5)
  Date : 2014/04/10 2:05:58
    OS : Windows Vista Home Premium [6.0 Build 6000] (x86)

ちなみに交換前の HDD の速度は:

-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :    34.788 MB/s
          Sequential Write :    33.767 MB/s
         Random Read 512KB :    21.450 MB/s
        Random Write 512KB :    18.390 MB/s
    Random Read 4KB (QD=1) :     0.275 MB/s [    67.1 IOPS]
   Random Write 4KB (QD=1) :     0.592 MB/s [   144.5 IOPS]
   Random Read 4KB (QD=32) :     0.470 MB/s [   114.9 IOPS]
  Random Write 4KB (QD=32) :     0.753 MB/s [   183.9 IOPS]

  Test : 1000 MB [C: 57.1% (30.5/53.5 GB)] (x5)
  Date : 2013/02/07 22:21:06
    OS : Windows Vista Home Premium Edition SP2 [6.0 Build 6002] (x86)

……あまり変わらなかった(^_^;)