Data Center Software Series: LTSSM View

The Data Center Software is a free software interface that allows users to seamlessly monitor traffic occurring on USBCANI2CSPI, and eSPI buses. The software provides a variety of different ways to debug and analyze data and has become a familiar tool to engineers across the world. In this blog post, we will discuss a popular feature in the software that allows users to trace their device's Link Training and Status State Machine, or LTSSM, stages. First, we will provide a brief overview of the Data Center Software.

About the Data Center Software

The Data Center Software is a bus analyzing software that can be used to interface with Total Phase protocol analyzers. These protocol analyzers, including the line of Beagle Protocol AnalyzersUSB Power Delivery Analyzer, Promira Serial Platform with the eSPI Analysis Application, and Komodo CAN Duo Interface, are used in conjunction with the software to capture and display I2C, SPI, USB, USB Power Delivery, CAN, and eSPI bus data. The Data Center Software is easy to use and is the only protocol analysis software on the market with true real-time capture and support for Windows, Linux, and Mac OS X.

The Data Center Software has a multitude of helpful debug and analysis features, including the LTSSM View.

LTSSM

What is LTSSM?

LTSSM stands for Link Training and Status State Machine. LTSSM is a state machine that defines link connectivity and link power management between SuperSpeed USB host and target devices. The process consists of a total of 11 different states. As the process takes place, devices are checking and memorizing the power load capacity of each line and determines what should and can be transmitted on each lane. This process is also known as a handshake. LTSSM validates that a device is working properly and without system bugs. Once the handshake is done, devices can freely send and receive information in accordance with the LTSSM validation findings.

LTSSM Overview

 

Now that we have a general overview of LTSSM, let’s dive deeper into each of the stages in the process.

Overview of the LTSSM States

SS. Inactive

In the SS. Inactive state, USB 3.0 is non-operable. Generally, to be in this state there has to be an error in or timeout somewhere in the LTSSM process. Once the error is detected, the device will enter the SS. Inactive state before starting the LTSSM process again.

LTSSM Inactive

 

Rx. Detect

The Rx. Detect state is the power-on or starting state to the LTSSM process. In this state, a device detects the absence or presence of a device connected to the USB link. As a user plugs their USB device into the host device, the detect state starts. There are other ways to enter the detect state but the most common way to enter the detect state is by plugging a USB device into the USB host device.

LTSSM Detect

 

Polling

In the polling state, the two USB devices get acquainted with each other. In this state, the bit lock, symbol lock, lane polarity, lane data rate, and compliance testing occur. The host device transmits bits of data to be responded to by the slave device. During the polling state, two link partners train the link to synchronize their communications in preparation for data transmission.

LTSSM Polling

 

Compliance Mode

The compliance mode is initiated by the polling state. In this state, both USB devices are agreeing upon device capabilities including voltage, noise emissions, and timing specifications.

LTSSM Compliance Mode

 

U0

The U0 state is the normal operational state where SuperSpeed USB data transmission takes place. In this state, both USB devices can freely send and receive USB data.

LTSSM U0

 

U1, U2, U3

The U1 – U3 states are low power, active power management states. U3 is the lowest power state of the three states. U2 is the second-lowest and U1 is the third-lowest of the three power states. These are low-power states where no SuperSpeed USB packets are transmitted. U1, U2, and U3 have increasingly longer wakeup times into U0, and thus allow transmitters to go into increasingly deeper sleep.

LTSSM U1, U2, U3

 

Loopback

The loopback state is used as a test and fault isolation state. If there is an issue on the bus, the loopback states help isolate and test that issue as a built-in troubleshooting system.

LTSSM Loopback

 

Disable

In the disabled state, the USB SuperSpeed bus is disabled and operates as USB 2.0 only.

LTSSM Disable

 

Hot Reset

The hot reset state is triggered when an abnormality occurs in the polling state. If something is not right in the initial polling state, the device will reset itself and start the LTSSM process over from the beginning.

LTSSM Hot Reset

 

Recovery

The recovery state is the state that wakes a device up from either the U1, U2, or U3 low power sleep states. Once data is requested from a device in the U1 – U3 states the recovery state directs the device to the proper state.

LTSSM Recovery

 

LTSSM View in the Data Center Software

Now that we have a high-level understanding of LTSSM and its different stages, we can dive into the LTSSM View within the Data Center Software. For this example, we will be showing the different stages as we plug in a USB 3.0 flash drive.

The LTSSM View can be displayed by clicking the LTSSM View button at the top of the software.

 

LTSSM Button in Data Center Software LTSSM Button in Data Center Software

 

Once clicked, users will now have access to see the LTSSM View and will be presented with a flow diagram of the LTSSM states. Once the capture has been started, users will see the SS. Disabled bubble light up. This means that the Beagle USB 5000 v2 SuperSpeed Protocol Analyzer is ready for a USB 3.0 device to be plugged in.

 

Waiting for Device to be Connected Waiting for the USB device to be connected

 

As seen in the image below, once our USB 3.0 flash drive device is connected, the device goes through the following states; Rx. Detect –> Polling –> U0. The arrows show the flow at which the device went through each of the stages.

 

Plugging in Device Plugging in the USB device

 

When the flash drive is unplugged, we can see the device goes through a few additional states. Now, as seen in the image below, the device goes into Recovery mode to SS. Disabled to SS. Inactive.

 

Unplugging Device Unplugging the USB device

 

To see a demo of this feature in action, check out our video about Using the LTSSM View in Data Center Software to Debug USB 3.0.

Conclusion

The LTSSM View in the Data Center Software is a helpful feature to help developers trace what LTSSM states and transitions their USB 3.0 devices are in, and gives deeper insight into power management, connection, and enumeration issues of such devices. For more information on the LTSSM View or other Total Phase USB debugging solutions, please contact us at sales@totalphase.com.