Flash Memory Controller Scheduling for Multi-Interface Parallel Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The proliferation of different flash memory device interfaces and protocols poses a challenge for designers of flash controllers, who typically choose one interface and protocol and design the controller accordingly, limiting the ability to support scheduling of parallel operations across multiple channels or flash devices.

Innovation Solution

A scheduling system for a memory controller that includes a scheduler configurable to receive operation requests from multiple masters, form sequences of phases, arbitrate requests using configurable policies, and communicate with flash memory devices having differing interfaces through a scoreboard mechanism, enabling flash memory device-independent commands across multiple channels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a flash controller is designed to support one specific flash memory device interface and protocol, then the device complexity is reduced and ease of manufacture is improved, but the adaptability to support multiple different flash memory interfaces and protocols deteriorates

Engineering Contradiction:
Improveease of manufactureVSAvoidadaptability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The flash controller is designed with a universal interface that can support multiple flash memory device interfaces and protocols (asynchronous SDR, synchronous DDR, Toggle Mode, ONFI, etc.). The controller includes a scheduler and sequencer that can dynamically adapt to different protocols, allowing a single device to perform multiple functions and communicate with various flash memory devices without requiring separate dedicated controllers for each protocol type.

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

Solution Approach 2:

The flash controller is divided into functional modules including a scheduler that receives operation requests from multiple masters, forms sequences of phases, and arbitrates requests using configurable policies. The sequencer is separated as an independent module that receives phases and communicates with flash memory devices through multiple channels. This segmentation allows each module to be optimized independently while maintaining overall versatility.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a flash controller supports multiple channels and flash devices, then the productivity and parallel operation capability are improved, but the device complexity increases and scheduling difficulty worsens

Engineering Contradiction:
ImproveproductivityVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduler performs preliminary actions by receiving operation requests from multiple masters, forming sequences of phases from these requests, and arbitrating them using configurable policies before passing them to the sequencer. The scoreboard mechanism tracks the lifetime of operation requests in advance, maintaining state information that enables efficient parallel operation scheduling without increasing real-time decision complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduler acts as an intermediary between multiple masters and the sequencer, while the sequencer serves as an intermediary between the scheduler and multiple flash memory devices. This layered intermediary structure simplifies the overall system by breaking down complex scheduling decisions into manageable stages, where each intermediary handles specific aspects of the communication and coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If a scheduler arbitrates operation requests from multiple masters through multiple channels, then the parallel operation efficiency is improved, but the difficulty of detecting and measuring system state increases

Engineering Contradiction:
Improveparallel operation efficiencyVSAvoiddifficulty of detecting and measuring
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The scoreboard mechanism provides feedback by tracking the lifetime of operation requests and maintaining state information about ongoing operations across multiple channels. This feedback enables the scheduler to make informed arbitration decisions and monitor system state without requiring complex external detection mechanisms, as the scoreboard internally maintains visibility into the status of all parallel operations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11449232B1Optimal scheduling of flash operations
Publication Date: 2022.09.20 PURE STORAGE INC
  • US11449232B1 patent drawing
  • US11449232B1 patent drawing
  • US11449232B1 patent drawing

AI summary

A scheduling system for a memory controller is provided. The system includes a scheduler configurable to receive a plurality of operation requests from a plurality of masters. The scheduler is configurable to form a sequence of one or more phases from each of the operation requests. The scheduler is configurable to arbitrate the plurality of operation requests and the one or more phases through one or more configurable policies. The system includes a sequencer configurable to receive the one or more phases and communicate with at least two flash memory devices having differing types of flash memory device interfaces through a plurality of channels.