Flash Memory Emulation via Multi-Packet Line Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory, while capable of on-chip integration, faces challenges in emulating memory storage similar to EEPROM due to its inability to overwrite individual data values, leading to inefficiencies and increased surface area, power consumption, and cost.
Innovation Solution
A method and system for writing to flash memory that involves performing multiple write operations to a single line of flash memory, allowing for the storage of multiple data packets and their associated error correction codes, thereby optimizing storage efficiency and granularity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If flash memory is used to implement on-chip memory storage, then integration is achieved and power consumption is reduced, but the inability to overwrite individual data values leads to inefficiency and increased complexity
Solution Approach 1:
The flash memory line is segmented into multiple data packets, each with its own error correction code. This allows the system to treat each packet as an independent storage unit, enabling selective overwriting of individual packets without affecting others, thus reducing memory management complexity while maintaining on-chip integration
Solution Approach 2:
A controller is introduced as an intermediary between the host and flash memory. The controller manages the complex operations of writing multiple data packets to a single line, handling error correction codes, and coordinating read/write operations, thereby abstracting the complexity from the overall system while enabling efficient on-chip memory emulation
2Quantity of substance
If multiple data packets are written to a single flash memory line, then storage efficiency is improved and waste space is reduced, but multiple write operations increase operation time
Solution Approach 1:
Error correction codes are calculated and prepared in advance for each data packet before the actual write operation. This preliminary action allows for faster write operations since the error correction data is already ready, and enables parallel preparation of multiple packets that will be written to the same line
3Reliability
If error correction codes are stored for each data packet, then data reliability is improved, but storage space is consumed
Solution Approach 1:
Each data packet is assigned its own dedicated error correction code, creating local quality assurance for each packet. This approach ensures that errors in one packet do not affect others and allows for selective correction, optimizing the balance between reliability and storage efficiency by applying error correction only where needed
Data Source
AI summary
In accordance with an embodiment, a method includes: performing a first write operation comprising writing a first data packet to a first portion of a first line of a flash memory; and performing a second write operation comprising writing a second data packet to a second portion of the first line of the flash memory, wherein the first line comprises the first data packet and the second data packet after performing the first write operation and the second write operation.


