Flash Memory Mode Tracking for SLC Transition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solid-state drives (SSDs) face performance issues due to the burden of managing flash memory modes, as they often need to switch between single level cell (SLC) and multilevel cell (MLC) modes, which can impact storage system performance and efficiency.

Innovation Solution

A method is implemented to track and transition flash memory modes on a per-portion basis using data structures within the storage system, allowing for efficient matching of memory modes with I/O commands, thereby reducing the need for frequent mode changes and enhancing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If flash memory operates in multilevel cell mode to increase storage density, then storage capacity is improved, but reliability deteriorates due to higher error rates and more complex data management

Engineering Contradiction:
Improvestorage capacityVSAvoiddata reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The flash memory device is divided into multiple portions (e.g., blocks or pages) that can independently operate in different memory modes. The system tracks the mode of each portion separately and allows different portions to be in different modes simultaneously, enabling fine-grained optimization of reliability and capacity based on data importance and access patterns

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of flash memory are assigned different operational characteristics based on their specific requirements. Critical data stored in portions requiring higher reliability can be isolated in portions operating in SLC mode, while less critical data can utilize MLC mode portions for higher density, creating local optimization of quality attributes

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If the flash controller manages mode transitions for the entire flash device, then compatibility with existing standards is maintained, but performance deteriorates due to unnecessary mode switching overhead

Engineering Contradiction:
Improvestandard compatibilityVSAvoidstorage performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The invention segments the flash device into multiple portions that can be independently managed. Instead of treating the entire flash device as a single unit requiring uniform mode management, each portion can be independently tracked and transitioned, reducing the scope of mode transition operations and minimizing performance impact

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs mode transitions only for the specific portions that require it, rather than transitioning the entire flash device. This partial action approach reduces the overhead of mode management while maintaining compatibility with flash memory standards that operate at the device level

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If mode transitions are performed frequently to match I/O command requirements, then adaptability to different storage workloads is improved, but system performance deteriorates due to transition overhead

Engineering Contradiction:
Improveworkload adaptabilityVSAvoidI/O throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system tracks the current mode of each flash portion in advance and prepares mode transition commands only when necessary. By maintaining state information about each portion's mode and comparing it with the required mode for upcoming I/O operations, the system can perform mode transitions proactively or reactively only when needed, avoiding unnecessary transitions

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors the actual mode of each flash portion and compares it with the required mode for I/O commands. This feedback mechanism enables intelligent decision-making about when mode transitions are necessary, allowing the system to adapt to changing workload requirements while minimizing unnecessary transitions that would degrade performance

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9971537B1Hardware support to track and transition flash LUNs into SLC mode
Publication Date: 2018.05.15 PURE STORAGE INC
  • US9971537B1 patent drawing
  • US9971537B1 patent drawing
  • US9971537B1 patent drawing

AI summary

A method for tracking and transitioning flash memory modes, performed by a storage system, is provided. The method includes tracking memory modes of a plurality of portions of flash memory, on a per portion basis, in a data structure in a first memory and determining, based on the data structure, whether the tracked memory mode of a portion of flash memory matches a memory mode for an I/O (input/output) command relating to the flash memory. The method includes sending at least one command to the flash memory to change the memory mode of the portion of flash memory, responsive to determining the tracked memory mode does not match the memory mode for the I/O command, and performing the I/O command with the memory mode of the portion of flash memory changed to match the memory mode for the I/O command.