NAND Memory Controller Log Buffering Index Table

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND memory chips face performance issues with random writes in block-based flash file systems due to the need for frequent merge operations, which are time-consuming and inefficient, especially as the number of blocks increases, leading to a shortage of temporary blocks for data storage.

Innovation Solution

A method where each Temporary Block can store data destined for multiple Data Blocks, with an Index Table tracking the correlation between temporary and destination block pages, allowing for reduced merge operations and increased storage capacity by utilizing Temporary Blocks more efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple Temporary Blocks are allocated to store data for different Data Blocks, then the frequency of merge operations is reduced, but the number of available Data Blocks for storage decreases

Engineering Contradiction:
Improverandom write performanceVSAvoidavailable data storage capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Each Temporary Block is designed to serve multiple Data Blocks rather than being dedicated to a single Data Block. The Index Table enables any Temporary Block to store data destined for any Data Block, making the Temporary Blocks universal and highly flexible. This multi-functionality allows the system to maintain performance while maximizing storage capacity.

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

Solution Approach 2:

Instead of creating separate Temporary Blocks for each Data Block, the system uses a single Index Table that maps Temporary Blocks to multiple Data Blocks. This copying approach allows the same Temporary Block resource to be virtually replicated across multiple Data Blocks through the indexing mechanism, eliminating the need for dedicated temporary blocks for each data block.

Inventive Principle:
Principle #26Copying

2Productivity

If a 1:1 ratio of temporary blocks to data blocks is used, then merge operations are minimized, but storage capacity is significantly reduced

Engineering Contradiction:
Improvemerge operation frequencyVSAvoiddata storage capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system implements a many-to-many relationship where each Temporary Block can serve multiple Data Blocks through the Index Table. This universality allows a small number of Temporary Blocks to replace what would traditionally require a 1:1 allocation, dramatically increasing the ratio of data blocks to temporary blocks while maintaining low merge operation frequency.

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

Solution Approach 2:

The Index Table introduces a new dimensional layer of abstraction that maps between Temporary Blocks and Data Blocks. This additional dimension allows the system to decouple the physical block allocation from the logical storage mapping, enabling efficient resource utilization without sacrificing storage capacity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If Temporary Blocks are used to delay merge operations, then write performance is improved, but the number of merge operations increases over time

Engineering Contradiction:
Improvewrite operation speedVSAvoidtotal merge operation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by immediately writing new data to Temporary Blocks when overwriting is detected, rather than waiting for merge operations to complete. This preliminary storage in Temporary Blocks allows subsequent merge operations to be performed more efficiently and less frequently, as multiple write operations can be batched together.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The Index Table enables continuous useful action by allowing Temporary Blocks to be reused across multiple Data Blocks without requiring frequent merges. The mapping structure maintains continuous availability of Temporary Block resources, reducing the interruption caused by merge operations and maintaining steady write performance.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8838878B2Method of writing to a NAND memory block based file system with log based buffering
Publication Date: 2014.09.16 GREENLIANT LLC
  • US8838878B2 patent drawing
  • US8838878B2 patent drawing
  • US8838878B2 patent drawing

AI summary

A method of operating a controller for controlling the programming of a NAND memory chip is shown. The NAND memory chip has a plurality of blocks with each block having a certain amount of storage, wherein the amount of storage in each block is the minimum erasable unit. The method comprising storing in a temporary storage a first plurality of groups of data, wherein each of the groups of data is to be stored in a block of the NAND memory chip. Each group of data is indexed to the block with which it is to be stored. Finally, the groups of data associated with the same block are programmed into the same block in the same programming operation.