Near-Storage Dictionary Decoding to Reduce Host Processor Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database management systems face performance bottlenecks when performing dictionary decoding, as transferring large amounts of data to the host processor for decoding consumes resources like bus bandwidth and processing time, reducing the host processor's ability to execute other commands efficiently.
Innovation Solution
An accelerator is integrated with the storage device to perform dictionary decoding, reducing the need for data transfer to the host processor by processing decoding operations near the storage device, allowing for simultaneous support of multiple dictionary encodings and efficient decoding of fixed- or variable-width data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If data is transferred to the host processor for dictionary decoding, then decoding operations can be performed, but host processor performance deteriorates due to consumed bus bandwidth and processing time
Solution Approach 1:
The patent extracts the dictionary decoding function from the host processor and relocates it to a storage device accelerator. This separation allows the host processor to focus on other commands while the accelerator handles decoding operations, resolving the contradiction between maintaining decoding capability and preserving host processor performance.
Solution Approach 2:
The patent introduces an accelerator as an intermediary component between the storage device and the host processor. This accelerator performs dictionary decoding operations locally, acting as a mediator that eliminates the need for the host processor to handle decoding tasks, thereby resolving the performance bottleneck.
2Measurement precision
If data is transferred to the host processor for decoding, then decoding can be completed, but data transfer time increases
Solution Approach 1:
The patent implements preliminary action by loading the dictionary data into the accelerator in advance. When decoding is needed, the accelerator can immediately perform the decoding operation using the pre-loaded dictionary, eliminating the need to transfer data back and forth and significantly reducing time loss.
Solution Approach 2:
By extracting the decoding function from the host processor system and embedding it within the storage device accelerator, the patent eliminates the data transfer step entirely. The decoding operation occurs in-place at the storage device, resolving the time loss associated with transferring data to the host processor.
3Measurement precision
If the host processor executes decoding commands, then decoding operations are performed, but the ability to execute other commands is reduced
Solution Approach 1:
The patent segments the system into two independent functional units: the host processor for executing high-level commands and the storage device accelerator for handling decoding operations. This segmentation allows both the host processor and accelerator to operate simultaneously on different tasks, maintaining overall system versatility while enabling decoding functionality.
Solution Approach 2:
The accelerator serves as an intermediary that handles decoding operations independently, allowing the host processor to execute other commands without interruption. This mediator approach resolves the contradiction by enabling both decoding functionality and sustained host processor versatility.
Data Source
AI summary
An accelerator is disclosed. The accelerator may include a memory that may store a dictionary table. An address generator may be configured to generate an address in the dictionary table based on an encoded value, which may have an encoded width. An output filter may be configured to filter a decoded value from the dictionary table based on the encoded value, the encoded width, and a decoded width of the decoded data. The accelerator may be configured to support at least two different encoded widths.


