Patent ID: 8386802

Claim:
A system for processing data, comprising: an input port for receiving data to be processed; at least one array of processing units, each of the at least one array being in communication with the port and each array comprising a plurality of arrays of processing units, wherein a first array of the plurality of arrays is connected to the input port for receiving the data to be processed and that at least one processing unit of the first array transmits the processed block of data to a next serially-connected processing unit within a second array distinct from the first array the data to be processed is a first data to be processed; and logic in communication with at least some of the processing units, the logic being operative to: determine, for the data to be processed, a last processing unit of the serially connected processing units based at least in part on a size of an encryption key corresponding to the data to be processed, wherein at least two of the processing units are determinable as the last processing unit; and cause the last processing unit to process a received block of data and return a resulting processed block of data to an output port of the system without transmitting the resulting processed block of data to the next processing unit of the last processing unit; wherein a first processing unit of the second array is further connected to the input port for receiving a second data to be processed independently of the first data when the received block of data originates from the first array, each processing unit of the second array is operative to transmit the resulting processed block of data to a next serially-connected processing unit in a first direction.