USB for keeping data safe

I'm used to consider that USB transfers are safe for data, that is USB does not add level of unreliability to data storage.

However, I read that USB is not always a good choice for data transfer concerning its reliability. For instance, It seems that using USB disk in a RAID is not a good idea.

I would like to know if the risk of data loss is specific to the way RAID works, or is intrinsic to every USB transfer.


Solution 1:

USB data path is protected by checksums on the both sides.

https://www.beyondlogic.org/usbnutshell/usb3.shtml

(Watch out CRC field within USB data packet structure)

This is the quote from the original USB specification:

8.3.5 Cyclic Redundancy Checks

On the both ends of USB wire, hardwares (PIC USB peripheral and host controller on PC) check CRC to detect packet error (#1). For Control, Interrupt and Bulk transaction, the occurance of error is shared by both ends by absence (not in time) of handshake (ACK) packet at the transaction (#2). And then, host controller retries the transaction, two times more (error correction). At the third error, host controller reports transfer error to the PC driver (#3). In Isoc transaction, error is detected, but the error handling is upto application over the USB protocol.

You can download full USB 2.0 spec for your reference here:

https://www.usb.org/document-library/usb-20-specification

Hope this helped!