Programmable Fuse Key Storage With Majority Decoding for PLDs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approaches to storing security keys in programmable logic devices (PLDs) are inadequate, as they either lose the key upon power disruption or store it incorrectly due to manufacturing defects in non-volatile memory.

Innovation Solution

A method using 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 key using majority rules to minimize errors and secure key storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the security key is stored in volatile SRAM cells onboard the PLD which are 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 as a result of, for example, a battery failure

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

Solution Approach 1:

The security key is segmented into multiple individual fuse elements, where each fuse represents a bit of the key. This segmentation allows the key to be distributed across multiple physical locations, preventing single-point failure and enabling more robust storage mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The fuses are pre-configured in an unprogrammed state during manufacturing, and the security key is programmed into the fuses before the PLD is deployed. This preliminary action ensures the key is permanently stored in a non-volatile manner, eliminating the need for battery-maintained volatile memory.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the security key is stored in non-volatile memory onboard the PLD, then the security key can be retained without power, but if such non-volatile memory exhibits a manufacturing defect, individual data bit values of the security key may be incorrectly stored

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

Solution Approach 1:

Each data bit of the security key is associated with a respective subset of fuses, creating local redundancy. This allows different regions of the fuse array to be independently verified and corrected, addressing manufacturing defects at the local bit level rather than requiring perfect global memory.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system incorporates verification logic that reads back the programmed fuse values and compares them against expected values. If manufacturing defects cause incorrect storage, the feedback mechanism detects these errors and enables re-programming or error correction, ensuring data bit accuracy.

Inventive Principle:
Principle #23Feedback

3Manufacturing precision

If each data bit value is associated with a respective subset of at least three of the fuses, then the likelihood of incorrect data bit values is reduced, but the device complexity increases

Engineering Contradiction:
Improvedata bit value accuracyVSAvoidfuse subset management
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

Multiple fuses are merged into subsets that collectively represent single data bits. This combining approach simplifies the overall structure by grouping redundant fuse elements under unified control logic, reducing the apparent complexity while maintaining the error-resistant properties of having multiple fuses per bit.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7675313B1Methods and systems for storing a security key using programmable fuses
Publication Date: 2010.03.09 LATTICE SEMICON CORP
  • US7675313B1 patent drawing
  • US7675313B1 patent drawing
  • US7675313B1 patent drawing

AI summary

Systems and methods are disclosed herein to provide improved security key techniques for programmable logic devices. For example, in accordance with an embodiment of the present invention, a method of providing data security for a programmable logic device (PLD) includes programming a plurality of programmable fuses that stores a security key comprising a plurality of data bit values, wherein each data bit value is associated with a respective subset of at least three of the fuses. The security key is retrieved from the fuses using the data bit values stored by each subset of the fuses. An encrypted configuration data bitstream is decrypted using the retrieved security key to obtain an original configuration data bitstream to configure the PLD.