Storage Transaction Ordering via Dependency DAG

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing transaction processing methods in storage devices are slow and inefficient, as they require waiting for previous transactions to complete before issuing new ones, leading to increased queue depth and reduced performance.

Innovation Solution

A host computing platform specifies a sequence of transactions with dependency information, allowing the storage device to manage and process transactions in parallel, using a directed-acyclic-graph (DAG) structure to determine commitment order, thereby reducing the need for flush commands and optimizing queue depth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the host computing platform waits for previous transactions to complete before issuing new ones, then transaction ordering is maintained, but system throughput and IOPS are reduced

Engineering Contradiction:
Improvetransaction orderingVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the transaction processing workflow into distinct phases: transaction issuance, background ordering verification, and commitment. The host platform issues transactions without waiting for completion, while the storage device independently verifies ordering constraints in the background and commits transactions when ready, thereby maintaining reliability without sacrificing throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The host computing platform performs preliminary action by issuing all transactions in advance without waiting for previous transactions to complete. The ordering verification and commitment processes are then handled in the background by the storage device, allowing the host to proceed with subsequent operations immediately.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If flush commands are issued between each transaction, then data integrity is ensured, but processing time and system latency increase

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the flush command operation from the critical transaction path. Instead of requiring explicit flush commands between transactions, the storage device performs background verification of ordering constraints and implicitly ensures data integrity through its commitment process, eliminating the time penalty of explicit flush operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The storage device performs self-service by independently verifying transaction ordering constraints and managing commitment in the background without requiring explicit flush commands from the host. This autonomous verification process maintains data integrity while avoiding the latency of host-initiated flush operations.

Inventive Principle:
Principle #25Self-service

3Reliability

If the host computing platform sends data out of host memory and waits for completion, then transaction dependencies are respected, but host memory utilization and processing efficiency decrease

Engineering Contradiction:
Improvetransaction dependency enforcementVSAvoidhost processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The host computing platform performs preliminary action by issuing all transactions with their dependency information in advance, without waiting for completion or sending data out of host memory. The storage device then handles the verification of transaction dependencies and enforcement of ordering constraints in the background, allowing the host to maintain high memory utilization and processing efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10417218B2Techniques to achieve ordering among storage device transactions
Publication Date: 2019.09.17 INTEL CORP
  • US10417218B2 patent drawing
  • US10417218B2 patent drawing
  • US10417218B2 patent drawing

AI summary

Various embodiments are generally directed to an apparatus, method and other techniques to receiving a sequence of transactions, each transaction including a request to write data to a memory device, processing the sequence of transactions, and communicating a response to a host after the sequence of transaction have been completed.