Memory Controller Pattern Detection for Flash Endurance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory systems face inefficiencies in data update and erase operations due to the need to erase entire blocks, leading to increased wear and tear, as data can only be written to erased memory locations, and partial erase operations are cumbersome in flash memory systems where erase blocks are typically composed of multiple sectors.

Innovation Solution

A memory controller detects data patterns in incoming data, marks logical block address ranges as patterned without writing them, and utilizes these marked ranges for other memory purposes, allowing for the consolidation of erase commands to erase entire logical groups, thereby reducing physical erase operations and extending memory endurance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is written to erased memory locations by erasing entire blocks, then data can be written to memory, but the erase operation takes much longer than read and program operations and increases wear on memory cells

Engineering Contradiction:
Improvedata write speedVSAvoiderase operation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary detection of patterned data before committing to a full erase operation. By identifying flat or systematic patterns in advance, the system can mark logical block address ranges as patterned and defer or eliminate the actual physical erase, thus avoiding the time-consuming erase operation while still preparing memory for future writes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of physically erasing and rewriting data in every case, the system creates a logical representation of patterned data by marking address ranges in a data structure. This logical copy or reference allows the system to track which areas contain patterned data without performing the actual erase-write cycle, significantly reducing operation time.

Inventive Principle:
Principle #26Copying

2Productivity

If entire erase blocks are erased and rewritten for data updates, then data can be updated in memory, but the frequency of erase recycling increases which is undesirable due to limited memory endurance

Engineering Contradiction:
Improvedata update capabilityVSAvoidmemory endurance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary detection of patterned data before committing to a full erase operation. By identifying flat or systematic patterns in advance, the system can mark logical block address ranges as patterned and defer or eliminate the actual physical erase, thus avoiding the time-consuming erase operation while still preparing memory for future writes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system discards the conventional approach of always erasing entire blocks before updates. Instead, it recovers memory endurance by selectively identifying patterned data and using logical markings rather than physical erasure, thereby reducing the number of erase cycles and extending the usable life of the memory device.

Inventive Principle:
Principle #34Discarding and recovering

3Area of stationary object

If logical block address ranges with patterned data are marked without writing, then physical memory space is freed up, but additional data structure management is required

Engineering Contradiction:
Improvephysical memory space availabilityVSAvoiddata structure management
Core Design Contradiction:
Area of stationary objectVSDevice complexity

Solution Approach 1:

The data structure serves multiple functions: it tracks logical block address ranges, identifies patterned data, and enables both read and write operations without requiring separate management systems. This multi-functionality reduces the overall complexity despite the added tracking capability, as the same structure supports multiple operations.

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

Solution Approach 2:

The data structure acts as an intermediary layer between the host and the physical memory. It mediates by translating host requests into appropriate physical operations, using the logical block address range markings to determine whether patterned data compression applies, thus simplifying the interface while enabling advanced memory management.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If flash memory erases blocks in minimum erasable units consisting of multiple sectors, then erase operations can be performed, but erasing a single sector requires erasing the entire block which is inefficient

Engineering Contradiction:
Improvesector-level erase capabilityVSAvoiderase operation efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system segments the erase block into logical block address ranges that can be independently tracked and managed. By dividing the physical erase block into addressable logical ranges and marking them individually in the data structure, the system enables selective identification of patterned data portions without requiring erasure of the entire physical block, thus improving efficiency while maintaining sector-level control capability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9134918B2Physical compression of data with flat or systematic pattern
Publication Date: 2015.09.15 SANDISK TECHNOLOGIES LLC
  • US9134918B2 patent drawing
  • US9134918B2 patent drawing
  • US9134918B2 patent drawing

AI summary

Systems and methods are disclosed to improve the performance of a memory system by freeing up physical memory areas that correspond to logical block address ranges that have repeated data patterns. A controller detects data patterns in incoming data. When a data pattern is detected, the data is not written to non-volatile storage area. Rather, the logical block address range of the data is marked in a data structure as having pattern data. The pattern may also be recorded in the data structure as a pattern descriptor. Because the data having the data pattern is not written to the non-volatile storage area, the freed up corresponding physical memory area may be utilized by the memory system for other purposes, thereby improving the overall performance and endurance of the memory system.