Center Allocation for Ordered Insertion in Sparse Data Structures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data entry methods in memory sub-systems require repeated shifts, writes, and rewrites to maintain data entries in an ordered manner, leading to increased computing resource overhead and reduced performance.
Innovation Solution
A center allocation data structure is used to write data entries to memory resources, placing them at locations equidistant from the first and last physical addresses, reducing the need for costly shift operations and maintaining order.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional data entry methods are used to maintain ordered data entries, then data order is maintained, but computing resource overhead increases and performance decreases due to repeated shifts, writes, and rewrites
Solution Approach 1:
The patent segments the data structure into multiple banks (e.g., Bank 0, Bank 1, Bank 2, Bank 3) where each bank stores a portion of the ordered data entries. This segmentation allows independent access and manipulation of data subsets, eliminating the need for repeated shifts and rewrites across the entire data structure. The controller can perform insertions and deletions in individual banks without affecting other banks, thereby maintaining data order while reducing computing resource overhead.
Solution Approach 2:
The patent introduces an intermediary mapping structure (hash table or trie) that maps data keys to their physical storage locations in the segmented banks. This intermediary layer abstracts the physical reorganization of data from the logical ordering requirement, allowing the system to maintain ordered data access patterns without physically shifting data entries. The mapping structure enables direct navigation to data locations, eliminating repeated write and rewrite operations.
2Speed
If data entries are kept in contiguous ordered locations, then data retrieval is efficient, but shift operations are required to maintain order during insertions and deletions
Solution Approach 1:
By dividing the data structure into multiple banks, the patent enables contiguous ordered storage within each bank while allowing non-contiguous physical distribution across banks. Data retrieval remains efficient because each bank maintains internal contiguity and ordering. Insertions and deletions only require operations within the affected bank, eliminating time-consuming shift operations across the entire data structure.
Solution Approach 2:
The patent transitions from a single-dimensional contiguous storage model to a multi-dimensional structure where data is organized both by bank (spatial dimension) and by order within bank (sequential dimension). This dimensional change allows the system to maintain retrieval efficiency through within-bank contiguity while avoiding shift operations through between-bank distribution.
3Ease of operation
If a densely populated data structure is used, then data access is straightforward, but memory space utilization is inefficient for sparsely populated data
Solution Approach 1:
The patent segments the memory space into multiple banks that can be independently allocated and managed. This segmentation allows the system to allocate only the necessary portion of memory banks based on the actual data population density. For sparsely populated data, not all banks need to be fully utilized or activated, improving memory space utilization while maintaining straightforward access patterns within the allocated banks.
Solution Approach 2:
The patent implements dynamic allocation and management of memory banks, where the system can adaptively activate or deactivate banks based on the current data population and access patterns. This dynamic approach allows the data structure to efficiently handle varying population densities, maintaining ease of operation for accessed data while optimizing memory space utilization by keeping inactive banks in a lower memory state or reallocating them as needed.
Data Source
AI summary
A plurality of data entries are written in a first memory bank that comprises a portion of a data structure that is stored across a plurality of memory banks. For a subsequent data entry, a determination is made that the subsequent data entry has a value that is greater than a first data entry among the plurality of data entries in the first memory bank and less than a second data entry among the plurality of data entries in the first memory bank. The subsequent data entry is written to an address location in a second memory bank of the plurality of memory banks that is between a lowermost address location and an uppermost address location of the second memory bank and a first bit corresponding to the address location in the second memory bank to which the subsequent data entry was written is stored in the data structure.


