IP Library › Granted Patent US 10,354,073
Granted Patent B2
US 10,354,073 · App. 15/222,060 · Granted Jul 16, 2019

Information processor device verifying software and method of controlling information processor device

Inventors: Ryuiti Koike (Kawasaki, JP); Mikio Hashimoto (Tokyo, JP); Naoko Yamada (Yokohama, JP); Ryotaro Hayashi (Hiratsuka, JP)
Assignee: KABUSHIKI KAISHA TOSHIBA
G06F21/572G06F8/656G06F9/4401G06F2221/033G06F2221/2115G06F2221/2141
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,354,073
App. No.
15/222,060
Filed
Jul 28, 2016
Granted
Jul 16, 2019
Kind
B2
Art Unit
2186
USPC
713/2
Abstract

According to one embodiment, an information processing device includes a processor, a nonvolatile memory, a designation unit, and a controller. The nonvolatile memory stores the first software and the second software which is used as substitute for the first software. The designation unit designates software to be executed by the processor at a boot. The controller protects an area of the nonvolatile memory storing the first software from being written while the first software is executed by the processor. When third software is executed by the processor, the third software verifies the second software. When the second software is legal in a result of verifying by the third software, the designation unit designates the second software.

Claims (63)

1. An information processing device comprising:

a processor;

a nonvolatile memory comprising a first area, a second area, and a third area, the first area storing first software, the second area storing second software which is used as a substitute for the first software, the third area storing third software, the first and second areas being areas in which the first software in the first area and the second software in the second area are directly executable and rewritable by the processor, the third area being an area in which the third software in the third area is not rewritable by the first and second software;

a controller configured to control a writable state or a write-protected state for each of the first and second areas, the controller protecting the first area of the nonvolatile memory storing the first software from being written while the first software is executed by the processor;

a designation circuit configured to designate software to be executed by the processor; and

a signal generator configured to generate a particular signal for permitting setting for the controller,

wherein the signal generator starts outputting the particular signal to the controller when the designation circuit designates execution of the third software at a boot of the processor,

when the first software is executed by the processor, the first software updates the second software stored in the second area,

when the third software is executed by the processor, the third software verifies the second software, and when the second software is legal in a result of verifying by the third software, the third software sets the second software instead of the first software for the designation circuit, and sets the writable state about the first area and the write-protected state about the second area for the controller, and

the processor executes the first software or the second software designated by the designation circuit after the outputting the particular signal is stopped.

2. The device of claim 1 , wherein

the third software

determines whether a request to switch the software to be executed at the boot is generated by the first software when the third software is executed by the processor, and verifies the second software when the request to switch is generated, or when switching is needed.

3. The device of claim 2 , wherein

when the second software is legal in the result of verifying by the third software, the third software instructs the controller to protect the second area of the nonvolatile memory storing the second software from being written.

4. The device of claim 1 , wherein the processor executes the third software based on a boot or reset of the device, and

the signal generator generates the particular signal during execution of the third software by the processor.

5. The device of claim 4 , wherein

the controller determines whether the particular signal is generated,

permits protection information to be changed when the particular signal is generated, the protection information indicating whether areas included in the first nonvolatile memory are writable, and

inhibits the protection information from being changed when the particular signal is not generated.

6. The device of claim 5 , wherein

the controller is further configured to disable a request to change the protection information when the particular signal is not generated and the request to change the protection information is issued.

7. The device of claim 1 , wherein

the third area is a non-rewritable area included in the nonvolatile memory.

8. The device of claim 4 , wherein

the nonvolatile memory comprises a first nonvolatile memory and a second nonvolatile memory,

the first nonvolatile memory comprises the first and second areas,

the second nonvolatile memory comprises the third area,

the second nonvolatile memory stores the third software, and is included in the first nonvolatile memory or is different from the first nonvolatile memory, and

the controller is further configured to inhibit the third software from being read from the second nonvolatile memory when receiving of the particular signal is stopped.

9. The device of claim 8 , wherein

the controller is further configured to zero a value of the third software when the particular signal is not generated and the third software is read.

10. The device of claim 8 , wherein

the first and second nonvolatile memories receive a command by using a command reception bus from the processor via the controller,

the first and second nonvolatile memories receive an address by using a software transmission bus from the processor via the controller, and transmits one of the first to third software corresponding to the address to the processor via the controller, and

the second nonvolatile memory storing the third software is protected from being written.

11. The device of claim 1 , wherein when the second software is executed by the processor, the first software is not executed by the processor.

12. The device of claim 1 , wherein

when the second software is legal in the result of the verifying by the third software, the designation circuit designates the second software, and

when the second software is executed by the processor, the first software is not executed by the processor.

13. A method of controlling an information processing device,

the information processing device comprising:

a processor;

a nonvolatile memory comprising a first area, a second area, and a third area, the first area storing first software, the second area storing second software which is used as a substitute for the first software, the third area storing third software, the first and second areas being areas in which the first software in the first area and the second software in the second area are directly executable and rewritable by the processor, the third area being an area in which the third software in the third area is not rewritable by the first and second software;

a controller configured to control a writable state or a write-protected state for each of the first and second areas;

a designation circuit configured to designate software to be executed by the processor; and

a signal generator configured to generate a particular signal for permitting setting for the controller,

the method comprising:

designating, by the designation circuit, software to be executed by the processor at a boot;

starting, by the signal generator, outputting the particular signal to the controller when the designation circuit designates execution of the third software at boot of the processor;

protecting, by the controller, the first area of the nonvolatile memory storing the first software from being written while the first software is executed by the processor;

updating the second software stored in the second area by the first software when the first software is executed by the processor;

when the third software is executed by the processor, verifying, by the third software, the second software, and when the second software is legal, designating the second software as the boot software in a result of verifying the third software, setting, by the third software, the second software instead of the first software for the designation circuit, and setting, by the third software, the writable state about the first area and the write-protected state about the second area for the controller; and

executing, by the processor, the first software or the second software designated by the designation circuit after the outputting the particular signal is stopped.

14. The method of claim 13 , wherein

the third software

determines whether a request to switch the software to be executed at the boot is issued by the first software when the third software is executed by the processor,

verifies the second software when the request to switch is generated, or when switching is needed, and

sets the second software for the designation circuit when the second software is legal.

15. The method of claim 14 , wherein

the third software instructs the controller to protect the second area of the nonvolatile memory storing the second software from being written when the second software is legal.

16. The method of claim 13 , wherein when the second software is executed by the processor, the first software is not executed by the processor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2016
From: KOIKE, RYUITI; HASHIMOTO, MIKIO; YAMADA, NAOKO; HAYASHI, RYOTARO
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 040047/0223 →
Priority Claims (1)
JP 2015-150589 · Jul 30, 2015 · national
Continuity (1)
Related Publication 20170032126A1 · Feb 2, 2017
Cited By (1)
US 12,504,965