Data Bucketization With JIT Code Modules for Faster Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processing large databases consumes significant processing resources and time due to the large amount of data that needs to be processed by the host processor, even after filtering, leading to inefficiencies and potential allocation issues.

Innovation Solution

Bucketization of data items in storage devices, where each bucket shares common characteristics, is processed by specialized Just-In-Time (JIT) compiled code modules tailored to those characteristics, offloading some processing tasks to embedded controllers in storage devices like SSDs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is processed by the host processor using general-purpose code, then the system is simple to implement, but processing time and resource consumption increase significantly

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments data into buckets based on common characteristics (e.g., null values, regular lengths, constant values). Each bucket is then processed by specialized JIT-compiled code modules tailored to its specific characteristics. This segmentation allows the system to process different data types more efficiently while maintaining overall system manageability through modular specialized handlers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by creating specialized code modules with optimizations specific to each bucket's characteristics. For example, buckets containing null values receive specialized handling that skips null checks, while buckets with constant values use direct value substitution. This localized optimization improves processing speed for each specific data type without requiring complete system redesign.

Inventive Principle:
Principle #3Local quality

2Use of energy by moving object

If all data is processed by the host processor, then implementation is straightforward, but processing resources are consumed excessively

Engineering Contradiction:
Improveprocessing resource consumptionVSAvoidimplementation simplicity
Core Design Contradiction:
Use of energy by moving objectVSEase of operation

Solution Approach 1:

The patent segments data processing into multiple buckets with different characteristics, allowing specialized code modules to handle each segment with optimized resource usage. This reduces overall processing resource consumption by applying appropriate optimization strategies to each data segment rather than using a single general-purpose processing approach for all data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes processing parameters dynamically by generating JIT-compiled code modules based on the characteristics of each data bucket. Parameters such as null value handling, length validation, and constant value substitution are adjusted according to the specific characteristics of each bucket, thereby reducing processing resource consumption while maintaining ease of operation through automated code generation.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If data is not organized into buckets, then data storage is simple, but processing efficiency decreases

Engineering Contradiction:
Improvequery execution efficiencyVSAvoiddata organization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments data into buckets based on common characteristics such as null values, regular lengths, and constant values. This segmentation improves query execution efficiency by allowing specialized code modules to process each bucket with optimized operations. The bucketization process adds organizational complexity but enables significant performance improvements through targeted processing strategies for each data segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary bucketization of data before processing queries. By pre-organizing data into buckets with common characteristics, the system prepares data in advance for optimized processing. This preliminary action reduces query execution time by eliminating the need to analyze and adapt processing strategies during query execution, though it requires additional initial organization effort.

Inventive Principle:
Principle #10Preliminary action

4Speed

If specialized code modules are used for each bucket, then processing speed increases, but system complexity increases

Engineering Contradiction:
Improvedata processing speedVSAvoidcode module complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies local quality by creating specialized JIT-compiled code modules optimized for specific data bucket characteristics. Each code module contains processing logic tailored to its designated bucket type, such as skipping null checks for null-value buckets or using direct value substitution for constant-value buckets. This localized specialization increases processing speed while keeping each individual code module relatively simple and manageable.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent uses parameter changes by dynamically generating code modules with different processing parameters based on bucket characteristics. The JIT compilation process adjusts parameters such as null value handling, length validation, and constant value substitution according to the specific needs of each bucket. This approach enables fast specialized processing while automating the complexity management through runtime code generation rather than static system configuration.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3903215B1Bucketizing data into buckets for processing by code modules
Publication Date: 2026.03.25 HUAWEI TECH CO LTD
  • EP3903215B1 patent drawingFigure 1A
  • EP3903215B1 patent drawingFigure 1B
  • EP3903215B1 patent drawingFigure 2

AI summary

A controller (118) comprises a bucketization logic (120) to receive a bucketization indication from a host processor (102), and in response to the bucketization indication, partition data stored in a memory of a storage device into buckets (121), wherein a first bucket (404) of the buckets (121) comprises data items that share a first common characteristic. The bucketization logic (120) is to send data items of the first bucket (404) to the host processor (102) for processing by the host processor (102) using a first code module configured for the first common characteristic of the first bucket.