Direct Mapped LUN Block Map Generation for Snapshot Writes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network block services protocols experience performance degradation when accessing SCSI LUNs due to mapping overhead, particularly in UNIX-based file systems, which limits data access speed and storage efficiency, especially when snapshot copies are involved.

Innovation Solution

Implementing a method that converts a direct mapped file to a partial mapped state upon a 'copy on first write' request, allowing data blocks to be allocated with indirect block pointers for efficient data access and storage, and reversing this process when necessary, thereby reducing I/O operations and storage requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If indirect block pointers are allocated for mapping data blocks in UNIX-based file systems, then storage flexibility and snapshot copy capability are improved, but mapping overhead increases and data access performance deteriorates

Engineering Contradiction:
Improvesnapshot copy capabilityVSAvoiddata access performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent pre-allocates indirect block pointers and establishes mapping structures in advance during file creation, so that when snapshot copies are needed, the mapping infrastructure is already in place and ready to use, eliminating the need to create mapping structures dynamically during snapshot operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the file mapping into direct mapping for primary data access and indirect mapping for snapshot copy operations, allowing each mapping type to be optimized independently - direct mapping for performance and indirect mapping for snapshot capability

Inventive Principle:
Principle #1Segmentation

2Productivity

If direct mapping is used for all data blocks, then data access speed is improved, but storage flexibility and snapshot copy support are reduced

Engineering Contradiction:
Improvedata access speedVSAvoidsnapshot copy support
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic mapping system that can switch between direct and indirect mapping modes based on the operation type - using direct mapping for normal data access to maintain high speed, and indirect mapping when snapshot copy operations are performed to enable storage flexibility

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If mapping information is stored in indirect blocks, then storage allocation flexibility is improved, but I/O operations and storage requirements increase

Engineering Contradiction:
Improvestorage allocation flexibilityVSAvoidstorage requirements
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent applies indirect mapping selectively only to the portions of the file that require snapshot copy capability, while keeping the rest of the file in direct mapping mode, thus minimizing the storage overhead associated with indirect block pointers while maintaining storage flexibility where needed

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8285967B1Method for on-demand block map generation for direct mapped LUN
Publication Date: 2012.10.09 EMC IP HLDG CO LLC
  • US8285967B1 patent drawing
  • US8285967B1 patent drawing
  • US8285967B1 patent drawing

AI summary

This invention is a system and a method for operating a storage server in a data network using a new architecture. The method of creating the partial block map allows the snapshot writes on a direct mapped file. The method of reading data or writing data to the file created in direct mapping state and later converted to partial mapping state responsive to a copy on first write request by a client allocates new indirect block when needed to store the reference to newly allocated data block. The method of reading data from or writing data to the file in partial mapping state involves checking the mapping bit to find if the indirect block is in direct mapping state.