Bad Block Identification in NAND Flash Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing bad block identification methods for NAND flashes are ineffective when different data formats are used, as the predetermined information for identifying good or bad blocks can be overwritten, leading to inaccurate detection.

Innovation Solution

A method that performs data decoding and checks predetermined locations for specific information to identify memory blocks as good or bad, even if the data format does not conform to the conventional format, by using a data mark in the spare area and embedding it in the data area to ensure accurate block identification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the first byte of the spare area is used to mark bad block information, then bad block identification is simple and direct, but the identification information can be overwritten when various data formats are used

Engineering Contradiction:
Improvebad block identification complexityVSAvoidbad block identification reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent divides the memory page into multiple specific locations (first location in spare area, second location in data area, third location in spare area) and places bad block identification information in multiple segments rather than relying on a single byte. This segmentation ensures that even if one location is overwritten, the identification information remains intact in other locations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates copies of the bad block identification information and places them in multiple locations within the memory page. The first copy is in the first byte of the spare area, the second copy is in a specific location in the data area, and the third copy is in another specific location in the spare area. This copying strategy ensures redundancy and prevents loss of identification information.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If data is written according to different rules in various data formats, then data storage flexibility is improved, but the predetermined identification information may be overwritten

Engineering Contradiction:
Improvedata format adaptabilityVSAvoididentification information loss
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent performs preliminary action by embedding the bad block identification information in multiple predetermined locations before data writing operations occur. By pre-placing the identification information in the first location (spare area), second location (data area), and third location (spare area), the system ensures that even if subsequent data writing overwrites these locations, the identification information has already been preserved in multiple copies.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies local quality by assigning different roles to different locations within the memory page. Specific locations are designated for bad block identification information (first byte of spare area, specific data area location, specific spare area location), while other locations are used for data storage. This differentiation ensures that identification information is protected in key locations while allowing flexibility in data writing in other areas.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8510614B2Bad block identification methods
Publication Date: 2013.08.13 INTERLINK SILICON SOLUTIONS INC
  • US8510614B2 patent drawing
  • US8510614B2 patent drawing
  • US8510614B2 patent drawing

AI summary

A bad block identification method for a memory is provided. The memory includes at least one memory block for storing data. A data decoding function is performed on the data, and it is determined whether the data decoding function was performed successfully. If the data decoding function was not performed successfully, at least one predetermined location in the memory block is checked. It is determined whether the predetermined location is marked by predetermined information. If the predetermined location is not marked by the predetermined information, the memory block is identified as a bad block.