Read and Write Tests

When you select the Read and Write Tests command, ITDT runs the following functions (Read and Write Test, Read Only Test, and Write Only Test). Three parameter fields have default values already in them. Next, a Test menu that gives you the option of Read Data from Tape, Write Data to Tape, and Read/Write/Verify.
Note: The default is a block size of 10240 bytes, a count of 20 blocks, and a repetition of 1. If the block size is zero, variable mode is used. With a fixed block size, a data amount of (block size * blocks) is transferred with a single operation. This operation might get rejected if the total amount exceeds the transfer size of the system.

In SCSI Generic mode, the actual transfer size equals to blocksize. In IBM Device Driver mode, the transfer size is blocksize * blocks per read/write. In either case, the blocksize must be equal to or less than the maximum Host Bus Adapter supported transfer size. The maximum supported transfer size for SCSI Generic is 1048576 Bytes and for IBM Device Driver is 500 MB.

The following steps are run, depending on which test is selected.
  • The Read/Write steps:
    1. Issues a Read Position.
    2. Sets block size.
    3. Generates special pattern.
    4. Puts block id in bytes 0-3 of each block.
    5. Prints current block number, number of bytes and blocks.
    6. Issues write command.
    7. Prints updated statistics.
    8. If number of bytes written is different from requested bytes to write, stop (go to Step 19).
    9. Writes two filemarks.
    10. Backward spaces two filemarks.
    11. Backward spaces number of records written.
    12. Prints amount of data to read.
    13. Issues read command.
    14. If read error occurred or number of bytes read is different from requested number of bytes to read, go to Step 19.
    15. Compares data that is read with data written, show miscompares and if miscompares exist, stop (go to Step 19).
    16. If compare is OK, print OK message.
    17. Forward space one file mark.
    18. Repeat Steps 10 - 24 until all blocks are written, or go to Step 4 until all blocks are written.
    19. Prints current block id and total number of bytes written.
  • The Read Only steps:
    1. Issues a Read Position.
    2. Sets block size.
    3. Generates special pattern.
    4. Print amount of data to read.
    5. Issues read command.
    6. If read error occurred or number of bytes read is different from requested number of bytes to read, stop (go to Step 19).
    7. Compares data that is read with buffer data, show miscompares and if miscompares exist, stop (go to Step 19).
    8. If compare is OK, print OK message.
    9. Repeat Steps 10 - 15 until all blocks are written, or go to Step 4 until all blocks are written.
    10. Prints current block id and total number of bytes read.
    11. Backward spaces number of records written.
    12. Prints amount of data to read.
    13. Issues read command.
    14. If read error occurred or number of bytes read is different from requested number of bytes to read, go to Step 19.
    15. Compares data that is read with data written, show miscompares and if miscompares exist, stop (go to Step 19).
    16. If compare is Ok, print OK message.
    17. Forward space one file mark.
    18. Repeat Steps 10 - 24 until all blocks are written, or go to Step 4 until all blocks are written.
    19. Prints current block id and total number of bytes written.
  • The Write Only steps:
    1. Issues a Read Position.
    2. Sets block size.
    3. Generates special pattern.
    4. Put block id in bytes 0-3 of each block.
    5. Prints current block number, number of bytes and blocks.
    6. Issues write command.
    7. Prints updated statistics.
    8. If number of bytes written is different from requested bytes to write, stop (go to Step 10).
    9. Repeat Steps 5 - 9 until all blocks are written, or to Step 4 until all blocks are written.
    10. Print current block ID and total number of bytes written.