Storage Device Namespace Temporary Space Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage systems face data loss and inefficiency when receiving data larger than the available space in a namespace, as they typically process such data as a failure, leading to reliability and continuity issues.
Innovation Solution
The storage device allocates a temporary space from a freely available namespace to store data exceeding the capacity of the initial namespace, ensuring data continuity and reliability by redirecting the write request to this temporary space and flushing data to an external storage device when necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the storage device processes write requests for data larger than the available namespace capacity as failures, then the data integrity is maintained, but the system reliability and continuity deteriorate due to data loss
Solution Approach 1:
The storage device divides the storage space into multiple namespaces (first namespace, second namespace, third namespace) with different functions. When the first namespace is full, data is segmented and stored in the second namespace as temporary space, then later moved to the third namespace. This segmentation allows continuous data storage without failure while maintaining data integrity through structured management.
Solution Approach 2:
The second namespace acts as an intermediary temporary storage space between the first namespace (full) and the third namespace (external storage). Data exceeding the first namespace capacity is redirected to the second namespace, which serves as a buffer, and then subsequently moved to the third namespace. This intermediary mechanism prevents data loss while maintaining storage efficiency.
2Reliability
If the storage device allocates temporary space from a second namespace to store excess data from the first namespace, then the data continuity is maintained, but the namespace management complexity increases
Solution Approach 1:
The storage device dynamically allocates and deallocates namespaces based on real-time data capacity requirements. When the first namespace is full, the second namespace is dynamically assigned as temporary space. After data is moved to the third namespace, the second namespace is deallocated and can be reused. This dynamic adaptation maintains data continuity while managing complexity through automated resource allocation.
Solution Approach 2:
The storage device changes the functional parameter of the second namespace from its original purpose to temporary storage when needed. The namespace ID and allocation status are dynamically modified based on data capacity conditions. This parameter change allows flexible namespace utilization, maintaining data continuity without permanent structural complexity.
3Adaptability or versatility
If the storage device uses a fixed namespace structure without temporary space allocation, then the system simplicity is maintained, but the adaptability to varying data storage needs deteriorates
Solution Approach 1:
The second namespace serves multiple functions: it can be used for its original purpose when the first namespace has available capacity, and it can be dynamically converted to temporary storage space when the first namespace is full. After data is moved to the third namespace, the second namespace returns to its original function. This multi-functionality provides storage capacity adaptability without permanent complexity.
Data Source
AI summary
An operation method of a storage device includes, when receiving a write request for a first namespace among a plurality of namespaces logically divided and recognized by an external host device, determining whether an available space of the first namespace is insufficient; when it is determined that the available space of the first namespace is insufficient, allocating a portion of an available space of a second namespace different from the first namespace from among the plurality of namespaces to a temporary space for the first namespace; transmitting information about a lack of the available space of the first namespace and information about the allocation of the temporary space of the second namespace to the external host device; and storing data corresponding to the write request for the first namespace in the temporary space of the second namespace.


