Pre-zeroing Storage Blocks via Asynchronous Background Scanning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for zeroing data blocks in storage systems either cause latency in write operations or result in delays before files can be accessed, as they either zero blocks immediately or only during I/O operations, leading to inefficiencies in storage system performance.

Innovation Solution

Implementing a method where data blocks are zeroed in the background during normal system operations, using a scanner to track and zero unallocated blocks asynchronously with I/O operations, thus minimizing latency and allowing immediate file access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data blocks are zeroed immediately when allocated to a file, then security is improved by deleting previously stored information, but file accessibility is worsened due to lag time before the file becomes accessible

Engineering Contradiction:
ImprovesecurityVSAvoidfile accessibility delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary zeroing actions by setting up unzeroed bitmaps and tracking unzeroed blocks during allocation, preparing the groundwork for future zeroing operations without immediately executing them. This allows the file to become accessible right away while zeroing is prepared for later execution during normal operations.

Inventive Principle:
Principle #10Preliminary action

2Speed

If data blocks are zeroed only when an I/O operation is requested, then file accessibility is improved allowing immediate I/O operations, but write operation latency is worsened as I/O operations must wait for zeroing to complete

Engineering Contradiction:
Improvefile accessibilityVSAvoidwrite operation latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary tracking of unzeroed blocks and prepares zeroing operations in advance by maintaining unzeroed bitmaps. When write operations are requested, the system has already identified which blocks need zeroing and can execute the zeroing efficiently without delaying the I/O operation, as the preparation work was done beforehand during normal system operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous tracking of unzeroed blocks through bitmaps and integrates zeroing operations into the normal flow of I/O operations. Rather than stopping to zero blocks, the system continuously monitors block usage and performs zeroing as part of the ongoing I/O workflow, eliminating idle time and keeping the system in constant productive operation.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If data blocks are zeroed before I/O operations, then data security is improved by preventing access to previously stored information, but system productivity is worsened due to increased latency in I/O operations

Engineering Contradiction:
Improvedata securityVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system maintains continuous tracking of unzeroed blocks through bitmaps and integrates zeroing operations into the normal flow of I/O operations. The scanner continuously monitors block allocation and zeroing status, and zeroing operations are performed seamlessly during regular system operations rather than interrupting the workflow. This continuous operation mode prevents idle time and maintains high system throughput while ensuring data security through proper zeroing.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10802741B2Pre-zeroing blocks in files using automatic file unmap framework
Publication Date: 2020.10.13 VMWARE INC
  • US10802741B2 patent drawing
  • US10802741B2 patent drawing
  • US10802741B2 patent drawing

AI summary

The disclosure provides an approach for zeroing allocated storage blocks of a file. The blocks are zeroed in the background, during a normal operation of a storage system, thus lowering the chance that the latency of a storage operation would be increased by the zeroing process. The approach also precludes a delay in being able to use the file, the delay caused by pre-zeroing the storage blocks prior to use of the file.