1. A method of generating a stream of non-contiguous memory addresses representing contiguous points in logical space, the method comprising: Generating initializing parameters describing the contiguous points in the logical space; Configuring a memory address engine with the initializing parameters; Performing an algorithm in the memory address engine according to the initializing parameters to produce a plurality of non-contiguous memory addresses; and Collating the non-contiguous memory addresses into the stream of memory addresses for output to a data memory: