0

I came across an interesting table with estimations of silent data corruption rate for different interfaces. SAS shows the best result when the built-in integrity control (DIF) is enabled:

Interface SDC frequency
SATA 10-17
InfiniBand 10-17
Fibre Channel 10-21
SAS 10-21
SAS (with DIF) 10-27

I wonder, if there are any estimations of SDC rate for the most popular SAN interface nowadays - iSCSI.

People say that for the Ethernet channels the default BER (bit error ratio) is about 10-12, and this value is just huge comparing even to SATA's SDC. However, since iSCSI works on the top of TCP, some errors must be fixed on TCP level.

So how reliable iSCSI really is?

1 Answer 1

2

TCP checksums are only detecting errors - there's no correction, just retransmission.

iSCSI is a protocol without a defined physical interface - so asking for its expected (undetected) error rate is meaningless. But most likely you refer to iSCSI over Ethernet.

Modern Ethernet variants are designed for a bit error ratio (BER) of 10-12 or better. In term of packets/frames, a maximum-sized, Ethernet frame requires 1526 bytes or 12,208 bits on the wire, so a BER of 10-12 roughly translates to a frame error ratio of 1.2×10-7.

However, silent data corruption implies that error go by undetected, ie. multiple flipped bits need to cancel each other out for checksum calculation. I'll leave the exact math to someone else, but I think you'd need at least three flipped bits in a frame to go unrecognized by CRC, resulting in a maximum SDC value of 1.7×10-21. Ethernet and TCP both use CRC, so I wouldn't count them separately here.

Of course, things get worse when you use jumbo frames.

As Ricky has pointed out, iSCSI's digest option can increase error detection considerably, but the increased processing overhead may cause a performance decrease. Since the digest algorithm can be extended and negotiated, you'd need to analyze each of the variants to find the undetected packet error rate.

MD5 is likely the most common algorithm which uses a 128-bit digest. It's at least four times better than CRC32, so its SDC ratio must be better than 4×10-22 - which comes on top of TCP's ratio.

1
  • 1
    iSCSI also has it's own data integrity mechanism (MD5 and digests) The "i" in iSCSI means IP, so it will have at minimum the same protection as IP, plus the various other upper layers.
    – Ricky
    Mar 6, 2023 at 20:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.