Variable Over-Provisioning for SSD Flash Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current non-volatile storage technologies face challenges in improving performance, efficiency, and utility, particularly in managing flash memory resources effectively to optimize storage and reliability in Solid-State Disks (SSDs).

Innovation Solution

Implementing a variable Over-Provisioning (OP) mechanism in SSD controllers that dynamically allocates non-volatile memory between host data, system data, and OP use, adjusting allocations based on data entropy, bandwidth ratios, and available free space to enhance storage efficiency and reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If fixed Over-Provisioning allocation is used, then system reliability is maintained, but storage efficiency deteriorates

Engineering Contradiction:
Improvesystem reliabilityVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic Over-Provisioning allocation that adjusts the portion of flash memory reserved for system data versus host data based on real-time monitoring of free space thresholds. When free space exceeds a threshold, OP allocation increases to improve reliability; when free space is sufficient, OP allocation decreases to maximize storage efficiency. This dynamic adjustment resolves the contradiction between maintaining system reliability and optimizing storage efficiency.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If more flash memory is allocated for host data, then storage capacity increases, but write amplification increases

Engineering Contradiction:
Improvestorage capacityVSAvoidwrite amplification
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent changes the parameter of OP allocation dynamically based on free space conditions. By adjusting the OP portion as a variable parameter rather than a fixed value, the system can adapt to different storage states. When free space is low, increased OP allocation reduces write amplification by providing buffer space for wear-leveling operations. When free space is adequate, reduced OP allocation maximizes storage capacity while maintaining acceptable write amplification levels.

Inventive Principle:
Principle #35Parameter changes

3Duration of action of stationary object

If Over-Provisioning is increased, then flash memory lifespan is extended, but available storage space decreases

Engineering Contradiction:
Improveflash memory lifespanVSAvoidavailable storage space
Core Design Contradiction:
Duration of action of stationary objectVSQuantity of substance

Solution Approach 1:

The patent employs dynamic adjustment of OP allocation to resolve the contradiction between extending flash memory lifespan and maximizing available storage space. The system monitors free space and adjusts OP allocation accordingly: when free space is below a threshold, OP increases to extend lifespan through reduced write amplification; when free space is above the threshold, OP decreases to maximize available storage space. This dynamic behavior allows the system to optimize both lifespan and storage space at different operational states.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10241908B2Techniques for dynamically determining allocations and providing variable over-provisioning for non-volatile storage
Publication Date: 2019.03.26 SEAGATE TECH LLC
  • US10241908B2 patent drawing
  • US10241908B2 patent drawing
  • US10241908B2 patent drawing

AI summary

Dynamically varying Over-Provisioning (OP) enables improvements in lifetime, reliability, and/or performance of a Solid-State Disk (SSD) and/or a flash memory therein. A host coupled to the SSD writes newer data to the SSD. If the newer host data is less random than older host data, then entropy of host data on the SSD decreases. In response, an SSD controller dynamically alters allocations of the flash memory, decreasing host allocation and increasing OP allocation. If the newer host data is more random, then the SSD controller dynamically increases the host allocation and decreases the OP allocation. The SSD controller dynamically allocates the OP allocation between host OP and system OP proportionally in accordance with a ratio of bandwidths of host and system data writes to the flash memory. Changes in allocations are selectively made in response to improved compression or deduplication of the host data, or in response to a host command.