IP Library Granted Patent US 9,766,963
Granted Patent B2
US 9,766,963 · App. 14/862,488 · Granted Sep 19, 2017

Secure tunneling access to debug test ports on non-volatile memory storage units

Inventors: Shamanna M. Datta (Hillsboro, OR); Murugasamy K. Nachimuthu (Beaverton, OR); Mahesh S. Natu (Sunnyvale, CA)
Assignee: Intel Corporation
G06F11/0727G06F11/1666G06F11/2215G06F11/2635G06F12/1425G06F2212/1052
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 9,766,963
App. No.
14/862,488
Granted
Sep 19, 2017
Kind
B2
Abstract

Systems, apparatuses and methods may provide for receiving one or more debug communications and programming, via a bus, a set of debug registers with debug information corresponding to the one or more debug communications. Additionally, tunnel logic hardware may be instructed to transfer the debug information from the set of debug registers to one or more test access ports of an intelligent device such as a non-volatile memory storage unit having a microcontroller. In one example, if it is detected that debug permission has been granted during a boot process, a control status register may be unlocked. If, on the other hand, the debug permission is not detected during the boot process, the control status register may be locked. Accordingly, an enable bit of the control status register may be used to activate the tunnel logic hardware only if the control status register is unlocked.

Claims (56)

1. A system comprising:

a non-volatile memory storage unit including a microcontroller and one or more test access ports,

a bus,

tunnel logic hardware coupled to at least one of the one or more test access ports;

a set of debug registers coupled to the bus,

a control status register, and

a converter including,

an input port to receive one or more debug communications,

a register manager to program, via the bus, the set of debug registers with debug information corresponding to the one or more debug communications,

a trigger component to instruct the tunnel logic hardware to transfer the debug information from the set of debug registers to the one or more test access ports, and

a permission manager to detect that debug permission has been granted during a boot process, unlock the control status register in response to detection of the debug permission being granted during the boot process, and lock the control status register if the debug permission is not detected during the boot process.

2. The system of claim 1 , wherein the permission manager is to activate, via an enable bit of the control register, the tunnel logic hardware if the control status register is unlocked.

3. The system of claim 1 , wherein the register manager is to write payload information to one or more payload registers in the set of debug registers and write control information to a control register in the set of debug registers.

4. The system of claim 3 , wherein the control information is to include a debug command, a shift amount and a start signal, and wherein the start signal is to be programmed when the payload information is ready for transfer from the one or more payload registers.

5. The system of claim 1 , wherein the bus includes one or more of a system management bus or a dynamic random access memory bus.

6. An apparatus comprising:

tunnel logic hardware,

a set of debug registers,

a control status register, and

a converter including,

an input port to receive one or more debug communications,

a register manager to program, via a bus, the set of debug registers with debug information corresponding to the one or more debug communications,

a trigger component to instruct the tunnel logic hardware to transfer the debug information from the set of debug registers to one or more test access ports of a device having a microcontroller, and

a permission manager to detect that debug permission has been granted during a boot process, unlock the control status register in response to detection of the debug permission being granted during the boot process, and lock the control status register if the debug permission is not detected during the boot process.

7. The apparatus of claim 6 , wherein the permission manager is to activate, via an enable bit of the control status register, the tunnel logic hardware if the control status register is unlocked.

8. The apparatus of claim 6 , wherein the register manager is to write payload information to one or more payload registers in the set of debug registers and write control information to a control register in the set of debug registers.

9. The apparatus of claim 8 , wherein the control information is to include a debug command, a shift amount and a start signal, and wherein the start signal is to be programmed when the payload information is ready for transfer from the one or more payload registers.

10. The apparatus of claim 6 , wherein the set of debug registers are to be programmed via one or more of a system management bus or a dynamic random access memory bus.

11. A method comprising:

receiving one or more debug communications;

programming, via a bus, a set of debug registers with debug information corresponding to the one or more debug communications;

instructing tunnel logic hardware to transfer the debug information from the set of debug registers to one or more test access ports of a device having a microcontroller;

detecting that debug permission has been granted during a boot process;

unlocking a control status register in response to detection of the debug permission being granted during the boot process; and

locking the control status register if the debug permission is not detected during the boot process.

12. The method of claim 11 , further including:

activating, via an enable bit of the control status register, the tunnel logic hardware if the control status register is unlocked.

13. The method of claim 11 , wherein programming the set of debug registers includes:

writing payload information to one or more payload registers in the set of debug registers; and

writing control information to a control register in the set of debug registers.

14. The method of claim 13 , wherein the control information includes a debug command, a shift amount and a start signal, and wherein the start signal is programmed when the payload information is ready for transfer from the one or more payload registers.

15. The method of claim 11 , wherein the set of debug registers are programmed via one or more of a system management bus or a dynamic random access memory bus.

16. At least one non-transitory computer readable storage medium comprising a set of instructions, which when executed by a computing device, cause the computing device to:

receive one or more debug communications;

program, via a bus, a set of debug registers with debug information corresponding to the one or more debug communications;

instruct tunnel logic hardware to transfer the debug information from the set of debug registers to one or more test access ports of a device having a microcontroller,

detect that debug permission has been granted during a boot process;

unlock a control status register in response to detection of the debug permission being granted during the boot process; and

lock the control status register if the debug permission is not detected during the boot process.

17. The at least one non-transitory computer readable storage medium of claim 16 , wherein the instructions, when executed, cause a computing device to:

activate, via an enable bit of the control status register, the tunnel logic hardware if the control status register is unlocked.

18. The at least one non-transitory computer readable storage medium of claim 16 , wherein the instructions, when executed, cause a computing device to:

write payload information to one or more payload registers in the set of debug registers; and

write control information to a control register in the set of debug registers.

19. The at least one non-transitory computer readable storage medium of claim 18 , wherein the control information is to include a debug command, a shift amount and a start signal, and wherein the start signal is to be programmed when the payload information is ready for transfer from the one or more payload registers.

20. The at least one non-transitory computer readable storage medium of claim 16 , wherein the set of debug registers are to be programmed via one or more of a system management bus or a dynamic random access memory bus.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2023
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP.
Reel/Frame 062702/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2015
From: DATTA, SHAMANNA M.; NACHIMUTHU, MURUGASAMY K.; NATU, MAHESH S.
To: INTEL CORPORATION
Reel/Frame 036634/0405 →
Continuity (1)
Related Publication 20170083393A1 · Mar 23, 2017