EP1280038A2

System and method for code and data security in a semiconductor device

Abstract

A system and method for preventing unauthorized access to the software of a semiconductor device is provided. The semiconductor device of the present invention includes a memory buffer (18) in the data path between the processor core (12) of the device and the memory (14) of the device. A password for providing full communication in the data path is stored in a defined location in the memory (22). Upon reading the memory location (22), the password is provided to a code security module (20). The password provided to the code security module (20) is compared to a data string provided by the user (28). If the password and the data string match, the password data path is open for communication between the memory and the processor core. If the password and data string do not match, the password data path is closed to communication between the memory and the processor core.

EP1280038A2, drawing sheet 1
Sheet 1 of 2

Term

Term ended

Projected expiry passed 18 July 2022, 4.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

9 claims: 5 independent, 4 dependent

  1. 1
    A method for controlling access by the processor core of a semiconductor device to the local memory of the semiconductor device, comprising the steps of:performing a read operation to a first memory location;placing the content of the first memory location on a data bus coupled between the semiconductor device and the local memory;comparing the content of the first memory location to the content of a second memory location;and permitting the processor core to receive data from the local memory if the content of the first memory location is identical to the content of the second memory location.
  2. 4
    The method of any preceding claim,    further comprising the step of writing the content of the first memory location to a password register;and    wherein the step of comparing the content of the first memory location to the content of the second memory location comprises the step of comparing the content of the password register to the content of a key register;wherein the step of permitting processor core to receive data from the local memory if the content of the first memory location is identical to the content of the second memory location comprises the step of receiving at a memory buffer a signal indicative of the comparison of the content of the password register to the content of the key register.
  3. 5
    The method of any preceding claim, further comprising the step of permitting the processor core to receive data from the local memory regardless of the content of the second memory location if the content of the first memory location includes predefined default content.
  4. 6
    The method of any preceding claim, further comprising the step of permitting the processor core to receive data from the local memory regardless of the content of the second memory location if the content of the first memory location includes all ones.
  5. 7
    A semiconductor device, comprising    a processor core;memory;a memory buffer positioned between the processor core and local memory;and    wherein the memory buffer allows data to pass between the memory and the processor following a comparison of a first set of data to a second set of data, the first set of data comprising a first set of password data stored in memory, the second set of data comprises a second set of password data;and the memory buffer allows data to pass from memory to the processor core if the first set of password data is identical to the second set of password data.