Arbiter for Shared Memory Processor Data Flow Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage devices like tape drives, shared memory configurations face challenges in efficiently managing access requests from both processors and data flow blocks, leading to performance degradation due to long process wait times and potential halts in host and servo processes, as conventional methods struggle to allocate sufficient bandwidth and prioritize access requests effectively.

Innovation Solution

A programmable arbiter is implemented to arbitrate access requests to shared memory, dividing data transfers into predetermined lengths, setting priorities for each transfer block, and limiting processor access to minimize interference with data flow transfers, ensuring required bandwidths are met while reducing processor access latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by stationary object

If a shared memory configuration is used between processor and data flow blocks, then the number of DRAM memories is reduced contributing to power consumption and cost reduction, but processor access latency increases due to competition for memory bandwidth

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessor access latency
Core Design Contradiction:
Use of energy by stationary objectVSLoss of time

Solution Approach 1:

The arbiter dynamically switches between round-robin arbitration and processor-priority arbitration modes based on system state. When processor access is critical, the arbiter grants processor access requests preferentially, interrupting data flow transfers temporarily. This dynamic adaptation resolves the contradiction by allowing the shared memory to serve both purposes while minimizing processor wait time.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the arbitration parameter (arbitration mode) based on processor needs. The arbiter can switch between equal-bandwidth allocation for data flows and processor-preferred allocation, effectively changing how memory bandwidth is distributed. This parameter change allows the same shared memory to satisfy both power reduction requirements and processor performance requirements.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If processor access requests are given high priority in shared memory, then processor performance is improved, but data flow transfer rates may be degraded due to insufficient bandwidth allocation

Engineering Contradiction:
Improveprocessor performanceVSAvoiddata flow transfer rate
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The arbiter implements periodic round-robin arbitration for data flow blocks, ensuring that each block receives scheduled access to the shared memory. Between these periodic data flow allocations, the arbiter can insert processor access requests. This periodic structure guarantees minimum bandwidth for data flows while allowing processor access during allocated time slots, resolving the contradiction between processor performance and data flow transfer rates.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The arbitration scheme dynamically adjusts between processor-priority mode and round-robin data flow mode. When processor access is requested, the arbiter temporarily prioritizes the processor over data flows. When no processor access is needed, the arbiter switches to round-robin mode to ensure data flow blocks receive their required bandwidth. This dynamic switching resolves the contradiction by allowing both high processor performance and adequate data flow transfer rates at different times.

Inventive Principle:
Principle #15Dynamics

3Reliability

If round-robin arbitration is used for data flow blocks, then bandwidth allocation is fair among blocks, but processor access requests experience long wait times

Engineering Contradiction:
Improvebandwidth allocation fairnessVSAvoidprocessor process wait time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The arbiter dynamically switches between round-robin arbitration and processor-priority arbitration modes based on system state. When processor access is critical, the arbiter grants processor access requests preferentially, interrupting data flow transfers temporarily. This dynamic adaptation resolves the contradiction by allowing the shared memory to serve both purposes while minimizing processor wait time.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention extracts processor access requests from the standard round-robin data flow arbitration sequence. When a processor access request arrives, the arbiter removes it from the normal data flow rotation and handles it with higher priority, temporarily suspending the round-robin sequence for data flows. This extraction allows processor requests to be serviced without being constrained by the fair but slow round-robin mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8412891B2Arbitrated access to memory shared by a processor and a data flow
Publication Date: 2013.04.02 LENOVO INT LTD
  • US8412891B2 patent drawing
  • US8412891B2 patent drawing
  • US8412891B2 patent drawing

AI summary

Memory access arbitration allowing a shared memory to be used both as a memory for a processor and as a buffer for data flows, including an arbiter unit that makes assignment for access requests to the memory sequentially and transfers blocks of data in one round-robin cycle according to bandwidths required for the data transfers, sets priorities for the transfer blocks so that the bandwidths required for the data transfers are met by alternate transfer of the transfer blocks, and executes an access from the processor with an upper limit set for the number of access times from the processor to the memory in one round-robin cycle so that the access from the processor with the highest priority and with a predetermined transfer length exerts less effect on bandwidths for data flow transfers in predetermined intervals between the transfer blocks.