A CRC is computed for each packet of data. If it doesn't match, an error
is flagged and passed to the software. I believe it's up to the
software/drive firmware to figure out what to do next (usually retry a few
times.) I believe UDMA33 and higher have more aggressive error correction
and retries.
A CRC is computed for each packet of data. If it doesn't match, an error
is flagged and passed to the software. I believe it's up to the
software/drive firmware to figure out what to do next (usually retry a few
times.) I believe UDMA33 and higher have more aggressive error correction
and retries.
I guess it depends on what level everyone is talking about. There has
always been a CRC stored on the drive and it's checked when it reads the
data. If there are too many retry failures, it passes a failure code to
the controller. Back in the MFM/RLL/ESDI days, that was done on a card
separate from the drive, so you did sort-of check the integrity of the
signal in the cabling. With IDE, it's all built-into the drive, so before
UDMA33, it was assumed the data traveling on the cable always made it
through with no error. It's also why the 80-wire cable was required for
UDMA66 to give better shielding.
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.