Ping-Pong Buffer Controller Optimizes Memory Read Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing memory controller systems experience delays in data read operations due to the time required to switch between pages, leading to performance degradation as the host must wait longer for data access from the ping-pong buffer.

Innovation Solution

A method is implemented where the controller calculates the total sector number based on the first sector read time, second sector read time, and page switch time, then switches the buffers of the ping-pong buffer accordingly to optimize data storage and retrieval, reducing waiting time for the host.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the memory frequently switches target read page to read multiple pages, then the address range read by the host is completed, but the read operation delay increases and system performance degrades

Engineering Contradiction:
Improveability to read multiple pagesVSAvoidread operation delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The ping-pong buffer pre-loads data from the currently read page while the host is still accessing data from the previous page. This preliminary action ensures that when the memory switches to the next page, the buffer already contains data ready for immediate host access, eliminating the delay that would otherwise occur during page switching.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The ping-pong buffer acts as an intermediary between the memory and the host. It decouples the host's data access operations from the memory's page switching operations, allowing the memory to switch pages independently without forcing the host to wait, thus resolving the time loss caused by frequent page switches.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the memory switches target read page requiring time period T1, then the next page can be read, but the ping-pong buffer and host must wait longer causing performance degradation

Engineering Contradiction:
Improvedata read throughputVSAvoidwaiting time for buffer and host
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The ping-pong buffer maintains continuous useful action by having two buffers that alternate between loading and serving data. While the host reads from one buffer, the other buffer continuously loads data from the memory in the background, ensuring that the data pipeline remains full and productive without interruption or waiting periods during page switches.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

Data is pre-loaded into the ping-pong buffer before the host needs to access it. This preliminary loading action during page transitions ensures that when the memory completes a page switch, the buffer already has the next page's data ready, eliminating the waiting time that would otherwise be required for both the buffer and host.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If the host waits longer for data access from the ping-pong buffer, then the memory can complete page switches, but system performance is degraded

Engineering Contradiction:
Improvedata access operationVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The ping-pong buffer serves as an intermediary that absorbs the timing mismatch between memory page switching operations and host data access operations. It maintains data availability for the host without requiring the host to wait for memory operations, thus preserving ease of operation while maintaining high system productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8412893B2Data storage device and method for handling data read out from memory using a ping-pong buffer
Publication Date: 2013.04.02 SILICON MOTION INC
  • US8412893B2 patent drawing
  • US8412893B2 patent drawing
  • US8412893B2 patent drawing

AI summary

The invention provides a method for handling data read out from a memory. In one embodiment, a controller corresponding to the memory comprises a ping-pong buffer. First, a first sector read time period required by the memory to read and output a data sector to the ping-pong buffer is calculated. A second sector read time period required by a host to read a data sector from the ping-pong buffer is calculated. A page switch time period required by the memory to switch a target read page is obtained. A total sector number is determined according to the first sector read time period, the second sector read time period, and the page switch time period. When the memory outputs data to the ping-pong buffer, a first buffer and a second buffer of the ping-pong buffer are switched to receive the data output by the memory according to the total sector number.