Flash Memory Region Segmentation for Data Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash memory devices are not random access, making it difficult to efficiently store different types of host data due to limitations in accessing specific addresses, which hinders effective use of storage space.

Innovation Solution

A method is introduced to divide the storage space in a flash module into SLC and non-SLC regions, where data from different partition types is programmed accordingly, allowing for efficient storage and management through a firmware translation layer (FTL) that programs data into specific physical blocks based on their type, utilizing SLC mode for error-free system data and non-SLC modes for larger user data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If NAND flash memory is used for storage, then storage capacity is increased, but random access capability is lost making data retrieval inefficient

Engineering Contradiction:
Improvestorage capacityVSAvoiddata retrieval speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent divides the flash memory into multiple blocks with different access patterns. Frequently accessed data is stored in blocks optimized for quick retrieval, while less frequently accessed data is stored in blocks optimized for capacity. This segmentation allows the system to maintain high storage capacity while providing fast access to critical data without requiring the entire memory to be optimized for speed.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If storage space is divided into different regions, then data organization is improved, but device complexity increases

Engineering Contradiction:
Improvedata organizationVSAvoidmemory structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a unified memory controller that manages multiple memory blocks with different characteristics through a single interface and control logic. This multi-functional approach allows diverse data types to be stored across different regions while maintaining a consistent, simple interface for data access. The controller automatically routes data to appropriate blocks based on access patterns, providing adaptable data organization without exposing complexity to the user.

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

Data Source

PatentUS11860669B2Method and apparatus and computer program product for storing data in flash memory
Publication Date: 2024.01.02 SILICON MOTION INC
  • US11860669B2 patent drawing
  • US11860669B2 patent drawing
  • US11860669B2 patent drawing

AI summary

The invention introduces a method, an apparatus and a non-transitory computer program product for storing data in flash memory. The method is performed by a processing unit when loading and executing program code of a flash translation layer to include: dividing storage space of a flash module into a first region and a second region; programming data belonging to a first partition type received from a host side into first physical blocks of the first region only; and programming data belonging to a second partition type received from the host side into the first physical blocks of the first region and the second physical blocks of the second region. With the region division and the policy for writing data into the regions in terms of data characteristics of different partition types, storage space of the flash module would be used more effective.