Recovering Validity Data in SSDs via Parallel Core Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems, such as solid state drives, face challenges in recovering validity data during unplanned shutdowns, as they may not have enough energy to transfer validity tables from volatile to non-volatile memory, resulting in data loss.

Innovation Solution

The method involves partitioning logical addresses in a mapping table into subsets and assigning them to processor cores, which check for valid physical addresses, increment local validity counts, and update global validity tables using multiple processor cores to recover validity data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If validity tables are stored only in volatile memory, then data storage system operation is fast and efficient, but data is lost during unplanned shutdowns

Engineering Contradiction:
Improvedata integrityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The validity table recovery process is segmented into multiple subsets of logical addresses, with each subset assigned to a different processor core. This allows parallel processing of validity data recovery while managing energy consumption during unplanned shutdowns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by maintaining validity tables in volatile memory during normal operation for fast access, and only initiates recovery to non-volatile memory when unplanned shutdown is detected, thus minimizing energy consumption while ensuring data integrity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If validity tables are transferred to non-volatile memory, then data integrity is maintained during shutdowns, but system performance decreases due to slower access times

Engineering Contradiction:
Improvedata integrityVSAvoidaccess speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system keeps validity tables in volatile memory during normal operation for fast access, and only transfers to non-volatile memory when unplanned shutdown is detected, thus maintaining high speed during normal operation while ensuring data integrity when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Different storage locations (volatile vs. non-volatile memory) are used with different quality characteristics - volatile memory for fast access during normal operation, and non-volatile memory for data preservation during shutdowns.

Inventive Principle:
Principle #3Local quality

3Loss of time

If single processor core recovers validity data, then system complexity is low, but recovery time is excessive

Engineering Contradiction:
Improverecovery timeVSAvoidprocessor core coordination
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The recovery process is divided into segments (subsets of logical addresses) that can be processed in parallel by multiple processor cores, significantly reducing total recovery time while managing complexity through systematic partitioning.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from sequential single-core processing to parallel multi-core processing, adding a dimensional aspect of concurrency to the recovery process, thereby dramatically reducing recovery time.

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

Data Source

PatentUS11500780B2Recovery of validity data for a data storage system
Publication Date: 2022.11.15 SANDISK TECHNOLOGIES LLC
  • US11500780B2 patent drawing
  • US11500780B2 patent drawing
  • US11500780B2 patent drawing

AI summary

The subject technology provides for recovering a validity table for a data storage system. A set of logical addresses in a mapping table is partitioned into subsets of logical addresses. Each of the subsets of logical addresses is assigned to respective processor cores in the data storage system. Each of the processor cores is configured to check each logical address of the assigned subset of logical addresses in the mapping table for a valid physical address mapped to the logical address, for each valid physical address mapped to a logical address of the assigned subset of logical addresses, increment a validity count in a local validity table associated with a blockset of the non-volatile memory corresponding to the valid physical address, and update validity counts in a global validity table associated with respective blocksets of the non-volatile memory with the validity counts in the local validity table.