Dynamic Metablocks for Parallel Nonvolatile Memory Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing nonvolatile memory systems face inefficiencies in managing data, particularly when dealing with small portions of data updates, as they often require copying large amounts of data, leading to significant overhead and potential device wear, and do not optimize parallelism effectively for both large and small data transfers.
Innovation Solution
The method involves organizing nonvolatile memory arrays into separate planes with dedicated read/write circuits, allowing for parallel programming and updating of metablocks across banks, where only necessary blocks are replaced or copied, optimizing operations to minimize data transfer and maximize parallelism.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If data is copied from a first block without copying data from other blocks of the first plurality, then data transfer overhead is reduced, but it becomes difficult to maintain consistency across all blocks of the metablock
Solution Approach 1:
The metablock is segmented into multiple blocks across different planes, allowing independent copying operations. Only the specific block containing updated data is copied, while other blocks remain in place, reducing unnecessary data transfer while maintaining overall metablock consistency through selective updates.
Solution Approach 2:
The system dynamically determines which blocks require copying based on update status. The copy operation is adaptive - it copies only from blocks that contain updated data, rather than following a fixed pattern of copying all blocks, thereby optimizing data transfer overhead while maintaining consistency.
2Reliability
If all blocks of a metablock are copied in parallel, then data consistency is maintained, but processing time and energy consumption increase significantly
Solution Approach 1:
Instead of copying all blocks of the metablock, the system performs partial copying - only copying blocks that contain updated data. This partial action approach maintains data consistency for updated portions while avoiding the time and energy overhead of copying unchanged blocks.
Solution Approach 2:
The copying operation is segmented into independent block-level operations rather than a monolithic metablock copy. This allows the system to selectively copy only necessary blocks, reducing processing time while maintaining consistency through targeted updates.
3Quantity of substance
If small portions of data are updated, then storage efficiency is improved, but the overhead of copying entire blocks becomes significant
Solution Approach 1:
The system applies different copying behavior to different blocks within the same metablock based on their update status. Blocks with updates undergo copying, while blocks without updates are left in place. This local quality approach ensures that copying overhead is incurred only where necessary, improving storage efficiency for small updates.
Solution Approach 2:
The system performs partial copying - copying only the specific blocks containing updated data rather than entire metablocks. This partial action significantly reduces copying overhead for small data updates while maintaining the storage efficiency benefits of block-based organization.
4Productivity
If parallel programming across multiple planes is implemented, then productivity is improved, but device complexity increases
Solution Approach 1:
The system organizes memory blocks across multiple planes (adding a dimensional aspect to the memory structure), enabling parallel programming operations. This dimensional organization allows simultaneous access to blocks in different planes, improving productivity while managing complexity through structured plane-based architecture.
Data Source
AI summary
A nonvolatile block erasable memory array links erase blocks together for programming with high parallelism as a metablock. Erase blocks are operated in banks, with each bank having a dedicated bus and controller. Sub-metablocks of different metablocks, in different banks, are accessed in parallel allowing different metablocks to be updated at the same time.


