Non-Volatile Chunk Buffer for Memory Endurance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory pages have limited endurance due to the need for frequent erasure, which is exacerbated by larger page sizes, leading to reduced reliability and increased costs associated with using cheaper memory in devices.
Innovation Solution
Implementing a non-volatile chunk buffer and chunk tracking storage to store data updates before writing them to memory, allowing multiple updates to be consolidated and written in a single erase operation, thereby reducing the frequency of page erasures and maintaining access speeds.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data updates are immediately written to non-volatile memory pages, then data consistency is maintained, but memory page endurance is reduced due to frequent erasures
Solution Approach 1:
The patent applies preliminary action by maintaining a chunk buffer that temporarily stores data updates before they are committed to non-volatile memory. This buffer allows the system to prepare and consolidate multiple data updates without immediately erasing and rewriting memory pages, thereby reducing the frequency of erase operations and extending memory endurance while ensuring data consistency through proper buffer management and commit protocols.
Solution Approach 2:
The chunk buffer serves as an intermediary between the processing circuitry and the non-volatile memory. It decouples the immediate write operations from the erase operations, allowing multiple small updates to be accumulated and then applied together in a single erase cycle. This intermediary structure resolves the contradiction by enabling data consistency updates without proportionally increasing erase frequency.
2Ease of manufacture
If larger page sizes are used in non-volatile memory, then cost is reduced, but endurance is further decreased due to increased erase frequency
Solution Approach 1:
The patent segments the memory page into multiple smaller chunks, each of which can be independently tracked and updated. This segmentation allows the system to use larger page sizes for cost efficiency while managing updates at a finer granularity. By tracking individual chunks within pages and using the chunk buffer to consolidate updates, the system reduces the frequency of full page erasures, thereby extending endurance despite using larger, cheaper pages.
3Duration of action of stationary object
If data updates are consolidated before writing to memory, then erase frequency is reduced, but access speed may be affected
Solution Approach 1:
The system implements self-service by having the chunk buffer automatically manage data updates and track which chunks have been modified. The buffer service monitors write operations, consolidates updates, and manages the commit process to memory without requiring external intervention. This self-managing approach enables efficient consolidation of updates to reduce erase frequency while maintaining fast access paths for both buffered and committed data through proper tracking and lookup mechanisms.
Data Source
AI summary
An apparatus, method and computer program are provided for managing memory page updates within non-volatile memory. The apparatus has processing circuitry for performing read and write operations for data to be stored in the non-volatile memory. The non-volatile memory is arranged as a plurality of memory pages, where each memory page comprises a plurality of chunks. A non-volatile chunk buffer is used to store data updates for multiple chunks prior to those data updates being made to the data stored in the non-volatile memory. Chunk tracking storage is then used to identify, for each chunk, when current data of that chunk is stored in the non-volatile chunk buffer rather than the non-volatile memory. The processing circuitry is arranged when performing a write operation for data within a specified chunk, to generate the data update for that specified chunk, to cause the data update to be stored within the non-volatile chunk buffer, and to cause the chunk tracking storage to be updated to identify that the current data of that specified chunk is stored in the non-volatile chunk buffer. The processing circuitry is also arranged, when performing a read operation, to reference the chunk tracking storage in order to determine when to access the non-volatile chunk buffer instead of the non-volatile memory in order to obtain the data required by the read operation. Such a technique allows the endurance of the non-volatile memory to be improved, whilst also maintaining access speed for accesses performed by the processing circuitry.


