Virtual Boundary Codes for NAND Flash Bad Block Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing NAND flash memory systems face challenges in handling bad blocks, which are non-functional memory cells resulting from manufacturing defects, requiring customized bad block management schemes that vary by manufacturer and reseller, complicating firmware updates and boot loader operations.
Innovation Solution
The implementation of virtual boundary codes allows for storing and reading data images across NAND memory devices without relying on manufacturer-specific bad block detection schemes, enabling computing devices to identify and skip bad blocks using a universal algorithm, thus simplifying the process of storing and reading data across different NAND devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manufacturer-specific bad block detection schemes are used, then bad blocks can be identified and skipped, but firmware complexity increases and portability across different NAND devices deteriorates
Solution Approach 1:
The patent introduces an intermediary mechanism: virtual block boundary markers are placed at fixed offsets within physical blocks, serving as a universal interface between the firmware and manufacturer-specific bad block detection schemes. The firmware uses a standardized algorithm to locate these markers, while the actual bad block detection is delegated to the NAND device's internal logic through its existing detection schemes. This intermediary layer enables portability without sacrificing reliability.
Solution Approach 2:
The patent segments the data image into virtual blocks with fixed-size boundaries, separate from the physical block structure of the NAND device. Each virtual block contains data plus padding to reach a fixed boundary, and virtual block boundary markers are placed at these fixed offsets. This segmentation creates a uniform interface that abstracts away manufacturer-specific physical block variations, reducing firmware complexity while maintaining reliable data storage.
2Quantity of substance
If data is stored in fixed physical blocks, then storage capacity is maximized, but adaptability to different block sizes from various manufacturers deteriorates
Solution Approach 1:
The patent introduces a virtual block dimension that overlays the physical block structure. Virtual blocks are defined by fixed-size boundaries and boundary markers in the data stream, creating an abstraction layer independent of physical block sizes. This dimensional transformation allows the firmware to operate with uniform virtual blocks while the underlying physical blocks can vary in size across different manufacturers, achieving both capacity optimization and broad compatibility.
Solution Approach 2:
The virtual block boundary marker system serves multiple functions: it delimits virtual blocks for standardized firmware processing, enables location of data images through fixed offsets, and works across different NAND device configurations. This universal interface allows the same firmware to operate on NAND devices from any manufacturer with different block sizes, achieving versatility without sacrificing storage efficiency.
3Reliability
If bad blocks are skipped using manufacturer algorithms, then data integrity is maintained, but ease of operation deteriorates due to customized handling requirements
Solution Approach 1:
The patent implements self-service by embedding virtual block boundary markers directly in the data image during its creation. These markers are automatically placed at fixed offsets within each virtual block, enabling the firmware to autonomously locate and process data images without requiring manufacturer-specific configuration or customization. The system serves itself by using the standardized marker locations to navigate across different NAND devices, maintaining data integrity while simplifying operation.
Data Source
AI summary
Methods, systems and devices are provided for configuring a read-write memory device with a data image. The method includes determining a data image distribution based on a virtual block size of a series of virtual blocks designated for the read-write memory device. The data image is divided into one or more data image portions, wherein a virtual boundary code is appended to at least one of the data image portions. The data image portions are stored in respective virtual blocks of the series of virtual blocks, skipping over any bad block within the read-write memory device, even between the virtual blocks.


