Multiband Encryption Engine Self-Testing Pipeline

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional encryption self-testing in data storage systems is resource-intensive, causing unwanted delays and latency, especially in resource-constrained environments like ASICs and FPGAs, and does not achieve full bandwidth due to resource sharing and complexity.

Innovation Solution

A multiband encryption engine with a self-testing method that inserts test vectors into data streams, encrypts, decrypts, and compares them to ensure data integrity without requiring additional resources, using a pipeline architecture to maintain high clock rates and minimize latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional encryption self-testing is performed, then data integrity is verified, but resource consumption increases and causes delays and latency

Engineering Contradiction:
Improvedata integrity verificationVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent inserts test vectors into the data stream before encryption occurs, allowing the encryption engine to process these known test patterns through the complete encryption and decryption cycle. This preliminary inclusion of test data enables verification without requiring separate testing operations that would add latency to actual data processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The encryption engine performs self-testing by processing test vectors that are interspersed with actual data blocks. The engine independently verifies its own operation by comparing decrypted test vectors against expected values, eliminating the need for external testing resources and reducing overhead.

Inventive Principle:
Principle #25Self-service

2Speed

If multiple encryption and decryption hardware engines are used to reduce latency, then processing speed improves, but device complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidhardware complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements a pipeline architecture where multiple encryption and decryption operations occur simultaneously in different stages. While one block is being encrypted, another is being decrypted, and a third is being processed, maintaining continuous throughput without requiring multiple complete engine sets. This pipelining achieves high speed with a single multi-functional engine rather than multiple separate engines.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If encryption/decryption is handled in software layers instead of hardware, then flexibility improves, but processing speed and bandwidth utilization deteriorate

Engineering Contradiction:
ImproveflexibilityVSAvoidbandwidth utilization
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The encryption engine is divided into distinct functional blocks or stages that can be independently configured and processed. Each stage handles a specific aspect of the encryption/decryption process, allowing the system to be implemented in hardware with high speed while maintaining the flexibility of modular design. This segmentation enables hardware acceleration without sacrificing adaptability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10157282B2Multiband encryption engine and a self testing method thereof
Publication Date: 2018.12.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10157282B2 patent drawing
  • US10157282B2 patent drawing
  • US10157282B2 patent drawing

AI summary

In one embodiment, a system includes a processor and logic integrated with and/or executable by the processor, the logic being configured to cause the processor to receive a data stream including data for encryption, insert one or more test vectors between individual blocks of data of the data stream, encrypt the blocks of data including the one or more test vectors to produce an encrypted data stream including one or more encrypted test vectors, decrypt the encrypted data stream including the one or more encrypted test vectors, compare each decrypted test vector with a corresponding inserted test vector, and report results of the comparison. Other systems, methods, and computer program products for self testing an encryption/decryption cycle are described according to more embodiments.