A memory accessing method for graphics processing, the method comprising: determining, by a graphics processing unit, GPU, properties of a surface, the surface being an image stored in memory, wherein the properties of the surface include at least one of a storage mode, a surface height, a surface width, use of pixel compression, use of multi-sample anti-aliasing, a pixel size, or a pixel format; determining, 2. by the GPU, based on the properties of the surface, a number of sub-primitives in which to divide the surface and a sub-primitive arrangement in which to arrange the determined number of sub-primitives; dividing, by the GPU, the surface into the determined sub-primitive arrangement, wherein the sub-primitives are stored in at least two memory channels; determining, by the GPU, a memory address scanning technique based on the determined properties of the surface by determining a memory address scanning technique based on the determined sub-primitive arrangement, wherein determining the memory address scanning technique comprises determining, by the GPU, scanning patterns for the sub-primitives independently such that each sub-primitive has a different starting scan address and order in which subsequent memory addresses are accessed such that bank conflicts are avoided when at least one of a read or a write of data for each of the sub-primitives is performed in parallel, wherein the scanning pattern for a first sub-primitive of the sub-primitive arrangement starts in the upper-left corner of the first sub-primitive and proceeds toward the lower-right corner, the scanning pattern for a second sub-primitive of the sub-primitive arrangement starts in the upper-right corner of the second sub-primitive and proceeds toward the lower-left corner, the scanning pattern for a third sub-primitive of the sub-primitive arrangement starts in the lower-left corner of the third sub-primitive and proceeds toward the upper-right corner, and the scanning pattern for a fourth sub-primitive of the sub-primitive arrangement starts in the lower-right corner of the fourth sub-primitive and proceeds toward the upper-left corner; and performing, by the GPU, at least one of a read or a write of data for each of the sub-primitives in parallel using the at least two memory channels. determining, by a graphics processing unit, GPU, properties of a surface, the surface being an image stored in memory, wherein the properties of the surface include at least one of a storage mode, a surface height, a surface width, use of pixel compression, use of multi-sample anti-aliasing, a pixel size, or a pixel format; determining, 2. by the GPU, based on the properties of the surface, a number of sub-primitives in which to divide the surface and a sub-primitive arrangement in which to arrange the determined number of sub-primitives; dividing, by the GPU, the surface into the determined sub-primitive arrangement, wherein the sub-primitives are stored in at least two memory channels; determining, by the GPU, a memory address scanning technique based on the determined properties of the surface by determining a memory address scanning technique based on the determined sub-primitive arrangement, wherein determining the memory address scanning technique comprises determining, by the GPU, scanning patterns for the sub-primitives independently such that each sub-primitive has a different starting scan address and order in which subsequent memory addresses are accessed such that bank conflicts are avoided when at least one of a read or a write of data for each of the sub-primitives is performed in parallel, wherein the scanning pattern for a first sub-primitive of the sub-primitive arrangement starts in the upper-left corner of the first sub-primitive and proceeds toward the lower-right corner, the scanning pattern for a second sub-primitive of the sub-primitive arrangement starts in the upper-right corner of the second sub-primitive and proceeds toward the lower-left corner, the scanning pattern for a third sub-primitive of the sub-primitive arrangement starts in the lower-left corner of the third sub-primitive and proceeds toward the upper-right corner, and the scanning pattern for a fourth sub-primitive of the sub-primitive arrangement starts in the lower-right corner of the fourth sub-primitive and proceeds toward the upper-left corner; and performing, by the GPU, at least one of a read or a write of data for each of the sub-primitives in parallel using the at least two memory channels.