Flash Memory Controller SRAM Caching for L2P Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The frequent cache invalidation in flash memory controllers due to the large size of the logical-to-physical (L2P) mapping table, which leads to significant deterioration in read/write performance, as only a portion of the table is loaded into DRAM and frequent loading results in lengthy cache invalidation times.

Innovation Solution

Loading the required groups of the L2P mapping table into static random access memory (SRAM) instead of dynamic random access memory (DRAM), allowing the flash memory controller to directly access SRAM for address mapping, thereby reducing cache invalidation time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the L2P mapping table is loaded into DRAM for handling host read/write commands, then the flash memory controller can process commands, but the cache invalidation time increases significantly due to frequent loading requirements

Engineering Contradiction:
Improveread/write performanceVSAvoidcache invalidation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces SRAM as an intermediary memory component between the DRAM and the L2P mapping table. The SRAM cache stores frequently accessed mapping information, acting as a mediator that reduces the frequency of cache invalidations by providing a faster access layer for commonly needed mapping data, thereby resolving the contradiction between processing capability and time loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary loading of L2P mapping table groups into the SRAM cache before they are actually needed for host commands. By anticipating and pre-loading mapping information into the SRAM cache, the system avoids frequent cache invalidations when commands arrive, thus improving read/write performance while reducing time loss from cache invalidation.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If only a portion of the L2P mapping table is loaded to DRAM at a time, then the limited DRAM capacity is respected, but frequent cache invalidation occurs when handling random read/write commands

Engineering Contradiction:
ImproveDRAM capacity utilizationVSAvoidcache validity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the L2P mapping table into multiple groups that can be independently managed. Instead of loading the entire table into DRAM, the system divides it into manageable portions and uses the SRAM cache to store frequently accessed segments. This segmentation allows the system to respect DRAM capacity limits while improving cache validity by keeping relevant mapping information in the faster SRAM cache.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by differentiating the storage characteristics of different memory components: DRAM is used for bulk storage with limited capacity, while SRAM cache is used for frequently accessed local mapping information. This creates a hierarchical memory structure where different parts of the mapping table have different quality characteristics in terms of access speed and validity, resolving the contradiction between capacity utilization and cache validity.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If the L2P mapping table is frequently reloaded to handle random read/write commands, then the mapping information is updated, but the read/write performance is significantly deteriorated

Engineering Contradiction:
Improvehandling random read/write commandsVSAvoidread/write performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The SRAM cache acts as an intermediary layer that stores mapping information for random read/write commands. Instead of frequently reloading the entire L2P mapping table into DRAM, the system maintains a cached copy in SRAM that can be quickly accessed. This intermediary structure allows the system to adapt to random commands while maintaining high read/write performance by avoiding frequent reloads.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary action by pre-loading and caching mapping information in the SRAM cache before random read/write commands arrive. This anticipation of future needs allows the system to handle random commands efficiently without the performance deterioration that would result from frequent reloading of the complete mapping table.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11977767B2Method and apparatus for caching address mapping information in flash memory based storage device
Publication Date: 2024.05.07 SILICON MOTION INC
  • US11977767B2 patent drawing
  • US11977767B2 patent drawing
  • US11977767B2 patent drawing

AI summary

A method of caching mapping table for use in a flash memory device having a flash memory controller and a flash memory is provided. The method includes: in response to a host read command, determining whether a group of a logical-to-physical (L2P) required by handling the host read command has been loaded to a DRAM of the flash memory controller; if the required group of the L2P mapping table has not been loaded to the DRAM, loading the required group of the L2P mapping table from the flash memory to a SRAM of the flash memory controller; directly accessing the SRAM to obtain an L2P address associated with the host read command from the required group of the L2P mapping table; and performing a read operation on the flash memory in response to the host read command according to the obtained L2P address.