Paged Translation Map Management via Access-Based Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As storage device capacities increase and data reduction techniques are applied, the number of logical blocks that can be stored grows, leading to increased memory consumption of translation structures, necessitating a paged translation system to manage memory efficiently, while differentiating between frequently and rarely accessed translation table entries to optimize performance.

Innovation Solution

A system and method that allocate translation table entries into frequently accessed and rarely accessed groups, using a multi-level linked list to categorize dump groups based on access patterns, and relocate entries between memory and storage to maintain efficient memory usage and paging efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a paged translation system is implemented to constrain memory consumption, then memory usage is reduced, but system performance deteriorates due to increased paging operations

Engineering Contradiction:
Improvememory consumptionVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The translation table is segmented into multiple dump groups, each independently managed with its own pinned and unpinned translation table entries. This segmentation allows the system to control memory usage at the dump group level while maintaining performance for frequently accessed entries across different groups, resolving the contradiction between memory constraint and system performance.

Inventive Principle:
Principle #1Segmentation

2Speed

If translation table entries are frequently accessed, then lookup speed is improved, but memory consumption increases

Engineering Contradiction:
Improvelookup speedVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

Different dump groups are assigned different pinning ratios based on their access patterns. Frequently accessed dump groups maintain higher pinning ratios to ensure fast lookup, while less frequently accessed groups use lower pinning ratios to conserve memory. This local differentiation resolves the contradiction between lookup speed and memory consumption.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The pinning ratio for each dump group is dynamically adjusted based on access patterns and system memory pressure. When memory is abundant, more entries are pinned for faster access; when memory is constrained, fewer entries are pinned. This dynamic adaptation resolves the contradiction between speed and memory usage.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If translation table entries are allocated uniformly across dump groups, then memory distribution is simplified, but paging efficiency deteriorates

Engineering Contradiction:
Improvememory allocation complexityVSAvoidpaging efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system changes the parameter of pinning ratio for each dump group based on access patterns and memory availability. Instead of uniform allocation, each dump group has a customized pinning ratio that optimizes paging efficiency for its specific workload characteristics, resolving the contradiction between allocation simplicity and paging efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10235287B2Efficient management of paged translation maps in memory and flash
Publication Date: 2019.03.19 SANDISK TECHNOLOGIES LLC
  • US10235287B2 patent drawing
  • US10235287B2 patent drawing
  • US10235287B2 patent drawing

AI summary

A system comprising a processor and a memory storing instructions that, when executed, cause the system to receive a request to select translation table entries to store in a storage device, determine a plurality of translation table entries associated with a dump unit, allocate the plurality of translation table entries into a first group of translation table entries associated with a first node and a second group of translation table entries associated with a second node, the first group of translation table entries being frequently accessed and the second group of translation table entries being rarely accessed. determine a first status associated with a first recent access bit for a first translation table entry, the first translation table entry being included in the first group of translation table entries, and add the first translation table entry to the second group of translation table entries.