In-Memory Computing Circuit for Vector Distance Calculation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for determining distances between vectors, such as Hamming and Manhattan distances, in machine learning applications are inefficient and energy-consuming due to the need for data transfer between memory and processors, which can lead to high latency and processing power consumption.
Innovation Solution
The use of in-memory computing (IMC) circuits that compare bits of query and reference vectors to generate control signals for a pulse modifying circuit, modifying pulse signals based on bit similarities to calculate vector distances, thereby reducing latency and energy consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If data transfer between memory and processors is used for vector distance calculation, then processing capability is improved, but latency and energy consumption increase
Solution Approach 1:
The patent merges the memory storage function and processing function into a single integrated structure. The memory device directly performs vector distance calculations using embedded logic circuits that compare stored reference vectors with input query vectors, eliminating the need to transfer data between separate memory and processing units. This integration resolves the contradiction by allowing both high processing capability and low latency simultaneously.
Solution Approach 2:
The patent introduces an intermediary processing layer within the memory device itself. Instead of direct transfer between independent memory and processor, the memory device includes embedded comparison circuits that act as intermediaries to perform distance calculations on data already present in memory, thereby reducing transfer latency while maintaining processing power.
2Power
If data transfer between memory and processors is used for vector distance calculation, then processing capability is improved, but energy consumption increases
Solution Approach 1:
By merging memory and processing functions into a single integrated device, the patent eliminates energy-consuming data transfer operations. The processing circuits are embedded within the memory structure, allowing vector distance calculations to be performed on data already present in memory without requiring energy-intensive data movement between separate components.
Solution Approach 2:
The memory device performs processing operations on its own stored data without requiring external processing resources. The embedded comparison circuits use the data already present in memory to perform distance calculations, making the system self-sufficient and eliminating energy consumption associated with data transfer to external processors.
3Measurement precision
If conventional processing methods are used for vector distance calculation, then accuracy is improved, but device complexity increases
Solution Approach 1:
The patent combines multiple functions (storage, comparison, distance calculation) into a single integrated memory device. This reduces overall system complexity by eliminating separate processing units and data transfer interfaces, while maintaining calculation accuracy through embedded logic circuits that directly compute distances between query and reference vectors.
Data Source
AI summary
In-memory computing circuits can be used to determine distances between vectors. Such circuits can be used for machine learning applications. Examples include obtaining at least one dimension of a query vector wherein the dimension includes one or more bits and comparing respective bits of the dimension to corresponding bits of at least one dimension of a reference vector. This obtains a control signal dependent upon whether the bits of the dimension of the query vector are the same as corresponding bits of the dimension of the reference vector. The control signal can then be used to control a pulse modifying circuit such that a modification applied to a pulse signal is dependent upon whether the bits of the dimension of the query vector are the same as corresponding bits of the dimension of the reference vector.


