1. A method of storing a spatiotemporal pattern, comprising: detecting the presence of a spatiotemporal pattern in an input data stream; extracting the spatiotemporal pattern; based on learning rules, storing the spatiotemporal pattern in an associative memory comprising plurality of electronic neurons having a layered neural net relationship with directional synaptic connectivity, wherein the learning rules provide the level of conductance of synaptic interconnections between the electronic neurons as a function of the spatiotemporal patterns; and upon being presented with a version of the spatiotemporal pattern, retrieving the stored spatiotemporal pattern from the associative memory.