Storage Controller Suspending DMA for Read Priority

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage devices face challenges in providing rapid data output responses, leading to delayed data delivery and degraded user satisfaction and service quality, especially when handling large amounts of data.

Innovation Solution

A storage device configuration that includes multiple memory devices and a controller, where the controller temporarily suspends DMA operations to prioritize read requests, allowing for concurrent data processing and storage in page buffers, ensuring rapid data output without waiting for complete DMA operations to finish.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the controller continuously processes DMA operations without interruption, then data transfer efficiency is maintained, but read request response time increases

Engineering Contradiction:
Improveread request response timeVSAvoiddata transfer efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The controller detects read requests in advance during ongoing DMA operations and prepares to suspend the DMA operation at appropriate checkpoints. By anticipating the need to service read requests and planning suspension points beforehand, the system can minimize disruption to data transfer while ensuring timely read response. This preliminary detection and planning allows the system to balance both read responsiveness and data transfer efficiency.

Inventive Principle:
Principle #10Preliminary action

2Speed

If the controller suspends DMA operations to service read requests, then read response time decreases, but overall data processing throughput is reduced

Engineering Contradiction:
Improveread response speedVSAvoidoverall data processing throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The controller dynamically adjusts the suspension decision based on real-time conditions. It monitors DMA operation progress, identifies optimal suspension checkpoints where data transfer can be paused with minimal impact, and selectively suspends only when necessary to service read requests. This dynamic approach allows the system to maintain high throughput during normal operation while quickly responding to read requests when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The controller periodically checks for read requests during DMA operations and suspends at predetermined checkpoints rather than continuously. This periodic monitoring and selective suspension at appropriate intervals allows the system to maintain steady data transfer flow while periodically servicing read requests, thereby balancing throughput and response time.

Inventive Principle:
Principle #19Periodic action

3Device complexity

If multiple memory devices share the same channel, then device complexity is reduced, but communication availability decreases

Engineering Contradiction:
Improvechannel configuration complexityVSAvoidcommunication availability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The controller segments the communication channel into distinct time slots or operation phases, allowing different memory devices to share the channel without conflict. By dividing the channel usage into separate segments for different devices or operation types, the system maintains simple hardware configuration while ensuring that read operations and DMA operations can be serviced without interference, thus preserving communication availability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11360711B2Storage device temporarily suspending internal operation to provide short read response time for read request from host
Publication Date: 2022.06.14 SAMSUNG ELECTRONICS CO LTD
  • US11360711B2 patent drawing
  • US11360711B2 patent drawing
  • US11360711B2 patent drawing

AI summary

A storage device includes a first memory device, a second memory device, and a controller. The first memory device and the second memory device share the same channel to communicate with the controller. Communication between the first memory device and the controller and communication between the second memory device and the controller are mutually exclusive. When the controller receives a read request directed to the second memory device while the controller processes a direct memory access (DMA) operation directed to the first memory device, the controller suspends the DMA operation and transmits a read command associated with the read request to the second memory device.