Trimming Logical Block Addresses in Non-Volatile Memory
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
Data Source
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.


