Programmable Fuse Key Storage With Majority Decoding in PLDs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing programmable logic devices (PLDs) face challenges in securely storing and programming security keys, as conventional methods are prone to power disruptions leading to key loss and manufacturing defects causing incorrect data bit values, compromising the secrecy and accuracy of the security key.

Innovation Solution

A programmable logic device utilizing a plurality of programmable fuses to store security keys, where each data bit value is associated with a subset of at least three fuses, with decoders retrieving the bit value based on the majority stored in the fuses to ensure accurate key retrieval and storage, and a hashing process to enhance security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the security key is stored in volatile SRAM cells maintained by a battery, then the security key can be stored onboard the PLD, but the security key will be lost if there is a disruption in the power supplied to the SRAM cells

Engineering Contradiction:
Improvesecurity key storage reliabilityVSAvoidsecurity key loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

Each data bit value of the security key is segmented into multiple subsets, with each subset stored in a separate group of fuses. This segmentation ensures that a single point of failure cannot corrupt the entire security key, as each bit is distributed across multiple independent fuse groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements beforehand cushioning by using multiple fuses for each data bit value and employing majority voting logic. This compensatory mechanism is established in advance to protect against power disruptions and manufacturing defects, ensuring that the security key remains intact even if some fuses fail.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If the security key is stored in non-volatile memory onboard the PLD, then the security key is retained without power, but manufacturing defects may cause individual data bit values to be incorrectly stored

Engineering Contradiction:
Improvesecurity key retentionVSAvoiddata bit value accuracy
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent applies local quality by making each subset of fuses associated with a data bit value have the same size and structure. This uniformity ensures that each bit value is subjected to the same level of protection and verification, maintaining consistent quality across all security key bits.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements beforehand cushioning by using multiple fuses for each data bit value and employing majority voting logic. This compensatory mechanism is established in advance to protect against power disruptions and manufacturing defects, ensuring that the security key remains intact even if some fuses fail.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Device complexity

If conventional security key storage methods are used, then the implementation is simple, but the secrecy of the security key is compromised due to vulnerability to power disruptions and manufacturing defects

Engineering Contradiction:
Improvestorage implementation complexityVSAvoidsecurity key secrecy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

Each data bit value of the security key is segmented into multiple subsets, with each subset stored in a separate group of fuses. This segmentation ensures that a single point of failure cannot corrupt the entire security key, as each bit is distributed across multiple independent fuse groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements beforehand cushioning by using multiple fuses for each data bit value and employing majority voting logic. This compensatory mechanism is established in advance to protect against power disruptions and manufacturing defects, ensuring that the security key remains intact even if some fuses fail.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS7834652B1Method and devices for storing a security key using programmable fuses
Publication Date: 2010.11.16 LATTICE SEMICON CORP
  • US7834652B1 patent drawing
  • US7834652B1 patent drawing
  • US7834652B1 patent drawing

AI summary

In embodiment of the invention, a programmable logic device includes configuration memory adapted to be programmed with configuration data and a plurality of programmable fuses adapted to store a security key for use with configuration data. The security key includes a plurality of data bit values, wherein each data bit value of the security key is associated with a subset of a least three fuses each storing a bit. Each of a plurality of decoders is adapted to retrieve a data bit value of the security key by providing the bit value stored by a majority of the fuses of the associated subset as the data bit value of the security key.