Virtual Storage Device Emulator management console screenshot

Virtual Storage Device Emulator product overview

 

Virtual Storage Device Emulator management console screenshot Virtual Storage Device Emulator emulates virtual storage controller, virtual storage devices, and virtual media on Windows operating system platforms. Virtual Storage Device Emulator supports iSCSI interface through external and local network interfaces in SCSI target mode. Virtual Storage Device Emulator supports Parallel SCSI interface in SCSI target mode.

Virtual Storage Device Emulator emulates the Direct Access Block (Disk) devices, Sequential Access (Tape Drive) devices, Processor devices, Multi-Media (CD/DVD/BD) devices, Optical Memory (Magneto-optical) devices, and Media Changer (jukebox) devices. Virtual devices store the data in the files located in local file system. Virtual devices can be configured as having either fixed or removable medium. Virtual media can be loaded to and unloaded from virtual devices manually or in automated way.

Virtual Storage Device Emulator emulates the virtual storage controller device for the operating system and other software to access the virtual storage devices. The virtual storage devices that are emulated through virtual storage controller are visible only on the local computer system the Virtual Storage Device Emulator is running on.

Virtual Storage Device Emulator supports iSCSI interface in SCSI target mode. Virtual storage devices that are emulated through iSCSI interface are visible to external initiators running on the other computer systems connected through the network. Local computer system can access virtual devices through iSCSI interface as well.

Virtual Storage Device Emulator emulates virtual storage devices and media through Parallel SCSI interface. Virtual storage devices and media are visible to external initiators and computer systems that are connected to the local computer system through SCSI cable.

Virtual Storage Device Emulator provides management console with graphical user interface (GUI) for managing the virtual hardware and virtual media configuration.

Virtual Storage Device Emulator provides command line interface (CLI) for automation of virtual hardware and virtual media management procedures. CLI module can be invoked either manually or by the other application or script.

 

Supported platforms

 

The following Windows operating system platforms are supported:

NOTE: 64-bit operating system platforms are supported only for AMD64 (x64) processor architecture.
NOTE: Service Pack 1 or higher should be installed on Windows Vista OS platform.

 

System requirements

 

Hardware requirements:

Software requirements:

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

 

Principal SCSI target architecture

 

Principal SCSI target architecture of possible interface/hardware configuration:

Virtual Storage Device Emulator principal SCSI target architecture

Local computer system has connections to Virtual Storage Controller (red arrow) and network connection to iSCSI interface (green arrows). Remote computers 0 and 1 have network connection to iSCSI interface (green arrows) through LAN/WAN. Remote computers 1 and 2 have SCSI connection to SCSI parallel interface (blue arrows) through SCSI cable.

Virtual Storage Controller supports buses from 0 to 7. iSCSI interface supports single standard TCP port 3260 defined for iSCSI protocol. SCSI parallel interface supports single SCSI port.

Target 0 has multiple logical units from LUN0 to LUNn. Target 1 has multiple logical units from LUN0 to LUNm.

Target 0 has virtual connections (orange bidirectional arrows) to bus 0 of Virtual Storage Controller, standard TCP port of iSCSI interface, and single SCSI port of SCSI parallel interface. Target 0 and all it’s logical units (LUN0, LUN1, …, LUNn) are visible to local computer and to remote computers 0, 1, and 2. Local computer can access Target 0 and it’s logical units through multiple paths – Virtual Storage Controller and local network connection to iSCSI interface. Remote computer 1 can access Target 0 and all it’s logical units through multiple paths - LAN/WAN connection to iSCSI interface and SCSI port on SCSI parallel interface.

Target 1 has virtual connections (red bidirectional arrows) to standard TCP port of iSCSI interface and single SCSI port of SCSI parallel interface. Target 1 and all it’s logical units (LUN0, LUN1, …, LUNm) are visible to remote computers 1 and 2. Remote computer 1 can access Target 1 and all it’s logical units through multiple paths – LAN/WAN connection to iSCSI interface and SCSI port on SCSI parallel interface.

Logical units LUN0 and LUNn on Target 0 and LUNm on Target 1 are configured as having fixed or removable medium and are accessing virtual media data files on local file system (brown arrows). Other logical units on both targets do not have medium.

 

Virtual storage controller emulation

 

The virtual storage controller is the communication endpoint for the operating system and other software to access the virtual storage devices and media.

Virtual storage controller accepts the commands and other requests from the system and passes them to core Virtual Storage Device Emulator component for processing. Virtual storage controller handles requests for multiple virtual devices in parallel.

 

iSCSI interface support

 

Virtual Storage Device Emulator supports iSCSI interface in SCSI target mode. Virtual storage devices that are emulated through iSCSI interface are visible to external initiators running on the other computer systems connected through the network. Local computer system can access virtual devices through iSCSI interface as well.

The iSCSI interface implementation supports Internet Protocol version 4 (IPv4). Standard TCP port number 3260 is used. Virtual Storage Device Emulator has proprietary implementation of iSCSI protocol.

 

SCSI Parallel interface support

 

Virtual Storage Device Emulator supports SCSI Parallel interface in SCSI target mode for LSI Logic SCSI host adapters or adapters from the other manufacturers that are based on supported LSI53C8xx SCSI controllers. The following SCSI controllers are supported:

 

SCSI-3 command and parameter support

 

Virtual Storage Device Emulator 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. Virtual Storage Device Emulator supports mandatory SCSI commands and device parameters, and subset of optional commands and device parameters.

The following commands from the primary command set are supported.

The following shared vital product data parameters are supported.

The following shared log parameters are supported.

The following shared mode parameters are supported.

 

Direct access block device emulation

 

Virtual Storage Device Emulator emulates the direct access block (disks) devices according to SCSI Block Commands (SBC) standard. Direct access device provides randomly accessible bock storage.

The following commands from the SCSI block command set are supported.

The following mode parameters from SCSI block command set are supported.

 

Sequential access device emulation

 

Virtual Storage Device Emulator emulates the sequential access (tape drive) devices according to SCSI Stream Commands (SSC) standard. Sequential access device provides sequentially accessible logical object storage.

The following commands from the SCSI stream command set are supported.

The following vital product data parameters from SCSI stream command set are supported.

The following log parameters from SCSI stream command set are supported.

The following mode parameters from SCSI stream command set are supported.

 

Processor device emulation

 

Virtual Storage Device Emulator emulates the processor devices according to SCSI Primary Commands – 2 (SPC-2) standard.

The following commands from the processor device command set are supported.

 

Multi-media device emulation

 

Virtual Storage Device Emulator emulates the Multi-Media (CD/DVD/BD) devices according to Multi-Media Commands (MMC) standard.

The following commands from the multi-media device command set are supported.

The following mode parameters from the multi-media device command set are supported.

 

Optical memory device emulation

 

Virtual Storage Device Emulator emulates the optical memory (magneto optical disks) devices according to SCSI Block Commands (SBC) standard.

The following additional commands for the optical memory devices are supported.

 

Media changer device emulation

 

Virtual Storage Device Emulator emulates the media changer (jukebox) devices according to SCSI Media Changer Commands (SMC) standard. Virtual media changer devices can be configured as having only removable medium.

The following commands from the media changer device command set are supported.

The following media changer device vital product data parameters are supported.

The following media changer device log parameters are supported.

The following media changer device mode parameters are supported.

 

Enabling and disabling of the interface and virtual device

 

If SCSI target interface is in enabled state, all connected SCSI targets and logical units are visible to initiators. If SCSI target interface is in disabled state, the initiator does not see the SCSI targets and logical units connected to interface buses.

Enabled/disabled SCSI target interface state is persistent and is kept between system restarts. By default the initial state of SCSI target interface state is disabled for security reasons.

Enabling and disabling virtual devices emulates the physical powering on and off of the devices. If virtual device is enabled, it is visible to the host and is available for command processing. If virtual device is disabled, it is not visible to the host and is not available for command processing.

Disabled virtual device state remains in virtual hardware configuration. It is possible to enable/disable virtual devices on the fly. Enabled/disabled device state is persistent and is kept between system restarts. By default the device is enabled right after creation.

 

Removable device medium

 

Virtual Storage Device Emulator emulates removable device medium. The virtual media are located in media pool. The GUI management console and command line interface utility provide the means for managing the virtual media.

Virtual medium data files are being kept in the special folder. It is possible to view and change path to the folder in management console.

The virtual media can be inserted and removed to/from virtual devices on the fly either manually or in automated way. If virtual medium has been inserted to the device, it remains in permanent inserted/loaded state through the system reboot cycles until it is removed from the device.

 

Virtual hardware management console

 

Virtual Storage Device Emulator provides management console with graphical user interface (GUI) for managing SCSI target interfaces, virtual hardware configuration, virtual media, and pseudo SCSI analyzer.

Management console is implemented as Win32 GDI application with graphical user interface.

Using management console the user can perform the following operations:

 

Command line interface

 

Virtual Storage Device Emulator provides command line interface (CLI) for automation of virtual hardware configuration procedures. Command line interface can be invoked either manually or by the other application or script.

Command line interface is implemented as executable module. The module is Win32 console application.

More detailed description can be found in Virtual Storage Device Emulator Command Line Interface Specification document.

 

Large CDB support

 

Virtual Storage Device Emulator supports 32-byte commands for direct block and optical memory devices on Windows 8/2012 and later operating system platforms. Applications and drivers can execute large commands by means of storage request block request or extended SCSI pass through request.

 

Multiple targets and multiple logical units per target

 

Virtual Storage Device Emulator supports multiple SCSI targets. Virtual Storage Device Emulator supports multiple logical units per single SCSI target. Logical unit objects are always assigned to the parent SCSI target object.

The configuration of SCSI targets and logical units can be changed dynamically on the fly.

 

Pseudo SCSI analyzer

 

Pseudo SCSI analyzer provides indication of various events that occur in SCSI subsystem and during SCSI command processing. The typical example is arrival of SCSI command from initiator, command processing in target and logical unit, and command completion with SCSI status and sense data.

Pseudo SCSI analyzer allows individual selection of SCSI target interfaces, virtual hardware objects, and events for monitoring. All changes in selection for monitoring are dynamic and take effect immediately.

The content of pseudo SCSI analyzer view can be saved to the text file for later analysis.

 

Virtual SCSI connections

 

Virtual connections between interface buses and SCSI targets specify the path of SCSI command routing. When SCSI target is connected to interface bus, the SCSI target and assigned logical units are visible to initiators through the interface bus.

Only one virtual connection is allowed between any particular SCSI target and SCSI interface bus. Single SCSI interface bus can be connected up to 256 SCSI targets. Single SCSI target can be connected up to 256 SCSI interface buses. When SCSI target is connected to multiple SCSI interface buses, the so-called multi path I/O (MPIO) configuration is used. In MPIO configuration the SCSI target and all assigned logical units are visible to the initiator in multiple instances.

The configuration of virtual connections can be changed dynamically on the fly.

 

Artificial not ready device state

 

Artificial not ready device state provides the means for checking of device state handling in application client software. If not ready device state is enabled, all media access commands will be completed with specified error codes.

User can specify additional sense code and additional sense code qualifier values.

 

SCSI error emulation

 

SCSI error emulation provides the means for checking the error handling in application client software. When emulation of SCSI error is enabled, the specified SCSI commands are completed with specified error codes.

User can specify SCSI error emulation mode, SCSI commands and operations to fail, SCSI sense data values (sense key, additional sense code, and additional sense code qualifier), and additional error actions that are specific to device type and error type.

 

TapeAlert flags emulation

 

Virtual Storage Device Emulator provides the means for emulation of TapeAlert flags. The TapeAlert flags are supported for sequential access and media changer devices.

The user can manage the current values of TapeAlert flags.

 

Unit Attention condition emulation

 

Unit Attention condition emulation provides the means for generation of any number of unit attentions with specified parameters.

User can specify additional sense code, additional sense code qualifier, and additional sense bytes values.

 

Device temperature emulation

 

Virtual Storage Device Emulator provides the means for emulation of device temperature.

Device temperature is reported in Temperature (0Dh) log page by Log Sense (4Dh) SCSI command. User can specify the values for Temperature (0000h) and Reference Temperature (0001h) log parameters.

 

Import/export door emulation for media changer device

 

Virtual Storage Device Emulator emulates the opening and closing of import/export door for media changer device.

If import/export door is closed, all import/export elements are marked as accessible and media changer device is able to move the media to/from import/export elements. If import/export door is open, all import/export elements are marked as not accessible and media movement commands to/from import/export elements will fail.

 

Operation timing emulation for media changer device

 

Virtual Storage Device Emulator emulates the operation timing for media changer device in order to imitate the delays in operations of real devices. It is possible to set in device parameters the duration of media movement and element status initialization operations. If operation timing parameter has non-zero value the corresponding delay will be made during SCSI command execution.

Media movement operation timing specifies the delay in Move Medium (A5h) and Exchange Medium (A6h) SCSI commands. Element status initialization operation timing specifies the delay for single element for Initialize Element Status (07h) and Initialize Element Status With Range (37h) SCSI commands.

 

Device extension module

 

Device extension module handles non-standard commands, parameters, and behavior that are specific to certain device models. Single device extension module can be assigned to virtual device.

The device extension module is implemented as Windows DLL-module. Proprietary programmatic interface is used for interaction between device extension module and Virtual Storage Device Emulator core.

Device extension modules can only be developed on request according to commands and parameters specification.

 

Additional product information

 

Virtual Storage Device Emulator Technical Description provides detailed description of the product features.

Product PAD-file is located here.