WOM Code Emulation for EEPROM Write Endurance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory solutions, such as EEPROMs, are costly and inefficient for applications requiring non-volatile memory with high write endurance, as they often require block-erase operations and have limited write cycles, whereas flash memories are more cost-effective but lack the ability to easily update bits from '0' to '1' without requiring a block-erase operation.
Innovation Solution
A system for Write-Once Memory (WOM) code emulation of EEPROM-type devices, which uses a host processor to encode data and an address identifier, allowing multiple writes without erasure by searching for and updating existing entries in a WOM device, and shifting to new pages when the active page is full, effectively mimicking EEPROM functionality with enhanced write endurance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If EEPROM is used for non-volatile memory with high write endurance, then write cycles are limited and block-erase operations are required, but cost increases and performance decreases
Solution Approach 1:
The memory device is divided into multiple pages, with each page containing multiple entries that can be independently updated. This segmentation allows the system to update only the specific entry that needs changing rather than erasing the entire block, thereby increasing write endurance while maintaining cost-effectiveness
Solution Approach 2:
The system performs preliminary actions by maintaining a page buffer in volatile memory that tracks the current state of each memory entry. Before writing to the non-volatile memory, the system checks the buffer to determine whether an update is actually needed, preventing unnecessary write operations and extending write cycle life
2Ease of manufacture
If flash memory is used for cost-effective non-volatile storage, then cost decreases, but the ability to update bits from '0' to '1' without block-erase is lost
Solution Approach 1:
The system dynamically adapts the write operation based on the current state of the memory entry. When an entry is in the erased state, bits can be flipped from '1' to '0' directly; when in the programmed state, the system handles the update differently. This dynamic behavior enables flash memory to emulate EEPROM-like flexibility without requiring block-erase operations
Solution Approach 2:
The system changes the interpretation and handling of write operations based on the current state parameters of the memory entry. By tracking whether each entry is erased or programmed and adjusting the write strategy accordingly, the system achieves flexible bit updates while maintaining cost-effectiveness
3Reliability
If WOM code emulation is implemented to allow multiple writes without erasure, then write endurance increases, but device complexity increases due to page buffer management and entry searching
Solution Approach 1:
A page buffer in volatile memory serves as an intermediary between the host processor and the non-volatile memory array. This buffer caches the current state of memory entries and manages the complexity of tracking which entries have been updated, absorbing the computational overhead away from the main control logic and simplifying the overall system architecture
Data Source
AI summary
A system for write-once memory (WOM) code emulation of EEPROM-type devices includes, for example, a host processor for sending data words for storing in a WOM (Write-Only Memory) device. A host interface receives the data words for encoding by a WOM controller. An emulator programs the WOM-encoded data and an address identifier as an entry of the WOM device. The emulator overwrites previously programmed WOM-encoded data by searching entries of a current active page of a WOM device to locate a programmed WOM entry that includes the searched-for address identifier and the previously written WOM-encoded data word. When the previously written WOM-encoded word cannot be correctly overwritten, the contents of the second WOM-encoded word are stored in a new entry. When the current active page is substantially full, the new entry is stored a new page and the current active page is block-erased.


