Trimming Logical Block Addresses in Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash memory systems face inefficiencies in managing logical block addresses (LBAs) due to the need for wear leveling and garbage collection, especially when data is no longer required, leading to reduced operating efficiency unless specific actions are taken by the file system.

Innovation Solution

The method of trimming LBAs from a file stored in non-volatile memory (NVM) allows for selective deletion of content without deleting the entire file, by de-allocating LBAs that are no longer needed, thereby reducing management overhead and freeing up space for subsequent usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the file system does not take specific action to free unused data, then the data remains allocated and marked as used, but the NVM management overhead increases and operating efficiency decreases

Engineering Contradiction:
Improveoperating efficiencyVSAvoidNVM management burden
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by implementing a trim command that proactively deallocates logical block addresses before they are needed again. When data is paged out from memory to NVM and later paged back in, the system preemptively frees the LBA space by issuing trim commands, preventing the accumulation of allocated-but-unused blocks that would burden NVM management operations like wear leveling and garbage collection.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If data is paged out to NVM and then paged back in, then memory operations can proceed, but the NVM still manages the paged-out data increasing overhead

Engineering Contradiction:
Improvememory operation smoothnessVSAvoidNVM management time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements discarding and recovering by systematically deallocating LBAs after data is paged in from NVM. The swap file manager monitors which LBAs contain data that has been paged back into memory and issues trim commands to discard those NVM allocations. This recovers NVM space for future use and eliminates unnecessary management overhead for data that no longer resides on the NVM.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8661189B2Systems and methods for trimming logical block addresses corresponding to a data structure residing in non-volatile memory
Publication Date: 2014.02.25 APPLE INC
  • US8661189B2 patent drawing
  • US8661189B2 patent drawing
  • US8661189B2 patent drawing

AI summary

Systems and methods for trimming LBAs are provided. The LBAs can be trimmed from a file and from an NVM interface that maintains a logical-to-physical translation of the file's LBAs and controls management of the file's contents stored on non-volatile memory (“NVM”). The file can be any suitable file that has any number of associated LBAs. In addition, the file can be linked to one or more data chunks stored in the NVM, each data chunk associated with LBAs in the file. When a data chunk is retrieved or read from the NVM, that chunk no longer needs to be maintained in the NVM. Accordingly, after the data chunk is retrieved from the NVM and provided to an appropriate destination, the LBAs associated with the retrieved data chunk can be trimmed.