Fast-zeroing File System Storage Backend Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional thin provisioning methods in data storage systems waste bandwidth and resources by writing zeroes to unused portions of blocks to prevent data leakage, as backend resources cannot distinguish between real data and zeroes, leading to inefficient use of resources and increased bandwidth consumption as block sizes grow.

Innovation Solution

Implementing a method that uses a data write command to write actual host data and a zero write command to fill unused block portions with zeroes, where the zero write command is a lightweight instruction without a data body, allowing intelligent backend resources to optimize usage by tracking zero portions rather than treating them as real data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If zeroes are written to unused portions of allocated blocks to prevent data leakage, then data security is improved, but bandwidth consumption increases and other resources are blocked

Engineering Contradiction:
Improvedata securityVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the actual zero-writing operation from the data path by introducing a special opcode that tells the storage device to fill unused blocks with zeroes without transmitting actual zero data over the interface. This removes the bandwidth-consuming element while preserving the security function.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The storage device acts as an intermediary that receives a lightweight command instead of actual zero data, processes it locally to fill unused blocks, and achieves the same security effect without requiring the host to send or receive large amounts of zero data.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If backend resources treat entire block as real host data, then data integrity is maintained, but backend resource consumption increases unnecessarily

Engineering Contradiction:
Improvedata integrityVSAvoidbackend resource efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by allowing the storage device to treat different portions of allocated blocks differently - actual data portions are handled with full processing, while zero-filled portions are handled more efficiently without unnecessary processing overhead.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The storage device changes its processing parameters based on the opcode received, switching between full data processing mode for actual host data and optimized zero-filling mode for unused portions, thereby improving resource efficiency while maintaining integrity.

Inventive Principle:
Principle #35Parameter changes

3Volume of stationary object

If standard block size grows over time, then storage capacity increases, but bandwidth wasted on writing zeroes increases proportionally

Engineering Contradiction:
Improvestorage capacityVSAvoidbandwidth waste
Core Design Contradiction:
Volume of stationary objectVSLoss of energy

Solution Approach 1:

Instead of copying actual zero data to fill unused blocks, the patent uses a symbolic representation (opcode) that instructs the storage device to perform the zero-filling operation, eliminating the need to transmit or process actual zero data regardless of block size.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9176675B1Fast-zeroing in a file system
Publication Date: 2015.11.03 EMC IP HLDG CO LLC
  • US9176675B1 patent drawing
  • US9176675B1 patent drawing
  • US9176675B1 patent drawing

AI summary

A technique performs a host write operation on behalf of a host computer. The technique involves receiving a write request from the host computer, and providing a data write command and a zero write command to backend storage in response to the write request from the host computer. The backend storage maintains a file on behalf of the host computer. Additionally, the data write command includes host data to be written to the file. Furthermore, the zero write command defines a field of zeroes to be written to the file. The technique further involves sending an acknowledgement to the host computer, the acknowledgement serving as a response to the write request from the host computer.