Selective programming of non-volatile memory facilitated by security fuses
AssigneeLattice Semiconductor Corporation
InventorsMose Wahlstrom, Wei Han, Yoshita Yerramilli
Life of this patent
Estimating the term…
Abstract
Methods and devices are disclosed herein to provide improved techniques for securing configuration data stored in non-volatile memories of programmable logic devices. For example, in accordance with an embodiment of the present invention, a programmable logic device includes a non-volatile memory adapted to store a plurality of configuration data. A plurality of security fuses are adapted to store a plurality of logic states. Control logic is adapted to selectively secure the configuration data within the non-volatile memory based on the logic states stored in the plurality of security fuses.
Claims16
A method of controlling the programming of non-volatile memory with configuration data in a programmable logic device, comprising:
- storing in a plurality of programmable security fuses within the device a multiple bit security pattern;
- comparing within the device multiple bits of the multiple bit security pattern with multiple bits of a predetermined multiple bit security pattern;
- if the security patterns match, disabling programming of the non-volatile memory;
- if the security patterns do not match, determining whether a test bit within the device has been enabled;
- if the test bit is enabled, disabling programming of the non-volatile memory with the configuration data;
- and
- if the test bit is not enabled, enabling programming of the non-volatile memory with the configuration data.
A programmable logic device comprising:
- programmable non-volatile memory for storing configuration data for the device;
- a plurality of programmable security fuses for storing a multiple bit security pattern;
- and
- control logic operable for:
- comparing within the device multiple bits of the multiple bit security pattern with multiple bits of a predetermined multiple bit security pattern;
- if the security patterns match, disabling programming of the non-volatile memory;
- if the security patterns do not match, determining whether a test bit within the device has been enabled;
- if the test bit is enabled, disabling programming of the non-volatile memory with the configuration data;
- and
- if the test bit is not enabled, enabling programming of the non-volatile memory with the configuration data.
A programmable logic device comprising:
- programmable non-volatile memory for storing configuration data for the device;
- a plurality of programmable security fuses for storing a multiple bit security pattern;
- and
- means for:
- comparing within the device multiple bits of the multiple bit security pattern with multiple bits of a predetermined multiple bit security pattern;
- if the security patterns match, disabling programming of the non-volatile memory;
- if the security patterns do not match, determining whether a test bit within the device has been enabled;
- if the test bit is enabled, disabling programming of the non-volatile memory with the configuration data;
- and
- if the test bit is not enabled, enabling programming of the non-volatile memory with the configuration data.
Dependencies are inferred from the claim text.