CRC checks in disk I/O revolve around generating a unique checkword during a write operation to disk, and reading that checkword correctly back during the read operation.
A sector is a subdivision of a track on a magnetic disk. Sectors are where we store information. Newer hard drives use 4096 byte sector size.
Write operation. Imagine a 4096 byte buffer that represents the sector, and a 2 or 4 byte buffer [that initially contains all zeros, important] which will contain the checkword. When we write 4096 bytes to a sector on disk, the string of ones and zeros stream into the 4096 byte write buffer. Simultaneously, that same string of ones and zeros stream into the small checkword buffer. This checkword register is uniquely made, in that it selectively AND and ORs certain bit positions of the register back in on itself, effectively creating a checkword that is unique and wholly dependent on that same, exact stream of data do reproduce it. So, after all 4096 bytes are shifted into the checkword register, we've got a small complex number. The 4096 byte disk record is written and the small checkword appended to the end of the sector (in something called postamble).
Read operation. Let's reverse the process two weeks later. As before, we have a 4096 byte disk buffer and the 2 or 4 byte buffer which will contain the checkword. Both buffers are initially zero. We read the 4096 byte sector into disk buffer from the disk. As before, simultaneously, that same string of ones and zeros stream into the small checkword buffer. At the end of the sector read, the checkword buffer contains some crazy number, what, oh what, sequence might be needed to added to make it all turn to zeros? You guessed it, the checkword that is about to be read into the buffer. As it's read in, the buffer's bits go to all zeros. If the buffer's bits test all zeros, the disk verify check is complete and the data is sent to the system. If the CRC buffer did not end up all zeros then there was a failure somewhere in the writing of the original data sector or the checkword, or reading the data sector or the checkword. In any case the data are deemed to be corrupt.