Storage Transaction Ordering via Dependency DAG
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If flush commands are issued between each transaction, then data integrity is ensured, but processing time and system latency increase
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.
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.
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
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.
Data Source
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.


