NAND Flash Controller Priority Decoding Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-level cell (MLC) NAND Flash memory experiences a higher raw bit error rate than single-level cell (SLC) NAND Flash memory, requiring more advanced error correction schemes that increase data access latency, necessitating a method to differentiate memory access operations based on priority to optimize performance.

Innovation Solution

Implementing a NAND Flash memory controller with separate task queues for decoding tasks of different priorities, utilizing multiple decoders with varying error-correcting code schemes, and input switching circuitry to direct data to appropriate decoders based on priority, allowing for prioritization of decoding tasks and efficient data handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If advanced error correction schemes are used in MLC NAND Flash memory, then reliability is improved, but data access latency increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddata access latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments decoding tasks into multiple priority levels (first priority, second priority, etc.) and processes them through separate queues. High-priority tasks that are latency-sensitive use simpler decoding schemes, while lower-priority tasks use more comprehensive error correction, thus resolving the contradiction between reliability and latency by differentiating treatment based on task urgency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different decoding schemes are applied to different tasks based on their specific requirements. The system applies simple decoding to high-priority tasks requiring low latency, and advanced error correction to lower-priority tasks where reliability is more critical, achieving local optimization of the reliability-latency tradeoff

Inventive Principle:
Principle #3Local quality

2Reliability

If advanced error correction schemes are used, then reliability is improved, but decoding complexity increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddecoding scheme complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the decoding workload into multiple priority-based queues, allowing the system to use simple decoding logic for high-priority tasks and reserve complex error correction resources for lower-priority tasks. This segmentation reduces the average decoding complexity experienced by the system while maintaining high reliability where needed

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes the decoding parameter (complexity level) based on task priority. High-priority tasks are decoded with simpler parameters (faster, lower complexity), while lower-priority tasks use more complex parameters (slower, higher complexity but more reliable), optimizing the balance between reliability and complexity

Inventive Principle:
Principle #35Parameter changes

3Productivity

If simpler decoding schemes are used for most operations, then throughput is improved, but latency for critical operations increases

Engineering Contradiction:
Improveoverall throughputVSAvoidlatency for critical operations
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements separate priority queues that segment the task stream, allowing the majority of operations to be processed through simple decoding paths (maintaining high throughput) while providing a dedicated fast path for critical high-priority operations (maintaining low latency when needed), thus resolving the throughput-latency tradeoff

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary classification of tasks into priority levels before decoding. High-priority tasks are identified and routed to appropriate decoding paths in advance, ensuring they receive timely processing without blocking the overall throughput of lower-priority operations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10089175B2Queuing of decoding tasks according to priority in NAND flash controller
Publication Date: 2018.10.02 MARVELL ASIA PTE LTD
  • US10089175B2 patent drawing
  • US10089175B2 patent drawing
  • US10089175B2 patent drawing

AI summary

Apparatus, for performing decoding tasks in a NAND Flash memory controller, includes a first task queue for queuing decoding tasks of a first priority, a second task queue for queuing decoding tasks of a second priority higher than the first priority, and control circuitry that, on receipt of portions of data for a plurality of decoding tasks, releases, from the first and second task queues, respective decoding tasks to operate on respective portions of data, according to priorities of the decoding tasks. First and second decoders operate under first and second decoding schemes that differ in speed or complexity. Input switching circuitry controllably connects each data channel to the first or second decoder. Decoder-done control circuitry selects output of the first or second decoder upon receipt of a decoder-done signal from the first or second decoder. Completed decoding tasks are queued in first and second task-done queues according to priority.