Hierarchical Tree Address Map for Memory Efficient Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As storage systems grow in size, managing and searching address maps becomes a bottleneck due to significant processing resources and memory requirements, necessitating an improved lookup system for enhanced performance.

Innovation Solution

A hierarchical tree-based address map structure with multiple levels, utilizing a tree-within-a-tree architecture and arrays for efficient node management, reduces memory footprint and improves search performance by using array indexes instead of memory addresses for pointers, allowing for efficient additions and balancing searchability with memory efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional address map tables are used to map virtual addresses to physical addresses, then address mapping functionality is provided, but processing resources and memory requirements become prohibitive as address spaces grow

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

Solution Approach 1:

The address map is divided into multiple levels (e.g., L0, L1, L2) where each level contains a subset of the address space. This segmentation reduces the number of entries that must be searched at any given time, thereby reducing memory footprint while maintaining lookup capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a flat, single-level address map to a multi-level hierarchical structure. This dimensional change allows the system to organize address entries across multiple levels, reducing the search space at each level and improving both memory efficiency and lookup performance.

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

2Adaptability or versatility

If address map tables are enlarged to accommodate growing address spaces, then more addresses can be mapped, but search time and processing overhead increase

Engineering Contradiction:
Improveaddress space capacityVSAvoidsearch time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

By segmenting the address map into multiple levels, the system can accommodate large address spaces without increasing search time proportionally. Each level handles a portion of the address space, so the effective search depth remains manageable even as total capacity grows.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The multi-level address map structure embeds smaller address maps within larger ones, creating a nested hierarchy. This allows the system to scale address space capacity by adding levels or expanding existing levels without requiring linear increases in search time across the entire address space.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10366065B2Memory efficient lookup structure
Publication Date: 2019.07.30 NETAPP INC
  • US10366065B2 patent drawing
  • US10366065B2 patent drawing
  • US10366065B2 patent drawing

AI summary

A method for mapping a first address space to a second address space is provided. In some embodiments, the method includes creating a first array of lookup entries and one or more second arrays of metadata entries for maintaining an ordering among the lookup entries using a tree structure. Each of the metadata entries includes one or more data index values identifying a corresponding one of the lookup entries by its position in the first array and one or more metadata index values identifying a corresponding one of the metadata entries by its position in one of the one or more second arrays. The method further includes receiving a request including a lookup value, traversing the tree structure to locate a lookup entry corresponding to the lookup value, and when the lookup value is located among the lookup entries, using the located lookup entry to process the request.