ATTO ExpressPCI Maximizing Performance ---------- ----------- Congratulations on your selection of the ATTO ExpressPCI SCSI Host Bus Adapter! This document will explain how to be sure to get the most performance out of your new adapter. 1. If you are getting less performance than you expect, the first thing you should do is to make sure that you are using the ATTO driver. It is quite possible that you are running an LSI Logic driver. The LSI Logic driver that ship with Windows can only transfer a maximum of 64KB in one SCSI command. The ATTO driver can transfer well over a megabyte. You can determine which driver is being used with your adapter as follows: a. open "My Computer" b. open "Control Panel" c. open "Administrative Tools" d. open "Computer Management" e. select "Device Manager" f. select "SCSI & Raid Controllers" When you examine the Driver tab for your SCSI adapter, if the driver is not express2.sys, you should install the express2.sys driver and either remove the old driver that was being used with the adapter or disable it using the Devices applet. If the system has a built in LSI Logic adapter then make sure you do not disable the driver for that adapter. 2. LARGE BLOCK TRANSFERS. If your application requires large block transfers, the first thing you should do is to set the registry entry correctly for the MaximumSGList keyword. There are several files (ELT-XXX.reg) supplied with the installation disks which can set this value to various sizes. These files are ASCII text files and can be viewed with any suitable editor. There are comments within the files that explain the registry setting and how to change the setting. 3. If you are writing an application that uses a lot of sequential disk I/O to a contiguous area on disk, you should use as large a transfer size as possible. This reduces system overhead, SCSI bus overhead, and overhead within the disk drives. You should also use Direct I/O. This is accomplished by using the FILE_FLAG_WRITE_THROUGH and FILE_FLAG_NO_BUFFERING flags with your CreateFile call. When you don't specify Direct I/O, reading data causes the data to be read from the SCSI device in 4KB segments first into the system pages, then the data is moved from the system pages to the application's data buffers. Writing involves the reverse of this process. This incurs the unnecessary overhead of moving the data between system pages and application buffers and the additional overhead of executing many SCSI commands to transfer the data between the system pages and the device. A further side effect is that the allocation of the system pages to the application data will cause other valuable information to be removed from the system pages, so it will have to be re-read again later. Using direct I/O for such large sequential data transfers avoids the overhead of copying data from one area of memory to another, greatly reduces the number of SCSI commands which must be executed, and leaves the system pages available of other valuable data. If your application needs only to do a small amount of I/O and the transfers are rather small, however, you may get better performance by letting the system cache your data in the system pages. Another approach that can increase I/O throughput is to use over- lapped I/O. This is accomplished by using the FILE_FLAG_OVERLAPPED option with the CreateFile call. Overlapped I/O allows the appli- cation to send many commands to the device at once. With "normal" I/O, the application sends one command to a device at time. While that command is executing, the application is "blocked" and can do nothing. The application gets control back only when the command has been completed. Using overlapped I/O, the work involved in the application, drivers, SCSI bus, and even in the device, of setting up, transferring and starting subsequent commands is done while the first command is being executed by the device. Furthermore, many disk drives are able to combine commands and order them so that they will complete in the shortest possible time. The ATTO Disk Benchmark program was designed to show the effect of using the above I/O modes. If you turn off Direct I/O and set the file size to a value significantly less than the amount of memory in your computer, you will get some artificially high transfer rates. This is because very little I/O is actually being performed by the SCSI device; all the activity is involved in transferring data between the application and the system pages. As you increase the file size to a value more than the amount of memory in your computer, you will see performance degrade markedly. Then, turning on Direct I/O, you can see the effect of removing the system pages from the overhead picture. Finally, by using overlapped I/O, you will see performance improvements in the low-to-medium transfer sizes. NOTE - Depending on the amount of memory in your computer, you may not be able to successfully use queue depths greater than 4 or 5.Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.