Flash Memory Buffer Segmentation for Random Read Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash memory devices are not random access, requiring serial access to read or write data, which limits data read efficiency as they operate on complete pages or blocks rather than individual bytes or words, necessitating methods to improve data read efficiency from storage units.

Innovation Solution

A method and apparatus utilizing multiple buffers, including an extra-read buffer and a random buffer, to cache and manage data read requests from a processing unit, determining whether requested data is cached and directing access interfaces to read and store data efficiently, thereby optimizing data transfer and minimizing overwrites.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If NAND flash memory uses serial access to read data, then data read efficiency is limited, but random access capability is improved

Engineering Contradiction:
Improverandom access capabilityVSAvoiddata read efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the buffer memory into multiple independent buffers (first buffer, second buffer, third buffer) with different functions. The first buffer caches continuous data, the second buffer handles random read requests, and the third buffer manages write operations. This segmentation allows simultaneous handling of both continuous and random access patterns without interference, resolving the contradiction between serial access efficiency and random access capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-reading continuous data into the first buffer before actual read requests arrive. When read commands are received, the system checks whether the requested data is already cached in the first buffer, eliminating the need for repeated reads from the storage unit. This pre-caching mechanism improves data read efficiency while maintaining random access flexibility.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is read from storage unit for every request, then data read efficiency improves, but bandwidth utilization decreases

Engineering Contradiction:
Improvedata read efficiencyVSAvoidbandwidth utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary reading of continuous data into the first buffer, anticipating future read requests. This pre-caching reduces the frequency of reads from the storage unit, improving data read efficiency while reducing bandwidth consumption since the storage unit is accessed less frequently.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces buffer memory as an intermediary between the storage unit and the host. The buffers absorb read requests and serve data from cached copies, reducing the load on the storage unit and optimizing bandwidth utilization. The intermediary buffers decouple the storage unit from direct access requests, allowing more efficient data transfer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If single buffer is used for caching, then device complexity is reduced, but data loss increases

Engineering Contradiction:
Improvebuffer structureVSAvoiddata loss
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent divides the buffer memory into multiple specialized buffers (first, second, and third buffers) with distinct functions. This segmentation prevents data loss by ensuring that continuous data and random data are cached separately, eliminating overwrite conflicts that would occur in a single shared buffer. Each buffer type protects specific data patterns from being overwritten.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the buffer memory are assigned different qualities and functions: the first buffer is optimized for continuous data caching, the second buffer for random read data, and the third buffer for write operations. This local differentiation ensures that each buffer type has the appropriate characteristics for its specific purpose, preventing data loss while maintaining manageable complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9990280B2Methods for reading data from a storage unit of a flash memory and apparatuses using the same
Publication Date: 2018.06.05 SILICON MOTION INC
  • US9990280B2 patent drawing
  • US9990280B2 patent drawing
  • US9990280B2 patent drawing

AI summary

A method for reading data from a storage unit of a flash memory, performed by a processing unit, including at least the following steps: A first read command is received from a master device via a first access interface. It is determined whether data requested by the first read command has been cached in a first buffer, which caches continuous data obtained from a storage unit. A second access interface is directed to read the data requested by the first read command from the storage unit and store the read data in a second buffer and the first access interface is directed to read the data requested by the first read command from the second buffer and clock the read data out to the master device when data requested by the first read command has not been cached in the first buffer.