*******************************************************************
NETWARE.TXT
*******************************************************************
This file describes the features and use of the NCR SDMS device
drivers for the Novell NetWare v3.1x and v4.x operating system
environments. It is divided into the following sections:
Introduction
NetWare v3.1x, and v4.x
Features
Description
Installation
Command Line Options
Troubleshooting
*******************************************************************
*************************** Introduction **************************
The NCR SDMS 3.0 drivers allow the user to utilize an NCR SCSI
controller or processor, controlled by an NCR SCSI BIOS, with
NetWare. The SDMS 3.0 software, coupled with an NCR SCSI controller
or processor, provides an NCR SCSI solution within the NetWare
environment.
Separate drivers are provided for Novell NetWare v3.1x, and Novell
NetWare v4.x. The following information will assist in a successful
installation of the NCR SDMS SCSI drivers.
*********************** NetWare v3.1x, and v4.x *******************
* Features *
Supports the ASPI interface
Provides synchronous negotiation (including fast SCSI)
Supports multiple host adapters
Allows multiple logical unit number (LUN)
Supports Disconnect/Reselect
Supports scatter-gather
Supports tagged command queuing
Allows shared interrupts
Supports Wide SCSI (single-ended and differential)
Supports device exclusion
Supports NWOS2
* Description *
There is a separate NCR SDMS 3.0 device driver and ASPI manager for
each of two major releases of NetWare. For NetWare v3.1x, the main
SDMS device driver is NCRSDMS3.DSK, and the file ASPICAM3.NLM is
loaded if support for the ASPI interface is desired (this is
required for devices such as tape drives). For NetWare v4.x, the
main SDMS device driver is NCRSDMS4.DSK, and the file ASPICAM4.NLM
is loaded if support for the ASPI interface is desired.
* Installation *
Install NetWare as described in the Novell NetWare Installation
Manual. The following information is provided to assist in the
installation.
For An Existing Installation Of NetWare With NCR SDMS Drivers:
Replace the NCRSDMSx.DSK and ASPICAMx.NLM drivers with the ones
supplied on the NCR device drivers diskette. No other actions
should be repuired to use these new drivers. You may may want
toreview the command line options to insure you are using the
best options for your configuration.
For NetWare v3.1x New Installations:
1. Create a directory to which the NetWare file server is to be
installed. Change to that directory and copy all the files from
the NetWare system disks into that directory.
2. Copy the file NCRSDMS3.DSK from the NCR device drivers diskette
into this directory. If ASPI support is desired, also copy
ASPICAM3.NLM.
3. To start NetWare and continue the installation, type:
SERVER
4. When prompted, enter the name of the file server and network
(IPX) number. See the chapter on file server installation in the
NetWare Installation Manual for restrictions and further
information.
5. At the NetWare prompt, type:
LOAD NCRSDMS3 <options>
This command will cause the main driver to be loaded. Without this
command, NetWare will be unable to access the hard disk drive. If
ASPI support is desired, also type:
LOAD ASPICAM3
6. To bring up the Installation menu, at the NetWare prompt type:
LOAD INSTALL
Continue with the installation according to the file server
installation chapter in the Novell NetWare Installation Manual.
7. At the Available System Options menu, select the EDIT STARTUP.NCF
option and check to see that the line LOAD NCRSDMS3 is in the file.
If not, add this line to the file. This eliminates the need to load
drivers by hand every time the system is powered up. If the line
appears more than once, the duplicate statements should be removed
and all references to "port=xxxx", "slot=xxxx" and/or "mem=xxxx"
should be removed.
For NetWare v4.x New Installations:
1. Begin the file server installation as per the instuctions in the
file server installation chapter in the Novell NetWare Installation
Manual.
2. The NetWare installation procedure will prompt you for a Disk
Driver. Insert the NCR device drivers diskette into drive a: or b:.
Then select the INS key to select an unlisted driver, and F3 to
specify the path to search for the driver, and finally enter the
appropriate driver letter,
A:
or
B:
The NCRSDMS4.DSK driver should appear as a selection. Select the
driver.
3. Next you will be prompted with the available command line options
toload the driver. A description of each option will appear in the
box at the bottom of the installation screen. A more detailed
description is alsogiven later in this document, in the section
titled Command Line Options. Select any options needed for your
particular installation.
4. When asked to edit the STARTUP.NCF file, make sure NCRSDMS4 is
loaded only once. If present, remove the "port=xxxx slot=xxxx
mem=xxxx" options from the command line.
5. After the installation is complete, if ASPI support is also
desired, down the server and copy the ASPICAM4.NLM file to the
appropriate server directory, which is SERVER.40 by default.
* Command Line Options *
The NCRSDMS3.DSK and NCRSDMS4.DSK drivers have many tuning
parameters. (At this time there are no command line options for
the ASPICAM3.NLM or ASPICAM4. NLM drivers.) Following is a list
of tuning parameters available, including the default option and
a list of valid options. Following each parameter is a description
of when a parameter should be used and any impact its use/disuse
might incur.
Please note applicable versions listed for each option.
If an option is specified but the assignment is not valid, then the
default value will be used. The NCRSDMS3.DSK and NCRSDMS4.DSK drivers
will be referred to in the remainder of this section as
NCRSDMSX.DSK, where X refers to the appropriate NetWare operating
system version.
The options described below are used by placing the specified
characters on the load command line for the NCRSDMS driver. For
example, if the Verbose Mode command line option is desired in
NetWare 3.1X, the load command line should look like this:
load NCRSDMS3 -v
Using the Verbose Mode Option
Command line option: -v
Function: Display the current settings of all driver
options.
This option will indicate the option settings for this load of the
driver.
Using the Help Mode Option
Command line option: -? or -h
Function: Display the options available in the driver.
Possible Impact: The driver will not load with -? or -h
specified.
This option may be specified on the command line for a brief
description of each of the options available in the driver, as well
as valid values for each option. If the -? and other options are
specified, the help screen will be invoked, the other options will
be ignored and the driver will not be loaded.
Using the Tag Command Queuing Option
Command line option: qtags=<option>
Default value: enable
Valid options: enable, disable
Function: Enable/disable tag command queuing for the
devices
Possible Impact: Tagged commands may result in improved I/O
throughput in devices that support such an
option.
Enabling the option results in the driver issuing tagged command
requests to the devices that support tagged queuing. Devices that do
not support tagged queuing are not issued tagged requests. Depending
on the drive controller, throughput of the device may be increased by
the use of queue tags, although an optimal number of queue tags is
based on the specific device type.
Using the Depth of Queue Tags Option
Command line option: qdepth=<option>
Default value: 10
Valid options: 0-128
Function: Set the depth of the queue for tag command
queuing.This value designates the depth of
the queue per LUN (I_T_L nexus), e.g. this
value designates the depth of the queue per
device, or per LUN, if a device has multiple
LUNs.
Possible Impact: Must be set to optimize the performance of
tagged command queuing.
This option is valid only when tag command queuing (qtags) is
enabled, which it is by default. 0 is equivalent to
qtags=disable, and takes precedence over the setting of the
qtags option. While the actual depth of the queue depends on
the specific drive controller, for single drives values of
about 10-30 are typically most optimal. A greater number may
be optimal for peripherals such as disk arrays. Users should
experiment with various qdepth values to determine the most
optimal performance of their particular setup. The optimal
qdepth value is based on different aspects of the system,
including but not limited to: the processor, the available
memory, the disk drives, and other peripherals.
Note: The driver supports a maximum of 128 qtags per
controller at any given time. The driver may allocate
fewer qtags per device if this limit is being reached.
Using the Base Timeout Option
Command line option: timeout=<option>
Default value: 30
Valid options: Any integer value 30 to 999999999
Function: Specify the minimum value (in seconds) for
command timeout.
Possible Impact: Insure system integrity when using a slow
device. Performance may be reduced.
The amount of time, in seconds, allowed for a command is
dynamically determined by the number of pending commands and
a base offset, or base timeout. If a device is slow, this
value may be increased to insure the device has adequate time
to respond to a command issued to it before the command times
out. This timeout is determined based on the number of
outstanding IOs per device.
Using the Sorting of Read requests Option
Command line option: sort=<option>
Default value: enable
Valid options: enable, disable
Function: Enable/disable sorting of read commands to
be issued to devices.
Possible Impact: Enabling will normally yield increased
performance based on the target device
controller.
If the devices connected to the host adapter(s) are of a
non-buffered architecture, such as AT&T's (formerly NCR)
6298 disk array, then sorting of reads may result in a
performance degradation, since the absence of cache
provides no benefit for sorted requests. In this instance
the sort option should be disabled. On most disk drives, an
on-board cache allows for reading ahead of data, and by
sorting read requests, the probabilities of achieving a
cache hit are greatly increased, thus increasing the overall
performance of the driver.
Using the Shared Interrupts Option
Command line option: shared_int=<option>
Default value: disable
Valid options: enable, disable
Function: Support shared interrupts.
Possible Impact: Enabling may cause a performance degradation.
The shared interrupt option should be enabled any time a PCI
card other than NCR Host Adapters are added to a system which
assigns all PCI cards the same interrupt value. The added
card must be able to support shared interrupts. The driver
automatically handles the case of more than one NCR host
adapter sharing an interrupt.
Using the Exclusion of Devices Option
Command line option: xcl=<device>[:device ...]
Default value: All devices recognized by the driver, i.e.
no devices are excluded.
Valid options: p,i,l
(Multiple devices may be specified with a
colon separator) where p is the Path
designator, and is in the range 0-7, i is the
SCSI ID designator, and is in the range 0-31,
and l is the LUN designator, and in the range
0-7.
The LUN parameter is optional.
Multiple devices may be excluded so long as
the string does not exceed 35 characters in
length and devices are separated by colons.
Examples: xcl=1,2,3 to exclude LUN 3 of the device at
SCSI ID 2 on Path 1.
xcl=1,2,3:2,5 to exclude LUN 3 of the device
at SCSI ID 2 on Path 1, and all LUNs on the
device at SCSI ID 5 on Path 2
Function: Allows for specifying certain devices not be
recognized by the driver.
Possible Impact: Device(s) may not be directly accessed via
NCRSDMSX driver.
This option is available so that specific devices may be
excluded from being recognized and directly accessed by the
NCRSDMSX.DSK drivers. These devices are not registered with
the operating system for use by the driver. Other
applications/drivers can then take over the control of such
devices. This option is available for support of third party
vendors who write their own SCSI control applications.
Using the Wide SCSI Option
Command line option: wide=<option>
Default value: enable
Valid options: enable, disable
Function: Enable/Disable support of Wide SCSI.
This option specifically allows the user to disable support of
wide SCSI when using a wide SCSI controller. This option
should be set to "disable" if a wide SCSI device is present on
the system, but a narrow SCSI cable is connected somewhere on
the bus between the wide SCSI host adapter and the wide
device, thus prohibiting the transfer of wide data. If this
option is set to "disable", the wide device may still be used,
but all data transferred to/from the device will be narrow
(8 bit). The driver will not initiate a wide SCSI transfer
request negotiation.
The following three options affect the amount of memory used by
the driver. Please see the section on memory allocation for
information on how memory is allocated by the driver, and to get
an approximate feel for the amount of memory which may be saved by
invoking these parameters.
Using the Maximum Host Adapters Option
Command line option: max_hbas=<option>
Default value: 8
Valid options: 1-8
Function: Specify the maximum number of Host Bus
Adapters to support.
Possible Impact: If number is reduced, may allow for
reduction in memory used by the driver.
This parameter may be used to optimize the use of dynamically
allocated memory by the driver. If less than 8 NCR based PCI
host adapters, including any on board (built in to) the
motherboard, are being used, this parameter will allow for a
reduction in the total memory being used for the driver.
Using the Maximum SCSI IDs Option
Command line option: max_id=<option>
Default value: 32
Valid options: 8-32
Function: Specify the maximum number of SCSI IDs each
host adapter board should support.
Possible Impact: If number is reduced, may allow for
reduction in memory used by the driver.
This parameter may be used to optimize the use of dynamically
allocated memory by the driver. If all the host adapters,
including any SCSI controllers on the motherboard are
connected to less than 31 devices, a user can reduce the size
of the dynamically allocated memory by setting this value to
the maximum number of devices on any of the SCSI controllers.
Using the Maximum LUNs Option
Command line option: max_lun=<option>
Default value: 4
Valid options: 1-8
Function: Specify the maximum number of LUNs each host
adapter board should support per SCSI id.
Possible Impact: If number is reduced, may allow for
reduction in memory used by the driver.
This parameter may be used to optimize the use of dynamically
allocated memory by the driver. If less than 8 LUNs are being
used per NCR based PCI host adapter SCSI id, this parameter
will allow for a reduction in the total memory being used for
the driver.
Using the Maximum Block Size for Concatenation Option
Command line option: max_kb=<option>
Default value: 32767
Valid options: 0-32767
Function: Set the maximum number of KB that may be
written to disk at one time.
Possible Impact: A high number may result in more data being
transferred in a single data phase.
Specify the maximum size block in Kilobytes which may be
written to disk in one data transfer phase. This ensures
that when requests are being concatenated, the maximum size
of the concatenated request would not exceed the specified
value. If individual requests themselves are greater than this
specified value, no action would be taken.
Information Pertaining to a Specific Driver
This document addresses options available on the NCR SDMS
NetWare drivers, version 3.05.00. For information pertaining
to a specific driver, please do one of the following:
For NetWare version 4.XX, consult the NCRSDMS4.DDI file for
options available for NCRSDMS4.DSK. This may be accessed via
the NetWare install utility.
For versions of the driver 3.05.00 and later, use the -?
option on the command line of the NCRSDMSX.DSK driver
*************** Important Additional Information ******************
* Memory Allocation *
The driver allocates memory for certain structures based upon the
maximum number of SCSI IDs (max_id), LUNs (max_lun), and paths
(max_hbas) that may be used in the system. The amount of memory
allocated is based on the following formula:
437 bytes of memory are allocated for the structure, so
Memory Allocated = 437 * max_hbas * max_lun * max_id.
So for default allocations, the amount of memory allocated is:
Memory Allocated = 437 * 8 * 4 * 32 = 447,448 bytes (437 KB).
If, for example,
1. only one host adapter is installed (or when using an
NCR based PCI SCSI embedded controller and no add in HBAs),
2. only one LUN per device will be used, and
3. the bus is narrow (up to 8 SCSI IDs),
then by setting the appropriate command line options, the amount of memory
allocated will be:
Memory Allocated = 437 * 1 * 1 * 8 = 3,496 bytes (3.4 KB).