A method and apparatus for generating
checksum values for data segments retrieved from a data storage device for transfer into a buffer memory, is provided. A
checksum list is maintained to contain
checksum values, wherein the checksum
list includes a plurality of entries corresponding to the data segments stored in the buffer memory, each entry for storing a checksum value for a corresponding
data segment stored in the buffer memory. For each
data segment retrieved from the storage device: a checksum value is calculated for that
data segment using a checksum circuit; an entry in the checksum
list corresponding to that data segment is selected; the checksum value is stored in the selected entry in the checksum list; and that data segment is stored in the buffer memory. Preferably, the checksum circuit calculates the checksum for each data segment as that data segment is transferred into the buffer memory.