Non-Volatile Storage Dynamic Mapping for Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional data storage systems face inefficiencies and complexity due to redundant logical-to-physical mappings in non-volatile storage devices, particularly in sequential and log structured storage systems, which complicate allocation and management of storage space.
Innovation Solution
A non-volatile storage device presents a logical address space with arbitrary mappings between logical identifiers and physical storage locations, allowing for dynamic allocation and management of storage capacity through an index that associates logical identifiers with storage locations, enabling efficient allocation and deallocation of storage space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If traditional random access storage devices use one-to-one mapping between logical block addresses and physical block addresses, then storage allocation is simple, but storage space management efficiency deteriorates due to inability to remap blocks
Solution Approach 1:
The patent implements a dynamic mapping mechanism where logical block addresses are no longer fixed to specific physical block addresses. Instead, the system maintains a mapping structure that allows flexible reassignment of physical blocks to logical addresses, enabling the storage device to adapt to changing allocation requirements and improve space management efficiency while maintaining allocation simplicity through the abstracted logical address interface
2Reliability
If sequential or log structured storage systems implement their own logical-to-physical mapping, then storage location control is improved, but device complexity increases due to redundant mappings
Solution Approach 1:
The patent merges the logical-to-physical mapping functionality into the storage device itself, eliminating the need for separate mapping structures at the host level. By integrating this capability directly in the storage device, the system achieves reliable storage location control without the redundancy and complexity that would otherwise arise from having multiple independent mapping layers
Solution Approach 2:
The patent extracts the mapping management responsibility from the host system and places it within the storage device. This extraction reduces the complexity at the host level by removing redundant mapping structures while maintaining the ability to control storage locations through the simplified logical address interface
3Quantity of substance
If multiple storage devices are accessed through a file server, then storage capacity is increased, but allocation management complexity increases due to need for additional identifiers
Solution Approach 1:
The patent implements a universal logical address space that can be accessed across multiple storage devices through a single interface. The storage device presents a unified logical address space that abstracts the underlying physical structure, allowing the same allocation mechanisms to work across different devices without requiring additional identifiers or complex management overhead
Data Source
AI summary
An apparatus, system, and method are disclosed for implementing conditional storage operations. Storage clients access and allocate portions of an address space of a non-volatile storage device. A conditional storage request is provided, which causes data to be stored to the non-volatile storage device on the condition that the address space of the device can satisfy the entire request. If only a portion of the request can be satisfied, the conditional storage request may be deferred or fail. An atomic storage request is provided, which may comprise one or more storage operations. The atomic storage request succeeds if all of the one or more storage operations are complete successfully. If one or more of the storage operations fails, the atomic storage request is invalidated, which may comprise deallocating logical identifiers of the request and/or invalidating data on the non-volatile storage device pertaining to the request.


