Adaptive Write Buffer Release for Storage Media Programming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage drives face decreased write throughput and increased write buffer requirements due to the need to hold data in write buffers until it is successfully programmed to storage media, which is slower than the write buffer speed, leading to inefficient utilization and limited buffer capacity.
Innovation Solution
Implementing a media write manager that uses parity-based encoding to compute parity information for data stored in write buffers, allowing for the release of buffers once parity information is determined, enabling data recovery and allowing subsequent data to be written while previous data is still being programmed to storage media.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is held in write buffers until successfully programmed to storage media, then data reliability is improved, but write throughput decreases and write buffer utilization efficiency worsens
Solution Approach 1:
The system performs preliminary action by computing parity information for data before releasing the write buffer. The parity-based encoder generates parity information in advance, allowing the write buffer to be released before the data is fully programmed to storage media. This preliminary computation of parity information enables the system to maintain data reliability through parity-based recovery while improving write throughput by freeing buffers more quickly.
Solution Approach 2:
The parity-based encoder acts as an intermediary between the write buffer and storage media. It computes parity information that serves as a mediator for data recovery, allowing the system to release write buffers without compromising reliability. The parity information stored in the encoder's buffer enables recovery operations if programming fails, thus decoupling the buffer release from the completion of data programming.
2Reliability
If write buffers are released after data programming completes, then data recovery capability is improved, but write buffer utilization efficiency decreases
Solution Approach 1:
The system performs preliminary action by computing and storing parity information before releasing the write buffer. The parity-based encoder generates and stores parity information in advance, enabling the write buffer to be released earlier in the process. This preliminary preparation of parity information maintains data recovery capability while significantly improving write buffer utilization efficiency by reducing the time buffers are occupied.
Solution Approach 2:
The system changes the parameter of buffer release timing from 'after programming completion' to 'after parity information computation'. This parameter change allows the write buffer to be released at an earlier stage in the data programming process, improving utilization efficiency while the parity information provides the necessary backup for data recovery if programming fails.
3Productivity
If larger write buffers are used to maintain throughput, then write throughput is improved, but device complexity and power consumption increase
Solution Approach 1:
The system performs preliminary action by computing parity information before buffer release, which enables smaller write buffers to achieve the same throughput performance. By preparing parity information in advance and releasing buffers earlier, the system reduces the buffer capacity requirements while maintaining throughput, thus decreasing device complexity and power consumption associated with larger buffers.
Solution Approach 2:
The parity-based encoder serves as an intermediary that enables more efficient buffer utilization. It computes and stores parity information that allows the system to release write buffers more quickly, reducing the total buffer capacity needed to maintain throughput. This intermediary mechanism decouples throughput performance from buffer size, reducing device complexity and power consumption.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present disclosure describes apparatuses and methods for storage media programming with adaptive write buffer release. In some aspects, a media write manager of a storage media system stores, to a write buffer, data received from a host interface. The media write manager determines parity information for the data stored to the write buffer and then releases the write buffer on completion of determining the parity information for the data. The media write manager may then write at least a portion of the data to storage media after the write buffer is released. By releasing the write buffer of the storage media system after determining the parity information, the write buffer is freed more quickly, which may result in improved write buffer utilization and increased write throughput of the storage media system.