Non-Volatile Memory Controller Erase Block Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large erase block memory systems, frequent garbage collection is required to efficiently utilize storage capacity, which suspends the primary function of data transfer and adversely affects system performance.

Innovation Solution

Implementing two mechanisms for programming data based on host commands, where sequentially addressed data is treated differently from non-sequentially addressed data, using designated blocks (E1 and E2) to reduce data consolidation needs and improve performance by dynamically adapting to programming commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If frequent garbage collection is performed to efficiently utilize storage capacity in large erase block memory systems, then storage capacity utilization is improved, but system performance deteriorates due to suspension of primary data transfer function

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the memory array into multiple independent planes, where each plane can be operated independently. This allows garbage collection to be performed on one plane while other planes continue to handle data transfer operations, thus maintaining system performance while improving storage capacity utilization through periodic consolidation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic plane selection and operation modes, where the controller can dynamically choose which plane to perform garbage collection on based on current system state and workload. This dynamic approach ensures that data transfer operations continue on active planes while consolidation occurs on selected planes, resolving the contradiction between capacity utilization and performance.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If data is immediately recombined during garbage collection, then storage efficiency is improved, but data acquisition and storage operations are interrupted

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata acquisition time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by preparing consolidation blocks in advance and pre-positioning data during idle periods or low-utilization times. This allows the actual data recombination to occur without interrupting active data acquisition operations, as the groundwork is already laid and can be executed in the background.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces consolidation blocks as intermediary structures that temporarily hold data during the recombination process. These intermediary blocks allow data to be staged and prepared for consolidation without blocking the primary data acquisition paths, thus maintaining storage efficiency improvements while minimizing interruption to data operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8504798B2Management of non-volatile memory systems having large erase blocks
Publication Date: 2013.08.06 SANDISK TECHNOLOGIES LLC
  • US8504798B2 patent drawing
  • US8504798B2 patent drawing
  • US8504798B2 patent drawing

AI summary

A non-volatile memory system of a type having blocks of memory cells erased together and which are programmable from an erased state in units of a large number of pages per block. If the data of only a few pages of a block are to be updated, the updated pages are written into another block provided for this purpose. The valid original and updated data are then combined at a later time, when doing so does not impact on the performance of the memory. If the data of a large number of pages of a block are to be updated, however, the updated pages are written into an unused erased block and the unchanged pages are also written to the same unused block. By handling the updating of a few pages differently, memory performance is improved when small updates are being made.