IP Library Granted Patent US 8,448,256
Granted Patent B2
US 8,448,256 · App. 12/363,880 · Granted May 21, 2013

Secure partitioning of programmable devices

Inventors: Joerg Borchert (Los Gatos, CA); Jurijus Cizas (Castro Valley, CA); Shrinath Eswarahally (Sunnyvale, CA); Mark Stafford (San Carlos, CA); Rajagopalan Krishnamurthy (Cupertino, CA)
Assignee: Infineon Technologies AG
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,448,256
App. No.
12/363,880
Granted
May 21, 2013
Kind
B2
Abstract

According to an embodiment, a programmable logic device includes a plurality of logic blocks, memory and a logic unit. The logic blocks are grouped into one or more partitions. The memory stores authentication and partition information uploaded to the programmable logic device prior to partition programming. The logic unit authenticates programming access to the one or more partitions based on the authentication information and controls programming of the one or more partitions based on the partition information.

Claims (27)

1. A method of programming a programmable logic device having a plurality of hardwired logic blocks grouped into two or more programmable partitions, comprising:

authenticating programming access to the programmable partitions and the plurality of hardwired logic blocks via a logic unit included in the programmable logic device and which is implemented in hardware, based on authentication information uploaded to the programmable logic device prior to partition programming;

selectively allowing programming access to a first one of the programmable partitions, while preventing programming access to a second one of the programmable partitions, based on the authentication information;

controlling programming of the first one of the programmable partitions via the logic unit based on partition-specific information uploaded to the programmable logic device prior to partition programming.

2. The method of claim 1 , wherein authenticating programming access to the programmable partitions and the plurality of hardwired logic blocks via the logic unit based on the authentication information comprises determining whether a key presented by an entity attempting to program a partition matches an authentication key associated with the partition.

3. The method of claim 1 , further comprising decrypting via the logic unit secure partition programming data uploaded to the programmable logic device after authenticating programming access.

4. The method of claim 1 , wherein controlling programming of the programmable partitions via the logic unit based on the partition-specific information comprises enforcing one or more programming rules specified by the partition-specific information.

5. The method of claim 4 , wherein enforcing one or more programming rules specified by the partition-specific information comprises confining programming data uploaded for a partition to the logic blocks associated with the partition.

6. The method of claim 4 , wherein enforcing one or more programming rules specified by the partition-specific information comprises:

identifying a common resource of the programmable device reserved for a partition; and

preventing programming data uploaded for another partition from violating the reservation.

7. The method of claim 1 , further comprising preventing via the logic unit unauthorized copying of partition data.

8. The method of claim 7 , wherein preventing unauthorized copying of partition data comprises determining whether an entity attempting to copy the partition data presents a key that matches an authentication key associated with the partition.

9. The method of claim 1 , further comprising preventing via the logic unit reprogramming of a protected partition or a protected partition function.

10. A programmable logic device, comprising:

a plurality of hardwired logic blocks grouped into one-two or more programmable partitions; memory storing authentication and partition-specific information uploaded to the programmable logic device prior to partition programming; and

a logic unit implemented in hardware to authenticate programming access to the programmable partitions and the plurality of hardwired logic blocks based on the authentication information, to selectively allow programming access to a first one of the programmable partitions while preventing programming access to a second one of the programmable partitions, based on the authentication, and to control programming of the first one of the programmable partitions based on the partition-specific information.

11. The programmable logic device of claim 10 , wherein the logic unit is operable to determine whether a key presented by an entity attempting to program a partition matches an authentication key associated with the partition.

12. The programmable logic device of claim 10 , wherein the logic unit is operable to decrypt secure partition programming data uploaded to the programmable logic device after authenticating programming access.

13. The programmable logic device of claim 10 , wherein the logic unit is operable to enforce one or more programming rules specified by the partition-specific information.

14. The programmable logic device of claim 13 , wherein the logic unit is operable to confine programming data uploaded for a partition to the logic blocks associated with the partition.

15. The programmable logic device of claim 13 , wherein the logic unit is operable to identify a common resource of the programmable device which is reserved for a partition and prevent programming data uploaded for another partition from violating the reservation.

16. The programmable logic device of claim 10 , wherein the logic unit is operable to prevent unauthorized copying of partition data.

17. The programmable logic device of claim 16 , wherein the logic unit is operable to determine whether an entity attempting to copy the partition data presents a key that matches an authentication key associated with the partition.

18. The programmable logic device of claim 10 , wherein the logic unit is operable to prevent reprogramming of a protected partition or a protected partition function.

19. The programmable logic device of claim 10 , wherein the partition-specific information is stored in a table accessible by the logic unit.

20. A programmable logic device, comprising: a plurality of hardwired logic blocks grouped into one two or more programmable partitions; memory storing authentication and partition-specific information uploaded to the programmable logic device prior to partition programming; and hardware authenticating programming access to the programmable partitions and the plurality of hardwired logic blocks based on the authentication information, for selectively allowing programming access to a first one of the programmable partitions while preventing programming access to a second one of the programmable partitions, based on the authentication, and for controlling programming of the first one of the programmable partitions based on the partition-specific information.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2009
From: INFINEON TECHNOLOGIES NORTH AMERICA CORP.
To: INFINEON TECHNOLOGIES AG
Reel/Frame 022386/0023 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2009
From: BORCHERT, JOERG; CIZAS, JURIJUS; ESWARAHALLY, SHRINATH; STAFFORD, MARK; KRISHNAMURTHY, RAJAGOPALAN
To: INFINEON TECHNOLOGIES NORTH AMERICA CORP.
Reel/Frame 022208/0887 →
Continuity (2)
Provisional Application 61101441 · Sep 30, 2008
Related Publication 20100083367A1 · Apr 1, 2010