概要
パリティ エラーはビット反転です。 電子工学およびコンピューティングでは、内部または外部ソースからの電気干渉や磁気干渉によってシングル ビットやメモリが自然に反対の状態に反転することがあります。 このイベントによってデータ ビットは無効となり、これはパリティ エラーと呼ばれます。
通常これらのエラーはソフトとハードの 2 種類に分類されます。
ソフト パリティ エラーでは、これらのイベントは一時的でランダムです。 これらは通常、特定のメモリ バンクで一度のみ発生します。
ハード パリティ エラーはメモリ ハードウェアの物理的な機能不全またはメモリ セルの読み取りや書き込みに使用される回路部分によって引き起こされます。 通常は繰り返し発生し、交換が必要です。
ほとんどのパリティ エラーは静電気や磁気関連の環境条件によって発生します。 メモリチップのシングルイベントエラーの大部分は、バックグラウンド放射(宇宙線からの中性子、核施設など)、電磁干渉(EMI)、および静電放電によって引き起こされます。 これらのイベントにより、1 つ以上のメモリ セルの電力状態がランダムに変化したり、メモリ セルの読み取りや書き込みに使用される回路が干渉されたりする可能性があります。
問題
パリティ エラーは、ASR9k のラインカードで使用されているような高密度メモリにおいては避けられない事象です。 したがって、制御できるのはエラーの処理方法のみです。一部の ASR9k(xmen/typhoon)ラインカードでは、まれな状況において、レイヤ 1 キャッシュのエラーが発生する可能性があります。 これらは、データキャッシュ(DCPERRまたはICPERR)または命令キャッシュ(DCPERRまたはICPERR)のカーネルパニックとして表示されます。また、ラインカード上のNP(ネットワークプロセッサ)によって使用されるさまざまなメモリバンクでもエラーが発生します。 通常は、次のエラー ログのタイプから始まるエラーが表示されます。
%PLATFORM-NP-0-NON_RECOVERABLE_SOFT_ERROR
%PLATFORM-NP-3-ECC
%PLATFORM-PFM-0-CARD_RESET_REQ
ここでの問題はフル ラインカードのリロードでの DCPERR/ICPERR の結果です。 さまざまな NP メモリ バンクの大部分でも同様でした。 ほとんどのラインカードには複数の NP があるため、これが理想的でないのは明白です。 1 つの NP のみに問題があるときになぜラインカード上のすべての NP が影響されるのでしょうか。
解決方法
Typhoon LC CPU キャッシュで発生する DCPERR エラーや ICPERR エラーについては解決策があるため、慌ててラインカードをリロードする必要がありません。 これはCSCux30405で実行されます。現在バージョン5.3.3以降に統合されています。
NP メモリでは、これ以上に複雑になります。 これまで、さまざまなメモリにスクラビング処理を行ってどれが安全に無視できるのか、あるいはどれが回復するのに影響が少ないかを判別するのに多大な努力がなされてきました。 そのほとんどは 5.3.3 以降に統合され、一般的なリリースの大半には Umbrella SMU が構築されてきました。
注:これにより、CSCvc69282 割り込みが続いているためにカーネルがクラッシュする可能性があります。
NP ソフト エラー処理の改善
2015 年後半および 2016 年前半にかけて、Typhoon と Tomahawk 向けに NP ソフトエラー処理のさまざまな改善がなされました。 たくさんの異なるメモリの処理はラインカードのリロードを必要としていた方法から、メモリ内でのエラーの修復や NP の高速リセットなど、より影響の少ない方法へと変わりました。 機能的な影響はないものの、解決できない(「厄介な」)エラーの処理についても、エラーが再発し続けないように改善されました。 加えて、いくつかのバグが修正され、特に NP の命令メモリや内部 TCAM で発生していたエラーが修正されました。 以前は回復不能だったエラーの約 80 ~ 90% が現在では修復可能となり、ラインカードのリロードが必要なくなりました。
これらの改善や修正はすべてリリース 5.3.3 以降で統合されています。 Umbrella SMU についても、修正は以下のすべての主要なメンテナンス リリースで利用可能です。
434 - CSCux16975
512 - CSCux44633
513 - CSCux16975
531 - CSCux34531
532 - CSCux78563