SSD Array Controller Write Scheduling and Block Erase Minimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvewrite latencyVSAvoidwrite throughput
Core Design Contradiction:
SpeedVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvedata persistenceVSAvoidwrite efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvedata capacityVSAvoidwrite endurance
Core Design Contradiction:
Quantity of substanceVSDuration of action of stationary object

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8615640B2System and method to efficiently schedule and/or commit write data to flash based SSDs attached to an array controller
Publication Date: 2013.12.24 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8615640B2 patent drawing
  • US8615640B2 patent drawing
  • US8615640B2 patent drawing

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.