Storage Processor NVMe SSD Array Wear Leveling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solid state disk (SSD) arrays face performance bottlenecks due to uneven utilization of SSDs, wear leveling issues, and high costs associated with designing proprietary storage appliances, particularly in sophisticated applications like RAID systems.

Innovation Solution

A storage processor method that writes to SSDs by receiving commands, breaking them into sub-commands based on granularity, and creating NVMe command structures to distribute logical block addresses evenly across multiple SSDs, ensuring even utilization and wear leveling, while utilizing off-the-shelf NVMe PCIe SSDs to reduce engineering effort and costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hosts directly access SSD arrays using traditional addressing schemes, then simple applications work well, but sophisticated applications like RAID experience performance bottlenecks due to uneven utilization

Engineering Contradiction:
ImproveSSD array performanceVSAvoideven utilization
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces a storage processor as an intermediary between the host and SSD array. The storage processor receives commands from the host, translates logical block addresses to physical block addresses, and manages data distribution across multiple SSDs. This intermediary layer enables sophisticated applications like RAID to achieve even utilization and optimal performance by intelligently managing the addressing and data placement, while hosts continue to use simple standardized interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If traditional LBA addressing is used without wear leveling, then addressing is simple, but SSDs experience uneven wear leading to reduced reliability

Engineering Contradiction:
ImproveSSD wear distributionVSAvoidaddressing scheme
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The storage processor acts as a mediator that implements wear leveling algorithms. It maintains mapping tables that translate host logical block addresses to physical block addresses on specific SSDs. By controlling this translation layer, the system can distribute write operations evenly across all SSDs in the array, preventing any single drive from becoming a bottleneck or failing prematurely due to excessive wear, while hosts continue to use simple sequential LBA addressing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic address mapping where the relationship between logical and physical addresses is not fixed but can change over time. The storage processor dynamically adjusts the mapping to balance wear across SSDs, moving data between drives as needed to equalize usage patterns. This dynamic approach allows the system to adapt to changing workload patterns and maintain even wear distribution without requiring changes to the host interface or addressing scheme.

Inventive Principle:
Principle #15Dynamics

3Productivity

If proprietary SSD arrays are designed for storage appliances, then performance can be optimized, but complexity and cost increase tremendously

Engineering Contradiction:
Improvestorage appliance performanceVSAvoidproprietary array design
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal storage appliance architecture that can work with standard off-the-shelf NVMe PCIe SSDs from any manufacturer. The storage processor implements a standardized interface and control plane that manages diverse SSD resources uniformly. This universal approach allows storage appliance manufacturers to build high-performance systems using commodity hardware, avoiding the need to design and manufacture proprietary SSD arrays, thereby reducing complexity and cost while maintaining optimized performance through software-based management.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9009397B1Storage processor managing solid state disk array
Publication Date: 2015.04.14 AVALANCHE TECHNOLOGY INC
  • US9009397B1 patent drawing
  • US9009397B1 patent drawing
  • US9009397B1 patent drawing

AI summary

A method of writing to one or more solid state disks (SSDs) employed by a storage processor includes receiving a command, creating sub-commands from the command based on a granularity, and assigning the sub-commands to the SSDs independently of the command thereby causing striping across the SSDs.