Balanced Cluster Division for Computing-in-Memory Vector Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing vector data search methods face inefficiencies due to unequal cluster sizes in k-means clustering, leading to decreased operation efficiency when the total data exceeds the number of bit lines, and require costly data transfer and increased processing load on CPUs.

Innovation Solution

An information processing apparatus employing a cluster division unit that evenly distributes data into clusters while allowing overlap, followed by centroid calculation and similarity determination using a hardware circuit with a computing-in-memory (CIM) approach, optimizing data distribution to match bit line capacity and reducing CPU load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If k-means method is used for cluster division, then data can be clustered, but cluster size becomes unequal leading to decreased operation efficiency of CIM

Engineering Contradiction:
Improveoperation efficiency of CIMVSAvoidcluster size uniformity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent divides data into multiple clusters and further segments each cluster into sub-clusters, where each sub-cluster is assigned to a specific bit line. This segmentation ensures that data is evenly distributed across available bit lines, maximizing the utilization of CIM resources and improving operation efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically adjusts cluster assignments based on the number of available bit lines. When the total number of data pieces exceeds the number of bit lines, the system adaptively divides clusters into sub-clusters and redistributes them, ensuring optimal matching between data distribution and hardware capacity.

Inventive Principle:
Principle #15Dynamics

2Productivity

If total number of data pieces is larger than number of bit lines, then data must be divided into clusters, but unequal cluster sizes reduce operation efficiency

Engineering Contradiction:
Improveoperation efficiencyVSAvoidcluster division complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments clusters into sub-clusters and assigns them to specific bit lines in a systematic manner. This structured segmentation approach simplifies the division process while ensuring uniform data distribution across bit lines, thereby improving operation efficiency without excessive complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of cluster granularity by introducing sub-clusters. Instead of using fixed-size clusters, the system adjusts the clustering granularity to match the available bit line capacity, optimizing the data-to-bit-line ratio for efficient CIM operation.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If similarity calculation is performed by host device or CPU, then search can be conducted, but data transfer cost increases and processing load on CPU increases

Engineering Contradiction:
Improvesearch processing speedVSAvoiddata transfer cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent introduces a CIM (Computing-in-Memory) device as an intermediary between storage and processing. The CIM device performs similarity calculations directly within the memory array, eliminating the need to transfer data to the CPU for computation. This reduces data transfer costs and processing load on the host device while maintaining search functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4614341A1Information processing apparatus
Publication Date: 2025.09.10 KIOXIA CORP
  • EP4614341A1 patent drawingFigure 1~2
  • EP4614341A1 patent drawingFigure 3
  • EP4614341A1 patent drawingFigure 4

AI summary

An information processing apparatus comprises a cluster division unit that equally distributes first data to two or more clusters while overlapping some of the first data among first data and repeats distribution to new two or more clusters until the number of the first data included in each of the distributed clusters becomes a predetermined limit number or less, a centroid calculation unit that calculates a centroid value of each of clusters finally distributed by the cluster division unit, a first determination unit that compares a center of each of the clusters with second data and determines a cluster having a centroid value most similar to the second data as a search cluster, and a selection unit that compares each of the first data included in the search cluster with the second data and selects one or more predetermined numbers of the first data similar to the second data.