IP Library › Granted Patent US 10,949,214
Granted Patent B2
US 10,949,214 · App. 16/370,013 · Granted Mar 16, 2021

Technologies for efficient exit from hyper dimensional space in the presence of errors

Inventors: Jawad B. Khan (Portland, OR); Richard Coulson (Portland, OR)
Assignee: Intel Corporation
G06F9/3895G06F9/30036G06F15/8092
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 10,949,214
App. No.
16/370,013
Granted
Mar 16, 2021
Kind
B2
Abstract

Technologies for performing hyper-dimensional operations in memory includes a device with a memory media and a memory controller. The memory controller is configured to receive a query from a requestor and determine, in response to receiving the query, a reference hyper-dimensional vector associated with the query. The memory controller is further configured to perform a nearest neighbor search by searching columns of a stochastic associative array in the memory media to determine a number of matching bit values for each row relative to the reference hyper-dimensional vector, wherein each bit in a column of the stochastic associative array represents a bit value of a corresponding row, identify a closest matching row that has a highest number of matching bit values, and output data of the closest matching row.

Claims (46)

1. A device comprising:

a memory media; and

a memory controller configured to:

receive a query from a requestor;

determine, in response to receiving the query, a reference hyper-dimensional vector associated with the query;

perform a nearest neighbor search by searching columns of a stochastic associative array in the memory media to determine a number of matching bit values for each row relative to the reference hyper-dimensional vector, wherein each bit in a column of the stochastic associative array represents a bit value of a corresponding row;

identify a closest matching row that has a highest number of matching bit values; and

output data of the closest matching row.

2. The device of claim 1 , wherein to perform the nearest neighbor search comprises to search the columns of the stochastic associative array for matching bit values relative to a corresponding bit position of the reference hyper-dimensional vector, wherein each bit in the columns of the stochastic associative array represents a bit value of a corresponding row.

3. The device of claim 2 , wherein to identify the closest matching row comprises to identify the closest matching row in the stochastic associative array that has a highest number of matching bit values.

4. The device of claim 1 , wherein to perform the a nearest neighbor search comprises to search a subset of columns of the stochastic associative array for matching bit values relative to a corresponding bit position of the reference hyper-dimensional vector.

5. The device of claim 1 , wherein to identify the closest matching row comprises to identify a set of neighbors that have a predefined number of matching values and to transmit the set of neighbors to a host for further evaluation.

6. The device of claim 1 , wherein the memory controller is further configured to:

generate a hyper-dimensional vector associated with a key and a hyper-dimensional vector associated with a value to the key by randomly assigning multiple-bit values;

perform a hyper-dimensional operation in the memory media to generate a bound hyper-dimensional vector using the hyper-dimensional vector of the key and the hyper-dimensional vector of the value; and

storing the bound hyper-dimensional vector in the memory media.

7. The device of claim 6 , wherein to perform the hyper-dimensional operation comprises to perform a bitwise XOR operation on the hyper-dimensional vector for a key and the hyper-dimensional vector for the value.

8. A method comprising:

receiving, by a memory controller of a compute device, a query from a requestor;

determining, in response to receiving the query and by the memory controller, a reference hyper-dimensional vector associated with the query;

performing, by the memory controller, a nearest neighbor search by searching columns of a stochastic associative array in a memory media;

identifying, by the memory controller, a closest matching row in the stochastic associative array relative to the reference hyper-dimensional vector; and

outputting, by the memory controller, data of the closest matching row.

9. The method of claim 8 , wherein performing the nearest neighbor search comprises searching, by the memory controller, the columns of the stochastic associative array for matching bit values relative to a corresponding bit position of the reference hyper-dimensional vector, wherein each bit in the columns of the stochastic associative array represents a bit value of a corresponding row.

10. The method of claim 9 , wherein identifying the closest matching row comprises identifying, by the memory controller, the closest matching row in the stochastic associative array that has a highest number of matching bit values.

11. The method of claim 8 , wherein performing the a nearest neighbor search comprises searching, by the memory controller, a subset of columns of the stochastic associative array for matching bit values relative to a corresponding bit position of the reference hyper-dimensional vector.

12. The method of claim 8 , wherein identifying the closest matching row comprises identifying, by the memory controller, a set of neighbors that have a predefined number of matching values and transmitting the set of neighbors to a host for further evaluation.

13. The method of claim 8 , further comprising:

generating, the memory controller, a hyper-dimensional vector associated with a key and a hyper-dimensional vector associated with a value to the key by randomly assigning multiple-bit values;

performing, by the memory controller, a hyper-dimensional operation in a memory of the compute device to generate a bound hyper-dimensional vector using the hyper-dimensional vector of the key and the hyper-dimensional vector of the value; and

storing, by the memory controller, the bound hyper-dimensional vector in the memory.

14. The method of claim 13 , wherein performing the hyper-dimensional operation comprises performing a bitwise XOR operation on the hyper-dimensional vector for a key and the hyper-dimensional vector for the value.

15. One or more machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a device to:

receive a query from a requestor;

determine, in response to receiving the query, a reference hyper-dimensional vector associated with the query;

perform a nearest neighbor search by searching columns of a stochastic associative array in a memory media to determine a number of matching bit values for each row relative to the reference hyper-dimensional vector, wherein each bit in a column of the stochastic associative array represents a bit value of a corresponding row;

identify a closest matching row that has a highest number of matching bit values; and

output data of the closest matching row.

16. The one or more machine-readable storage media of claim 15 , wherein to perform the nearest neighbor search comprises to search the columns of the stochastic associative array for matching bit values relative to a corresponding bit position of the reference hyper-dimensional vector, wherein each bit in the columns of the stochastic associative array represents a bit value of a corresponding row.

17. The one or more machine-readable storage media of claim 16 , wherein to identify the closest matching row comprises to identify the closest matching row in the stochastic associative array that has a highest number of matching bit values.

18. The one or more machine-readable storage media of claim 15 , wherein to perform the a nearest neighbor search comprises to search a subset of columns of the stochastic associative array for matching bit values relative to a corresponding bit position of the reference hyper-dimensional vector.

19. The one or more machine-readable storage media of claim 15 , wherein to identify the closest matching row comprises to identify a set of neighbors that have a predefined number of matching values and to transmit the set of neighbors to a host for further evaluation.

20. The one or more machine-readable storage media of claim 15 , further comprising a plurality of instructions that in response to being executed cause the device to:

generate a hyper-dimensional vector associated with a key and a hyper-dimensional vector associated with a value to the key by randomly assigning multiple-bit values;

perform a hyper-dimensional operation in a memory media to generate a bound hyper-dimensional vector using the hyper-dimensional vector of the key and the hyper-dimensional vector of the value; and

storing the bound hyper-dimensional vector in the memory media.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2019
From: KHAN, JAWAD B.; COULSON, RICHARD
To: INTEL CORPORATION
Reel/Frame 049057/0372 →
Continuity (1)
Related Publication 20190227808A1 · Jul 25, 2019
Cited By (1)
US 12,443,368