SSD Parity Layout for Non-Standard Payloads Across Flash Dies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state drives (SSDs) face challenges in managing non-standard sized payloads, which can arise due to factors like data compression or die failures, leading to uneven data distribution across semiconductor dies, resulting in inefficient use of memory and increased processing requirements for error correction.

Innovation Solution

A method is implemented where a non-standard parity data set is written across multiple regions, with a first parity value protecting the initial set of data elements distributed across all dies and a second parity value protecting the remaining elements, ensuring data integrity even if one die fails, and map data is used to describe the locations of these parity values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a standard parity data set is written across multiple dies, then data distribution is uniform and simple, but it cannot handle non-standard sized payloads resulting in data loss or requiring dummy filler data

Engineering Contradiction:
Improvepayload size adaptabilityVSAvoidparity distribution complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The parity data set is segmented into multiple portions, each protected by its own parity value. When a non-standard sized payload occurs, the data is divided into segments that can be independently parity-protected and distributed across available dies, allowing flexible adaptation to different payload sizes without requiring dummy filler data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an additional dimension of parity protection by implementing multiple parity values (first parity value and second parity value) for different portions of the data set. This multi-layered approach allows the system to handle non-standard payloads by distributing data and parity values across multiple dimensions of the storage space, eliminating the need for dummy filler data.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If dummy filler data is used to standardize payload sizes, then data distribution becomes simple, but data density decreases and storage efficiency is reduced

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically adapts its parity distribution strategy based on the actual payload size. Instead of using fixed dummy filler data, the patent implements a flexible approach where the number and distribution of parity values are determined by the actual data size, maximizing storage efficiency while maintaining data integrity through dynamic parity allocation.

Inventive Principle:
Principle #15Dynamics

3Reliability

If multiple parity values are used to protect different portions of data, then data integrity is improved, but processing requirements and complexity increase

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary parity calculation and distribution before data writing. By pre-calculating multiple parity values and determining their optimal distribution across dies, the system simplifies the overall processing complexity while ensuring data integrity. This preliminary organization of parity data eliminates the need for complex real-time calculations during data operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11138069B2Providing additional parity for non-standard sized parity data sets
Publication Date: 2021.10.05 SEAGATE TECH LLC
  • US11138069B2 patent drawing
  • US11138069B2 patent drawing
  • US11138069B2 patent drawing

AI summary

Apparatus and method for storing data in a non-volatile memory (NVM), such as a flash memory in a solid-state drive (SSD). In some embodiments, a distributed storage space of the NVM is defined to extend across a plural number of regions of the NVM. A non-standard parity data set is provided having a plural number of data elements greater than or equal to the plural number of regions in the storage space. The data set is written by storing a first portion of the data elements and a first parity value to the plural number of regions and a remaining portion of the data elements and a second parity value to a subset of the plural number of regions. The regions can comprise semiconductor dies in a flash memory, and the distributed storage space can be a garbage collection unit formed using one erasure block from each flash die.