SSD Controller Log Buffering for Firmware Debug Without I/O Loss

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Outputting log information through the serial port during SSD firmware debugging significantly reduces I/O performance, making timing-related problems difficult to reproduce.

Innovation Solution

Implementing a buffer and interface circuit to temporarily store log information, allowing for its extraction via PCIe or UART, and using NVMe VU commands to manage log data transfer without real-time transmission, thereby maintaining I/O performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If log information is output through the serial port during SSD firmware debugging, then log information can be recorded and output, but I/O performance is significantly reduced

Engineering Contradiction:
Improvelog information outputVSAvoidI/O performance
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent extracts the log information output function from the main I/O path by providing a dedicated buffer memory and interface circuit specifically for log data. This separates the log output operation from the regular data I/O operations, allowing them to proceed independently without interfering with each other, thus maintaining I/O performance while enabling log information output.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a buffer memory as an intermediary component between the firmware and the interface circuit for log output. This buffer acts as a mediator that temporarily stores log information, allowing the firmware to continue processing I/O operations without waiting for serial port output, thereby preventing the serial port from becoming a bottleneck for I/O performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If log information is output in real-time through the serial port, then log information can be transmitted, but timing-related problems cannot be reproduced

Engineering Contradiction:
Improvelog information transmissionVSAvoidtiming-related problem reproduction
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The patent implements preliminary action by buffering log information in memory before outputting it through the interface circuit. This allows log data to be captured and stored at the exact timing when it is generated during firmware operation, preserving the timing characteristics of I/O operations. The log information is then output separately without affecting the original timing of the I/O operations, enabling accurate reproduction of timing-related problems.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a buffer and interface circuit are implemented for log storage and retrieval, then I/O performance is maintained, but device complexity increases

Engineering Contradiction:
ImproveI/O performanceVSAvoidcontroller structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing the buffer memory and interface circuit to serve multiple functions: they can buffer log information from multiple cores, support both volatile and non-volatile storage options, and provide direct memory access capabilities. This multi-functionality reduces the need for separate dedicated components for each function, thereby limiting the increase in device complexity while maintaining I/O performance.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20260017222A1Controllers, hosts, methods of operating controllers, and methods of operating hosts
Publication Date: 2026.01.15 YANGTZE MEMORY TECH CO LTD
  • US20260017222A1 patent drawing
  • US20260017222A1 patent drawing
  • US20260017222A1 patent drawing

AI summary

The present disclosure provides controllers, hosts, methods of operating a controller, and methods of operating a host. An example controller includes a controller processor, an interface circuit and a buffer. The interface circuit is coupled to the buffer. Wherein the buffer is configured to buffer log information generated during the running of the firmware by the controller processor. The interface circuit is configured to: obtain the log information generated during the running of the firmware from the buffer, output the log information to a host.