Patent US5933620A successfully refreshed from Google Patents.
US5933620A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for serializing microprocessor identification numbers
Assignee: GlobalFoundries Inc
•
Filing: 1996-03-28
•
Granted: 1999-08-03
•
Expires: 2016-03-28
Abstract
Abstract A method and apparatus for providing a microprocessor serial number. A small, nonvolatile random access memory is packaged with the CPU die to provide a storage space for a CPU serial number which can be programmed before leaving the factory. Both the CPU die and the nonvolatile RAM die reside within the cavity of the package. Connection between the two die is provided by conventional wire bonding.
Inventors
- 👤 Sherman Lee
- 👤 James R. Macdonald
- 👤 Michael T. Wisor
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 19:36
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/70; G06F21/71; G06F21/73; G06F11/00; G06F11/006; G06F21/50; G06F21/57; G06F21/575; G06F2207/00; G06F2207/72; G06F2207/7219; G06F2211/00; G06F2211/007
Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
256 words
An apparatus for selectively executing software on a microprocessor platform, comprising: a device package having a die cavity; a nonvolatile random access memory (NVRAM) fabricated within said die cavity on a first die, wherein said NVRAM is configured to store encrypted serial number data, wherein said encrypted serial number data includes an encrypted microprocessor serial number and an encrypted key; a central processing unit fabricated within said die cavity on a second die and coupled to said NVRAM through a serial interface with at least one signal line, wherein said central processing unit includes: a nonvolatile random access memory interface (NVRAM interface) coupled to the serial interface for receiving said encrypted serial number data from said NVRAM; a first register configured to store a first key; an encryption/decryption module coupled to said NVRAM interface configured (a) to generate a partially decrypted microprocessor serial number and a decrypted key from said encrypted serial number data using the first key, and (b) to generate a fully decrypted microprocessor serial number from said partially decrypted microprocessor serial number using said decrypted key, wherein said encryption/decryption module stores said fully decrypted microprocessor serial number in a second register; wherein a software program executing on said central processing unit is configured to provide said first key to said first register and to read said fully decrypted microprocessor serial number from said second register, wherein said software program is further configured to selectively enable subsequent execution of said software program in response to the value of said fully decrypted microprocessor serial number.
Claim 2
Independent Claim
256 words
An apparatus for selectively executing software on a microprocessor platform, comprising: a device package having a die cavity; a nonvolatile random access memory (NVRAM) fabricated within said die cavity on a first die, wherein said NVRAM is configured to store encrypted serial number data, wherein said encrypted serial number data includes an encrypted microprocessor serial number and an encrypted key; a central processing unit fabricated within said die cavity on a second die and coupled to said NVRAM through a serial interface with at least one signal line, wherein said central processing unit includes: a nonvolatile random access memory interface (NVRAM interface) coupled to the serial interface for receiving said encrypted serial number data from said NVRAM; a first register configured to store a first key; an encryption/decryption module coupled to said NVRAM interface configured (a) to generate a partially decrypted microprocessor serial number and a decrypted key from said encrypted serial number data using the first key, and (b) to generate a fully decrypted microprocessor serial number from said partially decrypted microprocessor serial number using said decrypted key, wherein said encryption/decryption module stores said fully decrypted microprocessor serial number in a second register; wherein a software program executing on said central processing unit is configured to provide said first key to said first register and to read said fully decrypted microprocessor serial number from said second register, wherein said software program is further configured to selectively enable subsequent execution of said software program in response to the value of said fully decrypted microprocessor serial number.
Claim 3
Dependent Claim
87 words
The apparatus of claim 1, wherein the software program is configured (a) to read a previously used microprocessor serial number from a first system memory location, (b) to compare the previously used microprocessor serial number with the fully decrypted microprocessor serial number accessed from said second register, (c) to establish contact with an authorization agent and to request permission from said authorization agent to operate with said central processing unit in response to said previously used microprocessor serial number not matching said fully decrypted microprocessor serial number.
Claim 4
Dependent Claim
44 words
The apparatus of claim 2, wherein said software program calls a first application programming interface (API) routine to read the first key from said first system memory location, wherein the first key is stored in said first system memory location in an encoded form.
Claim 5
Dependent Claim
27 words
The apparatus of claim 2, wherein the software program is configured to establish contact with the authorization agent by initiating an Internet connection to the authorization agent.
Claim 6
Dependent Claim
17 words
The apparatus of claim 2 wherein the authorization agent coincides with a manufacturer of said software program.
Claim 7
Dependent Claim
41 words
The apparatus of claim 1, wherein said encrypted serial number data includes a cyclical redundancy checksum (CRC), wherein said NVRAM interface uses said CRC to verify proper transmission of said encrypted serial number data from said NVRAM through said serial interface.
Claim 8
Dependent Claim
23 words
The apparatus of claim 1, wherein said encrypted serial number data is programmed into the NVRAM by a first manufacturer of said apparatus.
Claim 9
Dependent Claim
17 words
The apparatus of claim 1, wherein said first register and said second register comprise machine specific registers.
Claim 10
Dependent Claim
29 words
The apparatus of claim 1, wherein said at least one signal line is coupled to said NVRAM and said central processing unit by a plurality of wire bond pads.
Claim 11
Dependent Claim
127 words
The apparatus of claim 1, wherein said encryption/decryption module is further configured (a) to access a non-encrypted microprocessor serial number from said second register, (b) to access a second key from a third register, (c) to generate a partially encrypted microprocessor serial number from said non-encrypted microprocessor serial number using said second key, (d) to access said first key from said first register, (e) to generate a fully encrypted microprocessor serial number and an encoded key from said partially encrypted microprocessor serial number and said second key respectively using said first key, (e) to compare said fully encrypted microprocessor serial number and said encoded key with said encrypted serial number data stored in said NVRAM, and (f) to enter an unlocked state if a match is determined.
Claim 12
Independent Claim
233 words
A method for selectively executing software on a microprocessor platform, the method comprising: fabricating a central processing unit on a first die, wherein said fabricating a central processing unit includes fabricating a nonvolatile random access memory interface (NVRAM interface) and an encryption/decryption module; fabricating a non-volatile random access memory (NVRAM) on a second die; placing said central processing unit and said NVRAM in a die cavity of a device package; coupling said central processing unit to said NVRAM through a serial interface with at least one signal line; said NVRAM interface accessing encrypted serial number data comprising an encrypted microprocessor serial number and an encrypted key from said NVRAM through said serial interface; said encryption/decryption module generating a partially decrypted microprocessor serial number and a decrypted key from said encrypted serial number data using a first key stored in a first register in said central processing unit; said encryption/decryption module generating a fully decrypted microprocessor serial number from said partially decrypted microprocessor serial number using said decrypted key; said encryption/decryption module storing said fully decrypted microprocessor serial number in a second register in said central processing unit; said software program providing said first key to said first register and reading said fully decrypted microprocessor serial number from said second register; said software program selectively enabling subsequent execution of said software program in response to the value of said fully decrypted microprocessor serial number.
Claim 13
Independent Claim
233 words
A method for selectively executing software on a microprocessor platform, the method comprising: fabricating a central processing unit on a first die, wherein said fabricating a central processing unit includes fabricating a nonvolatile random access memory interface (NVRAM interface) and an encryption/decryption module; fabricating a non-volatile random access memory (NVRAM) on a second die; placing said central processing unit and said NVRAM in a die cavity of a device package; coupling said central processing unit to said NVRAM through a serial interface with at least one signal line; said NVRAM interface accessing encrypted serial number data comprising an encrypted microprocessor serial number and an encrypted key from said NVRAM through said serial interface; said encryption/decryption module generating a partially decrypted microprocessor serial number and a decrypted key from said encrypted serial number data using a first key stored in a first register in said central processing unit; said encryption/decryption module generating a fully decrypted microprocessor serial number from said partially decrypted microprocessor serial number using said decrypted key; said encryption/decryption module storing said fully decrypted microprocessor serial number in a second register in said central processing unit; said software program providing said first key to said first register and reading said fully decrypted microprocessor serial number from said second register; said software program selectively enabling subsequent execution of said software program in response to the value of said fully decrypted microprocessor serial number.
Claim 14
Dependent Claim
80 words
The method of claim 11 further comprising: said software program reading a previously used microprocessor serial number from a first system memory location; said software program comparing said previously used microprocessor serial number with the fully decrypted microprocessor serial number; said software program establishing contact with an authorization agent and requesting permission from the authorization agent to operate with said central processing unit in response to said previously used microprocessor serial number not matching said fully decrypted microprocessor serial number.
Claim 15
Dependent Claim
52 words
The method of claim 12, wherein said reading of the previously used microprocessor serial number includes said software program calling a first application programming interface routine to read the first key from a first system memory location, wherein the first key is stored in the first system memory location in encoded form.
Claim 16
Dependent Claim
22 words
The method of claim 12, wherein said establishing contact with the authorization agent includes initiating an Internet connection to the authorization agent.
Claim 17
Independent Claim
16 words
The method of 12, wherein the authorization agent coincides with a manufacturer of said software program.
Claim 18
Independent Claim
16 words
The method of 12, wherein the authorization agent coincides with a manufacturer of said software program.
Claim 19
Dependent Claim
32 words
The method of claim 11 further comprising using a cyclic redundancy checksum to verify transmission of said encrypted serial number data from said NVRAM to said NVRAM interface through said serial interface.
Claim 20
Dependent Claim
24 words
The method of claim 11 further comprising a first manufacturer of said central processing unit programming said encrypted serial number data into said NVRAM.
Claim 21
Dependent Claim
17 words
The method of claim 11, wherein said first register and said second register comprise machine specific registers.
Claim 22
Dependent Claim
41 words
The method of claim 11, wherein said coupling of said central processing unit to said NVRAM with at least one signal line including attaching said signal line to said central processing unit and said NVRAM using a plurality of bond pads.
Claim 23
Dependent Claim
118 words
The method of claim 11 further comprising said encryption/decryption module (a) accessing a non-encrypted microprocessor serial number from said second register, (b) accessing a second key from a third register, (c) generating a partially encrypted microprocessor serial number from said non-encrypted microprocessor serial number using said second key, (d) accessing said first key from said first register, (e) generating a fully encrypted microprocessor serial number and an encoded key from said partially encrypted microprocessor serial number and said second key respectively using said first key, (e) comparing said fully encrypted microprocessor serial number and said encoded key with said encrypted serial number data stored in said NVRAM, and (f) entering an unlocked state if a match is determined.
References Cited (Backward Citations)
US4432051A
Cited
US4652990A
Cited
WO1985002310A1
Cited
US4633388A
Cited
GB2205667A
Cited
EP0302710A2
Cited
US5068894A
Cited
EP0421409A2
Cited
US5133055A
Cited
US5029207A
Cited
US5237610A
Cited
US5153918A
Cited
US5182770A
Cited
US5675825A
Cited
US5319705A
Cited
US5276738A
Cited
US5467304A
Cited
EP0707270A2
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-08-02 | 2003-02-01 | 2003-08-03 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-08-02 | 2007-02-01 | 2007-08-03 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-08-02 | 2011-02-01 | 2011-08-03 | $7700.00 | Window Closed / Lapsed |