RS codes give great reliability but galois polynomial solvers are slow. Parity (xor) bits are fast, but they can’t fix more than one error, which means it’s really not reliable to fix an error at all. Use parity bits to check for an error, and then RS to fix it. That backblaze speed quoted seems really slow.
Reed Solomon codes are cool
61–63 of 63 posts
Re: Reed Solomon codes are cool
#62I do use it in LibreDWG, but I don't find it cool or useful enough. For CD's or WiFi with lossy transports yes, but for harddiscs (bitflips don't happen) not needed and not so easy to plug in.
Consumer HDDs get bit flips all the time. I have plenty of backup files over 100 GB. Put the file on the drive, compute the MD5SUM of it, check the MD5SUM, and come back to check again in 6 months. On many magnetic HDDs, you will get a different value and no SMART errors.
Re: Reed Solomon codes are cool
#63Earlier quoted context omitted.
Are any of the ones that are better than Reed-Solomon either open-source or otherwise out of patent protection yet? A library I could play with, perhaps? (would love to get my hands on a Raptor or Turbo implementation)
libraptorq (lgpl3+): https://fenrirproject.org/Luker/libRaptorQ/wikis/home zfec (gpl2+): https://github.com/tahoe-lafs/zfec (discussion: https://news.ycombinator.com/item?id=12976168 ) liberasurecode (bsdesque): https://github.com/openstack/liberasurecode cm256 (3 clause bsd): https://github.com/catid/cm256 openrq (apache2.0): http://openrq-team.github.io/openrq/ openfec: http://openfec.org/ lt-codes-python: https://…
Regardless, thanks for these!!