Flash Memory Data Structure Management via Virtual Memory Segmentation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Adaptability or versatility
If firmware applications are designed to accommodate varying system resources, then adaptability is improved, but firmware complexity increases
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.
4Device complexity
If one storage type is selected to store the data table, then storage management is simplified, but efficiency is reduced
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.
Data Source
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.


