Flash Memory Controller Pre-Allocation Table for Mapping Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face performance degradation due to repetitive flushing of the mapping table from volatile memory to non-volatile memory, which is necessary to recover the mapping table after power failures but increases system overhead and reduces efficiency.

Innovation Solution

A method for allocating write memory blocks in a flash memory device that minimizes the need for frequent flushing by using pre-allocation and tail-trail tables to manage memory block allocation and mapping data, allowing recovery of the mapping table without continuous flushing, especially when all pre-allocated blocks are used.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the mapping table is flushed from volatile memory to non-volatile memory whenever updated, then the mapping table can be recovered after power failure, but the system overhead increases and performance degrades

Engineering Contradiction:
Improvemapping table recoveryVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent pre-allocates memory blocks and stores their addresses in the pre-allocation table before they are actually needed. This preliminary action allows the system to quickly assign memory blocks during write operations without performing full mapping table flushing, thus improving performance while maintaining recovery capability through the stored pre-allocation information.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the pre-allocation table containing memory block addresses from the complete mapping table. By separating this critical subset of mapping information into a dedicated pre-allocation table stored in volatile memory, the system can recover essential mapping data after power failure without needing to flush the entire mapping table, thereby reducing system overhead and improving performance.

Inventive Principle:
Principle #2Taking out (Extraction)

2Speed

If the mapping table is stored in volatile memory for fast access, then system speed improves, but the mapping table is lost when power fails or is suddenly removed

Engineering Contradiction:
Improvemapping table access speedVSAvoidmapping table persistence
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent creates a copy of the essential mapping information (pre-allocation table with memory block addresses) and stores it in volatile memory for fast access. This copy contains the critical data needed for recovery, allowing the system to maintain high-speed access while ensuring that essential mapping information can be recovered after power failure without storing the entire mapping table in volatile memory.

Inventive Principle:
Principle #26Copying

3Productivity

If pre-allocation table is used to store memory block addresses in volatile memory, then flushing frequency is reduced, but the table must be regenerated from flash memory periodically

Engineering Contradiction:
Improveflushing frequencyVSAvoidtable management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements periodic regeneration of the pre-allocation table by reading it from the main pre-allocation table stored in flash memory at intervals. This periodic action ensures that the volatile memory pre-allocation table is refreshed with up-to-date information without requiring continuous flushing, balancing performance optimization with data accuracy while managing complexity through structured periodic updates.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9645918B2Storage devices including non-volatile memory and memory controller and methods of allocating write memory blocks
Publication Date: 2017.05.09 SAMSUNG ELECTRONICS CO LTD
  • US9645918B2 patent drawing
  • US9645918B2 patent drawing
  • US9645918B2 patent drawing

AI summary

Storage devices including a flash memory and a memory controller, and write memory block allocating methods of the storage devices are provided. A write memory block allocating method may include storing a pre-allocation table in a Random Access Memory (RAM) of a memory controller. The pre-allocation table may include allocation order information of a pre-allocated memory block included in a flash memory. The method may also include receiving a write request from a host, determining whether a write memory block for the write request can be allocated according to the pre-allocation table and allocating the pre-allocated memory block as the write memory block according to the pre-allocation table when the write memory block can be allocated according to the pre-allocation table.