1. A method of searching for spatial patterns or temporal sequences of spatial patterns in input data, comprising: generating a plurality of spatial and temporal memory systems according to configuration information; providing a coding scheme to each spatial and temporal memory system, wherein each coding scheme comprises a subset of the input data and an encoding to encode the subset of the input data; and identifying, at each spatial and temporal memory system, spatial patterns or temporal sequences of spatial patterns at the spatial and temporal memory system based on the subset of input data and the encoding.