US2024036819A1PendingUtilityA1

Computational memory for sorting multiple data streams in parallel

74
Assignee: UNTETHER AI CORPPriority: Jul 27, 2022Filed: Jul 28, 2023Published: Feb 1, 2024
Est. expiryJul 27, 2042(~16 yrs left)· nominal 20-yr term from priority
G06F 7/24G06F 7/02
74
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A processing device having a sequence of sorting elements arranged in an array. Each of the sorting elements stores a previously retained value therein and receives an input value from a previous sorting element. Each sorting element applies retention logic to select one of the input value or the retained value to be passed to the next sorting element in the array. The value that is passed to the next sorting element can either be set to be the larger, or the smaller, of the input value and the previously retained value, as desired. Rows of processing elements in the array operate in parallel such that large data streams are sorted in parallel (with the data values moving down from one row of processing elements to the next row such that the largest, or the smallest, data values accumulating in the final row of processing elements).

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A device comprising:
 a sequence of sorting elements configured to receive a sequence of values to sort;   each sorting element of the sequence of sorting elements configured to apply retention logic to an input value and a retained value, wherein the input value is received at the sorting element from a previous sorting element in the sequence of sorting elements or from an input to the sequence of sorting elements, and wherein the retained value is stored at the sorting element;   wherein the retention logic is configured to retain at the sorting element one of the input value and the retained value, and wherein the retention logic is configured to pass the other of the input value and the retained value to a next sorting element in the sequence of sorting elements;   wherein the sequence of sorting elements is configured to output the sequence of values as sorted based on the retention logic.   
     
     
         2 . The device of  claim 1 , wherein the retention logic is configured to:
 numerically compare the input value to the retained value;   retain a greater of the input value and the retained value; and   pass a lesser of the input value and the retained value to the next sorting element.   
     
     
         3 . The device of  claim 1 , wherein the retention logic is configured to:
 numerically compare the input value to the retained value;   retain a lesser of the input value and the retained value; and   pass a greater of the input value and the retained value to the next sorting element.   
     
     
         4 . The device of  claim 1 , wherein the retention logic is configured to:
 numerically compare the input value to the retained value, and if the input value is equal to the retained value; then   pass either the input value or the retained value to the next sorting element.   
     
     
         5 . The device of  claim 1 , wherein the retention logic is programmable. 
     
     
         6 . The device of  claim 1 , wherein a terminal sorting element of the sequence of sorting elements comprises terminal retention logic configured to retain at the terminal sorting element one of the input value and the retained value, and wherein the terminal retention logic is configured to discard the other of the input value and the retained value. 
     
     
         7 . The device of  claim 1 , further comprising a sequence of processing elements, each processing element including a processor and memory, wherein each processing element includes a single sorting element of the sequence of sorting elements. 
     
     
         8 . The device of  claim 1 , further comprising a sequence of processing elements, each processing element including a processor and memory, wherein each processing element includes a subsequence of sorting elements of the sequence of sorting elements. 
     
     
         9 . The device of  claim 1 , further comprising a controller configured to control the sequence of sorting elements to simultaneously apply the retention logic. 
     
     
         10 . A device comprising:
 an array of sorting elements including logically parallel sequences of sorting elements, each sequence of sorting elements configured to receive a sequence of values to sort;   each sorting element of each sequence of sorting elements configured to apply retention logic to an input value and a retained value, wherein the input value is received at the sorting element from a previous sorting element in the sequence of sorting elements or from an input to the sequence of sorting elements, and wherein the retained value is stored at the sorting element;   wherein the retention logic is configured to retain at the sorting element one of the input value and the retained value, and wherein the retention logic is configured to pass the other of the input value and the retained value to a next sorting element in the sequence of sorting elements;   wherein each sequence of sorting elements is configured to output the sequence of values as sorted based on the retention logic.   
     
     
         11 . The device of  claim 10 , wherein the retention logic is configured to:
 numerically compare the input value to the retained value;   retain a greater of the input value and the retained value; and   pass a lesser of the input value and the retained value to the next sorting element.   
     
     
         12 . The device of  claim 10 , wherein the retention logic is configured to:
 numerically compare the input value to the retained value;   retain a lesser of the input value and the retained value; and   pass a greater of the input value and the retained value to the next sorting element.   
     
     
         13 . The device of  claim 10 , wherein the retention logic is configured to:
 numerically compare the input value to the retained value, and if the input value is equal to the retained value; then   pass either the input value or the retained value to the next sorting element.   
     
     
         14 . The device of  claim 10 , wherein the retention logic is programmable. 
     
     
         15 . The device of  claim 10 , wherein a terminal sorting element of the logically parallel sequence of sorting elements comprises terminal retention logic configured to retain at the terminal sorting element one of the input value and the retained value, and wherein the terminal retention logic is configured to discard the other of the input value and the retained value. 
     
     
         16 . The device of  claim 10 , further comprising a sequence of processing elements, each processing element including a processor and memory, wherein each processing element includes a single sorting element of the logically parallel sequence of sorting elements. 
     
     
         17 . The device of  claim 10 , further comprising a sequence of processing elements, each processing element including a processor and memory, wherein each processing element includes a subsequence of sorting elements of the logically parallel sequence of sorting elements. 
     
     
         18 . The device of  claim 10 , further comprising a controller configured to control the sequence of sorting elements to simultaneously apply the retention logic.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.