Flash Page Granularity Write Control for Wear Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems using flash drives face premature wear due to inefficient writing operations, as file system block sizes often mismatch with flash drive page sizes, leading to unnecessary data writes and increased wear.

Innovation Solution

Implementing a method where a first file system receives write requests from a second file system at block-level granularity, using flags to identify only the changed flash-page-size portions, thereby avoiding writes to unchanged pages and reducing data written to flash drives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If file system block sizes are made as multiples of flash drive page sizes for alignment, then write operations become simpler, but unnecessary data is written to flash drives increasing wear

Engineering Contradiction:
Improvewrite operation simplicityVSAvoidunnecessary data written to flash
Core Design Contradiction:
Ease of operationVSLoss of substance

Solution Approach 1:

The patent segments the flash drive storage into pages and further divides pages into sub-pages. By introducing sub-page granularity, the system can write only the specific portions of data that have changed, rather than writing entire pages or blocks. This segmentation allows precise tracking of changed data regions and reduces unnecessary writes to flash memory.

Inventive Principle:
Principle #1Segmentation

2Duration of action of stationary object

If flash drive page size is used as the write increment, then wear is reduced, but write operations become inefficient when blocks are shared

Engineering Contradiction:
Improveflash drive lifespanVSAvoidwrite operation efficiency
Core Design Contradiction:
Duration of action of stationary objectVSProductivity

Solution Approach 1:

The patent implements dynamic write strategies that adapt to the sharing status of data blocks. When a block is not shared, the system writes at flash page granularity to minimize wear. When a block is shared, the system dynamically switches to writing at block granularity to maintain consistency. This dynamic adjustment optimizes both flash drive lifespan and write operation efficiency based on real-time conditions.

Inventive Principle:
Principle #15Dynamics

3Reliability

If write splits are performed for shared blocks, then data consistency is maintained, but read and copy operations increase computational overhead

Engineering Contradiction:
Improvedata consistencyVSAvoidcomputing resources consumed
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent performs preliminary actions by pre-allocating metadata structures and tracking the sharing status of data blocks before write operations occur. The system maintains information about which blocks are shared and their reference counts in advance. This preliminary preparation allows the system to quickly determine whether write splits are needed without performing expensive read and copy operations during the actual write process, thereby reducing computational overhead while maintaining data consistency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10089032B1Controlling write sizes to reduce flash wear
Publication Date: 2018.10.02 EMC IP HLDG CO LLC
  • US10089032B1 patent drawing
  • US10089032B1 patent drawing
  • US10089032B1 patent drawing

AI summary

A technique for managing storage in a data storage system sends a write from a second file system to a first file system at block-level granularity of the first file system and provides a set of flags that identify which flash-page-size portion(s) of a block are being changed. If the write is directed to a data block that is not shared, such that no write split is required, the improved technique checks the set of flags and proceeds to overwrite the data block in the first file system with only the flash-page-size portion(s) that have changed. The improved technique thus performs the overwrite in flash-page-size increments, avoiding writes to flash pages that remain unchanged.