SSD Self-Test with Multi-Code-Rate Bad Block Screening

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing manufacturer self-test (MST) processes for solid-state drives (SSDs) are inefficient in detecting bad blocks and initializing error correction code rates, leading to inconsistent test times and potential data loss due to infant mortality in flash memory.

Innovation Solution

A method and apparatus that perform a multi-plane scan capable of detecting bad blocks in both multi-plane and single-plane configurations, embed a thorough code rate test within the MST, and minimize test time by initializing a bad block list and code rate table, ensuring consistent testing across SSDs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a traditional manufacturer self-test process is used, then the testing procedure is simple, but the test time is long and detection precision is insufficient

Engineering Contradiction:
Improvebad block detection precisionVSAvoidtest time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the code rate testing process into multiple parallel testing threads, each handling different code rates simultaneously. This allows the controller to test multiple code rates in parallel rather than sequentially, significantly reducing the overall test time while maintaining thorough detection precision for identifying bad blocks across all code rates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary identification of bad blocks using a first code rate before conducting the comprehensive multi-code rate testing. This preliminary action filters out obviously defective blocks early in the process, allowing the subsequent detailed testing to focus on blocks that require more thorough evaluation, thereby optimizing the overall test time without compromising detection precision.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If a comprehensive code rate test is performed, then detection precision is improved, but test time increases

Engineering Contradiction:
Improvecode rate test detection precisionVSAvoidcode rate test time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the comprehensive code rate testing into multiple parallel testing operations, where each testing thread handles a specific code rate simultaneously. This parallelization maintains the thorough detection precision required for comprehensive testing while reducing the total test time by eliminating sequential execution overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a two-stage testing approach where a preliminary bad block identification pass is performed first, followed by a more focused comprehensive code rate test on blocks that pass the initial screening. This partial action approach ensures thorough detection precision for critical blocks while avoiding unnecessary extensive testing on blocks that are already identified as defective.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If multiple code rates are tested, then reliability is improved, but device complexity increases

Engineering Contradiction:
ImproveSSD reliabilityVSAvoidtest process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal bad block list data structure that can accommodate and track bad blocks identified under multiple different code rates. This universal structure provides a unified interface for managing blocks regardless of which code rate caused the failure, simplifying the overall system architecture while maintaining the ability to detect reliability issues across all code rates through a single centralized mechanism.

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

Solution Approach 2:

The patent employs a feedback mechanism where results from testing at one code rate inform subsequent testing at other code rates. The bad block list is dynamically updated based on feedback from each testing operation, allowing the system to adaptively adjust testing priorities and avoid redundant testing, thereby improving reliability through comprehensive testing while managing process complexity through intelligent feedback-driven control.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10410736B2Manufacturer self-test for solid-state drives
Publication Date: 2019.09.10 SEAGATE TECH LLC
  • US10410736B2 patent drawing
  • US10410736B2 patent drawing
  • US10410736B2 patent drawing

AI summary

An apparatus includes a memory and a controller. The memory may be configured to store data. The controller may be configured to process a plurality of input/output requests to a plurality of blocks of the memory that are not marked as bad on a block list, perform a code rate test that programs the plurality of blocks of the memory at three or more code rates of an error correction code scheme, and mark any of the plurality of blocks identified as bad during the code rate test on the block list.