Storage Controller Offloads Data Compression From Host CPU

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The zswap method, which compresses data to improve swap-in/out performance, consumes additional CPU resources and reduces memory availability due to the need for data compression and storage in host memory.

Innovation Solution

An electronic device with a controller that offloads the compression operation from the host CPU, using volatile memory to compress and store data, thereby freeing up the host CPU for other tasks and improving memory efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If zswap method is used to compress data before swapping out to storage device, then swap-in/out performance is improved, but CPU resources are consumed additionally and memory availability is reduced

Engineering Contradiction:
Improveswap-in/out performanceVSAvoidCPU resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the data compression function from the host CPU and implements it in the storage device controller. This separates the compression workload from the host system, allowing the CPU to focus on other tasks while the storage device handles compression independently, thus resolving the contradiction between improved swap performance and reduced CPU resource consumption

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a dedicated compression buffer area in the storage device as an intermediary component. This buffer serves as a temporary storage location for data being compressed, allowing the storage device to handle compression operations without requiring host CPU intervention, thereby improving swap performance while minimizing CPU resource usage

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If zswap method is used to compress data and store in host memory, then swap-in/out performance is improved, but memory availability is reduced

Engineering Contradiction:
Improveswap-in/out performanceVSAvoidmemory availability
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent moves the compressed data storage from the host memory space to the storage device's address space. By creating a separate compression buffer area within the storage device, the system expands the available memory capacity while maintaining fast swap performance, thus resolving the contradiction between improved swap performance and reduced memory availability

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If swap technique is used to store inactive pages in storage device, then host memory utilization is maximized, but performance degrades due to low storage device performance and I/O bottlenecks

Engineering Contradiction:
Improvehost memory utilizationVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent changes the compression parameter from being performed on the host CPU to being performed on the storage device controller. This parameter change allows the storage device to handle compression locally, reducing I/O overhead and eliminating the performance bottleneck while maintaining high host memory utilization through the zswap mechanism

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12242725B2Electronic device and computing system including same
Publication Date: 2025.03.04 XCENA INC
  • US12242725B2 patent drawing
  • US12242725B2 patent drawing
  • US12242725B2 patent drawing

AI summary

As one aspect of the present disclosure, an electronic device is disclosed. The device may include: a volatile memory device; and a controller configured to be connected with a host processor and the volatile memory device, wherein the controller may be further configured to receive a swap-out request for first data in pages from the host processor, generate first compressed data by compressing the first data in response to the swap-out request, and store the first compressed data in the volatile memory device.