Software Assist Memory Controller Offloading Storage Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems, especially software-defined storage systems, face performance bottlenecks due to latency and require significant processing resources, often underutilizing non-commodity hardware and being incompatible with customized hardware.

Innovation Solution

A memory module with a software assist controller that intercepts data and offloads storage operations, such as RAID parity calculations, from the host processor, allowing incremental processing and delayed execution based on configuration instructions, thereby reducing the burden on the host processor and enhancing system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software-based storage solutions are used to provide hardware independence, then adaptability is improved, but processing speed and performance deteriorate due to software-centric operations requiring significant processing resources

Engineering Contradiction:
Improvehardware independenceVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The storage system is segmented into a software layer for configuration and management, and a hardware layer (storage assist controller) for execution of storage operations. This segmentation allows the software to provide hardware independence through configuration files while the dedicated hardware controller handles computationally intensive tasks, resolving the contradiction between adaptability and processing speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A storage assist controller serves as an intermediary between the host processor and storage devices. It receives configuration instructions from software and executes storage operations independently, acting as a mediator that enables hardware independence through software configuration while maintaining high processing speed through dedicated hardware execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hardware-based storage solutions are used to improve processing speed, then productivity is improved, but adaptability deteriorates due to specialized hardware that is tightly coupled and not easily upgraded

Engineering Contradiction:
Improveprocessing speedVSAvoidupgradability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The storage assist controller is designed with dynamic reconfigurability, allowing it to adapt to different storage operations and configurations. The controller can be programmed via configuration files to perform different storage functions, combining the speed of dedicated hardware with the flexibility of software-based solutions, thus resolving the contradiction between processing speed and upgradability.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If software-based storage solutions are used, then adaptability is improved, but loss of time increases due to additional time required to implement software solutions

Engineering Contradiction:
Improvehardware independenceVSAvoidimplementation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Storage operation configurations are prepared in advance as configuration files that contain pre-defined storage operation parameters and settings. These preliminary configurations are stored and readily available for the storage assist controller to execute, eliminating the need for time-consuming software processing during actual storage operations, thus resolving the contradiction between adaptability and implementation time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10990291B2Software assist memory module hardware architecture
Publication Date: 2021.04.27 DELL PROD LP
  • US10990291B2 patent drawing
  • US10990291B2 patent drawing
  • US10990291B2 patent drawing

AI summary

A software assist module of a system memory coupled to a host processor provides the ability to offload software operations from the host processor. The software assist module includes a first memory accessed by the host processor via a first chip select signal. The software assist module also includes a software assist controller accessed by the host processor via a second chip select signal. The software assist controller is configured to intercept data related to a software function offloaded from the host processor, where the data is intercepted from a first chip select signal used to access the first memory. The software assist controller utilizes the intercepted data to perform the offloaded function. Based on configuration instructions provided by the host processor via the second chip select signal, the software assist module performs the offloaded function incrementally as function data is intercepted or as a single operation after all data for a function has been intercepted.