Digital Camera Memory Bandwidth Allocation via Token Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional digital cameras face memory access bandwidth limitations and latency issues due to multiple entities competing for access to a single memory port, leading to potential data loss and decreased throughput.

Innovation Solution

A memory access management system that allocates bandwidth using 'tokens per snapshot' values and service time out values to prioritize and schedule DMA requests, minimizing memory access overhead and latency by selecting DMA request entries based on available tokens and time out values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple entities simultaneously access the memory through a single access port, then memory access bandwidth is exhausted, but this causes increased latency and potential data loss for some entities

Engineering Contradiction:
Improvememory access throughputVSAvoidmemory access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments memory access rights by assigning each entity a specific number of tokens per snapshot, which divides the total bandwidth into discrete allocatable units. This segmentation allows the arbiter to grant access in controlled portions rather than allowing unlimited simultaneous access, thereby reducing latency while maintaining throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-calculating and assigning token counts to each entity before memory access is needed. The arbiter uses these pre-assigned token values to determine access priority and allocation in advance, eliminating the need for real-time complex arbitration and reducing access latency.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If the arbiter grants memory access to all entities simultaneously, then device complexity is reduced, but memory access bandwidth becomes a bottleneck causing data loss

Engineering Contradiction:
Improvearbitration control complexityVSAvoiddata integrity
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent changes the parameter of access control from binary (grant/denied) to quantitative (number of tokens per snapshot). By using token counts as a parameter, the system can precisely control bandwidth allocation without complex arbitration logic, maintaining simplicity while ensuring data integrity through controlled access.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If strict priority arbitration is used to prevent data loss, then data integrity is improved, but entities with lower priority experience excessive latency and may fail to operate

Engineering Contradiction:
Improvedata integrityVSAvoidaccess latency for lower priority entities
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces dynamics by allowing the token allocation to be adjusted based on snapshot timing and available bandwidth. Rather than fixed strict priority, the system dynamically allocates tokens per snapshot, enabling lower priority entities to access memory when tokens are available without compromising data integrity of critical entities.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7392330B2Memory access bandwidth allocation and latency control in a digital camera
Publication Date: 2008.06.24 MEDIATEK SINGAPORE PTE LTD
  • US7392330B2 patent drawing
  • US7392330B2 patent drawing
  • US7392330B2 patent drawing

AI summary

Memory access bandwidth within a digital camera is allocated among several requestors by assigning each requester a “tokens per snapshot” (TPS) value. Each requestor has a DMA engine and a DMA entry queue. If the requester wishes to access the memory, then a DMA entry is pushed onto the DMA entry queue of the requester. An arbiter uses the TPS values to select DMA entries off the various queues for incorporation into a “snapshot”. The arbiter then selects DMA entries from the snapshot in an order for servicing such that memory access overhead in accessing the memory is reduced. Only after all DMA entries of the snapshot have been serviced is another snapshot of entries selected. Maximum latency in servicing a queue is controlled by assigning each queue a time out value (TOV). If a queue times out, then that queue is moved up in the order of servicing.