End-to-end datapath protection via pre-computed checksums

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data validation schemes in storage systems are inefficient and computationally burdensome, leading to CPU-based delays that become bottlenecks as storage media speeds improve, especially since checksum calculations consume hundreds of CPU clock cycles and are often performed every time data is accessed.

Innovation Solution

Calculating a checksum or error-detection code (EDC) upon data ingress during a write request and validating it upon data egress during a read request, applying protection at the point of entry and validating at the point of exit, with optional additional validation during data transfers to backend storage, and applying similar validation to metadata.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If checksum validation is performed every time data is accessed, then data integrity is ensured, but CPU performance deteriorates due to hundreds of CPU clock cycles consumed per validation

Engineering Contradiction:
Improvedata integrityVSAvoidCPU performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by calculating and storing the checksum with the data during the write operation, before the data is later accessed. This pre-computation eliminates the need to recalculate checksums during read operations, thereby ensuring data integrity while avoiding CPU performance degradation during data access.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If CPU-based checksum calculation is used, then data validation accuracy is maintained, but system speed deteriorates due to CPU delays becoming bottlenecks

Engineering Contradiction:
Improvevalidation accuracyVSAvoidsystem speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The system performs the computationally intensive checksum calculation in advance during data ingestion, storing the result with the data. When data is later accessed, the pre-computed checksum is simply retrieved and compared, maintaining validation accuracy while dramatically improving system speed by avoiding repeated CPU-intensive calculations.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If checksum is recalculated on every read, then error detection capability is maximized, but latency increases due to repeated computational overhead

Engineering Contradiction:
Improveerror detection capabilityVSAvoidvalidation latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent stores the checksum with the data during the write operation, making it immediately available for comparison during read operations. This eliminates the need to recalculate the checksum on every read, thereby maintaining full error detection capability while reducing validation latency by avoiding repeated computational overhead.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11321169B2End-to-end datapath protection
Publication Date: 2022.05.03 EMC IP HLDG CO LLC
  • US11321169B2 patent drawing
  • US11321169B2 patent drawing
  • US11321169B2 patent drawing

AI summary

A technique of protecting data in a data storage system includes, in response to receiving a write request that specifies data to be written in the data storage system, calculating an error detection code (EDC) of the specified data. The technique further includes persisting the specified data and the EDC in persistent cache and, in response to receiving a read request for reading the specified data, validating the specified data using the EDC before returning the specified data in satisfaction of the read request.