Do RAID5 systems check the parity data on reads?
I don't
know this, but it seems to me unlikely that it does. Remember that in order to calculate the parity, it will have to read the block from all drives in your RAID set and then do math to determine correctness, whereas if it doesn't, it just just does the read off of one drive. Also, if your read is for less than one block, a parity-check read would have to expand it to a full block, whereas a regular read wouldn't. (Assuming, of course, that the RAID block is bigger than the disks' blocks. I
think that reads from disk have to be of full blocks. If not, my point is even more valid.)
So, from my point of view, yes, it
could do that, but if it did, it would be inefficient, and I doubt that any are implemented that way.
Again, though, I have no personal knowledge of actual implementations.