Flash Storage Trim Reservation for Write Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional memory management techniques are inadequate for Flash-based block storage devices, leading to inefficient write performance due to significant overhead in overwriting deleted data blocks, which can cripple write operations and fail to reserve trimmed space for high-performance writes.
Innovation Solution
Implementing a trim command mechanism where the memory controller reserves physical memory space associated with trimmed logical addresses until explicitly written to, ensuring it remains available for intended high-performance write operations by maintaining the mapping between host logical and physical addresses, and releasing reservations based on specific events or commands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional memory management techniques are used where deleted data blocks are flagged as not in use and eventually overwritten, then storage space is eventually freed, but write performance is significantly degraded due to overhead in overwriting deleted blocks
Solution Approach 1:
The patent applies preliminary action by performing a trim command to pre-free storage blocks before they are needed for new writes. When the host issues a trim command for logical blocks, the storage device immediately identifies and marks the corresponding physical blocks as available, rather than waiting for traditional overwrite operations. This advance preparation eliminates the performance penalty of overwriting deleted blocks, as the blocks are already freed and ready for immediate use in sequential write operations.
2Quantity of substance
If physical blocks are freed immediately after trim command, then storage space is available for new data, but garbage collection and other write operations may consume these blocks, reducing availability for high-performance writes
Solution Approach 1:
The patent applies local quality by creating a special reserved state for physical blocks that have been trimmed but not yet overwritten. These blocks are marked with a reservation indicator that distinguishes them from normally available blocks. The reservation mechanism ensures that specific blocks are held available for high-performance write operations while other parts of the storage device can still perform garbage collection and maintenance operations on non-reserved blocks. This localized differentiation allows simultaneous optimization of both space availability and operational reliability.
3Productivity
If contiguous physical blocks are maintained for trimmed logical blocks, then high-performance sequential writes are enabled, but device complexity increases due to mapping management
Solution Approach 1:
The patent applies self-service by implementing a mapping table that automatically tracks the correspondence between logical blocks and physical blocks, including their reservation status. When a trim command is received, the mapping table self-updates to mark the physical blocks as reserved and available. When write operations occur, the mapping table automatically allocates contiguous reserved blocks without requiring complex external coordination. This self-managing approach enables contiguous block allocation for high-performance writes while keeping the complexity contained within the automated mapping structure, rather than requiring complex external control mechanisms.
Data Source
AI summary
Approaches, techniques, and mechanisms are disclosed for a method of operation of a Flash-based block storage system including: transferring a first data to a logical block address; storing the first data in a physical block, of a storage array, associated with the logical block address; receiving a trim command for the logical block address; establishing a reserved physical block associated with the logical block address of the trim command; transferring second data for writing to the logical block address of the trim command; releasing the reserved physical block associated with the logical block address; and writing the second data to the logical block address.


