Dual Relationship Hash Structure for Non-Volatile Memory Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The inefficiencies in memory structures built for conventional DRAM technology when used in non-volatile memories (NVMs) due to hardware architecture differences lead to suboptimal performance in NVMs.
Innovation Solution
The implementation of dual relationship-based hash structures, which involve creating multiple layers of storage components where at least one layer shares storage components with another, partitioning these components into slots, and configuring status value spaces for efficient storage and retrieval operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional DRAM memory structures are used in NVMs, then hardware architecture compatibility is maintained, but storage efficiency and performance deteriorate due to hardware architecture differences
Solution Approach 1:
The hash table is divided into multiple levels (primary hash table and secondary hash tables), where each level handles different aspects of storage. This segmentation allows the system to optimize for NVM characteristics while maintaining DRAM-compatible access patterns, resolving the contradiction between hardware compatibility and storage efficiency
Solution Approach 2:
The patent introduces a multi-level hierarchical structure that adds a vertical dimension to the traditional flat hash table. By organizing storage components across multiple levels with different capacities, the system achieves better storage efficiency for NVMs while preserving the essential hash table interface for DRAM compatibility
2Device complexity
If traditional hash table structures are used, then implementation simplicity is maintained, but resizing operations become computationally expensive
Solution Approach 1:
The patent pre-allocates multiple levels of storage components during table creation, preparing the hierarchical structure in advance. This preliminary action enables efficient resizing by simply activating or deactivating pre-configured levels rather than performing expensive reallocation operations, reducing both computational cost and time loss
Solution Approach 2:
The multi-level hash table structure allows dynamic adjustment of storage capacity by selectively using different levels. When resizing is needed, the system can dynamically transition between levels without complete rehashing, maintaining implementation simplicity while dramatically reducing resizing computational cost
3Stability of the object's composition
If storage components are dedicated to single layers, then layer independence is maintained, but storage efficiency deteriorates due to unused capacity in each layer
Solution Approach 1:
Storage components are designed to serve multiple levels universally. Each storage component can be shared across different levels of the hash table hierarchy, allowing the same physical storage to fulfill multiple logical roles. This multi-functionality achieves high storage efficiency while maintaining layer independence through logical separation
4Productivity
If NVM-specific structures are implemented, then storage efficiency improves, but hardware architecture compatibility with DRAM deteriorates
Solution Approach 1:
The multi-level hash table structure acts as an intermediary layer between the DRAM-compatible interface and the NVM-optimized storage backend. It translates DRAM-style access patterns into NVM-efficient storage operations, achieving both hardware compatibility and improved storage efficiency simultaneously
Data Source
AI summary
Methods, apparatus, and processor-readable storage media for implementing dual relationship-based hash structures for non-volatile memory technology are provided herein. An example computer-implemented method includes generating a hash storage structure by: creating multiple layers of storage components, wherein a first layers comprise a first number of storage components and at least a second layer comprises at least a second number of storage components less than the first number of storage components; configuring the at least a second layer to share at least a portion of the storage components therein with at least a portion of the storage components in the first layer; partitioning each of the storage components in each of the multiple layers into multiple portions; configuring a respective status value space for each of the multiple portions of each of the storage components in the multiple layers; and implementing the hash storage structure in at least one storage system.


