Bit-Mapped DMA Dependency Table for Flash IO Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems require frequent processor intervention for DMA engine operations, leading to inefficient data transfer between memory and the IO bus, as the processor must prepare and enable descriptors between transfer boundaries, interrupting the process and consuming precious processor cycles.

Innovation Solution

Implementing a dependency table that allows DMA engines to manage descriptors and buffer readiness independently, reducing processor intervention by using BufRdy fields to track the status of data buffers and enabling autonomous execution of descriptors, thus minimizing processor involvement in each transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the processor prepares and enables descriptors between transfer boundaries, then data transfer can be completed, but processor intervention is frequent and consumes precious processor cycles

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidprocessor cycles
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The dependency table enables DMA engines to autonomously manage descriptor preparation and buffer readiness tracking without processor intervention. The table stores dependency relationships between descriptors and buffers, allowing DMA engines to self-coordinate transfer operations, thereby freeing the processor from frequent interrupt handling and descriptor setup tasks.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The dependency table acts as an intermediary data structure that mediates between multiple DMA engines and the processor. It stores index fields representing dependencies between descriptors and buffers, enabling indirect coordination of transfer operations without requiring direct processor involvement in each transfer boundary event.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If two DMA engines operate in parallel utilizing multiple data buffer spaces, then data transfer throughput increases, but processor intervention is required between transfers

Engineering Contradiction:
Improvedata transfer throughputVSAvoidprocessor involvement
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The dependency table implements a feedback mechanism where completion status of buffer transfers is automatically recorded and used to trigger subsequent descriptor execution. Each entry in the dependency table tracks whether a buffer is ready, and this status feedback enables DMA engines to autonomously proceed with dependent transfers without processor polling or intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The dependency table is pre-configured with dependency relationships between descriptors and buffers before transfer operations begin. This preliminary setup allows DMA engines to execute transfers in the correct sequence based on pre-established dependencies, eliminating the need for processor intervention to coordinate parallel operations as they occur.

Inventive Principle:
Principle #10Preliminary action

3Duration of action of moving object

If the processor is interrupted to prepare the next transfer, then continuous data transfer is maintained, but processor cycles are consumed

Engineering Contradiction:
Improvecontinuous data transferVSAvoidprocessor interruption
Core Design Contradiction:
Duration of action of moving objectVSLoss of time

Solution Approach 1:

The dependency table enables the DMA subsystem to self-manage continuous transfer operations by automatically tracking buffer readiness and triggering subsequent descriptors. The system serves itself by using the dependency relationships stored in the table to maintain continuous transfer flow without requiring processor interrupts for coordination.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The dependency table structure allows useful action (data transfer) to continue uninterrupted by enabling DMA engines to autonomously proceed with transfers as buffers become ready. The pre-stored dependency relationships ensure continuous operation without gaps that would require processor intervention to bridge.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9934160B1Bit-mapped DMA and IOC transfer with dependency table comprising plurality of index fields in the cache for DMA transfer
Publication Date: 2018.04.03 BITMICRO LLC
  • US9934160B1 patent drawing
  • US9934160B1 patent drawing
  • US9934160B1 patent drawing

AI summary

The invention provides the data flow communication control between the source (flash/IO) and destination (IO/flash) cores. The source and destination cores are started simultaneously instead of serially and get instructions from the descriptors provided and set-up by the processor. Each source and destination core's descriptors1 are correlated or tied with each other by the processor by providing information to the hardware assist mechanism. The hardware assist mechanism responsible for moderating the data transfer from source to destination. The flow tracker guarantees that data needed by destination exists. By applying the invention to the prior approach/solution, the data latency between the flash & IO bus will be reduced. Processor interrupts will be minimized while data transfer between the flash & IO bus is ongoing.