Data Engine Subsystem for Shared Resource Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing apparatuses face challenges with the high cost of Digital Signal Processors (DSPs) and the need for significant software rewrites when using data engines with shared resources, leading to increased global system activity and power consumption.

Innovation Solution

A data processing apparatus with a data engine core and a subsystem that manages communication between the data engine core and allocated shared resources, where the resource manager unit acts as a master device, reducing the need for software rewrites and minimizing global system activity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a DSP with dedicated resources is provided, then processing performance is improved, but device cost increases

Engineering Contradiction:
Improveprocessing performanceVSAvoiddevice cost
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The data engine is designed to perform multiple data processing tasks across different applications, replacing the need for dedicated DSPs in each case. The engine can be configured to handle various processing requirements through software, making a single unit serve multiple functions that would otherwise require separate specialized processors.

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

Solution Approach 2:

A subsystem layer is introduced as an intermediary between the main processing unit and the data engine. This subsystem manages resource allocation, task scheduling, and communication, allowing the data engine to access shared resources efficiently without requiring dedicated resources, thus reducing cost while maintaining performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If a data engine with no local resources is provided, then device cost decreases, but main processing unit overhead increases

Engineering Contradiction:
Improvedevice costVSAvoidmain processing unit overhead
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The subsystem layer acts as a mediator that offloads resource management and task coordination from the main processing unit. It handles the complexity of allocating shared resources to the data engine and managing communication, thereby reducing the overhead on the main processing unit while enabling the data engine to function effectively without local resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The data engine is designed to be self-sufficient by accessing shared resources through the subsystem's management mechanisms. It can independently execute tasks and manage its own operations using the allocated shared resources, reducing the need for continuous intervention from the main processing unit and minimizing overhead.

Inventive Principle:
Principle #25Self-service

3Use of energy by stationary object

If shared resources are allocated to the data engine, then power consumption decreases, but resource availability for other elements reduces

Engineering Contradiction:
Improvepower consumptionVSAvoidresource availability
Core Design Contradiction:
Use of energy by stationary objectVSAdaptability or versatility

Solution Approach 1:

The allocation of shared resources to the data engine is dynamic rather than static. The subsystem can allocate resources to the data engine when processing tasks are active, and re-allocate or release them when not needed. This dynamic management allows the system to reduce power consumption during data engine operation while maintaining resource availability for other elements when the data engine is inactive.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The data engine operates in periodic sessions where it is activated for specific task execution and then deactivated. During active sessions, shared resources are allocated to the data engine to reduce power consumption for processing tasks. Between sessions, resources are made available to other system elements, creating a periodic pattern of resource allocation that balances power efficiency with resource availability.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS7924858B2Use of a data engine within a data processing apparatus
Publication Date: 2011.04.12 ARM LTD
  • US7924858B2 patent drawing
  • US7924858B2 patent drawing
  • US7924858B2 patent drawing

AI summary

A data processing apparatus and method of operation of such a data processing apparatus are disclosed. The data processing apparatus has a main processing unit operable to perform a plurality of data processing tasks, and a data engine for performing a number of those tasks on behalf of the main processing unit. At least one shared resource is allocatable to the data engine by the main processing unit for use by the data engine when performing data processing tasks on behalf of the main processing unit. The data engine comprises a data engine core for performing the tasks, and a data engine subsystem configurable by the main processing unit and arranged to manage communication between the data engine core and an allocated shared resource. The data engine core comprises a resource manager unit for acting as a master device with respect to the data engine subsystem in order to manage use of the allocated shared resource. It has been found that such an approach provides a particularly efficient implementation of a data engine within a data processing apparatus, which reduces the need for re-writing of existing code to enable it to be executed on such a data processing apparatus.