SSD Array Controller Write Scheduling and Block Erase Minimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional flash-based SSDs face inefficiencies in write operations due to high latency and limited write endurance, especially in enterprise storage configurations where data workloads result in numerous low-efficiency writes, leading to reduced throughput and write endurance.
Innovation Solution
An array controller system that schedules and prioritizes writes across multiple SSDs by leveraging physical attributes of the SSD media, using a mirrored mapping table, a rank table to prioritize high-efficiency writes, and a cache flush logic to minimize block erase operations, while maintaining Logical Block Addressing and not altering core cache management logic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is written to SSD pages individually without coordination, then write operations can be performed at page granularity with low latency, but write efficiency deteriorates due to frequent block erase operations
Solution Approach 1:
The system performs preliminary actions by tracking pending writes to each block and proactively issuing block erase operations before the block becomes full. This prevents the situation where a block must be erased after accumulating multiple partial writes, thereby maintaining high write efficiency without increasing latency.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring the fill status of each block and the pending write queue. This feedback drives dynamic scheduling decisions, allowing the system to adaptively balance between page-level write latency and block-level write efficiency by adjusting when to flush pending writes to blocks.
2Reliability
If SSD firmware commits data irrespective of size or block affinity, then data can be persisted continuously, but write efficiency deteriorates due to numerous partial page writes
Solution Approach 1:
The system merges multiple pending writes destined for the same block into a single coordinated flush operation. By combining these writes and flushing them together as a complete block, the system maintains data persistence while eliminating the inefficiency of multiple partial writes to the same block.
Solution Approach 2:
The system performs preliminary tracking of write destinations and aggregates pending writes before committing them to storage. This preliminary organization ensures that data is persisted reliably while maximizing write efficiency by avoiding redundant block erase operations.
3Quantity of substance
If multiple re-writes are performed as data grows and scatters across blocks, then data capacity is utilized fully, but write endurance deteriorates due to increased erase and program sequences
Solution Approach 1:
The system performs preliminary actions by proactively erasing blocks before they become full and need to be rewritten. This prevents the accumulation of scattered data across blocks that would require multiple re-write cycles, thereby extending write endurance while maintaining full data capacity utilization.
Solution Approach 2:
The system maintains continuous useful action by keeping blocks ready for efficient writes through proactive management. By ensuring blocks are properly prepared and minimizing the need for re-writes, the system extends the operational lifespan of the SSD while maintaining data capacity.
Data Source
AI summary
An apparatus comprising a controller and an array. The controller may be configured to generate control signals in response to one or more input requests. The array may comprise a plurality of solid state devices. The solid state devices may be configured to (i) read and/or write data in response to the control signals received from the controller and (ii) distribute writes across the plurality of solid state devices such that each of said solid state devices has a similar number of writes.


