Journaling Apparatus for Non-Volatile Memory with Dynamic Block Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In memory systems with nonvolatile memory cells, it is challenging to allocate free memory blocks efficiently, especially when power is unstable, leading to delayed garbage collection and increased consumption of free blocks during journaling operations, which compromises operation safety and atomicity of data input/output.
Innovation Solution
A method and apparatus that selectively perform journaling operations based on the availability of free memory blocks, ceasing journaling and using snapshot operations to secure usable memory blocks through garbage collection, storing logical to virtual address mapping information, and marking block allocation emergencies to ensure data integrity and recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If journaling operations are continuously performed to ensure data integrity, then operation safety is improved, but free memory block consumption increases and garbage collection is delayed
Solution Approach 1:
The system dynamically adjusts the journaling operation mode based on the current number of free memory blocks. When free blocks are sufficient, full journaling is performed; when free blocks become insufficient, the system transitions to a restricted journaling mode or ceases journaling to prevent free block exhaustion, thus adapting the safety mechanism to available resources
Solution Approach 2:
The system changes the journaling parameter (extent of journaling operation) based on the free memory block count. By monitoring the number of free blocks and adjusting the journaling behavior accordingly, the system balances data integrity requirements with memory resource availability
2Reliability
If journaling operations are performed to maintain data atomicity, then data integrity is improved, but garbage collection efficiency deteriorates
Solution Approach 1:
The system dynamically switches between journaling and snapshot operations based on free block availability. When free blocks are low, the system prioritizes garbage collection by using snapshot operations instead of journaling, thus improving garbage collection efficiency while maintaining data consistency through alternative mechanisms
3Reliability
If free memory blocks are allocated for journaling to ensure operation safety, then reliability is improved, but the number of usable memory blocks for data storage decreases
Solution Approach 1:
The system changes the journaling operation parameter based on the ratio of free blocks to total blocks. By adjusting the extent of journaling according to this ratio, the system ensures operation safety while maximizing the number of usable memory blocks for actual data storage
Data Source
AI summary
A memory system includes a memory device including memory blocks, and a controller configured to generate a result indicative of whether a number of free memory blocks satisfies a reference after beginning of garbage collection for the memory device, selectively perform a journaling operation for a request based on the result, and program data, collected by the garbage collection, in the memory device.


