Tornado codes require a constant C more redundant blocks than the more data-efficient Reed–Solomon erasure codes, but are much faster to generate and can fix erasures faster.
Software-based implementations of tornado codes are about 100 times faster on small lengths and about 10,000 times faster on larger lengths than Reed–Solomon erasure codes.
All layers except the last use an LDPC error correction code, which is fast but has a chance of failure.
The final layer uses a Reed–Solomon correction code, which is slower but is optimal in terms of failure recovery.
The erasure of a block (input or recovery) is detected by some other means.
(For example, a block from disk does not pass a CRC check or a network packet with a given sequence number never arrived.)
All levels of recovery except the final one use an LDPC, which works by xor (exclusive-or).
Tornado codes were formerly patented inside the United States of America.