Flash Memory Data Structure Management via Virtual Memory Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory firmware applications face challenges in scalable data management due to large data tables and inefficient storage type utilization, often requiring significant modifications to accommodate varying system resources and storage types, leading to sub-optimal performance.

Innovation Solution

A method and system that allow data structures related to flash memory to be dynamically moved between storage locations of varying performance and cost without modifying the application firmware, by using a software interface to manage data structures and optimize storage based on current system resources, including speculative preparation and reconstruction of data structures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the data table is stored in local memory (RAM), then read and write times are faster, but memory size is limited and cost is higher

Engineering Contradiction:
Improveread and write timesVSAvoidmemory size
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The data table is segmented into multiple pages, with only the currently needed page loaded into local memory (RAM). This allows the system to access frequently used data quickly while storing the complete data table in external memory, resolving the contradiction between fast access speed and large storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a page-based virtual memory architecture that adds an abstraction layer between the application firmware and physical memory. This allows the system to present a large logical address space to applications while physically using limited local memory combined with external storage, effectively increasing available memory size without sacrificing access speed for active data.

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

2Quantity of substance

If the data table is stored in external memory, then storage capacity is larger and cost is lower, but read and write times are slower

Engineering Contradiction:
Improvestorage capacityVSAvoidread and write times
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The data table is divided into pages that are selectively loaded into fast local memory. This segmentation allows the system to maintain large storage capacity in external memory while ensuring that actively accessed data resides in high-speed local memory, thus improving read/write times for operational data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system pre-loads data pages into local memory before they are needed by the application firmware. This preliminary action ensures that when the firmware needs to access data, it is already in fast local memory, eliminating the speed penalty of external memory access during critical operations.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If firmware applications are designed to accommodate varying system resources, then adaptability is improved, but firmware complexity increases

Engineering Contradiction:
Improveadaptability to system resourcesVSAvoidfirmware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal data table management architecture that works across different memory configurations (local memory size, external memory presence, hardware offloading capabilities). The page-based virtual memory system provides a unified interface that automatically adapts to available resources, allowing the same firmware to operate efficiently on systems with varying memory resources without requiring complex configuration or modification.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Device complexity

If one storage type is selected to store the data table, then storage management is simplified, but efficiency is reduced

Engineering Contradiction:
Improvestorage management complexityVSAvoiddata management efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces a page management intermediary layer that sits between the application firmware and the heterogeneous storage system. This intermediary automatically manages data placement across different storage types (local memory, external memory, hardware offload) based on access patterns and resource availability, simplifying storage management for applications while optimizing data management efficiency by keeping frequently accessed data in fast storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8694750B2Method and system for data structure management
Publication Date: 2014.04.08 NVIDIA CORP
  • US8694750B2 patent drawing
  • US8694750B2 patent drawing
  • US8694750B2 patent drawing

AI summary

Embodiments of the present invention are directed to a method and system for allowing data structures to be moved between storage locations of varying performance and cost without changing the application firmware. In one embodiment, rather than application firmware directly accessing memory, the application firmware requests a data structure by parameters, to which the implementation returns a pointer. The parameters can be, for example, the logical block address of a data sector, and the data structure can be mapping and associated information of that logical block address (LBA) to a location in the flash device.