Hybrid Flash FRAM Memory for Fast Boot and Wear Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional flash memory devices face limitations in random access during booting operations, leading to slow data writing and reading speeds due to the need for data copying and erasure processes, which also affect the lifespan of NAND flash memory sectors.
Innovation Solution
Integration of a non-volatile memory device, such as FRAM, MRAM, or PRAM, as a read/write buffer within the flash memory device to support random access and manage wear leveling and garbage collection functions, allowing for faster data access and reduced booting times.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If NAND flash memory is used for storage, then high capacity and low cost are achieved, but random access is not supported and data writing speed is slow
Solution Approach 1:
The storage system is divided into two distinct memory types: NAND flash memory for high-capacity storage and FRAM for high-speed random access. Each memory type is optimized for specific functions, allowing the system to achieve both high capacity and fast random access capabilities that neither memory could provide alone.
Solution Approach 2:
The hybrid memory system combines the advantages of both NAND flash memory (high capacity, low cost) and FRAM (fast random access, non-volatile) to create a universal storage solution that can handle both bulk data storage and rapid random access operations, eliminating the need for external DRAM for boot operations.
2Reliability
If data is written to NAND flash memory, then storage is achieved, but the process requires erasing previous data and takes a long time
Solution Approach 1:
FRAM is used to store boot-related data and metadata in advance, allowing the system to perform rapid random access during boot operations without needing to first erase and write to NAND flash memory. This preliminary storage in FRAM eliminates the time-consuming erase-then-write sequence required by NAND flash for boot operations.
3Ease of operation
If boot operations are performed on conventional flash memory, then system startup is achieved, but data copying and erasure processes are required which slows down access speed
Solution Approach 1:
FRAM serves as an intermediary memory layer between the CPU and NAND flash memory during boot operations. It provides a fast random access interface for boot-related data while the actual bulk storage remains in NAND flash memory, eliminating the need for slow sequential data copying during boot.
4Productivity
If NAND flash memory sectors are accessed repeatedly, then data reading is achieved, but the lifespan of the sectors is reduced due to limited write/erase cycles
Solution Approach 1:
Different memory types are assigned to different functional requirements: FRAM handles high-access-frequency boot-related data that requires rapid random access, while NAND flash memory stores bulk data with lower access frequency. This local differentiation of memory quality reduces wear on NAND flash sectors through less frequent erase cycles.
Solution Approach 2:
The system discards the limitation of NAND flash's limited write/erase cycles by using FRAM for frequently accessed boot data. FRAM's non-volatile nature allows it to retain data indefinitely without wear, effectively recovering the functionality that NAND flash lacks in terms of cycle durability.
Data Source
AI summary
A flash memory device and a flash memory system are disclosed. The flash memory device includes a first non-volatile memory including a plurality of page data cells, storing page data, and reading and outputting the stored page data when a read command is applied from an external portion; and a second non-volatile memory including a plurality of spare data cells respectively adjacent to the plurality of page data cells, storing spare data, scanning the spare data and temporarily storing corresponding information when a file system is mounted, reading and outputting the stored spare data when the read command is applied.


