IP Library Granted Patent US 11,604,834
Granted Patent B2
US 11,604,834 · App. 16/870,003 · Granted Mar 14, 2023

Technologies for performing stochastic similarity searches in an online clustering space

Inventors: Mariano Tepper (Santa Clara, CA); Dipanjan Sengupta (Hillsboro, OR); Sourabh Dongaonkar (Santa Clara, CA); Chetan Chauhan (Folsom, CA); Jawad Khan (Portland, OR); Theodore Willke (Portland, OR); Richard Coulson (Portland, OR); Rajesh Sundaram (Folsom, CA)
Assignee: Intel Corporation
G06F16/90348G06F17/16G06K9/6215G06K9/6218
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 11,604,834
App. No.
16/870,003
Granted
Mar 14, 2023
Kind
B2
Abstract

Technologies for performing stochastic similarity searches in an online clustering space include a device having a column addressable memory and circuitry. The circuitry is configured to determine a Hamming distance from a binary dimensionally expanded vector to each cluster of a set of clusters of binary dimensionally expanded vectors in the memory, identify the cluster having the smallest Hamming distance from the binary dimensionally expanded vector, determine whether the identified cluster satisfies a target size, and add or delete, in response to a determination that the identified cluster does not satisfy the target size, the binary dimensionally expanded vector to or from the identified cluster.

Claims (53)

1. A device comprising:

a memory that is column addressable;

circuitry connected to the memory, wherein the circuitry is to:

determine a Hamming distance from a binary dimensionally expanded vector to each cluster of a set of clusters of binary dimensionally expanded vectors in the memory;

identify the cluster having the smallest Hamming distance from the binary dimensionally expanded vector;

determine whether the identified cluster satisfies a target size, wherein the determination of whether the identified cluster satisfies the target size is based on a determination that a maximum allowable number of vectors has been reached;

add, in response to a determination that the identified cluster does not satisfy the target size where the maximum allowable number of vectors has not been reached, the binary dimensionally expanded vector to the identified cluster;

create, in response to a determination that the identified cluster satisfies the target size where the maximum allowable number of vectors has been reached, a new cluster; and

add, in response to the determination that the identified cluster satisfies the target size, the binary dimensionally expanded vector to the new cluster.

2. The device of claim 1 , wherein to determine a Hamming distance comprises to determine a Hamming distance from the binary dimensionally expanded vector to a representative binary dimensionally expanded vector of each cluster.

3. The device of claim 1 , wherein to determine a Hamming distance comprises to determine a Hamming distance from the binary dimensionally expanded vector to a centroid of each cluster.

4. The device of claim 1 , wherein the circuitry is further to manage one or more operations to: add the binary dimensionally expanded vector to the identified cluster, create the new cluster, add the binary dimensionally expanded vector to the new cluster, remove of the binary dimensionally expanded vector from an existing cluster.

5. The device of claim 4 , wherein the circuitry is further to designate the binary dimensionally expanded vector as a representative binary dimensionally expanded vector of the new cluster.

6. The device of claim 5 , wherein the circuitry is further to write the binary dimensionally expanded vector to a data set of cluster representatives.

7. The device of claim 1 , wherein the circuitry is further to:

produce hash code from a search data vector;

determine a Hamming distance between the hash code and each cluster in the memory;

identify a cluster having the smallest Hamming distance from the hash code as the closest cluster; and

determine a Hamming distance between the search hash code and each binary dimensionally expanded vector within the closest cluster.

8. The device of claim 7 , wherein the circuitry is further to remove, from the closest cluster, the binary dimensionally expanded vector having the smallest Hamming distance from the hash code.

9. The device of claim 8 , wherein the circuitry is further to eliminate, in response to a determination that the closest cluster is a singleton, the closest cluster.

10. The device of claim 1 , wherein the circuitry is further to write a column of data to the memory.

11. The device of claim 10 , wherein to write a column of data to the memory comprises to write a column of error correction code bits to the memory.

12. The device of claim 10 , wherein to write a column of data to the memory comprises to modify an existing column of data in the memory, wherein the column of data is indicative of search results.

13. The device of claim 10 , wherein to write the column of data comprises to write a copy of search results as a column in the memory.

14. The device of claim 10 , wherein to write the column of data comprises to write data indicative of a status of each of multiple corresponding rows of data in the memory.

15. The device of claim 10 , wherein to write the column of data comprises to write the column of data in response to determining that a flag bit in the memory satisfies a target value.

16. The device of claim 1 , wherein the memory has a three dimensional cross point architecture and the circuitry is further to convert an input data vector to the binary dimensionally expanded vector.

17. A system comprising:

a processor;

a memory that is column addressable;

circuitry connected to the memory, wherein the circuitry is to:

determine a Hamming distance from a binary dimensionally expanded vector to each cluster of a set of clusters of binary dimensionally expanded vectors in the memory;

identify the cluster having the smallest Hamming distance from the binary dimensionally expanded vector;

determine whether the identified cluster satisfies a target size, wherein the determination of whether the identified cluster satisfies the target size is based on a determination that a maximum allowable number of vectors has been reached;

add, in response to a determination that the identified cluster does not satisfy the target size where the maximum allowable number of vectors has not been reached, the binary dimensionally expanded vector to the identified cluster;

create, in response to a determination that the identified cluster satisfies the target size where the maximum allowable number of vectors has been reached, a new cluster; and

add, in response to the determination that the identified cluster satisfies the target size, the binary dimensionally expanded vector to the new cluster.

18. The system of claim 17 , wherein to determine a Hamming distance comprises to determine a Hamming distance from the binary dimensionally expanded vector to a representative binary dimensionally expanded vector of each cluster.

19. A method comprising:

determining, by the device, a Hamming distance from a binary dimensionally expanded vector to each cluster of a set of clusters of binary dimensionally expanded vectors in the memory;

identifying, by the device, the cluster having the smallest Hamming distance from the binary dimensionally expanded vector;

determining, by the device, whether the identified cluster satisfies a target size, wherein the determination of whether the identified cluster satisfies the target size is based on a determination that a maximum allowable number of vectors has been reached;

adding, by the device and in response to a determination that the identified cluster does not satisfy the target size where the maximum allowable number of vectors has not been reached, the binary dimensionally expanded vector to the identified cluster;

creating, in response to a determination that the identified cluster satisfies the target size where the maximum allowable number of vectors has been reached, a new cluster; and

adding, in response to the determination that the identified cluster satisfies the target size, the binary dimensionally expanded vector to the new cluster.

20. One or more non-transitory machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a device having a memory that is column addressable to:

determine a Hamming distance from a binary dimensionally expanded vector to each cluster of a set of clusters of binary dimensionally expanded vectors in the memory;

identify the cluster having the smallest Hamming distance from the binary dimensionally expanded vector;

determine whether the identified cluster satisfies a target size, wherein the determination of whether the identified cluster satisfies the target size is based on a determination that a maximum allowable number of vectors has been reached;

add, in response to a determination that the identified cluster does not satisfy the target size where the maximum allowable number of vectors has not been reached, the binary dimensionally expanded vector to the identified cluster;

create, in response to a determination that the identified cluster satisfies the target size where the maximum allowable number of vectors has been reached, a new cluster; and

add, in response to the determination that the identified cluster satisfies the target size, the binary dimensionally expanded vector to the new cluster.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072914/0491 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2023
From: CHAUHAN, CHETAN; COULSON, RICHARD; DONGAONKAR, SOURABH; KHAN, JAWAD; SENGUPTA, DIPANJAN; SUNDARAM, RAJESH; TEPPER, MARIANO; WILLKE, THEODORE
To: INTEL CORPORATION
Reel/Frame 062716/0455 →