Synchronized Maintenance in Multi-Bank Flash Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-bank flash storage systems, maintenance operations such as garbage collection and wear leveling can cause delays in host command execution due to independent operation of each bank, leading to reduced performance and memory endurance, especially when write operations frequently switch between banks.
Innovation Solution
Implementing a method where a second bank initiates maintenance procedures synchronously with the first bank during pending host write commands, utilizing a status array to manage and coordinate maintenance operations across banks, ensuring that maintenance in the second bank does not exceed the duration of the first bank's maintenance, thereby minimizing delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If maintenance operations are executed independently in each bank, then each bank can perform its maintenance tasks autonomously, but the overall system performance deteriorates due to sequential execution delays affecting host commands across multiple banks
Solution Approach 1:
The patent merges maintenance operations across multiple banks by synchronizing their execution. When a maintenance operation is detected in one bank, the system coordinates maintenance operations in other banks to occur concurrently within the same time window, transforming independent sequential operations into coordinated parallel operations that complete simultaneously, thereby eliminating cumulative delays to host commands.
Solution Approach 2:
The system performs preliminary detection of maintenance operation status in each bank before executing host commands. By checking the maintenance status array in advance, the system can proactively coordinate and synchronize maintenance operations across banks before they interfere with host command execution, preventing delays rather than reacting to them.
2Reliability
If banks execute maintenance operations serially, then resource conflicts are avoided, but the total maintenance time and host command delay increase significantly
Solution Approach 1:
The patent implements dynamic coordination of maintenance operations based on real-time bank status. The system continuously monitors the maintenance operation status of each bank and dynamically adjusts the timing and synchronization of maintenance execution across banks, allowing flexible adaptation to varying maintenance needs while maintaining concurrent execution to minimize host command delays.
3Quantity of substance
If frequent write operations switch between banks, then buffer RAM size can be minimized, but maintenance operation delays are exacerbated due to increased bank switching
Solution Approach 1:
The system employs feedback mechanisms by continuously monitoring write operation patterns and bank maintenance status. When write operations frequently switch between banks, the system uses this feedback information to proactively synchronize maintenance operations, coordinating them to occur concurrently rather than sequentially, thereby compensating for the increased bank switching and preventing cumulative delays.
Data Source
AI summary
A method and system for managing maintenance operations in a multi-bank non-volatile storage device is disclosed. The method includes receiving a data write command and associated data from a host system for storage in the non-volatile storage device and directing a head of the data write command to a first bank in the and a tail of the data write command to a second bank, where the head of the data write command only includes data having logical block addresses preceding logical block addresses of data in the tail of the data write command. When a status of the first bank delays execution of the data write command the controller executes a second bank maintenance procedure in the second bank while the data write command directed to the first and second banks is pending. The system includes a plurality of banks, where each bank may be associated with the same or different controllers, and the one or more controllers are adapted to execute the method noted above.


