Flash Controller Scheduling for Multi-Interface Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The proliferation of different flash memory device interfaces and protocols poses challenges for designers of flash controllers, who must choose a specific interface and protocol, and managing latency differences among various memory types leads to contention in storage systems.

Innovation Solution

A flash controller is designed to be configurable with multiple channels and a scheduling system that prioritizes operations, allowing it to support different flash memory device interfaces and protocols, and optimizes data placement based on access speed to minimize latency and ensure efficient wear leveling across different types of flash memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a flash controller is designed to support multiple flash memory device interfaces and protocols, then the adaptability of the controller is improved, but the device complexity increases

Engineering Contradiction:
Improvesupport for multiple interfaces and protocolsVSAvoidcontroller design complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The flash controller is designed with multi-functional capability to support multiple flash memory interfaces (SD, SPI, NAND, NOR) and protocols (SDR, DDR, Toggle Mode, ONFI) within a single device. The controller includes configurable channels that can be dynamically assigned to different interface types, allowing one controller to perform multiple functions that would traditionally require separate dedicated controllers for each interface type.

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

Solution Approach 2:

The controller employs dynamic channel configuration where channels can be programmatically assigned to different interface types based on operational requirements. The scheduling system dynamically prioritizes operations across channels with varying latencies, and the controller can adapt its behavior in real-time to handle different protocol requirements, making the system flexible and adaptable rather than static and rigid.

Inventive Principle:
Principle #15Dynamics

2Productivity

If parallel operations are scheduled across multiple channels/flash devices, then the productivity is improved, but the device complexity increases

Engineering Contradiction:
Improveparallel operation capabilityVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The flash controller divides its operational capacity into multiple independent channels, each capable of handling flash memory operations separately. This segmentation allows parallel operations to be scheduled across different channels simultaneously, with each channel able to interface with different flash devices or memory types, thereby increasing overall productivity through concurrent task execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The scheduling system incorporates feedback mechanisms that monitor the latency characteristics and operational status of each channel and flash device. Based on this feedback, the scheduler dynamically adjusts operation priorities and allocation to optimize parallel performance, ensuring that faster channels are utilized more intensively while slower channels receive appropriately timed operations, thus managing complexity through intelligent adaptation.

Inventive Principle:
Principle #23Feedback

3Speed

If data is placed in faster access locations to improve read speed, then the speed is improved, but the wear leveling effectiveness deteriorates

Engineering Contradiction:
Improveread access speedVSAvoidwear leveling effectiveness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements data placement strategies that assign different data types and access patterns to different storage locations with varying speed characteristics. Frequently accessed data is placed in faster memory locations, while less frequently accessed data is placed in slower but more durable locations. This local optimization of data placement maintains high read speeds for critical data while distributing wear more evenly across the storage medium.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The controller dynamically adjusts data placement decisions based on changing operational parameters such as access frequency, data priority, and wear indicators. The system can change placement parameters in real-time, moving data between faster and slower locations based on current system state and wear leveling requirements, thus adapting to maintain both speed and reliability under varying conditions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20210182190A1Intelligent die aware storage device scheduler
Publication Date: 2021.06.17 PURE STORAGE INC
  • US20210182190A1 patent drawing
  • US20210182190A1 patent drawing
  • US20210182190A1 patent drawing

AI summary

A scheduling system for a memory controller is provided. The system includes operation queues and a scheduler. The scheduler receives operation requests, prioritizes each operation request according to one or more policies, and inserts each operation request into an operation queue.