Patent ID: 8194752

Claim:
A memory accessing apparatus, comprising: a read buffer; a write buffer; a first address generator; and a calculation unit, wherein the read buffer reads a plurality of first datasets from at least one memory according to a plurality of read addresses provided by the first address generator, and the read buffer provides the first datasets to the calculation unit, the calculation unit receiving a data signal and generating a plurality of second datasets according to the data signal and the first datasets if the calculation unit determining the first datasets are required, otherwise generating the second datasets according to the data signal, the write buffer receiving the second datasets from the calculation unit and writing the second datasets into the memory according to a plurality of write addresses provided by the first address generator, each of the first datasets comprises various types of first data blocks, the read buffer reading the first datasets from the memory by the types of the first data blocks type by type, the read buffer providing the first datasets to the calculation unit dataset by dataset which contains the first data blocks, each of the second datasets comprises various types of second data blocks, the write buffer receiving the second datasets from the calculation unit dataset by dataset, the second dataset contains the second data blocks, the write buffer writing the second datasets to the memory by the types of the second data blocks type by type, each of the first data blocks and the second data blocks, belongs to a data array, the data array belongs to a data array group, each of the data array group comprises the same type of data blocks, each of the data arrays comprises a plurality of data clusters, each of the data clusters comprises a plurality of the data blocks, each of the data clusters is stored in the same row of the memory, the read address and write address of each of the data blocks are determined according to the position of the data block in the data cluster and the position of the data cluster in the data array, wherein the types of the first data blocks and the types of the second data blocks comprise Y macroblock and CbCr macroblock.