A method of converting a logical address generated by a processor in a computer system to bank, row, and column bits used to access a main memory system in the computer system, wherein the main memory system includes a plurality of banks, with each bank of the plurality of banks including a page buffer, the computer system also includes a cache memory that holds a subset of contents of the main memory, and the cache memory is organized into sets of cache lines that are addressed by an index portion of the logical address, and a tag portion of the logical address is associated with each cache line, the method comprising:
- generating a first set of one or more bank bits based on one or more bits from the tag portion of the logical address, thereby increasing the probability that a cache line cast out and a corresponding cache line read to the same cache line as the cache line cast out access different page buffers of the main memory unit;
- and
- generating row and column bits, and bank bits not part of the first set of one or more bank bits, from the logical address.