Patent US5933620A successfully refreshed from Google Patents.
← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag