Nested Hash Map Memory Optimization in EDA Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Nested hash maps in electronic design automation (EDA) systems face memory optimization challenges due to exponential growth in memory usage with increasing object levels, leading to performance issues and potential memory exhaustion.

Innovation Solution

Implementing a shared memory structure using templatized shared pointers to reduce duplicate data storage, where each level of the hash map stores a pointer to the previous level, rather than duplicating data, thereby reducing memory footprint and computational resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional nested hash maps are used to store objects in EDA systems, then the system can handle increasing design complexity, but memory usage grows exponentially leading to memory exhaustion

Engineering Contradiction:
Improvedesign complexity handlingVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements a nested hash map structure where hash maps are organized in multiple levels, with each level containing hash maps that map to shared pointers pointing to lower levels. This nested structure allows efficient organization of complex design data while reducing redundant storage through shared references across levels.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent uses shared pointers to create references to hash maps at lower levels rather than duplicating entire data structures. When the same hash map is needed at multiple upper levels, shared pointers enable efficient referencing without copying, significantly reducing memory consumption while maintaining data accessibility.

Inventive Principle:
Principle #26Copying

2Quantity of substance

If shared pointers are used to reduce memory footprint, then memory efficiency improves, but reference count management complexity increases

Engineering Contradiction:
Improvememory footprintVSAvoidreference count management
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The shared pointer implementation includes automatic reference count management where the system self-adjusts reference counts when hash maps are added to or removed from the nested structure. This automation eliminates manual intervention and reduces the perceived complexity for users while maintaining efficient memory usage.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements a reference count mechanism that provides feedback on the number of active references to each shared hash map. This feedback system allows the memory management system to make informed decisions about when to allocate, retain, or deallocating memory resources, optimizing memory usage dynamically.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12026202B2Memory optimization for storing objects in nested hash maps used in electronic design automation systems
Publication Date: 2024.07.02 SYNOPSYS INC
  • US12026202B2 patent drawing
  • US12026202B2 patent drawing
  • US12026202B2 patent drawing

AI summary

Sets of objects may be received which are desired to be stored using a nested hash map, where the nested hash map may include multiple levels, and where each set of objects in the sets of objects may correspond to a level in the nested hash map. The nested hash map may be created from a bottom level of the nested hash map to a top level of the nested hash map, which may include: creating a first hash map at a first level of the nested hash map, creating a first shared pointer which points to the first hash map, and creating a second hash map at a second level which is immediately above the first level, where the second hash map maps at least one object to the first shared pointer.