Flash Controller Page Segmentation for MLC Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-level memory cell (MLC) flash memory, data corruption occurs when power is lost during writing, affecting not only the targeted page but also other pages sharing the same memory cells, leading to data loss.

Innovation Solution

A flash controller is configured to selectively write data to only one page from each group of pages in memory blocks, allowing for memory consolidation without external memory, and erasing data from the consolidated pages to free up space for further writing, thereby preventing data loss during power failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is written to multiple pages sharing the same memory cells simultaneously, then writing efficiency is improved, but data reliability deteriorates due to power loss corruption affecting all pages in the group

Engineering Contradiction:
Improvewriting efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the writing process into two distinct phases: a first write operation to a first page in each memory block, and a second write operation to a second page in each memory block. This segmentation ensures that if power is lost during the first write, only that specific page is affected, not all pages sharing the same memory cells. The controller completes the first write to all blocks before initiating the second write, creating isolated failure zones that protect overall data integrity.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If memory consolidation is performed without external memory, then device complexity is reduced, but data loss risk increases during power failures

Engineering Contradiction:
Improvememory architectureVSAvoiddata protection
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies preliminary action by completing the first write operation to the first page of all memory blocks before initiating the second write operation to the second page. This sequential approach ensures that critical data is securely written to the first page across all blocks before any subsequent operations begin, creating a checkpoint that protects against data loss even without external memory for consolidation.

Inventive Principle:
Principle #10Preliminary action

3Speed

If all pages in a memory block are written simultaneously, then writing speed is improved, but the impact of power loss spreads to all pages sharing memory cells

Engineering Contradiction:
Improvewriting speedVSAvoidcorruption spread
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The writing process is segmented into two sequential operations: first writing to the first page of each memory block, then writing to the second page of each memory block. This segmentation limits the propagation of corruption - if power is lost during the first write operation, only the first pages are affected, while second pages remain intact and vice versa. This dramatically reduces the harmful impact compared to simultaneous writing to all pages.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8549214B2Protection against data corruption for multi-level memory cell (MLC) flash memory
Publication Date: 2013.10.01 MARVELL ASIA PTE LTD
  • US8549214B2 patent drawing
  • US8549214B2 patent drawing
  • US8549214B2 patent drawing

AI summary

Apparatus having corresponding methods and non-transitory computer-readable media comprise a flash controller configured to control a multi-level memory cell (MLC) flash memory, wherein the MLC flash memory includes a plurality of memory blocks, wherein each memory block includes a plurality of memory cells defining a plurality of pages, wherein each memory cell spans a group of the pages in one of the memory blocks, and wherein the flash controller comprises circuitry configured to receive data to be written to the MLC flash memory, select only one page, from each group of the pages, in one or to more of the memory blocks, and write the data only to the selected pages.