IP Library › Granted Patent US 12,670,381
Granted Patent B2
US 12,670,381 · App. 17/164,859 · Granted Jun 30, 2026

Finding K extreme values in constant processing time

Inventors: Eli Ehrman (Beit Shemesh, IL); Avidan Akerib (Tel Aviv, IL); Moshe Lazer (Binyamina, IL)
Assignee: GSI Technology Inc.
G06N3/08G06F7/00G06F7/22G06F7/544G06F16/221G06N3/0464G06F2207/226
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,670,381
App. No.
17/164,859
Filed
Feb 2, 2021
Granted
Jun 30, 2026
Kind
B2
Art Unit
2145
USPC
706/25
Abstract

A method includes determining a set of k extreme values of a dataset of elements in a constant time irrespective of the size of the dataset. The determining includes reviewing the values bit-by-bit, starting from the most significant bit, where bit n from each element of the dataset is reviewed at the same time.

Claims (11)

1 . A method comprising:

determining a set of k extreme values of a dataset of elements in a constant time irrespective of a storable number of items in said dataset; said determining comprising:

storing each element of the dataset in a different column of an associative memory array forming part of an associative processing unit (APU) such that the ith bit of each element of the dataset is stored in a same row of said memory array; and

searching in said memory array for an element in said dataset having an extreme value, wherein said searching is performed in said constant time irrespective of a number of columns of said memory array in which said dataset is stored, said searching comprising:

checking a single row n of said memory array at one time, starting from a row storing most significant bits (MSBs) of said values and ending in a row storing least significant bits (LSBs) of said values;

selecting, in said memory array, for said single row, those of said elements whose bit n have a predetermined bit value, indicating that said elements are candidate elements with extreme values; and

after the selecting has finished, removing any element which is not indicated as a candidate element from further consideration as an extreme value; and

repeating said searching until there are k candidate elements and setting said k candidate elements as said set of k extreme values.

2 . The method of claim 1 wherein said searching comprises adding an indicator to an indicator set for each element having bit n with an extreme value.

3 . The method of claim 2 wherein said extreme value is one of: a maximum and a minimum.

4 . The method according to claim 1 and wherein said searching is implemented in rows of said associative memory array.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2021
From: EHRMAN, ELI; AKERIB, AVIDAN; LAZER, MOSHE
To: GSI TECHNOLOGY INC.
Reel/Frame 055107/0465 →
Continuity (5)
Continuation 15648475 · Jul 13, 2017
Provisional Application 62446861 · Jan 17, 2017
Provisional Application 62364883 · Jul 21, 2016
Provisional Application 62363270 · Jul 17, 2016
Related Publication 20210158164A1 · May 27, 2021
References Cited (51)
US 4546456A · Buie · 1985 [cited by applicant]
US 5014327A · Potter · 1991 [cited by applicant]
US 5649181A · French · 1997 [cited by applicant]
US 5799300A · Agrawal · 1998 [cited by examiner]
US 5983224A · Singh · 1999 [cited by applicant]
US 8099380B1 · Shahabi · 2012 [cited by applicant]
US 8238173B2 · Akerib · 2012 [cited by applicant]
US 8244789B1 · Langhammer · 2012 [cited by applicant]
US 9418719B2 · Akerib · 2016 [cited by applicant]
US 9558812B2 · Akerib · 2017 [cited by applicant]
US 9653166B2 · Akerib · 2017 [cited by applicant]
US 9859005B2 · Akerib · 2018 [cited by applicant]
US 10153042B2 · Ehrman · 2018 [cited by applicant]
US 10210935B2 · Akerib · 2019 [cited by applicant]
US 10249362B2 · Shu · 2019 [cited by applicant]
US 10402165B2 · Lazer · 2019 [cited by applicant]
US 10489480B2 · Akerib · 2019 [cited by applicant]
US 10514914B2 · Lazer · 2019 [cited by applicant]
US 10521229B2 · Shu · 2019 [cited by applicant]
US 10534836B2 · Shu · 2020 [cited by applicant]
US 10635397B2 · Lazer · 2020 [cited by applicant]
US 10725777B2 · Shu · 2020 [cited by applicant]
US 10777262B1 · Haig · 2020 [cited by applicant]
US 11210605B1 · Gupta · 2021 [cited by examiner]
US 20030018620A1 · Vishnubhotla · 2003 [cited by examiner]
US 20030212520A1 · Campos · 2003 [cited by examiner]
US 20070250522A1 · Perrizo · 2007 [cited by examiner]
US 20110013442A1 · Akerib · 2011 [cited by examiner]
US 20110182119A1 · Strasser · 2011 [cited by applicant]
US 20130007419A1 · Bajenaru · 2013 [cited by examiner]
US 20130080490A1 · Plondke · 2013 [cited by applicant]
US 20150120987A1 · Wheeler · 2015 [cited by applicant]
US 20150131383A1 · Akerib · 2015 [cited by applicant]
US 20150146491A1 · Akerib · 2015 [cited by examiner]
US 20150200009A1 · Akerib · 2015 [cited by applicant]
US 20150332126A1 · Hikida · 2015 [cited by applicant]
US 20160086222A1 · Kurapati · 2016 [cited by applicant]
US 20160188533A1 · Kaul · 2016 [cited by examiner]
US 20160275876A1 · Hagood · 2016 [cited by applicant]
US 20180341642A1 · Akerib · 2018 [cited by examiner]
US 20200081816A1 · Howard · 2020 [cited by examiner]
JP 2008276344 · 2008 [cited by applicant]
JP 201633806 · 2016 [cited by applicant]
KR 2014008270 · 2014 [cited by applicant]
KR 101612605 · 2016 [cited by applicant]
English Abstract of JP2008276344 downloaded from Google Patents on May 26, 2019. [cited by applicant]
English Machine Translation of KR10-1612605 downloaded from KIPO. [cited by applicant]
Miller et al. “Key-value memory networks for directly reading documents.” arXiv preparing arXiv: 1606.03126. [cited by applicant]
Chatzimilioudis, Distributed In-Memory Processing of All k Nearest Neighbor Queries, IEEE Transaction on Knowledge and Data Engineering, Apr. 2016. [cited by applicant]
Sukhbaatar et al., “End-to-end memory networks.” Advances in neural information processing systems 28. (Year 2015). [cited by applicant]
Li, Shuangchen, et al. “Pinatubo: A Processing-in-memory architecture for bulk bitwise operations in emerging non-volatile memories”. Proceedings of the 53rd Annual Design Automation Conference (Year 2016). [cited by applicant]