アカウント名:
パスワード:
ECC化してたら、エラー検出・訂正が期待できたのに
思った。でも共有ディスク装置ってのはNAS的な何かだとして、どこまでECC化する必要あるのかな。NASのメモリはECCにするとして、ストレージ自体(SSD)にもキャッシュと制御目的のメモリが載っててそれもECC搭載できるのかな?システムのあらゆるところにメモリはあるだろうけど、全部ECCにできるもんなのかな。
NANDメモリはECCと併用が普通ですよねつーか、生のNANDメモリはエラーレートがそれ前提で作られていてECCなしでは使い物にならない
NANDフラッシュはビットエラー訂正のECCどころか、古くからCRC搭載してます。
CPU内のレジスタについては、XeonやEPYC上位グレード、SPARC等のスパコン向けのCPUにはソフトエラー対策の冗長化があります。ECCのようなものではなく、レジスタ1bit単位のフリップフロップ自体に対策されてます。
ECCメモリってベースが32bitとすれば「33bitメモリ」か「34bitメモリ」みたいなもんでしょ数字は適当な
2^34通りの空間に2^32通りを割り付けてるから、空間が大量に余ってるそんでビットが化けて余り空間に割り付けられた筈のパターンが来たらエラーになるそんで正解パターンのうちエラーパターンと最も近いのが元のデータではないか? と推定できるPCI Expressの8b/10bエンコーディングみたいなもん
だから来た32bit+チェック2bitが正解パターンかどうかを検知する機能だけあったらECCメモリなんか簡単に使えるそっから最も近い正解パターンを割り出せる機能があればビットが訂
ECCは「Error Correction Code」=「誤り訂正符号」の略。訂正しなかったらECCじゃない。
一方の8b/10bは、クロックを埋め込むためのもの(8bitの生データだと、オール0やオール1なんかでタイミングが取れなくなるので、ほどほどに0/1が変化するようにしたもの)で、エラー訂正機能なんかない。だから、「8b/10bエンコーディングみたいなもん」というのは大間違い。
ECCでは、たとえば32bitの場合ならは、プラス6ビットの38bitにする。32bitの入力全パターンに対して、「38bitのうち1bitだけ化けた」場合のデータも重複しないように、38bitパターンを割り当てることで、1bitの化けに対しては、化ける前のデータが確実に判明できるようにしてる。38bitデータの1bit化けは38通りあるので、化けないものと併せると39通り。32bitの全パターン×39通りは6bit追加の64倍の空間に割り当てが可能になる。
追加5bitの32倍の空間では狭すぎて化けたパターンを重複なく割り当てることはできないので、32bitデータの1bit化けのエラー訂正のためにはプラス6bitが最低ラインってことになる。追加bitをもっと増やして2bitの化けに対しても重複しないように割り当てて2bitまでのビット化けを訂正可能にしたりすることもある。
ECCの定番のハミング符号は、この追加されたビットに数学的にパターンを割り当てており、論理回路レベルで機械的に訂正可能。
普通ECCは修復機能付きのことを言うけどね。チェックしかないやつはパリティ付きメモリ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
ストレージのメモリはECC化してないの? (スコア:0)
ECC化してたら、エラー検出・訂正が期待できたのに
Re:ストレージのメモリはECC化してないの? (スコア:0)
思った。
でも共有ディスク装置ってのはNAS的な何かだとして、どこまでECC化する必要あるのかな。
NASのメモリはECCにするとして、ストレージ自体(SSD)にもキャッシュと制御目的のメモリが載っててそれもECC搭載できるのかな?
システムのあらゆるところにメモリはあるだろうけど、全部ECCにできるもんなのかな。
Re:ストレージのメモリはECC化してないの? (スコア:1)
SSDは冗長化しないと使い物になりませんしコントローラもECC対応しますよ
// CPU内のレジスタもECC化した例もどこかで聞いた
Re: (スコア:0)
NANDメモリはECCと併用が普通ですよね
つーか、生のNANDメモリはエラーレートがそれ前提で作られていて
ECCなしでは使い物にならない
Re: (スコア:0)
NANDフラッシュはビットエラー訂正のECCどころか、古くからCRC搭載してます。
CPU内のレジスタについては、XeonやEPYC上位グレード、SPARC等のスパコン向けのCPUにはソフトエラー対策の冗長化があります。
ECCのようなものではなく、レジスタ1bit単位のフリップフロップ自体に対策されてます。
Re: (スコア:0)
ECCメモリってベースが32bitとすれば「33bitメモリ」か「34bitメモリ」みたいなもんでしょ
数字は適当な
2^34通りの空間に2^32通りを割り付けてるから、空間が大量に余ってる
そんでビットが化けて余り空間に割り付けられた筈のパターンが来たらエラーになる
そんで正解パターンのうちエラーパターンと最も近いのが元のデータではないか? と推定できる
PCI Expressの8b/10bエンコーディングみたいなもん
だから来た32bit+チェック2bitが正解パターンかどうかを検知する機能だけあったらECCメモリなんか簡単に使える
そっから最も近い正解パターンを割り出せる機能があればビットが訂
Re:ストレージのメモリはECC化してないの? (スコア:2)
ECCは「Error Correction Code」=「誤り訂正符号」の略。訂正しなかったらECCじゃない。
一方の8b/10bは、クロックを埋め込むためのもの(8bitの生データだと、オール0やオール1なんかでタイミングが取れなくなるので、ほどほどに0/1が変化するようにしたもの)で、エラー訂正機能なんかない。だから、「8b/10bエンコーディングみたいなもん」というのは大間違い。
ECCでは、たとえば32bitの場合ならは、プラス6ビットの38bitにする。32bitの入力全パターンに対して、「38bitのうち1bitだけ化けた」場合のデータも重複しないように、38bitパターンを割り当てることで、1bitの化けに対しては、化ける前のデータが確実に判明できるようにしてる。
38bitデータの1bit化けは38通りあるので、化けないものと併せると39通り。32bitの全パターン×39通りは6bit追加の64倍の空間に割り当てが可能になる。
追加5bitの32倍の空間では狭すぎて化けたパターンを重複なく割り当てることはできないので、32bitデータの1bit化けのエラー訂正のためにはプラス6bitが最低ラインってことになる。追加bitをもっと増やして2bitの化けに対しても重複しないように割り当てて2bitまでのビット化けを訂正可能にしたりすることもある。
ECCの定番のハミング符号は、この追加されたビットに数学的にパターンを割り当てており、論理回路レベルで機械的に訂正可能。
Re: (スコア:0)
普通ECCは修復機能付きのことを言うけどね。チェックしかないやつはパリティ付きメモリ。
Re:ストレージのメモリはECC化してないの? (スコア:1)
そして修復機能のないECCはError Collection Codeだ(違