Memory interleaving splits memory into independent banks that can process read/write requests in parallel to increase throughput. It interleaves the address space so consecutive addresses are assigned to different banks. Low order interleaving uses the low order bits of an address to identify the memory module and high order bits for the word address within each module, allowing block access in a pipelined fashion. This improves the effective memory bandwidth.