CODEUPDT User's Guide
Document Revision 10.0
March 5, 1997Table of Contents
Introduction |
4 |
Requirements |
4 |
The CODEUPDT Package |
4 |
Installation |
5 |
Hardware and ASPI Manager Installation |
5 |
Working With IBM Storage Systems Division Hard Drives |
6 |
Using CODEUPDT |
6 |
Starting CODEUPDT |
6 |
Using The Interface |
6 |
Main Screen |
8 |
Main Menu Options |
9 |
Updating Microcode code |
9 |
Start/Stop Unit |
11 |
Inquiry |
11 |
Test Unit Ready |
11 |
Read Capacity |
12 |
Mode Sense/Select |
12 |
Dumping a Drive's Error Logs |
13 |
Copying From One Drive To Another |
14 |
Format Unit |
14 |
Performing Customer Simulated Operations |
15 |
Diagnostics |
17 |
Reassign Blocks |
17 |
Read Defect Data |
17 |
Read Buffer |
18 |
Single SCSI Command Menu Options |
19 |
Generic |
19 |
Log Sense |
19 |
Pre-Fetch |
20 |
Read Long |
20 |
Release |
21 |
Request Sense |
21 |
Reserve |
21 |
Rezero Unit |
22 |
Seek |
22 |
Synchronize Cache |
22 |
Verify |
22 |
Write |
23 |
Write and Verify |
23 |
Write Buffer |
24 |
Write Long |
25 |
Limitations |
26 |
The SCSI architecture allows a variety of devices to coexist on a SCSI bus, linked to the host computer with an adapter. The Adaptec SCSI card provides a standard hardware interface which supports major types of SCSI peripherals.
The Advanced SCSI Programming Interface (ASPI) provides a protocol for SCSI device drivers and programs to submit I/O requests to host computer systems. The ASPI manages host adapter resources and provides the hardware independent ASPI for SCSI application and device drivers. Installation of different adapters to the system differs between operating systems.
CODEUPDT is a hardware/software interface that allows the user in the field to update both RAM and ROM microcode, dump the drives error logs, and perform limited testing on the IBM SCSI disk drives. The following drives are supported:
Requirements
The CODEUPDT package has all the necessary files on it for updating the microcode and dumping error logs on the drive. A brief description of these files is given below.
CODEUPDT.EXE |
The executable form of the CODEUPDT program |
CODEUPDT.OPT |
Contains user specified parameters |
CODEUPDT.HLP |
Contains CODEUPDT help text |
CODEUPDT.DOC |
This documentation |
ERRORLOG.TXT |
A sample of a logdump file created by CODEUPDT with descriptive text added |
CODEUPDT.HST |
Change history for CODEUPDT |
59X5007.BIN |
The special code that is needed by the CODEUPDT program to update the ROM code on a Corsair II E level drive |
86F8881.BIN |
The special code that is needed by the CODEUPDT program to update the ROM code on an Allicat S10 level drive |
45G9542.BIN |
The special code that is needed by the CODEUPDT program to update the ROM code on a Spitfire level drive |
SP4CR.BIN |
The special code that is needed by the CODEUPDT program to dump the error logs on a Corsair I/IIB level drive |
SP4CE.BIN |
The special code that is needed by the CODEUPDT program to dump the error logs on a Corsair IIE level drive |
SP4AL.BIN |
The special code that is needed by the CODEUPDT program to dump the error logs on an Allicat S10 level drive |
SP4SF.BIN |
The special code that is needed by the CODEUPDT program to dump the error logs on a Spitfire level drive |
The ROM and RAM microcode loads for specific drives are provided separately either via e-mail, diskette, or BBS.
Installation
If this CODEUPDT package is replacing an earlier version, it is important to use the CODEUPDT.HLP file that came with this package. If no help file is present, CODEUPDT will work properly without any help text. If an older version of CODEUPDT.HLP is present, execution of CODEUPDT could slow down considerably.
CODEUPDT creates an options file to keep track current entries set by the user. Deletion of any existing CODEUPDT.OPT file is recommended before using any new version of CODEUPDT for the first time.
Hardware and ASPI Manager Installation
Refer to the documentation provided with the SCSI controller you are using for installation instructions.
If the SCSI controller being used is not an IBM Microchannel SCSI Adapter or an IBM Microchannel RAID Controller, an ASPI (Advanced SCSI Programming Interface) Manager must be installed before using CODEUPDT. Most SCSI card manufacturers, including Adaptec and Bus Logic, support an ASPI Manager. Refer to the documentation that came with your card to confirm that the ASPI manager is installed correctly.
CODEUPDT can be executed in an OS/2 environment from a DOS window. VASPI (Virtual ASPI) must be installed in the OS/2 environment. The VASPI installation package can be obtained from the Adaptec web site (http:\\www.adaptec.com). In an OS/2 environment, available targets are limited by the number of drives present during system setup.
Working With IBM Storage Systems Division Hard Drives
IBM drives should only be handled in an ESD safe environment and connected to the Adaptec card in the following manner
| Table 1: Command line parameters | |
Parameter |
Description |
/spock |
use support for IBM microchannel SCSI adapters |
/cheetah |
use support for IBM microchannel RAID SCSI adapters |
/alone [filename] |
use stand-alone support with [filename] as the input file |
/wide |
enable wide bus (16 targets) support |
/aspi [x] |
use an ASPI driver at ASPI ID [x] |
| Key | Action |
Tab |
Move cursor forwards through different fields |
Shift + Tab |
Move cursor backwards through different fields |
Function Keys |
Choose particular action or menu option. The action keys are specified at the bottom of each screen |
Cursor Keys |
Move highlighted bar through options. Move between fields |
Enter |
Accept the highlighted option |
Ctrl+Backspace |
Erase a field |
0x |
Enter a hex value in a field which accepts a number |
Main Screen
The main screen displays the types of drives Code Update has sensed are attached to the SCSI bus. An entry of "NO CONNECTION" indicates the program did not detect a drive connected to the bus at the corresponding target address. An entry of "UNKNOWN" means a drive was detected, but the type of drive could not be determined. The "HOST" entry indicates which SCSI ID the initiator is using. The correct drive models are required for the "Code Update" and "Log Dump" operations. Code Update seldom rescans the SCSI bus. After removing or attaching drives to the SCSI bus, it is important to tell Code Update to rescan the SCSI bus. This can be done from the main screen by pressing the F4 key.
The main screen contains a menu of operations Code Update can perform. These operations can be selected by entering the appropriate menu number and pressing the enter key. Pressing tab to highlight the menu, pressing the cursor keys to select an operation, and then pressing the enter key has the same effect. Table 2 shows the main menu options.
Table 3: Main Menu Options
| Option | Description |
1) Code Update |
Update Microcode on the disk drive |
2) Start/Stop Unit |
Start/Stop the motor on the disk drive |
3) Inquiry |
SCSI Inquiry command |
4) Test Unit Ready |
SCSI Test Unit Ready command |
5) Read Capacity |
SCSI Read Capacity command |
6) Mode Sense/Select |
SCSI Mode Sense/Select command |
7) Log Dump |
Dumps the error logs off the current target |
8) Copy File |
Copies the contents of one drive to another |
9) Format Unit |
SCSI Format Unit command |
10) Drive Exerciser |
Perform Customer Simulated Operations (CSO) |
11) Diagnostic |
Perform send and receive diagnostics |
12) Reassign Blocks |
Perform a SCSI Reassign Blocks command |
13) Read Defect Data |
Read the P-LIST and/or the G-LIST into a logfile |
14) Read Buffer |
Perform a SCSI read buffer command |
15) Read |
Perform a SCSI read 10 command |
16) Single SCSI Command |
Brings up Single SCSI Command menu |
Pressing F3 exits Code Update. Pressing F4 tells Code Update to rescan the SCSI bus. Pressing F10 causes the system to go to a DOS shell from which DOS commands can be entered. Typing "exit" from the DOS shell will return control of the system back to Code Update.
Various low level SCSI commands can be issued to drives by selecting the "Single SCSI Command" option from the main menu. The Single SCSI Command screen is much like the main screen. Pressing F3 exits the menu and returns the user to the main screen. The Single SCSI operations can be selected by entering the appropriate menu number and pressing the enter key. Pressing tab to highlight the menu, pressing the cursor keys to select an operation, and then pressing the enter key has the same effect. Table 3 shows the Single SCSI Command options.
Table 4: Single SCSI Command Menu
| Option | Description |
1) Log Sense |
Perform a SCSI Log Sense command |
2) Pre-Fetch |
Perform a SCSI Pre-Fetch command |
3) Read Long |
Perform a SCSI Read Long command |
4) Release |
Perform a SCSI Release command |
5) Reserve |
Perform a SCSI Reserve command |
6) Request Sense |
Perform a SCSI Request Sense command |
7) Rezero Unit |
Perform a SCSI Rezero command |
8) Seek |
Perform a SCSI Seek command |
9) Synchronize Cache |
Perform a SCSI Synchronize Cache command |
10) Verify |
Perform a SCSI Verify command |
11) Write |
Perform a SCSI Write command |
12) Write & Verify |
Perform a SCSI Write and Verify command |
13) Write Buffer |
Perform a SCSI Write Buffer command |
14) Write Long |
Perform a SCSI Write Long command |
15) Write Same |
Perform a SCSI Write Same command |
Main Menu Options
Updating Microcode code
Code Update provides a simple means of updating micro code on IBM 066x family and IBM DFHS and DFMS hard drives. Limited support is also available for updating generic drives. Both the RAM and ROM microcode can be updated on Corsair IIE, Allicat, Spitfire, and Starfire hard disk drives. Only the RAM microcode can be updated on the Lightning, Turbo, and Corsair I/IIB drives.
When updating the microcode on a generic drive, CODEUPDT makes use of the download and save mode of the SCSI write buffer command. The microcode file is broken into parts the size of the buffer size entered by the user, and the write buffer command downloads each part. The drive must support the download and save option of the SCSI write buffer command, and the user must know the supported buffer size of the drive being updated.
Here is a description of the code update process for Corsair IIE, Allicat, Spitfire, Lightning, Turbo, and Corsair I/IIB drives:
Target ID |
SCSI ID of the drive |
Start |
A "YES" in this field indicates that the motor of the selected target is to be started. A "NO" in this field indicates that the motor of the selected target is to be stopped. |
Immediate |
When this field is set to "YES", the drive returns a good status to the system immediately. When this field is set to "NO", the drive waits until the operation has completed. |
Code Update can perform a SCSI inquiry command. Select this option from the main menu to open the Inquiry screen.The options are as follows:
Target ID |
SCSI ID of the drive |
EVPD |
"Enable Vital Product Data". Setting this field to "YES" indicates that the "Page Code" field is to be used. Setting this field to "NO" indicates that the "Page Code" field will not be used. |
Page |
Selects the page to return |
Length |
The number of bytes to return |
Test Unit Ready
Code Update can perform a SCSI test unit ready command. Select this option from the main menu to open the Test Unit Ready screen. This command only requires a SCSI Target ID.
Read Capacity
Code Update can perform a SCSI read capacity command. This command returns the block size and total number of blocks a drive is currently formatted to. Select the Read Capacity option from the main menu to open the Read Capacity screen. The options are as follows:
Target ID |
SCSI ID of the drive |
PMI |
"Partial Medium Indicator" This field when set to "OFF" indicates that the capacity of the entire drive is to be returned. When this field is set to "ON", the last LBA on the cylinder the LBA in the "LBA" field indicates. |
LBA |
is the LBA to be used when the "PMI" bit is set "ON" |
Mode Sense/Select
Code Update integrates the mode sense and mode select SCSI commands to provide a quick means of examining the mode pages' settings and modifying them. To use the "Mode Sense/Select" operations, first choose the "Mode Sense/Select" operation from the main menu and press Enter. Next select the appropriate page by keying in the appropriate hex digit (use the "/" character for the header) or by pressing tab and then using the cursor keys to select the menu item. If the Generic Page choice was not chosen, two prompts will be displayed:
Target ID |
SCSI ID of the drive |
Current Values/ Default Values / Saved Values |
This option refers to which of the mode parameters are to be reported. "Current Values" indicates that the mode parameters the drive is presently using should be reported. "Default Values" indicates that the default values are to be reported. Selecting "Saved Values" means that the mode parameters saved and used when the drive is first started will be reported. |
If Generic Page (Page Z) was chosen, a third prompt will be displayed:
Page Code |
Indicates the specific page to display |
Pressing F2 will sense the values for the selected target and page. Refer to the product SCSI specification for details about the specific page parameters. At this point modifiable parameters can be changed or the page can be sensed again by pressing F2.
After a page has been sensed, it is now possible to select the page by pressing F4. Code Update will ask if the parameters are to be saved or are only to be used as the current values. Pressing F2 selects the page and F3 aborts the select operation.
In the Generic Page option, it is possible to save or load a file respectively by pressing F5 or F6 keys.
If Page Code 0x1C was entered, it is displayed by individual page with page number indicated. Press F7 or F8 will go up or down from the specific page respectively.
Dumping a Drive's Error Logs
The error logs on a drive can be dumped to a file using the Log Dump function of Code Update. The logs of Lightning, Turbo, or generic drives cannot be dumped using Code Update. Dumping the logs is a straight-forward process
Automatically creating filenames
CODEUPDT can create filenames for each device in two manners. If the Enter key is pressed in a filename field when the field is empty, the default filename for that field will be entered. If F4 is pressed while in the Log Dump screen, CODEUPDT will attempt to fill in filenames for each file selected to be dumped. The first character of a filename is "l" for LogDump, or "c" for CSV database output. The second character indicates plan of manufacturer (R=Rochester, S=San Jose, M=Mainz, G=Singapore_=unknown). The next six characters are the last six digits of the drives serial number. The extension is the model number. If the drive is in the Starfire family, the first digit of the extension is replaced with "h" for a 7200 RPM drive, or "m" for a 5400 RPM drive. If a filename cannot be created for any reason, the default filename for that field is used.
Drive Log interpretation
The error logs on the drive are provided as a failure analysis aid and should not be used as a qualification criterion for the drives. For an explanation of the information in the drive logs, please refer to the file "errorlog.txt" included in this package.
Copying From One Drive To Another
Code Update can copy from one drive to another using the Copy File option from the main menu. Copy attempts to make an exact duplicate of the data stored in the customer area of a drive. Blocks which cannot be read during the copy will be output to an user-specified log file. The copy will be aborted if an error occurs while reading or writing to the target drive. If the source drive fails to start properly, the user will be prompted for special code.
Copy file completes in three phases. The first phase perform the actual copying of the information. The second phase scrubs the error sights on the source file that were written in the log file by attempting to read each of these spots ten more times. The third and final phase verifies that all of the information copied correctly. Errors in this phase are also recorded in the log file.
During the copy file operation, hitting the F3 key will abort the operation and return to the main menu.
Note: The source and target drives should have matching capacities. If the target drive is not formatted like the source drive or the target drive does not have enough capacity to hold all of the information on the source drive, an error will occur.
Format Unit
Code Update can reformat drives to any of the block sizes the drive supports through the use of the SCSI format unit command. To reformat a drive, choose "Format Unit" from the main menu. Select the appropriate targets to format. For each target, choose a block size, maximum LBA, and whether to include the drives G-LIST or not. When the drive is a Scorpion drive or newer, if desired, the drive will perform a Fast Format. If a fast format is performed and the block size is changed, the entire drive will have to be written before any data can be read from the drive successfully. If the drive is running when you enter the format menu, the current block size will be filled in, otherwise CODEUPDT will indicate the block size is indeterminate. If the maximum LBA is set to zero, the current maximum LBA will be used. Press the F2 key to start the format. If a drive's motor is not already spinning, Code Update will start the motor. The progress of the format will be indicated on the screen and Code Update will return to the main screen after the format is complete.
Note: Code Update reformats drives using the primary defect list. Using the grown defect list is optional. Also note that the Code Update Format Unit function performs a mode select to choose block size and maximum LBA. An previous mode select of these features will no longer be valid.
Performing Customer Simulated Operations
Customer Simulated Operations (CSO) has been designed to test several drives at a time with little or no user interaction. The user can specify a wide range of parameters allowing him to fine tune the way in which the drives are tested. These parameters fall into two classes. The first are parameters which apply to a specific target. The second are parameters which apply to all targets.
The CSO Target screen can brought up by selecting "Drive Exerciser" from the main menu. This screen contains target-specific parameters. Each line contains the parameters for a different target. The first field "Target" specifies the Target ID the line represents. The second field "Test?" indicates whether the target is to undergo CSO. The third field "Write Protect?" prevents the target from being written when "YES" is selected. The "Min LBA" and "Max LBA" fields specify the range of LBA's between which operations are performed. Pressing F4 on a line performs a Read Capacity for the target and fills in the Max LBA field with the result. The "Log?" field indicates that the errors encountered for the target be output to a file indicated in the "Log Filename" field.
The CSO Parameter screen contains parameters for all the targets. Pressing F5 brings up this screen. The parameters are listed below.
Read vs. Write %--The number of reads out of 100 read/write operations.
Test Pattern--The order in which reads and writes occur.
Min LBA's--Minimum number of LBA's to be transferred during a read or write operation.
Max LBA's--Maximum number of LBA's to be transferred during a read or write operation. This value also depends on the block size and the length of Code Update's buffer.
Length is--The method by which the transfer length is to be determined. "Random" indicates that the transfer length will be randomly chosen to be between the minimum and maximum. "Step" indicates that the transfer length start at the minimum, be incremented by one after every read or write operation until the maximum is reached, and then be reset to the minimum.
Perform--Perform a miscompare test for targets with "NO" selected for "Write Protect?". The write and read for this test take place at the location of the last read or write with the same transfer length.
Pattern--Pattern to be written to disk during miscompare test.
Test Every--Period of the test. The field after this indicates whether the period is measured in operations, seconds, minutes, or is to occur at random intervals of time.
Target Switch--The way in which the next target is chosen.
Switch Target Every--Period of target switching. The field after this indicates whether the period is measured in operations, seconds, minutes, or is to occur at random intervals of time.
Stop on Error for Nonlogged Targets?--Specifies whether targets with "Log?" set to "NO" should be tested after an error for that target occurs.
Try to Restart Down and Unpresent Drives?--Specifies whether a drive should be restarted if it is sensed that the drive has stopped spinning or has been removed from the bus.
Restart Timeout--Time to wait for a down or unpresent drive to come ready.
Extended error reporting in logfiles?--Extended error reporting gives a multiple line report of information about each error, including what kind of operation was taking place when the error occurred and the type of error. If the error reporting is not extended, the information is condensed into one line per error.
Diagnostics
Code Update can perform a SCSI send diagnostic command. Select this option from the main menu to open the Diagnostics screen. The options are as follows:
Target ID |
SCSI ID of the drive |
Self Test |
Setting this field to "YES" causes the drive to perform a series of self-tests. Setting this field to "NO" causes the drive to perform a translation as indicated by additional options |
Translate From |
Selects whether a LBA is translated to its corresponding physical address or vice versa. (This option only appears if Self Test is set to "NO.") |
If Self Test is "NO," entry fields for the physical or logical address appear, depending on what is to be translated.
Pressing F2 executes the reassign blocks command. Pressing F3 returns CODEUPDT to the main screen.
Note: The translate function of send diagnostic is not supported by Lightning, Turbo, and Corsair drives.
Reassign Blocks
Code Update can perform a SCSI reassign blocks command. Select this option from the main menu to open the Reassign Blocks screen. The options are as follows:
Target ID |
SCSI ID of the drive |
Reassign Input Format |
This field selects whether a LBA or a physical address is reassigned. |
Entry fields for the physical or logical address appear, depending the input format.
Pressing F2 executes the reassign blocks command. Pressing F3 returns CODEUPDT to the main screen.
Read Defect Data
Code Update can read all or part of a drives P-LIST and/or G-LIST and save the information to a file logfile. Select the Read Defect Data option from the main menu to open the Read Defect Data screen. The options are as follows:
Target ID |
SCSI ID of the drive |
Grown Defect List (G-LIST) |
This field selects whether the G-LIST will be included in the output log. |
Primary Defect List (P-LIST) |
This field selects whether the P-LIST will be included in the output log. |
Defect List Format |
Choose "Physical Sector" to have the logfile show defect sites using physical addresses. Choose "Bytes from Index" to have the logfile show defect locations by indicating the middle byte of the defect as an offset from the index of the track. |
Length |
The amount of the list(s) being read. All or part of the each list can be read from the drive. |
Defect data output file |
The name of the logfile which will contain the P-LIST and/or G-LIST data. |
Pressing F2 executes the reassign blocks command. Pressing F3 returns CODEUPDT to the main screen.
Read Buffer
Code Update can perform a SCSI read buffer command. Select the Read Buffer option from the main screen to open the Read Buffer screen. The options are as follows :
Target ID |
SCSI ID of the drive |
Mode (000 / 001 / 010 / 011) |
This option refers to which of the mode parameters are to be reported. "000" will transfers a four byte header and the specified amount of data. "001" transfers the specified internal memory data. "010" transfers the specified amount of data. "011" transfer a four byte header. |
Offset |
Specifies the byte offset within the buffer from which the data will be transferred |
Length |
The number of bytes to return |
Buffer ID |
Return the specified buffer header information |
Output |
The file that stores the data output |
Pressing F2 executes the read buffer command. Pressing F3 returns CODEUPDT to the main screen.
Read (10)
Code Update can perform a SCSI read command. Select Read (10) from the main menu to open the Read (10) screen. The options are as follows :
Target ID |
SCSI ID of the drive |
LBA |
Specifies which LBA the read operation is to begin. |
Length |
Indicates the number of blocks to transfer |
File Type |
Allows the user to choose the type of output file desired. If "Binary" is selected, the data will be output to a binary file. If "Codeupdt" is selected, the data will be output to an ASCII text file. |
File Name |
Indicates the file that stores the whole data output |
Pressing F2 executes the read command. Pressing F3 returns CODEUPDT to the main screen.
Single SCSI Command Menu Options
The Single SCSI Command menu can be accessed by selecting "Single SCSI Command" on the main menu.
Generic
Code Update allows a user to send a custom CDB to a drive. Select the Generic option from the Single SCSI Command screen to open the Generic screen. The options are as follows:
Target ID |
SCSI ID of the drive |
CDB Length |
The length of the CDB to send--6 or 10 bytes. |
CDB Fields |
The CDB is entered in these fields. All entries are assumed to be in hexadecimal format. |
Xfer Direction |
The data transfer direction. The options are: IN, OUT, and NONE. |
Xfer Length |
The length of the data transfer. This value can be in bytes or blocks. |
Units |
The units of length assumed in the Xfer Length field--BYTES or BLOCKS |
I/O File Type |
Allows the user to choose the type of input file. If "Binary" is selected, the data will be taken as binary code. If "Codeupdt" is selected, a file created by a CODEUPDT Read operation must be used as input. The file will be scanned and written to the drive in the same manner is was retrieved using Read, Read Buffer, or Read Long. |
I/O File Name |
The name of the input file |
Pressing F2 executes the Generic command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Log Sense
Code Update can perform a SCSI log sense command. Select the Log Sense option from the Single SCSI Command screen to open the Log Sense screen. The options are as follows :
Target ID |
SCSI ID of the drive |
Page Control |
The type of parameters to be selected--Default Cumulative or Current Cumulative values. |
Page |
The page to be requested |
Pointer |
The beginning field for the transfer |
Length |
The maximum number of bytes the initiator has allocated for returned Log Sense data |
Filename |
The filename for the data output |
Pressing F2 executes the Log Sense command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Pre-Fetch
Code Update can perform a SCSI pre-fetch command. Select the Pre-Fetch option from the Single SCSI Command screen to open the Pre-Fetch screen. The options are as follows :
Target ID |
SCSI ID of the drive |
Immed |
If "No" is selected, the drive will return Good Status or Check Condition Status when the operation is complete. If "Yes" is selected, the drive will return Good Status as soon as the CDB is verified. |
Length |
The length of data (in blocks) that is to be transferred into the cache |
LBA |
The LBA where the transfer is to begin |
Pressing F2 executes the Pre-Fetch command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Read Long
Code Update can perform a SCSI read long command. Select the Read Long option from the Single SCSI Command screen to open the Read Long screen. The options are as follows :
Target ID |
SCSI ID of the drive |
LBA |
The LBA where the transfer is to begin |
File Type |
Allows the user to choose the type of output file desired. If "Binary" is selected, the data will be output to a binary file. If "Codeupdt" is selected, the data will be output to an ASCII text file. |
File Name |
The name of the output file |
Pressing F2 executes the Read Long command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Release
Code Update can perform a SCSI release command. Select the Release option from the Single SCSI Command screen to open the Release screen. There is only one option for this command:
Target ID |
SCSI ID of the drive |
Pressing F2 executes the Release command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Request Sense
Code Update can perform a SCSI request sense command. Select this option from the Single SCSI Command menu to open the Request Sense screen. The options are as follows
Target ID |
SCSI ID of the drive |
Length |
The number of sense bytes to return. IBM 066x family drives define only the first 32 bytes, but lengths from 0 to 255 bytes are valid. |
Pressing F2 executes the Request Sense command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Reserve
Code Update can perform a SCSI read buffer command. Select the Read Buffer option from the Single SCSI Command screen to open the Read Buffer screen. There is only one option available for this command :
Target ID |
SCSI ID of the drive |
Pressing F2 executes the Reserve command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Rezero Unit
Code Update can perform a SCSI read buffer command. Select the Read Buffer option from the Single SCSI Command screen to open the Read Buffer screen. There is only one option available for this command:
Target ID |
SCSI ID of the drive |
Pressing F2 executes the Rezero Unit command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Seek
Code Update can perform a SCSI read buffer command. Select the Read Buffer option from the Single SCSI Command screen to open the Read Buffer screen. The options are as follows :
Target ID |
SCSI ID of the drive |
LBA |
The LBA to seek |
Pressing F2 executes the Seek command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Synchronize Cache
Code Update can perform a SCSI read buffer command. Select the Read Buffer option from the Single SCSI Command screen to open the Read Buffer screen. The options are as follows :
Target ID |
SCSI ID of the drive |
Immed |
If "Yes" is selected, the drive completes the operation before returning Good Status. If "No" is selected, the drive returns Good Status as soon as the CDB is verified. |
Length |
The number of blocks within the range |
LBA |
The LBA where the operation is to begin |
Pressing F2 executes the Synchronize Cache command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Verify
Code Update can perform a SCSI read buffer command. Select the Read Buffer option from the Single SCSI Command screen to open the Read Buffer screen. The options are as follows :
Target ID |
SCSI ID of the drive |
Length |
The number of blocks to be verified |
LBA |
The LBA where the operation is to begin |
Pressing F2 executes the Verify command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Write
Code Update can perform a SCSI read buffer command. Select the Read Buffer option from the Single SCSI Command screen to open the Read Buffer screen. The options are as follows :
Target ID |
SCSI ID of the drive |
FUA (Force Unit Access) |
If "Yes" is selected, the Target must write the logical blocks of data to the media before returning Good Status. If "No" is selected, the target may return Good Status before the operation is complete. |
DPO (Disable Page Out) |
If "Yes" is selected, the data written by this command is to be assigned the lowest priority for being written to or retained by the cache. If "No" is selected, the priority is determined by the retention priority. |
Length |
The number of blocks that will be written |
LBA |
The LBA where the operation is to begin |
File Type |
Allows the user to choose the type of input file. If "Binary" is selected, the data will be taken as binary code. If "Codeupdt" is selected, a file created by a CODEUPDT Read operation must be used as input. The file will be scanned and written to the drive in the same manner is was retrieved using Read, Read Buffer, or Read Long. |
File Name |
The name of the input file |
Pressing F2 executes the Write command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Write and Verify
Code Update can perform a SCSI read buffer command. Select the Read Buffer option from the Single SCSI Command screen to open the Read Buffer screen. The options are as follows :
Target ID |
SCSI ID of the drive |
Byte Check |
If "No" is selected, the drive does an ECC check on the specified range after the write completes successfully. If "Yes" is selected, the drive will do a byte-by-byte compare of the data after it is written to the drive. |
DPO (Disable Page Out) |
If "Yes" is selected, the data written by this command is to be assigned the lowest priority for being written to or retained by the cache. If "No" is selected, the priority is determined by the retention priority. |
Length |
The number of blocks of data to be transferred |
LBA |
The LBA where the operation is to begin |
File Type |
Allows the user to choose the type of input file. If "Binary" is selected, the data will be taken as binary code. If "Codeupdt" is selected, a file created by a CODEUPDT Read operation must be used as input. The file will be scanned and written to the drive in the same manner is was retrieved using Read, Read Buffer, or Read Long. |
Input File |
The name of the input file |
Pressing F2 executes the Write and Verify command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Write Buffer
Code Update can perform a SCSI read buffer command. Select the Read Buffer option from the Single SCSI Command screen to open the Read Buffer screen. The options are as follows :
Target ID |
SCSI ID of the drive |
Mode (000/010/100/101) |
This option refers to which of the mode parameters are to be written. "000" will writes a four byte header and the specified amount of data to the buffer. "010" writes the specified amount of data to the buffer at the specified offset. "100" downloads microcode to the target and stores it in volatile memory. "101" downloads microcode to the target and stores it in volatile and non-volatile memory, overwriting the original microcode. |
Offset |
Indicates the starting byte offset within the data buffer to which the data is transferred. This option is not used for mode "000" |
Length |
The length of the transfer in bytes |
Buffer ID |
Indicates which portion of the microcode is to be downloaded. Only used for modes "100" and "101". |
File Type |
Allows the user to choose the type of input file. If "Binary" is selected, the data will be taken as binary code. If "Codeupdt" is selected, a file created by a CODEUPDT Read operation must be used as input. The file will be scanned and written to the drive in the same manner is was retrieved using Read, Read Buffer, or Read Long. |
File Name |
The name of the input file |
Pressing F2 executes the Write Buffer command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Write Long
Code Update can perform a SCSI read buffer command. Select the Read Buffer option from the Single SCSI Command screen to open the Read Buffer screen. The options are as follows :
Target ID |
SCSI ID of the drive |
LBA |
The LBA where the operation is to begin |
File Type |
Allows the user to choose the type of input file. If "Binary" is selected, the data will be taken as binary code. If "Codeupdt" is selected, a file created by a CODEUPDT Read operation must be used as input. The file will be scanned and written to the drive in the same manner is was retrieved using Read, Read Buffer, or Read Long. |
File Name |
The name of the input file |
Pressing F2 executes the Write Long command. Pressing F3 returns CODEUPDT to the Single SCSI Command screen.
Limitations
Some of the functions of CODEUPDT cannot be used on certain drives.
The CODEUPDT program informs the user if an option is invalid for a certain type of drive.
CODEUPDT requires at least 500KB of conventional memory. To determine the amount of conventional memory available, type "mem" at the DOS prompt before executing CODEUPDT. The value for "Largest executable program size" indicates the amount of conventional memory available to CODEUPDT.
To increase the amount of available conventional memory, it is recommended to load device drivers in the "config.sys" file using "DEVICEHIGH". Programs executed in the "autoexec.bat" file should be invoked with "LOADHIGH", if possible. Consult your DOS manual for details. Conventional memory can also be increased through the use of a memory optimizer. PC-DOS users can execute "ramsetup.exe" to install RAMBOOST, and MS-DOS users can execute "memmaker.exe" to load drivers and programs in upper memory automatically.