US9304943B2 - Processor system and control method thereof - Google Patents

Processor system and control method thereof Download PDF

Info

Publication number
US9304943B2
US9304943B2 US14/743,400 US201514743400A US9304943B2 US 9304943 B2 US9304943 B2 US 9304943B2 US 201514743400 A US201514743400 A US 201514743400A US 9304943 B2 US9304943 B2 US 9304943B2
Authority
US
United States
Prior art keywords
access
flag
prohibit
memory
processor system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US14/743,400
Other versions
US20150286583A1 (en
Inventor
Tomoaki Kanai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to US14/743,400 priority Critical patent/US9304943B2/en
Publication of US20150286583A1 publication Critical patent/US20150286583A1/en
Priority to US15/057,365 priority patent/US20160179426A1/en
Application granted granted Critical
Publication of US9304943B2 publication Critical patent/US9304943B2/en
Assigned to RENESAS ELECTRONICS CORPORATION reassignment RENESAS ELECTRONICS CORPORATION CHANGE OF ADDRESS Assignors: RENESAS ELECTRONICS CORPORATION
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

Definitions

  • the present invention relates to a processor system and a control method thereof, and particularly to a processor system including a semiconductor storage circuit that can be access controlled and a control method thereof.
  • Patent literature 1 discloses a non-volatile semiconductor storage device including a protection function from a data write or erase.
  • FIG. 9 is a block diagram showing the non-volatile semiconductor storage device disclosed in patent literature 1.
  • this non-volatile semiconductor storage device includes a memory cell array 1 composed of a plurality of memory blocks, interfaces 6 and 7 , write circuits 2 , 3 , 4 , 5 , and 8 and read circuits 2 , 3 , 4 , 5 , and 8 .
  • a protect flag is written in the above-mentioned memory block.
  • the above circuit is characterized in that in response to a write command input from the above interface, the write circuit executes the write command when the protect flag has a first value and does not execute the write command when the protect flag has a second value.
  • Patent literature 2 discloses a processor that attempts to prevent unauthorized actions such as unauthorized access to a computer at low cost.
  • the processor disclosed in patent literature 2 includes: processor side memory authentication information holding means configured integrally with a computing means for holding first memory authentication information and second memory authentication information; memory authentication means for comparing first memory authentication information obtained from a first memory and the first memory authentication information held by the processor side memory authentication information holding means to authenticate the first memory and comparing second memory authentication information obtained from a second memory and the second memory authentication information held by the processor side memory authentication information holding means to authenticate the second memory; and access control means for controlling access to the first memory and the second memory based on authentication results by the memory authentication means.
  • patent literature 1 determines whether or not to allow a data write and erase depending on a value of the protect flag.
  • patent literature 1 does not disclose how to control allowance or prohibition on rewriting the protect flag itself. Therefore, there has been a problem in which after the protect flag that has been set to a prohibit side is rewritten to an allow side, a malicious third party may rewrite or erase stored data.
  • the present inventor examined a logical configuration of hardware responsible for writing the protect flag in such a manner that the protect flag can never return to the allow side once set to the prohibit side.
  • a processor system includes a first storage unit that is composed of a plurality of electrically rewritable non-volatile memory cells, a second storage unit that stores an access prohibit flag that is capable of switching value from a first value to a second value, a first processor that issues an access request to the first storage unit and authentication information corresponding to the access request, a second processor that evaluates whether or not the authentication information issued from the first processor is valid, a copy register that stores a value corresponding to the first value when a value of the access prohibit flag is the first value and stores a value corresponding to an evaluation result by the second processor when the value of the access prohibit flag is the second value, and an access control circuit that controls whether or not to allow access from the first processor to the first storage unit based on the value stored to the copy register.
  • a method of controlling a processor system includes issuing, from a first processor, an access request to a first storage unit and authentication information corresponding to the access request, evaluating, by a second processor, whether or not the authentication information issued from the first processor is valid, storing, when a value of an access prohibit flag is a first value, a value corresponding to a first value to a copy register, in which the access prohibit flag is capable of switching value from the first value to a second value, storing, when the value of the access prohibit flag is the second value, a value corresponding to an evaluation result by the second processor to the copy register, and controlling whether or not to allow access from the first processor to the first storage unit based on the value stored to the copy register.
  • the circuit configuration and the control method as above enable flexible control on access to a semiconductor storage circuit even after a protect flag indicates the prohibition of the access to the semiconductor storage circuit.
  • the present invention can provide a processor system and a control method thereof that are capable of flexibly controlling the access to the semiconductor storage circuit even after the protect flag indicates the prohibition of the access to the semiconductor storage circuit.
  • FIG. 1 is a schematic diagram of a processor system to which the present invention is applied;
  • FIG. 2 is a block diagram showing apart of the processor system according to a first embodiment of the present invention
  • FIG. 3A is a block diagram showing a control unit according to the first embodiment of the present invention.
  • FIG. 3B is a block diagram showing the control unit according to the first embodiment of the present invention.
  • FIG. 4 is a flowchart showing an operation of the processor system according to the first embodiment of the present invention.
  • FIG. 5 is a diagram for explaining an operation of the processor system according to the first embodiment of the present invention.
  • FIG. 6 is a block diagram showing a modification of the processor system according to the first embodiment of the present invention.
  • FIG. 7 is a block diagram showing a processor system according to a second embodiment of the present invention.
  • FIG. 8A is a block diagram showing a processor system according to a third embodiment of the present invention.
  • FIG. 8B is a block diagram showing the processor system according to the third embodiment of the present invention.
  • FIG. 9 is a block diagram showing a non-volatile semiconductor storage device according to a related art.
  • FIG. 1 shows a schematic diagram of the processor system to which the present invention is applied.
  • the processor system according to the present invention realizes improvement in processing performance using a plurality of PEs (Processing Elements).
  • the functions are categorized into three subsystems other than the categorization of PE functional blocks.
  • the processor system according to the present invention has a main PE (Processing Element) subsystem, an IO (Input Output) subsystem, and an HSM (Hardware Security Module) subsystem.
  • PE Process Element
  • IO Input Output
  • HSM Hard Security Module
  • the main PE subsystem performs specific processing desired for the processor system based on a program that is already stored inside or a program read from outside.
  • the IO subsystem performs various processing for peripheral devices used by the main PE subsystem or the HSM subsystem to operate.
  • the HSM subsystem performs security check processing of the processing performed by the processor system.
  • clock signals CLKa, CLKb, CLKc, and CLKp are supplied to each subsystem.
  • the clock signal CLKa is supplied to the main PE subsystem
  • the clock signals CLKb and CLKp are supplied to the IO subsystem
  • the clock signal CLKc is supplied to the HSM subsystem.
  • clock signals CLKa, CLKb, and CLKc may either have the same frequency or different frequencies depending on the specification of the entire system configuration. Further, the clock signal CLKp is supplied to the peripheral devices and asynchronous with the clock signal CLKb that is supplied to the IO subsystem.
  • the main PE subsystem includes a main PEa (first processor), a main PEb, a first command memory (semiconductor storage circuit), a data memory, and a system bus.
  • the main PEa, the main PEb, the command memory, and the data memory are connected to each other through the system bus.
  • the first command memory stores a program.
  • the data memory temporarily stores a program read from outside and data processed in the processor system.
  • the main PEa and main PEb both execute the program using the command memory, the data memory and the like. Note that the main PEa is configured to be capable of executing redundant operations.
  • the redundant operation indicates an operation that operates as one processor element as software but as hardware, performs a highly reliable operation by a multiplexed configuration or a configuration including a testing circuit.
  • the redundant operation there is a lockstep operation that compares whether or not output results from circuits multiplexed for each clock are the same.
  • the IO subsystem includes a peripheral bus, an IOPE, and peripheral devices.
  • the IOPE performs necessary processing to use the peripheral devices. Note that the IOPE may operate based on the program stored to the first command memory of the main PE system or based on the program stored to other memory area.
  • the peripheral bus connects between the IOPE and the peripheral devices.
  • FIG. 1 illustrates a CAN unit, a FLEXRAY unit, an SPI unit, a UART unit, an ADC unit, a WD unit, and a timer.
  • the CAN unit performs communication compliant with CAN (Controller Area Network), which is one of in-vehicle communication standards for automobiles.
  • the FLEXRAY unit performs communication compliant with Flex Ray standard, which is one of in-vehicle communication standards for automobiles.
  • the SPI unit performs communication compliant with SPI (System Packet Interface) standard, which is three or four-wire serial communication.
  • SPI System Packet Interface
  • the UART (Universal Asynchronous Receiver Transmitter) unit in the asynchronous communication method, converts a serial signal into a parallel signal and also converts a parallel signal into a serial signal.
  • the ADC (Analog to Digital Converter) unit converts an analog signal supplied from a sensor and the like into a digital signal.
  • the WD (Watch Dog) unit offers a watchdog timer function that detects that a predetermined period has elapsed. The timer measures the time, generates waveforms and the like.
  • the above units are explained as the peripheral devices, however a unit including other function or only a part of the units can be included.
  • the HSM subsystem includes a security PE (second processor) and a second command memory.
  • the security PE is connected to the system bus.
  • the security PE evaluates validity of the program executed by the main PE subsystem or validity of the data obtained by executing the program.
  • the second command memory stores the program.
  • the second command memory is accessible only to the security PE.
  • the second command memory can be provided as one storage area together with the first command memory, the second command memory needs to be access controlled as an area accessible only to the security PE.
  • the processor system to which the present invention is applied realizes high resistance to an unexpected failure and a malfunction such as an unexpected program change while improving processing performance by the plurality of PEs.
  • the processor system explained so far is an example of the processor system to which the present invention is applied, and there can be variations in, for example, the arrangement of the command memory and data memory and the number of the command memories and data memories in the system depending on the architecture of the system. Further, there can be various configurations for the connection between the memory and the processor elements depending on the design of the architecture, for example the memory and the processor elements may be connected through a plurality of buses or the memory may be connected to the processor elements without bus.
  • FIG. 2 is a block diagram showing a specific configuration example of the processor system according to the first embodiment of the present invention.
  • the processor system according to this embodiment is characterized in that the processor system can flexibly control access to a storage unit 10 even after an access prohibit flag (protect flag) indicates the prohibition of access to the storage unit 10 .
  • an access prohibit flag (protect flag) indicates the prohibition of access to the storage unit 10 .
  • the first command memory includes the storage unit (first storage unit) 10 and a control unit 20 .
  • the first command memory is composed of a plurality of electrically rewritable non-volatile memory cells. Therefore, even when power supply is suspended, data stored to the first command memory is not erased but held.
  • the non-volatile semiconductor memory there are an EEPROM and a flash memory, for example.
  • the storage unit 10 includes a normal area 11 that stores a program and a control information area (second storage unit) 12 that stores an access prohibit flag 13 .
  • the normal area 11 and the control information area 12 are configured as one semiconductor memory, however it is not limited to this.
  • the normal area 11 and the control information area 12 may be configured in different semiconductor memories physically.
  • one of the normal area 11 and the control information area 12 may be provided in the first command memory and the remaining one of the normal area 11 and the control information area 12 may be provided in a memory different from the first command memory.
  • the control information area 12 stores the access prohibit flag 13 that is configured to specify whether to allow or prohibit writing, reading, and erasing the program in the storage unit 10 .
  • the access prohibit flag 13 is set to a prohibit side, writing, reading, and erasing the program in the storage unit 10 is prohibited.
  • the access prohibit flag 13 is set to an allow side, writing, reading, and erasing the program in the storage unit 10 is allowed.
  • the access prohibit flag 13 is formed in the control information area 12 such that once the access prohibit flag 13 is set to the prohibit side, the access prohibit flag 13 can never return to the allow side.
  • the access prohibit flag 13 is an L level (second value)
  • the access prohibit flag 13 is set to the prohibit side
  • the access prohibit flag 13 is an H level (first value)
  • the access prohibit flag 13 is set to the allow side.
  • FIG. 3A is a block diagram showing a detailed circuit configuration of the control unit 20 .
  • the control unit 20 includes an access control circuit 21 , a reset processing circuit 22 , and a reset generation circuit 23 .
  • the access control circuit 21 includes a memory controller 211 and a gating circuit 212 . Note that this embodiment explains the case as an example in which the gating circuit 212 is an AND circuit provided for each bit.
  • the access control circuit 21 Upon receipt of a request for writing, reading, or erasing the program in the storage unit 10 that is issued from the main PEa (first processor), the access control circuit 21 controls whether or not to execute processing corresponding to the request on the storage unit 10 based on an output value from an access prohibit flag copy register 32 , which is described later. Detailed explanation shall be provided below.
  • the gating circuit 212 controls, based on the output value from the access prohibit flag copy register 32 , whether or not to output the request for writing, reading, or erasing the program in the storage unit 10 that is issued from the main PEa (first processor) to the memory controller 211 .
  • the gating circuit 212 when the output value from the access prohibit flag copy register 32 is a value of the allow side (H level, for example), the gating circuit 212 outputs the access request as it is to the storage unit 10 that is issued from the main PEa to the subsequent stage memory controller 211 .
  • the gating circuit 212 when the output value from the access prohibit flag copy register 32 is a value of the prohibit side (L level, for example), the gating circuit 212 does not output the access request to the storage unit 10 that is issued from the main PEa. In this case, the gating circuit 212 outputs a fixed signal of L level to the memory controller 211 , for example.
  • the access request to the storage unit 10 that is issued from the main PEa is transmitted to the memory controller 211 .
  • the memory controller 211 generates a write enable signal WEN, an address signal ADD, and a data signal DATA based on the access request to the storage unit 10 that is issued from the main PEa. Note that the data signal DATA is generated upon writing and composes a part of the program.
  • the access control circuit 21 executes the processing corresponding to the request from the main PEa.
  • the access request to the storage unit 10 issued from the main PEa is not transmitted to the memory controller 211 . Therefore, the memory controller 211 does not execute the processing corresponding to the access request to the storage unit 10 that is issued from the main PEa. As described above, when the output value from the access prohibit flag copy register 32 is the value of the prohibit side, the access control circuit 21 does not execute the processing corresponding to the request from the main PEa.
  • the memory controller 211 outputs the write enable signal WEN, the address signal ADD, and the data signal DATA, it is not limited to this.
  • the memory controller 211 can be appropriately changed to a circuit configuration that outputs a signal corresponding to the specification of the storage unit 10 .
  • the memory controller 211 can be appropriately changed to a circuit configuration that further outputs other signal such as a chip enable signal CEN.
  • the access control circuit 21 is not limited to the configuration shown in FIG. 3A .
  • the access control circuit 21 can be appropriately changed to a configuration shown in FIG. 3B .
  • the configuration and an operation of the access control circuit 21 shown in FIG. 3B are explained below.
  • the access control circuit 21 includes the memory controller 211 and the gating circuits 212 - 1 to 212 - 3 .
  • This embodiment explains the case as an example in which the gating circuits 212 - 1 to 212 - 3 are AND circuits provided for each bit.
  • the access control circuit 21 Upon receipt of the request for writing, reading, or erasing the program in the storage unit 10 that is issued from the main PEa (first processor), the access control circuit 21 controls whether or not to execute the processing corresponding to the request based on the output value from the access prohibit flag copy register 32 , which is described later.
  • the memory controller 211 generates the write enable signal WEN, the address signal ADD, and the data signal DATA based on the request for writing, reading, or erasing the program in the storage unit 10 that is issued from the main PEa.
  • the data signal DATA is generated at the time of writing and composes apart of the program.
  • the gating circuits 212 - 1 to 212 - 3 control whether or not to output the write enable signal WEN, the address signal ADD, and the data signal DATA that are generated by the memory controller 211 based on the output value from the access prohibit flag copy register 32 .
  • the gating circuits 212 - 1 to 212 - 3 output the write enable signal WEN, the address signal ADD, and the data signal DATA from the memory controller 211 as they are to the storage unit 10 .
  • the data stored to the memory cell of the normal area 11 specified by the address signal ADD is read, and upon writing the program, the data signal DATA is written to the memory cell of the normal area 11 specified by the address signal ADD.
  • writing, reading, and erasing of the program is switched by the write enable signal WEN.
  • the access control circuit 21 executes the processing corresponding to the request from the main PEa.
  • the gating circuits 212 - 1 to 212 - 3 do not output the write enable signal WEN, the address signal ADD, and the data signal DATA from the memory controller 211 to the storage unit 10 .
  • all of the gating circuits 212 - 1 to 212 - 3 output a fixed signal of, for example, L level to the storage unit 10 .
  • the access control circuit 21 does not execute the processing corresponding to the request from the main PEa.
  • the reset generation circuit 23 generates a reset signal RST.
  • the reset generation circuit 23 may be configured to generate the reset signal RST based on a reset signal supplied from outside or may have a so-called power-on reset configuration that generates the reset signal RST when power is turned on. Note that this embodiment explains the case as an example in which the reset generation circuit 23 is included in the control unit 20 , however it is not limited to this. For example, the reset generation circuit 23 may be provided outside the processor system shown in FIG. 1 .
  • the reset processing circuit 22 Upon detection that the reset signal is cancelled after initialization by the reset signal RST, the reset processing circuit 22 transfers the value of the access prohibit flag 13 to the access prohibit flag copy register 32 (not shown in FIG. 3A ). Then, the value of the access prohibit flag copy register 32 is rewritten by the value of the access prohibit flag 13 .
  • the main PEa issues the “request for writing, reading, or erasing the program in the storage unit 10 ” to the control unit 20 . Further, the main PEa issues a “request for rewriting the access prohibit flag copy register 32 ” to the security PE provided in the HSM subsystem. Note that the “request for rewriting the access prohibit flag copy register 32 ” includes authentication information.
  • the security PE evaluates validity of the “request for rewriting the access prohibit flag copy register 32 ”. In other words, the security PE evaluates validity of the authentication information included in the “request for rewriting the access prohibit flag copy register 32 ”.
  • the security PE includes, for example, an authentication information storage unit 41 that stores predetermined authentication information in advance and an evaluation unit 42 that compares the authentication information stored to the authentication information storage unit 41 and the authentication information included in the request from the main PEa and evaluates the validity of the request.
  • the evaluation unit 42 evaluates that the request from the main PEa is valid when the authentication information matches and evaluates that the request from the main PEa is invalid when the authentication information do not match.
  • the security PE is not limited to the configuration shown in FIG. 2 .
  • the security PE can be changed to a configuration capable of evaluating the validity of the “request for rewriting the access prohibit flag copy register 32 ” that is issued from the main PEa as appropriate.
  • the HSM subsystem further includes a selector circuit 31 and the access prohibit flag copy register 32 .
  • the selector circuit 31 and the access prohibit flag copy register 32 are provided as different circuits from the second command memory (not shown in FIG. 2 ).
  • the security PE Upon receipt of the “request for writing the access prohibit flag copy register 32 ” issued from the main PEa, the security PE firstly evaluates the validity of the request. Specifically, in the security PE, the evaluation unit 42 compares the authentication information included in the “request for rewriting the access prohibit flag copy register 32 ” issued from the main PEa and the authentication information stored to the authentication information storage unit 41 and evaluates whether or not the request is valid. When the evaluation unit 42 evaluates that the request is valid, the evaluation unit 42 outputs a fixed signal corresponding to the request to one input terminal of the selector circuit 31 . Note that the value of the access prohibit flag 13 is input to the other input terminal of the selector circuit 31 upon cancellation of the reset signal RST.
  • the selector circuit 31 selectively outputs the fixed signal output from the security PE and the value of the access prohibit flag 13 after cancellation of the reset signal RST to the access prohibit flag copy register 32 . More specifically, when the security PE evaluates that the “request for rewriting the access prohibit flag copy register 32 ” is valid, the selector circuit 31 selects and outputs the fixed signal (H level) from the security PE. Further, when the reset signal RST is cancelled, the selector circuit 31 selects and outputs the value of the access prohibit flag 13 that is stored to the control information area 12 . Then, the value of the access prohibit flag copy register 32 is rewritten. That is, the value of the access prohibit flag copy register 32 is rewritten by the value of the access prohibit flag 13 upon cancellation of the reset signal RST. In other cases, the value of the access prohibit flag copy register 32 is rewritten only by the fixed signal from the security PE.
  • the main PEa when the main PEa issues the access request to the storage unit 10 , at the same time, the main PEa requests the security PE to rewrite the value of the access prohibit flag copy register 32 from the prohibit side to the allow side (from L level to H level).
  • the security PE evaluates that the request is valid, the security PE outputs a predetermined fixed signal (H level). Then, the value of the access prohibit flag copy register 32 is rewritten from the prohibit side to the allow side (from L level to H level). Accordingly, the access control circuit 21 can execute the processing corresponding to the request from the main PEa, as described above. Note that when the access prohibit flag 13 is set to the allow side, it is obvious that the access prohibit flag copy register 32 is also set to the allow side. Therefore, regardless of whether or not the request for rewriting the access prohibit flag copy register 32 is valid, the main PEa can access the storage unit 10 .
  • the main PEa Upon completion of writing, reading, or erasing the program in the storage unit 10 , the main PEa requests the security PE to rewrite the value of the access prohibit flag copy register 32 from the allow side to the prohibit side (from H level to L level). In this case, the security PE outputs the predetermined fixed signal (L level). Then, the value of the access prohibit flag copy register 32 is rewritten from the allow side to the prohibit side (from H level to L level). Accordingly, regardless of the request from the main PEa, the access control circuit 21 prohibits writing, reading, and erasing the program in the storage unit 10 .
  • FIG. 4 is a flowchart showing the operation of the processor system shown in FIG. 2 .
  • FIG. 5 is a diagram for explaining a flow of the operation of the processor system shown in FIG. 2 .
  • the access prohibit flag 13 is set to the allow side, and the access prohibit flag copy register 32 is also set to the allow side (step S 100 of FIG. 4 ). That is, it is possible to write the program to the storage unit 10 at the time of product shipment.
  • the access prohibit flag 13 is set to the prohibit side (step S 101 of FIG. 4 ).
  • step S 102 of FIG. 4 when the reset signal RST is cancelled (step S 102 of FIG. 4 ), the value of the access prohibit flag 13 is transferred to the access prohibit flag copy register 32 (step S 103 of FIG. 4 and F 1 of FIG. 5 ). Then, the access prohibit flag copy register 32 is rewritten to the prohibit side. As a result, writing of the program and the like cannot be performed to the storage unit 10 .
  • the main PEa requests the security PE to rewrite the access prohibit flag copy register 32 from the prohibit side to the allow side (step S 104 of FIG. 4 and F 2 of FIG. 5 ).
  • the security PE Upon receipt of the “request for rewriting the access prohibit flag copy register 32 ” issued from the main PEa, the security PE firstly evaluates the validity of the request (step S 105 of FIG. 4 ). When the security PE evaluates that the request is valid (YES in step S 105 of FIG. 4 ), the security PE outputs the fixed signal (H level, for example) corresponding to the request. Then, the access prohibit flag copy register 32 is rewritten from the prohibit side to the allow side (step S 106 of FIG. 4 and F 3 of FIG. 5 ). As a result, writing of the program to the storage unit 10 and the like becomes temporarily possible.
  • step S 111 of FIG. 4 the access prohibit flag copy register 32 remains to be the prohibit side. Therefore, writing of the program and the like cannot be performed to the storage unit 10 .
  • the main PEa Upon completion of writing the program to the storage unit 10 and the like in response to the request from the main PEa (F 4 of FIG. 5 ), the main PEa requests the security PE to rewrite the access prohibit flag copy register 32 from the allow side to the prohibit side (step S 107 of FIG. 4 ).
  • the security PE outputs the fixed signal (L level, for example).
  • the access prohibit flag copy register 32 is rewritten from the allow side to the prohibit side (step S 108 of FIG. 4 ).
  • writing of the program and the like cannot be performed to the storage unit 10 .
  • step S 109 upon initialization by the reset signal RST (step S 109 ), the value of the access prohibit flag 13 that has already been set to the prohibit side is transferred to the access prohibit flag copy register 32 (step S 110 of FIG. 4 and F 5 of FIG. 5 ). Then, the access prohibit flag copy register 32 is rewritten from the allow side to the prohibit side. That is, the access prohibit flag copy register 32 can be rewritten to the prohibit side for sure even when the access prohibit flag copy register 32 cannot be rewritten to the prohibit side for some reason.
  • the processor system includes the security PE that evaluates the validity of the authentication information issued together with the access request to the storage unit 10 , the access prohibit flag copy register 32 that stores the fixed value corresponding to the evaluation result by the security PE when the access prohibit flag 13 is set to the prohibit side, and the access control circuit 21 that controls whether or not to allow the access from the main PEa to the storage unit 10 based on the output value from the access prohibit flag copy register 32 . Then, in the processor system according to this embodiment, even when the access prohibit flag 13 indicates the prohibition of the access to the storage unit 10 , it is possible for a person with knowledge of the authentication information to rewrite the access prohibit flag copy register 32 so as to access the storage unit 10 . That is, the processor system according to this embodiment can flexibly control the access to the storage unit 10 even after the access prohibit flag 13 indicates the prohibition of the access to the storage unit 10 .
  • the access prohibit flag 13 is set to the prohibit side in order to protect the program stored to the storage unit 10 from a malicious third party, the manufacturer and the like with knowledge of the authentication information can rewrite the access prohibit flag copy register 32 so as to access the storage unit 10 . It is thus possible to update the program in the market.
  • the security PE that is different from the main PEa evaluates the validity of the authentication information. Accordingly, the processor system according to this embodiment can evaluate the validity of the authentication information (validity of the request for rewriting the copy register) while maintaining high security level without being influenced by vulnerability of the main PEa. Namely, the access prohibit flag copy register 32 can be rewritten while maintaining high security level.
  • the value of the access prohibit flag 13 is transferred to the access prohibit flag copy register 32 upon cancellation of the reset signal RST. Then, the access prohibit flag copy register 32 is set to the prohibit side for sure at every initialization by the reset signal RST even when the access prohibit flag copy register 32 is set to the allow side in response to the request from the main PEa. This enables limitation of the accessible period to the storage unit 10 to a certain period, thereby preventing unauthorized access.
  • the access prohibit flag 13 when the access prohibit flag 13 is set to the allow side, it is obvious that the access prohibit flag copy register 32 is also set to the allow side, thus allowing the access to the storage unit 10 without requiring to evaluate the validity of the authentication information. That is, when the access prohibit flag 13 is set to the allow side, it is possible to access the storage unit 10 without taking time to evaluate the validity of the authentication information.
  • the part of the selector circuit 31 can be realized by software.
  • FIG. 7 is a block diagram showing a processor system according to a second embodiment of the present invention.
  • the processor system according to this embodiment includes a plurality of access prohibit flags 13 - 1 to 13 - 3 in a control information area 12 a , a plurality of selector circuits 31 - 1 to 31 - 3 , and a plurality of access prohibit flag copy registers 32 - 1 to 32 - 3 in the HSM subsystem.
  • the access prohibit flag 13 - 1 sets whether or not to allow writing, reading, and erasing the program in the normal area 11 .
  • the access prohibit flag 13 - 2 sets whether or not to allow writing, reading, and erasing the program in the control information area 12 a .
  • the access prohibit flag 13 - 3 sets whether or not to allow writing, reading, and erasing the program in another memory (not shown).
  • the access prohibit flag copy registers 32 - 1 to 32 - 3 and the plurality of selector circuits 31 - 1 to 31 - 3 are provided corresponding to the access prohibit flags 13 - 1 to 13 - 3 , respectively. Since each operation is the same as the operation of the access prohibit flag copy register 32 and the selector circuit 31 explained in the first embodiment, the explanation shall not be provided here.
  • the processor system includes the plurality of access prohibit flags and the corresponding plurality of access prohibit flag copy registers, thereby allowing individual access control to the storage areas.
  • FIG. 8A is a block diagram showing a processor system according to a third embodiment of the present invention.
  • the processor system of this embodiment further includes a lock flag 14 in a control information area 12 b and a gating circuit 213 in an access control circuit 21 b .
  • the gating circuit 213 is an AND circuit provided for each bit.
  • the lock flag 14 sets whether or not to prohibit writing, reading, and erasing the program in a storage unit 10 b permanently.
  • the lock flag 14 is set to the prohibit side, regardless of the output value from the access prohibit flag copy register 32 , writing, reading, and erasing the program in the storage unit 10 b is prohibited.
  • the lock flag 14 is set to the allow side, it depends on the output value from the access prohibit flag copy register 32 whether or not writing, reading, and erasing the program in the storage unit 10 b is allowed. That is, when the lock flag 14 is set to the allow side, the processor system of this embodiment operates in a similar manner to the first embodiment.
  • the lock flag 14 is formed in the control information area 12 b such that once the lock flag 14 is set to the prohibit side, the lock flag 14 can never return to the allow side. Therefore, when the lock flag 14 is set to the prohibit side, writing, reading, and erasing the program in the storage unit 10 b is prohibited permanently.
  • the gating circuit 213 controls whether or not to output an output signal from the gating circuit 212 to the memory controller 211 based on a value of the lock flag 14 .
  • the case is explained as an example in which when the access prohibit flag 13 is the L level, the access prohibit flag 13 is set to the prohibit side, whereas when the access prohibit flag 13 is the H level, the access prohibit flag 13 is set to the allow side.
  • the gating circuit 213 outputs the output signal from the gating circuit 212 as it is to the memory controller 211 . That is, when the value of the lock flag 14 is the allow side (H level), the access control circuit 21 b operates in a similar manner to the access control circuit 21 shown in FIG. 3A .
  • the gating circuit 213 when the value of the lock flag 14 is the prohibit side (L level), the gating circuit 213 does not output the output signal from the gating circuit 212 to the memory controller 211 . In this case, the gating circuit 213 outputs the fixed signal of L level to the memory controller 211 , for example. As described above, when the value of the lock flag 14 is the prohibit side (L level), the access control circuit 21 b does not execute the processing corresponding to the request from the main PEa regardless of the output value from the access prohibit flag copy register 32 .
  • the processor system according to this embodiment can further improve the advantage of preventing unauthorized access as the access to the storage unit 10 can be completely prohibited in addition to achieving the similar advantage to the first embodiment.
  • the access control circuit 21 b is not limited to the configuration shown in FIG. 8A .
  • the access control circuit 21 b can be changed to a configuration shown in FIG. 8B as an example.
  • the configuration and an operation of the access control circuit 21 b shown in FIG. 8B are explained below.
  • the access control circuit 21 b shown in FIG. 8B further includes gating circuits 213 - 1 to 213 - 3 in addition to the access control circuit 21 shown in FIG. 3B .
  • this embodiment explains the case as an example in which the gating circuits 213 - 1 to 213 - 3 are AND circuits provided for each bit.
  • the gating circuits 213 - 1 to 213 - 3 control whether or not to output output signals from the gating circuits 212 - 1 to 212 - 3 to the storage unit 10 b , respectively, based on the value of the lock flag 14 .
  • the case is explained as an example in which when the access prohibit flag 13 is the L level, the access prohibit flag 13 is set to the prohibit side, whereas when the access prohibit flag 13 is H level, the access prohibit flag 13 is set to the allow side.
  • the gating circuits 213 - 1 to 213 - 3 output the output signals from the gating circuits 212 - 1 to 212 - 3 as they are to the storage unit 10 b . That is, when the value of the lock flag 14 is the allow side (H level), the access control circuit 21 b operates in a similar manner to the access control circuit 21 shown in FIG. 3B .
  • the gating circuits 213 - 1 to 213 - 3 do not output the output signals from the gating circuits 212 - 1 to 212 - 3 to the storage unit 10 b .
  • all of the gating circuits 213 - 1 to 213 - 3 output the fixed signal of L level to the storage unit 10 b , for example.
  • the access control circuit 21 b does not execute the processing corresponding to the request from the main PEa regardless of the output value from the access prohibit flag copy register 32 .
  • the present invention is not limited to the above first to third embodiments but can be changed within the scope and sprit of the present invention.
  • the above first to third embodiments explained the case as an example in which the access control can be possible to any of the request for writing, reading, and erasing the program, however it is not limited to this.
  • the configuration can be changed to a circuit configuration that can be access controlled for at least one of writing, reading, and erasing request.
  • the above first to third embodiments explained the case as an example in which the gating circuits 212 - 1 to 212 - 1 and 213 - 1 to 213 - 3 are AND circuits provided for each bit, however it is not limited to this and the configuration can be changed to a circuit configuration achieving the similar advantages as appropriate. Therefore, the gating circuit may have a common circuit configuration composed of, for example, a latch circuit and an AND circuit.
  • the first to third embodiments explained the case as an example in which the value of the access prohibit flag 13 and the output value from the access prohibit flag copy register 32 are one bit, it is not limited to this.
  • the value of the access prohibit flag 13 and the output value from the access prohibit flag copy register 32 may both be composed of a plurality of bits.
  • a plurality of access prohibit flags 13 may be provided, and it may be determined whether to allow or prohibit access by the majority value of the plurality of access prohibit flags 13 .
  • the plurality of access prohibit flag copy registers 32 may be provided, and it may be determined whether to allow or prohibit the access to the storage unit 10 by the majority output value of the plurality of access prohibit flag copy register 32 . That is, it may be the configuration including multiplexed access prohibit flags 13 and access prohibit flag copy registers 32 .
  • the access prohibit flag 13 can never return to the prohibit side. This is because that even with an authentication system, it is not preferable to allow free changes of the control information area 12 which makes up the basis of security. Moreover, when the normal area 11 and the control information area 12 are integrally configured and accessible via a single port, it is not possible to simultaneously read the value of the access prohibit flag 13 and access the normal area 11 . It is thus more efficient to rewrite the value of the access prohibit flag copy register 32 that stores the value of the access prohibit flag 13 .

Abstract

A processor system according to the present invention includes a storage unit (10), a control information area (12) that stores an access prohibit flag (13) capable of switching from an allow side to a prohibit side, a main PEa that issues an access request to the storage unit (10) and a request for rewriting a copy register (32), a security PE that evaluates whether or not the request for rewriting the copy register (32) is valid, the copy register (32) that stores, when the access prohibit flag (13) is set to the allow side, a value corresponding to the allowance and, when the access prohibit flag (13) is set to the prohibit side, a value corresponding to an evaluation result by the security PE, and an access control circuit (21) that controls whether or not to allow access from the main PEa to the storage unit (10) based on an output value from the copy register (32).

Description

CROSS REFERENCE TO RELATED APPLICATIONS
The application is a continuation application of U.S. application Ser. No. 14/007,514, filed Sep. 25, 2013, which is the National Stage of Application No. PCT/JP2012/001284 filed on Feb. 24, 2012, which is based upon and claims the benefit of priority from Japanese Application No. 2011-080479, filed Mar. 31, 2011, the entire contents of all of which are incorporated herein by reference.
TECHNICAL FIELD
The present invention relates to a processor system and a control method thereof, and particularly to a processor system including a semiconductor storage circuit that can be access controlled and a control method thereof.
BACKGROUND ART
Patent literature 1 discloses a non-volatile semiconductor storage device including a protection function from a data write or erase. FIG. 9 is a block diagram showing the non-volatile semiconductor storage device disclosed in patent literature 1. As shown in FIG. 9, this non-volatile semiconductor storage device includes a memory cell array 1 composed of a plurality of memory blocks, interfaces 6 and 7, write circuits 2, 3, 4, 5, and 8 and read circuits 2, 3, 4, 5, and 8. A protect flag is written in the above-mentioned memory block. The above circuit is characterized in that in response to a write command input from the above interface, the write circuit executes the write command when the protect flag has a first value and does not execute the write command when the protect flag has a second value.
Patent literature 2 discloses a processor that attempts to prevent unauthorized actions such as unauthorized access to a computer at low cost. The processor disclosed in patent literature 2 includes: processor side memory authentication information holding means configured integrally with a computing means for holding first memory authentication information and second memory authentication information; memory authentication means for comparing first memory authentication information obtained from a first memory and the first memory authentication information held by the processor side memory authentication information holding means to authenticate the first memory and comparing second memory authentication information obtained from a second memory and the second memory authentication information held by the processor side memory authentication information holding means to authenticate the second memory; and access control means for controlling access to the first memory and the second memory based on authentication results by the memory authentication means.
CITATION LIST Patent Literature
  • Patent literature 1: Japanese Unexamined Patent Application Publication No. 2005-108273
  • Patent literature 2: Japanese Unexamined Patent Application Publication No. 2007-066201
SUMMARY OF INVENTION Technical Problem
The non-volatile semiconductor storage device (semiconductor storage circuit) disclosed in patent literature 1 determines whether or not to allow a data write and erase depending on a value of the protect flag. However, patent literature 1 does not disclose how to control allowance or prohibition on rewriting the protect flag itself. Therefore, there has been a problem in which after the protect flag that has been set to a prohibit side is rewritten to an allow side, a malicious third party may rewrite or erase stored data.
As a solution to such a problem, the present inventor examined a logical configuration of hardware responsible for writing the protect flag in such a manner that the protect flag can never return to the allow side once set to the prohibit side.
However, with this configuration, once the protect flag is set to the prohibit side, it becomes impossible, not only for the malicious third party, to write or erase data in a non-volatile semiconductor storage device. For example, once the manufacturer sets the protect flag to the prohibit side in order to prevent a data write or erase by the malicious third party, the manufacturer itself will be unable to write or erase data after that. Therefore, it becomes impossible to update a program stored to the non-volatile semiconductor storage device that is already available in the market. Accordingly, with the configuration in which the protect flag can never return to the allow side once the protect flag is set to the prohibit side, an advantage of the non-volatile semiconductor storage device is lost, which is rewritable property.
As described above, in the related arts, there has been a problem that once the protect flag indicates the prohibition of the access to the semiconductor storage circuit, the access to the semiconductor storage circuit cannot be flexibly controlled after that.
Solution to Problem
A processor system according to the present invention includes a first storage unit that is composed of a plurality of electrically rewritable non-volatile memory cells, a second storage unit that stores an access prohibit flag that is capable of switching value from a first value to a second value, a first processor that issues an access request to the first storage unit and authentication information corresponding to the access request, a second processor that evaluates whether or not the authentication information issued from the first processor is valid, a copy register that stores a value corresponding to the first value when a value of the access prohibit flag is the first value and stores a value corresponding to an evaluation result by the second processor when the value of the access prohibit flag is the second value, and an access control circuit that controls whether or not to allow access from the first processor to the first storage unit based on the value stored to the copy register.
Further, a method of controlling a processor system according to the present invention includes issuing, from a first processor, an access request to a first storage unit and authentication information corresponding to the access request, evaluating, by a second processor, whether or not the authentication information issued from the first processor is valid, storing, when a value of an access prohibit flag is a first value, a value corresponding to a first value to a copy register, in which the access prohibit flag is capable of switching value from the first value to a second value, storing, when the value of the access prohibit flag is the second value, a value corresponding to an evaluation result by the second processor to the copy register, and controlling whether or not to allow access from the first processor to the first storage unit based on the value stored to the copy register.
The circuit configuration and the control method as above enable flexible control on access to a semiconductor storage circuit even after a protect flag indicates the prohibition of the access to the semiconductor storage circuit.
Advantageous Effects of Invention
The present invention can provide a processor system and a control method thereof that are capable of flexibly controlling the access to the semiconductor storage circuit even after the protect flag indicates the prohibition of the access to the semiconductor storage circuit.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a schematic diagram of a processor system to which the present invention is applied;
FIG. 2 is a block diagram showing apart of the processor system according to a first embodiment of the present invention;
FIG. 3A is a block diagram showing a control unit according to the first embodiment of the present invention;
FIG. 3B is a block diagram showing the control unit according to the first embodiment of the present invention;
FIG. 4 is a flowchart showing an operation of the processor system according to the first embodiment of the present invention;
FIG. 5 is a diagram for explaining an operation of the processor system according to the first embodiment of the present invention;
FIG. 6 is a block diagram showing a modification of the processor system according to the first embodiment of the present invention;
FIG. 7 is a block diagram showing a processor system according to a second embodiment of the present invention;
FIG. 8A is a block diagram showing a processor system according to a third embodiment of the present invention;
FIG. 8B is a block diagram showing the processor system according to the third embodiment of the present invention; and
FIG. 9 is a block diagram showing a non-volatile semiconductor storage device according to a related art.
DESCRIPTION OF EMBODIMENTS
Prior to detailed explanation of the embodiments of the present invention, an overview of a processor system (information processing apparatus) to which the present invention is applied is explained. Note that although the present invention is applied to the processor system explained below, the processor system to be explained is an example and the present invention can be applied to other processor system.
FIG. 1 shows a schematic diagram of the processor system to which the present invention is applied. As shown in FIG. 1, the processor system according to the present invention realizes improvement in processing performance using a plurality of PEs (Processing Elements). Moreover, in the processor system according to the present invention, the functions are categorized into three subsystems other than the categorization of PE functional blocks. As shown in FIG. 1, the processor system according to the present invention has a main PE (Processing Element) subsystem, an IO (Input Output) subsystem, and an HSM (Hardware Security Module) subsystem.
The main PE subsystem performs specific processing desired for the processor system based on a program that is already stored inside or a program read from outside. The IO subsystem performs various processing for peripheral devices used by the main PE subsystem or the HSM subsystem to operate. The HSM subsystem performs security check processing of the processing performed by the processor system. Moreover, in the processor system according to the present invention, clock signals CLKa, CLKb, CLKc, and CLKp are supplied to each subsystem. In the example shown in FIG. 1, the clock signal CLKa is supplied to the main PE subsystem, the clock signals CLKb and CLKp are supplied to the IO subsystem, and the clock signal CLKc is supplied to the HSM subsystem. These clock signals CLKa, CLKb, and CLKc may either have the same frequency or different frequencies depending on the specification of the entire system configuration. Further, the clock signal CLKp is supplied to the peripheral devices and asynchronous with the clock signal CLKb that is supplied to the IO subsystem.
Next, each subsystem is explained in more detail. The main PE subsystem includes a main PEa (first processor), a main PEb, a first command memory (semiconductor storage circuit), a data memory, and a system bus. In the main PE subsystem, the main PEa, the main PEb, the command memory, and the data memory are connected to each other through the system bus. The first command memory stores a program. The data memory temporarily stores a program read from outside and data processed in the processor system. The main PEa and main PEb both execute the program using the command memory, the data memory and the like. Note that the main PEa is configured to be capable of executing redundant operations. The redundant operation indicates an operation that operates as one processor element as software but as hardware, performs a highly reliable operation by a multiplexed configuration or a configuration including a testing circuit. As an example of the redundant operation, there is a lockstep operation that compares whether or not output results from circuits multiplexed for each clock are the same.
The IO subsystem includes a peripheral bus, an IOPE, and peripheral devices. The IOPE performs necessary processing to use the peripheral devices. Note that the IOPE may operate based on the program stored to the first command memory of the main PE system or based on the program stored to other memory area. The peripheral bus connects between the IOPE and the peripheral devices.
As the peripheral devices, FIG. 1 illustrates a CAN unit, a FLEXRAY unit, an SPI unit, a UART unit, an ADC unit, a WD unit, and a timer. The CAN unit performs communication compliant with CAN (Controller Area Network), which is one of in-vehicle communication standards for automobiles. The FLEXRAY unit performs communication compliant with Flex Ray standard, which is one of in-vehicle communication standards for automobiles. The SPI unit performs communication compliant with SPI (System Packet Interface) standard, which is three or four-wire serial communication. The UART (Universal Asynchronous Receiver Transmitter) unit, in the asynchronous communication method, converts a serial signal into a parallel signal and also converts a parallel signal into a serial signal. The ADC (Analog to Digital Converter) unit converts an analog signal supplied from a sensor and the like into a digital signal. The WD (Watch Dog) unit offers a watchdog timer function that detects that a predetermined period has elapsed. The timer measures the time, generates waveforms and the like. In the example of FIG. 1, the above units are explained as the peripheral devices, however a unit including other function or only a part of the units can be included.
The HSM subsystem includes a security PE (second processor) and a second command memory. The security PE is connected to the system bus. The security PE evaluates validity of the program executed by the main PE subsystem or validity of the data obtained by executing the program. The second command memory stores the program. Moreover, the second command memory is accessible only to the security PE. Although the second command memory can be provided as one storage area together with the first command memory, the second command memory needs to be access controlled as an area accessible only to the security PE.
As described above, the processor system to which the present invention is applied realizes high resistance to an unexpected failure and a malfunction such as an unexpected program change while improving processing performance by the plurality of PEs. Note that the processor system explained so far is an example of the processor system to which the present invention is applied, and there can be variations in, for example, the arrangement of the command memory and data memory and the number of the command memories and data memories in the system depending on the architecture of the system. Further, there can be various configurations for the connection between the memory and the processor elements depending on the design of the architecture, for example the memory and the processor elements may be connected through a plurality of buses or the memory may be connected to the processor elements without bus.
The above explanation is for the entire configuration of the processor system to which the present invention is applied. However, the components not explained in the explanation of the above-mentioned processor system shall be added as appropriate in the description of the embodiments according to the present invention. Additional components shall be explained as well.
Hereinafter, embodiments of the present invention are explained with reference to the drawings. Note that the drawings are simplified, and the technical scope of the present invention shall not be interpreted in a narrow sense based on the description of the drawings. The same components are denoted by the same reference numerals, and repeated explanation shall not be provided.
First Embodiment
FIG. 2 is a block diagram showing a specific configuration example of the processor system according to the first embodiment of the present invention. The processor system according to this embodiment is characterized in that the processor system can flexibly control access to a storage unit 10 even after an access prohibit flag (protect flag) indicates the prohibition of access to the storage unit 10. Detailed explanation shall be provided below.
In the processor system shown in FIG. 2, the first command memory includes the storage unit (first storage unit) 10 and a control unit 20. The first command memory is composed of a plurality of electrically rewritable non-volatile memory cells. Therefore, even when power supply is suspended, data stored to the first command memory is not erased but held. As the non-volatile semiconductor memory, there are an EEPROM and a flash memory, for example.
(Storage Unit 10)
The storage unit 10 includes a normal area 11 that stores a program and a control information area (second storage unit) 12 that stores an access prohibit flag 13. Note that this embodiment explains the case as an example in which the normal area 11 and the control information area 12 are configured as one semiconductor memory, however it is not limited to this. The normal area 11 and the control information area 12 may be configured in different semiconductor memories physically. For example, one of the normal area 11 and the control information area 12 may be provided in the first command memory and the remaining one of the normal area 11 and the control information area 12 may be provided in a memory different from the first command memory.
The control information area 12 stores the access prohibit flag 13 that is configured to specify whether to allow or prohibit writing, reading, and erasing the program in the storage unit 10. When the access prohibit flag 13 is set to a prohibit side, writing, reading, and erasing the program in the storage unit 10 is prohibited. On the other hand, when the access prohibit flag 13 is set to an allow side, writing, reading, and erasing the program in the storage unit 10 is allowed. Here, the access prohibit flag 13 is formed in the control information area 12 such that once the access prohibit flag 13 is set to the prohibit side, the access prohibit flag 13 can never return to the allow side. Hereinafter, the case is explained as an example in which when the access prohibit flag 13 is an L level (second value), the access prohibit flag is set to the prohibit side, whereas when the access prohibit flag 13 is an H level (first value), the access prohibit flag 13 is set to the allow side.
(Control Unit 20)
FIG. 3A is a block diagram showing a detailed circuit configuration of the control unit 20. As shown in FIG. 3A, the control unit 20 includes an access control circuit 21, a reset processing circuit 22, and a reset generation circuit 23. The access control circuit 21 includes a memory controller 211 and a gating circuit 212. Note that this embodiment explains the case as an example in which the gating circuit 212 is an AND circuit provided for each bit.
Upon receipt of a request for writing, reading, or erasing the program in the storage unit 10 that is issued from the main PEa (first processor), the access control circuit 21 controls whether or not to execute processing corresponding to the request on the storage unit 10 based on an output value from an access prohibit flag copy register 32, which is described later. Detailed explanation shall be provided below.
The gating circuit 212 controls, based on the output value from the access prohibit flag copy register 32, whether or not to output the request for writing, reading, or erasing the program in the storage unit 10 that is issued from the main PEa (first processor) to the memory controller 211.
For example, when the output value from the access prohibit flag copy register 32 is a value of the allow side (H level, for example), the gating circuit 212 outputs the access request as it is to the storage unit 10 that is issued from the main PEa to the subsequent stage memory controller 211. On the other hand, when the output value from the access prohibit flag copy register 32 is a value of the prohibit side (L level, for example), the gating circuit 212 does not output the access request to the storage unit 10 that is issued from the main PEa. In this case, the gating circuit 212 outputs a fixed signal of L level to the memory controller 211, for example.
When the output value from the access prohibit flag copy register 32 is the value of the allow side, the access request to the storage unit 10 that is issued from the main PEa is transmitted to the memory controller 211. The memory controller 211 generates a write enable signal WEN, an address signal ADD, and a data signal DATA based on the access request to the storage unit 10 that is issued from the main PEa. Note that the data signal DATA is generated upon writing and composes a part of the program.
Here, upon reading the program, the data stored to a memory cell of the normal area 11 specified by the address signal ADD is read, and upon writing the program, the data signal DATA is written to a memory cell of the normal area 11 specified by the address signal ADD. Note that writing, reading, and erasing of the program is switched by the write enable signal WEN. As mentioned above, when the output value from the access prohibit flag copy register 32 is the value of the allow side, the access control circuit 21 executes the processing corresponding to the request from the main PEa.
On the other hand, when the output value from the access prohibit flag copy register 32 is the value of the prohibit side, the access request to the storage unit 10 issued from the main PEa is not transmitted to the memory controller 211. Therefore, the memory controller 211 does not execute the processing corresponding to the access request to the storage unit 10 that is issued from the main PEa. As described above, when the output value from the access prohibit flag copy register 32 is the value of the prohibit side, the access control circuit 21 does not execute the processing corresponding to the request from the main PEa.
Note that although this embodiment explains the case as an example in which the memory controller 211 outputs the write enable signal WEN, the address signal ADD, and the data signal DATA, it is not limited to this. The memory controller 211 can be appropriately changed to a circuit configuration that outputs a signal corresponding to the specification of the storage unit 10. For example, the memory controller 211 can be appropriately changed to a circuit configuration that further outputs other signal such as a chip enable signal CEN.
Moreover, the access control circuit 21 is not limited to the configuration shown in FIG. 3A. For example, the access control circuit 21 can be appropriately changed to a configuration shown in FIG. 3B. The configuration and an operation of the access control circuit 21 shown in FIG. 3B are explained below.
In FIG. 3B, the access control circuit 21 includes the memory controller 211 and the gating circuits 212-1 to 212-3. This embodiment explains the case as an example in which the gating circuits 212-1 to 212-3 are AND circuits provided for each bit.
Upon receipt of the request for writing, reading, or erasing the program in the storage unit 10 that is issued from the main PEa (first processor), the access control circuit 21 controls whether or not to execute the processing corresponding to the request based on the output value from the access prohibit flag copy register 32, which is described later.
More specifically, in the access control circuit 21, the memory controller 211 generates the write enable signal WEN, the address signal ADD, and the data signal DATA based on the request for writing, reading, or erasing the program in the storage unit 10 that is issued from the main PEa. Note that the data signal DATA is generated at the time of writing and composes apart of the program. The gating circuits 212-1 to 212-3 control whether or not to output the write enable signal WEN, the address signal ADD, and the data signal DATA that are generated by the memory controller 211 based on the output value from the access prohibit flag copy register 32.
For example, when the output value from the access prohibit flag copy register 32 is the value of the allow side (H level, for example), the gating circuits 212-1 to 212-3 output the write enable signal WEN, the address signal ADD, and the data signal DATA from the memory controller 211 as they are to the storage unit 10. Here, upon reading the program, the data stored to the memory cell of the normal area 11 specified by the address signal ADD is read, and upon writing the program, the data signal DATA is written to the memory cell of the normal area 11 specified by the address signal ADD.
Note that writing, reading, and erasing of the program is switched by the write enable signal WEN. As mentioned above, when the output value from the access prohibit flag copy register 32 is the value of the allow side, the access control circuit 21 executes the processing corresponding to the request from the main PEa.
On the other hand, when the output value from the access prohibit flag copy register 32 is the value of the prohibit side (L level, for example), the gating circuits 212-1 to 212-3 do not output the write enable signal WEN, the address signal ADD, and the data signal DATA from the memory controller 211 to the storage unit 10. In this case, all of the gating circuits 212-1 to 212-3 output a fixed signal of, for example, L level to the storage unit 10. As described so far, when the output value from the access prohibit flag copy register 32 is the L level, the access control circuit 21 does not execute the processing corresponding to the request from the main PEa.
Returning to FIG. 3A, the reset generation circuit 23 generates a reset signal RST. The reset generation circuit 23 may be configured to generate the reset signal RST based on a reset signal supplied from outside or may have a so-called power-on reset configuration that generates the reset signal RST when power is turned on. Note that this embodiment explains the case as an example in which the reset generation circuit 23 is included in the control unit 20, however it is not limited to this. For example, the reset generation circuit 23 may be provided outside the processor system shown in FIG. 1.
Upon detection that the reset signal is cancelled after initialization by the reset signal RST, the reset processing circuit 22 transfers the value of the access prohibit flag 13 to the access prohibit flag copy register 32 (not shown in FIG. 3A). Then, the value of the access prohibit flag copy register 32 is rewritten by the value of the access prohibit flag 13.
Returning to FIG. 2, the main PEa issues the “request for writing, reading, or erasing the program in the storage unit 10” to the control unit 20. Further, the main PEa issues a “request for rewriting the access prohibit flag copy register 32” to the security PE provided in the HSM subsystem. Note that the “request for rewriting the access prohibit flag copy register 32” includes authentication information.
The security PE evaluates validity of the “request for rewriting the access prohibit flag copy register 32”. In other words, the security PE evaluates validity of the authentication information included in the “request for rewriting the access prohibit flag copy register 32”.
The security PE includes, for example, an authentication information storage unit 41 that stores predetermined authentication information in advance and an evaluation unit 42 that compares the authentication information stored to the authentication information storage unit 41 and the authentication information included in the request from the main PEa and evaluates the validity of the request. For example, the evaluation unit 42 evaluates that the request from the main PEa is valid when the authentication information matches and evaluates that the request from the main PEa is invalid when the authentication information do not match. Note that the security PE is not limited to the configuration shown in FIG. 2. The security PE can be changed to a configuration capable of evaluating the validity of the “request for rewriting the access prohibit flag copy register 32” that is issued from the main PEa as appropriate.
Moreover, in addition to the security PE, the HSM subsystem further includes a selector circuit 31 and the access prohibit flag copy register 32. The selector circuit 31 and the access prohibit flag copy register 32 are provided as different circuits from the second command memory (not shown in FIG. 2).
Upon receipt of the “request for writing the access prohibit flag copy register 32” issued from the main PEa, the security PE firstly evaluates the validity of the request. Specifically, in the security PE, the evaluation unit 42 compares the authentication information included in the “request for rewriting the access prohibit flag copy register 32” issued from the main PEa and the authentication information stored to the authentication information storage unit 41 and evaluates whether or not the request is valid. When the evaluation unit 42 evaluates that the request is valid, the evaluation unit 42 outputs a fixed signal corresponding to the request to one input terminal of the selector circuit 31. Note that the value of the access prohibit flag 13 is input to the other input terminal of the selector circuit 31 upon cancellation of the reset signal RST.
The selector circuit 31 selectively outputs the fixed signal output from the security PE and the value of the access prohibit flag 13 after cancellation of the reset signal RST to the access prohibit flag copy register 32. More specifically, when the security PE evaluates that the “request for rewriting the access prohibit flag copy register 32” is valid, the selector circuit 31 selects and outputs the fixed signal (H level) from the security PE. Further, when the reset signal RST is cancelled, the selector circuit 31 selects and outputs the value of the access prohibit flag 13 that is stored to the control information area 12. Then, the value of the access prohibit flag copy register 32 is rewritten. That is, the value of the access prohibit flag copy register 32 is rewritten by the value of the access prohibit flag 13 upon cancellation of the reset signal RST. In other cases, the value of the access prohibit flag copy register 32 is rewritten only by the fixed signal from the security PE.
For example, when the main PEa issues the access request to the storage unit 10, at the same time, the main PEa requests the security PE to rewrite the value of the access prohibit flag copy register 32 from the prohibit side to the allow side (from L level to H level). When the security PE evaluates that the request is valid, the security PE outputs a predetermined fixed signal (H level). Then, the value of the access prohibit flag copy register 32 is rewritten from the prohibit side to the allow side (from L level to H level). Accordingly, the access control circuit 21 can execute the processing corresponding to the request from the main PEa, as described above. Note that when the access prohibit flag 13 is set to the allow side, it is obvious that the access prohibit flag copy register 32 is also set to the allow side. Therefore, regardless of whether or not the request for rewriting the access prohibit flag copy register 32 is valid, the main PEa can access the storage unit 10.
Upon completion of writing, reading, or erasing the program in the storage unit 10, the main PEa requests the security PE to rewrite the value of the access prohibit flag copy register 32 from the allow side to the prohibit side (from H level to L level). In this case, the security PE outputs the predetermined fixed signal (L level). Then, the value of the access prohibit flag copy register 32 is rewritten from the allow side to the prohibit side (from H level to L level). Accordingly, regardless of the request from the main PEa, the access control circuit 21 prohibits writing, reading, and erasing the program in the storage unit 10.
Note that even when the value of the access prohibit flag copy register 32 cannot be rewritten to the prohibit side (L level) for some reason, it is possible to rewrite the value of the access prohibit flag copy register 32 to the prohibit side (L level) by transferring the value of the access prohibition flag 13, which has already been set to the prohibit side, upon cancellation of the reset signal RST. This further ensures prohibition of the access to the storage unit 10, thereby preventing unauthorized access.
(Flowchart)
Next, an operation of the processor system according to this embodiment is explained using FIGS. 4 and 5. FIG. 4 is a flowchart showing the operation of the processor system shown in FIG. 2. FIG. 5 is a diagram for explaining a flow of the operation of the processor system shown in FIG. 2.
First, in the initial state at the time of product shipment, for example, the access prohibit flag 13 is set to the allow side, and the access prohibit flag copy register 32 is also set to the allow side (step S100 of FIG. 4). That is, it is possible to write the program to the storage unit 10 at the time of product shipment.
After writing of the program to the storage unit 10 and the like is completed, the access prohibit flag 13 is set to the prohibit side (step S101 of FIG. 4).
After that, when the reset signal RST is cancelled (step S102 of FIG. 4), the value of the access prohibit flag 13 is transferred to the access prohibit flag copy register 32 (step S103 of FIG. 4 and F1 of FIG. 5). Then, the access prohibit flag copy register 32 is rewritten to the prohibit side. As a result, writing of the program and the like cannot be performed to the storage unit 10.
After that, in an attempt to write the program to the storage unit 10, for example, the main PEa requests the security PE to rewrite the access prohibit flag copy register 32 from the prohibit side to the allow side (step S104 of FIG. 4 and F2 of FIG. 5).
Upon receipt of the “request for rewriting the access prohibit flag copy register 32” issued from the main PEa, the security PE firstly evaluates the validity of the request (step S105 of FIG. 4). When the security PE evaluates that the request is valid (YES in step S105 of FIG. 4), the security PE outputs the fixed signal (H level, for example) corresponding to the request. Then, the access prohibit flag copy register 32 is rewritten from the prohibit side to the allow side (step S106 of FIG. 4 and F3 of FIG. 5). As a result, writing of the program to the storage unit 10 and the like becomes temporarily possible.
Note that when the security PE evaluates that the request from the main PEa is invalid (NO in step S105 of FIG. 4), the access prohibit flag copy register 32 is not rewritten (step S111 of FIG. 4). That is, the access prohibit flag copy register 32 remains to be the prohibit side. Therefore, writing of the program and the like cannot be performed to the storage unit 10.
Upon completion of writing the program to the storage unit 10 and the like in response to the request from the main PEa (F4 of FIG. 5), the main PEa requests the security PE to rewrite the access prohibit flag copy register 32 from the allow side to the prohibit side (step S107 of FIG. 4). In this case, the security PE outputs the fixed signal (L level, for example). Then, the access prohibit flag copy register 32 is rewritten from the allow side to the prohibit side (step S108 of FIG. 4). As a result, writing of the program and the like cannot be performed to the storage unit 10.
After that, upon initialization by the reset signal RST (step S109), the value of the access prohibit flag 13 that has already been set to the prohibit side is transferred to the access prohibit flag copy register 32 (step S110 of FIG. 4 and F5 of FIG. 5). Then, the access prohibit flag copy register 32 is rewritten from the allow side to the prohibit side. That is, the access prohibit flag copy register 32 can be rewritten to the prohibit side for sure even when the access prohibit flag copy register 32 cannot be rewritten to the prohibit side for some reason.
As described above, the processor system according to this embodiment includes the security PE that evaluates the validity of the authentication information issued together with the access request to the storage unit 10, the access prohibit flag copy register 32 that stores the fixed value corresponding to the evaluation result by the security PE when the access prohibit flag 13 is set to the prohibit side, and the access control circuit 21 that controls whether or not to allow the access from the main PEa to the storage unit 10 based on the output value from the access prohibit flag copy register 32. Then, in the processor system according to this embodiment, even when the access prohibit flag 13 indicates the prohibition of the access to the storage unit 10, it is possible for a person with knowledge of the authentication information to rewrite the access prohibit flag copy register 32 so as to access the storage unit 10. That is, the processor system according to this embodiment can flexibly control the access to the storage unit 10 even after the access prohibit flag 13 indicates the prohibition of the access to the storage unit 10.
Therefore, even after the access prohibit flag 13 is set to the prohibit side in order to protect the program stored to the storage unit 10 from a malicious third party, the manufacturer and the like with knowledge of the authentication information can rewrite the access prohibit flag copy register 32 so as to access the storage unit 10. It is thus possible to update the program in the market.
Further, in the processor system according to this embodiment, the security PE that is different from the main PEa evaluates the validity of the authentication information. Accordingly, the processor system according to this embodiment can evaluate the validity of the authentication information (validity of the request for rewriting the copy register) while maintaining high security level without being influenced by vulnerability of the main PEa. Namely, the access prohibit flag copy register 32 can be rewritten while maintaining high security level.
Furthermore, in the processor system according to this embodiment, the value of the access prohibit flag 13 is transferred to the access prohibit flag copy register 32 upon cancellation of the reset signal RST. Then, the access prohibit flag copy register 32 is set to the prohibit side for sure at every initialization by the reset signal RST even when the access prohibit flag copy register 32 is set to the allow side in response to the request from the main PEa. This enables limitation of the accessible period to the storage unit 10 to a certain period, thereby preventing unauthorized access.
Note that when the access prohibit flag 13 is set to the allow side, it is obvious that the access prohibit flag copy register 32 is also set to the allow side, thus allowing the access to the storage unit 10 without requiring to evaluate the validity of the authentication information. That is, when the access prohibit flag 13 is set to the allow side, it is possible to access the storage unit 10 without taking time to evaluate the validity of the authentication information.
Note that although this embodiment explained an example in which the selector circuit 31 is provided, it is not limited to this. For example, as shown in FIG. 6, the part of the selector circuit 31 can be realized by software.
Second Embodiment
FIG. 7 is a block diagram showing a processor system according to a second embodiment of the present invention. A difference from the processor system according to the first embodiment is that the processor system according to this embodiment includes a plurality of access prohibit flags 13-1 to 13-3 in a control information area 12 a, a plurality of selector circuits 31-1 to 31-3, and a plurality of access prohibit flag copy registers 32-1 to 32-3 in the HSM subsystem.
The access prohibit flag 13-1 sets whether or not to allow writing, reading, and erasing the program in the normal area 11. The access prohibit flag 13-2 sets whether or not to allow writing, reading, and erasing the program in the control information area 12 a. The access prohibit flag 13-3 sets whether or not to allow writing, reading, and erasing the program in another memory (not shown).
The access prohibit flag copy registers 32-1 to 32-3 and the plurality of selector circuits 31-1 to 31-3 are provided corresponding to the access prohibit flags 13-1 to 13-3, respectively. Since each operation is the same as the operation of the access prohibit flag copy register 32 and the selector circuit 31 explained in the first embodiment, the explanation shall not be provided here.
As described above, the processor system according to this embodiment includes the plurality of access prohibit flags and the corresponding plurality of access prohibit flag copy registers, thereby allowing individual access control to the storage areas.
Although this embodiment explained the case as an example in which three each of the access prohibit flags and access prohibit flag copy registers are provided, it is not limited to this but the number of the access prohibit flags and access prohibit flag copy registers can be changed to any number corresponding to the number of storage areas to be access controlled.
Third Embodiment
FIG. 8A is a block diagram showing a processor system according to a third embodiment of the present invention. A difference from the processor system according to the first embodiment is that the processor system of this embodiment further includes a lock flag 14 in a control information area 12 b and a gating circuit 213 in an access control circuit 21 b. Note that this embodiment explains the case an example in which the gating circuit 213 is an AND circuit provided for each bit.
The lock flag 14 sets whether or not to prohibit writing, reading, and erasing the program in a storage unit 10 b permanently. When the lock flag 14 is set to the prohibit side, regardless of the output value from the access prohibit flag copy register 32, writing, reading, and erasing the program in the storage unit 10 b is prohibited. On the other hand, when the lock flag 14 is set to the allow side, it depends on the output value from the access prohibit flag copy register 32 whether or not writing, reading, and erasing the program in the storage unit 10 b is allowed. That is, when the lock flag 14 is set to the allow side, the processor system of this embodiment operates in a similar manner to the first embodiment.
Here, the lock flag 14 is formed in the control information area 12 b such that once the lock flag 14 is set to the prohibit side, the lock flag 14 can never return to the allow side. Therefore, when the lock flag 14 is set to the prohibit side, writing, reading, and erasing the program in the storage unit 10 b is prohibited permanently.
More specifically, in the access control circuit 21 b, the gating circuit 213 controls whether or not to output an output signal from the gating circuit 212 to the memory controller 211 based on a value of the lock flag 14. Hereinafter, the case is explained as an example in which when the access prohibit flag 13 is the L level, the access prohibit flag 13 is set to the prohibit side, whereas when the access prohibit flag 13 is the H level, the access prohibit flag 13 is set to the allow side.
For example, when the value of the lock flag 14 is the allow side (H level), the gating circuit 213 outputs the output signal from the gating circuit 212 as it is to the memory controller 211. That is, when the value of the lock flag 14 is the allow side (H level), the access control circuit 21 b operates in a similar manner to the access control circuit 21 shown in FIG. 3A.
On the other hand, when the value of the lock flag 14 is the prohibit side (L level), the gating circuit 213 does not output the output signal from the gating circuit 212 to the memory controller 211. In this case, the gating circuit 213 outputs the fixed signal of L level to the memory controller 211, for example. As described above, when the value of the lock flag 14 is the prohibit side (L level), the access control circuit 21 b does not execute the processing corresponding to the request from the main PEa regardless of the output value from the access prohibit flag copy register 32.
Accordingly, the processor system according to this embodiment can further improve the advantage of preventing unauthorized access as the access to the storage unit 10 can be completely prohibited in addition to achieving the similar advantage to the first embodiment.
Note that the access control circuit 21 b is not limited to the configuration shown in FIG. 8A. For example, the access control circuit 21 b can be changed to a configuration shown in FIG. 8B as an example. The configuration and an operation of the access control circuit 21 b shown in FIG. 8B are explained below.
The access control circuit 21 b shown in FIG. 8B further includes gating circuits 213-1 to 213-3 in addition to the access control circuit 21 shown in FIG. 3B. Note that this embodiment explains the case as an example in which the gating circuits 213-1 to 213-3 are AND circuits provided for each bit.
More specifically, in the access control circuit 21 b, the gating circuits 213-1 to 213-3 control whether or not to output output signals from the gating circuits 212-1 to 212-3 to the storage unit 10 b, respectively, based on the value of the lock flag 14. Hereinafter, the case is explained as an example in which when the access prohibit flag 13 is the L level, the access prohibit flag 13 is set to the prohibit side, whereas when the access prohibit flag 13 is H level, the access prohibit flag 13 is set to the allow side.
For example, when the value of the lock flag 14 is the allow side (H level), the gating circuits 213-1 to 213-3 output the output signals from the gating circuits 212-1 to 212-3 as they are to the storage unit 10 b. That is, when the value of the lock flag 14 is the allow side (H level), the access control circuit 21 b operates in a similar manner to the access control circuit 21 shown in FIG. 3B.
On the other hand, when the lock flag 14 is the prohibit side (L level), the gating circuits 213-1 to 213-3 do not output the output signals from the gating circuits 212-1 to 212-3 to the storage unit 10 b. In this case, all of the gating circuits 213-1 to 213-3 output the fixed signal of L level to the storage unit 10 b, for example. As described above, when the value of the lock flag 14 is the L level, the access control circuit 21 b does not execute the processing corresponding to the request from the main PEa regardless of the output value from the access prohibit flag copy register 32.
Note that the present invention is not limited to the above first to third embodiments but can be changed within the scope and sprit of the present invention. The above first to third embodiments explained the case as an example in which the access control can be possible to any of the request for writing, reading, and erasing the program, however it is not limited to this. The configuration can be changed to a circuit configuration that can be access controlled for at least one of writing, reading, and erasing request.
Moreover, the above first to third embodiments explained the case as an example in which the gating circuits 212-1 to 212-1 and 213-1 to 213-3 are AND circuits provided for each bit, however it is not limited to this and the configuration can be changed to a circuit configuration achieving the similar advantages as appropriate. Therefore, the gating circuit may have a common circuit configuration composed of, for example, a latch circuit and an AND circuit.
Further, although the first to third embodiments explained the case as an example in which the value of the access prohibit flag 13 and the output value from the access prohibit flag copy register 32 are one bit, it is not limited to this. The value of the access prohibit flag 13 and the output value from the access prohibit flag copy register 32 may both be composed of a plurality of bits. Alternatively, a plurality of access prohibit flags 13 may be provided, and it may be determined whether to allow or prohibit access by the majority value of the plurality of access prohibit flags 13. Similarly, the plurality of access prohibit flag copy registers 32 may be provided, and it may be determined whether to allow or prohibit the access to the storage unit 10 by the majority output value of the plurality of access prohibit flag copy register 32. That is, it may be the configuration including multiplexed access prohibit flags 13 and access prohibit flag copy registers 32.
Note that as explained in the first to third embodiments, once the access prohibit flag 13 is set to the prohibit side, the access prohibit flag 13 can never return to the prohibit side. This is because that even with an authentication system, it is not preferable to allow free changes of the control information area 12 which makes up the basis of security. Moreover, when the normal area 11 and the control information area 12 are integrally configured and accessible via a single port, it is not possible to simultaneously read the value of the access prohibit flag 13 and access the normal area 11. It is thus more efficient to rewrite the value of the access prohibit flag copy register 32 that stores the value of the access prohibit flag 13.
REFERENCE SIGNS LIST
  • 10, 10 a, and 10 b STORAGE UNIT
  • 11 NORMAL AREA
  • 12, 12 a, and 12 b CONTROL INFORMATION AREA
  • 13 ACCESS PROHIBIT FLAG
  • 13-1 to 13-3 ACCESS PROHIBIT FLAG
  • 14 LOCK FLAG
  • 20 and 20 b CONTROL UNIT
  • 21 and 21 b ACCESS CONTROL CIRCUIT
  • 22 RESET PROCESSING CIRCUIT
  • 23 RESET GENERATION CIRCUIT
  • 31 SELECTOR CIRCUIT
  • 31-1 to 31-3 SELECTOR CIRCUIT
  • 32 ACCESS PROHIBIT FLAG COPY REGISTER
  • 32-1 to 32-3 ACCESS PROHIBIT FLAG COPY REGISTER
  • 41 AUTHENTICATION INFORMATION STORAGE UNIT
  • 42 EVALUATION UNIT
  • 211 MEMORY CONTROLLER
  • 212 GATING CIRCUIT
  • 212-1 to 212-3 GATING CIRCUIT
  • 213 GATING CIRCUIT
  • 213-1 to 213-3 GATING CIRCUIT

Claims (8)

What is claimed is:
1. A processor system comprising:
a memory;
a storage unit that stores an access prohibit flag to prohibit an access to the memory;
a register that stores a temporal access flag to permit a temporal access to the memory over an accessing period,
wherein when the processor system determines that an authentication information for the temporal access to the memory is valid, the temporal access flag is set to be valid,
wherein when the temporal access flag is set to be valid, the temporal access to the memory is permitted by invalidating the access prohibit flag, and
wherein when the processor system is reset, the access prohibit flag is valid and the temporal access flag is set to be invalid.
2. The processor system according to claim 1, wherein the memory is a non-volatile memory.
3. The processor system according to claim 2, wherein the temporal access is at least one of a write access or an erase access to the non-volatile memory.
4. The processor system according to claim 1, further comprising an authentication information storage unit that stores predetermined authentication information,
wherein the processor system compares the authentication information for the temporal access to the memory with the predetermined authentication information.
5. The processor system according to claim 3, further comprising a processing element,
wherein the processing element issues the temporal access to the non-volatile memory.
6. The processor system according to claim 5, wherein the processing element includes lock-step processors.
7. The processor system according to claim 1, further comprising a security processor element that determines that the authentication information for the temporal access to the memory is valid.
8. The processor system according to claim 1,
wherein the memory includes a first memory area and a second memory area,
wherein the temporal access flag includes a first temporal access flag corresponding to the first memory area and a second temporal access flag corresponding to the second memory area,
wherein when the processor system determines that the authentication for the temporal access to the first memory area is valid, the first temporal access flag is set to permit the temporal access to the first memory area, and
wherein when the processor system determines that the authentication for the temporal access to the second memory area is valid, the second temporal access flag is set to permit the temporal access to the second memory area.
US14/743,400 2011-03-31 2015-06-18 Processor system and control method thereof Active US9304943B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/743,400 US9304943B2 (en) 2011-03-31 2015-06-18 Processor system and control method thereof
US15/057,365 US20160179426A1 (en) 2011-03-31 2016-03-01 Processor system and control method thereof

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2011080479 2011-03-31
JP2011-080479 2011-03-31
PCT/JP2012/001284 WO2012132218A1 (en) 2011-03-31 2012-02-24 Processor system and control method therefor
US14/007,514 US9092322B2 (en) 2011-03-31 2012-02-24 Processor system and control method thereof
US14/743,400 US9304943B2 (en) 2011-03-31 2015-06-18 Processor system and control method thereof

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2012/001284 Continuation WO2012132218A1 (en) 2011-03-31 2012-02-24 Processor system and control method therefor
US14/007,514 Continuation US9092322B2 (en) 2011-03-31 2012-02-24 Processor system and control method thereof

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/057,365 Continuation US20160179426A1 (en) 2011-03-31 2016-03-01 Processor system and control method thereof

Publications (2)

Publication Number Publication Date
US20150286583A1 US20150286583A1 (en) 2015-10-08
US9304943B2 true US9304943B2 (en) 2016-04-05

Family

ID=46930014

Family Applications (3)

Application Number Title Priority Date Filing Date
US14/007,514 Active 2032-06-22 US9092322B2 (en) 2011-03-31 2012-02-24 Processor system and control method thereof
US14/743,400 Active US9304943B2 (en) 2011-03-31 2015-06-18 Processor system and control method thereof
US15/057,365 Abandoned US20160179426A1 (en) 2011-03-31 2016-03-01 Processor system and control method thereof

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US14/007,514 Active 2032-06-22 US9092322B2 (en) 2011-03-31 2012-02-24 Processor system and control method thereof

Family Applications After (1)

Application Number Title Priority Date Filing Date
US15/057,365 Abandoned US20160179426A1 (en) 2011-03-31 2016-03-01 Processor system and control method thereof

Country Status (3)

Country Link
US (3) US9092322B2 (en)
JP (1) JP5576557B2 (en)
WO (1) WO2012132218A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220155978A1 (en) * 2018-12-28 2022-05-19 Micron Technology, Inc. Unauthorized memory access mitigation

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6476091B2 (en) * 2015-08-21 2019-02-27 ルネサスエレクトロニクス株式会社 Wireless communication apparatus, control method, and wireless communication system
US10095889B2 (en) * 2016-03-04 2018-10-09 Altera Corporation Techniques for protecting security features of integrated circuits
US10915463B2 (en) 2017-04-28 2021-02-09 International Business Machines Corporation Synchronizing requests to access computing resources
US10360393B2 (en) * 2017-04-28 2019-07-23 International Business Machines Corporation Synchronizing write operations
US10235628B1 (en) 2017-08-29 2019-03-19 Massachusetts Mutual Life Insurance Company System and method for managing routing of customer calls to agents
US11176461B1 (en) 2017-08-29 2021-11-16 Massachusetts Mutual Life Insurance Company System and method for managing routing of customer calls to agents
US11948153B1 (en) 2019-07-29 2024-04-02 Massachusetts Mutual Life Insurance Company System and method for managing customer call-backs
KR102211853B1 (en) * 2019-12-24 2021-02-03 주식회사 텔레칩스 System-on-chip with heterogeneous multi-cpu and method for controlling rebooting of cpu

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4581702A (en) * 1983-01-10 1986-04-08 International Business Machines Corporation Critical system protection
US5668945A (en) * 1994-02-28 1997-09-16 Sega Enterprises, Ltd. Data security apparatus and method
JP2001051904A (en) 1999-08-11 2001-02-23 Hitachi Ltd External storage device using non-volatile semiconductor memory
JP2004259385A (en) 2003-02-27 2004-09-16 Fujitsu Ltd Semiconductor memory device
JP2005108273A (en) 2003-09-26 2005-04-21 Toshiba Corp Nonvolatile semiconductor memory device
US20060242425A1 (en) 2005-04-21 2006-10-26 Terufumi Ishida Semiconductor memory device
US20060285398A1 (en) 2005-06-20 2006-12-21 Renesas Technology Corp. Semiconductor device
US20070050852A1 (en) * 2005-09-01 2007-03-01 Kenichiro Yoshii Processor, memory, computer system, and method of authentication
US20080271154A1 (en) * 1997-11-14 2008-10-30 Fujitsu Limited Apparatus, method and computer readable storage medium with recorded program for managing files with alteration preventing/detecting functions
US20080313471A1 (en) * 2007-06-13 2008-12-18 Via Technologies, Inc. Electronic system and digital right management methods thereof
US20090025073A1 (en) * 2007-07-20 2009-01-22 Bigfoot Networks, Inc. Client authentication device and methods thereof
US7512759B2 (en) * 2003-03-26 2009-03-31 Panasonic Corporation Memory device
US20110088084A1 (en) * 2009-10-14 2011-04-14 Fujitsu Limited Information storage apparatus, recording medium, and method
US8001390B2 (en) * 2007-05-09 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for secure programming and storage of data using a multiprocessor in a trusted mode
US8474032B2 (en) * 2006-05-17 2013-06-25 Richard Fetik Firewall+ storage apparatus, method and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155190A (en) * 2004-11-29 2006-06-15 Sony Corp Data storage device, data processing method, recording medium, and program

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4581702A (en) * 1983-01-10 1986-04-08 International Business Machines Corporation Critical system protection
US5668945A (en) * 1994-02-28 1997-09-16 Sega Enterprises, Ltd. Data security apparatus and method
US20080271154A1 (en) * 1997-11-14 2008-10-30 Fujitsu Limited Apparatus, method and computer readable storage medium with recorded program for managing files with alteration preventing/detecting functions
JP2001051904A (en) 1999-08-11 2001-02-23 Hitachi Ltd External storage device using non-volatile semiconductor memory
US7054990B1 (en) 1999-08-11 2006-05-30 Renesas Technology Corp. External storage device using non-volatile semiconductor memory
JP2004259385A (en) 2003-02-27 2004-09-16 Fujitsu Ltd Semiconductor memory device
US20040179401A1 (en) 2003-02-27 2004-09-16 Fujitsu Limited Semiconductor memory
US7512759B2 (en) * 2003-03-26 2009-03-31 Panasonic Corporation Memory device
JP2005108273A (en) 2003-09-26 2005-04-21 Toshiba Corp Nonvolatile semiconductor memory device
US20110205794A1 (en) 2003-09-26 2011-08-25 Tomoharu Tanaka Nonvolatile semiconductor memory device having protection function for each memory block
US20060242425A1 (en) 2005-04-21 2006-10-26 Terufumi Ishida Semiconductor memory device
JP2006302416A (en) 2005-04-21 2006-11-02 Sharp Corp Semiconductor storage device
JP2006350885A (en) 2005-06-20 2006-12-28 Renesas Technology Corp Semiconductor device
US20060285398A1 (en) 2005-06-20 2006-12-21 Renesas Technology Corp. Semiconductor device
JP2007066201A (en) 2005-09-01 2007-03-15 Toshiba Corp Processor, memory, computer system and authentication method
US20070050852A1 (en) * 2005-09-01 2007-03-01 Kenichiro Yoshii Processor, memory, computer system, and method of authentication
US8060925B2 (en) * 2005-09-01 2011-11-15 Kabushiki Kaisha Toshiba Processor, memory, computer system, and method of authentication
US8474032B2 (en) * 2006-05-17 2013-06-25 Richard Fetik Firewall+ storage apparatus, method and system
US8001390B2 (en) * 2007-05-09 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for secure programming and storage of data using a multiprocessor in a trusted mode
US20080313471A1 (en) * 2007-06-13 2008-12-18 Via Technologies, Inc. Electronic system and digital right management methods thereof
US20090025073A1 (en) * 2007-07-20 2009-01-22 Bigfoot Networks, Inc. Client authentication device and methods thereof
US20110088084A1 (en) * 2009-10-14 2011-04-14 Fujitsu Limited Information storage apparatus, recording medium, and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
International Search Report received in PCT/JP20012/001284 dated Mar. 19, 2012.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220155978A1 (en) * 2018-12-28 2022-05-19 Micron Technology, Inc. Unauthorized memory access mitigation
US11755210B2 (en) * 2018-12-28 2023-09-12 Micron Technology, Inc. Unauthorized memory access mitigation

Also Published As

Publication number Publication date
US20160179426A1 (en) 2016-06-23
JPWO2012132218A1 (en) 2014-07-24
US20140025871A1 (en) 2014-01-23
US9092322B2 (en) 2015-07-28
WO2012132218A1 (en) 2012-10-04
US20150286583A1 (en) 2015-10-08
JP5576557B2 (en) 2014-08-20

Similar Documents

Publication Publication Date Title
US9304943B2 (en) Processor system and control method thereof
US11868278B2 (en) Block or page lock features in serial interface memory
JP5975629B2 (en) Memory protection unit and storage element access control method
US7953913B2 (en) Peripheral device locking mechanism
US20150317258A1 (en) Semiconductor device and data processing method
US8296528B2 (en) Methods and systems for microcode patching
US20210117109A1 (en) Transparently Attached Flash Memory Security
US10846421B2 (en) Method for protecting unauthorized data access from a memory
US10949570B2 (en) Processing system, related integrated circuit and method
US8621643B2 (en) Semiconductor device
US20080034150A1 (en) Data processing circuit
KR20180066601A (en) Method of driving memory system
US6813191B2 (en) Microcomputer with nonvolatile memory protected against false erasing or writing
US7386774B1 (en) Memory unit with controller managing memory access through JTAG and CPU interfaces
US11281576B2 (en) Memory device
US20190212930A1 (en) Data storage chip and data access method
US11429312B1 (en) Multiplexed storage accesses
JP3039479B2 (en) Extended BIOS protection system
CN117271232A (en) Processing system, related integrated circuit, apparatus and method

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: RENESAS ELECTRONICS CORPORATION, JAPAN

Free format text: CHANGE OF ADDRESS;ASSIGNOR:RENESAS ELECTRONICS CORPORATION;REEL/FRAME:044928/0001

Effective date: 20150806

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8