On 31/01/11 14:25, alan.b.pearce@stfc.ac.uk wrote: >> I'm working on implementing the 4-byte (32-bit) ECC code Western Digital >> used on the WD2010 Winchester HDD Controller IC. This appears to be an >> implementation of the ECC scheme explained in section 7.6 of National >> Semiconductor's "Disk Interface Design Guide and User's Manual" (appnote >> AN-413). > > I believe this is the code used on all 5 1/4" and smaller HD units since = the original 5MB ones. Similar. The early Seagate ST506 drives used a straight CRC16 with no=20 error correction. >> Does anyone recognise this polynomial? >> x^32 + x^28 + x^26 + x^19 + x^17 + x^10 + x^6 + x^2 + 1 >> aka. x^32 + x^28 + x^26 + x^19 + x^17 + x^10 + x^6 + x^2 + x^0 >> or: 0x140A0443 > > I think you will find it is a Reed-Solomon code http://en.wikipedia.org/w= iki/Reed-Solomon_error_correction It doesn't look that way to me.. certainly not from the datasheets, anyway. I've spent all day hacking away on an implementation of the=20 shift-register ECC engine on the WD1100, but it isn't matching up, no=20 matter what I do... UGH. --=20 Phil. piclist@philpem.me.uk http://www.philpem.me.uk/ --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .