Flash Metadata Write via Cache Link List Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems face challenges with write amplification in flash memory and solid-state drives, where the actual amount of physical information written is a multiple of the logical amount intended, and cache allocation size matching flash page size leads to difficulties in data transfer.

Innovation Solution

A method and apparatus that utilize cache memory as a temporary location for modifying data, replicating control data from storage memory, moving clean cache link lists to dirty and then for-flush link lists, and writing updated data to free flash pages, maximizing write amplification and optimizing data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cache memory is used as temporary location for modifying data, then write amplification is maximized, but data transfer difficulty increases

Engineering Contradiction:
Improvewrite amplificationVSAvoiddata transfer
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The cache memory is segmented into multiple link lists (clean cache link list, dirty cache link list, for-flush link list) to organize and manage scattered metadata. This segmentation allows efficient tracking and transfer of modified data blocks, resolving the data transfer difficulty while maintaining write amplification benefits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the for-flush link list) that bridges cache memory and flash storage. This intermediary organizes scattered metadata into structured blocks before transfer, making the data transfer process more manageable while preserving the write amplification optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If cache allocation size is made same as flash page size, then storage alignment is improved, but data transfer becomes difficult

Engineering Contradiction:
Improvestorage alignmentVSAvoiddata transfer
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The system dynamically manages cache allocation by creating scattered blocks of various sizes rather than fixed flash-page-sized allocations. This dynamic approach allows flexible data organization in cache while maintaining proper alignment with flash page structures during write operations, resolving the transfer difficulty.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the allocation parameter from fixed flash page size to variable scattered block sizes in cache memory. This parameter change allows optimal use of cache space while maintaining compatibility with flash page structure through the intermediary for-flush mechanism, eliminating data transfer difficulties.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10055150B1Writing volatile scattered memory metadata to flash device
Publication Date: 2018.08.21 BITMICRO LLC
  • US10055150B1 patent drawing
  • US10055150B1 patent drawing
  • US10055150B1 patent drawing

AI summary

In an embodiment of the invention, a method comprises: requesting an update on a control data in at least one flash block in a storage memory; replicating, from the storage memory to a cache memory, the control data to be updated; moving a clean cache link list to a dirty cache link list so that the dirty cache link list is changed to reflect the update on the control data; and moving the dirty cache link list to a for-flush link list and writing an updated control data from the for-flush link list to a free flash page in the storage memory. In another embodiment of the invention, an apparatus comprises: a control data flushing system configured to: request an update on a control data in at least one flash block in a storage memory; replicate, from the storage memory to a cache memory, the control data to be updated; move a clean cache link list to a dirty cache link list so that the dirty cache link list is changed to reflect the update on the control data; and move the dirty cache link list to a for-flush link list and write an updated control data from the for-flush link list to a free flash page in the storage memory. In yet another embodiment of the invention, an article of manufacture, comprises a non-transient computer-readable medium having stored thereon instructions operable to permit an apparatus to: request an update on a control data in at least one flash block in a storage memory; replicate, from the storage memory to a cache memory, the control data to be updated; move a clean cache link list to a dirty cache link list so that the dirty cache link list is changed to reflect the update on the control data; and move the dirty cache link list to a for-flush link list and write an updated control data from the for-flush link list to a free flash page in the storage memory.