Sub-block Data State Tracking for Partial Corruption Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Log-structured storage systems face unavailability issues due to data corruption, where a small error in a large block results in the entire block being reported as unavailable, amplifying the scope of data corruption.

Innovation Solution

Creating data state information in the virtual address space to indicate the availability of data stored in sub-blocks of a physical data block, allowing for finer granularity in determining data availability and selecting available sub-blocks for reading.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the storage system uses large block size for read/write operations, then the productivity is improved, but the reliability deteriorates because a small data error causes the entire block to be reported as unavailable

Engineering Contradiction:
Improveread/write operation efficiencyVSAvoiddata availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides the physical data block into multiple sub-blocks (e.g., 8 sub-blocks of 512 bytes each within a 4KB block) and introduces data state information to track the availability status of each sub-block independently. This segmentation allows the system to read only the available sub-blocks rather than the entire block, resolving the contradiction between maintaining large block sizes for efficiency and ensuring reliability when partial corruption occurs.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the storage system reports entire blocks as unavailable due to corruption, then the reliability is maintained, but the loss of information increases because available data within the block cannot be accessed

Engineering Contradiction:
Improvedata integrityVSAvoidavailable data loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

By segmenting the data block into sub-blocks with individual availability tracking, the system can identify which sub-blocks are corrupted and which are intact. The data state information acts as a map that guides the reading process to only the available sub-blocks, preventing information loss while maintaining reliability through corruption detection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The data state information serves as an intermediary between the physical data block and the reading operation. It mediates by providing availability status of each sub-block, enabling the system to make informed decisions about which data to read without accessing corrupted portions, thus preventing information loss while ensuring data integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the storage system uses fine-grained sub-block tracking, then the reliability is improved by reducing data corruption scope, but the device complexity increases due to additional data state information management

Engineering Contradiction:
Improvedata availabilityVSAvoiddata state information management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The segmentation into sub-blocks with individual status tracking does increase complexity, but it is managed by organizing the data state information in a structured manner that mirrors the sub-block structure. This systematic organization makes the complexity manageable and scalable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The data state information structure serves multiple functions: it tracks availability status, guides reading operations to valid data, and enables selective reading of only available sub-blocks. This multi-functionality justifies the added complexity by providing comprehensive reliability monitoring and data recovery capabilities.

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

Data Source

PatentUS11314430B2Reading data in sub-blocks using data state information
Publication Date: 2022.04.26 EMC IP HLDG CO LLC
  • US11314430B2 patent drawing
  • US11314430B2 patent drawing
  • US11314430B2 patent drawing

AI summary

Techniques read data. Such techniques involve: in response to receiving a read request from the user for data on a physical data block, determining whether there is data state information corresponding to the physical data block. The data state information may include a plurality of units for respectively indicating availability of data stored in a plurality of sub-blocks of the physical data block. Such techniques further involve: in response to determining that there is data state information, selecting a target sub-block from the plurality of sub-blocks of the physical storage block based on the data state information. Such techniques further involve: providing the user with data stored in the target sub-block. Such techniques are capable of determining the availability of data at a finer granularity.