LBA Bitmap Volatile Memory NVM Access Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The frequent need to update mapping statuses of logical block addresses (LBAs) in non-volatile memory (NVM) systems leads to increased programming operations, triggering garbage collection and reducing system performance.

Innovation Solution

Implementing a bitmap stored in volatile memory to track LBA mapping statuses, allowing the system to determine and update these statuses with minimal NVM accesses, thereby avoiding unnecessary garbage collection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If mapping statuses of LBAs are stored in index pages in NVM, then the system can track LBA mapping statuses, but frequent programming operations are triggered leading to garbage collection and reduced system performance

Engineering Contradiction:
ImproveLBA mapping status trackingVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a bitmap stored in volatile memory as an intermediary data structure to track LBA mapping statuses. This bitmap acts as a mediator between the file system and the NVM index pages, allowing the system to query and update mapping statuses in volatile memory without immediately triggering programming operations on NVM. The bitmap is periodically synchronized with the index pages, thereby reducing the frequency of NVM programming operations and avoiding unnecessary garbage collection cycles.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by maintaining a bitmap in volatile memory that pre-reflects LBA mapping statuses before they are committed to NVM index pages. This allows the system to track and manage mapping statuses in advance, batch multiple status changes together, and only perform NVM programming operations when necessary, rather than immediately updating index pages for every mapping status change.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If index pages are updated frequently to reflect LBA mapping status changes, then mapping accuracy is maintained, but the number of programming operations increases triggering garbage collection

Engineering Contradiction:
Improvemapping status accuracyVSAvoidtime for programming operations and garbage collection
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The bitmap in volatile memory serves as an intermediary that maintains accurate LBA mapping status information without requiring immediate updates to NVM index pages. This intermediary layer allows the system to maintain mapping status accuracy in volatile memory while deferring expensive NVM programming operations, thereby reducing the time loss associated with frequent programming and garbage collection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary tracking of mapping status changes in the volatile memory bitmap, accumulating multiple status changes before batching them into a single NVM programming operation. This preliminary action maintains mapping accuracy throughout the process while minimizing the frequency and impact of programming operations on NVM.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the system uses volatile memory to store LBA mapping statuses in a bitmap, then NVM access frequency is reduced, but additional memory management complexity is introduced

Engineering Contradiction:
Improvesystem performanceVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a simplified copy of the LBA mapping status information in the volatile memory bitmap, which mirrors the essential status data from the NVM index pages. This copying approach allows the system to work with a lightweight representation of mapping statuses in volatile memory, reducing NVM access frequency while the synchronization mechanism manages the complexity of keeping the copy consistent with the original data.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9477596B2LBA bitmap usage
Publication Date: 2016.10.25 APPLE INC
  • US9477596B2 patent drawing
  • US9477596B2 patent drawing
  • US9477596B2 patent drawing

AI summary

Systems and methods are disclosed for logical block address (“LBA) bitmap usage for a system having non-volatile memory (“NVM”). A bitmap can be stored in volatile memory of the system, where the bitmap can store the mapping statuses of one or more logical addresses. By using the bitmap, the system can determine the mapping status of a LBA without having to access the NVM. In addition, the system can update the mapping status of a LBA with minimal NVM accesses. By reducing the number of NVM accesses, the system can avoid triggering a garbage collection process, which can improve overall system performance.