TLB Unit Segmentation for Neural Network Stream Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional TLB units are ineffective for streaming applications in artificial neural networks, leading to frequent TLB misses and reduced data access performance due to the need for multiple memory accesses.

Innovation Solution

The implementation of multiple TLB units, each corresponding to a data type, with a control unit that identifies the appropriate TLB unit based on a stream ID in the virtual address, determines TLB hits or misses, and generates physical addresses by matching page and frame numbers, thereby improving data access efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single TLB unit is used for all data streams, then the device complexity is low, but the TLB hit rate decreases for streaming applications

Engineering Contradiction:
ImproveTLB hit rateVSAvoidnumber of TLB units
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides a single TLB unit into multiple independent TLB units, where each TLB unit is dedicated to handling a specific data stream type (e.g., stream 0, stream 1, etc.). This segmentation allows each TLB unit to specialize in caching page tables for its assigned stream, thereby increasing the overall TLB hit rate for streaming applications while maintaining manageable complexity through modular organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each TLB unit is designed with multi-functionality to handle different operations (read, write, read-write) and different stream types within its dedicated scope. The control unit universally manages multiple TLB units by selecting the appropriate unit based on the stream ID in the virtual address, allowing the system to serve multiple streaming workloads efficiently.

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

2Productivity

If conventional TLB units are used for streaming applications, then the device complexity remains low, but the data access performance deteriorates due to frequent memory accesses

Engineering Contradiction:
Improvedata access performanceVSAvoidmemory access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-loading page tables into dedicated TLB units for each stream type before they are needed for actual data access. When a stream starts processing, its corresponding TLB unit already contains the necessary page table translations, eliminating the need for frequent memory accesses during stream processing and thereby improving data access performance.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple TLB units are implemented for different data types, then the TLB hit rate improves, but the device complexity increases

Engineering Contradiction:
ImproveTLB hit rateVSAvoidTLB unit management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The control unit serves as an intermediary between the virtual address input and the multiple TLB units. It receives the virtual address, extracts the stream ID, and uses this identifier to select the appropriate TLB unit for processing. This intermediary approach simplifies the management of multiple TLB units by providing a centralized selection mechanism based on stream ID, thereby reducing the overall system complexity despite having multiple TLB units.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11513972B2TLB device supporting multiple data streams and updating method for TLB module
Publication Date: 2022.11.29 CAMBRICON TECH CO LTD
  • US11513972B2 patent drawing
  • US11513972B2 patent drawing
  • US11513972B2 patent drawing

AI summary

Aspects of managing Translation Lookaside Buffer (TLB) units are described herein. The aspects may include a memory management unit (MMU) that includes one or more TLB units and a control unit. The control unit may be configured to identify one from the one or more TLB units based on a stream identification (ID) included in a received virtual address and, further, to identify a frame number in the identified TLB unit. A physical address may be generated by the control unit based on the frame number and an offset included in the virtual address.