Software-Assisted Cryptographic Queue Processing With Shared-Data Grouping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic service providers process multiple cryptographic commands in a serialized and independent manner, leading to increased latency due to repeated fetching of the same data payload from off-chip memory and failure to utilize data dependencies between commands.

Innovation Solution

A security processor identifies issue groups of commands based on available cryptographic hardware resources, data dependencies, and shared source data, processing these groups in an atomic manner to reduce latency and data storage requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If cryptographic commands are processed in a serialized and independent manner, then command processing simplicity is maintained, but processing latency increases due to repeated fetching of the same data payload from off-chip memory

Engineering Contradiction:
Improvecommand processing simplicityVSAvoidprocessing latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent merges multiple cryptographic commands that share the same data payload into a single processing operation. The security processor identifies commands with common data references and combines them into a batch operation, fetching the shared data payload once from off-chip memory and processing all commands in parallel using on-chip memory, thereby reducing latency while maintaining processing simplicity through automated command grouping

Inventive Principle:
Principle #5Merging (Combining)

2Device complexity

If commands are processed independently in sequence, then resource allocation is simplified, but data storage requirements increase due to repeated data fetching from off-chip memory

Engineering Contradiction:
Improveresource allocation simplicityVSAvoiddata storage requirements
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The security processor performs preliminary identification of commands that share data payloads before execution. By pre-grouping commands with common data references and pre-loading the shared data payload into on-chip memory once, the system eliminates repeated data fetching operations, reducing both storage requirements and latency while maintaining simplified resource allocation through automated grouping

Inventive Principle:
Principle #10Preliminary action

3Productivity

If cryptographic commands are processed without considering data dependencies, then processing speed is maximized through parallel execution, but intermediate generated data cannot be immediately consumed by dependent commands

Engineering Contradiction:
Improveparallel processing speedVSAvoiddata dependency latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments commands into groups based on their data dependency relationships. Commands are divided into independent groups that can be processed in parallel, while maintaining proper sequencing within each group to ensure that intermediate generated data is immediately available to dependent commands. This segmentation enables parallel execution of independent command groups while preserving data dependency constraints within groups

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12462070B2Software assisted acceleration in cryptographic queue processing
Publication Date: 2025.11.04 ATI TECHNOLOGIES ULC
  • US12462070B2 patent drawing
  • US12462070B2 patent drawing
  • US12462070B2 patent drawing

AI summary

A system and method for efficiently processing security service requests are described. In various implementations, an integrated circuit includes at least one or more processors with a dedicated security processor and on-chip memory that has a higher security level than off-chip memory. During the processing of security service requests, the security processor receives multiple commands with each including a cryptographic function. The security processor identifies one or more issue groups of commands based at least upon data dependencies and shared source data. When the security processor determines an issued command is in a given issue group, the security processor issues a next command from remaining commands in the given issue group. Otherwise, the security processor issues an immediately next in-order command after the issued command.