Visual SCSI Explorer screenshot

Visual SCSI Explorer product overview

 

Visual SCSI Explorer screenshot Visual SCSI Explorer application runs on Windows operating system platforms and is intended for advanced SCSI device testing. The application can handle SCSI devices connected to the host computer through such storage buses as Parallel SCSI, Fibre Channel (FC), Internet SCSI (iSCSI), Serial Attached SCSI (SAS), Storage Area Network (SAN), virtual, and others.

Application visualizes the host SCSI controller and device configuration as controller-device tree and properties. It is possible to rescan SCSI buses and to dynamically update the SCSI device list. Application functional interface is optimized for Direct Access (Disk), Sequential Access (Tape Drive), Multi-Media (CD/DVD/BD), Optical Memory (Magneto-optical), Media Changer (jukebox), Processor, and SCSI Enclosure Services devices. Raw CDB feature allows user to execute any SCSI command for SCSI device of any type. Application visualizes the process of SCSI command execution, logs the command parameters, the outbound and inbound command data and parses them.

Application automates routine SCSI device test tasks by using JScript and VBScript scripting languages, service procedures, and test procedures. The scripting helps to automate the execution of arbitrary SCSI command sequence for the complex testing tasks. Service procedures implement the predefined sequence of SCSI commands for the simple and typical servicing/testing tasks. Test procedures combine multiple scripts as test modules and offer the highest level of automation of test process. Application can run multiple scripts, service procedures, and test procedures for different devices at the same time.

 

Supported platforms

 

The following Windows operating system platforms are supported:

NOTE: 64-bit operating system platforms are supported only for AMD64 (x64) processor architecture.

 

System requirements

 

Hardware requirements:

Software requirements:

NOTE: It is recommended to install all system patches from Windows Update site.

 

SCSI-3 support

 

The application supports the SCSI commands and the device parameters as described in the SCSI-3 standards documents. The implementation is based on the following standards documents.

Some features from the latest standards documents are also implemented. The application supports mandatory SCSI commands and device parameters, and some optional commands and device parameters.

 

Raw CDB support

 

Application supports so-called "raw" CDB for manual and automated (scripting) SCSI command execution modes. User can make CDB manually using the binary editor. Also if command has outbound data, they can also be edited in binary data editor. Application offers well developed dialog box for the manual command mode. This feature makes it possible to execute arbitrary command and to set the reserved fields in the CDB and command data.

 

Hardware configuration view

 

The host SCSI hardware is represented in the hardware configuration window as adapter-device tree. Each SCSI adapter is represented as top level item in the tree. All devices that are connected to this adapter are represented as child items in the tree. When the adapter or device item is selected in the tree the properties of the selected item are shown in the properties window.

If the SCSI adapter item is selected in the hardware configuration window the properties specific for SCSI adapter are displayed in the properties window.

If the SCSI device item is selected in the hardware configuration window the device specific properties are displayed in the properties window together with the property group selector.

 

Rescanning of SCSI bus

 

User can rescan the SCSI bus of selected adapter. After the rescanning the application updates the list of devices that are attached to the selected adapter and reflects the changes immediately in the hardware configuration view. It is possible to enable automatic rescanning of the SCSI buses for all adapters during the application startup.

 

Transparent access to all SCSI devices

 

Application allows the SCSI command execution for all SCSI devices that are currently present in the host hardware configuration even if the operating system has installed the class drivers for those devices. In some cases when specific third party application installs non-standard proprietary drivers for SCSI devices the devices remain accessible.

The application supports SCSI Pass Through initiator interface. The SCSI Pass Through (SPT) interface is a native Windows interface to SCSI controllers and devices provided for the user-mode and kernel-mode components and applications.

The SCSI controllers and devices are accessed through special hardware management user-mode service using the user-mode SCSI Pass Through interface. The hardware management service is installed by the Visual SCSI Explorer product.

 

Manual mode of SCSI command execution

 

User can execute SCSI commands in manual mode using the application window menus. If SCSI command has additional parameters the suitable dialog box is shown that allows the user to specify additional command parameters like page code, allocation length, etc. The process of the command execution is reflected in the device log window. If the SCSI command succeeds the received data (if any) are parsed. If the SCSI command fails the parsed sense data (if available) are logged together with the status values.

 

Automated (scripting) mode of SCSI command execution

 

The scripting helps to automate the execution of SCSI command sequence for the complex testing tasks. Application can run the scripts that are written for such popular scripting languages as JScript and VBScript. The script is being executed on the script engine. The application creates separate instance of the script engine for each active (running) script. The scripts and script engines are running in the context of the application. The script can be executed in two different modes: the script editor mode and the device mode. It is possible to terminate the script execution at any time. The list of the active scripts is shown in the device properties.

It is possible to define so-called startup arguments for the script. The script can get the values of the startup arguments while executing. Startup arguments allow further customization of tasks that can be executed by single script module.

It is possible to specify additional script files to be included before the first line of the main script file. This feature may be used to move common definitions and frequently used functions to separate files and to leave in main script file only code that is specific to task. This feature also simplifies the use of previously developed script libraries.

 

Service procedures

 

The service procedure is the predefined sequence of SCSI commands that can be executed once or in the loop. Each service procedure implements some useful function like firmware upload or simple testing tasks. If service procedure has additional parameters the suitable dialog box is shown that allows the user to specify additional procedure parameters like number of iterations, data file path, etc. It is possible to run multiple service procedures for single or multiple devices. It is possible to terminate the service procedure execution at any time. The list of the active service procedures together with the procedure status is shown in the device properties.

The service procedures are implemented for the following device types.

 

Test procedures

 

Test procedure is a sequence of test modules. The test module refers to the script module or service procedure. Each test module performs certain number of testing operations for the device being tested. When test procedure is running the test modules are being executed sequentially in the same order as they are present in the list. After the test procedure finishes the result of execution of test modules is indicated in the status column for each module. The test procedure execution can either be terminated immediately on first test module failure or can run to the end regardless to the result of test module execution. Multiple test procedures can be running for different devices at the same time. Application provides test procedure window that allows the user to manage the test procedure. It is possible to save the test procedure to the file and open it later for editing and/or execution.

 

Asynchronous SCSI command execution

 

All SCSI commands are being executed asynchronously. When user selects the SCSI command in the menu for execution the SCSI command is queued for execution on the device. If no other commands are queued previously, the execution of current SCSI command is being started immediately. Otherwise, the command is put to the queue and will be executed later when the previously queued commands are completed. It is possible to queue multiple SCSI commands while the first command is being executed. Also, one can execute SCSI commands manually while the service procedure(s) and/or script(s) are also executing SCSI commands for the same device. The list of the active and pending SCSI commands is shown in the device properties.

 

Detailed logging of SCSI command execution

 

Various types of information are being logged during the SCSI command execution. Each device has its own message log. When SCSI device is selected in the hardware configuration window, the device's log is shown in the log window.

When SCSI command is being executed, the application logs the CDB itself and its parameters, any outbound or inbound data, and the completion status. If the data are known, the application parses the data and logs the values of the data fields. If the command is completed with CHECK CONDITION SCSI status, the application logs SCSI sense data.

The scripts and service procedures also log various messages.

The content of the log window can be saved into the text file for further analysis.

 

Text editor for script editing

 

Application has well developed text editor for editing the script text.

 

Parallel execution of multiple service procedures and scripts

 

Multiple service procedures and scripts can be running for single device at the same time. Single service procedure or script can be running in multiple instances for multiple devices.

 

Sample script library

 

There is a library of sample JScript and VBScript script that illustrate the use of all properties and methods of exported Device and Application objects. Application help system has detailed description of arguments and returned values for each method and property.

 

Large integer support for scripting

 

Basic large integer (8-byte) arithmetic and comparison operations are supported for scripting. Large integer values are used as parameters for some SCSI commands. Also large integer values might be necessary while making and parsing device parameters and other binary data.

 

Large CDB and bidirectional data transfer support

 

Application supports large CDB with length greater than 16 bytes and bidirectional data transfer. The length of large CDB is limited by 256 bytes. The operating system platform and HBA device/driver must support storage request block in order to utilize this feature. Windows 8 operating system platform and later support storage request block. Support of storage request block for HBA is reflected in the list of properties. If Request type property has non-zero value the HBA supports large CDB and bidirectional data transfer. This feature is supported for all command execution modes: manual, service procedure, and scripting.

 

Task management function support

 

The following task management functions are supported.

 

Control byte fields support

 

The script can set Link, Flag, NACA, and Vendor Specific fields in Control byte in CDB for all commands. The script can dynamically disable and enable Control byte setting in order to pass arbitrary values for Control byte in raw and custom CDBs.

 

Unicode file encoding support

 

Unicode file encoding is supported for script device log, and test files. User can change file encoding settings in program options dialog box. One can save files in ANSI, Unicode, UTF-8, and UTF-16LE encodings.

 

Interactive tools for device management

 

The product includes the set of interactive tools for advanced device management:

 

Additional product information

 

Visual SCSI Explorer Technical Description provides detailed description of the product features.

Product PAD-file is located here.