SASTracker Command Analyzer

The LeCroy SASTracker Command Analyzer monitors command execution and completion in SAS and SATA storage subsystems. By monitoring all commands issued within a matrix that can involve up to 8 individual initiators and 128 independent targets, the SASTracker Analyzer enables system integrators to identify commands that hang and that are slow to complete. The system is capable of monitoring over 10,000 pending commands and maintaining a log file of over 8 million commands.

Explore SASTracker Command Analyzer Explore SASTracker Command Analyzer
SAS Sierra M6-4   Complete solution for Serial Attached SCSI (SAS) and Serial ATA (SATA) Protocol verification
SAS Sierra M6-2   Complete solution for Serial Attached SCSI (SAS) and Serial ATA (SATA) Protocol verification
SAS STX M6-1   STX M6-1 SAS/SATA Protocol Verification System
SAS STX A6-4   STX A6-4 SAS & SATA 6G Analyzer System
SAS STX-131   STX-131 SAS & SATA 3.0 & 1.5G 1 Port Analyzer System
SAS STX-231   STX-231 SAS & SATA 3.0 & 1.5G 2 Port Analyzer System
SAS STX-431   STX-431 SAS & SATA 3.0 & 1.5G 4 Port Analyzer System
SASTracer/Trainer   Complete solution for Serial Attached SCSI (SAS) Protocol verification
SAS InFusion   SAS Error Injector for Real World Fault Handling and Error Recovery
Serial Attached SCSI (SAS) is the next-generation replacement of SCSI Ultra320. SAS is a serialized protocol. The serial interface offers several benefits over the existing SCSI parallel bus; allowing for high availability, complex storage topologies, and a lower cost structure.
High Availability: As with SATA, Serial Attached SCSI is a high-speed, point-to-point technology initially designed to operate at speeds up to 6Gb/sec. System designers have found that point-to-point serial connections are inherently more reliable than shared bandwidth parallel connections. As a result, point-to-point serial connections have become the preferred method for implementing high-availability systems. SAS based disk drives are dual ported, taking advantage of this feature. This is a key requirement of high-availability SANs that call for redundant paths to all devices in the system.
Complex Storage Environments: SAS storage environments usually consist of a mixture of disk drives, host bus adapters and expanders. SAS allows for addressing of over 16,000 devices. SAS Expanders are routing devices that forward service requests between the source and destination devices. Expanders can be attached to other expanders, disk drives, and other hosts. An important characteristic of Expanders is their ability to aggregate bandwidth by combining multiple physical links into a "Wide" port. These wide ports can function as intelligent switches and can independently send commands across one physical path with data being returned over a different physical path. This increases the complexity of SAS test and debug because it requires users to monitor multiple links concurrently to record all DWORDs associated with a single SCSI transaction. The usage of expanders also allows for usage of a storage concept called Zoning. Zoning allows administrators to restrict access to devices by other devices. Applications of this include separating storage systems within a company by department.
Lower Cost Structure: Serial Attached SCSI also contains support for SATA drives in its storage environments. This allows support for both enterprise-class performance offered by SAS and low cost storage with SATA drives in the same system. Since the cost of the SAS infrastructure is expected to be comparable to SATA, it is likely that SAS will be the preferred interface. Since both SAS and SATA drives can be used in this environment, it will simplify and standardize the storage infrastructure, allowing for the ability to choose which drive will best fit individual storage needs.
Protocol Analysis
SAS Test and Verification: LeCroy's protocol analysis tools are designed from the ground up to address these unique characteristics of SAS including wide-links and Serial ATA interoperability. Sierra’s analysis and design suites are developed specifically for use with the SAS and SATA protocols, and provide extensive protocol decoding, expert error analysis, and complete user support when decoding and viewing the recorded traffic. This extensive protocol support, combined with the different traffic views, advanced triggering, data filtering, traffic generation, and error injection capability, allows engineers to rapidly become familiar with SAS- and SATA-specific issues, and quickly understand new issues the first time they encounter them. Every engineer becomes a protocol expert with the support of Sierra’s detailed expert analysis.

The LeCroy SASTracker Command Analyzer monitors command execution and completion in SAS and SATA storage subsystems. By monitoring all commands issued within a matrix that can involve up to 8 individual initiators and 128 independent targets, the SASTracker Analyzer enables system integrators to identify commands that hang and that are slow to complete. The system is capable of monitoring over 10,000 pending commands and maintaining a log file of over 8 million commands.

By focusing its analysis on command execution, command timeout and quality-of-service problems, the SASTracker Analyzer helps server and storage OEMs optimize system performance and develop more reliable storage subsystems.

Like a protocol analyzer, SASTracker sits in the data path on a live system; but it does not record bit-level details. Instead, it monitors all commands issued and tracks their completion, reporting details such as initiator ID, target ID, op code and metrics such as command execution time and queue depth. The user may set a timeout trigger and the system will monitor and record all pending commands until any command exceeds the user-defined timeout, at which point the system will trigger and report the condition to the user.

Due to increasing bus traffic and the large number of pending commands that may exist concurrently, errors occur in storage subsystems that only become apparent as the complexity of the system increases. During the process of system integration, the user can initially set the timeout trigger to a large value to identify commands that fail to complete and focus on the associated hardware, programming or protocol errors. As these issues are identified and resolved, the user can reduce the timeout trigger and start to focus on delayed and data-starved command conditions. This process systematically identifies problems and inefficiencies and allows users to optimize performance in the storage subsystem.

The hidden cost of command latency

Advanced SAS and SATA storage subsystems make extensive use of command queuing to improve performance. Command queuing allows each target drive (typically a disk drive) to accept multiple commands into a “queue” and then reorder the commands to allow efficient completion of all commands. For example, if a drive head was positioned at sector A and was to pass through sectors B, C and D as the disk spins, commands received for data from sectors D, B, C and A would be reorganized and executed in the order A, B, C and D. The result is faster completion of the total tasks required.

The example above is very simple and uses a queue depth of only 4 commands. The queue depth defined by the SCSI specification allows a 16-bit queue tag, or a queue depth of over 60,000 commands. In practice, most drives limit queue depth to 128 commands, but the complexity of the resulting command execution, especially in a system that involves multiple drives, is apparent.

The result is that systems that work in simple environments often encounter problems as the system complexity increases. Commands may be issued and never completed, or may be delayed substantially, resulting in the rapid transmission of many commands but poor overall system performance. Protocols attempt to address these issues by providing higher level command timeouts and establishing priorities for commands, but tracking these issues in a typical storage subsystem can become a task far beyond the reach of protocol analyzers and similar tools.

The SASTracker Command Analyzer was designed to address precisely this problem. Either use alone or in conjunction with a protocol analyzer, the SASTracker Analyzer allows the user to identify and systematically eliminate performance problems, resulting in a storage subsystem with optimum performance.

With new SAS and SATA based subsystems reaching the market, developers are learning first hand how difficult it is to isolate tagged command queuing problems across large subsystems. Random I/O operations (commonly associated with transaction processing) are more likely to stress device queue algorithms during periods of peak activity. It’s here that subsystems that work flawlessly at low link utilization rates may exhibit problems with stranded commands during periods of high disk activity.

Multi-initiator environments found in clustering applications create added complexity because each SAS controller can transmit queued commands to each device in the subsystem concurrently. Assuming a blade server with 128 tags (typical SAS HDD queue depth) x 128 HDDs = over 16,000 potential outstanding queued commands. To effectively track every outstanding command to completion requires an analyzer capable of maintaining and monitoring timing on thousands of queued operations.

Commands that are ACKed by a device but fail to complete or are slow to complete are surprisingly difficult to isolate. SAS and SATA based disk drives configured in RAID environments aggravate the problem because they can generate data rates up 12 Gbps. Even with maximum filtering techniques, these high sustained data rates drastically reduce the amount of elapsed time that can be recorded with conventional analyzers.

Usage Cases

The SASTracker Command Analyzer is a new type of analysis tool specifically designed to debug intermittent command latency problems. It’s the first system capable of maintaining timing context and isolating command latency issues across complex transaction processing storage environments. It tracks every command issued with an independent timer and triggers in real time when it detects slow or incomplete commands. The SASTracker Analyzer displays a log of all commands with a marker at any timeout violation. This alone can save weeks of manual analysis by identifying the exact sequence of events that preceded the timeout condition.

The SASTracker system transparently taps from 1 to 4 SAS or SATA links. It includes a large real-time recording memory allowing it to track up to 8 initiators and 128 unique targets in a single session. This provides concurrent, end-to-end monitoring of over 16,000 pending I_T_L_Queue commands. Multiple Tracker systems can be used at multiple points in the storage fabric to ensure QOS at the application level.

The SASTracker system’s adjustable command threshold timer (from 50 us to 10 seconds) allows test engineers to identify a range of issues?from fatal errors to marginal devices. Conventional protocol analyzers are incapable of maintaining timing context for thousands of pending commands.

Quality of Service (QOS) Analysis – Blade servers and “grid” computing applications are ideally suited for SAS-based storage architectures. In this environment, server utilization can be dependent on the host controller’s ability to efficiently distribute IO operations. From the storage perspective, this can include multi-initiator environment where multiple servers are vying for access to the same storage resources. Ensuring that QOS is maintained at the application layer requires monitoring I/O operations for extended periods.

Continuous Computing - SAS supports fail-over to deliver fault tolerance for mission critical applications. Dual ported disk drives are used to provide an alternate pathway to a device if something happens to the primary path. Monitoring queue depth during failover / recovery is another area that can benefit from the SASTracker Analyzer’s specialized recording. When an initiator stops responding, it is vital that the storage devices seamlessly switch to the new host controller with minimal impact on command completion times. Monitoring queue depth during simulated fail over is key application for the SASTracker Analyzer.


The log displays each operation with the Initiator, Target ID, and other command level parameters including LBA, OP Code and transfer length. Each entry includes an absolute timestamp and delta between Command and Status. It’s capable of maintaining a history of the last 8 million commands with markers at each time-out violation.

Economical and Upgradeable

The SASTracker Analyzer option is built on the same platform as LeCroy’s market leading protocol analyzer for SAS and SATA. The Tracker option can be added to an existing protocol analyzer to allow a unique multi-purpose test capability. LeCroy SASTracer analyzer can be re-configured into a SASTracker in the field as needed by users. Reconfiguring the system allows users in the field to switch between the “bit-level” protocol analyzer and the “command” level Tracker capability.

LeCroy’s SAS analysis platform now provides the flexibility to evolve with the product development lifecycle. Equipment originally purchased for R&D test can be re-deployed in the field to help isolate marginal devices or software issues. But the real advantage of choosing LeCroy’s verification platform is its ability to shorten the time-to-market for SAS and SATA based storage solutions.

Product Resources