摘要 |
A method of data transfer in a data processing system having at least one source buffer and at least one destination buffer. The source buffer includes a plurality of data blocks, each data block having an address and being for storage of data including an identifier uniquely identifying that data block. The destination buffer includes a plurality of data blocks corresponding to the data blocks of the source buffer, each destination block having an address and being for storage of data. Each source block identifier is a function of a corresponding destination block address. Transferring data from the source buffer to the destination buffer includes: (a) obtaining the address of a data block in the destination buffer to transfer data into; (b) obtaining the address of a corresponding data block in the source buffer to transfer data from; and (c) checking the integrity of said addresses before data transfer, including: (i) retrieving the source block identifier in the source block via the source block address; (ii) generating an expected identifier value for the source block from the address of the destination block via said function relation between the source block identifier and the destination block address; (iii) comparing the expected identifier value with the retrieved identifier value; and (iv) if there is a mismatch, signaling an error condition representing corruption of one or more of the source block and the destination block addresses. |