Journaling Apparatus for Non-Volatile Memory with Dynamic Block Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveoperation safetyVSAvoidfree memory block consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

2Reliability

If journaling operations are performed to maintain data atomicity, then data integrity is improved, but garbage collection efficiency deteriorates

Engineering Contradiction:
Improvedata atomicityVSAvoidgarbage collection efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improveoperation safetyVSAvoidusable memory blocks
Core Design Contradiction:
ReliabilityVSQuantity of substance

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11704281B2Journaling apparatus and method in a non-volatile memory system
Publication Date: 2023.07.18 SK HYNIX INC
  • US11704281B2 patent drawing
  • US11704281B2 patent drawing
  • US11704281B2 patent drawing

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.