Dual-Level List Structure for Fast Memory Capacity Expansion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory list structures face issues with slow capacity expansion and memory space wastage when dealing with large amounts of data, as they require copying data during expansion and do not efficiently manage memory utilization.

Innovation Solution

A dual-level list structure is introduced, where a first-level array stores array identifiers and second-level arrays store data, allowing for dynamic capacity expansion by creating new first-level arrays and increasing the number of second-level arrays when data reaches maximum values, thereby reducing the need for data copying and optimizing memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional memory list structure is used for capacity expansion, then data can be stored dynamically, but capacity expansion speed becomes slow and memory space is wasted

Engineering Contradiction:
Improvecapacity expansion speedVSAvoidmemory space waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The list structure is divided into two levels: first-level list storing array identifiers and second-level lists storing actual data. This segmentation allows independent management of identifiers and data, enabling efficient capacity expansion by only copying identifiers rather than entire data structures when expanding capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first-level list acts as an intermediary between the system and second-level data lists. It stores array identifiers that serve as references to actual data locations, allowing the system to manage capacity expansion through identifier manipulation rather than direct data copying, thus improving expansion speed and reducing memory waste.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If ArrayList capacity expansion algorithm is used, then dynamic capacity expansion is supported, but data copying is required which slows down expansion

Engineering Contradiction:
Improvedynamic capacity expansionVSAvoiddata copying time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The data structure is segmented into identifier storage (first-level list) and data storage (second-level lists). During capacity expansion, only the compact identifier list needs to be copied rather than large amounts of actual data, significantly reducing copying time while maintaining dynamic capacity expansion capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of copying entire data structures during expansion, the patent copies only the array identifiers from the first-level list. This selective copying approach maintains the adaptability of dynamic capacity expansion while minimizing the time loss associated with data copying.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If list capacity is expanded based on current list size, then capacity grows with data, but larger lists result in larger expansion overhead

Engineering Contradiction:
Improvelist capacityVSAvoidexpansion complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

By separating identifier management from data storage, the patent reduces expansion complexity. The first-level list of identifiers can be expanded independently with minimal overhead, while second-level data lists remain unchanged, allowing capacity to grow without proportionally increasing expansion complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11467754B2Capacity expansion method and capacity expansion system based on dual-level list structure
Publication Date: 2022.10.11 TIMECHO AI TECH CO LTD
  • US11467754B2 patent drawing
  • US11467754B2 patent drawing
  • US11467754B2 patent drawing

AI summary

Provided are a capacity expansion method and a capacity expansion system based on a dual-level list structure; a first level list of the dual-level list structure is a first-level array in which at least one array identifier is stored; a second level list of the dual-level list structure includes at least one second-level array, each second-level array stores data to be stored and corresponds to only one array identifier; the method includes: creating a new first-level array when an amount of data stored in the second-level array corresponding to each array identifier reaches a maximum value, a size of a new first-level array being greater than that of a current first-level array, and increasing a number of the second-level arrays; and copying the array identifier stored in the current first-level array to the new first-level array, and replacing the current first-level array with the new first-level array.