Smart DMA Engine for Storage Controller Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage controller technologies face inefficiencies in caching operations due to the need for processor-intensive traversing of bitmaps and manipulation of scatter-gather lists, leading to increased resource utilization and latency in DMA read/write requests.

Innovation Solution

A smart DMA engine module is introduced, comprising descriptor fetch, host SG list walker, bitmap walker, and new SG list generator circuits, which separate the processing of DMA descriptors and dirty sector bitmaps from the processor, generating optimized new SG lists for cache and storage device operations, thereby reducing processor load and improving data transfer efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the processor is used to traverse bitmaps and manipulate scatter-gather lists for DMA operations, then the caching operations can be performed, but the processor overhead increases and latency is introduced

Engineering Contradiction:
Improvecaching operation efficiencyVSAvoidprocessor latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the bitmap traversal and SG list manipulation functions from the processor and implements them in dedicated hardware circuits within the DMA engine. This includes a bitmap walker circuit that automatically traverses the dirty sector bitmap and identifies valid sectors, and an SG list generator circuit that constructs new SG lists based on the bitmap traversal results. By taking out these processing tasks from the processor, the invention eliminates the associated latency and processor overhead while maintaining full caching operation functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a smart DMA engine as an intermediary between the processor and the storage devices. This smart DMA engine includes dedicated hardware circuits for bitmap traversal and SG list manipulation, acting as a mediator that handles these complex operations independently. The processor simply initiates DMA transfers by providing the dirty sector bitmap address and original SG list, while the smart DMA engine's intermediary circuits perform the intensive processing work, freeing the processor from latency-inducing operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the processor handles DMA descriptor and bitmap processing, then caching operations are supported, but resource utilization increases

Engineering Contradiction:
Improvecaching operation supportVSAvoidprocessor resource utilization
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the resource-intensive bitmap traversal and SG list manipulation operations from the processor and implements them in dedicated hardware circuits within the DMA engine. This includes a bitmap walker circuit with state machine logic that automatically traverses the dirty sector bitmap, and an SG list generator circuit that constructs new SG lists. By extracting these functions, the invention maintains full caching operation support while dramatically reducing processor resource utilization and energy consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent enables the DMA engine to serve itself by implementing self-contained hardware circuits for bitmap traversal and SG list manipulation. The smart DMA engine includes its own bitmap walker and SG list generator circuits that operate autonomously without requiring processor intervention. This self-service capability allows the DMA engine to handle caching operations independently, reducing the burden on processor resources while maintaining adaptability to various caching scenarios.

Inventive Principle:
Principle #25Self-service

3Productivity

If traditional DMA engine is used without smart circuits, then device complexity is lower, but DMA read/write performance is reduced

Engineering Contradiction:
ImproveDMA transfer speedVSAvoidDMA engine structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the DMA engine into functional modules: a traditional DMA engine core for actual data transfer, a bitmap walker circuit for bitmap traversal, an SG list generator circuit for list construction, and a descriptor fetch circuit for descriptor retrieval. Each segment performs a specific function, allowing parallel operation and improving overall DMA transfer speed. The segmentation enables the smart circuits to operate independently alongside the traditional DMA engine, enhancing performance without completely redesigning the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces smart circuits as intermediary components between the processor and the traditional DMA engine. These intermediary circuits (bitmap walker, SG list generator) prepare the necessary data structures and control information, allowing the traditional DMA engine to operate more efficiently. The intermediary smart circuits handle the complex processing tasks, enabling faster DMA transfers while maintaining a relatively simple overall architecture that builds upon existing DMA engine designs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10915478B2Method and apparatus for scatter gather processing engine in a storage controller for caching applications
Publication Date: 2021.02.09 MICROSEMI STORAGE SOLUTIONS INC
  • US10915478B2 patent drawing
  • US10915478B2 patent drawing
  • US10915478B2 patent drawing

AI summary

The disclosure relates generally to improvements in caching operations in storage controllers, including caching operations utilizing direct memory access (DMA) systems, and related devices. Rather than the firmware running on the processor of the storage controller having to traverse a dirty cache sector bitmap and manipulate an original scatter-gather (SG) list in order to generate the two separate SG lists, namely one for the cache and one for the storage device, these operations are offloaded onto new specialized hardware referred to herein as a smart DMA engine in order to free up the processor of the storage controller.