Integrated Storage Controller Wear Leveling Compaction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage controllers for NAND flash memory perform wear leveling and compaction independently, leading to redundant configurations and increased development burden, as well as difficulties in shared resource management between the two processes.

Innovation Solution

A storage controller that integrates wear leveling and compaction by using a condition storage to track block erasure information, determining which blocks require wear leveling, and transferring data between blocks to equalize usage, while preventing duplicate data transfers and optimizing resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If wear leveling and compaction are performed independently with separate configurations, then each function can be implemented separately, but the device complexity increases and development burden increases

Engineering Contradiction:
Improveease of implementationVSAvoidconfiguration complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent merges the wear leveling function and compaction function into a single integrated controller. The controller includes a wear leveling determination unit, a compaction determination unit, and a data transfer unit that shares common resources such as block management tables and transfer buffers. This integration eliminates the need for separate independent configurations while maintaining both functions' effectiveness.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The controller is designed as a multi-functional unit that can perform both wear leveling and compiction operations. The data transfer unit serves both functions by transferring data based on determination results from either the wear leveling determination unit or the compaction determination unit. This universal design reduces overall system complexity while providing versatile storage management capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Device complexity

If wear leveling and compaction share common resources, then device complexity is reduced, but resource management difficulty increases

Engineering Contradiction:
Improveconfiguration complexityVSAvoidresource management ease
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The controller segments the resource management into distinct functional units: a wear leveling determination unit that manages blocks for wear leveling, a compaction determination unit that manages blocks for compaction, and a data transfer unit that executes transfers. Each unit has specific responsibilities and accesses shared resources (block management tables, transfer buffers) in a controlled manner, making resource management systematic and manageable despite the integrated architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller implements feedback mechanisms where the determination units continuously monitor block states and adjust their operations accordingly. The wear leveling determination unit monitors erasure counts and transfer histories, while the compaction determination unit monitors valid data distribution. This feedback ensures that shared resources are managed efficiently and that neither function interferes negatively with the other.

Inventive Principle:
Principle #23Feedback

3Productivity

If data transfer is performed for both wear leveling and compiction, then storage optimization is improved, but data transfer overhead increases

Engineering Contradiction:
Improvestorage optimization efficiencyVSAvoiddata transfer time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The controller performs preliminary determination of which blocks require wear leveling or compaction before executing data transfers. The wear leveling determination unit identifies candidate blocks based on erasure counts and transfer histories, and the compaction determination unit identifies blocks with low valid data density. By pre-determining transfer targets and preparing transfer lists, the system minimizes unnecessary data transfers and reduces overall transfer overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller selectively performs wear leveling or compaction based on current storage conditions rather than continuously executing both operations. The determination units assess block states and trigger only the necessary operation, avoiding redundant data transfers. This partial action approach ensures storage optimization is achieved while minimizing time loss from unnecessary transfer operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8583859B2Storage controller for wear-leveling and compaction and method of controlling thereof
Publication Date: 2013.11.12 KIOXIA CORP
  • US8583859B2 patent drawing
  • US8583859B2 patent drawing
  • US8583859B2 patent drawing

AI summary

According to one embodiment, a storage controller includes a condition storage, a determination module, a wear-leveling block retainer, and a data transfer controller. The condition storage is provided in a storage including a plurality of blocks, and stores block condition information including at least one of erasure time information indicating when data is erased last time and erasure count information indicating the number of times data is erased. The determination module determines whether there is a block that requires wear leveling based on the block condition information. The wear-leveling block retainer retains block identification information that identifies a block determined to require wear leveling. The data transfer controller performs compaction to transfer data stored in blocks of the storage for collecting the data in a block, and, when the block identification information is retained, transfers data stored in the block identified by the block identification information.