Flash Memory Write Filtering for MLC Endurance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The lifespan of multi-level cell (MLC) flash memory is significantly shorter than single-level cell (SLC) flash memory due to inferior write endurance, affecting the reliability of storage devices like solid-state drives (SSDs).

Innovation Solution

A storage device with a flash memory and a cache memory system that filters data by comparing error detection information and actual data, reducing unnecessary write operations to the flash memory, thereby enhancing write endurance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is written to flash memory for every host write command, then data storage reliability is maintained, but flash memory write endurance deteriorates

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidflash memory write endurance
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent applies preliminary action by checking whether data already exists in flash memory before executing write operations. The controller performs a read operation first to verify if the target data is already present, and only writes if the data differs. This preliminary check prevents unnecessary write operations, extending flash memory endurance while maintaining data reliability.

Inventive Principle:
Principle #10Preliminary action

2Duration of action of stationary object

If data filtering and comparison operations are performed before writing, then flash memory write endurance is improved, but processing time increases

Engineering Contradiction:
Improveflash memory write enduranceVSAvoiddata processing time
Core Design Contradiction:
Duration of action of stationary objectVSLoss of time

Solution Approach 1:

The patent extracts the error detection and data comparison operations from the main write path, performing them as preliminary filtering steps. By taking out these verification operations and executing them before the actual write, the system identifies and eliminates unnecessary write operations, reducing overall processing time despite the added comparison step.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If error detection information is verified before each write operation, then data integrity is improved, but operational complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidwrite operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies self-service by implementing error detection information verification that leverages existing data in flash memory. The system uses stored error detection information to automatically verify data integrity during write operations, making the verification process self-contained and reducing the need for external intervention or complex verification protocols.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9037776B2Storage device with flash memory and data storage method
Publication Date: 2015.05.19 SAMSUNG ELECTRONICS CO LTD
  • US9037776B2 patent drawing
  • US9037776B2 patent drawing
  • US9037776B2 patent drawing

AI summary

A method of storing write data in flash memory incorporated in a storage device, the method includes; receiving write data and a logical block address (LBA) for the flash memory, determining whether the LBA exists in the cache memory, if the LBA exists in the cache memory, comparing the write data with cache data stored in the cache memory at a location associated with the LBA, and if the write data and the cache data are the same, terminating operation of the storage device without programming the write data to the flash memory, else updating an error detection information lookup table entry associated with the LBA and programming the write data to the flash memory, and if the LBA does not exist in the cache memory, updating the error detection information lookup table entry associated with the LBA and programming the write data to the flash memory.