MSCP and TMSCP Controllers

Table of Contents

Introduction

CHARON-VAX / CHARON-PDP provides MSCP controllers for hardware disks (including floppy and CD/DVD) and disks images. TMSCP controllers provide support for hardware tapes and tape images.

MSCP and TMSCP controllers are added to the configuration using the "load" command. The individual units are defined by using the container parameter.

MSCP devices appear in VMS as DUA for the first controller and DUB for the second controller, etc.
TMSCP devices appear in VMS as MUA, MUB, etc.

When adding multiple MSCP or TMSCP controllers, follow the QBUS addressing conventions.

When a tape or disk image, connected to an emulated TMSCP or MSCP controller, is dismounted, in VAX/VMS, it is disconnected from CHARON-VAX / CHARON-PDP and can be manipulated. It can be replaced with a different disk image if it keeps the same name. This capability may be useful when designing back-up and restore procedures. When copying CHARON-VAX / CHARON-PDP disk images while CHARON-VAX / CHARON-PDP is running, please take care to minimize the risk of overloading a heavily loaded CHARON-VAX / CHARON-PDP host system. For example, using a sequential series of simple ftp binary copies is less resource intensive and thus less disruptive than multiple, simultaneous copies.

Empty disk images are created with the "mkdskcmd" utility. Tape images ("*.vtape") will be created automatically if they don't exist (no utility needed).

CHARON-VAX / CHARON-PDP is able to boot from disk images of any VMS/RSX11/RT11 version (for VAX/VMS starting with 4.5 or higher for MicroVAX II or VAX 3600 and VAX/VMS 5.5-2 or higher for the VAX4000).


RQDX3 Controller

The CHARON-VAX / CHARON-PDP QBUS system provides support for RQDX3 disk controllers. The original RQDX3 disk controller is capable of serving up to 4 disk units. CHARON-VAX / CHARON-PDP extends this limit so that the RQDX3 disk controller can be configured with up to 256 disk units. Normally all 256 disks can be connected to one MSCP disk controller, but if an application does intensive simultaneous I/O to more than 16 disks on one MSCP controller, it is recommended to configure additional RQDX3 controllers.

Use the following command to load an instance of an RQDX3 disk controller:

load RQDX3/RQDX3 <logical name>


Example:

load RQDX3/RQDX3 DUA

The RQDX3 offers the following configuration parameters, which are specified with the "set" command:

address

Parameteraddress
Type

Numeric

Value

Specifies the CSR address. This address must be a valid QBUS 22-bit address in IO space.

Initially its value is 017772150, which is the factory setting for the RQDX3 disk controller.

Use the "address" parameter for loading several instances of RQDX3. The "address" parameter value must be unique for every instance of the controller.

max_n_of_units

Parameter

max_n_of_units

TypeNumeric
Value

Specifies the maximum number of units supported by the controller. Possible values are 4…9999.

The default value is 9999.


container

Parameter

container[N]

N=0…9999

TypeText String
Value

Specifies the location of the disk container. It can be either the name of a ".vdisk" file or the name of a physical disk:

  • Local fixed disks (IDE, SCSI, SATA)
    • "\\.\PhysicalDrive<N>"
      "\\.\PhysicalDrive(DevID =XXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX)"
      DevID addresses the target physical disk by its WWID
      (hexadecimal 128-bit identifier assigned to the disk
      drive by its manufacturer/originator).

      Example:

      set DUA container[3]="\\.\PhysicalDrive(DevID= 6008-05F3-0005-2950-BF8E-0B86-A0C7-0001)"

      .The WWID values can be obtained from "Host Device Check" utility ("All drives" section).


      If the "Host Device Check" utility does not display any WWID, this means the target disk does not have one. Use the "\\.\PhysicalDrive<N>" mapping in this case.

  • iSCSI disks
    • "\\.\PhysicalDrive(iScsiTarget = <iSCSI target>, LUN = <LUN number>)"

      iScsiTarget addresses the disk by its iSCSI target name.
      LUN specifies LUN on connected iSCSI disk. 

      Example:

      set DUA container[0]="\\.\PhysicalDrive(iScsiTarget= iqn.2008-04:iscsi.charon-target-test1, LUN= 1)"

      .

  • Floppy drives
    • "\\.\A:"
    • "\\.\B:"
      .
  • CD-ROM, DVD drives (IDE, SCSI, …)
    • "\\.\CdRom<N>"



media_type

Parameter

media_type[N]

N=0…9999

Type

Text String

Value

Overrides the default (automatically determined) MSCP media type of a device.

Syntax:

"<device-name>[,<device-type>]"

where:

  • <device-name> is one of “DU”, “DK”, “SCSI”, “DI”, “DSSI”, “DJ”

  • <device-type> is of the form “LLD” or “LLLD”, where “L” is a letter from A through Z, and “D” is a decimal number from 0 through 99

If not specified, the device name is set to “DU” and the device type is selected based on disk size.

Initially not specified.

geometry

Parameter

geometry[N]

N=0…9999

Type

Text String

Value

This formatted string value specifies the explicit geometry of the disk storage element with a DSSI node id: N and an MSCP unit number: N. This parameter is not applicable to tape storage elements.

The string format is <X>”/”<Y>[“/”<Z>] where:

  1. X is the number of sectors per track;

  2. Y is the number of tracks per cylinder;

  3. Z (optional) is the number of cylinders on the unit. If omitted, Z is calculated based on X, Y and the total number of sectors on the unit that reflects the size of the disk storage element;

If this parameter is not set, CHARON-VAX / CHARON-PDP will configure the geometry based on the most probable disk type.


use_io_file_buffering

Parameter

use_io_file_buffering[N]

N=0…9999

Type

Text String

Value

Instructs CHARON-VAX to enable host operating system I/O cache on reading/writing operations.

The following values are possible:

  • "true" or "write-back" - the "write back" caching mode is used
  • "write-through" - the "write through" caching mode is used

  • "false" - caching is switched off

(info) Note that this caching has a significant effect only in case of mapping to disk and tape containers, not physical drives.

When enabled, host operating system I/O cache may significantly improve I/O performance of the virtual system. At the same time maintaining I/O cache requires additional host resources (CPU and memory) which may negatively affect overall performance of the virtual system.

Initially is set to "false".

Example:

set DUA use_io_file_buffering[2]=true

Example 1

load RQDX3/RQDX3 DUA address=017772150 max_n_of_units=4

set DUA container[0] = "C:\Charon\Disks\rx23.vdisk"
set DUA container[1] = "\\.\PhysicalDrive1"

load RQDX3/RQDX3 DUB address=017760334 

set DUB container[5] = "\\.\CdRom0"

In the above example the "rx23.vdisk" will be seen in VMS as DUA0, "\\.\PhysicalDrive1" as DUA1 and "\\.\CdRom0" as DUB5.

Example 2:

load RQDX3/RQDX3 DIA address=017772150 max_n_of_units=4

set DIA container[0] = "C:\Charon\Disks\rx23.vdisk"
set DIA media_type[0] = "dssi"

set DIA container[1] = "\\.\PhysicalDrive1"
set DIA media_type[1] = "dssi"

In the above example the "rx23.vdisk" will be seen in VMS as DIA0 and "\\.\PhysicalDrive1" as DIA1.


TQK50 and TUK50 Controllers

The CHARON-VAX / CHARON-PDP QBUS system provides support for the TQK50 tape controller.  UNIBUS systems support the TUK50 tape controller.

The original TQK50/TUK50 tape controllers were capable of serving only 1 tape unit. CHARON-VAX / CHARON-PDP extends the limit to 10000 tape units.

Use the following commands to load an instance of a TQK50/TUK50 tape controller:

load TQK50/TQK50 <logical name 1>
load TUK50/TUK50 <logical name 2>


Example:

load TQK50/TQK50 MUA1
load TUK50/TUK50 MUA2

The TQK50/TUK50 controllers have the following configuration parameters, which are specified with the "set" command:

address

Parameteraddress
TypeNumeric
Value

Specifies the CSR address. This address must be a valid QBUS 22-bit address in IO space for a TQK50 and a valid UniBUS 18-bit address in I/O space for a TUK50.

The initial values are 017774500 (TQK50) and 0774500 (TUK50), which is the factory setting for these tape controllers.

Use the "address" parameter to load several instances of TQK50's/TUK50's. The "address" parameter value must be unique for each instance of a TQK50/TUK50.

container

Parameter

container[N]

N=0…9999

Type

Text String

Value

Specifies the location of the tape container. It can be either the name of a ".vtape" (".mtd") file or the name of a physical tape drive:

  • Tape images
    • <file name>.vtape
      .
  • Local physical tape drives recognized by Windows
    • "\\.\Tape<N>"
      .

media_type

Parameter

media_type[N]

N=0…9999

Type

Text String

Value

Overrides the default (automatically determined) TMSCP media type of a device.

Syntax:

"<device-name>[,<device-type>]"

where:

  • <device-name> is either: “MU”, “MK”, “SCSI”, “MI”, “DSSI”, or “MJ”

  • <device-type> is of the form “LLD” or “LLLD”, where “L” is letter a from A through Z, and “D” is a decimal number from 0 through 99

If not specified, the device name is set to “MU” and the device type is set to “TK50”

Initially not specified.

geometry

Parameter

geometry[N]

N=0...9999

Type

Text String

Value

Specifies the size of a tape image and (optionally) the size of an "early-warning" area at the end of a tape image.

Syntax:

"<image-size>[, <early-warning-zone-size>]"

where:

  • <image-size> is the tape size in MB

  • <early-warning-zone-size> is the size (in KB) of the space left on the tape that, when reached, issues a warning to the OS. If omitted, 64K is assumed.

Example:

load TQK50 MUA
set MUA geometry[0] = 90


Example:

load TQK50 MUA address=017774500

set MUA container[0] = "\\.\Tape0"
set MUA container[1] = "C:\Charon\Tapes\tape1.vtape"


Multi-volume tape images are handled as follows:

set MUA container[0] = "..."
set MUA container[1] = "..."

set MUA container[2] = "..."
set MUA container[3] = "..."

Once this configuration is established, the following VMS command (for example) can be used:

$ BACKUP MUA0:BACKUP.BCK,MUA1,MUA2,MUA3/SAVE_SET DUA0:...

KDM70 Controller

KDM70 is an MSCP/TMSCP disk and tape storage controller for a VAX 6000.

The CHARON-VAX virtual KDM70 storage controller supports 9999 disks and tapes instead of the 8 disk limitation of the original hardware. This design modification has the advantage of using only one XMI slot for up to 9999 disk and tape devices.

The I/O behavior of the virtual KDM70 storage controller is as follows:

  • Up to 16 connected disks operate in parallel without any I/O performance degradation.

  • For systems with more than 16 heavily used disks, configure two controllers and distribute the heavily loaded disks evenly.

  • As in the hardware KDM70 storage controller, VMS can be booted only from the first 10 devices (DU0 - DU9) on the KDM70 storage controller.

  • Hardware KDM70 storage controllers do not support tape drives. The virtual KDM70 storage controllers support a transparent extension for data tapes (boot from tape is not supported).

The line below loads an emulated KDM70 storage controller:

load KDM70/KDM70 PUA

The KDM70 storage controller emulation has the following configuration parameters:

xmi_node_id

Parameter

xmi_node_id

Type

Numeric
Value

Specifies the XMI slot in which the virtual KDM70 storage controller is placed.

For CHARON-VAX/66X0 a free slot between 10 (A) and 14 (E) must be chosen.


container

Parameter

container[N]

N=0…9999

Type

Text String

Value

Possible values of the parameter are strings in one of the following forms:

  • Physical disk drives
    • "\\.\PhysicalDrive<X>", where X is 0, 1, …
      "\\.\PhysicalDrive(DevID =XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX)"

      DevID addresses the target physical disk by its WWID
      (hexadecimal 128-bit identifier assigned to the disk
      drive by its manufacturer/originator).

      Example:

      set PUA container[3]="\\.\PhysicalDrive(DevID= 6008-05F3-0005-2950-BF8E-0B86-A0C7-0001)"

      .The WWID values can be obtained from "Host Device Check" utility ("All drives" section).


      If the "Host Device Check" utility does not display any WWID, this means the target disk does not have one. Use the "\\.\PhysicalDrive<N>" mapping in this case.

  • iSCSI disks
    • "\\.\PhysicalDrive(iScsiTarget = <iSCSI target>, LUN = <LUN number>)"

      iScsiTarget addresses the disk by its iSCSI target name.
      LUN specifies LUN on connected iSCSI disk. 

      Example:

      set PUA container[0]="\\.\PhysicalDrive(iScsiTarget= iqn.2008-04:iscsi.charon-target-test1, LUN= 1)"

      .

  • Physical tape drives recognized by Windows
    • "\\.\Tape<X>", where X is 0, 1, …
      .
  • Floppy drives
    • "\\.\A:"
    • "\\.\B:"
      .
  • CD-ROM drives (read-only)
    • "\\.\CdRom<X>", where X is 0, 1, …
      .
  • CHARON-VAX disk images
    • [<drive>":\"<path-name>"\"]<file-name>[".vdisk"]
      . 
  • CHARON-VAX tape images
    • [<drive>":\"<path-name>"\"]<file-name>".vtape"

media_type

Parameter

media_type[N]

N=0…9999

Type

Text String

Value

Overrides the default (automatically determined) MSCP media type of the device.

Syntax:

"<device-name>,<device-type>"

where:

  • <device-name> is either: “DU”, “MU”, “DK”, “MK”, “SCSI”, “DI”, “MI”, “DSSI”, “DJ”, “MJ”

  • <device-type> is in the form: “LLD” or “LLLD”, where “L” is a letter from A through Z, and “D” is a decimal number from 0 through 99

If not specified, the device name is set to “DI”, and the device type is selected based on disk size for the disk storage elements. For tape storage elements, the device name and type are set to “MI” and “TF86”, respectively.

Initially not specified.

geometry

Parameter

geometry[N]

N=0…9999

Type

Text String

Value

This formatted string value specifies the explicit geometry of the disk storage element with DSSI node id: N and MSCP unit number: N. This parameter is not applicable to tape storage elements.

The string format is <X>”/”<Y>[“/”<Z>] where:

  • X is the number of sectors per track

  • Y is the number of tracks per cylinder

  • Z (optional) is the number of cylinders on the unit. If omitted, Z is calculated based on X, Y and the total number of sectors on the unit that reflects the size of the disk storage element

If this parameter is not set, CHARON-VAX will configure the geometry based on the most probable disk type.

Initially not set.

The syntax described above is applicable only to disk storage elements. If the container is a tape image, the following format is used instead:

Syntax:

"<image-size>[, <early-warning-zone-size>]"

where:

  • <image-size> is the tape size in MB

  • <early-warning-zone-size> is the size (in KB) of the space left on the tape when a warning to the OS is issued. If omitted, 64K is assumed.


use_io_file_buffering

Parameter

use_io_file_buffering[N]

N=0…9999

Type

Text String

Value

Instructs CHARON-VAX to enable host operating system I/O cache on reading/writing operations.

The following values are possible:

  • "true" or "write-back" - the "write back" caching mode is used
  • "write-through" - the "write through" caching mode is used

  • "false" - caching is switched off

(info) Note that this caching has a significant effect only in case of mapping to disk and tape containers, not physical drives.

When enabled, host operating system I/O cache may significantly improve I/O performance of the virtual system. At the same time maintaining I/O cache requires additional host resources (CPU and memory) which may negatively affect overall performance of the virtual system.

Initially is set to "false".

Example:

set PUA use_io_file_buffering[0]=true


Example:

Create a KDM70 storage controller: (T)MSCP controller in XMI slot 10:

load KDM70/KDM70 PUA xmi_node_id=10

Configure, on this controller, a system disk to be DUA0: in VMS:

set PUA container[0]="C:\Charon\Disks\vms72-66X0.vdisk"

Configure a user disk to be DUA1: in VMS:

set PUA container[1]="C:\Charon\Disks\usertest.vdisk"

Configure the first SCSI tape drive connected to a host to be MUA4: in VMS:

set PUA container[4]="\\.\Tape0"

The file my_tape.vtape in the default directory is used by VMS as MUA5:

set PUA container[5]="C:\Charon\Tapes\my_tape.vtape"

The first host system CD-ROM is used to read VMS CDs and be DUA9:

set PUA container[9]="\\.\CdRom0"

The host system floppy drive "A:" is used in VMS as DUA10:

set PUA container[10]="\\.\A:"

The virtual KDM70 storage controller examines the file extension (vdiskor vtape) to distinguish between a disk image and a tape image.

Configured physical devices or tape/disk images that do not exist on the host system will, in general, cause VAX/VMS to report the unit offline. In some cases this will result in a VMS BUG CHECK. In this case, an error message will be written to the log file.

KDB50 Storage Controller

KDB50 is an MSCP storage controller for a VAX 6000.

The CHARON-VAX virtual KDB50 storage controller supports up to 9999 disks instead of the 4 disk limitation of the original hardware. This design modification has the advantage of using only one VAXBI slot for up to 9999 disk and tape devices.

The I/O behavior of the virtual KDB50 storage controller is as follows:

  • Up to 16 connected disks operate in parallel without any I/O performance degradation.

  • For systems with more than 16 heavily used disks, configure two storage controllers and distribute the heavily loaded disks evenly.

  • VMS can boot only from the first 10 devices (DU0 - DU9) on the KDB50 storage controller, same as for the original hardware.

The line below loads an emulated KDB50 storage controller:

load KDB50 PUA

The KDB50 storage controller emulation has the following configuration parameters:

vax_bi_node_id

Parameter

vax_bi_node_id

TypeNumeric
Value

Specifies the VAXBI slot in which the virtual KDB50 storage controller is placed. For CHARON-VAX / CHARON-PDP a free slot between 1 (1) and 15 (F) must be chosen.

Initially set to 14.


container

Parameter

container[N]

N=0…9999

Type

Text String

Value

Possible values of the parameter are strings in one of the following forms:

  • Physical disk drives
    • "\\.\PhysicalDrive<X>", where X is 0, 1, …
      "\\.\PhysicalDrive(DevID =XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX)"

      DevID addresses the target physical disk by its WWID (hexadecimal 128-bit identifier assigned to the disk drive by its manufacturer/originator).

      Example:

      set PUA container[3]="\\.\PhysicalDrive(DevID= 6008-05F3-0005-2950-BF8E-0B86-A0C7-0001)"

      .The WWID values can be obtained from "Host Device Check" utility ("All drives" section).


      If the "Host Device Check" utility does not display any WWID, this means the target disk does not have one. Use the "\\.\PhysicalDrive<N>" mapping in this case.

  • iSCSI disks
    • "\\.\PhysicalDrive(iScsiTarget = <iSCSI target>, LUN = <LUN number>)"

      iScsiTarget addresses the disk by its iSCSI target name. LUN specifies LUN on connected iSCSI disk. 

      Example:

      set PUA container[0]="\\.\PhysicalDrive(iScsiTarget= iqn.2008-04:iscsi.charon-target-test1, LUN= 1)"

      .

  • Floppy drives
    • "\\.\A:"
    • "\\.\B:"
      .
  • CD-ROM drives (read-only)
    • "\\.\CdRom<X>", where X is 0, 1, ...
      .
  • CHARON-VAX disk images
    • [<drive>":\"<path-name>"\"]<file-name>[".vdisk"]

This parameter is initially not set, thus creating NO storage elements on the storage controller


media_type

Parameter

media_type[N]

N=0…9999

Type

Text String

Value

Overrides the default (automatically determined) MSCP media type of the device.

Syntax:

"<device-name>,<device-type>"

where:

  • <device-name> is either: “DU”, “DK”, “SCSI”, “DI”, “DSSI” or “DJ”

  • <device-type> is in the form of: “LLD” or “LLLD”, where “L” is a letter from A through Z, and “D” is a decimal number from 0 through 99

If not specified, the device name is set to “DU” and the device type is selected, based on the disk size for the disk storage elements. For tape storage elements, the device name and type are set to “MI” and “TF86”, respectively.

Initially not specified.

geometry

Parameter

geometry[N]

N=0…9999

Type

Text String

Value

This formatted string value specifies the explicit geometry of the disk storage element with MSCP unit number: N. This parameter is not applicable to tape storage elements.

The string format is <X>”/”<Y>[“/”<Z>] where:

  • X is the number of sectors per track

  • Y is the number of tracks per cylinder

  • Z (optional) is the number of cylinders on the unit. If omitted, Z is calculated based on X, Y and the total number of sectors on the unit that reflects the size of the disk storage element

If this parameter is not set, CHARON-VAX / CHARON-PDP will configure the geometry based on the most probable disk type.

Initially not set.


use_io_file_buffering

Parameter

use_io_file_buffering[N]

N=0…9999

Type

Text String

Value

Instructs CHARON-VAX to enable host operating system I/O cache on reading/writing operations.

The following values are possible:

  • "true" or "write-back" - the "write back" caching mode is used
  • "write-through" - the "write through" caching mode is used

  • "false" - caching is switched off

(info) Note that this caching has a significant effect only in case of mapping to disk and tape containers, not physical drives.

When enabled, host operating system I/O cache may significantly improve I/O performance of the virtual system. At the same time maintaining I/O cache requires additional host resources (CPU and memory) which may negatively affect overall performance of the virtual system.

Initially is set to "false".

Example:

set PUA use_io_file_buffering[0]=true

Example:

Create a KDB50 MSCP controller in BI slot 1 of a VAX/PDP11:

load KDB50/KDB50 PUA vax_bi_node_id=1

Configure on this controller a system disk to be DUA0: in VMS:

set PUA container[0]="C:\Charon\Disks\vms72-66X0.vdisk"

Configure a user disk to be DUA1: in VMS:

set PUA container[1]="C:\Charon\Disks\usertest.vdisk"

The first host system CD-ROM can be used to read VMS CDs, named DUA9:

set PUA container[9]="\\.\CdRom0"

The host system floppy drive `A:` can be used in VMS, named DUA10:

set PUA container[10]="\\.\A:"

Configured physical devices or tape/disk images that do not exist on the host system will, in general, cause VAX/VMS to report the unit offline. In some cases this will result in a VMS BUG CHECK. In this case, an error message will be written to the log file.



© Stromasys, 1999-2024  - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described.