Logical ID Mapping for Flash Memory Write Amplification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional tiered data structures in non-volatile memory systems, such as flash memory, face inefficiencies in data storage and retrieval due to high write amplification and the need for frequent erase operations, which reduce storage device endurance and increase costs.
Innovation Solution
Implementing a memory-efficient system with a tiered data structure that uses logical IDs and a secondary mapping table to manage block/object addresses, allowing for efficient read and write operations by caching internal nodes and translating logical IDs to physical locations, thereby reducing unnecessary updates and write amplification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional tiered data structures are used for data storage in non-volatile memory systems, then data storage and retrieval operations can be performed, but write amplification increases and device endurance decreases
Solution Approach 1:
The patent segments the address space into two independent parts: a stable logical ID space and a flexible physical location space. By separating the immutable identifier from the changeable storage address, the system allows physical locations to be reassigned without affecting the logical structure, thereby reducing write amplification and extending device endurance
Solution Approach 2:
The patent introduces a secondary mapping table as an intermediary between logical IDs and physical locations. This mapping table acts as a mediator that translates stable logical identifiers to flexible physical addresses, enabling efficient address translation while maintaining data integrity and reducing unnecessary write operations to the non-volatile memory
2Adaptability or versatility
If frequent erase operations are performed to manage data in non-volatile memory, then data can be updated, but storage device endurance is reduced
Solution Approach 1:
The patent performs preliminary action by pre-assigning stable logical IDs to data objects before storage. These logical IDs serve as permanent identifiers that remain unchanged even when physical locations are reassigned. This preliminary identification allows the system to track and manage data objects without requiring frequent erasure operations, thereby extending device lifespan while maintaining update capability
Solution Approach 2:
The patent changes the parameter of address representation by introducing a dual-address system where logical IDs remain constant while physical addresses can change. This parameter change allows data to be updated by remapping physical locations without altering the fundamental identity of data objects, reducing the need for erase operations and extending device lifespan
3Speed
If traditional address mapping is used in tiered data structures, then data can be stored and retrieved, but data retrieval speed and efficiency are constrained
Solution Approach 1:
The patent segments the address mapping function into two independent components: a simple logical ID lookup and a flexible physical location translation. By separating these functions, the system achieves fast data retrieval through efficient lookup operations while managing complexity through modular design
Solution Approach 2:
The patent uses a secondary mapping table that creates a copy or replica of the address translation function. This mapping table stores pre-computed or dynamically updated physical location information, allowing fast retrieval operations without complex real-time calculations, thereby improving data retrieval speed while managing system complexity
Data Source
AI summary
Systems, methods and/or devices are used to perform memory-efficient mapping of block/object addresses. In one aspect, a method of managing a storage system having one or more storage devices includes a tiered data structure in which each node has a logical ID and entries in the nodes reference other nodes in the tiered data structure using the logical IDs. As a result, when a child node is updated and stored to a new location, but retains its logical ID, its parent node does not need to be updated, because the logical ID in the entry referencing the child node remains unchanged. Further, the storage system uses a secondary mapping table to translate the logical IDs to the corresponding physical locations of the corresponding nodes. Additionally, the secondary mapping table is cached in volatile memory, and as a result, the physical location of a required node is determined without accessing non-volatile memory.


