Encrypted Streams for Multi-Tile Processing Through a TEE

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tile processing systems face challenges in securely transferring sensitive code and data due to the difficulty in ensuring data integrity and privacy, especially when using untrusted external memories.

Innovation Solution

A multi-tile processing system with encryption units that encrypt and decrypt data using a specific encryption protocol, employing streams for secure data transfer between tiles and external memory, and utilizing a trusted execution environment to protect sensitive data and code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is transferred through untrusted external memory in a multi-tile processing system, then data transfer capability is improved, but security and data integrity are worsened

Engineering Contradiction:
Improvedata transfer capabilityVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a trusted execution environment as an intermediary between the untrusted external memory and the processing tiles. This TEE acts as a mediator that verifies data integrity and authenticity before data is accessed by the processing system, thereby resolving the contradiction by enabling data transfer through untrusted memory while maintaining security through the trusted intermediary layer

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If encryption is applied to all data transfers, then data security is improved, but processing efficiency is worsened

Engineering Contradiction:
Improvedata securityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data transfer process into distinct phases: encryption occurs only during initial data loading into the trusted execution environment, while subsequent data processing and internal transfers within the TEE occur in plaintext. This segmentation allows encryption to provide security where needed without continuously impacting processing efficiency throughout the entire data lifecycle

Inventive Principle:
Principle #1Segmentation

3Productivity

If multiple streams of encrypted data are used for parallel processing, then processing throughput is improved, but system complexity is worsened

Engineering Contradiction:
Improveprocessing throughputVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments data streams into multiple independent encrypted channels, each managed by the trusted execution environment. This segmentation enables parallel processing throughput improvement while the TEE handles the complexity of stream management, key distribution, and synchronization centrally, preventing the complexity from propagating to individual processing tiles

Inventive Principle:
Principle #1Segmentation

4Reliability

If a trusted execution environment is implemented, then data privacy is improved, but hardware requirements are worsened

Engineering Contradiction:
Improvedata privacyVSAvoidhardware requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a trusted execution environment that serves multiple functions: data encryption/decryption, integrity verification, key management, and isolation between processing tiles. This multi-functionality consolidates what would otherwise require separate hardware components into a single versatile system, thereby improving data privacy while limiting the increase in hardware requirements

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

Data Source

PatentUS20250306873A1Streaming data to multi-tile processing system
Publication Date: 2025.10.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250306873A1 patent drawing
  • US20250306873A1 patent drawing
  • US20250306873A1 patent drawing

AI summary

A processing system comprising one or more chips, each comprising a plurality of tiles is described. Each tile comprises a respective processing unit and memory, the memory storing a codelet. The processing system has at least one encryption unit configured to encrypt and decrypt data transferred between the tiles and a trusted computing entity via an external computing device. The codelets are configured to instruct the tiles to transfer the encrypted data by reading from and writing to a plurality of memory regions at the external memory such that a plurality of streams of encrypted data are formed, each stream using an individual one of the memory regions at the external computing device.