Thin Provisioning Storage System Logical Capacity Decoupling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems often face challenges in efficiently managing logical block addresses (LBAs) in relation to physical storage capacity, leading to frequent garbage collection operations and increased write amplification when the valid data size approaches the physical capacity, as they typically support an LBA range that is nearly 1:1 with the physical storage size.
Innovation Solution
Implementing a thin provisioning mechanism that exports a logical capacity greater than the actual physical capacity, allowing for a larger LBA range that decouples logical addressing from physical storage, enabling fewer garbage collection operations and ensuring that write workloads do not exceed the physical capacity by maintaining a storage valid count and using discard commands to manage available space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If the storage system supports an LBA range that is nearly 1:1 with the physical storage size, then the mapping between logical and physical addresses is simple, but the frequency of garbage collection operations increases and write amplification occurs when valid data size approaches physical capacity
Solution Approach 1:
The patent segments the storage system into two independent layers: a logical addressing layer that provides a large LBA namespace, and a physical storage layer that manages actual capacity. The translation layer between them decouples logical from physical, allowing the logical space to be larger than physical capacity without increasing mapping complexity at either layer individually.
Solution Approach 2:
The patent introduces a translation layer as an intermediary between the logical addressing layer and physical storage layer. This intermediary component (the mapping structure) translates logical block addresses to physical addresses, enabling the logical capacity to exceed physical capacity while maintaining simple management at each layer through the mediating translation process.
2Productivity
If the logical capacity is exported as greater than actual physical capacity, then the LBA range is larger and garbage collection operations are reduced, but the system must maintain additional metadata structures to track valid data
Solution Approach 1:
The patent extracts the capacity management complexity from the host system and places it in the storage device's translation layer. The host simply sees a large logical capacity and issues writes, while the storage device's translation layer independently tracks valid data locations and manages the mapping, removing the burden of thin provisioning complexity from the host.
Solution Approach 2:
The translation layer performs self-service by automatically tracking valid data locations, managing the logical-to-physical mapping, and handling capacity constraints without external intervention. The system autonomously determines where valid data resides and manages the discrepancy between logical and physical capacity through its own internal mechanisms.
3Speed
If sequential LBAs are allocated to data streams, then sequential write operations are efficient, but host-side garbage collection is required when the allocated LBA range is insufficient
Solution Approach 1:
The patent adds an extra dimension to address space management by implementing a translation layer that operates between logical and physical address spaces. This additional layer allows sequential allocation in the logical space to continue without interruption, while the translation layer independently manages the mapping to physical space, eliminating the need for host-side garbage collection to maintain sequentiality.
Data Source
AI summary
A storage system and method for thin provisioning are provided. In one embodiment, a storage system is provided comprising a memory and a controller. The controller is configured to provide a logical exported capacity of the memory to a host, wherein the logical exported capacity is greater than an actual storage capacity of the memory; receive a command from the host to write data to a logical address; determine whether there is available actual storage capacity in the memory to write the data; and write the data to a physical address in memory that corresponds to the logical address only if it is determined that there is available actual storage capacity in the memory to write the data. Other embodiments are possible, and each of the embodiments can be used alone or together in combination.


