Hybrid Flash RAM Memory Array with Management Module
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory arrays do not effectively combine volatile random access memory and non-volatile flash memory technologies due to differences in voltage requirements, data transfer times, and addressing schemes, leading to inefficiencies such as resource wastage and reliability issues with power disruptions.
Innovation Solution
A memory array structure that incorporates both static random access memory and flash memory, with a memory management module to interface between the two, managing data transfer and storage across the arrays, ensuring efficient data handling and compatibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If volatile memory (RAM) is used for data storage, then data access speed is improved, but data loss occurs during power disruptions
Solution Approach 1:
The memory system is segmented into two distinct memory types: volatile RAM for fast data access and non-volatile flash memory for reliable data preservation. The memory management module segments data storage operations, directing frequently accessed data to RAM and preserving critical data in flash memory, thereby resolving the contradiction between speed and reliability.
Solution Approach 2:
The patent implements a nested memory architecture where flash memory serves as the outer layer for reliable long-term storage, and RAM serves as the inner layer for fast access. The memory management module coordinates between these nested layers, transferring data as needed, thus achieving both high speed access and reliable data preservation during power disruptions.
2Reliability
If non-volatile memory (flash) is used for data storage, then data preservation without power is improved, but access speed deteriorates
Solution Approach 1:
The memory system segments data storage across two types: flash memory for reliable power-independent preservation and RAM for high-speed access. The memory management module intelligently segments data placement, storing frequently accessed data in RAM while maintaining backup or archival data in flash memory, thus resolving the speed-reliability contradiction.
Solution Approach 2:
The memory management module acts as an intermediary between the flash memory and the system, managing data transfers and access requests. It mediates between the slow but reliable flash memory and the fast but volatile RAM, optimizing access patterns to maintain high speed while ensuring data preservation without power.
3Adaptability or versatility
If different memory technologies are combined in a single array, then benefits of both flash and RAM are achieved, but system complexity increases
Solution Approach 1:
The memory management module is designed with multi-functionality to handle diverse memory operations: it manages data allocation between RAM and flash, handles data transfers, manages addressing schemes for both memory types, and coordinates read/write operations. This universal controller simplifies the overall system complexity despite combining different memory technologies.
Solution Approach 2:
The memory management module serves as an intermediary that abstracts the complexity of combining different memory technologies. It provides a unified interface to the system while managing the intricate details of coordinating between RAM and flash memory, including voltage requirements, addressing schemes, and data transfer protocols, thereby reducing perceived system complexity.
4Ease of manufacture
If flash memory writes are performed in predetermined blocks, then manufacturing simplicity is improved, but resource efficiency deteriorates when data size does not match block size
Solution Approach 1:
The memory management module implements partial action by transferring only the necessary amount of data between RAM and flash memory based on actual needs rather than always writing complete blocks. It manages flash block writes efficiently by accumulating data in RAM until sufficient data is available for a complete block write, thereby reducing wasted resources while maintaining manufacturing simplicity.
Solution Approach 2:
The system performs preliminary action by pre-loading data into RAM in preparation for future flash memory writes. This allows the system to accumulate data until a complete flash block is ready for writing, optimizing resource utilization while maintaining the simplicity of block-based flash manufacturing.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Memory array, system and method for storing data. The memory array has a flash memory array, a random access memory array coupled to the flash memory and configured to receive the data, a memory management module and a data bus. The memory management module is coupled to the random access memory array and to the flash memory array, the memory management module being configured to transfer at least a portion of the data stored in the random access memory array to the flash memory array. The data bus is coupled to the flash memory array and configured to output at least a portion of the data originally stored in the random access memory array from the flash memory array.