NVMe Storage Data Protection via Software-Hardware Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage array systems, particularly those using NVMe hardware, lack the capability to perform per-data segment verification and replacement of application and reference tags for IO commands with multiple data segments, leading to inefficiencies in data protection and integrity checks.

Innovation Solution

Implementing a software-assisted fine-grained data protection method within a storage array that selectively uses NVMe hardware for CRC verification and employs software to perform application and reference tag verification and replacement for IO commands with multiple data segments, ensuring comprehensive data integrity without relying solely on hardware capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If NVMe hardware is used for data verification, then verification speed is improved, but the capability to perform per-data segment verification and tag replacement is lost

Engineering Contradiction:
Improveverification speedVSAvoidper-data segment verification capability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent segments the verification process into two parts: CRC verification is performed by NVMe hardware for speed, while application tag and reference tag verification are performed by software for fine-grained control. This segmentation allows each component to handle the type of verification it is best suited for, resolving the contradiction between speed and adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces software as an intermediary layer between the host and NVMe hardware. This software mediator handles the complex tag verification and replacement operations that hardware cannot perform, while still leveraging hardware for basic CRC verification. The intermediary enables fine-grained per-segment verification without sacrificing overall system performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If software is used for application tag and reference tag verification, then fine-grained data protection is improved, but processing overhead increases

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

Solution Approach 1:

The patent applies partial action by having software perform only the specific tag verification and replacement operations that are necessary, rather than performing all verification tasks. CRC verification is handled by hardware to reduce software overhead. This selective division of labor maintains data integrity while minimizing processing overhead.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If hardware is used for CRC verification, then verification efficiency is improved, but comprehensive data protection coverage is reduced

Engineering Contradiction:
Improveverification efficiencyVSAvoiddata protection coverage
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The verification process is segmented into CRC verification (handled by hardware for efficiency) and tag verification (handled by software for comprehensive coverage). This segmentation allows the system to leverage hardware speed while maintaining complete data protection coverage through software-based tag verification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The software component serves multiple functions: it performs application tag verification, reference tag verification, and tag replacement operations. This multi-functionality ensures comprehensive data protection coverage while allowing hardware to focus on its strength of rapid CRC verification.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10705905B2Software-assisted fine-grained data protection for non-volatile memory storage devices
Publication Date: 2020.07.07 EMC IP HLDG CO LLC
  • US10705905B2 patent drawing
  • US10705905B2 patent drawing
  • US10705905B2 patent drawing

AI summary

Selective use of a software path and hardware path help to provide fine-grained T10-PI support while maintaining IO operation efficiency for single IO read/write commands transferring multiple data segments. NVMe hardware capability (i.e. the hardware path) is always utilized for CPU-intensive CRC verification. NVMe hardware capability is utilized for application tag and reference tag verification whenever possible. Software running on a computing node (i.e. the software path) is used for application tag and reference tag verification and replacement when those functions cannot be implemented by the NVMe hardware.