Patent Document ID: 9965718
Application ID: 14846259
Patent Status: 1

Claim One:
1. A method, comprising: maintaining a memory array comprising a plurality of bits, wherein the bits represent a plurality of synaptic weights for a neural architecture including a plurality of synapses interconnecting a plurality of axons to a plurality of neurons, the plurality of axons divided into a first set of axons and a second set of axons, the plurality of neurons divided into a first set of neurons and a second set of neurons, each axon of the first set of axons interconnected to a neuron of the first set of neurons and proximate to another neuron of the second set of neurons, and each axon of the second set of axons interconnected to a neuron of the second set of neurons and proximate to another neuron of the first set of neurons; and reducing number of memory accesses per spike event by: re-arranging the bits of the memory array in accordance with a layout to obtain a weight matrix, wherein the weight matrix includes the same number of rows and columns; providing transposable access to the weight matrix by controlling read accesses and write accesses of the weight matrix, wherein each read access of a row or column of the weight matrix is sequenced over a pre-determined number of sub-steps within a time step, each write access to a row or column of the weight matrix is sequenced over the same pre-determined number of sub-steps within a time step, and the pre-determined number of sub-steps is equal to the square root of the number of rows included in the weight matrix; and in response to a spike event from an axon: obtaining a synaptic weight of a synapse connected to the axon from the weight matrix; in response to determining the synapse is a conducting synapse based on the synaptic weight obtained, communicating the spike event to a neuron interconnected to the axon via the synapse, and updating an operational state of the neuron; and updating the synaptic weight of the synapse in the weight matrix in response to the axon spiking or another neuron proximate to the axon spiking; wherein a synaptic weight of a synapse connected to an axon of the first set of axons is obtained via a read access of a row of the weight matrix and is updated via a write access to the same row; and wherein a synaptic weight of a synapse connected to an axon of the second set of axons is obtained via a read access of a column of the weight matrix and is updated via a write access to the same column.