|
No.5014 2018.10.16
メモリを買ったら必ず検査しよう メモリ検査ソフト MemTest86+
□1.メモリには初期不良がある
|
ここでは、メモリモジュールに不良品が混在する理由ついて述べています。
MemTest86+の使い方には関係ないため、一定の確率で不良品を掴まされても
納得している場合は読み飛ばしてください。
メモリには初期不良があります。酷いものだと、パソコンが起動しない、起動時にBIOSのPOSTでメモリエラーが出るといった症状がでます。しかし、Windowsの操作が重くなる、突然ブルースクリーンが出るといった、メモリが原因であると分かりにくい場合も多いのが現状です。
メーカーでは検査をしますが、チェックしきれない場合があります。
半導体には前工程と後工程がありますが、
後工程はメモリメーカーが行わない場合もあります。DDR4の前工程を生産しているメーカーは、2018年現在でSAMSUNG、SK Hynix、Micron、Nanyaの4社しかありません。ただし特殊用途向けなどで他に数社あるようです。その4社の刻印ではなく、かつサブブランドでもない場合のメモリチップメーカーは前工程を生産していないはずですので前工程完了品を4社のどれかから購入して、自社でパッケージング、もしくは後工程専門の会社に外注して自社ブランド名をパッケージに刻印しているのだと思われます。
前工程側では、検査工程を省いて価格を安くして後工程に出荷する場合もあるようです。前工程では検査のできる物理的限界もあります。チップにMicron、SAMSUNGと刻印されていれば、メモリチップメーカーが責任を持って後工程まで製造している、もしくは外注であっても社内基準に合うように工程の品質管理がされているはずです。そうしないとブランド価値が下がってしまします。
検査とは、もし不良品を作っても外に出さない仕組みです。検査には時間が掛かるため、その時間がボトルネックとなりコストになります。
全数検査ではなく抜き取り検査にする、検査項目を減らすなどのコスト削減は当然でしょう。
不具合が一定の範囲の確率で収まっていれば、そのまま出荷するメーカーも多数あると思います。
それらの安いメモリチップを基板に搭載したメモリモジュールを生産して、そこでの検査もコスト削減をすれば市場に不良率の高いモジュール出回ることになります。しかし、他のメモリより3割安ければ、購入の選択肢になると思います。価格comやAmazonのレビューで悪い評価が点在していても、良い評価もあれば購入欲は消えないでしょう。
不良率が高ければ、店舗からのクレームや返品も多くなり交換コストが掛かますが、一定の割合であればそれが一番の手間やお金の掛からないやり方だったりします。例えるなら、スーパーが数百円の万引きによる利益の損失を防ぐために高性能な動体や顔認識機能などを備えた最新の防犯システムを導入し、数千万円の初期費用と毎月数十万円の維持費を払っても、逆にコスト増で利益が下がるようなものです。
ただしメモリチップメーカーも短時間で正確に検査できるように、システムを日々進化させています。
そもそも不良品を作らないように工程や設備も改善しています。ですので昔よりも不良率は大幅に減っています。
そもそも、いくらコストを掛けても不良率を絶対的なゼロにすることは不可能です。
例えばメモリモジュールを高温、低温、常温の3条件で時間の掛かるパターンを用いた全数検査しているメーカーは世の中に1つもないでしょう。サーバー用メモリでも同様です。しかし、確率的に低い特定の要件が重なった場合に不具合が出るような場合もあります。
それよりもコストが価格に転嫁された時点で誰も選ばなくなるでしょう。
メモリモジュールは1ビットでも問題があれば、それは不良品です。
例えば8GBのメモリモジュールの場合、68,719,476,736ビット分の1010の2進数が存在します。
つまり、687億個のスイッチが内蔵されています。
スイッチは1つのトランジスタと1つのコンデンサが必要ですので、
687億個のFETと687億個のコンデンサが内蔵されています。
更にはそれらの配線に問題があっても不良になります。
つまり1374億個+配線数のうち1つでも不良があればメモリチップの不良となり、
メモリモジュール全体の不良になります。メモリチップがBGAパッケージであれば、基板との実装に使われるはんだの応力歪みによる割れ、断線も問題となります。
他にはメモリチップの周辺にセラミックコンデンサやダンピング抵抗などが実装されており、それらのはんだ不良や基板パターンの断線、それら回路素子の仕様値外れなどの不具合で正常に動作しないことがあります。メモリモジュールの保管や輸送がずさんだと、そのときに生じる落下や外部衝撃によって基板パターンに傷が付いて断線したり、回路素子が取れてしまうこともあります。
例えコストを掛けて市場の初期不良率を100万人に1人の確率にしても、その不良品を運悪く手に取った人にとってみれば1分の1です。不良品を掴まされて使い続けた時の労力と怒りは、相当なものになるでしょう。逆に言えば、1万人に1人の確率に品質を低下させても不良品を運悪く手に取った人にとってみれば同じ1分の1であり、それにより製造コストが半分になって販売価格が30%値下げできるのであれば圧倒的な競争力になります。
ですので、メモリを買ったらエンドユーザーが自分で検査するのは当たり前のことなのです。
|
□2.メモリ検査の方法
|
ここでは、メモリ検査ソフトと基本的な動作原理について紹介しています。
MemTest86+の使い方には関係ないため、どのようなソフトがあるのか、
どのように動いているのか興味のない場合は読み飛ばしてください。
メモリの検査は、専用の検査ソフトを使用します。
メモリ検査ソフトもメモリを使用しますので、ソフトを動かすOS+ソフトの1〜2MB分は検査できないため、前提として正常である必要があります。そこに不良があるとそもそも起動しないと思いますが、起動して検査ソフトが正常に動作する場合もあるでしょう。気になる場合は、検査PASS後にメモリスロットに刺しているメモリモジュールを組み替える、もしくはOS+ソフトで使用するメモリに検査対象ではないメモリを使用し、メモリアドレスが最初になるスロットにそのメモリモジュールを挿すといった対策が必要です。一般的には、マザーボードにシルク印刷されているメモリスロット番号の一番小さい番号が、メモリアドレスの先頭になります。
Windows上で検査できるソフトもあるようですが、OSの使用領域はそもそも検査できません。Windowsのメモリ空間はWindows自身が動的に管理し、ソフトはOSが提供する仮想空間のメモリ領域で動作しますので、物理的に検査できる領域には限界があります。ですので、OSで占有する領域が少なく、かつ物理メモリ空間に直接アクセスできるDR-DOSや専用OSなどが使用されるのが一般的です。
検査ソフトで最も良いのは、ウルトラエックス社のR.S.Tです。
しかし個人向けではないので、使用できません。15年以上前はパッケージで購入できたのですが、残念ながら現在は購入できません。QuickTechProというパソコンの統合検査ソフトにも、一機能としてR.S.Tのようなメモリテストがあります。
ウルトラエックス社 診断ツール一覧
https://www.uxd.co.jp/products/diag/tools/index.html
個人で利用できるのは、Memtest86とMemtest86+になります。
Memtest86+の経緯やMemtest86との違いはWikipediaに詳しく記載されています。
Wikipedia Memtest86
https://ja.wikipedia.org/wiki/Memtest86
Wikipediaの記載とは異なり、現在では本家Memtest86のほうが定期的にアップデートされていますが、
今でも一般的に広く使われているのは Memtest86+ですのでこちらを使用します。
時間があれば、両方使用してみるのも良いかもしれません。
Memtest86+
http://www.memtest.org/
<参考> Memtest86 ※最新バージョンは、Version 7.5 (Build 1001) 21/Feb/2018
https://www.memtest86.com/
検査ソフトの原理は、メモリ領域にデータを書き込んで、それを読み込んだときに書き込んだデータと一致するかを比較し、記憶機能が正常かどうかを判断します。
例えば0xFF(1111,1111)とメモリの特定の領域に8bit分を書き込んだ場合、それを読めば 0xFF(1111,1111)となるはずです。
しかし、0xEF(1110,1111)と返ってくれば4ビット目の不良と分かります。このとき、0x00(0000,0000)と書き込めば、読み込んでも0x00(0000,0000)が返ってくるだけですので、
不良だと分かりません。しかし0x10(0001,0000)と返ってくれば4ビット目の不良と分かります。
ここで問題なのは、例えば0x55(0101,0101)と書き込んだ後に0xAA(1010,1010)と上書きして読み込むと4ビット目が異常と判断できる0xBA(1011,1010)が返ってきますが、0xAAではなく上記のように0x00(0000,0000)と上書きすると4bit目の異常が発生せずに0x00(0000,0000)と正しく返ってくる場合もあるのです。
また、例えば1000回同じ動作をさせると1〜2回だけ発生するといった、常時ではない確率的に発生する動作不良もあります。
ですのでメモリ検査ソフトは、独自のノウハウが蓄積された様々なパターンやタイミングで動作します。
そのため時間も多く掛かります。
稀に、どのメモリモジュールに変えても同じようにエラーがでるときがあります。
その場合、マザーボードに搭載されているチップセットに内蔵されているメモリコントローラー等の不良の場合もあります。最近ではintelでもAMD等のようにCPUにメモリコントローラーが内蔵されているようです。メモリスロットの端子不良やマザーボード基板の配線不良やはんだ不良等の場合もあります。メモリ検査ソフトでエラーが出たからといっても、必ずしもメモリモジュール側の不良とは言えない場合もあるので注意が必要です。
メモリモジュールの初期不良だと信じて疑わず行動をすると、振り上げた拳の行き場に困って恥をかくことになります。
|
□3.Memtest86+ の使い方
|
使い方は単純です。
使用方法は、以下の通りです。
@サイトからISOファイルの圧縮ファイルをダウンロード
2018年10月現在の最新のバージョンは、Memtest86+ V5.01 (27/09/2013) です。
A解凍してISOファイルをCD-RやDVD-Rなどに焼く
BBIOSで起動ドライブの順序を変更し、作成したメディアから起動させます。
UEFIしか起動できないようにしている場合は、非UEFIでもブートできるように変更します。
なお、可能であればHDDの電源ケーブルは抜いておいたほうが良いでしょう。
C勝手にプログラムが起動し、以下の初期画面になります。
しばらくすると自動的に検査がスタートします。
この初期画面のときにF2キーを押すとマルチスレッドモードで検査プログラムが動作します。
マルチスレッドの場合、検査時間が短くなりますがCPUやチップセット、
メモリ等の相性によって正常に動作しない場合があるようです。
永遠に検査をし続けるので、しばらくの時間放置しておきます。
放置時間は、取り付けているメモリモジュールの合計容量で異なります。
8GBで1日くらいです。
DPASSが5〜6くらい表示されれば取り付けているメモリモジュールは正常と判断します。
Eメディアを抜いてパソコンを再起動して、起動ドライブの順序を元に戻します。
HDDの電源ケーブルを抜いてあった場合、挿して元に戻します。
【その他】
検査中に「c」キーを押すとメニューが表示されます。
該当の項目の番号をキーボードで押すとメニューに入れます。
このときテンキーは使用できません。
6番の「Display DMI Data」を押すと、メモリアドレス空間とスロットNoの対応が分かります。
しかしマザーボードにシルク印刷されているDIMM0〜DIMM3の順序と
一致していない場合があるため、注意が必要です。
このとき、「メモリ検査の方法」にて述べた通り、アドレス0x000000000000から始まる
メモリモジュールの最初の領域はOSやソフトで使用されるため、基本的に検査できません。
|
|