Raspberry Pi JTAG Debugging for SSD Hardware Registers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Commercially available in-circuit emulators (ICE) for debugging SSD devices are inflexible, slow, and costly, failing to fully control CPU operations and access hardware registers efficiently, which hinders effective debugging and increases costs.

Innovation Solution

An apparatus and system utilizing a Raspberry Pi with a JTAG add-on board, simulating JTAG commands through GPIO interfaces to dump data from SSD devices, providing a cost-effective and flexible alternative for debugging SSD devices by issuing JTAG commands to access and control SSD operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If commercially available in-circuit emulator (ICE) is used to debug SSD devices, then debugging capability is provided, but the debugging cost is high and the response speed is slow

Engineering Contradiction:
Improvedebugging efficiencyVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent creates a software-based JTAG command simulation system that copies the functionality of commercial ICE tools. The Raspberry Pi executes JTAG command simulation software that mimics the debugging capabilities of expensive commercial emulators, providing equivalent functionality at lower cost and faster response times by eliminating hardware emulation overhead

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical/hardware-based ICE system with a software-based solution running on a Raspberry Pi. Instead of using complex hardware emulation circuits, the system uses software to simulate JTAG commands and communicate with the SSD device, achieving faster response times and lower costs while maintaining debugging functionality

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If commercially available in-circuit emulator (ICE) is used to debug SSD devices, then debugging capability is provided, but the debugging cost is high

Engineering Contradiction:
Improvedebugging capabilityVSAvoiddebugging cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent employs inexpensive components (Raspberry Pi, JTAG add-on board) to replace expensive commercial ICE hardware. The system uses affordable off-the-shelf electronics rather than specialized expensive debugging equipment, achieving reliable debugging functionality at a fraction of the cost of commercial solutions

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent replicates the debugging functionality of expensive commercial ICE tools using software simulation on inexpensive hardware. The JTAG command simulation software copies the essential debugging capabilities of commercial emulators, providing equivalent reliability without the high cost of proprietary hardware

Inventive Principle:
Principle #26Copying

3Ease of operation

If ICE device is stopped to perform regular operations, then CPU in SSD product is stopped, but host becomes unable to access data in SSD product

Engineering Contradiction:
Improvedebugging controlVSAvoiddata accessibility
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent implements a dynamic debugging system where the Raspberry Pi can selectively control CPU operations. Instead of forcing the CPU into a stopped state, the system can dynamically pause only when necessary for debugging operations and resume normal operations otherwise, maintaining data accessibility to the host while providing debugging capability when needed

Inventive Principle:
Principle #15Dynamics

4Measurement precision

If FW reads hardware (HW) registers after address changing is required, then NAND flash statuses can be accessed, but the response of ICE is very slow

Engineering Contradiction:
Improvehardware register access capabilityVSAvoidresponse speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent replaces the slow hardware-based ICE system with a software-based JTAG simulation on Raspberry Pi. The software can quickly process and respond to register access requests without the overhead of hardware emulation, achieving faster response speeds while maintaining the ability to read hardware registers and access NAND flash statuses

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11933847B2Apparatus and system for debugging solid-state disk (SSD) device
Publication Date: 2024.03.19 SILICON MOTION INC
  • US11933847B2 patent drawing
  • US11933847B2 patent drawing
  • US11933847B2 patent drawing

AI summary

The invention relates to an apparatus and a system for debugging a solid-state disk (SSD) device. The apparatus includes a Joint Test Action Group (JTAG) add-on board; and a Raspberry Pi. The Raspberry Pi includes a General-Purpose Input/Output (GPIO) interface (I/F), coupled to the JTAG add-on board; and a processing unit, coupled to the GPIO I/F. The processing unit is arranged operably to: simulate to issue a plurality of JTAG command through the GPIO I/F to the SSD device for dumping data generated by the SSD device during operation from the SSD device.