Flash Memory Controller Fragmentation Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory systems, such as flash memory, face efficiency issues due to data fragmentation as they fill up, leading to delays in response time and increased housekeeping operations as data becomes scattered across multiple physical locations, making it inefficient to manage incoming data.

Innovation Solution

A method and system that utilize proactive and reactive defragmentation processes in a storage device with a controller managing both SLC and MLC flash memory, where the controller writes sequentially addressed logical groups directly to MLC memory when fullness reaches certain thresholds, and automatically defragments data when fragmentation is detected, reducing the need for extensive housekeeping operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is written to non-volatile memory as the storage device fills up, then storage capacity is utilized, but data fragmentation increases and response time deteriorates

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidresponse time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary defragmentation actions before the storage device becomes completely full. When the storage device reaches a threshold fullness level, the controller proactively defragments data in the second type of non-volatile memory, preventing fragmentation from occurring in the first place and maintaining fast response times while still utilizing available storage capacity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The storage device is divided into two types of non-volatile memory: a first type used for storing fragmented data and a second type used for storing defragmented data. This segmentation allows the system to separate data based on its fragmentation state, enabling efficient management of both fragmented and defragmented data in appropriate memory regions.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If data is scattered across multiple physical locations, then storage flexibility is improved, but housekeeping operations become more complex and time-consuming

Engineering Contradiction:
Improvestorage flexibilityVSAvoidhousekeeping operations complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The controller performs preliminary defragmentation before the storage device becomes completely full, organizing data into contiguous sequences in the second type of non-volatile memory. This preliminary action reduces the complexity of subsequent housekeeping operations by preventing scattered data patterns from developing in the first place.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts data from scattered physical locations and consolidates it into contiguous sequences. By taking out fragmented data from its scattered positions and rewriting it in contiguous order in the second type of non-volatile memory, the system simplifies housekeeping operations while maintaining storage flexibility.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If proactive defragmentation is performed, then fragmentation is reduced and write performance improves, but storage space is consumed by defragmentation operations

Engineering Contradiction:
Improvewrite performanceVSAvoidavailable storage space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The storage device is divided into two types of non-volatile memory, allowing defragmented data to be stored in the second type while fragmented data remains in the first type. This segmentation enables proactive defragmentation to improve write performance without permanently consuming additional storage space, as the defragmentation process reorganizes existing data rather than creating duplicates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Proactive defragmentation is performed periodically when the storage device reaches certain fullness thresholds, rather than continuously. This periodic action allows the system to balance write performance improvement with storage space availability, performing defragmentation only when necessary based on the current state of the storage device.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8990477B2System and method for limiting fragmentation
Publication Date: 2015.03.24 SANDISK TECHNOLOGIES LLC
  • US8990477B2 patent drawing
  • US8990477B2 patent drawing
  • US8990477B2 patent drawing

AI summary

A method and system are disclosed for controlling the storage of data in a storage device to reduce fragmentation. The method may include a controller of a storage device receiving data for storage in non-volatile memory, proactively preventing fragmentation by only writing an amount of sequentially addressed logical groups of data into a main storage area of the storage device, such as multi-level cell (MLC) flash memory, and reactively defragmenting data previously written into the MLC memory when a trigger event is reached. The system may include a storage device with a controller configured to perform the method noted above, where the thresholds for minimum sequential writes into MLC, and for scanning the memory for fragmented data and removing fragmentation by re-writing the fragmented data already in MLC into new MLC blocks, may be fixed or variable.