Storage Mapping Tree Compression for Memory Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices face challenges in managing large memory capacities and high fragmentation levels, where existing mapping systems struggle to maintain efficient searching and updating capabilities without excessive memory usage, especially when dealing with a large range of physical addresses.

Innovation Solution

The implementation of a map compression technique that represents logical to physical address mappings using a tree structure, where leaf extent nodes are compressed into small extent nodes and associated with carrier nodes, allowing for decompression upon command to perform extent node operations, thereby reducing memory footprint while maintaining search and update efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a traditional mapping system is used to manage logical to physical address mappings, then search and update operations can be performed, but memory usage becomes excessive when dealing with large memory capacities and high fragmentation levels

Engineering Contradiction:
Improvememory usageVSAvoidsearch and update efficiency
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The mapping system is segmented into multiple levels (L0 cache, L1 cache, and compressed mapping structures). The mapping table is divided into different cache levels, with L0 cache storing recently accessed mappings and L1 cache storing less frequently accessed mappings. This segmentation allows the system to maintain efficient search and update operations for frequently accessed data while using compressed representations for less frequently accessed data, thereby reducing overall memory usage without sacrificing reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested cache structure where L0 cache is nested within L1 cache. When a mapping is not found in L0 cache, the system searches L1 cache. This nested arrangement allows the system to maintain a hierarchical memory structure that optimizes both speed and memory usage, with smaller, faster L0 cache nested within the larger, slower L1 cache.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Quantity of substance

If memory capacity is increased to handle large range of physical addresses, then more extents can be mapped, but the device complexity and memory cost increase

Engineering Contradiction:
Improvenumber of extentsVSAvoidmapping system complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Different portions of the mapping system are assigned different qualities based on their access patterns. L0 cache uses a simple, fast hash table structure for recently accessed mappings, while L1 cache uses a more structured tree-based organization for less frequently accessed mappings. The compressed mapping structures use even more compact representations. This local quality differentiation allows the system to handle large numbers of extents without uniformly increasing complexity throughout the entire system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the representation parameters of mapping data based on access frequency and importance. Frequently accessed mappings are maintained in uncompressed formats in L0 cache for fast access, while less frequently accessed mappings are stored in compressed formats in L1 cache. This parameter change between uncompressed and compressed representations allows the system to handle more extents with the same memory resources, reducing device complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10402094B2Mapping system for data storage devices
Publication Date: 2019.09.03 SEAGATE TECH LLC
  • US10402094B2 patent drawing
  • US10402094B2 patent drawing
  • US10402094B2 patent drawing

AI summary

A method includes generating a map for a storage tier. The map maps a plurality of extents to physical locations on the storage tier and is implemented as a tree with each extent to physical location mapping being one of a plurality of leaf extent nodes of the tree. Individual ones of the plurality of leaf extent nodes are compressed into small extent nodes. Different groups of the small extent nodes are associated with carrier nodes. A command that involves an extent of the plurality of extents, which is represented by a small extent node in one of the carrier nodes, is received from a host. A decompression operation is performed on the small extent node in the carrier node to provide a leaf extent node for the extent associated with the host command. An extent node operation is performed on the leaf extent node for the extent.