Flash Memory Controller Read Throughput Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current ONFI specifications do not fully optimize managed NAND solutions for flash memory, leading to suboptimal throughput in read operations.

Innovation Solution

A controller is used to optimize read operations in flash memory by prioritizing the earliest received read request, monitoring busy states across multiple dies, pausing and resuming read operations, and utilizing multiple buffers to enhance sequential efficiency and time savings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional ONFI specifications are used for managing NAND flash memory, then interoperability between different vendors is achieved, but read operation throughput is suboptimal

Engineering Contradiction:
Improveread operation throughputVSAvoidcontroller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller dynamically monitors the busy state of each die and adjusts read operation scheduling in real-time. When a die becomes available, the controller checks if a higher priority read request is ready to begin, and if so, switches to that die. This dynamic adaptation allows the system to optimize throughput without requiring complex static scheduling mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The controller performs preliminary actions by monitoring die busy states and preparing read requests in advance. Lower priority read requests are performed in advance when higher priority requests are not yet ready, and the controller is prepared to switch between dies when conditions change. This preliminary preparation maximizes sequential efficiency and reduces waiting time.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If read operations are performed sequentially on single die, then simplicity of operation is maintained, but time efficiency and throughput are reduced

Engineering Contradiction:
Improveread operation timeVSAvoidoperation simplicity
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The controller ensures continuous useful action by monitoring die busy states and switching between dies to maintain uninterrupted read operations. When one die becomes available, the controller immediately checks if a higher priority read request is ready and switches to that die, ensuring that the read operation continues without idle time. This continuity maximizes throughput while maintaining operational simplicity through automated controller management.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The controller periodically checks the busy state of each die and the readiness of read requests, implementing a periodic monitoring and switching mechanism. This periodic action allows the system to efficiently utilize multiple dies while maintaining simple operation through automated periodic state checking and decision-making.

Inventive Principle:
Principle #19Periodic action

3Productivity

If multiple dies are utilized for parallel read operations, then throughput is improved, but coordination complexity and switching overhead increase

Engineering Contradiction:
Improveread throughputVSAvoiddie coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each die effectively serves itself by independently handling read requests assigned to it, while the controller provides minimal coordination through busy state monitoring and request switching. The die autonomously processes its assigned read operations without requiring complex inter-die communication or coordination protocols, reducing overall system complexity while maintaining high throughput.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The controller segments read requests and assigns them to specific dies based on availability and priority. By dividing the read operation workload across multiple dies with clear segmentation of responsibilities, the system achieves parallel throughput improvement while maintaining simple coordination through the controller's centralized request management and die assignment logic.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8495332B2Controller for optimizing throughput of read operations
Publication Date: 2013.07.23 APPLE INC
  • US8495332B2 patent drawing
  • US8495332B2 patent drawing
  • US8495332B2 patent drawing

AI summary

A controller, techniques, systems, and devices for optimizing throughput of read operations in flash memory are disclosed. Various optimizations of throughput for read operations can be performed using a controller. In some implementations, read operations for a multi-die flash memory device or system can be optimized to perform a read request with a highest priority (e.g., an earliest received read request) as soon as the read request is ready. In some implementations, the controller can enable optimized reading from multiple flash memory dies by monitoring a read/busy state for each die and switching between dies when a higher priority read operation is ready to begin.